mutts 1.0.5 → 1.0.7

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 (114) hide show
  1. package/README.md +2 -1
  2. package/dist/browser.d.ts +2 -0
  3. package/dist/browser.esm.js +70 -0
  4. package/dist/browser.esm.js.map +1 -0
  5. package/dist/browser.js +161 -0
  6. package/dist/browser.js.map +1 -0
  7. package/dist/chunks/{index-Cvxdw6Ax.js → index-BFYK02LG.js} +5377 -4059
  8. package/dist/chunks/index-BFYK02LG.js.map +1 -0
  9. package/dist/chunks/{index-qiWwozOc.esm.js → index-CNR6QRUl.esm.js} +5247 -3963
  10. package/dist/chunks/index-CNR6QRUl.esm.js.map +1 -0
  11. package/dist/mutts.umd.js +1 -1
  12. package/dist/mutts.umd.js.map +1 -1
  13. package/dist/mutts.umd.min.js +1 -1
  14. package/dist/mutts.umd.min.js.map +1 -1
  15. package/dist/node.d.ts +2 -0
  16. package/dist/node.esm.js +45 -0
  17. package/dist/node.esm.js.map +1 -0
  18. package/dist/node.js +136 -0
  19. package/dist/node.js.map +1 -0
  20. package/docs/ai/api-reference.md +0 -2
  21. package/docs/ai/manual.md +14 -95
  22. package/docs/reactive/advanced.md +7 -111
  23. package/docs/reactive/collections.md +0 -125
  24. package/docs/reactive/core.md +27 -24
  25. package/docs/reactive/debugging.md +168 -0
  26. package/docs/reactive/project.md +1 -1
  27. package/docs/reactive/scan.md +78 -0
  28. package/docs/reactive.md +8 -6
  29. package/docs/std-decorators.md +1 -0
  30. package/docs/zone.md +88 -0
  31. package/package.json +47 -65
  32. package/src/async/browser.ts +87 -0
  33. package/src/async/index.ts +8 -0
  34. package/src/async/node.ts +46 -0
  35. package/src/decorator.ts +15 -9
  36. package/src/destroyable.ts +4 -4
  37. package/src/index.ts +54 -0
  38. package/src/indexable.ts +42 -0
  39. package/src/mixins.ts +2 -2
  40. package/src/reactive/array.ts +149 -141
  41. package/src/reactive/buffer.ts +168 -0
  42. package/src/reactive/change.ts +3 -3
  43. package/src/reactive/debug.ts +1 -1
  44. package/src/reactive/deep-touch.ts +1 -1
  45. package/src/reactive/deep-watch.ts +1 -1
  46. package/src/reactive/effect-context.ts +15 -91
  47. package/src/reactive/effects.ts +138 -170
  48. package/src/reactive/index.ts +10 -13
  49. package/src/reactive/interface.ts +20 -33
  50. package/src/reactive/map.ts +48 -61
  51. package/src/reactive/memoize.ts +87 -31
  52. package/src/reactive/project.ts +43 -22
  53. package/src/reactive/proxy.ts +18 -43
  54. package/src/reactive/record.ts +3 -3
  55. package/src/reactive/register.ts +5 -7
  56. package/src/reactive/registry.ts +59 -0
  57. package/src/reactive/set.ts +42 -56
  58. package/src/reactive/tracking.ts +5 -62
  59. package/src/reactive/types.ts +79 -19
  60. package/src/std-decorators.ts +9 -9
  61. package/src/utils.ts +203 -19
  62. package/src/zone.ts +127 -0
  63. package/dist/chunks/_tslib-BgjropY9.js +0 -81
  64. package/dist/chunks/_tslib-BgjropY9.js.map +0 -1
  65. package/dist/chunks/_tslib-Mzh1rNsX.esm.js +0 -75
  66. package/dist/chunks/_tslib-Mzh1rNsX.esm.js.map +0 -1
  67. package/dist/chunks/decorator-DLvrD0UF.js +0 -265
  68. package/dist/chunks/decorator-DLvrD0UF.js.map +0 -1
  69. package/dist/chunks/decorator-DqiszP7i.esm.js +0 -253
  70. package/dist/chunks/decorator-DqiszP7i.esm.js.map +0 -1
  71. package/dist/chunks/index-Cvxdw6Ax.js.map +0 -1
  72. package/dist/chunks/index-qiWwozOc.esm.js.map +0 -1
  73. package/dist/decorator.d.ts +0 -107
  74. package/dist/decorator.esm.js +0 -2
  75. package/dist/decorator.esm.js.map +0 -1
  76. package/dist/decorator.js +0 -11
  77. package/dist/decorator.js.map +0 -1
  78. package/dist/destroyable.d.ts +0 -90
  79. package/dist/destroyable.esm.js +0 -109
  80. package/dist/destroyable.esm.js.map +0 -1
  81. package/dist/destroyable.js +0 -116
  82. package/dist/destroyable.js.map +0 -1
  83. package/dist/eventful.d.ts +0 -20
  84. package/dist/eventful.esm.js +0 -66
  85. package/dist/eventful.esm.js.map +0 -1
  86. package/dist/eventful.js +0 -68
  87. package/dist/eventful.js.map +0 -1
  88. package/dist/index.d.ts +0 -19
  89. package/dist/index.esm.js +0 -8
  90. package/dist/index.esm.js.map +0 -1
  91. package/dist/index.js +0 -95
  92. package/dist/index.js.map +0 -1
  93. package/dist/indexable.d.ts +0 -243
  94. package/dist/indexable.esm.js +0 -285
  95. package/dist/indexable.esm.js.map +0 -1
  96. package/dist/indexable.js +0 -291
  97. package/dist/indexable.js.map +0 -1
  98. package/dist/promiseChain.d.ts +0 -21
  99. package/dist/promiseChain.esm.js +0 -78
  100. package/dist/promiseChain.esm.js.map +0 -1
  101. package/dist/promiseChain.js +0 -80
  102. package/dist/promiseChain.js.map +0 -1
  103. package/dist/reactive.d.ts +0 -885
  104. package/dist/reactive.esm.js +0 -5
  105. package/dist/reactive.esm.js.map +0 -1
  106. package/dist/reactive.js +0 -59
  107. package/dist/reactive.js.map +0 -1
  108. package/dist/std-decorators.d.ts +0 -52
  109. package/dist/std-decorators.esm.js +0 -196
  110. package/dist/std-decorators.esm.js.map +0 -1
  111. package/dist/std-decorators.js +0 -204
  112. package/dist/std-decorators.js.map +0 -1
  113. package/src/reactive/mapped.ts +0 -129
  114. package/src/reactive/zone.ts +0 -208
package/README.md CHANGED
@@ -163,7 +163,7 @@ A comprehensive resource management system that provides automatic cleanup for o
163
163
  A comprehensive reactivity system. See the **[Introduction](./docs/reactive/core.md)** or browse the **[Table of Contents](./docs/reactive.md)**.
164
164
 
165
165
  **Key Features:**
166
- - **Core Reactivity**: Proxy-based property access tracking with `reactive()`, `effect()`, and `memoize()`
166
+ - **Core Reactivity**: Proxy-based property access tracking with `reactive()`, `effect()`, `memoize()`, `project()`, and `scan()`
167
167
  - **Deep Watching**: Automatic tracking of nested object changes with `deepWatch()`
168
168
  - **Reactive Collections**: Specialized reactive versions of Array, Map, Set, WeakMap, and WeakSet
169
169
  - **Class Reactivity**: `@reactive` decorator and `ReactiveBase` for class-based reactivity
@@ -171,6 +171,7 @@ A comprehensive reactivity system. See the **[Introduction](./docs/reactive/core
171
171
  - **Back-Reference System**: Efficient change propagation through object hierarchies
172
172
  - **Type Safety**: Full TypeScript support with proper type inference
173
173
  - **Performance Optimized**: Lazy back-reference creation and efficient dependency tracking
174
+ - **Debugging & Development**: Built-in tools like cycle detection and memoization discrepancy check
174
175
 
175
176
  **Use Cases:**
176
177
  - State management systems
@@ -0,0 +1,2 @@
1
+
2
+ export { };
@@ -0,0 +1,70 @@
1
+ import { a as asyncHooks } from './chunks/index-CNR6QRUl.esm.js';
2
+ export { A as AZone, b as ArrayReadForward, D as DecoratorError, c as Destroyable, d as DestructionError, E as Eventful, F as FoolProof, I as Indexable, e as IterableWeakMap, f as IterableWeakSet, R as ReactiveBase, g as ReactiveError, h as ReactiveErrorCode, i as Register, Z as Zone, j as ZoneAggregator, k as ZoneHistory, l as addBatchCleanup, m as allocated, n as allocatedValues, o as arrayEquals, p as asyncZone, q as atomic, r as biDi, s as buildReactivityGraph, t as cache, u as cached, v as callOnGC, w as chainPromise, x as cleanedBy, y as cleanup, z as contentRef, B as debounce, C as decorator, G as deepCompare, H as deepWatch, J as defer, K as deprecated, L as derived, M as describe, N as destructor, O as effect, P as enableDevTools, Q as forwardArray, S as getActivationLog, T as getActiveProjection, U as getAt, V as getState, W as immutables, X as isCached, Y as isConstructor, _ as isDevtoolsEnabled, $ as isNonReactive, a0 as isOwnAccessor, a1 as isReactive, a2 as legacyDecorator, a3 as memoize, a4 as mixin, a5 as modernDecorator, a6 as named, a7 as organize, a8 as organized, a9 as profileInfo, aa as project, ab as reactive, ac as reactiveOptions, ad as register, ae as registerEffectForDebug, af as registerNativeReactivity, ag as registerObjectForDebug, ah as renamed, ai as root, aj as scan, ak as setAt, al as setEffectName, am as setObjectName, an as tag, ao as throttle, ap as touched, aq as touched1, ar as trackEffect, as as unreactive, at as untracked, au as unwrap, av as watch, aw as zip } from './chunks/index-CNR6QRUl.esm.js';
3
+
4
+ const hooks = new Set();
5
+ asyncHooks.addHook = function (hook) {
6
+ hooks.add(hook);
7
+ return () => {
8
+ hooks.delete(hook);
9
+ };
10
+ };
11
+ function wrap(fn) {
12
+ if (typeof fn !== 'function')
13
+ return fn;
14
+ const restorers = new Set();
15
+ for (const hook of hooks)
16
+ restorers.add(hook());
17
+ return function (...args) {
18
+ const undoers = new Set();
19
+ for (const restore of restorers)
20
+ undoers.add(restore());
21
+ try {
22
+ return fn.apply(this, args);
23
+ }
24
+ finally {
25
+ for (const undo of undoers)
26
+ undo();
27
+ }
28
+ };
29
+ }
30
+ const originals = {
31
+ then: Promise.prototype.then,
32
+ catch: Promise.prototype.catch,
33
+ finally: Promise.prototype.finally,
34
+ setTimeout: globalThis.setTimeout,
35
+ setInterval: globalThis.setInterval,
36
+ setImmediate: globalThis.setImmediate,
37
+ requestAnimationFrame: globalThis.requestAnimationFrame,
38
+ queueMicrotask: globalThis.queueMicrotask,
39
+ };
40
+ Promise.prototype.then = function (onFulfilled, onRejected) {
41
+ return originals.then.call(this, wrap(onFulfilled), wrap(onRejected));
42
+ };
43
+ Promise.prototype.catch = function (onRejected) {
44
+ return originals.catch.call(this, wrap(onRejected));
45
+ };
46
+ Promise.prototype.finally = function (onFinally) {
47
+ return originals.finally.call(this, wrap(onFinally));
48
+ };
49
+ globalThis.setTimeout = ((callback, ...args) => {
50
+ return originals.setTimeout.call(globalThis, wrap(callback), ...args);
51
+ });
52
+ globalThis.setInterval = ((callback, ...args) => {
53
+ return originals.setInterval.call(globalThis, wrap(callback), ...args);
54
+ });
55
+ if (originals.setImmediate) {
56
+ globalThis.setImmediate = ((callback, ...args) => {
57
+ return originals.setImmediate.call(globalThis, wrap(callback), ...args);
58
+ });
59
+ }
60
+ if (originals.requestAnimationFrame) {
61
+ globalThis.requestAnimationFrame = (callback) => {
62
+ return originals.requestAnimationFrame.call(globalThis, wrap(callback));
63
+ };
64
+ }
65
+ if (originals.queueMicrotask) {
66
+ globalThis.queueMicrotask = (callback) => {
67
+ originals.queueMicrotask.call(globalThis, wrap(callback));
68
+ };
69
+ }
70
+ //# sourceMappingURL=browser.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.esm.js","sources":["../src/async/browser.ts"],"sourcesContent":["import { Hook, Restorer, asyncHooks } from '.'\n\nconst hooks = new Set<Hook>()\n\nasyncHooks.addHook = function (hook: Hook) {\n\thooks.add(hook)\n\treturn () => {\n\t\thooks.delete(hook)\n\t}\n}\n\nexport * from '../index'\n\nfunction wrap<Args extends any[], R>(fn: ((...args: Args) => R) | null | undefined) {\n\tif (typeof fn !== 'function') return fn\n\tconst restorers = new Set<Restorer>()\n\tfor (const hook of hooks) restorers.add(hook())\n\n\treturn function (this: any, ...args: Args) {\n\t\tconst undoers = new Set<() => void>()\n\t\tfor (const restore of restorers) undoers.add(restore())\n\t\ttry {\n\t\t\treturn fn.apply(this, args)\n\t\t} finally {\n\t\t\tfor (const undo of undoers) undo()\n\t\t}\n\t}\n}\n\nconst originals = {\n\tthen: Promise.prototype.then,\n\tcatch: Promise.prototype.catch,\n\tfinally: Promise.prototype.finally,\n\tsetTimeout: globalThis.setTimeout,\n\tsetInterval: globalThis.setInterval,\n\tsetImmediate: globalThis.setImmediate,\n\trequestAnimationFrame: globalThis.requestAnimationFrame,\n\tqueueMicrotask: globalThis.queueMicrotask,\n}\n\nPromise.prototype.then = function <T, R1, R2>(\n\tthis: Promise<T>,\n\tonFulfilled?: ((value: T) => R1 | PromiseLike<R1>) | null,\n\tonRejected?: ((reason: any) => R2 | PromiseLike<R2>) | null\n): Promise<R1 | R2> {\n\treturn originals.then.call(this, wrap(onFulfilled), wrap(onRejected))\n}\n\nPromise.prototype.catch = function <T>(\n\tthis: Promise<T>,\n\tonRejected?: ((reason: any) => T | PromiseLike<T>) | null\n): Promise<T> {\n\treturn originals.catch.call(this, wrap(onRejected))\n}\n\nPromise.prototype.finally = function <T>(\n\tthis: Promise<T>,\n\tonFinally?: (() => void) | null\n): Promise<T> {\n\treturn originals.finally.call(this, wrap(onFinally))\n}\n\nglobalThis.setTimeout = ((callback: Function, ...args: any[]) => {\n\treturn originals.setTimeout.call(globalThis, wrap(callback as any), ...args)\n}) as any\n\nglobalThis.setInterval = ((callback: Function, ...args: any[]) => {\n\treturn originals.setInterval.call(globalThis, wrap(callback as any), ...args)\n}) as any\n\nif (originals.setImmediate) {\n\tglobalThis.setImmediate = ((callback: Function, ...args: any[]) => {\n\t\treturn originals.setImmediate.call(globalThis, wrap(callback as any), ...args)\n\t}) as any\n}\n\nif (originals.requestAnimationFrame) {\n\tglobalThis.requestAnimationFrame = (callback: FrameRequestCallback) => {\n\t\treturn originals.requestAnimationFrame.call(globalThis, wrap(callback))\n\t}\n}\n\nif (originals.queueMicrotask) {\n\tglobalThis.queueMicrotask = (callback: VoidFunction): void => {\n\t\toriginals.queueMicrotask.call(globalThis, wrap(callback))\n\t}\n}"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ 'use strict';
2
+
3
+ var index = require('./chunks/index-BFYK02LG.js');
4
+
5
+ const hooks = new Set();
6
+ index.asyncHooks.addHook = function (hook) {
7
+ hooks.add(hook);
8
+ return () => {
9
+ hooks.delete(hook);
10
+ };
11
+ };
12
+ function wrap(fn) {
13
+ if (typeof fn !== 'function')
14
+ return fn;
15
+ const restorers = new Set();
16
+ for (const hook of hooks)
17
+ restorers.add(hook());
18
+ return function (...args) {
19
+ const undoers = new Set();
20
+ for (const restore of restorers)
21
+ undoers.add(restore());
22
+ try {
23
+ return fn.apply(this, args);
24
+ }
25
+ finally {
26
+ for (const undo of undoers)
27
+ undo();
28
+ }
29
+ };
30
+ }
31
+ const originals = {
32
+ then: Promise.prototype.then,
33
+ catch: Promise.prototype.catch,
34
+ finally: Promise.prototype.finally,
35
+ setTimeout: globalThis.setTimeout,
36
+ setInterval: globalThis.setInterval,
37
+ setImmediate: globalThis.setImmediate,
38
+ requestAnimationFrame: globalThis.requestAnimationFrame,
39
+ queueMicrotask: globalThis.queueMicrotask,
40
+ };
41
+ Promise.prototype.then = function (onFulfilled, onRejected) {
42
+ return originals.then.call(this, wrap(onFulfilled), wrap(onRejected));
43
+ };
44
+ Promise.prototype.catch = function (onRejected) {
45
+ return originals.catch.call(this, wrap(onRejected));
46
+ };
47
+ Promise.prototype.finally = function (onFinally) {
48
+ return originals.finally.call(this, wrap(onFinally));
49
+ };
50
+ globalThis.setTimeout = ((callback, ...args) => {
51
+ return originals.setTimeout.call(globalThis, wrap(callback), ...args);
52
+ });
53
+ globalThis.setInterval = ((callback, ...args) => {
54
+ return originals.setInterval.call(globalThis, wrap(callback), ...args);
55
+ });
56
+ if (originals.setImmediate) {
57
+ globalThis.setImmediate = ((callback, ...args) => {
58
+ return originals.setImmediate.call(globalThis, wrap(callback), ...args);
59
+ });
60
+ }
61
+ if (originals.requestAnimationFrame) {
62
+ globalThis.requestAnimationFrame = (callback) => {
63
+ return originals.requestAnimationFrame.call(globalThis, wrap(callback));
64
+ };
65
+ }
66
+ if (originals.queueMicrotask) {
67
+ globalThis.queueMicrotask = (callback) => {
68
+ originals.queueMicrotask.call(globalThis, wrap(callback));
69
+ };
70
+ }
71
+
72
+ exports.AZone = index.AZone;
73
+ exports.ArrayReadForward = index.ArrayReadForward;
74
+ exports.DecoratorError = index.DecoratorError;
75
+ exports.Destroyable = index.Destroyable;
76
+ exports.DestructionError = index.DestructionError;
77
+ exports.Eventful = index.Eventful;
78
+ exports.FoolProof = index.FoolProof;
79
+ exports.Indexable = index.Indexable;
80
+ exports.IterableWeakMap = index.IterableWeakMap;
81
+ exports.IterableWeakSet = index.IterableWeakSet;
82
+ exports.ReactiveBase = index.ReactiveBase;
83
+ exports.ReactiveError = index.ReactiveError;
84
+ Object.defineProperty(exports, "ReactiveErrorCode", {
85
+ enumerable: true,
86
+ get: function () { return index.ReactiveErrorCode; }
87
+ });
88
+ exports.Register = index.Register;
89
+ exports.Zone = index.Zone;
90
+ exports.ZoneAggregator = index.ZoneAggregator;
91
+ exports.ZoneHistory = index.ZoneHistory;
92
+ exports.addBatchCleanup = index.addBatchCleanup;
93
+ exports.allocated = index.allocated;
94
+ exports.allocatedValues = index.allocatedValues;
95
+ exports.arrayEquals = index.arrayEquals;
96
+ exports.asyncZone = index.asyncZone;
97
+ exports.atomic = index.atomic;
98
+ exports.biDi = index.biDi;
99
+ exports.buildReactivityGraph = index.buildReactivityGraph;
100
+ exports.cache = index.cache;
101
+ exports.cached = index.cached;
102
+ exports.callOnGC = index.callOnGC;
103
+ exports.chainPromise = index.chainPromise;
104
+ exports.cleanedBy = index.cleanedBy;
105
+ exports.cleanup = index.cleanup;
106
+ exports.contentRef = index.contentRef;
107
+ exports.debounce = index.debounce;
108
+ exports.decorator = index.decorator;
109
+ exports.deepCompare = index.deepCompare;
110
+ exports.deepWatch = index.deepWatch;
111
+ exports.defer = index.defer;
112
+ exports.deprecated = index.deprecated;
113
+ exports.derived = index.derived;
114
+ exports.describe = index.describe;
115
+ exports.destructor = index.destructor;
116
+ exports.effect = index.effect;
117
+ exports.enableDevTools = index.enableDevTools;
118
+ exports.forwardArray = index.forwardArray;
119
+ exports.getActivationLog = index.getActivationLog;
120
+ exports.getActiveProjection = index.getActiveProjection;
121
+ exports.getAt = index.getAt;
122
+ exports.getState = index.getState;
123
+ exports.immutables = index.immutables;
124
+ exports.isCached = index.isCached;
125
+ exports.isConstructor = index.isConstructor;
126
+ exports.isDevtoolsEnabled = index.isDevtoolsEnabled;
127
+ exports.isNonReactive = index.isNonReactive;
128
+ exports.isOwnAccessor = index.isOwnAccessor;
129
+ exports.isReactive = index.isReactive;
130
+ exports.legacyDecorator = index.legacyDecorator;
131
+ exports.memoize = index.memoize;
132
+ exports.mixin = index.mixin;
133
+ exports.modernDecorator = index.modernDecorator;
134
+ exports.named = index.named;
135
+ exports.organize = index.organize;
136
+ exports.organized = index.organized;
137
+ exports.profileInfo = index.profileInfo;
138
+ exports.project = index.project;
139
+ exports.reactive = index.reactive;
140
+ exports.reactiveOptions = index.options;
141
+ exports.register = index.register;
142
+ exports.registerEffectForDebug = index.registerEffectForDebug;
143
+ exports.registerNativeReactivity = index.registerNativeReactivity;
144
+ exports.registerObjectForDebug = index.registerObjectForDebug;
145
+ exports.renamed = index.renamed;
146
+ exports.root = index.root;
147
+ exports.scan = index.scan;
148
+ exports.setAt = index.setAt;
149
+ exports.setEffectName = index.setEffectName;
150
+ exports.setObjectName = index.setObjectName;
151
+ exports.tag = index.tag;
152
+ exports.throttle = index.throttle;
153
+ exports.touched = index.touched;
154
+ exports.touched1 = index.touched1;
155
+ exports.trackEffect = index.trackEffect;
156
+ exports.unreactive = index.unreactive;
157
+ exports.untracked = index.untracked;
158
+ exports.unwrap = index.unwrap;
159
+ exports.watch = index.watch;
160
+ exports.zip = index.zip;
161
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sources":["../src/async/browser.ts"],"sourcesContent":["import { Hook, Restorer, asyncHooks } from '.'\n\nconst hooks = new Set<Hook>()\n\nasyncHooks.addHook = function (hook: Hook) {\n\thooks.add(hook)\n\treturn () => {\n\t\thooks.delete(hook)\n\t}\n}\n\nexport * from '../index'\n\nfunction wrap<Args extends any[], R>(fn: ((...args: Args) => R) | null | undefined) {\n\tif (typeof fn !== 'function') return fn\n\tconst restorers = new Set<Restorer>()\n\tfor (const hook of hooks) restorers.add(hook())\n\n\treturn function (this: any, ...args: Args) {\n\t\tconst undoers = new Set<() => void>()\n\t\tfor (const restore of restorers) undoers.add(restore())\n\t\ttry {\n\t\t\treturn fn.apply(this, args)\n\t\t} finally {\n\t\t\tfor (const undo of undoers) undo()\n\t\t}\n\t}\n}\n\nconst originals = {\n\tthen: Promise.prototype.then,\n\tcatch: Promise.prototype.catch,\n\tfinally: Promise.prototype.finally,\n\tsetTimeout: globalThis.setTimeout,\n\tsetInterval: globalThis.setInterval,\n\tsetImmediate: globalThis.setImmediate,\n\trequestAnimationFrame: globalThis.requestAnimationFrame,\n\tqueueMicrotask: globalThis.queueMicrotask,\n}\n\nPromise.prototype.then = function <T, R1, R2>(\n\tthis: Promise<T>,\n\tonFulfilled?: ((value: T) => R1 | PromiseLike<R1>) | null,\n\tonRejected?: ((reason: any) => R2 | PromiseLike<R2>) | null\n): Promise<R1 | R2> {\n\treturn originals.then.call(this, wrap(onFulfilled), wrap(onRejected))\n}\n\nPromise.prototype.catch = function <T>(\n\tthis: Promise<T>,\n\tonRejected?: ((reason: any) => T | PromiseLike<T>) | null\n): Promise<T> {\n\treturn originals.catch.call(this, wrap(onRejected))\n}\n\nPromise.prototype.finally = function <T>(\n\tthis: Promise<T>,\n\tonFinally?: (() => void) | null\n): Promise<T> {\n\treturn originals.finally.call(this, wrap(onFinally))\n}\n\nglobalThis.setTimeout = ((callback: Function, ...args: any[]) => {\n\treturn originals.setTimeout.call(globalThis, wrap(callback as any), ...args)\n}) as any\n\nglobalThis.setInterval = ((callback: Function, ...args: any[]) => {\n\treturn originals.setInterval.call(globalThis, wrap(callback as any), ...args)\n}) as any\n\nif (originals.setImmediate) {\n\tglobalThis.setImmediate = ((callback: Function, ...args: any[]) => {\n\t\treturn originals.setImmediate.call(globalThis, wrap(callback as any), ...args)\n\t}) as any\n}\n\nif (originals.requestAnimationFrame) {\n\tglobalThis.requestAnimationFrame = (callback: FrameRequestCallback) => {\n\t\treturn originals.requestAnimationFrame.call(globalThis, wrap(callback))\n\t}\n}\n\nif (originals.queueMicrotask) {\n\tglobalThis.queueMicrotask = (callback: VoidFunction): void => {\n\t\toriginals.queueMicrotask.call(globalThis, wrap(callback))\n\t}\n}"],"names":["asyncHooks"],"mappings":"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"}