mutts 1.0.8 → 1.0.9
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 +19 -2
- package/dist/browser.cjs +1030 -4406
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.ts +310 -573
- package/dist/browser.esm.js +18 -24
- package/dist/browser.esm.js.map +1 -1
- package/dist/chunks/{async-browser-CA0jPWIi.cjs → async-browser-lvzLOCgk.cjs} +17 -24
- package/dist/chunks/async-browser-lvzLOCgk.cjs.map +1 -0
- package/dist/chunks/{async-core-UqHzvJ-S.cjs → async-core-CRLKP3l-.cjs} +8 -4
- package/dist/chunks/async-core-CRLKP3l-.cjs.map +1 -0
- package/dist/chunks/{async-node-BYHuGTni.cjs → async-node-C3DeIb0y.cjs} +5 -12
- package/dist/chunks/async-node-C3DeIb0y.cjs.map +1 -0
- package/dist/chunks/index-2vea86wD.esm.js +3011 -0
- package/dist/chunks/index-2vea86wD.esm.js.map +1 -0
- package/dist/chunks/index-CtA2AWl3.esm.js +4376 -0
- package/dist/chunks/index-CtA2AWl3.esm.js.map +1 -0
- package/dist/chunks/index-VTO-b2vR.cjs +4461 -0
- package/dist/chunks/index-VTO-b2vR.cjs.map +1 -0
- package/dist/{reactive → debug}/debug.d.ts +19 -8
- package/dist/debug/debug.d.ts.map +1 -0
- package/dist/debug/index.d.ts +4 -0
- package/dist/debug/index.d.ts.map +1 -0
- package/dist/debug/lineage-panel.d.ts +5 -0
- package/dist/debug/lineage-panel.d.ts.map +1 -0
- package/dist/debug/lineage.d.ts +79 -0
- package/dist/debug/lineage.d.ts.map +1 -0
- package/dist/debug.cjs +35 -0
- package/dist/debug.cjs.map +1 -0
- package/dist/debug.d.ts +209 -0
- package/dist/debug.esm.js +2 -0
- package/dist/debug.esm.js.map +1 -0
- package/dist/index.d.ts +1 -13
- 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 +65 -63
- package/dist/node.cjs.map +1 -1
- package/dist/node.d.ts +2 -1
- package/dist/node.esm.js +5 -11
- package/dist/node.esm.js.map +1 -1
- package/dist/{async → src/async}/browser.d.ts.map +1 -1
- package/dist/{async → src/async}/index.d.ts +2 -1
- package/dist/src/async/index.d.ts.map +1 -0
- package/dist/{async → src/async}/node.d.ts.map +1 -1
- package/dist/src/decorator.d.ts.map +1 -0
- package/dist/src/destroyable.d.ts.map +1 -0
- package/dist/src/entry-browser.d.ts.map +1 -0
- package/dist/src/entry-node.d.ts.map +1 -0
- package/dist/src/eventful.d.ts +20 -0
- package/dist/src/eventful.d.ts.map +1 -0
- package/dist/src/flavored.d.ts +33 -0
- package/dist/src/flavored.d.ts.map +1 -0
- package/dist/src/index.d.ts +14 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/indexable.d.ts.map +1 -0
- package/dist/{introspection.d.ts → src/introspection.d.ts} +1 -1
- package/dist/src/introspection.d.ts.map +1 -0
- package/dist/src/iterableWeak.d.ts.map +1 -0
- package/dist/src/mixins.d.ts.map +1 -0
- package/dist/src/promiseChain.d.ts.map +1 -0
- package/dist/{reactive → src/reactive}/array.d.ts +9 -10
- package/dist/src/reactive/array.d.ts.map +1 -0
- package/dist/src/reactive/buffer.d.ts +120 -0
- package/dist/src/reactive/buffer.d.ts.map +1 -0
- package/dist/{reactive → src/reactive}/change.d.ts +2 -2
- package/dist/src/reactive/change.d.ts.map +1 -0
- package/dist/src/reactive/deep-touch.d.ts.map +1 -0
- package/dist/{reactive → src/reactive}/deep-watch-state.d.ts +3 -3
- package/dist/src/reactive/deep-watch-state.d.ts.map +1 -0
- package/dist/{reactive → src/reactive}/deep-watch.d.ts +2 -1
- package/dist/src/reactive/deep-watch.d.ts.map +1 -0
- package/dist/src/reactive/describe.d.ts +12 -0
- package/dist/src/reactive/describe.d.ts.map +1 -0
- package/dist/src/reactive/effect-context.d.ts +34 -0
- package/dist/src/reactive/effect-context.d.ts.map +1 -0
- package/dist/{reactive → src/reactive}/effects.d.ts +31 -18
- package/dist/src/reactive/effects.d.ts.map +1 -0
- package/dist/src/reactive/index.d.ts +19 -0
- package/dist/src/reactive/index.d.ts.map +1 -0
- package/dist/{reactive → src/reactive}/map.d.ts +0 -2
- package/dist/src/reactive/map.d.ts.map +1 -0
- package/dist/src/reactive/memoize.d.ts +28 -0
- package/dist/src/reactive/memoize.d.ts.map +1 -0
- package/dist/src/reactive/non-reactive-state.d.ts.map +1 -0
- package/dist/src/reactive/non-reactive.d.ts.map +1 -0
- package/dist/{reactive → src/reactive}/project.d.ts +1 -2
- package/dist/src/reactive/project.d.ts.map +1 -0
- package/dist/src/reactive/proxy-state.d.ts.map +1 -0
- package/dist/src/reactive/proxy.d.ts.map +1 -0
- package/dist/{reactive → src/reactive}/record.d.ts +2 -3
- package/dist/src/reactive/record.d.ts.map +1 -0
- package/dist/{reactive → src/reactive}/register.d.ts +61 -0
- package/dist/src/reactive/register.d.ts.map +1 -0
- package/dist/{reactive → src/reactive}/registry.d.ts +6 -5
- package/dist/src/reactive/registry.d.ts.map +1 -0
- package/dist/{reactive → src/reactive}/set.d.ts +0 -2
- package/dist/src/reactive/set.d.ts.map +1 -0
- package/dist/src/reactive/tracking.d.ts.map +1 -0
- package/dist/{reactive → src/reactive}/types.d.ts +69 -21
- package/dist/src/reactive/types.d.ts.map +1 -0
- package/dist/{reactive/interface.d.ts → src/reactive/watch.d.ts} +7 -23
- package/dist/src/reactive/watch.d.ts.map +1 -0
- package/dist/{std-decorators.d.ts → src/std-decorators.d.ts} +1 -6
- package/dist/src/std-decorators.d.ts.map +1 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/{zone.d.ts → src/zone.d.ts} +2 -2
- package/dist/src/zone.d.ts.map +1 -0
- package/dist/types-DaHFfhlN.d.ts +414 -0
- package/docs/ai/api-reference.md +1 -1
- package/docs/ai/manual.md +443 -17
- package/docs/events.md +57 -2
- package/docs/flavored.md +210 -0
- package/docs/reactive/advanced.md +2 -3
- package/docs/reactive/attend.md +143 -0
- package/docs/reactive/collections.md +55 -0
- package/docs/reactive/core.md +120 -4
- package/docs/reactive/debugging.md +8 -10
- package/docs/reactive/describe.md +85 -0
- package/docs/reactive/error-handling.md +121 -0
- package/docs/reactive/project.md +1 -1
- package/docs/reactive/scan.md +215 -0
- package/docs/reactive.md +2 -0
- package/docs/std-decorators.md +102 -51
- package/docs/zone.md +3 -7
- package/package.json +6 -1
- package/src/async/browser.ts +110 -106
- package/src/async/index.ts +15 -11
- package/src/async/node.ts +5 -17
- package/src/eventful.ts +82 -49
- package/src/flavored.ts +106 -0
- package/src/index.d.ts +12 -12
- package/src/index.ts +2 -2
- package/src/introspection.ts +1 -1
- package/src/reactive/array.ts +29 -36
- package/src/reactive/buffer.ts +187 -27
- package/src/reactive/change.ts +16 -23
- package/src/reactive/deep-touch.ts +19 -14
- package/src/reactive/deep-watch-state.ts +3 -3
- package/src/reactive/deep-watch.ts +7 -4
- package/src/reactive/describe.ts +39 -0
- package/src/reactive/effect-context.ts +69 -4
- package/src/reactive/effects.ts +445 -393
- package/src/reactive/index.ts +12 -15
- package/src/reactive/map.ts +9 -25
- package/src/reactive/memoize.ts +26 -3
- package/src/reactive/project.md +107 -0
- package/src/reactive/project.ts +48 -71
- package/src/reactive/proxy.ts +21 -3
- package/src/reactive/record.ts +30 -45
- package/src/reactive/register.ts +138 -19
- package/src/reactive/registry.ts +22 -9
- package/src/reactive/set.ts +8 -21
- package/src/reactive/tracking.ts +9 -12
- package/src/reactive/types.ts +104 -24
- package/src/reactive/{interface.ts → watch.ts} +29 -59
- package/src/std-decorators.ts +56 -17
- package/src/utils.ts +2 -3
- package/src/zone.ts +28 -24
- package/dist/async/index.d.ts.map +0 -1
- package/dist/chunks/async-browser-CA0jPWIi.cjs.map +0 -1
- package/dist/chunks/async-core-UqHzvJ-S.cjs.map +0 -1
- package/dist/chunks/async-node-BYHuGTni.cjs.map +0 -1
- package/dist/chunks/index-DhaOVusv.esm.js +0 -6411
- package/dist/chunks/index-DhaOVusv.esm.js.map +0 -1
- package/dist/decorator.d.ts.map +0 -1
- package/dist/destroyable.d.ts.map +0 -1
- package/dist/entry-browser.d.ts.map +0 -1
- package/dist/entry-node.d.ts.map +0 -1
- package/dist/eventful.d.ts +0 -18
- package/dist/eventful.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/indexable.d.ts.map +0 -1
- package/dist/introspection.d.ts.map +0 -1
- package/dist/iterableWeak.d.ts.map +0 -1
- package/dist/mixins.d.ts.map +0 -1
- package/dist/promiseChain.d.ts.map +0 -1
- package/dist/reactive/array.d.ts.map +0 -1
- package/dist/reactive/buffer.d.ts +0 -44
- package/dist/reactive/buffer.d.ts.map +0 -1
- package/dist/reactive/change.d.ts.map +0 -1
- package/dist/reactive/debug.d.ts.map +0 -1
- package/dist/reactive/deep-touch.d.ts.map +0 -1
- package/dist/reactive/deep-watch-state.d.ts.map +0 -1
- package/dist/reactive/deep-watch.d.ts.map +0 -1
- package/dist/reactive/effect-context.d.ts +0 -7
- package/dist/reactive/effect-context.d.ts.map +0 -1
- package/dist/reactive/effects.d.ts.map +0 -1
- package/dist/reactive/index.d.ts +0 -20
- package/dist/reactive/index.d.ts.map +0 -1
- package/dist/reactive/interface.d.ts.map +0 -1
- package/dist/reactive/map.d.ts.map +0 -1
- package/dist/reactive/memoize.d.ts +0 -5
- package/dist/reactive/memoize.d.ts.map +0 -1
- package/dist/reactive/non-reactive-state.d.ts.map +0 -1
- package/dist/reactive/non-reactive.d.ts.map +0 -1
- package/dist/reactive/project.d.ts.map +0 -1
- package/dist/reactive/proxy-state.d.ts.map +0 -1
- package/dist/reactive/proxy.d.ts.map +0 -1
- package/dist/reactive/record.d.ts.map +0 -1
- package/dist/reactive/register.d.ts.map +0 -1
- package/dist/reactive/registry.d.ts.map +0 -1
- package/dist/reactive/set.d.ts.map +0 -1
- package/dist/reactive/tracking.d.ts.map +0 -1
- package/dist/reactive/types.d.ts.map +0 -1
- package/dist/std-decorators.d.ts.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/zone.d.ts.map +0 -1
- package/src/reactive/debug.ts +0 -517
- /package/dist/{async → src/async}/browser.d.ts +0 -0
- /package/dist/{async → src/async}/node.d.ts +0 -0
- /package/dist/{decorator.d.ts → src/decorator.d.ts} +0 -0
- /package/dist/{destroyable.d.ts → src/destroyable.d.ts} +0 -0
- /package/dist/{entry-browser.d.ts → src/entry-browser.d.ts} +0 -0
- /package/dist/{entry-node.d.ts → src/entry-node.d.ts} +0 -0
- /package/dist/{indexable.d.ts → src/indexable.d.ts} +0 -0
- /package/dist/{iterableWeak.d.ts → src/iterableWeak.d.ts} +0 -0
- /package/dist/{mixins.d.ts → src/mixins.d.ts} +0 -0
- /package/dist/{promiseChain.d.ts → src/promiseChain.d.ts} +0 -0
- /package/dist/{reactive → src/reactive}/deep-touch.d.ts +0 -0
- /package/dist/{reactive → src/reactive}/non-reactive-state.d.ts +0 -0
- /package/dist/{reactive → src/reactive}/non-reactive.d.ts +0 -0
- /package/dist/{reactive → src/reactive}/proxy-state.d.ts +0 -0
- /package/dist/{reactive → src/reactive}/proxy.d.ts +0 -0
- /package/dist/{reactive → src/reactive}/tracking.d.ts +0 -0
- /package/dist/{utils.d.ts → src/utils.d.ts} +0 -0
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { FunctionWrapper } from
|
|
1
|
+
import type { FunctionWrapper } from '../zone';
|
|
2
|
+
export type EffectAccessEvents = {
|
|
3
|
+
triggered(event: string, ...args: any[]): void;
|
|
4
|
+
};
|
|
2
5
|
/**
|
|
3
|
-
*
|
|
6
|
+
* Effect access passed to user callbacks within effects/watch
|
|
4
7
|
* Provides functions to track dependencies and information about the effect execution
|
|
5
8
|
*/
|
|
6
|
-
export interface
|
|
9
|
+
export interface EffectAccess {
|
|
7
10
|
/**
|
|
8
11
|
* Tracks dependencies in the current effect context
|
|
9
12
|
* Use this for normal dependency tracking within the effect
|
|
@@ -55,9 +58,42 @@ export interface DependencyAccess {
|
|
|
55
58
|
reaction: boolean;
|
|
56
59
|
}
|
|
57
60
|
/**
|
|
58
|
-
*
|
|
61
|
+
* Base type for effect callbacks - simple function without additional properties
|
|
59
62
|
*/
|
|
60
63
|
export type ScopedCallback = () => void;
|
|
64
|
+
/**
|
|
65
|
+
* Type for effect cleanup functions with stopped state tracking
|
|
66
|
+
*/
|
|
67
|
+
export type EffectCleanup = ScopedCallback & {
|
|
68
|
+
[stopped]: boolean;
|
|
69
|
+
};
|
|
70
|
+
export type StackFrame = {
|
|
71
|
+
functionName: string;
|
|
72
|
+
fileName: string;
|
|
73
|
+
lineNumber: number;
|
|
74
|
+
columnNumber: number;
|
|
75
|
+
raw: string;
|
|
76
|
+
};
|
|
77
|
+
export type EffectTracking = (obj: any, evolution: Evolution, prop: any, effect: EffectTrigger) => void;
|
|
78
|
+
/**
|
|
79
|
+
* Centralized node for all effect metadata and relationships
|
|
80
|
+
*/
|
|
81
|
+
export interface EffectNode {
|
|
82
|
+
parent?: EffectTrigger;
|
|
83
|
+
children?: Set<EffectCleanup>;
|
|
84
|
+
cleanup?: ScopedCallback;
|
|
85
|
+
stopped?: boolean;
|
|
86
|
+
forwardThrow?: CatchFunction;
|
|
87
|
+
catchers?: CatchFunction[];
|
|
88
|
+
creationStack?: StackFrame[];
|
|
89
|
+
dependencyHook?: (obj: any, prop: any) => void;
|
|
90
|
+
trackers?: EffectTracking[];
|
|
91
|
+
isOpaque?: boolean;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Type for the `runEffect` function of an effect - argument-less function to call to trigger the effect
|
|
95
|
+
*/
|
|
96
|
+
export type EffectTrigger = ScopedCallback;
|
|
61
97
|
/**
|
|
62
98
|
* Async execution mode for effects
|
|
63
99
|
* - `cancel`: Cancel previous async execution when dependencies change (default)
|
|
@@ -80,6 +116,14 @@ export interface EffectOptions {
|
|
|
80
116
|
* Use this for effects that depend on object identity (like memoize).
|
|
81
117
|
*/
|
|
82
118
|
opaque?: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Used for debugging purpose. Provides a callback to be called every time a dependency is created.
|
|
121
|
+
*/
|
|
122
|
+
dependencyHook?: (obj: any, prop: any) => void;
|
|
123
|
+
/**
|
|
124
|
+
* Used for debugging purpose. Provides a name for the effect.
|
|
125
|
+
*/
|
|
126
|
+
name?: string;
|
|
83
127
|
}
|
|
84
128
|
/**
|
|
85
129
|
* Type for property evolution events
|
|
@@ -125,6 +169,9 @@ export declare const stopped: unique symbol;
|
|
|
125
169
|
* Symbol to access effect cleanup function
|
|
126
170
|
*/
|
|
127
171
|
export declare const cleanup: unique symbol;
|
|
172
|
+
export declare const forwardThrow: unique symbol;
|
|
173
|
+
export type EffectCloser = (error?: any) => void;
|
|
174
|
+
export type CatchFunction = (error: any) => EffectCloser | undefined | void;
|
|
128
175
|
/**
|
|
129
176
|
* Context for a running projection item effect
|
|
130
177
|
*/
|
|
@@ -162,17 +209,14 @@ export type MaxReactionDebugInfo = {
|
|
|
162
209
|
count: number;
|
|
163
210
|
effect: string;
|
|
164
211
|
};
|
|
165
|
-
export type BrokenEffectsDebugInfo = {
|
|
166
|
-
code: ReactiveErrorCode.BrokenEffects;
|
|
167
|
-
cause: any;
|
|
168
|
-
};
|
|
169
212
|
export type GenericDebugInfo = {
|
|
170
213
|
code: ReactiveErrorCode;
|
|
171
214
|
causalChain?: string[];
|
|
172
|
-
creationStack?: string;
|
|
215
|
+
creationStack?: string | any[];
|
|
216
|
+
lineage?: any[];
|
|
173
217
|
[key: string]: any;
|
|
174
218
|
};
|
|
175
|
-
export type ReactiveDebugInfo = CycleDebugInfo | MaxDepthDebugInfo | MaxReactionDebugInfo |
|
|
219
|
+
export type ReactiveDebugInfo = CycleDebugInfo | MaxDepthDebugInfo | MaxReactionDebugInfo | GenericDebugInfo;
|
|
176
220
|
/**
|
|
177
221
|
* Error class for reactive system errors
|
|
178
222
|
*/
|
|
@@ -219,13 +263,13 @@ export declare const options: {
|
|
|
219
263
|
* @param props - The properties that changed
|
|
220
264
|
* @param deps - The dependencies that changed
|
|
221
265
|
*/
|
|
222
|
-
touched: (_obj: any, _evolution: Evolution, _props?: any[], _deps?: Set<
|
|
266
|
+
touched: (_obj: any, _evolution: Evolution, _props?: any[], _deps?: Set<EffectTrigger>) => void;
|
|
223
267
|
/**
|
|
224
268
|
* Debug purpose: called when an effect is skipped because it's already running
|
|
225
269
|
* @param effect - The effect that is already running
|
|
226
270
|
* @param runningChain - The array of effects from the detected one to the currently running one
|
|
227
271
|
*/
|
|
228
|
-
skipRunningEffect: (_effect:
|
|
272
|
+
skipRunningEffect: (_effect: EffectTrigger) => void;
|
|
229
273
|
/**
|
|
230
274
|
* Debug purpose: maximum effect chain (like call stack max depth)
|
|
231
275
|
* Used to prevent infinite loops
|
|
@@ -267,20 +311,20 @@ export declare const options: {
|
|
|
267
311
|
/**
|
|
268
312
|
* How to handle cycles detected in effect batches.
|
|
269
313
|
*
|
|
270
|
-
* - `'
|
|
314
|
+
* - `'production'` (Default): High-performance mode. Disables dependency graph maintenance and
|
|
271
315
|
* Topological Sorting in favor of a simple FIFO queue. Use this for trustworthy, acyclic UI code.
|
|
272
|
-
* Cycle detection is heuristic (uses execution counts).
|
|
316
|
+
* Cycle detection is heuristic (uses maxEffectChain execution counts).
|
|
273
317
|
*
|
|
274
|
-
* - `'
|
|
275
|
-
*
|
|
318
|
+
* - `'development'`: Maintains direct dependency graph for early cycle detection during edge creation.
|
|
319
|
+
* Catches cycles before effects execute via DFS check when adding edges. Throws immediately with
|
|
320
|
+
* basic path information. Good balance of debugging help with moderate overhead.
|
|
276
321
|
*
|
|
277
|
-
* - `'
|
|
278
|
-
*
|
|
279
|
-
* - `'strict'`: Prevents cycle creation by checking the graph *during* dependency discovery.
|
|
322
|
+
* - `'debug'`: Full diagnostic mode with transitive closures and topological sorting.
|
|
323
|
+
* Provides detailed cycle path reporting. Highest overhead but most informative for bug hunting.
|
|
280
324
|
*
|
|
281
|
-
* @default '
|
|
325
|
+
* @default 'production'
|
|
282
326
|
*/
|
|
283
|
-
cycleHandling: "
|
|
327
|
+
cycleHandling: "production" | "development" | "debug";
|
|
284
328
|
/**
|
|
285
329
|
* Internal flag used by memoization discrepancy detector to avoid counting calls in tests
|
|
286
330
|
* @warning Do not modify this flag manually, this flag is given by the engine
|
|
@@ -372,5 +416,9 @@ export declare const options: {
|
|
|
372
416
|
queueMicrotask: boolean;
|
|
373
417
|
};
|
|
374
418
|
};
|
|
419
|
+
type CallableOption = {
|
|
420
|
+
[K in keyof typeof options]: (typeof options)[K] extends ((...args: any[]) => any) | undefined ? K : never;
|
|
421
|
+
}[keyof typeof options];
|
|
422
|
+
export declare function optionCall<K extends CallableOption>(name: K, ...args: NonNullable<(typeof options)[K]> extends (...a: infer A) => unknown ? A : never): void;
|
|
375
423
|
export { type State, nativeReactive, rootFunction };
|
|
376
424
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/reactive/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { type GenericClassDecorator } from '../decorator';
|
|
2
|
-
import { type
|
|
3
|
-
/**
|
|
4
|
-
* Symbol for accessing the cleanup function on cleaned objects
|
|
5
|
-
*/
|
|
6
|
-
export declare const cleanup: unique symbol;
|
|
2
|
+
import { type EffectAccess, type EffectCleanup } from './types';
|
|
7
3
|
/**
|
|
8
4
|
* Options for the watch function
|
|
9
5
|
*/
|
|
@@ -20,9 +16,9 @@ export interface WatchOptions {
|
|
|
20
16
|
* @param options - Watch options
|
|
21
17
|
* @returns Cleanup function to stop watching
|
|
22
18
|
*/
|
|
23
|
-
export declare function watch<T>(value: (dep:
|
|
19
|
+
export declare function watch<T>(value: (dep: EffectAccess) => T, changed: (value: T, oldValue?: T) => void, options?: Omit<WatchOptions, 'deep'> & {
|
|
24
20
|
deep?: false;
|
|
25
|
-
}):
|
|
21
|
+
}): EffectCleanup;
|
|
26
22
|
/**
|
|
27
23
|
* Watches a reactive value with deep watching enabled
|
|
28
24
|
* @param value - Function that returns the value to watch
|
|
@@ -30,9 +26,9 @@ export declare function watch<T>(value: (dep: DependencyAccess) => T, changed: (
|
|
|
30
26
|
* @param options - Watch options with deep watching enabled
|
|
31
27
|
* @returns Cleanup function to stop watching
|
|
32
28
|
*/
|
|
33
|
-
export declare function watch<T extends object | any[]>(value: (dep:
|
|
29
|
+
export declare function watch<T extends object | any[]>(value: (dep: EffectAccess) => T, changed: (value: T, oldValue?: T) => void, options?: Omit<WatchOptions, 'deep'> & {
|
|
34
30
|
deep: true;
|
|
35
|
-
}):
|
|
31
|
+
}): EffectCleanup;
|
|
36
32
|
/**
|
|
37
33
|
* Watches a reactive object directly
|
|
38
34
|
* @param value - The reactive object to watch
|
|
@@ -40,7 +36,7 @@ export declare function watch<T extends object | any[]>(value: (dep: DependencyA
|
|
|
40
36
|
* @param options - Watch options
|
|
41
37
|
* @returns Cleanup function to stop watching
|
|
42
38
|
*/
|
|
43
|
-
export declare function watch<T extends object | any[]>(value: T, changed: (value: T) => void, options?: WatchOptions):
|
|
39
|
+
export declare function watch<T extends object | any[]>(value: T, changed: (value: T) => void, options?: WatchOptions): EffectCleanup;
|
|
44
40
|
declare function unreactiveApplication<T extends object>(...args: (keyof T)[]): GenericClassDecorator<T>;
|
|
45
41
|
declare function unreactiveApplication<T extends object>(obj: T): T;
|
|
46
42
|
/**
|
|
@@ -48,17 +44,5 @@ declare function unreactiveApplication<T extends object>(obj: T): T;
|
|
|
48
44
|
* Prevents objects from being made reactive
|
|
49
45
|
*/
|
|
50
46
|
export declare const unreactive: import("../decorator").LegacyClassDecorator<new (...args: any[]) => any> & import("../decorator").ModernClassDecorator<new (...args: any[]) => any> & typeof unreactiveApplication;
|
|
51
|
-
export declare function cleanedBy<T extends object>(obj: T, cleanupFn: ScopedCallback): T & {
|
|
52
|
-
[cleanup]: ScopedCallback;
|
|
53
|
-
};
|
|
54
|
-
/**
|
|
55
|
-
* Creates a derived value that automatically recomputes when dependencies change
|
|
56
|
-
* @param compute - Function that computes the derived value
|
|
57
|
-
* @returns Object with value and cleanup function
|
|
58
|
-
*/
|
|
59
|
-
export declare function derived<T>(compute: (dep: DependencyAccess) => T): {
|
|
60
|
-
value: T;
|
|
61
|
-
[cleanup]: ScopedCallback;
|
|
62
|
-
};
|
|
63
47
|
export {};
|
|
64
|
-
//# sourceMappingURL=
|
|
48
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/reactive/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAOpE,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,aAAa,EAIlB,MAAM,SAAS,CAAA;AAKhB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,yCAAyC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAA;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,EACtB,KAAK,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,CAAC,EAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,IAAI,EACzC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GACrD,aAAa,CAAA;AAChB;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAAE,EAC7C,KAAK,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,CAAC,EAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,IAAI,EACzC,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACnD,aAAa,CAAA;AAChB;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAAE,EAC7C,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAC3B,OAAO,CAAC,EAAE,YAAY,GACpB,aAAa,CAAA;AAqFhB,iBAAS,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;AAChG,iBAAS,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAkB3D;;;GAGG;AACH,eAAO,MAAM,UAAU,oLAMrB,CAAA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type GenericClassDecorator } from './decorator';
|
|
2
1
|
/**
|
|
3
2
|
* Decorator that caches the result of a getter method and only recomputes when dependencies change
|
|
4
3
|
* Prevents circular dependencies and provides automatic cache invalidation
|
|
@@ -23,11 +22,7 @@ export declare function cache(object: Object, propertyKey: PropertyKey, value: a
|
|
|
23
22
|
* @param descriptor - The descriptor properties to apply
|
|
24
23
|
* @returns A class decorator that applies the descriptor to specified properties
|
|
25
24
|
*/
|
|
26
|
-
export declare
|
|
27
|
-
enumerable?: boolean;
|
|
28
|
-
configurable?: boolean;
|
|
29
|
-
writable?: boolean;
|
|
30
|
-
}): <T>(...properties: (keyof T)[]) => GenericClassDecorator<T>;
|
|
25
|
+
export declare const descriptor: any;
|
|
31
26
|
/**
|
|
32
27
|
* Decorator that marks methods, properties, or classes as deprecated
|
|
33
28
|
* Provides warning messages when deprecated items are used
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"std-decorators.d.ts","sourceRoot":"","sources":["../../src/std-decorators.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,MAAM,4JAuBjB,CAAA;AAEF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,WAEhE;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,QAEzE;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,KAyDtB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,oaA4BJ,MAAM;mBAgCR,GAAG,eAAe,WAAW,YAAY,MAAM;CAO/D,CAAA;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,yGAmBrC;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,yGAiCrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI;KAChD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC5D,CAAA;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAWnF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAQnD;AA0BD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAMnD;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAMnE;AACD,eAAO,MAAM,SAAS;aACZ,GAAG,QAAQ,GAAG,YAAY,GAAG;aAK7B,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG;CAiBlD,CAAA;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,WAGhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,2BAAiC,GAAG,OAAO,CAqI3F;AAGD,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,OAW3C;AAED,wBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAc7D;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAOhE"}
|
|
@@ -2,11 +2,11 @@ export declare abstract class AZone<T> {
|
|
|
2
2
|
abstract active?: T;
|
|
3
3
|
protected enter(value?: T): unknown;
|
|
4
4
|
protected leave(entered: unknown): void;
|
|
5
|
-
with<R>(value: T, fn: () => R): R;
|
|
5
|
+
with<R>(value: T | undefined, fn: () => R): R;
|
|
6
6
|
root<R>(fn: () => R): R;
|
|
7
7
|
get zoned(): FunctionWrapper;
|
|
8
8
|
}
|
|
9
|
-
export type FunctionWrapper = <R>(fn
|
|
9
|
+
export type FunctionWrapper = <R>(fn: () => R) => R;
|
|
10
10
|
export declare class Zone<T> extends AZone<T> {
|
|
11
11
|
active: T | undefined;
|
|
12
12
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zone.d.ts","sourceRoot":"","sources":["../../src/zone.ts"],"names":[],"mappings":"AAUA,8BAAsB,KAAK,CAAC,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACnB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO;IAKnC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAGvC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAY7C,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAQvB,IAAI,KAAK,IAAI,eAAe,CAG3B;CACD;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;AAEnD,qBAAa,IAAI,CAAC,CAAC,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAA;CACrB;AAED,KAAK,YAAY,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;CAAE,CAAA;AAClE,qBAAa,WAAW,CAAC,CAAC,CAAE,SAAQ,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAU7C,OAAO,CAAC,UAAU;IAT9B,OAAO,CAAC,OAAO,CAAe;IAC9B,SAAgB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1B,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO;IAGtB,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO;gBAIlC,UAAU,GAAE,KAAK,CAAC,CAAC,CAAiB;IAyBxD,IAAI,MAAM,IAGQ,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAD5C;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,EAG5C;CACD;AAED,qBAAa,cAAe,SAAQ,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;;gBAE1D,GAAG,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;IAItC,IAAI,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS,CAIrD;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS,EAEzD;IACD,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS;IAQtD,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI;IAGlD,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;IAGrB,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;IAGxB,KAAK;CAGL;AAED,eAAO,MAAM,SAAS,gBAAqC,CAAA"}
|