mutts 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -23
- package/dist/async/browser.d.ts +2 -0
- package/dist/async/browser.d.ts.map +1 -0
- package/dist/async/index.d.ts +18 -0
- package/dist/async/index.d.ts.map +1 -0
- package/dist/async/node.d.ts +2 -0
- package/dist/async/node.d.ts.map +1 -0
- package/dist/{chunks/index-CDCOjzTy.js → browser.cjs} +5913 -4382
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.ts +1655 -0
- package/dist/browser.esm.js +305 -0
- package/dist/browser.esm.js.map +1 -0
- package/dist/chunks/async-browser-CA0jPWIi.cjs +304 -0
- package/dist/chunks/async-browser-CA0jPWIi.cjs.map +1 -0
- package/dist/chunks/async-core-UqHzvJ-S.cjs +25 -0
- package/dist/chunks/async-core-UqHzvJ-S.cjs.map +1 -0
- package/dist/chunks/async-node-BYHuGTni.cjs +103 -0
- package/dist/chunks/async-node-BYHuGTni.cjs.map +1 -0
- package/dist/chunks/{index-DiP0RXoZ.esm.js → index-DhaOVusv.esm.js} +5851 -4345
- package/dist/chunks/index-DhaOVusv.esm.js.map +1 -0
- package/dist/decorator.d.ts +17 -18
- package/dist/decorator.d.ts.map +1 -0
- package/dist/destroyable.d.ts +12 -15
- package/dist/destroyable.d.ts.map +1 -0
- package/dist/devtools/devtool/devtools.d.ts +1 -0
- package/dist/devtools/devtool/devtools.d.ts.map +1 -0
- package/dist/devtools/devtool/panel.d.ts +2 -0
- package/dist/devtools/devtool/panel.d.ts.map +1 -0
- package/dist/devtools/panel.js.map +1 -1
- package/dist/entry-browser.d.ts +3 -0
- package/dist/entry-browser.d.ts.map +1 -0
- package/dist/entry-node.d.ts +3 -0
- package/dist/entry-node.d.ts.map +1 -0
- package/dist/eventful.d.ts +3 -5
- package/dist/eventful.d.ts.map +1 -0
- package/dist/index.d.ts +13 -19
- package/dist/index.d.ts.map +1 -0
- package/dist/indexable.d.ts +10 -10
- package/dist/indexable.d.ts.map +1 -0
- package/dist/introspection.d.ts +27 -0
- package/dist/introspection.d.ts.map +1 -0
- package/dist/iterableWeak.d.ts +53 -0
- package/dist/iterableWeak.d.ts.map +1 -0
- package/dist/mixins.d.ts +25 -0
- package/dist/mixins.d.ts.map +1 -0
- package/dist/mutts.umd.js +1 -1
- package/dist/mutts.umd.js.map +1 -1
- package/dist/mutts.umd.min.js +1 -1
- package/dist/mutts.umd.min.js.map +1 -1
- package/dist/node.cjs +105 -0
- package/dist/node.cjs.map +1 -0
- package/dist/node.d.ts +1 -0
- package/dist/node.esm.js +104 -0
- package/dist/node.esm.js.map +1 -0
- package/dist/promiseChain.d.ts +4 -5
- package/dist/promiseChain.d.ts.map +1 -0
- package/dist/reactive/array.d.ts +49 -0
- package/dist/reactive/array.d.ts.map +1 -0
- package/dist/reactive/buffer.d.ts +44 -0
- package/dist/reactive/buffer.d.ts.map +1 -0
- package/dist/reactive/change.d.ts +29 -0
- package/dist/reactive/change.d.ts.map +1 -0
- package/dist/reactive/debug.d.ts +111 -0
- package/dist/reactive/debug.d.ts.map +1 -0
- package/dist/reactive/deep-touch.d.ts +28 -0
- package/dist/reactive/deep-touch.d.ts.map +1 -0
- package/dist/reactive/deep-watch-state.d.ts +25 -0
- package/dist/reactive/deep-watch-state.d.ts.map +1 -0
- package/dist/reactive/deep-watch.d.ts +19 -0
- package/dist/reactive/deep-watch.d.ts.map +1 -0
- package/dist/reactive/effect-context.d.ts +7 -0
- package/dist/reactive/effect-context.d.ts.map +1 -0
- package/dist/reactive/effects.d.ts +151 -0
- package/dist/reactive/effects.d.ts.map +1 -0
- package/dist/reactive/index.d.ts +20 -0
- package/dist/reactive/index.d.ts.map +1 -0
- package/dist/reactive/interface.d.ts +64 -0
- package/dist/reactive/interface.d.ts.map +1 -0
- package/dist/reactive/map.d.ts +30 -0
- package/dist/reactive/map.d.ts.map +1 -0
- package/dist/reactive/memoize.d.ts +5 -0
- package/dist/reactive/memoize.d.ts.map +1 -0
- package/dist/reactive/non-reactive-state.d.ts +9 -0
- package/dist/reactive/non-reactive-state.d.ts.map +1 -0
- package/dist/reactive/non-reactive.d.ts +11 -0
- package/dist/reactive/non-reactive.d.ts.map +1 -0
- package/dist/reactive/project.d.ts +41 -0
- package/dist/reactive/project.d.ts.map +1 -0
- package/dist/reactive/proxy-state.d.ts +8 -0
- package/dist/reactive/proxy-state.d.ts.map +1 -0
- package/dist/reactive/proxy.d.ts +23 -0
- package/dist/reactive/proxy.d.ts.map +1 -0
- package/dist/reactive/record.d.ts +116 -0
- package/dist/reactive/record.d.ts.map +1 -0
- package/dist/reactive/register.d.ts +64 -0
- package/dist/reactive/register.d.ts.map +1 -0
- package/dist/reactive/registry.d.ts +20 -0
- package/dist/reactive/registry.d.ts.map +1 -0
- package/dist/reactive/set.d.ts +28 -0
- package/dist/reactive/set.d.ts.map +1 -0
- package/dist/reactive/tracking.d.ts +7 -0
- package/dist/reactive/tracking.d.ts.map +1 -0
- package/dist/reactive/types.d.ts +376 -0
- package/dist/reactive/types.d.ts.map +1 -0
- package/dist/std-decorators.d.ts +9 -11
- package/dist/std-decorators.d.ts.map +1 -0
- package/dist/utils.d.ts +49 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/zone.d.ts +40 -0
- package/dist/zone.d.ts.map +1 -0
- package/docs/ai/api-reference.md +0 -2
- package/docs/reactive/advanced.md +2 -5
- package/docs/reactive/collections.md +0 -125
- package/docs/reactive/core.md +27 -24
- package/docs/reactive/debugging.md +12 -2
- package/docs/reactive/project.md +1 -1
- package/docs/reactive/scan.md +78 -0
- package/docs/reactive.md +2 -1
- package/docs/std-decorators.md +69 -0
- package/docs/zone.md +95 -0
- package/package.json +67 -23
- package/src/async/browser.ts +319 -0
- package/src/async/index.ts +23 -0
- package/src/async/node.ts +104 -0
- package/src/decorator.ts +5 -1
- package/src/destroyable.ts +1 -1
- package/src/entry-browser.ts +5 -0
- package/src/entry-node.ts +5 -0
- package/src/index.d.ts +12 -9
- package/src/index.ts +23 -14
- package/src/indexable.ts +42 -0
- package/src/mixins.ts +2 -2
- package/src/reactive/array.ts +274 -179
- package/src/reactive/buffer.ts +168 -0
- package/src/reactive/change.ts +2 -2
- package/src/reactive/effect-context.ts +15 -91
- package/src/reactive/effects.ts +119 -179
- package/src/reactive/index.ts +11 -13
- package/src/reactive/interface.ts +19 -33
- package/src/reactive/map.ts +49 -62
- package/src/reactive/memoize.ts +19 -9
- package/src/reactive/project.ts +43 -22
- package/src/reactive/proxy.ts +16 -41
- package/src/reactive/record.ts +3 -3
- package/src/reactive/register.ts +5 -7
- package/src/reactive/registry.ts +9 -17
- package/src/reactive/set.ts +43 -57
- package/src/reactive/tracking.ts +1 -29
- package/src/reactive/types.ts +46 -23
- package/src/utils.ts +80 -37
- package/src/zone.ts +138 -0
- package/dist/chunks/_tslib-BgjropY9.js +0 -81
- package/dist/chunks/_tslib-BgjropY9.js.map +0 -1
- package/dist/chunks/_tslib-MCKDzsSq.esm.js +0 -75
- package/dist/chunks/_tslib-MCKDzsSq.esm.js.map +0 -1
- package/dist/chunks/decorator-BGILvPtN.esm.js +0 -627
- package/dist/chunks/decorator-BGILvPtN.esm.js.map +0 -1
- package/dist/chunks/decorator-BQ2eBTCj.js +0 -651
- package/dist/chunks/decorator-BQ2eBTCj.js.map +0 -1
- package/dist/chunks/index-CDCOjzTy.js.map +0 -1
- package/dist/chunks/index-DiP0RXoZ.esm.js.map +0 -1
- package/dist/decorator.esm.js +0 -2
- package/dist/decorator.esm.js.map +0 -1
- package/dist/decorator.js +0 -11
- package/dist/decorator.js.map +0 -1
- package/dist/destroyable.esm.js +0 -109
- package/dist/destroyable.esm.js.map +0 -1
- package/dist/destroyable.js +0 -116
- package/dist/destroyable.js.map +0 -1
- package/dist/eventful.esm.js +0 -66
- package/dist/eventful.esm.js.map +0 -1
- package/dist/eventful.js +0 -68
- package/dist/eventful.js.map +0 -1
- package/dist/index.esm.js +0 -53
- package/dist/index.esm.js.map +0 -1
- package/dist/index.js +0 -139
- package/dist/index.js.map +0 -1
- package/dist/indexable.esm.js +0 -285
- package/dist/indexable.esm.js.map +0 -1
- package/dist/indexable.js +0 -291
- package/dist/indexable.js.map +0 -1
- package/dist/promiseChain.esm.js +0 -78
- package/dist/promiseChain.esm.js.map +0 -1
- package/dist/promiseChain.js +0 -80
- package/dist/promiseChain.js.map +0 -1
- package/dist/reactive.d.ts +0 -910
- package/dist/reactive.esm.js +0 -5
- package/dist/reactive.esm.js.map +0 -1
- package/dist/reactive.js +0 -59
- package/dist/reactive.js.map +0 -1
- package/dist/std-decorators.esm.js +0 -196
- package/dist/std-decorators.esm.js.map +0 -1
- package/dist/std-decorators.js +0 -204
- package/dist/std-decorators.js.map +0 -1
- package/src/reactive/mapped.ts +0 -129
- package/src/reactive/zone.ts +0 -208
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decorator-BQ2eBTCj.js","sources":["../../src/reactive/types.ts","../../src/utils.ts","../../src/decorator.ts"],"sourcesContent":["// biome-ignore-all lint/suspicious/noConfusingVoidType: Type 'void' is not assignable to type 'ScopedCallback | undefined'.\n// Argument of type '() => void' is not assignable to parameter of type '(dep: DependencyFunction) => ScopedCallback | undefined'.\n\n/**\n * Function type for dependency tracking in effects\n * Restores the active effect context for dependency tracking\n */\nexport type DependencyFunction = <T>(cb: () => T) => T\n/**\n * Dependency access passed to user callbacks within effects/watch\n * Provides functions to track dependencies and information about the effect execution\n */\nexport interface DependencyAccess {\n\t// TODO: remove tracked (async is managed)\n\t// TODO: remove ascend (make a global like `untracked` who withEffect(parentEffect, () => {}))\n\t/**\n\t * Tracks dependencies in the current effect context\n\t * Use this for normal dependency tracking within the effect\n\t * @example\n\t * ```typescript\n\t * effect(({ tracked }) => {\n\t * // In async context, use tracked to restore dependency tracking\n\t * await someAsyncOperation()\n\t * const value = tracked(() => state.count) // Tracks state.count in this effect\n\t * })\n\t * ```\n\t */\n\ttracked: DependencyFunction\n\t/**\n\t * Tracks dependencies in the parent effect context\n\t * Use this when child effects should track dependencies in the parent,\n\t * allowing parent cleanup to manage child effects while dependencies trigger the parent\n\t * @example\n\t * ```typescript\n\t * effect(({ ascend }) => {\n\t * const length = inputs.length\n\t * if (length > 0) {\n\t * ascend(() => {\n\t * // Dependencies here are tracked in the parent effect\n\t * inputs.forEach(item => console.log(item))\n\t * })\n\t * }\n\t * })\n\t * ```\n\t */\n\tascend: DependencyFunction\n\t/**\n\t * Indicates whether the effect is running as a reaction (i.e. not the first call)\n\t * - `false`: First execution when the effect is created\n\t * - `true`: Subsequent executions triggered by dependency changes\n\t * @example\n\t * ```typescript\n\t * effect(({ reaction }) => {\n\t * if (!reaction) {\n\t * console.log('Effect initialized')\n\t * // Setup code that should only run once\n\t * } else {\n\t * console.log('Effect re-ran due to dependency change')\n\t * // Code that runs on every update\n\t * }\n\t * })\n\t * ```\n\t */\n\treaction: boolean\n}\n// Zone-based async context preservation is implemented in zone.ts\n// It automatically preserves effect context across Promise boundaries (.then, .catch, .finally)\n\n/**\n * Type for effect cleanup functions\n */\nexport type ScopedCallback = () => void\n\n/**\n * Async execution mode for effects\n * - `cancel`: Cancel previous async execution when dependencies change (default)\n * - `queue`: Queue next execution to run after current completes\n * - `ignore`: Ignore new executions while async work is running\n */\nexport type AsyncExecutionMode = 'cancel' | 'queue' | 'ignore'\n\n/**\n * Options for effect creation\n */\nexport interface EffectOptions {\n\t/**\n\t * How to handle async effect executions when dependencies change\n\t * @default 'cancel'\n\t */\n\tasyncMode?: AsyncExecutionMode\n\t/**\n\t * If true, this effect is \"opaque\" to deep optimizations: it sees the object reference itself\n\t * and must be notified when it changes, regardless of deep content similarity.\n\t * Use this for effects that depend on object identity (like memoize).\n\t */\n\topaque?: boolean\n}\n\n/**\n * Type for property evolution events\n */\nexport type PropEvolution = {\n\ttype: 'set' | 'del' | 'add' | 'invalidate'\n\tprop: any\n}\n\n/**\n * Type for collection operation evolution events\n */\nexport type BunchEvolution = {\n\ttype: 'bunch'\n\tmethod: string\n}\nexport type Evolution = PropEvolution | BunchEvolution\n\ntype State =\n\t| {\n\t\t\tevolution: Evolution\n\t\t\tnext: State\n\t }\n\t| {}\n\n// Track native reactivity\nconst nativeReactive = Symbol('native-reactive')\n\n/**\n * Symbol to mark individual objects as non-reactive\n */\nexport const nonReactiveMark = Symbol('non-reactive')\n/**\n * Symbol to mark class properties as non-reactive\n */\nexport const unreactiveProperties = Symbol('unreactive-properties')\n/**\n * Symbol for prototype forwarding in reactive objects\n */\nexport const prototypeForwarding: unique symbol = Symbol('prototype-forwarding')\n\n/**\n * Symbol representing all properties in reactive tracking\n */\nexport const allProps = Symbol('all-props')\n\n/**\n * Symbol for accessing projection information on reactive objects\n */\nexport const projectionInfo = Symbol('projection-info')\n\n/**\n * Symbol to check if an effect is stopped\n */\nexport const stopped = Symbol('stopped')\n\n/**\n * Symbol to access effect cleanup function\n */\nexport const cleanup = Symbol('cleanup')\n\n/**\n * Context for a running projection item effect\n */\nexport interface ProjectionContext {\n\tsource: any\n\tkey?: any\n\ttarget: any\n\tdepth: number\n\tparent?: ProjectionContext\n}\n\n// Symbol to mark functions with their root function\nconst rootFunction = Symbol('root-function')\n\n/**\n * Structured error codes for machine-readable diagnosis\n */\nexport enum ReactiveErrorCode {\n\tCycleDetected = 'CYCLE_DETECTED',\n\tMaxDepthExceeded = 'MAX_DEPTH_EXCEEDED',\n\tMaxReactionExceeded = 'MAX_REACTION_EXCEEDED',\n\tWriteInComputed = 'WRITE_IN_COMPUTED',\n\tTrackingError = 'TRACKING_ERROR',\n}\n\nexport type CycleDebugInfo = {\n\tcode: ReactiveErrorCode.CycleDetected\n\tcycle: string[]\n\tdetails?: string\n}\n\nexport type MaxDepthDebugInfo = {\n\tcode: ReactiveErrorCode.MaxDepthExceeded\n\tdepth: number\n\tchain: string[]\n}\n\nexport type MaxReactionDebugInfo = {\n\tcode: ReactiveErrorCode.MaxReactionExceeded\n\tcount: number\n\teffect: string\n}\n\nexport type GenericDebugInfo = {\n\tcode: ReactiveErrorCode\n\tcausalChain?: string[]\n\tcreationStack?: string\n\t[key: string]: any\n}\n\nexport type ReactiveDebugInfo =\n\t| CycleDebugInfo\n\t| MaxDepthDebugInfo\n\t| MaxReactionDebugInfo\n\t| GenericDebugInfo\n\n/**\n * Error class for reactive system errors\n */\nexport class ReactiveError extends Error {\n\tconstructor(\n\t\tmessage: string,\n\t\tpublic debugInfo?: ReactiveDebugInfo\n\t) {\n\t\tsuper(message)\n\t\tthis.name = 'ReactiveError'\n\t}\n}\n\n// biome-ignore-start lint/correctness/noUnusedFunctionParameters: Interface declaration with empty defaults\n/**\n * Global options for the reactive system\n */\nexport const options = {\n\t/**\n\t * Debug purpose: called when an effect is entered\n\t * @param effect - The effect that is entered\n\t */\n\tenter: (_effect: Function) => {},\n\t/**\n\t * Debug purpose: called when an effect is left\n\t * @param effect - The effect that is left\n\t */\n\tleave: (_effect: Function) => {},\n\t/**\n\t * Debug purpose: called when an effect is chained\n\t * @param target - The effect that is being triggered\n\t * @param caller - The effect that is calling the target\n\t */\n\tchain: (_targets: Function[], _caller?: Function) => {},\n\t/**\n\t * Debug purpose: called when an effect chain is started\n\t * @param target - The effect that is being triggered\n\t */\n\tbeginChain: (_targets: Function[]) => {},\n\t/**\n\t * Debug purpose: called when an effect chain is ended\n\t */\n\tendChain: () => {},\n\tgarbageCollected: (_fn: Function) => {},\n\t/**\n\t * Debug purpose: called when an object is touched\n\t * @param obj - The object that is touched\n\t * @param evolution - The type of change\n\t * @param props - The properties that changed\n\t * @param deps - The dependencies that changed\n\t */\n\ttouched: (_obj: any, _evolution: Evolution, _props?: any[], _deps?: Set<ScopedCallback>) => {},\n\t/**\n\t * Debug purpose: called when an effect is skipped because it's already running\n\t * @param effect - The effect that is already running\n\t * @param runningChain - The array of effects from the detected one to the currently running one\n\t */\n\tskipRunningEffect: (_effect: ScopedCallback, _runningChain: ScopedCallback[]) => {},\n\t/**\n\t * Debug purpose: maximum effect chain (like call stack max depth)\n\t * Used to prevent infinite loops\n\t * @default 100\n\t */\n\tmaxEffectChain: 100,\n\t/**\n\t * Maximum number of times an effect can be triggered by the same cause in a single batch\n\t * Used to detect aggressive re-computation or infinite loops\n\t * @default 10\n\t */\n\tmaxTriggerPerBatch: 10,\n\t/**\n\t * Debug purpose: maximum effect reaction (like call stack max depth)\n\t * Used to prevent infinite loops\n\t * @default 'throw'\n\t */\n\tmaxEffectReaction: 'throw' as 'throw' | 'debug' | 'warn',\n\t/**\n\t * Callback called when a memoization discrepancy is detected (debug only)\n\t * When defined, memoized functions will run a second time (untracked) to verify consistency.\n\t * If the untracked run returns a different value than the cached one, this callback is triggered.\n\t * \n\t * This is the primary tool for detecting missing reactive dependencies in computed values.\n\t * \n\t * @param cached - The value currently in the memoization cache\n\t * @param fresh - The value obtained by re-running the function untracked\n\t * @param fn - The memoized function itself\n\t * @param args - Arguments passed to the function\n\t * \n\t * @example\n\t * ```typescript\n\t * reactiveOptions.onMemoizationDiscrepancy = (cached, fresh, fn, args) => {\n\t * throw new Error(`Memoization discrepancy in ${fn.name}!`);\n\t * };\n\t * ```\n\t */\n\tonMemoizationDiscrepancy: undefined as\n\t\t| ((cached: any, fresh: any, fn: Function, args: any[], cause: \"calculation\" | \"comparison\") => void)\n\t\t| undefined,\n\t/**\n\t * How to handle cycles detected in effect batches\n\t * - 'throw': Throw an error with cycle information (default, recommended for development)\n\t * - 'warn': Log a warning and break the cycle by executing one effect\n\t * - 'break': Silently break the cycle by executing one effect (recommended for production)\n\t * - 'strict': Prevent cycle creation by checking graph before execution (throws error)\n\t * @default 'throw'\n\t */\n\tcycleHandling: 'throw' as 'throw' | 'warn' | 'break' | 'strict',\n\t/**\n\t * Internal flag used by memoization discrepancy detector to avoid counting calls in tests\n\t * @warning Do not modify this flag manually, this flag is given by the engine\n\t */\n\tisVerificationRun: false,\n\t/**\n\t * Maximum depth for deep watching traversal\n\t * Used to prevent infinite recursion in circular references\n\t * @default 100\n\t */\n\tmaxDeepWatchDepth: 100,\n\t/**\n\t * Only react on instance members modification (not inherited properties)\n\t * For instance, do not track class methods\n\t * @default true\n\t */\n\tinstanceMembers: true,\n\t/**\n\t * Ignore accessors (getters and setters) and only track direct properties\n\t * @default true\n\t */\n\tignoreAccessors: true,\n\t/**\n\t * Enable recursive touching when objects with the same prototype are replaced\n\t * When enabled, replacing an object with another of the same prototype triggers\n\t * recursive diffing instead of notifying parent effects\n\t * @default true\n\t */\n\trecursiveTouching: true,\n\t/**\n\t * Default async execution mode for effects that return Promises\n\t * - 'cancel': Cancel previous async execution when dependencies change (default, enables async zone)\n\t * - 'queue': Queue next execution to run after current completes (enables async zone)\n\t * - 'ignore': Ignore new executions while async work is running (enables async zone)\n\t * - false: Disable async zone and async mode handling (effects run concurrently)\n\t *\n\t * **When truthy:** Enables async zone (Promise.prototype wrapping) for automatic context\n\t * preservation in Promise callbacks. Warning: This modifies Promise.prototype globally.\n\t * Only enable if no other library modifies Promise.prototype.\n\t *\n\t * **When false:** Async zone is disabled. Use `tracked()` manually in Promise callbacks.\n\t *\n\t * Can be overridden per-effect via EffectOptions\n\t * @default 'cancel'\n\t */\n\tasyncMode: 'cancel' as AsyncExecutionMode | false,\n\t// biome-ignore lint/suspicious/noConsole: This is the whole point here\n\twarn: (...args: any[]) => console.warn(...args),\n\n\t/**\n\t * Configuration for the introspection system\n\t */\n\tintrospection: {\n\t\t/**\n\t\t * Whether to keep a history of mutations for debugging\n\t\t * @default false\n\t\t */\n\t\tenableHistory: false,\n\t\t/**\n\t\t * Number of mutations to keep in history\n\t\t * @default 50\n\t\t */\n\t\thistorySize: 50,\n\t},\n\n\t/**\n\t * Configuration for zone hooks - control which async APIs are hooked\n\t * Each option controls whether the corresponding async API is wrapped to preserve effect context\n\t * Only applies when asyncMode is enabled (truthy)\n\t */\n\tzones: {\n\t\t/**\n\t\t * Hook setTimeout to preserve effect context\n\t\t * @default true\n\t\t */\n\t\tsetTimeout: true,\n\t\t/**\n\t\t * Hook setInterval to preserve effect context\n\t\t * @default true\n\t\t */\n\t\tsetInterval: true,\n\t\t/**\n\t\t * Hook requestAnimationFrame (runs in untracked context when hooked)\n\t\t * @default true\n\t\t */\n\t\trequestAnimationFrame: true,\n\t\t/**\n\t\t * Hook queueMicrotask to preserve effect context\n\t\t * @default true\n\t\t */\n\t\tqueueMicrotask: true,\n\t},\n}\n// biome-ignore-end lint/correctness/noUnusedFunctionParameters: Interface declaration with empty defaults\n\nexport { type State, nativeReactive, rootFunction }\n","import { prototypeForwarding } from './reactive/types'\n\ntype ElementTypes<T extends readonly unknown[]> = {\n\t[K in keyof T]: T[K] extends readonly (infer U)[] ? U : T[K]\n}\n\n/**\n * Combines multiple arrays into an array of tuples, stopping at the shortest array length\n * @param args - Arrays to zip together\n * @returns Array of tuples containing elements from each input array\n */\nexport function zip<T extends (readonly unknown[])[]>(...args: T): ElementTypes<T>[] {\n\tif (!args.length) return []\n\tconst minLength = Math.min(...args.map((arr) => arr.length))\n\tconst result: ElementTypes<T>[] = []\n\n\tfor (let i = 0; i < minLength; i++) {\n\t\tconst tuple = args.map((arr) => arr[i]) as ElementTypes<T>\n\t\tresult.push(tuple)\n\t}\n\n\treturn result\n}\n\n/**\n * Checks if two arrays are strictly equal (shallow comparison)\n * @param a - First value\n * @param b - Second value\n * @returns True if arrays are equal or values are strictly equal\n */\nexport function arrayEquals(a: any, b: any): boolean {\n\tif (a === b) return true\n\tif (!Array.isArray(a) || !Array.isArray(b)) return false\n\tif (a.length !== b.length) return false\n\tfor (let i = 0; i < a.length; i++) {\n\t\tif (a[i] !== b[i]) return false\n\t}\n\treturn true\n}\n\nconst nativeConstructors = new Set<Function>([\n\tObject,\n\tArray,\n\tDate,\n\tFunction,\n\tSet,\n\tMap,\n\tWeakMap,\n\tWeakSet,\n\tPromise,\n\tError,\n\tTypeError,\n\tReferenceError,\n\tSyntaxError,\n\tRangeError,\n\tURIError,\n\tEvalError,\n\tReflect,\n\tProxy,\n\tRegExp,\n\tString,\n\tNumber,\n\tBoolean,\n] as Function[])\n/**\n * Checks if a function is a constructor (class or constructor function)\n * @param fn - The function to check\n * @returns True if the function is a constructor\n */\nexport function isConstructor(fn: Function): boolean {\n\treturn (\n\t\tfn &&\n\t\ttypeof fn === 'function' &&\n\t\t(nativeConstructors.has(fn) || fn.toString?.().startsWith('class '))\n\t)\n}\n\n/**\n * Renames a function with a new name\n * @param fct - The function to rename\n * @param name - The new name for the function\n * @returns The function with the new name\n */\nexport function renamed<F extends Function>(fct: F, name: string): F {\n\treturn Object.defineProperties(fct, {\n\t\tname: {\n\t\t\tvalue: name,\n\t\t},\n\t})\n}\n\nexport function ReflectGet(obj: any, prop: any, receiver: any) {\n\t// Check if Node is available and obj is an instance of Node\n\tif (typeof Node !== 'undefined' && obj instanceof Node) return (obj as any)[prop]\n\treturn Reflect.get(obj, prop, receiver)\n}\n\nexport function ReflectSet(obj: any, prop: any, value: any, receiver: any) {\n\t// Check if Node is available and obj is an instance of Node\n\tif (typeof Node !== 'undefined' && obj instanceof Node) {\n\t\t;(obj as any)[prop] = value\n\t\treturn true\n\t}\n\tif (!(obj instanceof Object) && !Reflect.has(obj, prop)) {\n\t\tObject.defineProperty(obj, prop, {\n\t\t\tvalue,\n\t\t\tconfigurable: true,\n\t\t\twritable: true,\n\t\t\tenumerable: true,\n\t\t})\n\t\treturn true\n\t}\n\treturn Reflect.set(obj, prop, value, receiver)\n}\n\nexport function isOwnAccessor(obj: any, prop: any) {\n\tconst opd = Object.getOwnPropertyDescriptor(obj, prop)\n\treturn !!(opd?.get || opd?.set)\n}\n\n/**\n * Deeply compares two values.\n * For objects, compares prototypes with === and then own properties recursively.\n * Uses a cache to handle circular references.\n * @param a - First value\n * @param b - Second value\n * @param cache - Map for circular reference protection (internal use)\n * @returns True if values are deeply equal\n */\nexport function deepCompare(a: any, b: any, cache = new Map<object, Set<object>>()): boolean {\n\t// Unwrap mutts proxies if present\n\twhile (a && typeof a === 'object' && prototypeForwarding in a) {\n\t\ta = (a as any)[prototypeForwarding]\n\t}\n\twhile (b && typeof b === 'object' && prototypeForwarding in b) {\n\t\tb = (b as any)[prototypeForwarding]\n\t}\n\n\tif (a === b) return true\n\n\tif (typeof a !== 'object' || a === null || typeof b !== 'object' || b === null) {\n\t\treturn a === b\n\t}\n\n\t// Prototype check\n\tconst protoA = Object.getPrototypeOf(a)\n\tconst protoB = Object.getPrototypeOf(b)\n\tif (protoA !== protoB) {\n\t\tconsole.warn(`[deepCompare] prototype mismatch:`, { nameA: a?.constructor?.name, nameB: b?.constructor?.name })\n\t\treturn false\n\t}\n\t// Circular reference protection\n\tlet compared = cache.get(a)\n\tif (compared?.has(b)) return true\n\tif (!compared) {\n\t\tcompared = new Set()\n\t\tcache.set(a, compared)\n\t}\n\tcompared.add(b)\n\n\t// Handle specific object types\n\tif (Array.isArray(a)) {\n\t\tif (!Array.isArray(b)) {\n\t\t\tconsole.warn(`[deepCompare] B is not an array`)\n\t\t\treturn false\n\t\t}\n\t\tif (a.length !== b.length) {\n\t\t\tconsole.warn(`[deepCompare] array length mismatch:`, { lenA: a.length, lenB: b.length })\n\t\t\treturn false\n\t\t}\n\t\tfor (let i = 0; i < a.length; i++) {\n\t\t\tif (!deepCompare(a[i], b[i], cache)) {\n\t\t\t\tconsole.warn(`[deepCompare] array element mismatch at index ${i}`)\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\n\tif (a instanceof Date) {\n\t\tconst match = b instanceof Date && a.getTime() === b.getTime()\n\t\tif (!match) console.warn(`[deepCompare] Date mismatch`)\n\t\treturn match\n\t}\n\tif (a instanceof RegExp) {\n\t\tconst match = b instanceof RegExp && a.toString() === b.toString()\n\t\tif (!match) console.warn(`[deepCompare] RegExp mismatch`)\n\t\treturn match\n\t}\n\tif (a instanceof Set) {\n\t\tif (!(b instanceof Set) || a.size !== b.size) {\n\t\t\tconsole.warn(`[deepCompare] Set size mismatch`)\n\t\t\treturn false\n\t\t}\n\t\tfor (const val of a) {\n\t\t\tlet found = false\n\t\t\tfor (const bVal of b) {\n\t\t\t\tif (deepCompare(val, bVal, cache)) {\n\t\t\t\t\tfound = true\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!found) {\n\t\t\t\tconsole.warn(`[deepCompare] missing Set element`)\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\tif (a instanceof Map) {\n\t\tif (!(b instanceof Map) || a.size !== b.size) {\n\t\t\tconsole.warn(`[deepCompare] Map size mismatch`)\n\t\t\treturn false\n\t\t}\n\t\tfor (const [key, val] of a) {\n\t\t\tif (!b.has(key)) {\n\t\t\t\tlet foundMatch = false\n\t\t\t\tfor (const [bKey, bVal] of b) {\n\t\t\t\t\tif (deepCompare(key, bKey, cache) && deepCompare(val, bVal, cache)) {\n\t\t\t\t\t\tfoundMatch = true\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!foundMatch) {\n\t\t\t\t\tconsole.warn(`[deepCompare] missing Map key`)\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (!deepCompare(val, b.get(key), cache)) {\n\t\t\t\t\tconsole.warn(`[deepCompare] Map value mismatch for key`)\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn true\n\t}\n\n\t// Compare own properties\n\tconst keysA = Object.keys(a)\n\tconst keysB = Object.keys(b)\n\tif (keysA.length !== keysB.length) {\n\t\tconsole.warn(`[deepCompare] keys length mismatch:`, { lenA: keysA.length, lenB: keysB.length, keysA, keysB, a, b })\n\t\treturn false\n\t}\n\n\tfor (const key of keysA) {\n\t\tif (!Object.prototype.hasOwnProperty.call(b, key)) {\n\t\t\tconsole.warn(`[deepCompare] missing key ${String(key)} in B`)\n\t\t\treturn false\n\t\t}\n\t\tif (!deepCompare(a[key], b[key], cache)) {\n\t\t\tconsole.warn(`[deepCompare] value mismatch for key ${String(key)}:`, { valA: a[key], valB: b[key] })\n\t\t\treturn false\n\t\t}\n\t}\n\n\treturn true\n}\n","// biome-ignore-all lint/suspicious/noConfusingVoidType: We *love* voids\n// Standardized decorator system that works with both Legacy and Modern decorators\n\nimport { isConstructor } from './utils'\n\n/**\n * Error thrown when decorator operations fail\n */\nexport class DecoratorError extends Error {\n\tconstructor(message: string) {\n\t\tsuper(message)\n\t\tthis.name = 'DecoratorException'\n\t}\n}\n//#region all decorator types\n\n// Used for get/set and method decorators\n/**\n * Legacy property decorator type for methods, getters, and setters\n */\nexport type LegacyPropertyDecorator<T> = (\n\ttarget: T,\n\tname: string | symbol,\n\tdescriptor: PropertyDescriptor\n) => any\n\n/**\n * Legacy class decorator type\n */\nexport type LegacyClassDecorator<T> = (target: T) => any\n\n/**\n * Modern method decorator type\n */\nexport type ModernMethodDecorator<T> = (target: T, context: ClassMethodDecoratorContext) => any\n\n/**\n * Modern getter decorator type\n */\nexport type ModernGetterDecorator<T> = (target: T, context: ClassGetterDecoratorContext) => any\n\n/**\n * Modern setter decorator type\n */\nexport type ModernSetterDecorator<T> = (target: T, context: ClassSetterDecoratorContext) => any\n\n/**\n * Modern accessor decorator type\n */\nexport type ModernAccessorDecorator<T> = (target: T, context: ClassAccessorDecoratorContext) => any\n\n/**\n * Modern class decorator type\n */\nexport type ModernClassDecorator<T> = (target: T, context: ClassDecoratorContext) => any\n\n//#endregion\n\ntype DDMethod<T> = (\n\toriginal: (this: T, ...args: any[]) => any,\n\ttarget: any,\n\tname: PropertyKey\n) => ((this: T, ...args: any[]) => any) | void\n\ntype DDGetter<T> = (original: (this: T) => any, target: any, name: PropertyKey) => ((this: T) => any) | void\n\ntype DDSetter<T> = (\n\toriginal: (this: T, value: any) => void,\n\ttarget: any,\n\tname: PropertyKey\n) => ((this: T, value: any) => void) | void\n\ntype DDClass<T> = <Ctor extends new (...args: any[]) => T = new (...args: any[]) => T>(\n\ttarget: Ctor\n) => Ctor | void\n/**\n * Description object for creating decorators that work with both Legacy and Modern decorator proposals\n */\nexport interface DecoratorDescription<T> {\n\t/** Handler for method decorators */\n\tmethod?: DDMethod<T>\n\t/** Handler for class decorators */\n\tclass?: DDClass<T>\n\t/** Handler for getter decorators */\n\tgetter?: DDGetter<T>\n\t/** Handler for setter decorators */\n\tsetter?: DDSetter<T>\n\t/** Default handler for any decorator type not explicitly defined */\n\tdefault?: (...args: any[]) => any\n}\n\n/**\n * Type for decorators that work with both Legacy and Modern decorator proposals\n * Automatically infers the correct decorator type based on the description\n */\nexport type Decorator<T, Description extends DecoratorDescription<T>> = (Description extends {\n\tmethod: DDMethod<T>\n}\n\t? LegacyPropertyDecorator<T> & ModernMethodDecorator<T>\n\t: unknown) &\n\t(Description extends { class: DDClass<new (...args: any[]) => T> }\n\t\t? LegacyClassDecorator<new (...args: any[]) => T> &\n\t\t\t\tModernClassDecorator<new (...args: any[]) => T>\n\t\t: unknown) &\n\t(Description extends { getter: DDGetter<T> }\n\t\t? LegacyPropertyDecorator<T> & ModernGetterDecorator<T> & ModernAccessorDecorator<T>\n\t\t: unknown) &\n\t(Description extends { setter: DDSetter<T> }\n\t\t? LegacyPropertyDecorator<T> & ModernSetterDecorator<T> & ModernAccessorDecorator<T>\n\t\t: unknown) &\n\t(Description extends { default: infer Signature } ? Signature : unknown)\n\n/**\n * Factory type for creating decorators that work with both Legacy and Modern decorator proposals\n */\nexport type DecoratorFactory<T> = <Description extends DecoratorDescription<T>>(\n\tdescription: Description\n) => (Description extends { method: DDMethod<T> }\n\t? LegacyPropertyDecorator<T> & ModernMethodDecorator<T>\n\t: unknown) &\n\t(Description extends { class: DDClass<new (...args: any[]) => T> }\n\t\t? LegacyClassDecorator<new (...args: any[]) => T> &\n\t\t\t\tModernClassDecorator<new (...args: any[]) => T>\n\t\t: unknown) &\n\t(Description extends { getter: DDGetter<T> }\n\t\t? LegacyPropertyDecorator<T> & ModernGetterDecorator<T> & ModernAccessorDecorator<T>\n\t\t: unknown) &\n\t(Description extends { setter: DDSetter<T> }\n\t\t? LegacyPropertyDecorator<T> & ModernSetterDecorator<T> & ModernAccessorDecorator<T>\n\t\t: unknown) &\n\t(Description extends { default: infer Signature } ? Signature : unknown)\n\n/**\n * Creates a decorator that works with Legacy decorator proposals\n * @param description - The decorator description object\n * @returns A decorator function compatible with Legacy decorators\n */\nexport function legacyDecorator<T = any>(description: DecoratorDescription<T>): any {\n\treturn function (\n\t\tthis: any,\n\t\ttarget: any,\n\t\tpropertyKey?: PropertyKey,\n\t\tdescriptor?: PropertyDescriptor,\n\t\t...args: any[]\n\t) {\n\t\tif (propertyKey === undefined) {\n\t\t\tif (isConstructor(target)) {\n\t\t\t\tif (!('class' in description)) throw new Error('Decorator cannot be applied to a class')\n\t\t\t\treturn description.class!(target)\n\t\t\t}\n\t\t} else if (typeof target === 'object' && ['string', 'symbol'].includes(typeof propertyKey)) {\n\t\t\tif (!descriptor) throw new Error('Decorator cannot be applied to a field')\n\t\t\telse if (typeof descriptor === 'object' && 'configurable' in descriptor) {\n\t\t\t\tif ('get' in descriptor || 'set' in descriptor) {\n\t\t\t\t\tif (!('getter' in description || 'setter' in description))\n\t\t\t\t\t\tthrow new Error('Decorator cannot be applied to a getter or setter')\n\t\t\t\t\tif ('getter' in description) {\n\t\t\t\t\t\tconst newGetter = description.getter!(descriptor.get as any, target, propertyKey)\n\t\t\t\t\t\tif (newGetter) descriptor.get = newGetter\n\t\t\t\t\t}\n\t\t\t\t\tif ('setter' in description) {\n\t\t\t\t\t\tconst newSetter = description.setter!(descriptor.set as any, target, propertyKey)\n\t\t\t\t\t\tif (newSetter) descriptor.set = newSetter\n\t\t\t\t\t}\n\t\t\t\t\treturn descriptor\n\t\t\t\t} else if (typeof descriptor.value === 'function') {\n\t\t\t\t\tif (!('method' in description)) throw new Error('Decorator cannot be applied to a method')\n\t\t\t\t\tconst newMethod = description.method!(descriptor.value, target, propertyKey)\n\t\t\t\t\tif (newMethod) descriptor.value = newMethod\n\t\t\t\t\treturn descriptor\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!('default' in description))\n\t\t\tthrow new Error('Decorator do not have a default implementation')\n\t\treturn description.default!.call(this, target, propertyKey, descriptor, ...args)\n\t}\n}\n\n/**\n * Creates a decorator that works with Modern decorator proposals\n * @param description - The decorator description object\n * @returns A decorator function compatible with Modern decorators\n */\nexport function modernDecorator<T = any>(description: DecoratorDescription<T>): any {\n\t/*return function (target: any, context?: DecoratorContext, ...args: any[]) {*/\n\treturn function (this: any, target: any, context?: DecoratorContext, ...args: any[]) {\n\t\tif (!context?.kind || typeof context.kind !== 'string') {\n\t\t\tif (!('default' in description))\n\t\t\t\tthrow new Error('Decorator do not have a default implementation')\n\t\t\treturn description.default!.call(this, target, context, ...args)\n\t\t}\n\t\tswitch (context.kind) {\n\t\t\tcase 'class':\n\t\t\t\tif (!('class' in description)) throw new Error('Decorator cannot be applied to a class')\n\t\t\t\treturn description.class!(target)\n\t\t\tcase 'field':\n\t\t\t\tthrow new Error('Decorator cannot be applied to a field')\n\t\t\tcase 'getter':\n\t\t\t\tif (!('getter' in description)) throw new Error('Decorator cannot be applied to a getter')\n\t\t\t\treturn description.getter!(target, target, context.name)\n\t\t\tcase 'setter':\n\t\t\t\tif (!('setter' in description)) throw new Error('Decorator cannot be applied to a setter')\n\t\t\t\treturn description.setter!(target, target, context.name)\n\t\t\tcase 'method':\n\t\t\t\tif (!('method' in description)) throw new Error('Decorator cannot be applied to a method')\n\t\t\t\treturn description.method!(target, target, context.name)\n\t\t\tcase 'accessor': {\n\t\t\t\tif (!('getter' in description || 'setter' in description))\n\t\t\t\t\tthrow new Error('Decorator cannot be applied to a getter or setter')\n\t\t\t\tconst rv: Partial<ClassAccessorDecoratorResult<any, any>> = {}\n\t\t\t\tif ('getter' in description) {\n\t\t\t\t\tconst newGetter = description.getter!(target.get, target, context.name)\n\t\t\t\t\tif (newGetter) rv.get = newGetter\n\t\t\t\t}\n\t\t\t\tif ('setter' in description) {\n\t\t\t\t\tconst newSetter = description.setter!(target.set, target, context.name)\n\t\t\t\t\tif (newSetter) rv.set = newSetter\n\t\t\t\t}\n\t\t\t\treturn rv\n\t\t\t}\n\t\t\t//return description.accessor?.(target, context.name, target)\n\t\t}\n\t}\n}\n\n/**\n * Detects if the decorator is being called in modern (Modern) or legacy (Legacy) mode\n * based on the arguments passed to the decorator function\n */\nfunction detectDecoratorMode(\n\t_target: any,\n\tcontextOrKey?: any,\n\t_descriptor?: any\n): 'modern' | 'legacy' {\n\t// Modern decorators have a context object as the second parameter\n\t// Legacy decorators have a string/symbol key as the second parameter\n\tif (\n\t\ttypeof contextOrKey === 'object' &&\n\t\tcontextOrKey !== null &&\n\t\ttypeof contextOrKey.kind === 'string'\n\t) {\n\t\treturn 'modern'\n\t}\n\treturn 'legacy'\n}\n\n/**\n * Main decorator factory that automatically detects and works with both Legacy and Modern decorator proposals\n * @param description - The decorator description object\n * @returns A decorator that works in both Legacy and Modern environments\n */\nexport const decorator: DecoratorFactory<any> = (description: DecoratorDescription<any>) => {\n\tconst modern = modernDecorator(description)\n\tconst legacy = legacyDecorator(description)\n\treturn ((target: any, contextOrKey?: any, ...args: any[]) => {\n\t\tconst mode = detectDecoratorMode(target, contextOrKey, args[0])\n\t\treturn mode === 'modern'\n\t\t\t? modern(target, contextOrKey, ...args)\n\t\t\t: legacy(target, contextOrKey, ...args)\n\t}) as any\n}\n\n/**\n * Generic class decorator type that works with both Legacy and Modern decorator proposals\n */\nexport type GenericClassDecorator<T> = LegacyClassDecorator<abstract new (...args: any[]) => T> &\n\tModernClassDecorator<abstract new (...args: any[]) => T>\n"],"names":["ReactiveErrorCode"],"mappings":"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"}
|