signalium 1.0.2 → 1.1.1

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 (138) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/CHANGELOG.md +18 -0
  3. package/dist/cjs/config.d.ts +2 -2
  4. package/dist/cjs/config.d.ts.map +1 -1
  5. package/dist/cjs/config.js.map +1 -1
  6. package/dist/cjs/hooks.d.ts.map +1 -1
  7. package/dist/cjs/hooks.js +14 -2
  8. package/dist/cjs/hooks.js.map +1 -1
  9. package/dist/cjs/index.d.ts +1 -1
  10. package/dist/cjs/index.d.ts.map +1 -1
  11. package/dist/cjs/index.js +2 -1
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/internals/async.d.ts +1 -1
  14. package/dist/cjs/internals/async.d.ts.map +1 -1
  15. package/dist/cjs/internals/async.js +20 -15
  16. package/dist/cjs/internals/async.js.map +1 -1
  17. package/dist/cjs/internals/connect.d.ts.map +1 -1
  18. package/dist/cjs/internals/connect.js +6 -0
  19. package/dist/cjs/internals/connect.js.map +1 -1
  20. package/dist/cjs/internals/contexts.d.ts +9 -2
  21. package/dist/cjs/internals/contexts.d.ts.map +1 -1
  22. package/dist/cjs/internals/contexts.js +37 -3
  23. package/dist/cjs/internals/contexts.js.map +1 -1
  24. package/dist/cjs/internals/derived.d.ts +15 -5
  25. package/dist/cjs/internals/derived.d.ts.map +1 -1
  26. package/dist/cjs/internals/derived.js +11 -11
  27. package/dist/cjs/internals/derived.js.map +1 -1
  28. package/dist/cjs/internals/get.js +2 -2
  29. package/dist/cjs/internals/get.js.map +1 -1
  30. package/dist/cjs/internals/scheduling.d.ts +2 -0
  31. package/dist/cjs/internals/scheduling.d.ts.map +1 -1
  32. package/dist/cjs/internals/scheduling.js +16 -1
  33. package/dist/cjs/internals/scheduling.js.map +1 -1
  34. package/dist/cjs/internals/state.d.ts +2 -2
  35. package/dist/cjs/internals/state.d.ts.map +1 -1
  36. package/dist/cjs/internals/utils/equals.d.ts +2 -0
  37. package/dist/cjs/internals/utils/equals.d.ts.map +1 -1
  38. package/dist/cjs/internals/utils/equals.js +5 -3
  39. package/dist/cjs/internals/utils/equals.js.map +1 -1
  40. package/dist/cjs/react/context.d.ts.map +1 -1
  41. package/dist/cjs/react/context.js +5 -0
  42. package/dist/cjs/react/context.js.map +1 -1
  43. package/dist/cjs/react/provider.d.ts +2 -3
  44. package/dist/cjs/react/provider.d.ts.map +1 -1
  45. package/dist/cjs/react/provider.js +2 -6
  46. package/dist/cjs/react/provider.js.map +1 -1
  47. package/dist/cjs/react/rendering.d.ts +2 -0
  48. package/dist/cjs/react/rendering.d.ts.map +1 -0
  49. package/dist/cjs/react/rendering.js +25 -0
  50. package/dist/cjs/react/rendering.js.map +1 -0
  51. package/dist/cjs/react/signal-value.d.ts +1 -1
  52. package/dist/cjs/react/signal-value.d.ts.map +1 -1
  53. package/dist/cjs/react/signal-value.js +4 -53
  54. package/dist/cjs/react/signal-value.js.map +1 -1
  55. package/dist/cjs/react/state.d.ts +2 -2
  56. package/dist/cjs/react/state.d.ts.map +1 -1
  57. package/dist/cjs/react/state.js.map +1 -1
  58. package/dist/cjs/types.d.ts +13 -1
  59. package/dist/cjs/types.d.ts.map +1 -1
  60. package/dist/esm/config.d.ts +2 -2
  61. package/dist/esm/config.d.ts.map +1 -1
  62. package/dist/esm/config.js.map +1 -1
  63. package/dist/esm/hooks.d.ts.map +1 -1
  64. package/dist/esm/hooks.js +14 -2
  65. package/dist/esm/hooks.js.map +1 -1
  66. package/dist/esm/index.d.ts +1 -1
  67. package/dist/esm/index.d.ts.map +1 -1
  68. package/dist/esm/index.js +1 -1
  69. package/dist/esm/index.js.map +1 -1
  70. package/dist/esm/internals/async.d.ts +1 -1
  71. package/dist/esm/internals/async.d.ts.map +1 -1
  72. package/dist/esm/internals/async.js +21 -16
  73. package/dist/esm/internals/async.js.map +1 -1
  74. package/dist/esm/internals/connect.d.ts.map +1 -1
  75. package/dist/esm/internals/connect.js +6 -0
  76. package/dist/esm/internals/connect.js.map +1 -1
  77. package/dist/esm/internals/contexts.d.ts +9 -2
  78. package/dist/esm/internals/contexts.d.ts.map +1 -1
  79. package/dist/esm/internals/contexts.js +35 -3
  80. package/dist/esm/internals/contexts.js.map +1 -1
  81. package/dist/esm/internals/derived.d.ts +15 -5
  82. package/dist/esm/internals/derived.d.ts.map +1 -1
  83. package/dist/esm/internals/derived.js +11 -11
  84. package/dist/esm/internals/derived.js.map +1 -1
  85. package/dist/esm/internals/get.js +2 -2
  86. package/dist/esm/internals/get.js.map +1 -1
  87. package/dist/esm/internals/scheduling.d.ts +2 -0
  88. package/dist/esm/internals/scheduling.d.ts.map +1 -1
  89. package/dist/esm/internals/scheduling.js +14 -0
  90. package/dist/esm/internals/scheduling.js.map +1 -1
  91. package/dist/esm/internals/state.d.ts +2 -2
  92. package/dist/esm/internals/state.d.ts.map +1 -1
  93. package/dist/esm/internals/utils/equals.d.ts +2 -0
  94. package/dist/esm/internals/utils/equals.d.ts.map +1 -1
  95. package/dist/esm/internals/utils/equals.js +2 -2
  96. package/dist/esm/internals/utils/equals.js.map +1 -1
  97. package/dist/esm/react/context.d.ts.map +1 -1
  98. package/dist/esm/react/context.js +5 -0
  99. package/dist/esm/react/context.js.map +1 -1
  100. package/dist/esm/react/provider.d.ts +2 -3
  101. package/dist/esm/react/provider.d.ts.map +1 -1
  102. package/dist/esm/react/provider.js +3 -7
  103. package/dist/esm/react/provider.js.map +1 -1
  104. package/dist/esm/react/rendering.d.ts +2 -0
  105. package/dist/esm/react/rendering.d.ts.map +1 -0
  106. package/dist/esm/react/rendering.js +19 -0
  107. package/dist/esm/react/rendering.js.map +1 -0
  108. package/dist/esm/react/signal-value.d.ts +1 -1
  109. package/dist/esm/react/signal-value.d.ts.map +1 -1
  110. package/dist/esm/react/signal-value.js +2 -18
  111. package/dist/esm/react/signal-value.js.map +1 -1
  112. package/dist/esm/react/state.d.ts +2 -2
  113. package/dist/esm/react/state.d.ts.map +1 -1
  114. package/dist/esm/react/state.js.map +1 -1
  115. package/dist/esm/types.d.ts +13 -1
  116. package/dist/esm/types.d.ts.map +1 -1
  117. package/package.json +1 -1
  118. package/src/__tests__/context.test.ts +103 -1
  119. package/src/__tests__/gc.test.ts +256 -0
  120. package/src/__tests__/utils/instrumented-hooks.ts +8 -11
  121. package/src/config.ts +5 -3
  122. package/src/hooks.ts +17 -3
  123. package/src/index.ts +8 -1
  124. package/src/internals/async.ts +13 -8
  125. package/src/internals/connect.ts +8 -0
  126. package/src/internals/contexts.ts +45 -5
  127. package/src/internals/derived.ts +25 -16
  128. package/src/internals/get.ts +2 -2
  129. package/src/internals/scheduling.ts +20 -0
  130. package/src/internals/state.ts +3 -3
  131. package/src/internals/utils/equals.ts +2 -2
  132. package/src/react/__tests__/contexts.test.tsx +84 -2
  133. package/src/react/context.ts +6 -0
  134. package/src/react/provider.tsx +4 -12
  135. package/src/react/rendering.ts +25 -0
  136. package/src/react/signal-value.ts +3 -26
  137. package/src/react/state.ts +3 -3
  138. package/src/types.ts +15 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEjG,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5G,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEjG,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACZ,eAAe,EACf,WAAW,EACX,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { state, reactive, subscription, task, watcher } from './hooks.js';
2
2
  export { isReactivePromise, isReactiveTask, isReactiveSubscription } from './internals/async.js';
3
3
  export { callback } from './internals/get.js';
4
- export { createContext, useContext, withContexts, SignalScope, CONTEXT_KEY } from './internals/contexts.js';
4
+ export { createContext, useContext, withContexts, setRootContexts, SignalScope, CONTEXT_KEY, } from './internals/contexts.js';
5
5
  export { setConfig } from './config.js';
6
6
  export { hashValue, registerCustomHash } from './internals/utils/hash.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEjG,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5G,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEjG,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACZ,eAAe,EACf,WAAW,EACX,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -14,7 +14,7 @@ export declare class ReactivePromise<T, Args extends unknown[] = unknown[]> impl
14
14
  _awaitSubs: Map<WeakRef<DerivedSignal<unknown, unknown[]>>, PromiseEdge>;
15
15
  private _version;
16
16
  private _boundRun;
17
- static createPromise<T>(promise: Promise<T>, signal?: DerivedSignal<T, unknown[]>, initValue?: T | undefined): ReactivePromise<unknown, unknown[]>;
17
+ static createPromise<T>(promise: Promise<T>, signal?: DerivedSignal<T, unknown[]>, initValue?: T | undefined): ReactivePromise<T, unknown[]>;
18
18
  static createSubscription<T>(subscribe: SignalSubscribe<T>, scope: SignalScope, opts?: Partial<SignalOptionsWithInit<T, unknown[]>>): ReactivePromise<T, unknown[]>;
19
19
  static createTask<T, Args extends unknown[]>(task: (...args: Args) => Promise<T>, scope: SignalScope, opts?: Partial<SignalOptionsWithInit<T, Args>>): ReactiveTask<T, Args>;
20
20
  private _initFlags;
@@ -1 +1 @@
1
- {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../src/internals/async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../src/internals/async.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { createEdge, findAndRemoveDirty } from './edge.js';
6
6
  import { withScope } from './contexts.js';
7
7
  import { createStateSignal } from './state.js';
8
8
  import { isGeneratorResult, isPromise } from './utils/type-utils.js';
9
- import { equalsFrom } from './utils/equals.js';
9
+ import { DEFAULT_EQUALS, equalsFrom } from './utils/equals.js';
10
10
  export class ReactivePromise {
11
11
  _value = undefined;
12
12
  _error = undefined;
@@ -26,7 +26,7 @@ export class ReactivePromise {
26
26
  static createPromise(promise, signal, initValue) {
27
27
  const p = new ReactivePromise();
28
28
  p._signal = signal;
29
- p._equals = signal?.equals ?? ((a, b) => a === b);
29
+ p._equals = signal?.def.equals ?? DEFAULT_EQUALS;
30
30
  p._initFlags(1 /* AsyncFlags.Pending */, initValue);
31
31
  if (promise) {
32
32
  p._setPromise(promise);
@@ -67,20 +67,25 @@ export class ReactivePromise {
67
67
  p._setError(error);
68
68
  },
69
69
  };
70
- p._signal = createDerivedSignal(() => {
71
- if (active === false) {
72
- currentSub = subscribe(state);
73
- active = true;
74
- }
75
- else if (typeof currentSub === 'function' || currentSub === undefined) {
76
- currentSub?.();
77
- currentSub = subscribe(state);
78
- }
79
- else {
80
- currentSub.update?.();
81
- }
82
- return unsubscribe;
83
- }, [], undefined, scope, opts, true);
70
+ const def = {
71
+ compute: () => {
72
+ if (active === false) {
73
+ currentSub = subscribe(state);
74
+ active = true;
75
+ }
76
+ else if (typeof currentSub === 'function' || currentSub === undefined) {
77
+ currentSub?.();
78
+ currentSub = subscribe(state);
79
+ }
80
+ else {
81
+ currentSub.update?.();
82
+ }
83
+ return unsubscribe;
84
+ },
85
+ equals: DEFAULT_EQUALS,
86
+ isSubscription: true,
87
+ };
88
+ p._signal = createDerivedSignal(def, [], undefined, scope, opts);
84
89
  p._equals = equalsFrom(opts?.equals);
85
90
  p._initFlags(128 /* AsyncFlags.isSubscription */ | 1 /* AsyncFlags.Pending */, initValue);
86
91
  return p;
@@ -1 +1 @@
1
- {"version":3,"file":"async.js","sourceRoot":"","sources":["../../../src/internals/async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async.js","sourceRoot":"","sources":["../../../src/internals/async.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/internals/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,cAAc,CAAC;AAG7D,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAiBjE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,SAAI,QAkBvE"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/internals/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,cAAc,CAAC;AAG7D,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAoBjE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,SAAI,QAuBvE"}
@@ -7,6 +7,8 @@ export function watchSignal(signal) {
7
7
  // If > 0, already watching, return
8
8
  if (watchCount > 0)
9
9
  return;
10
+ // If signal is being watched again, remove from GC candidates
11
+ signal.scope?.removeFromGc(signal);
10
12
  for (const dep of signal.deps.keys()) {
11
13
  watchSignal(dep);
12
14
  }
@@ -29,5 +31,9 @@ export function unwatchSignal(signal, count = 1) {
29
31
  // teardown the subscription
30
32
  signal.value?.();
31
33
  }
34
+ // If watchCount is now zero, mark the signal for GC
35
+ if (newWatchCount === 0 && signal.scope) {
36
+ signal.scope.markForGc(signal);
37
+ }
32
38
  }
33
39
  //# sourceMappingURL=connect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/internals/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,UAAU,WAAW,CAAC,MAA+B;IACzD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,aAAa,GAAG,UAAU,GAAG,CAAC,CAAC;IAErC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC;IAElC,mCAAmC;IACnC,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO;IAE3B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,6BAA6B;QAC7B,WAAW,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAA+B,EAAE,KAAK,GAAG,CAAC;IACtE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IAEtD,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC;IAElC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,aAAa,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,4BAA4B;QAC5B,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/internals/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,UAAU,WAAW,CAAC,MAA+B;IACzD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,aAAa,GAAG,UAAU,GAAG,CAAC,CAAC;IAErC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC;IAElC,mCAAmC;IACnC,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO;IAE3B,8DAA8D;IAC9D,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAEnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,6BAA6B;QAC7B,WAAW,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAA+B,EAAE,KAAK,GAAG,CAAC;IACtE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IAEtD,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC;IAElC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,aAAa,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,4BAA4B;QAC5B,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACnB,CAAC;IAED,oDAAoD;IACpD,IAAI,aAAa,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { SignalOptionsWithInit } from '../types.js';
2
- import { DerivedSignal } from './derived.js';
2
+ import { DerivedSignal, DerivedSignalDefinition } from './derived.js';
3
3
  export declare const CONTEXT_KEY: unique symbol;
4
4
  export type Context<T> = {
5
5
  defaultValue: T;
@@ -20,14 +20,21 @@ export declare class SignalScope {
20
20
  private contexts;
21
21
  private children;
22
22
  private signals;
23
+ private gcCandidates;
23
24
  getChild(contexts: [ContextImpl<unknown>, unknown][]): SignalScope;
24
25
  getContext<T>(_context: Context<T>): T | undefined;
25
- get<T, Args extends unknown[]>(fn: (...args: Args) => T, args: Args, opts?: Partial<SignalOptionsWithInit<T, Args>>): DerivedSignal<T, Args>;
26
+ get<T, Args extends unknown[]>(def: DerivedSignalDefinition<T, Args>, args: Args, opts?: Partial<SignalOptionsWithInit<T, Args>>): DerivedSignal<T, Args>;
27
+ markForGc(signal: DerivedSignal<any, any>): void;
28
+ removeFromGc(signal: DerivedSignal<any, any>): void;
29
+ forceGc(signal: DerivedSignal<any, any>): void;
30
+ sweepGc(): void;
26
31
  }
27
32
  export declare let ROOT_SCOPE: SignalScope;
33
+ export declare function setRootContexts<C extends unknown[], U>(contexts: [...ContextPair<C>]): void;
28
34
  export declare const clearRootScope: () => void;
29
35
  export declare const getCurrentScope: () => SignalScope;
30
36
  export declare function withContexts<C extends unknown[], U>(contexts: [...ContextPair<C>], fn: () => U): U;
31
37
  export declare const withScope: <T>(scope: SignalScope, fn: () => T) => T;
32
38
  export declare const useContext: <T>(context: Context<T>) => T;
39
+ export declare function forceGc(_signal: object): void;
33
40
  //# sourceMappingURL=contexts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../../src/internals/contexts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAuB,MAAM,cAAc,CAAC;AAIlE,eAAO,MAAM,WAAW,eAA8B,CAAC;AAEvD,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,YAAY,EAAE,CAAC,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI;KAC5C,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAIF,qBAAa,WAAW,CAAC,CAAC;aAKN,YAAY,EAAE,CAAC;IAJjC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;gBAGH,YAAY,EAAE,CAAC,EAC/B,IAAI,CAAC,EAAE,MAAM;CAKhB;AAED,eAAO,MAAM,aAAa,GAAI,CAAC,gBAAgB,CAAC,gBAAgB,MAAM,KAAG,OAAO,CAAC,CAAC,CAEjF,CAAC;AAEF,qBAAa,WAAW;gBACV,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW;IAS7E,OAAO,CAAC,WAAW,CAAC,CAA0B;IAC9C,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,OAAO,CAAgD;IAE/D,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE;IAapD,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAMlD,GAAG,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAC3B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EACxB,IAAI,EAAE,IAAI,EACV,IAAI,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAC7C,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC;CAY1B;AAED,eAAO,IAAI,UAAU,aAAsB,CAAC;AAE5C,eAAO,MAAM,cAAc,YAE1B,CAAC;AAIF,eAAO,MAAM,eAAe,QAAO,WAElC,CAAC;AAEF,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAUlG;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,WAAW,MAAM,MAAM,CAAC,MAS3D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,KAAG,CAUnD,CAAC"}
1
+ {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../../src/internals/contexts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAuB,MAAM,cAAc,CAAC;AAK3F,eAAO,MAAM,WAAW,eAA8B,CAAC;AAEvD,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,YAAY,EAAE,CAAC,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI;KAC5C,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAIF,qBAAa,WAAW,CAAC,CAAC;aAKN,YAAY,EAAE,CAAC;IAJjC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;gBAGH,YAAY,EAAE,CAAC,EAC/B,IAAI,CAAC,EAAE,MAAM;CAKhB;AAED,eAAO,MAAM,aAAa,GAAI,CAAC,gBAAgB,CAAC,gBAAgB,MAAM,KAAG,OAAO,CAAC,CAAC,CAEjF,CAAC;AAEF,qBAAa,WAAW;gBACV,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW;IAS7E,OAAO,CAAC,WAAW,CAAC,CAA0B;IAC9C,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,YAAY,CAAsC;IAE1D,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE;IAapD,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAMlD,GAAG,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAC3B,GAAG,EAAE,uBAAuB,CAAC,CAAC,EAAE,IAAI,CAAC,EACrC,IAAI,EAAE,IAAI,EACV,IAAI,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAC7C,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC;IAazB,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC;IAOzC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC;IAI5C,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC;IAIvC,OAAO;CAaR;AAED,eAAO,IAAI,UAAU,aAAsB,CAAC;AAE5C,wBAAgB,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAE3F;AAED,eAAO,MAAM,cAAc,YAE1B,CAAC;AAIF,eAAO,MAAM,eAAe,QAAO,WAElC,CAAC;AAEF,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAUlG;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,WAAW,MAAM,MAAM,CAAC,MAS3D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,KAAG,CAUnD,CAAC;AAEF,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,QAGtC"}
@@ -2,6 +2,7 @@ import { getFrameworkScope } from '../config.js';
2
2
  import { createDerivedSignal } from './derived.js';
3
3
  import { CURRENT_CONSUMER } from './get.js';
4
4
  import { hashReactiveFn, hashValue } from './utils/hash.js';
5
+ import { scheduleGcSweep } from './scheduling.js';
5
6
  export const CONTEXT_KEY = Symbol('signalium:context');
6
7
  let CONTEXT_ID = 0;
7
8
  export class ContextImpl {
@@ -29,6 +30,7 @@ export class SignalScope {
29
30
  contexts;
30
31
  children = new Map();
31
32
  signals = new Map();
33
+ gcCandidates = new Set();
32
34
  getChild(contexts) {
33
35
  const key = hashValue(contexts);
34
36
  let child = this.children.get(key);
@@ -42,18 +44,44 @@ export class SignalScope {
42
44
  const context = _context;
43
45
  return this.contexts[context._key];
44
46
  }
45
- get(fn, args, opts) {
47
+ get(def, args, opts) {
46
48
  const paramKey = opts?.paramKey?.(...args);
47
- const key = hashReactiveFn(fn, paramKey ? [paramKey] : args);
49
+ const key = hashReactiveFn(def.compute, paramKey ? [paramKey] : args);
48
50
  let signal = this.signals.get(key);
49
51
  if (signal === undefined) {
50
- signal = createDerivedSignal(fn, args, key, this, opts);
52
+ signal = createDerivedSignal(def, args, key, this, opts);
51
53
  this.signals.set(key, signal);
52
54
  }
53
55
  return signal;
54
56
  }
57
+ markForGc(signal) {
58
+ if (!this.gcCandidates.has(signal)) {
59
+ this.gcCandidates.add(signal);
60
+ scheduleGcSweep(this);
61
+ }
62
+ }
63
+ removeFromGc(signal) {
64
+ this.gcCandidates.delete(signal);
65
+ }
66
+ forceGc(signal) {
67
+ this.signals.delete(signal.key);
68
+ }
69
+ sweepGc() {
70
+ for (const signal of this.gcCandidates) {
71
+ if (signal.watchCount === 0) {
72
+ const { shouldGC } = signal.def;
73
+ if (!shouldGC || shouldGC(signal, signal.value, signal.args)) {
74
+ this.signals.delete(signal.key);
75
+ }
76
+ }
77
+ }
78
+ this.gcCandidates = new Set();
79
+ }
55
80
  }
56
81
  export let ROOT_SCOPE = new SignalScope([]);
82
+ export function setRootContexts(contexts) {
83
+ ROOT_SCOPE = new SignalScope(contexts, ROOT_SCOPE);
84
+ }
57
85
  export const clearRootScope = () => {
58
86
  ROOT_SCOPE = new SignalScope([]);
59
87
  };
@@ -89,4 +117,8 @@ export const useContext = (context) => {
89
117
  }
90
118
  return scope.getContext(context) ?? context.defaultValue;
91
119
  };
120
+ export function forceGc(_signal) {
121
+ const signal = _signal;
122
+ signal.scope?.forceGc(signal);
123
+ }
92
124
  //# sourceMappingURL=contexts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../../src/internals/contexts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contexts.js","sourceRoot":"","sources":["../../../src/internals/contexts.ts"],"names":[],"mappings":"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"}
@@ -29,23 +29,33 @@ interface ListenerMeta {
29
29
  current: Set<SignalListener>;
30
30
  cachedBoundAdd: (listener: SignalListener) => () => void;
31
31
  }
32
+ /**
33
+ * Shared definition for derived signals to reduce memory usage.
34
+ * Contains configuration that's common across all instances of a reactive function.
35
+ */
36
+ export interface DerivedSignalDefinition<T, Args extends unknown[]> {
37
+ compute: (...args: Args) => T;
38
+ equals: SignalEquals<T>;
39
+ shouldGC?: (signal: object, value: T, args: Args) => boolean;
40
+ isSubscription: boolean;
41
+ }
32
42
  export declare class DerivedSignal<T, Args extends unknown[]> implements Signal<ReactiveValue<T>> {
33
43
  private flags;
34
44
  scope: SignalScope | undefined;
35
45
  subs: Map<WeakRef<DerivedSignal<any, any>>, Edge>;
36
46
  deps: Map<DerivedSignal<any, any>, Edge>;
37
47
  ref: WeakRef<DerivedSignal<T, Args>>;
38
- equals: SignalEquals<any>;
39
48
  dirtyHead: Edge | undefined;
40
49
  updatedCount: number;
41
50
  computedCount: number;
42
51
  watchCount: number;
43
52
  _listeners: ListenerMeta | null;
44
- compute: (...args: Args) => T;
53
+ key: SignalId | undefined;
45
54
  args: Args;
46
55
  value: ReactiveValue<T> | undefined;
47
56
  tracerMeta?: TracerMeta;
48
- constructor(isSubscription: boolean, compute: (...args: Args) => T, args: Args, key?: SignalId, scope?: SignalScope, opts?: Partial<SignalOptionsWithInit<T, Args>> & {
57
+ def: DerivedSignalDefinition<T, Args>;
58
+ constructor(definition: DerivedSignalDefinition<T, Args>, args: Args, key?: SignalId, scope?: SignalScope, opts?: Partial<SignalOptionsWithInit<T, Args>> & {
49
59
  tracer?: Tracer;
50
60
  });
51
61
  get _state(): SignalState;
@@ -59,8 +69,8 @@ export declare class DerivedSignal<T, Args extends unknown[]> implements Signal<
59
69
  }
60
70
  export declare const runListeners: (signal: DerivedSignal<any, any>) => void;
61
71
  export declare const isSubscription: (signal: unknown) => boolean;
62
- export declare function createDerivedSignal<T, Args extends unknown[]>(compute: (...args: Args) => T, args?: Args, key?: SignalId, scope?: SignalScope, opts?: Partial<SignalOptionsWithInit<T, Args>> & {
72
+ export declare function createDerivedSignal<T, Args extends unknown[]>(def: DerivedSignalDefinition<T, Args>, args?: Args, key?: SignalId, scope?: SignalScope, opts?: Partial<SignalOptionsWithInit<T, Args>> & {
63
73
  tracer?: Tracer;
64
- }, isSubscription?: boolean): DerivedSignal<T, Args>;
74
+ }): DerivedSignal<T, Args>;
65
75
  export {};
66
76
  //# sourceMappingURL=derived.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"derived.d.ts","sourceRoot":"","sources":["../../../src/internals/derived.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derived.d.ts","sourceRoot":"","sources":["../../../src/internals/derived.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ import { getSignal } from './get.js';
5
5
  import { schedulePull, scheduleUnwatch } from './scheduling.js';
6
6
  import { hashValue } from './utils/hash.js';
7
7
  import { stringifyValue } from './utils/stringify.js';
8
- import { equalsFrom } from './utils/equals.js';
9
8
  let ID = 0;
10
9
  export class DerivedSignal {
11
10
  // Bitmask containing state in the first 2 bits and boolean properties in the remaining bits
@@ -14,27 +13,28 @@ export class DerivedSignal {
14
13
  subs = new Map();
15
14
  deps = new Map();
16
15
  ref = new WeakRef(this);
17
- equals;
18
16
  dirtyHead = undefined;
19
17
  updatedCount = 0;
20
18
  computedCount = 0;
21
19
  watchCount = 0;
22
20
  _listeners = null;
23
- compute;
21
+ key;
24
22
  args;
25
23
  value;
26
24
  tracerMeta;
27
- constructor(isSubscription, compute, args, key, scope, opts) {
28
- this.flags = (isSubscription ? 4 /* SignalFlags.isSubscription */ : 0) | 2 /* SignalState.Dirty */;
25
+ // Reference to the shared definition
26
+ def;
27
+ constructor(definition, args, key, scope, opts) {
28
+ this.flags = (definition.isSubscription ? 4 /* SignalFlags.isSubscription */ : 0) | 2 /* SignalState.Dirty */;
29
29
  this.scope = scope;
30
- this.compute = compute;
30
+ this.key = key;
31
31
  this.args = args;
32
- this.equals = equalsFrom(opts?.equals);
32
+ this.def = definition;
33
33
  this.value = opts?.initValue;
34
34
  if (TRACER) {
35
35
  this.tracerMeta = {
36
- id: opts?.id ?? key ?? hashValue([compute, ID++]),
37
- desc: opts?.desc ?? compute.name ?? getUnknownSignalFnName(compute),
36
+ id: opts?.id ?? key ?? hashValue([definition.compute, ID++]),
37
+ desc: opts?.desc ?? definition.compute.name ?? getUnknownSignalFnName(definition.compute),
38
38
  params: args.map(arg => stringifyValue(arg)).join(', '),
39
39
  tracer: opts?.tracer,
40
40
  };
@@ -112,7 +112,7 @@ export const runListeners = (signal) => {
112
112
  export const isSubscription = (signal) => {
113
113
  return (signal.flags & 4 /* SignalFlags.isSubscription */) !== 0;
114
114
  };
115
- export function createDerivedSignal(compute, args = [], key, scope, opts, isSubscription = false) {
116
- return new DerivedSignal(isSubscription, compute, args, key, scope, opts);
115
+ export function createDerivedSignal(def, args = [], key, scope, opts) {
116
+ return new DerivedSignal(def, args, key, scope, opts);
117
117
  }
118
118
  //# sourceMappingURL=derived.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"derived.js","sourceRoot":"","sources":["../../../src/internals/derived.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derived.js","sourceRoot":"","sources":["../../../src/internals/derived.ts"],"names":[],"mappings":"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"}
@@ -96,7 +96,7 @@ export function runSignal(signal) {
96
96
  CURRENT_CONSUMER = signal;
97
97
  const initialized = updatedCount !== 0;
98
98
  const prevValue = signal.value;
99
- let nextValue = signal.compute(...signal.args);
99
+ let nextValue = signal.def.compute(...signal.args);
100
100
  let valueIsPromise = false;
101
101
  if (nextValue !== null && typeof nextValue === 'object') {
102
102
  if (isGeneratorResult(nextValue)) {
@@ -143,7 +143,7 @@ export function runSignal(signal) {
143
143
  signal.updatedCount = updatedCount + 1;
144
144
  }
145
145
  }
146
- else if (!initialized || !signal.equals(prevValue, nextValue)) {
146
+ else if (!initialized || !signal.def.equals(prevValue, nextValue)) {
147
147
  signal.value = nextValue;
148
148
  signal.updatedCount = updatedCount + 1;
149
149
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/internals/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/internals/get.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { DerivedSignal } from './derived.js';
2
2
  import { Tracer } from '../trace.js';
3
3
  import { StateSignal } from './state.js';
4
+ import { SignalScope } from './contexts.js';
4
5
  export declare const setResolved: () => void;
5
6
  export declare const schedulePull: (signal: DerivedSignal<any, any>) => void;
6
7
  export declare const scheduleAsyncPull: (signal: DerivedSignal<any, any>) => void;
7
8
  export declare const scheduleUnwatch: (unwatch: DerivedSignal<any, any>) => void;
8
9
  export declare const scheduleListeners: (signal: DerivedSignal<any, any> | StateSignal<any>) => void;
9
10
  export declare const scheduleTracer: (tracer: Tracer) => void;
11
+ export declare const scheduleGcSweep: (scope: SignalScope) => void;
10
12
  export declare const settled: () => Promise<void>;
11
13
  export declare const batch: (fn: () => void) => void;
12
14
  //# sourceMappingURL=scheduling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../src/internals/scheduling.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAyBzC,eAAO,MAAM,WAAW,YAEvB,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,SAG3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,SAGhE,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,SAM/D,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,SAGnF,CAAC;AAEF,eAAO,MAAM,cAAc,WAAY,MAAM,SAG5C,CAAC;AA8DF,eAAO,MAAM,OAAO,qBAInB,CAAC;AAEF,eAAO,MAAM,KAAK,OAAQ,MAAM,IAAI,SASnC,CAAC"}
1
+ {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../src/internals/scheduling.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAc,WAAW,EAAE,MAAM,eAAe,CAAC;AA8BxD,eAAO,MAAM,WAAW,YAEvB,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,SAG3D,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,SAGhE,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,SAM/D,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,SAGnF,CAAC;AAEF,eAAO,MAAM,cAAc,WAAY,MAAM,SAG5C,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,WAAW,SAYjD,CAAC;AA8DF,eAAO,MAAM,OAAO,qBAInB,CAAC;AAEF,eAAO,MAAM,KAAK,OAAQ,MAAM,IAAI,SASnC,CAAC"}
@@ -4,12 +4,15 @@ import { checkAndRunListeners, checkSignal } from './get.js';
4
4
  import { runListeners as runDerivedListeners } from './derived.js';
5
5
  import { runListeners as runStateListeners } from './state.js';
6
6
  import { unwatchSignal } from './connect.js';
7
+ // Determine once at startup which scheduling function to use for GC
8
+ const scheduleIdleCallback = typeof requestIdleCallback === 'function' ? requestIdleCallback : (cb) => _scheduleFlush(cb);
7
9
  let PROMISE_WAS_RESOLVED = false;
8
10
  let PENDING_PULLS = [];
9
11
  let PENDING_ASYNC_PULLS = [];
10
12
  let PENDING_UNWATCH = new Map();
11
13
  let PENDING_LISTENERS = [];
12
14
  let PENDING_TRACERS = [];
15
+ let PENDING_GC = new Set();
13
16
  const microtask = () => Promise.resolve();
14
17
  let currentFlush = null;
15
18
  const scheduleFlush = (fn) => {
@@ -44,6 +47,17 @@ export const scheduleTracer = (tracer) => {
44
47
  PENDING_TRACERS.push(tracer);
45
48
  scheduleFlush(flushWatchers);
46
49
  };
50
+ export const scheduleGcSweep = (scope) => {
51
+ PENDING_GC.add(scope);
52
+ if (PENDING_GC.size > 1)
53
+ return;
54
+ scheduleIdleCallback(() => {
55
+ for (const scope of PENDING_GC) {
56
+ scope.sweepGc();
57
+ }
58
+ PENDING_GC.clear();
59
+ });
60
+ };
47
61
  const flushWatchers = async () => {
48
62
  const flush = currentFlush;
49
63
  // Flush all auto-pulled signals recursively, clearing