mutts 1.0.11 → 1.0.13

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.
Files changed (59) hide show
  1. package/README.md +5 -2
  2. package/dist/browser.cjs +237 -2596
  3. package/dist/browser.cjs.map +1 -1
  4. package/dist/browser.d.ts +1407 -2
  5. package/dist/browser.dev.cjs +44 -43
  6. package/dist/browser.dev.cjs.map +1 -1
  7. package/dist/browser.dev.d.ts +2 -2
  8. package/dist/browser.dev.esm.js +2 -2
  9. package/dist/browser.esm.js +3 -3
  10. package/dist/chunks/index-CAdnMJev.cjs +2735 -0
  11. package/dist/chunks/index-CAdnMJev.cjs.map +1 -0
  12. package/dist/chunks/{index-Sf74wXTV.esm.js → index-XsYTUhHx.esm.js} +200 -77
  13. package/dist/chunks/index-XsYTUhHx.esm.js.map +1 -0
  14. package/dist/chunks/{async-node-3PrbVAbB.cjs → node-DrrphEPf.cjs} +4 -4
  15. package/dist/chunks/node-DrrphEPf.cjs.map +1 -0
  16. package/dist/chunks/{node-Bo7WU5S2.esm.js → node-NEZvVo4M.esm.js} +2 -2
  17. package/dist/chunks/{node-Bo7WU5S2.esm.js.map → node-NEZvVo4M.esm.js.map} +1 -1
  18. package/dist/chunks/{proxy-D2C49sXH.esm.js → proxy-BtmPFjSr.esm.js} +307 -66
  19. package/dist/chunks/proxy-BtmPFjSr.esm.js.map +1 -0
  20. package/dist/chunks/{proxy-Cc79Lrzj.cjs → proxy-DBHj3kGK.cjs} +341 -70
  21. package/dist/chunks/proxy-DBHj3kGK.cjs.map +1 -0
  22. package/dist/debug.cjs +537 -167
  23. package/dist/debug.cjs.map +1 -1
  24. package/dist/debug.d.ts +96 -80
  25. package/dist/debug.esm.js +533 -166
  26. package/dist/debug.esm.js.map +1 -1
  27. package/dist/devtools/panel.js.map +1 -1
  28. package/dist/mutts.umd.js +508 -140
  29. package/dist/mutts.umd.js.map +1 -1
  30. package/dist/mutts.umd.min.js +1 -1
  31. package/dist/mutts.umd.min.js.map +1 -1
  32. package/dist/node.cjs +44 -42
  33. package/dist/node.cjs.map +1 -1
  34. package/dist/node.d.ts +2 -2
  35. package/dist/node.dev.cjs +44 -42
  36. package/dist/node.dev.cjs.map +1 -1
  37. package/dist/node.dev.d.ts +2 -2
  38. package/dist/node.dev.esm.js +3 -3
  39. package/dist/node.esm.js +3 -3
  40. package/dist/{types-Bx2PhORg.d.ts → types.d.ts} +12 -0
  41. package/docs/ai/api-reference.md +102 -12
  42. package/docs/ai/manual.md +60 -24
  43. package/docs/debug-getReason.md +161 -0
  44. package/docs/flavored.md +98 -1
  45. package/docs/reactive/advanced.md +15 -2
  46. package/docs/reactive/attend.md +32 -0
  47. package/docs/reactive/core.md +40 -6
  48. package/docs/reactive/debugging.md +25 -2
  49. package/docs/reactive.md +2 -0
  50. package/package.json +2 -3
  51. package/dist/chunks/async-browser-Dgr5CreQ.cjs +0 -218
  52. package/dist/chunks/async-browser-Dgr5CreQ.cjs.map +0 -1
  53. package/dist/chunks/async-core-CRLKP3l-.cjs +0 -29
  54. package/dist/chunks/async-core-CRLKP3l-.cjs.map +0 -1
  55. package/dist/chunks/async-node-3PrbVAbB.cjs.map +0 -1
  56. package/dist/chunks/index-Sf74wXTV.esm.js.map +0 -1
  57. package/dist/chunks/proxy-Cc79Lrzj.cjs.map +0 -1
  58. package/dist/chunks/proxy-D2C49sXH.esm.js.map +0 -1
  59. package/dist/index.d.ts +0 -1322
package/dist/node.cjs CHANGED
@@ -1,49 +1,47 @@
1
1
  'use strict';
2
2
 
3
- require('./chunks/async-node-3PrbVAbB.cjs');
4
- var browser = require('./browser.cjs');
5
- var proxy = require('./chunks/proxy-Cc79Lrzj.cjs');
6
- var asyncCore = require('./chunks/async-core-CRLKP3l-.cjs');
3
+ require('./chunks/node-DrrphEPf.cjs');
4
+ var index = require('./chunks/index-CAdnMJev.cjs');
5
+ var proxy = require('./chunks/proxy-DBHj3kGK.cjs');
7
6
  require('node:async_hooks');
8
- require('./chunks/async-browser-Dgr5CreQ.cjs');
9
7
 
10
8
 
11
9
 
12
- exports.ArrayReadForward = browser.ArrayReadForward;
13
- exports.Destroyable = browser.Destroyable;
14
- exports.DestructionError = browser.DestructionError;
15
- exports.Eventful = browser.Eventful;
16
- exports.Indexable = browser.Indexable;
17
- exports.allocated = browser.allocated;
18
- exports.allocatedValues = browser.allocatedValues;
19
- exports.arrayDiff = browser.arrayDiff;
20
- exports.attend = browser.attend;
21
- exports.cache = browser.cache;
22
- exports.cached = browser.cached;
23
- exports.callOnGC = browser.callOnGC;
24
- exports.chainPromise = browser.chainPromise;
25
- exports.debounce = browser.debounce;
26
- exports.deepWatch = browser.deepWatch;
27
- exports.deprecated = browser.deprecated;
28
- exports.descriptor = browser.descriptor;
29
- exports.destructor = browser.destructor;
30
- exports.forwardArray = browser.forwardArray;
31
- exports.getAt = browser.getAt;
32
- exports.isCached = browser.isCached;
33
- exports.lift = browser.lift;
34
- exports.memoize = browser.memoize;
35
- exports.morph = browser.morph;
36
- exports.organize = browser.organize;
37
- exports.organized = browser.organized;
38
- exports.profileInfo = browser.profileInfo;
39
- exports.project = browser.morph;
40
- exports.resource = browser.resource;
41
- exports.setAt = browser.setAt;
42
- exports.throttle = browser.throttle;
43
- exports.unreactive = browser.unreactive;
44
- exports.watch = browser.watch;
45
- exports.when = browser.when;
10
+ exports.ArrayReadForward = index.ArrayReadForward;
11
+ exports.Destroyable = index.Destroyable;
12
+ exports.DestructionError = index.DestructionError;
13
+ exports.Eventful = index.Eventful;
14
+ exports.Indexable = index.Indexable;
15
+ exports.allocated = index.allocated;
16
+ exports.allocatedValues = index.allocatedValues;
17
+ exports.arrayDiff = index.arrayDiff;
18
+ exports.attend = index.attend;
19
+ exports.cache = index.cache;
20
+ exports.cached = index.cached;
21
+ exports.callOnGC = index.callOnGC;
22
+ exports.chainPromise = index.chainPromise;
23
+ exports.debounce = index.debounce;
24
+ exports.deepWatch = index.deepWatch;
25
+ exports.deprecated = index.deprecated;
26
+ exports.descriptor = index.descriptor;
27
+ exports.destructor = index.destructor;
28
+ exports.forwardArray = index.forwardArray;
29
+ exports.getAt = index.getAt;
30
+ exports.isCached = index.isCached;
31
+ exports.lift = index.lift;
32
+ exports.memoize = index.memoize;
33
+ exports.morph = index.morph;
34
+ exports.organize = index.organize;
35
+ exports.organized = index.organized;
36
+ exports.profileInfo = index.profileInfo;
37
+ exports.resource = index.resource;
38
+ exports.setAt = index.setAt;
39
+ exports.throttle = index.throttle;
40
+ exports.unreactive = index.unreactive;
41
+ exports.watch = index.watch;
42
+ exports.when = index.when;
46
43
  exports.AZone = proxy.AZone;
44
+ exports.CompareSymbol = proxy.CompareSymbol;
47
45
  exports.DecoratorError = proxy.DecoratorError;
48
46
  exports.IterableWeakMap = proxy.IterableWeakMap;
49
47
  exports.IterableWeakSet = proxy.IterableWeakSet;
@@ -60,10 +58,13 @@ exports.addBatchCleanup = proxy.addBatchCleanup;
60
58
  exports.addUnreactiveProps = proxy.addUnreactiveProps;
61
59
  exports.arrayEquals = proxy.arrayEquals;
62
60
  exports.assertUntracked = proxy.assertUntracked;
61
+ exports.asyncHook = proxy.asyncHook;
62
+ exports.asyncHooks = proxy.asyncHooks;
63
63
  exports.asyncZone = proxy.asyncZone;
64
64
  exports.atom = proxy.atom;
65
65
  exports.atomic = proxy.atomic;
66
66
  exports.biDi = proxy.biDi;
67
+ exports.captioned = proxy.captioned;
67
68
  exports.captured = proxy.captured;
68
69
  exports.caught = proxy.caught;
69
70
  exports.createFlavor = proxy.createFlavor;
@@ -74,12 +75,15 @@ exports.defer = proxy.defer;
74
75
  exports.devPreset = proxy.devPreset;
75
76
  exports.effect = proxy.effect;
76
77
  exports.effectAggregator = proxy.effectAggregator;
78
+ exports.effectContext = proxy.effectContext;
77
79
  exports.flavorOptions = proxy.flavorOptions;
78
80
  exports.flavored = proxy.flavored;
79
81
  exports.formatCleanupReason = proxy.formatCleanupReason;
80
82
  exports.getActivationLog = proxy.getActivationLog;
81
83
  exports.getActiveEffect = proxy.getActiveEffect;
82
84
  exports.getState = proxy.getState;
85
+ exports.hooks = proxy.hooks;
86
+ exports.inheritCaption = proxy.inheritCaption;
83
87
  exports.isConstructor = proxy.isConstructor;
84
88
  exports.isDev = proxy.isDev;
85
89
  exports.isNonReactive = proxy.isNonReactive;
@@ -106,8 +110,6 @@ exports.touched1 = proxy.touched1;
106
110
  exports.unlink = proxy.unlink;
107
111
  exports.untracked = proxy.untracked;
108
112
  exports.unwrap = proxy.unwrap;
113
+ exports.withEffectContext = proxy.withEffectContext;
109
114
  exports.zip = proxy.zip;
110
- exports.asyncHook = asyncCore.asyncHook;
111
- exports.asyncHooks = asyncCore.asyncHooks;
112
- exports.hooks = asyncCore.hooks;
113
115
  //# sourceMappingURL=node.cjs.map
package/dist/node.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"node.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/node.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { ArrayDiffResult, ArrayReadForward, ContextManager, Decorator, DecoratorDescription, DecoratorError, DecoratorFactory, Destroyable, DestructionError, Eventful, EventsBase, GenericClassDecorator, Hook, Indexable, IterableWeakMap, IterableWeakSet, LegacyClassDecorator, LegacyPropertyDecorator, Memoizable, MemoizableArgument, MixinClass, MixinFunction, ModernAccessorDecorator, ModernClassDecorator, ModernGetterDecorator, ModernMethodDecorator, ModernSetterDecorator, PromiseChain, ReactiveBase, Resource, Restorer, addBatchCleanup, addUnreactiveProps, allocated, allocatedValues, arrayDiff, arrayEquals, assertUntracked, asyncHook, asyncHooks, atom, atomic, attend, biDi, cache, cached, callOnGC, captured, caught, chainPromise, createFlavor, debounce, decorator, deepCompare, deepWatch, defer, deprecated, descriptor, destructor, effect, effectAggregator, flavorOptions, flavored, forwardArray, getActivationLog, getActiveEffect, getAt, getState, hooks, isCached, isConstructor, isDev, isNonReactive, isObject, isProd, isTest, legacyDecorator, lift, link, memoize, mixin, modernDecorator, morph, named, onEffectThrow, organize, organized, profileInfo, morph as project, reactive, reset, resource, root, setAt, tag, throttle, touched, touched1, unlink, unreactive, untracked, watch, when, zip } from './index.js';
2
- export { A as AZone, C as CleanupReason, c as EffectAccess, b as EffectCleanup, d as EffectCloser, g as EffectOptions, E as EffectTrigger, a as Evolution, G as GetterWrapper, H as HistoryValue, P as PropTrigger, R as ReactiveError, h as ReactiveErrorCode, S as ScopedCallback, i as Zone, Z as ZoneAggregator, j as ZoneHistory, k as asyncZone, l as debugPreset, m as devPreset, n as formatCleanupReason, o as isReactive, p as objectToProxy, q as prodPreset, r as proxyToObject, s as reactiveOptions, u as unwrap } from './types-Bx2PhORg.js';
1
+ export { ArrayDiffResult, ArrayReadForward, Captioned, CompareSymbol, ContextManager, Decorator, DecoratorDescription, DecoratorError, DecoratorFactory, Destroyable, DestructionError, EffectContext, Eventful, EventsBase, GenericClassDecorator, Hook, Indexable, IterableWeakMap, IterableWeakSet, LegacyClassDecorator, LegacyPropertyDecorator, Memoizable, MemoizableArgument, MixinClass, MixinFunction, ModernAccessorDecorator, ModernClassDecorator, ModernGetterDecorator, ModernMethodDecorator, ModernSetterDecorator, PromiseChain, ReactiveBase, Resource, Restorer, addBatchCleanup, addUnreactiveProps, allocated, allocatedValues, arrayDiff, arrayEquals, assertUntracked, asyncHook, asyncHooks, atom, atomic, attend, biDi, cache, cached, callOnGC, captioned, captured, caught, chainPromise, createFlavor, debounce, decorator, deepCompare, deepWatch, defer, deprecated, descriptor, destructor, effect, effectAggregator, effectContext, flavorOptions, flavored, forwardArray, getActivationLog, getActiveEffect, getAt, getState, hooks, inheritCaption, isCached, isConstructor, isDev, isNonReactive, isObject, isProd, isTest, legacyDecorator, lift, link, memoize, mixin, modernDecorator, morph, named, onEffectThrow, organize, organized, profileInfo, reactive, reset, resource, root, setAt, tag, throttle, touched, touched1, unlink, unreactive, untracked, watch, when, withEffectContext, zip } from './browser.js';
2
+ export { A as AZone, C as CleanupReason, c as EffectAccess, b as EffectCleanup, d as EffectCloser, g as EffectOptions, E as EffectTrigger, a as Evolution, G as GetterWrapper, H as HistoryValue, P as PropTrigger, R as ReactiveError, h as ReactiveErrorCode, S as ScopedCallback, i as Zone, Z as ZoneAggregator, j as ZoneHistory, k as asyncZone, l as debugPreset, m as devPreset, n as formatCleanupReason, o as isReactive, p as objectToProxy, q as prodPreset, r as proxyToObject, s as reactiveOptions, u as unwrap } from './types.js';
package/dist/node.dev.cjs CHANGED
@@ -1,50 +1,48 @@
1
1
  'use strict';
2
2
 
3
3
  require('./debug.cjs');
4
- require('./chunks/async-node-3PrbVAbB.cjs');
5
- var browser = require('./browser.cjs');
6
- var proxy = require('./chunks/proxy-Cc79Lrzj.cjs');
7
- var asyncCore = require('./chunks/async-core-CRLKP3l-.cjs');
4
+ require('./chunks/node-DrrphEPf.cjs');
5
+ var index = require('./chunks/index-CAdnMJev.cjs');
6
+ var proxy = require('./chunks/proxy-DBHj3kGK.cjs');
8
7
  require('node:async_hooks');
9
- require('./chunks/async-browser-Dgr5CreQ.cjs');
10
8
 
11
9
 
12
10
 
13
- exports.ArrayReadForward = browser.ArrayReadForward;
14
- exports.Destroyable = browser.Destroyable;
15
- exports.DestructionError = browser.DestructionError;
16
- exports.Eventful = browser.Eventful;
17
- exports.Indexable = browser.Indexable;
18
- exports.allocated = browser.allocated;
19
- exports.allocatedValues = browser.allocatedValues;
20
- exports.arrayDiff = browser.arrayDiff;
21
- exports.attend = browser.attend;
22
- exports.cache = browser.cache;
23
- exports.cached = browser.cached;
24
- exports.callOnGC = browser.callOnGC;
25
- exports.chainPromise = browser.chainPromise;
26
- exports.debounce = browser.debounce;
27
- exports.deepWatch = browser.deepWatch;
28
- exports.deprecated = browser.deprecated;
29
- exports.descriptor = browser.descriptor;
30
- exports.destructor = browser.destructor;
31
- exports.forwardArray = browser.forwardArray;
32
- exports.getAt = browser.getAt;
33
- exports.isCached = browser.isCached;
34
- exports.lift = browser.lift;
35
- exports.memoize = browser.memoize;
36
- exports.morph = browser.morph;
37
- exports.organize = browser.organize;
38
- exports.organized = browser.organized;
39
- exports.profileInfo = browser.profileInfo;
40
- exports.project = browser.morph;
41
- exports.resource = browser.resource;
42
- exports.setAt = browser.setAt;
43
- exports.throttle = browser.throttle;
44
- exports.unreactive = browser.unreactive;
45
- exports.watch = browser.watch;
46
- exports.when = browser.when;
11
+ exports.ArrayReadForward = index.ArrayReadForward;
12
+ exports.Destroyable = index.Destroyable;
13
+ exports.DestructionError = index.DestructionError;
14
+ exports.Eventful = index.Eventful;
15
+ exports.Indexable = index.Indexable;
16
+ exports.allocated = index.allocated;
17
+ exports.allocatedValues = index.allocatedValues;
18
+ exports.arrayDiff = index.arrayDiff;
19
+ exports.attend = index.attend;
20
+ exports.cache = index.cache;
21
+ exports.cached = index.cached;
22
+ exports.callOnGC = index.callOnGC;
23
+ exports.chainPromise = index.chainPromise;
24
+ exports.debounce = index.debounce;
25
+ exports.deepWatch = index.deepWatch;
26
+ exports.deprecated = index.deprecated;
27
+ exports.descriptor = index.descriptor;
28
+ exports.destructor = index.destructor;
29
+ exports.forwardArray = index.forwardArray;
30
+ exports.getAt = index.getAt;
31
+ exports.isCached = index.isCached;
32
+ exports.lift = index.lift;
33
+ exports.memoize = index.memoize;
34
+ exports.morph = index.morph;
35
+ exports.organize = index.organize;
36
+ exports.organized = index.organized;
37
+ exports.profileInfo = index.profileInfo;
38
+ exports.resource = index.resource;
39
+ exports.setAt = index.setAt;
40
+ exports.throttle = index.throttle;
41
+ exports.unreactive = index.unreactive;
42
+ exports.watch = index.watch;
43
+ exports.when = index.when;
47
44
  exports.AZone = proxy.AZone;
45
+ exports.CompareSymbol = proxy.CompareSymbol;
48
46
  exports.DecoratorError = proxy.DecoratorError;
49
47
  exports.IterableWeakMap = proxy.IterableWeakMap;
50
48
  exports.IterableWeakSet = proxy.IterableWeakSet;
@@ -61,10 +59,13 @@ exports.addBatchCleanup = proxy.addBatchCleanup;
61
59
  exports.addUnreactiveProps = proxy.addUnreactiveProps;
62
60
  exports.arrayEquals = proxy.arrayEquals;
63
61
  exports.assertUntracked = proxy.assertUntracked;
62
+ exports.asyncHook = proxy.asyncHook;
63
+ exports.asyncHooks = proxy.asyncHooks;
64
64
  exports.asyncZone = proxy.asyncZone;
65
65
  exports.atom = proxy.atom;
66
66
  exports.atomic = proxy.atomic;
67
67
  exports.biDi = proxy.biDi;
68
+ exports.captioned = proxy.captioned;
68
69
  exports.captured = proxy.captured;
69
70
  exports.caught = proxy.caught;
70
71
  exports.createFlavor = proxy.createFlavor;
@@ -75,12 +76,15 @@ exports.defer = proxy.defer;
75
76
  exports.devPreset = proxy.devPreset;
76
77
  exports.effect = proxy.effect;
77
78
  exports.effectAggregator = proxy.effectAggregator;
79
+ exports.effectContext = proxy.effectContext;
78
80
  exports.flavorOptions = proxy.flavorOptions;
79
81
  exports.flavored = proxy.flavored;
80
82
  exports.formatCleanupReason = proxy.formatCleanupReason;
81
83
  exports.getActivationLog = proxy.getActivationLog;
82
84
  exports.getActiveEffect = proxy.getActiveEffect;
83
85
  exports.getState = proxy.getState;
86
+ exports.hooks = proxy.hooks;
87
+ exports.inheritCaption = proxy.inheritCaption;
84
88
  exports.isConstructor = proxy.isConstructor;
85
89
  exports.isDev = proxy.isDev;
86
90
  exports.isNonReactive = proxy.isNonReactive;
@@ -107,8 +111,6 @@ exports.touched1 = proxy.touched1;
107
111
  exports.unlink = proxy.unlink;
108
112
  exports.untracked = proxy.untracked;
109
113
  exports.unwrap = proxy.unwrap;
114
+ exports.withEffectContext = proxy.withEffectContext;
110
115
  exports.zip = proxy.zip;
111
- exports.asyncHook = asyncCore.asyncHook;
112
- exports.asyncHooks = asyncCore.asyncHooks;
113
- exports.hooks = asyncCore.hooks;
114
116
  //# sourceMappingURL=node.dev.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.dev.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"node.dev.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- export { A as AZone, C as CleanupReason, c as EffectAccess, b as EffectCleanup, d as EffectCloser, g as EffectOptions, E as EffectTrigger, a as Evolution, G as GetterWrapper, H as HistoryValue, P as PropTrigger, R as ReactiveError, h as ReactiveErrorCode, S as ScopedCallback, i as Zone, Z as ZoneAggregator, j as ZoneHistory, k as asyncZone, l as debugPreset, m as devPreset, n as formatCleanupReason, o as isReactive, p as objectToProxy, q as prodPreset, r as proxyToObject, s as reactiveOptions, u as unwrap } from './types-Bx2PhORg.js';
2
- export { ArrayDiffResult, ArrayReadForward, ContextManager, Decorator, DecoratorDescription, DecoratorError, DecoratorFactory, Destroyable, DestructionError, Eventful, EventsBase, GenericClassDecorator, Hook, Indexable, IterableWeakMap, IterableWeakSet, LegacyClassDecorator, LegacyPropertyDecorator, Memoizable, MemoizableArgument, MixinClass, MixinFunction, ModernAccessorDecorator, ModernClassDecorator, ModernGetterDecorator, ModernMethodDecorator, ModernSetterDecorator, PromiseChain, ReactiveBase, Resource, Restorer, addBatchCleanup, addUnreactiveProps, allocated, allocatedValues, arrayDiff, arrayEquals, assertUntracked, asyncHook, asyncHooks, atom, atomic, attend, biDi, cache, cached, callOnGC, captured, caught, chainPromise, createFlavor, debounce, decorator, deepCompare, deepWatch, defer, deprecated, descriptor, destructor, effect, effectAggregator, flavorOptions, flavored, forwardArray, getActivationLog, getActiveEffect, getAt, getState, hooks, isCached, isConstructor, isDev, isNonReactive, isObject, isProd, isTest, legacyDecorator, lift, link, memoize, mixin, modernDecorator, morph, named, onEffectThrow, organize, organized, profileInfo, morph as project, reactive, reset, resource, root, setAt, tag, throttle, touched, touched1, unlink, unreactive, untracked, watch, when, zip } from './index.js';
1
+ export { A as AZone, C as CleanupReason, c as EffectAccess, b as EffectCleanup, d as EffectCloser, g as EffectOptions, E as EffectTrigger, a as Evolution, G as GetterWrapper, H as HistoryValue, P as PropTrigger, R as ReactiveError, h as ReactiveErrorCode, S as ScopedCallback, i as Zone, Z as ZoneAggregator, j as ZoneHistory, k as asyncZone, l as debugPreset, m as devPreset, n as formatCleanupReason, o as isReactive, p as objectToProxy, q as prodPreset, r as proxyToObject, s as reactiveOptions, u as unwrap } from './types.js';
2
+ export { ArrayDiffResult, ArrayReadForward, Captioned, CompareSymbol, ContextManager, Decorator, DecoratorDescription, DecoratorError, DecoratorFactory, Destroyable, DestructionError, EffectContext, Eventful, EventsBase, GenericClassDecorator, Hook, Indexable, IterableWeakMap, IterableWeakSet, LegacyClassDecorator, LegacyPropertyDecorator, Memoizable, MemoizableArgument, MixinClass, MixinFunction, ModernAccessorDecorator, ModernClassDecorator, ModernGetterDecorator, ModernMethodDecorator, ModernSetterDecorator, PromiseChain, ReactiveBase, Resource, Restorer, addBatchCleanup, addUnreactiveProps, allocated, allocatedValues, arrayDiff, arrayEquals, assertUntracked, asyncHook, asyncHooks, atom, atomic, attend, biDi, cache, cached, callOnGC, captioned, captured, caught, chainPromise, createFlavor, debounce, decorator, deepCompare, deepWatch, defer, deprecated, descriptor, destructor, effect, effectAggregator, effectContext, flavorOptions, flavored, forwardArray, getActivationLog, getActiveEffect, getAt, getState, hooks, inheritCaption, isCached, isConstructor, isDev, isNonReactive, isObject, isProd, isTest, legacyDecorator, lift, link, memoize, mixin, modernDecorator, morph, named, onEffectThrow, organize, organized, profileInfo, reactive, reset, resource, root, setAt, tag, throttle, touched, touched1, unlink, unreactive, untracked, watch, when, withEffectContext, zip } from './browser.js';
@@ -1,6 +1,6 @@
1
1
  import './debug.esm.js';
2
- import './chunks/node-Bo7WU5S2.esm.js';
3
- export { A as ArrayReadForward, D as Destroyable, a as DestructionError, E as Eventful, I as Indexable, b as allocated, c as allocatedValues, d as arrayDiff, e as attend, f as cache, g as cached, h as callOnGC, i as chainPromise, j as debounce, k as deepWatch, l as deprecated, m as descriptor, n as destructor, o as forwardArray, p as getAt, q as isCached, r as lift, s as memoize, t as morph, u as organize, v as organized, w as profileInfo, t as project, x as resource, y as setAt, z as throttle, B as unreactive, C as watch, F as when } from './chunks/index-Sf74wXTV.esm.js';
4
- export { A as AZone, D as DecoratorError, I as IterableWeakMap, a as IterableWeakSet, R as ReactiveBase, b as ReactiveError, c as ReactiveErrorCode, Z as Zone, d as ZoneAggregator, e as ZoneHistory, f as addBatchCleanup, g as addUnreactiveProps, h as arrayEquals, i as assertUntracked, j as asyncHook, k as asyncHooks, l as asyncZone, m as atom, n as atomic, o as biDi, p as captured, q as caught, r as createFlavor, s as debugPreset, t as decorator, u as deepCompare, v as defer, w as devPreset, x as effect, y as effectAggregator, z as flavorOptions, B as flavored, C as formatCleanupReason, E as getActivationLog, F as getActiveEffect, G as getState, H as hooks, J as isConstructor, K as isDev, L as isNonReactive, M as isObject, N as isProd, O as isReactive, P as isTest, Q as legacyDecorator, S as link, T as mixin, U as modernDecorator, V as named, W as objectToProxy, X as onEffectThrow, Y as prodPreset, _ as proxyToObject, $ as reactive, a0 as reactiveOptions, a1 as reset, a2 as root, a3 as tag, a4 as touched, a5 as touched1, a6 as unlink, a7 as untracked, a8 as unwrap, a9 as zip } from './chunks/proxy-D2C49sXH.esm.js';
2
+ import './chunks/node-NEZvVo4M.esm.js';
3
+ export { A as ArrayReadForward, D as Destroyable, a as DestructionError, E as Eventful, I as Indexable, b as allocated, c as allocatedValues, d as arrayDiff, e as attend, f as cache, g as cached, h as callOnGC, i as chainPromise, j as debounce, k as deepWatch, l as deprecated, m as descriptor, n as destructor, o as forwardArray, p as getAt, q as isCached, r as lift, s as memoize, t as morph, u as organize, v as organized, w as profileInfo, x as resource, y as setAt, z as throttle, B as unreactive, C as watch, F as when } from './chunks/index-XsYTUhHx.esm.js';
4
+ export { A as AZone, C as CompareSymbol, D as DecoratorError, I as IterableWeakMap, a as IterableWeakSet, R as ReactiveBase, b as ReactiveError, c as ReactiveErrorCode, Z as Zone, d as ZoneAggregator, e as ZoneHistory, f as addBatchCleanup, g as addUnreactiveProps, h as arrayEquals, i as assertUntracked, j as asyncHook, k as asyncHooks, l as asyncZone, m as atom, n as atomic, o as biDi, p as captioned, q as captured, r as caught, s as createFlavor, t as debugPreset, u as decorator, v as deepCompare, w as defer, x as devPreset, y as effect, z as effectAggregator, B as effectContext, E as flavorOptions, F as flavored, G as formatCleanupReason, H as getActivationLog, J as getActiveEffect, K as getState, L as hooks, M as inheritCaption, N as isConstructor, O as isDev, P as isNonReactive, Q as isObject, S as isProd, T as isReactive, U as isTest, V as legacyDecorator, W as link, X as mixin, Y as modernDecorator, _ as named, $ as objectToProxy, a0 as onEffectThrow, a1 as prodPreset, a2 as proxyToObject, a3 as reactive, a4 as reactiveOptions, a5 as reset, a6 as root, a7 as tag, a8 as touched, a9 as touched1, aa as unlink, ab as untracked, ac as unwrap, ad as withEffectContext, ae as zip } from './chunks/proxy-BtmPFjSr.esm.js';
5
5
  import 'node:async_hooks';
6
6
  //# sourceMappingURL=node.dev.esm.js.map
package/dist/node.esm.js CHANGED
@@ -1,5 +1,5 @@
1
- import './chunks/node-Bo7WU5S2.esm.js';
2
- export { A as ArrayReadForward, D as Destroyable, a as DestructionError, E as Eventful, I as Indexable, b as allocated, c as allocatedValues, d as arrayDiff, e as attend, f as cache, g as cached, h as callOnGC, i as chainPromise, j as debounce, k as deepWatch, l as deprecated, m as descriptor, n as destructor, o as forwardArray, p as getAt, q as isCached, r as lift, s as memoize, t as morph, u as organize, v as organized, w as profileInfo, t as project, x as resource, y as setAt, z as throttle, B as unreactive, C as watch, F as when } from './chunks/index-Sf74wXTV.esm.js';
3
- export { A as AZone, D as DecoratorError, I as IterableWeakMap, a as IterableWeakSet, R as ReactiveBase, b as ReactiveError, c as ReactiveErrorCode, Z as Zone, d as ZoneAggregator, e as ZoneHistory, f as addBatchCleanup, g as addUnreactiveProps, h as arrayEquals, i as assertUntracked, j as asyncHook, k as asyncHooks, l as asyncZone, m as atom, n as atomic, o as biDi, p as captured, q as caught, r as createFlavor, s as debugPreset, t as decorator, u as deepCompare, v as defer, w as devPreset, x as effect, y as effectAggregator, z as flavorOptions, B as flavored, C as formatCleanupReason, E as getActivationLog, F as getActiveEffect, G as getState, H as hooks, J as isConstructor, K as isDev, L as isNonReactive, M as isObject, N as isProd, O as isReactive, P as isTest, Q as legacyDecorator, S as link, T as mixin, U as modernDecorator, V as named, W as objectToProxy, X as onEffectThrow, Y as prodPreset, _ as proxyToObject, $ as reactive, a0 as reactiveOptions, a1 as reset, a2 as root, a3 as tag, a4 as touched, a5 as touched1, a6 as unlink, a7 as untracked, a8 as unwrap, a9 as zip } from './chunks/proxy-D2C49sXH.esm.js';
1
+ import './chunks/node-NEZvVo4M.esm.js';
2
+ export { A as ArrayReadForward, D as Destroyable, a as DestructionError, E as Eventful, I as Indexable, b as allocated, c as allocatedValues, d as arrayDiff, e as attend, f as cache, g as cached, h as callOnGC, i as chainPromise, j as debounce, k as deepWatch, l as deprecated, m as descriptor, n as destructor, o as forwardArray, p as getAt, q as isCached, r as lift, s as memoize, t as morph, u as organize, v as organized, w as profileInfo, x as resource, y as setAt, z as throttle, B as unreactive, C as watch, F as when } from './chunks/index-XsYTUhHx.esm.js';
3
+ export { A as AZone, C as CompareSymbol, D as DecoratorError, I as IterableWeakMap, a as IterableWeakSet, R as ReactiveBase, b as ReactiveError, c as ReactiveErrorCode, Z as Zone, d as ZoneAggregator, e as ZoneHistory, f as addBatchCleanup, g as addUnreactiveProps, h as arrayEquals, i as assertUntracked, j as asyncHook, k as asyncHooks, l as asyncZone, m as atom, n as atomic, o as biDi, p as captioned, q as captured, r as caught, s as createFlavor, t as debugPreset, u as decorator, v as deepCompare, w as defer, x as devPreset, y as effect, z as effectAggregator, B as effectContext, E as flavorOptions, F as flavored, G as formatCleanupReason, H as getActivationLog, J as getActiveEffect, K as getState, L as hooks, M as inheritCaption, N as isConstructor, O as isDev, P as isNonReactive, Q as isObject, S as isProd, T as isReactive, U as isTest, V as legacyDecorator, W as link, X as mixin, Y as modernDecorator, _ as named, $ as objectToProxy, a0 as onEffectThrow, a1 as prodPreset, a2 as proxyToObject, a3 as reactive, a4 as reactiveOptions, a5 as reset, a6 as root, a7 as tag, a8 as touched, a9 as touched1, aa as unlink, ab as untracked, ac as unwrap, ad as withEffectContext, ae as zip } from './chunks/proxy-BtmPFjSr.esm.js';
4
4
  import 'node:async_hooks';
5
5
  //# sourceMappingURL=node.esm.js.map
@@ -124,23 +124,34 @@ type PropTrigger = {
124
124
  type CleanupReason = {
125
125
  type: 'propChange';
126
126
  triggers: PropTrigger[];
127
+ chain?: CleanupReason;
127
128
  } | {
128
129
  type: 'invalidate';
129
130
  cause: CleanupReason;
131
+ chain?: CleanupReason;
132
+ } | {
133
+ type: 'external';
134
+ detail: string;
135
+ chain?: CleanupReason;
130
136
  } | {
131
137
  type: 'stopped';
132
138
  detail?: string;
139
+ chain?: CleanupReason;
133
140
  } | {
134
141
  type: 'gc';
142
+ chain?: CleanupReason;
135
143
  } | {
136
144
  type: 'lineage';
137
145
  parent: CleanupReason;
146
+ chain?: CleanupReason;
138
147
  } | {
139
148
  type: 'error';
140
149
  error: unknown;
150
+ chain?: CleanupReason;
141
151
  } | {
142
152
  type: 'multiple';
143
153
  reasons: CleanupReason[];
154
+ chain?: CleanupReason;
144
155
  };
145
156
  /**
146
157
  * Console-friendly description of a `CleanupReason`.
@@ -419,6 +430,7 @@ declare const options: {
419
430
  */
420
431
  asyncMode: AsyncExecutionMode | false;
421
432
  warn: (...args: any[]) => void;
433
+ error: (...args: any[]) => void;
422
434
  /**
423
435
  * Introspection and debug aids. Set to `null` to disable all debug overhead in production.
424
436
  *
@@ -24,22 +24,72 @@ export declare const Reactive: unique symbol;
24
24
  * Symbol to map back from a reactive proxy to its original target
25
25
  */
26
26
  export declare const Raw: unique symbol;
27
- export type ScopedCallback = (() => void | (() => void)) & {
28
- [cleanup]?: () => void;
27
+ export type PropTrigger = {
28
+ obj: object;
29
+ evolution: Evolution;
30
+ dependency?: unknown;
31
+ touch?: unknown;
29
32
  };
30
- export type DependencyFunction = <T>(fn: () => T) => T;
31
- export type DependencyAccess = {
32
- tracked: DependencyFunction;
33
- ascend: DependencyFunction;
34
- reaction: boolean;
33
+ export type CleanupReason = {
34
+ type: 'propChange';
35
+ triggers: PropTrigger[];
36
+ } | {
37
+ type: 'invalidate';
38
+ cause: CleanupReason;
39
+ } | {
40
+ type: 'stopped';
41
+ detail?: string;
42
+ } | {
43
+ type: 'gc';
44
+ } | {
45
+ type: 'lineage';
46
+ parent: CleanupReason;
47
+ } | {
48
+ type: 'error';
49
+ error: unknown;
50
+ } | {
51
+ type: 'multiple';
52
+ reasons: CleanupReason[];
53
+ };
54
+ export type ScopedCallback = (reason?: CleanupReason) => void;
55
+ export type EffectCleanup = ScopedCallback;
56
+ export type EffectCloser = (reason?: CleanupReason) => void;
57
+ export type EffectAccess = {
58
+ tracked: <T>(fn: () => T) => T;
59
+ ascend: <T>(fn: () => T) => T;
60
+ reaction: boolean | CleanupReason;
61
+ signal: AbortSignal;
62
+ };
63
+ export type EffectOptions = {
64
+ asyncMode?: 'cancel' | 'queue' | 'ignore';
65
+ opaque?: boolean;
66
+ dependencyHook?: (obj: any, prop: any) => void;
67
+ name?: string;
68
+ };
69
+ export type Evolution = {
70
+ type: 'set' | 'del' | 'add' | 'invalidate';
71
+ prop: any;
72
+ } | {
73
+ type: 'bunch';
74
+ method: string;
35
75
  };
36
76
 
77
+ export declare const effect: {
78
+ (fn: (access: EffectAccess) => EffectCloser | undefined | void | Promise<any>, effectOptions?: EffectOptions): EffectCleanup;
79
+ readonly opaque: typeof effect;
80
+ named(name: string): typeof effect;
81
+ };
37
82
  export declare function reactive<T extends object>(target: T): T;
38
- export declare function effect(fn: (access: DependencyAccess, ...args: any[]) => (ScopedCallback | undefined | void), ...args: any[]): ScopedCallback;
39
83
  export declare function unwrap<T>(obj: T): T;
40
84
  export declare function isReactive(obj: any): boolean;
85
+ export declare class ReactiveBase {}
41
86
  export declare function isNonReactive(obj: any): boolean;
42
87
  export declare function untracked<T>(fn: () => T): T;
88
+ export declare function root<T>(fn: () => T): T;
89
+ export declare function assertUntracked<T>(fn: () => T): T;
90
+ export declare function getState(obj: any): {};
91
+ export declare function touched(obj: any, evolution: Evolution, props?: any[]): void;
92
+ export declare function touched1(obj: any, evolution: Evolution, prop: any): void;
43
93
 
44
94
  // --------------------------------------------------------------------------------
45
95
  // REACTIVE HELPERS
@@ -48,15 +98,55 @@ export declare function untracked<T>(fn: () => T): T;
48
98
  export declare function atomic<T extends (...args: any[]) => any>(fn: T): T;
49
99
  export declare function atom<T>(fn: () => T): T;
50
100
  export declare function memoize<Result, Args extends any[]>(fn: (...args: Args) => Result, maxArgs?: number): (...args: Args) => Result;
51
- export declare function deepWatch(source: any, callback: (path: string[], value: any) => void): () => void;
52
- export declare function biDi<T>(target: (val: T) => void, source: { get: () => T, set: (v: T) => void }): (val: T) => void;
101
+ export declare function deepWatch<T extends object>(target: T, callback: (value: T) => void, options?: { immediate?: boolean }): EffectCleanup | undefined;
102
+ export declare function biDi<T>(received: (value: T) => void, value: { get: () => T, set: (value: T) => void }): (value: T) => void;
103
+ export declare function biDi<T>(received: (value: T) => void, get: () => T, set: (value: T) => void): (value: T) => void;
104
+ export declare function addBatchCleanup(cleanup: () => void): void;
105
+ export declare const defer: typeof addBatchCleanup;
106
+ export declare function caught(onThrow: (error: unknown) => EffectCloser | undefined | void): void;
107
+ export declare const onEffectThrow: typeof caught;
108
+ export declare function getActiveEffect(): ScopedCallback;
109
+ export declare const effectAggregator: unknown;
110
+ export declare function link(owner: object, ...deps: (ScopedCallback | object)[]): void;
111
+ export declare function unlink(owner: object, reason?: CleanupReason): void;
53
112
 
54
113
  // --------------------------------------------------------------------------------
55
114
  // COLLECTIONS
56
115
  // --------------------------------------------------------------------------------
57
116
 
58
- export declare function project<S, R>(source: S, apply: (access: any, target: any) => any): R;
117
+ export declare function attend<T>(source: readonly T[], callback: (index: number, access: EffectAccess) => EffectCloser | void): ScopedCallback;
118
+ export declare function attend<K, V>(source: Map<K, V>, callback: (key: K, access: EffectAccess) => EffectCloser | void): ScopedCallback;
119
+ export declare function attend<T>(source: Set<T>, callback: (value: T, access: EffectAccess) => EffectCloser | void): ScopedCallback;
120
+ export declare function attend<S extends object>(source: S, callback: (key: keyof S & string, access: EffectAccess) => EffectCloser | void): ScopedCallback;
121
+ export declare function attend<Key>(enumerate: () => Iterable<Key>, callback: (key: Key, access: EffectAccess) => EffectCloser | void): ScopedCallback;
122
+ export declare function lift<Output extends any[]>(cb: (access: EffectAccess) => Output): Output;
123
+ export declare function lift<Output extends object>(cb: (access: EffectAccess) => Output): Output;
124
+ export declare const morph: {
125
+ <I, O>(source: readonly I[] | (() => readonly I[]), fn: (arg: I, access?: EffectAccess) => O, options?: { pure?: boolean | ((i: I) => boolean) }): readonly O[];
126
+ <K, V, O>(source: Map<K, V>, fn: (arg: V, key: K, access?: EffectAccess) => O, options?: { pure?: boolean | ((i: V) => boolean) }): Map<K, O>;
127
+ <S extends Record<PropertyKey, any>, O>(source: S, fn: (arg: S[keyof S], key: keyof S, access?: EffectAccess) => O, options?: { pure?: boolean | ((i: S[keyof S]) => boolean) }): { [K in keyof S]: O };
128
+ pure: typeof morph;
129
+ };
59
130
  export declare function organized<S, T>(source: S, apply: (access: any, target: T) => any, baseTarget?: T): T;
131
+ export declare function organize<T>(target: object, property: PropertyKey, access: { get?(): T, set?(value: T): boolean }): () => boolean;
132
+ export declare const watch: {
133
+ <T>(value: (dep: EffectAccess) => T, changed: (value: T, oldValue?: T) => void, options?: { immediate?: boolean, deep?: false }): EffectCleanup;
134
+ <T extends object | any[]>(value: (dep: EffectAccess) => T, changed: (value: T, oldValue?: T) => void, options?: { immediate?: boolean, deep: true }): EffectCleanup;
135
+ <T extends object | any[]>(value: T, changed: (value: T) => void, options?: { immediate?: boolean, deep?: boolean }): EffectCleanup;
136
+ readonly deep: typeof watch;
137
+ readonly immediate: typeof watch;
138
+ };
139
+ export declare function when<T>(predicate: (dep: EffectAccess) => T, timeout?: number): Promise<T>;
140
+ export interface Resource<T> {
141
+ value: T | undefined;
142
+ loading: boolean;
143
+ error: any;
144
+ latest: T | undefined;
145
+ reload(): void;
146
+ promise: Promise<void>;
147
+ }
148
+ export declare function resource<T>(fetcher: (access: EffectAccess) => Promise<T> | T, options?: { initialValue?: T }): Resource<T>;
149
+ export declare function unreactive<T extends object>(obj: T): T;
60
150
 
61
151
  // --------------------------------------------------------------------------------
62
152
  // DESTROYABLE
@@ -96,7 +186,7 @@ export declare function deprecated(message?: string): Function;
96
186
 
97
187
  export declare const reactiveOptions: {
98
188
  cycleHandling: 'production' | 'development' | 'debug';
99
- introspection: { enableHistory: boolean; historySize: number; logErrors: boolean };
189
+ introspection: unknown;
100
190
  };
101
191
 
102
192
  export enum ReactiveErrorCode {