signalium 0.3.8 → 1.0.0

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 (287) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/CHANGELOG.md +15 -0
  3. package/build/react.js +19 -0
  4. package/build/transform.js +19 -0
  5. package/dist/cjs/config.d.ts +8 -3
  6. package/dist/cjs/config.d.ts.map +1 -1
  7. package/dist/cjs/config.js +14 -8
  8. package/dist/cjs/config.js.map +1 -1
  9. package/dist/cjs/debug.d.ts +2 -2
  10. package/dist/cjs/debug.d.ts.map +1 -1
  11. package/dist/cjs/debug.js +3 -3
  12. package/dist/cjs/debug.js.map +1 -1
  13. package/dist/cjs/hooks.d.ts +14 -42
  14. package/dist/cjs/hooks.d.ts.map +1 -1
  15. package/dist/cjs/hooks.js +19 -240
  16. package/dist/cjs/hooks.js.map +1 -1
  17. package/dist/cjs/index.d.ts +5 -3
  18. package/dist/cjs/index.d.ts.map +1 -1
  19. package/dist/cjs/index.js +18 -18
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/internals/async.d.ts +50 -0
  22. package/dist/cjs/internals/async.d.ts.map +1 -0
  23. package/dist/cjs/internals/async.js +390 -0
  24. package/dist/cjs/internals/async.js.map +1 -0
  25. package/dist/cjs/internals/connect.d.ts +4 -0
  26. package/dist/cjs/internals/connect.d.ts.map +1 -0
  27. package/dist/cjs/internals/connect.js +37 -0
  28. package/dist/cjs/internals/connect.js.map +1 -0
  29. package/dist/cjs/internals/consumer.d.ts +6 -0
  30. package/dist/cjs/internals/consumer.d.ts.map +1 -0
  31. package/dist/cjs/internals/consumer.js +13 -0
  32. package/dist/cjs/internals/consumer.js.map +1 -0
  33. package/dist/cjs/internals/contexts.d.ts +33 -0
  34. package/dist/cjs/internals/contexts.d.ts.map +1 -0
  35. package/dist/cjs/internals/contexts.js +103 -0
  36. package/dist/cjs/internals/contexts.js.map +1 -0
  37. package/dist/cjs/internals/derived.d.ts +66 -0
  38. package/dist/cjs/internals/derived.d.ts.map +1 -0
  39. package/dist/cjs/internals/derived.js +128 -0
  40. package/dist/cjs/internals/derived.js.map +1 -0
  41. package/dist/cjs/internals/dirty.d.ts +5 -0
  42. package/dist/cjs/internals/dirty.d.ts.map +1 -0
  43. package/dist/cjs/internals/dirty.js +79 -0
  44. package/dist/cjs/internals/dirty.js.map +1 -0
  45. package/dist/cjs/internals/edge.d.ts +32 -0
  46. package/dist/cjs/internals/edge.d.ts.map +1 -0
  47. package/dist/cjs/internals/edge.js +59 -0
  48. package/dist/cjs/internals/edge.js.map +1 -0
  49. package/dist/cjs/internals/get.d.ts +10 -0
  50. package/dist/cjs/internals/get.d.ts.map +1 -0
  51. package/dist/cjs/internals/get.js +255 -0
  52. package/dist/cjs/internals/get.js.map +1 -0
  53. package/dist/cjs/internals/scheduling.d.ts +12 -0
  54. package/dist/cjs/internals/scheduling.d.ts.map +1 -0
  55. package/dist/cjs/internals/scheduling.js +117 -0
  56. package/dist/cjs/internals/scheduling.js.map +1 -0
  57. package/dist/cjs/internals/state.d.ts +18 -0
  58. package/dist/cjs/internals/state.d.ts.map +1 -0
  59. package/dist/cjs/internals/state.js +88 -0
  60. package/dist/cjs/internals/state.js.map +1 -0
  61. package/dist/cjs/internals/utils/debug-name.d.ts +2 -0
  62. package/dist/cjs/internals/utils/debug-name.d.ts.map +1 -0
  63. package/dist/cjs/internals/utils/debug-name.js +14 -0
  64. package/dist/cjs/internals/utils/debug-name.js.map +1 -0
  65. package/dist/cjs/internals/utils/equals.d.ts +3 -0
  66. package/dist/cjs/internals/utils/equals.d.ts.map +1 -0
  67. package/dist/cjs/internals/utils/equals.js +13 -0
  68. package/dist/cjs/internals/utils/equals.js.map +1 -0
  69. package/dist/cjs/internals/utils/hash.d.ts +7 -0
  70. package/dist/cjs/internals/utils/hash.d.ts.map +1 -0
  71. package/dist/cjs/internals/utils/hash.js +181 -0
  72. package/dist/cjs/internals/utils/hash.js.map +1 -0
  73. package/dist/cjs/internals/utils/stringify.d.ts +3 -0
  74. package/dist/cjs/internals/utils/stringify.d.ts.map +1 -0
  75. package/dist/cjs/{utils.js → internals/utils/stringify.js} +5 -27
  76. package/dist/cjs/internals/utils/stringify.js.map +1 -0
  77. package/dist/cjs/internals/utils/type-utils.d.ts +6 -0
  78. package/dist/cjs/internals/utils/type-utils.d.ts.map +1 -0
  79. package/dist/cjs/internals/utils/type-utils.js +22 -0
  80. package/dist/cjs/internals/utils/type-utils.js.map +1 -0
  81. package/dist/cjs/react/context.d.ts +1 -1
  82. package/dist/cjs/react/context.d.ts.map +1 -1
  83. package/dist/cjs/react/provider.d.ts +4 -3
  84. package/dist/cjs/react/provider.d.ts.map +1 -1
  85. package/dist/cjs/react/provider.js +7 -3
  86. package/dist/cjs/react/provider.js.map +1 -1
  87. package/dist/cjs/react/setup.d.ts.map +1 -1
  88. package/dist/cjs/react/setup.js +2 -1
  89. package/dist/cjs/react/setup.js.map +1 -1
  90. package/dist/cjs/react/signal-value.d.ts +5 -1
  91. package/dist/cjs/react/signal-value.d.ts.map +1 -1
  92. package/dist/cjs/react/signal-value.js +35 -45
  93. package/dist/cjs/react/signal-value.js.map +1 -1
  94. package/dist/cjs/trace.d.ts +32 -28
  95. package/dist/cjs/trace.d.ts.map +1 -1
  96. package/dist/cjs/trace.js +14 -16
  97. package/dist/cjs/trace.js.map +1 -1
  98. package/dist/cjs/transform.d.ts +6 -0
  99. package/dist/cjs/transform.d.ts.map +1 -0
  100. package/dist/cjs/transform.js +92 -0
  101. package/dist/cjs/transform.js.map +1 -0
  102. package/dist/cjs/types.d.ts +32 -40
  103. package/dist/cjs/types.d.ts.map +1 -1
  104. package/dist/esm/config.d.ts +8 -3
  105. package/dist/esm/config.d.ts.map +1 -1
  106. package/dist/esm/config.js +12 -7
  107. package/dist/esm/config.js.map +1 -1
  108. package/dist/esm/debug.d.ts +2 -2
  109. package/dist/esm/debug.d.ts.map +1 -1
  110. package/dist/esm/debug.js +2 -2
  111. package/dist/esm/debug.js.map +1 -1
  112. package/dist/esm/hooks.d.ts +14 -42
  113. package/dist/esm/hooks.d.ts.map +1 -1
  114. package/dist/esm/hooks.js +17 -226
  115. package/dist/esm/hooks.js.map +1 -1
  116. package/dist/esm/index.d.ts +5 -3
  117. package/dist/esm/index.d.ts.map +1 -1
  118. package/dist/esm/index.js +5 -3
  119. package/dist/esm/index.js.map +1 -1
  120. package/dist/esm/internals/async.d.ts +50 -0
  121. package/dist/esm/internals/async.d.ts.map +1 -0
  122. package/dist/esm/internals/async.js +383 -0
  123. package/dist/esm/internals/async.js.map +1 -0
  124. package/dist/esm/internals/connect.d.ts +4 -0
  125. package/dist/esm/internals/connect.d.ts.map +1 -0
  126. package/dist/esm/internals/connect.js +33 -0
  127. package/dist/esm/internals/connect.js.map +1 -0
  128. package/dist/esm/internals/consumer.d.ts +6 -0
  129. package/dist/esm/internals/consumer.d.ts.map +1 -0
  130. package/dist/esm/internals/consumer.js +9 -0
  131. package/dist/esm/internals/consumer.js.map +1 -0
  132. package/dist/esm/internals/contexts.d.ts +33 -0
  133. package/dist/esm/internals/contexts.d.ts.map +1 -0
  134. package/dist/esm/internals/contexts.js +92 -0
  135. package/dist/esm/internals/contexts.js.map +1 -0
  136. package/dist/esm/internals/derived.d.ts +66 -0
  137. package/dist/esm/internals/derived.d.ts.map +1 -0
  138. package/dist/esm/internals/derived.js +118 -0
  139. package/dist/esm/internals/derived.js.map +1 -0
  140. package/dist/esm/internals/dirty.d.ts +5 -0
  141. package/dist/esm/internals/dirty.d.ts.map +1 -0
  142. package/dist/esm/internals/dirty.js +75 -0
  143. package/dist/esm/internals/dirty.js.map +1 -0
  144. package/dist/esm/internals/edge.d.ts +32 -0
  145. package/dist/esm/internals/edge.d.ts.map +1 -0
  146. package/dist/esm/internals/edge.js +54 -0
  147. package/dist/esm/internals/edge.js.map +1 -0
  148. package/dist/esm/internals/get.d.ts +10 -0
  149. package/dist/esm/internals/get.d.ts.map +1 -0
  150. package/dist/esm/internals/get.js +247 -0
  151. package/dist/esm/internals/get.js.map +1 -0
  152. package/dist/esm/internals/scheduling.d.ts +12 -0
  153. package/dist/esm/internals/scheduling.d.ts.map +1 -0
  154. package/dist/esm/internals/scheduling.js +106 -0
  155. package/dist/esm/internals/scheduling.js.map +1 -0
  156. package/dist/esm/internals/state.d.ts +18 -0
  157. package/dist/esm/internals/state.d.ts.map +1 -0
  158. package/dist/esm/internals/state.js +82 -0
  159. package/dist/esm/internals/state.js.map +1 -0
  160. package/dist/esm/internals/utils/debug-name.d.ts +2 -0
  161. package/dist/esm/internals/utils/debug-name.d.ts.map +1 -0
  162. package/dist/esm/internals/utils/debug-name.js +11 -0
  163. package/dist/esm/internals/utils/debug-name.js.map +1 -0
  164. package/dist/esm/internals/utils/equals.d.ts +3 -0
  165. package/dist/esm/internals/utils/equals.d.ts.map +1 -0
  166. package/dist/esm/internals/utils/equals.js +9 -0
  167. package/dist/esm/internals/utils/equals.js.map +1 -0
  168. package/dist/esm/internals/utils/hash.d.ts +7 -0
  169. package/dist/esm/internals/utils/hash.d.ts.map +1 -0
  170. package/dist/esm/internals/utils/hash.js +174 -0
  171. package/dist/esm/internals/utils/hash.js.map +1 -0
  172. package/dist/esm/internals/utils/stringify.d.ts +3 -0
  173. package/dist/esm/internals/utils/stringify.d.ts.map +1 -0
  174. package/dist/esm/{utils.js → internals/utils/stringify.js} +4 -25
  175. package/dist/esm/internals/utils/stringify.js.map +1 -0
  176. package/dist/esm/internals/utils/type-utils.d.ts +6 -0
  177. package/dist/esm/internals/utils/type-utils.d.ts.map +1 -0
  178. package/dist/esm/internals/utils/type-utils.js +15 -0
  179. package/dist/esm/internals/utils/type-utils.js.map +1 -0
  180. package/dist/esm/react/context.d.ts +1 -1
  181. package/dist/esm/react/context.d.ts.map +1 -1
  182. package/dist/esm/react/provider.d.ts +4 -3
  183. package/dist/esm/react/provider.d.ts.map +1 -1
  184. package/dist/esm/react/provider.js +6 -2
  185. package/dist/esm/react/provider.js.map +1 -1
  186. package/dist/esm/react/setup.d.ts.map +1 -1
  187. package/dist/esm/react/setup.js +3 -2
  188. package/dist/esm/react/setup.js.map +1 -1
  189. package/dist/esm/react/signal-value.d.ts +5 -1
  190. package/dist/esm/react/signal-value.d.ts.map +1 -1
  191. package/dist/esm/react/signal-value.js +34 -45
  192. package/dist/esm/react/signal-value.js.map +1 -1
  193. package/dist/esm/trace.d.ts +32 -28
  194. package/dist/esm/trace.d.ts.map +1 -1
  195. package/dist/esm/trace.js +13 -15
  196. package/dist/esm/trace.js.map +1 -1
  197. package/dist/esm/transform.d.ts +6 -0
  198. package/dist/esm/transform.d.ts.map +1 -0
  199. package/dist/esm/transform.js +89 -0
  200. package/dist/esm/transform.js.map +1 -0
  201. package/dist/esm/types.d.ts +32 -40
  202. package/dist/esm/types.d.ts.map +1 -1
  203. package/package.json +23 -4
  204. package/src/__tests__/__snapshots__/context.test.ts.snap +2101 -0
  205. package/src/__tests__/__snapshots__/nesting.test.ts.snap +16201 -0
  206. package/src/__tests__/__snapshots__/params-and-state.test.ts.snap +1879 -0
  207. package/src/__tests__/async-task.test.ts +327 -0
  208. package/src/__tests__/context.test.ts +517 -0
  209. package/src/__tests__/nesting.test.ts +298 -0
  210. package/src/__tests__/params-and-state.test.ts +230 -0
  211. package/src/__tests__/reactive-async.test.ts +548 -0
  212. package/src/__tests__/reactive-sync.test.ts +130 -0
  213. package/src/__tests__/subscription.test.ts +510 -0
  214. package/src/__tests__/utils/async.ts +1 -1
  215. package/src/__tests__/utils/instrumented-hooks.ts +229 -124
  216. package/src/__tests__/utils/permute.ts +25 -14
  217. package/src/config.ts +19 -9
  218. package/src/debug.ts +2 -2
  219. package/src/hooks.ts +46 -380
  220. package/src/index.ts +7 -24
  221. package/src/internals/async.ts +556 -0
  222. package/src/internals/connect.ts +41 -0
  223. package/src/internals/consumer.ts +13 -0
  224. package/src/internals/contexts.ts +133 -0
  225. package/src/internals/derived.ts +208 -0
  226. package/src/internals/dirty.ts +91 -0
  227. package/src/internals/edge.ts +109 -0
  228. package/src/internals/get.ts +298 -0
  229. package/src/internals/scheduling.ts +140 -0
  230. package/src/internals/state.ts +111 -0
  231. package/src/internals/utils/debug-name.ts +14 -0
  232. package/src/internals/utils/equals.ts +12 -0
  233. package/src/internals/utils/hash.ts +221 -0
  234. package/src/{utils.ts → internals/utils/stringify.ts} +3 -29
  235. package/src/internals/utils/type-utils.ts +19 -0
  236. package/src/react/__tests__/async.test.tsx +704 -0
  237. package/src/react/__tests__/basic.test.tsx +95 -0
  238. package/src/react/__tests__/contexts.test.tsx +99 -0
  239. package/src/react/__tests__/subscriptions.test.tsx +49 -0
  240. package/src/react/__tests__/utils.tsx +40 -0
  241. package/src/react/context.ts +1 -1
  242. package/src/react/provider.tsx +12 -4
  243. package/src/react/setup.ts +3 -2
  244. package/src/react/signal-value.ts +47 -67
  245. package/src/trace.ts +43 -38
  246. package/src/transform.ts +113 -0
  247. package/src/types.ts +56 -46
  248. package/transform.js +19 -0
  249. package/vitest.workspace.ts +38 -2
  250. package/dist/cjs/scheduling.d.ts +0 -11
  251. package/dist/cjs/scheduling.d.ts.map +0 -1
  252. package/dist/cjs/scheduling.js +0 -108
  253. package/dist/cjs/scheduling.js.map +0 -1
  254. package/dist/cjs/signals.d.ts +0 -73
  255. package/dist/cjs/signals.d.ts.map +0 -1
  256. package/dist/cjs/signals.js +0 -632
  257. package/dist/cjs/signals.js.map +0 -1
  258. package/dist/cjs/utils.d.ts +0 -4
  259. package/dist/cjs/utils.d.ts.map +0 -1
  260. package/dist/cjs/utils.js.map +0 -1
  261. package/dist/esm/scheduling.d.ts +0 -11
  262. package/dist/esm/scheduling.d.ts.map +0 -1
  263. package/dist/esm/scheduling.js +0 -97
  264. package/dist/esm/scheduling.js.map +0 -1
  265. package/dist/esm/signals.d.ts +0 -73
  266. package/dist/esm/signals.d.ts.map +0 -1
  267. package/dist/esm/signals.js +0 -614
  268. package/dist/esm/signals.js.map +0 -1
  269. package/dist/esm/utils.d.ts +0 -4
  270. package/dist/esm/utils.d.ts.map +0 -1
  271. package/dist/esm/utils.js.map +0 -1
  272. package/src/__tests__/hooks/async-computed.test.ts +0 -190
  273. package/src/__tests__/hooks/async-task.test.ts +0 -334
  274. package/src/__tests__/hooks/computed.test.ts +0 -126
  275. package/src/__tests__/hooks/context.test.ts +0 -527
  276. package/src/__tests__/hooks/nesting.test.ts +0 -303
  277. package/src/__tests__/hooks/params-and-state.test.ts +0 -168
  278. package/src/__tests__/hooks/subscription.test.ts +0 -97
  279. package/src/__tests__/signals/async.test.ts +0 -416
  280. package/src/__tests__/signals/basic.test.ts +0 -399
  281. package/src/__tests__/signals/subscription.test.ts +0 -632
  282. package/src/__tests__/signals/watcher.test.ts +0 -253
  283. package/src/__tests__/utils/builders.ts +0 -22
  284. package/src/__tests__/utils/instrumented-signals.ts +0 -291
  285. package/src/react/__tests__/react.test.tsx +0 -227
  286. package/src/scheduling.ts +0 -130
  287. package/src/signals.ts +0 -824
@@ -1,12 +1,12 @@
1
1
 
2
- > signalium@0.3.8 build
2
+ > signalium@1.0.0 build
3
3
  > npm run build:esm && npm run build:cjs
4
4
 
5
5
 
6
- > signalium@0.3.8 build:esm
6
+ > signalium@1.0.0 build:esm
7
7
  > tsc
8
8
 
9
9
 
10
- > signalium@0.3.8 build:cjs
10
+ > signalium@1.0.0 build:cjs
11
11
  > tsc --module commonjs --outDir dist/cjs --moduleResolution node
12
12
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # signalium
2
2
 
3
+ ## 1.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 069c458: Finalize API and release v1
8
+
9
+ Breaking changes:
10
+
11
+ - `reactive` replaces `computed` and `asyncComputed`
12
+ - Async has been unified around the ReactivePromise interface
13
+ - Simplified the forking behavior of contexts
14
+ - `subscription` now returns a subscription instance, not a factory function
15
+ - `task` now returns a ReactiveTask instance, not a factory function
16
+ - `ContextProvider` receives an array of context/value tuples, rather than a map
17
+
3
18
  ## 0.3.8
4
19
 
5
20
  ### Patch Changes
package/build/react.js ADDED
@@ -0,0 +1,19 @@
1
+ // This file is for backwards compatibility with non-module build systems
2
+ //
3
+ // TODO: Generate this automatically on build/publish
4
+
5
+ 'use strict';
6
+ Object.defineProperty(exports, '__esModule', {
7
+ value: true,
8
+ });
9
+ var _index = require('./dist/cjs/react/index.js');
10
+ Object.keys(_index).forEach(function (key) {
11
+ if (key === 'default' || key === '__esModule') return;
12
+ if (key in exports && exports[key] === _index[key]) return;
13
+ Object.defineProperty(exports, key, {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _index[key];
17
+ },
18
+ });
19
+ });
@@ -0,0 +1,19 @@
1
+ // This file is for backwards compatibility with non-module build systems
2
+ //
3
+ // TODO: Generate this automatically on build/publish
4
+
5
+ 'use strict';
6
+ Object.defineProperty(exports, '__esModule', {
7
+ value: true,
8
+ });
9
+ var _index = require('./dist/cjs/transform.js');
10
+ Object.keys(_index).forEach(function (key) {
11
+ if (key === 'default' || key === '__esModule') return;
12
+ if (key in exports && exports[key] === _index[key]) return;
13
+ Object.defineProperty(exports, key, {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _index[key];
17
+ },
18
+ });
19
+ });
@@ -1,4 +1,7 @@
1
- import { SignalScope } from './hooks.js';
1
+ import { DerivedSignal } from './internals/derived.js';
2
+ import { SignalScope } from './internals/contexts.js';
3
+ import { ReactiveValue } from './types.js';
4
+ import { StateSignal } from './internals/state.js';
2
5
  export type FlushCallback = () => void;
3
6
  export type FlushFn = (fn: FlushCallback) => void;
4
7
  export type BatchFn = (fn: () => void) => void;
@@ -6,12 +9,14 @@ interface SignalHooksConfig {
6
9
  scheduleFlush: FlushFn;
7
10
  runBatch: BatchFn;
8
11
  getFrameworkScope: () => SignalScope | undefined;
9
- useSignalValue: <T>(key: string, fn: () => T) => T;
12
+ useStateSignal: <T>(signal: StateSignal<T>) => T;
13
+ useDerivedSignal: <T>(signal: DerivedSignal<T, unknown[]>) => ReactiveValue<T>;
10
14
  }
11
15
  export declare let scheduleFlush: FlushFn;
12
16
  export declare let runBatch: BatchFn;
13
17
  export declare let getFrameworkScope: () => SignalScope | undefined;
14
- export declare function useSignalValue<T>(key: string, fn: () => T): T;
18
+ export declare function useDerivedSignal<T>(signal: DerivedSignal<T, any[]>): ReactiveValue<T>;
19
+ export declare function useStateSignal<T>(signal: StateSignal<T>): T;
15
20
  export declare function setConfig(cfg: Partial<SignalHooksConfig>): void;
16
21
  export {};
17
22
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC;AAEvC,MAAM,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;AAClD,MAAM,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;AAE/C,UAAU,iBAAiB;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IACjD,cAAc,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;CACpD;AAED,eAAO,IAAI,aAAa,EAAE,OAIzB,CAAC;AAEF,eAAO,IAAI,QAAQ,EAAE,OAAoB,CAAC;AAE1C,eAAO,IAAI,iBAAiB,EAAE,MAAM,WAAW,GAAG,SAA2B,CAAC;AAI9E,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAO7D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAKxD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC;AAEvC,MAAM,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;AAClD,MAAM,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;AAE/C,UAAU,iBAAiB;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IACjD,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC;CAChF;AAED,eAAO,IAAI,aAAa,EAAE,OAIzB,CAAC;AAEF,eAAO,IAAI,QAAQ,EAAE,OAAoB,CAAC;AAE1C,eAAO,IAAI,iBAAiB,EAAE,MAAM,WAAW,GAAG,SAA2B,CAAC;AAK9E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAOrF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAE3D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAMxD"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFrameworkScope = exports.runBatch = exports.scheduleFlush = void 0;
4
- exports.useSignalValue = useSignalValue;
4
+ exports.useDerivedSignal = useDerivedSignal;
5
+ exports.useStateSignal = useStateSignal;
5
6
  exports.setConfig = setConfig;
6
- const signals_js_1 = require("./signals.js");
7
+ const get_js_1 = require("./internals/get.js");
7
8
  let scheduleFlush = flushWatchers => {
8
9
  setTimeout(() => {
9
10
  flushWatchers();
@@ -14,20 +15,25 @@ let runBatch = fn => fn();
14
15
  exports.runBatch = runBatch;
15
16
  let getFrameworkScope = () => undefined;
16
17
  exports.getFrameworkScope = getFrameworkScope;
17
- let useFrameworkSignalValue = (key, fn) => fn();
18
- function useSignalValue(key, fn) {
19
- if ((0, signals_js_1.getCurrentConsumer)()) {
20
- return fn();
18
+ let useFrameworkStateSignal = signal => signal.get();
19
+ let useFrameworkDerivedSignal = signal => signal.get();
20
+ function useDerivedSignal(signal) {
21
+ if (get_js_1.CURRENT_CONSUMER !== undefined) {
22
+ return signal.get();
21
23
  }
22
24
  else {
23
25
  // eslint-disable-next-line react-hooks/rules-of-hooks
24
- return useFrameworkSignalValue(key, fn);
26
+ return useFrameworkDerivedSignal(signal);
25
27
  }
26
28
  }
29
+ function useStateSignal(signal) {
30
+ return useFrameworkStateSignal(signal);
31
+ }
27
32
  function setConfig(cfg) {
28
33
  exports.scheduleFlush = cfg.scheduleFlush ?? exports.scheduleFlush;
29
34
  exports.runBatch = cfg.runBatch ?? exports.runBatch;
30
35
  exports.getFrameworkScope = cfg.getFrameworkScope ?? exports.getFrameworkScope;
31
- useFrameworkSignalValue = cfg.useSignalValue ?? useFrameworkSignalValue;
36
+ useFrameworkStateSignal = cfg.useStateSignal ?? useFrameworkStateSignal;
37
+ useFrameworkDerivedSignal = cfg.useDerivedSignal ?? useFrameworkDerivedSignal;
32
38
  }
33
39
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;AA2BA,wCAOC;AAED,8BAKC;AAxCD,6CAAkD;AAc3C,IAAI,aAAa,GAAY,aAAa,CAAC,EAAE;IAClD,UAAU,CAAC,GAAG,EAAE;QACd,aAAa,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AAJS,QAAA,aAAa,iBAItB;AAEK,IAAI,QAAQ,GAAY,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAA/B,QAAA,QAAQ,YAAuB;AAEnC,IAAI,iBAAiB,GAAkC,GAAG,EAAE,CAAC,SAAS,CAAC;AAAnE,QAAA,iBAAiB,qBAAkD;AAE9E,IAAI,uBAAuB,GAAuC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AAEpF,SAAgB,cAAc,CAAI,GAAW,EAAE,EAAW;IACxD,IAAI,IAAA,+BAAkB,GAAE,EAAE,CAAC;QACzB,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QACN,sDAAsD;QACtD,OAAO,uBAAuB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,SAAgB,SAAS,CAAC,GAA+B;IACvD,qBAAa,GAAG,GAAG,CAAC,aAAa,IAAI,qBAAa,CAAC;IACnD,gBAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,gBAAQ,CAAC;IACpC,yBAAiB,GAAG,GAAG,CAAC,iBAAiB,IAAI,yBAAiB,CAAC;IAC/D,uBAAuB,GAAG,GAAG,CAAC,cAAc,IAAI,uBAAuB,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;;AAgCA,4CAOC;AAED,wCAEC;AAED,8BAMC;AA/CD,+CAAsD;AAe/C,IAAI,aAAa,GAAY,aAAa,CAAC,EAAE;IAClD,UAAU,CAAC,GAAG,EAAE;QACd,aAAa,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AAJS,QAAA,aAAa,iBAItB;AAEK,IAAI,QAAQ,GAAY,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAA/B,QAAA,QAAQ,YAAuB;AAEnC,IAAI,iBAAiB,GAAkC,GAAG,EAAE,CAAC,SAAS,CAAC;AAAnE,QAAA,iBAAiB,qBAAkD;AAE9E,IAAI,uBAAuB,GAAqC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AACvF,IAAI,yBAAyB,GAAiE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AAErH,SAAgB,gBAAgB,CAAI,MAA+B;IACjE,IAAI,yBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,sDAAsD;QACtD,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAI,MAAsB;IACtD,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,SAAS,CAAC,GAA+B;IACvD,qBAAa,GAAG,GAAG,CAAC,aAAa,IAAI,qBAAa,CAAC;IACnD,gBAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,gBAAQ,CAAC;IACpC,yBAAiB,GAAG,GAAG,CAAC,iBAAiB,IAAI,yBAAiB,CAAC;IAC/D,uBAAuB,GAAG,GAAG,CAAC,cAAc,IAAI,uBAAuB,CAAC;IACxE,yBAAyB,GAAG,GAAG,CAAC,gBAAgB,IAAI,yBAAyB,CAAC;AAChF,CAAC"}
@@ -1,3 +1,3 @@
1
- export { setTracing, createTracer, createTracerFromId, removeTracer, VisualizerNode, type VisualizerLink, VisualizerNodeType, TracerEventType, Tracer, TRACER, } from './trace.js';
2
- export { scheduleTracer } from './scheduling.js';
1
+ export { setTracing, createTracer, createTracerFromId, removeTracer, VisualizerNode, type VisualizerLink, TracerEventType, Tracer, TRACER, SignalType, } from './trace.js';
2
+ export { scheduleTracer } from './internals/scheduling.js';
3
3
  //# sourceMappingURL=debug.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,KAAK,cAAc,EACnB,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,MAAM,GACP,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,KAAK,cAAc,EACnB,eAAe,EACf,MAAM,EACN,MAAM,EACN,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/cjs/debug.js CHANGED
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.scheduleTracer = exports.TRACER = exports.Tracer = exports.TracerEventType = exports.VisualizerNodeType = exports.VisualizerNode = exports.removeTracer = exports.createTracerFromId = exports.createTracer = exports.setTracing = void 0;
3
+ exports.scheduleTracer = exports.SignalType = exports.TRACER = exports.Tracer = exports.TracerEventType = exports.VisualizerNode = exports.removeTracer = exports.createTracerFromId = exports.createTracer = exports.setTracing = void 0;
4
4
  var trace_js_1 = require("./trace.js");
5
5
  Object.defineProperty(exports, "setTracing", { enumerable: true, get: function () { return trace_js_1.setTracing; } });
6
6
  Object.defineProperty(exports, "createTracer", { enumerable: true, get: function () { return trace_js_1.createTracer; } });
7
7
  Object.defineProperty(exports, "createTracerFromId", { enumerable: true, get: function () { return trace_js_1.createTracerFromId; } });
8
8
  Object.defineProperty(exports, "removeTracer", { enumerable: true, get: function () { return trace_js_1.removeTracer; } });
9
9
  Object.defineProperty(exports, "VisualizerNode", { enumerable: true, get: function () { return trace_js_1.VisualizerNode; } });
10
- Object.defineProperty(exports, "VisualizerNodeType", { enumerable: true, get: function () { return trace_js_1.VisualizerNodeType; } });
11
10
  Object.defineProperty(exports, "TracerEventType", { enumerable: true, get: function () { return trace_js_1.TracerEventType; } });
12
11
  Object.defineProperty(exports, "Tracer", { enumerable: true, get: function () { return trace_js_1.Tracer; } });
13
12
  Object.defineProperty(exports, "TRACER", { enumerable: true, get: function () { return trace_js_1.TRACER; } });
14
- var scheduling_js_1 = require("./scheduling.js");
13
+ Object.defineProperty(exports, "SignalType", { enumerable: true, get: function () { return trace_js_1.SignalType; } });
14
+ var scheduling_js_1 = require("./internals/scheduling.js");
15
15
  Object.defineProperty(exports, "scheduleTracer", { enumerable: true, get: function () { return scheduling_js_1.scheduleTracer; } });
16
16
  //# sourceMappingURL=debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/debug.ts"],"names":[],"mappings":";;;AAAA,uCAWoB;AAVlB,sGAAA,UAAU,OAAA;AACV,wGAAA,YAAY,OAAA;AACZ,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AACZ,0GAAA,cAAc,OAAA;AAEd,8GAAA,kBAAkB,OAAA;AAClB,2GAAA,eAAe,OAAA;AACf,kGAAA,MAAM,OAAA;AACN,kGAAA,MAAM,OAAA;AAGR,iDAAiD;AAAxC,+GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/debug.ts"],"names":[],"mappings":";;;AAAA,uCAWoB;AAVlB,sGAAA,UAAU,OAAA;AACV,wGAAA,YAAY,OAAA;AACZ,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AACZ,0GAAA,cAAc,OAAA;AAEd,2GAAA,eAAe,OAAA;AACf,kGAAA,MAAM,OAAA;AACN,kGAAA,MAAM,OAAA;AACN,sGAAA,UAAU,OAAA;AAGZ,2DAA2D;AAAlD,+GAAA,cAAc,OAAA"}
@@ -1,44 +1,16 @@
1
- import { ComputedSignal } from './signals.js';
2
- import { type AsyncTask, type AsyncReady, type AsyncResult, type Signal, type SignalOptions, type SignalOptionsWithInit, Watcher, WriteableSignal, SignalSubscribe } from './types.js';
3
- declare const CONTEXT_KEY: unique symbol;
4
- export type Context<T> = symbol & {
5
- [CONTEXT_KEY]: T;
6
- };
7
- export declare const COMPUTED_OWNERS: WeakMap<ComputedSignal<unknown>, SignalScope>;
8
- export declare const state: <T>(value: T, opts?: Partial<SignalOptions<T, unknown[]>>) => WriteableSignal<T>;
9
- export declare const createContext: <T>(initialValue: T, description?: string) => Context<T>;
10
- export type SignalStoreMap = {
11
- [K in Context<unknown>]: K extends Context<infer T> ? T : never;
12
- };
13
- export declare class SignalScope {
14
- private parent?;
15
- constructor(contexts: SignalStoreMap, parent?: SignalScope | undefined);
16
- private contexts;
17
- private children;
18
- private contextMask;
19
- private signals;
20
- getChild(contexts: SignalStoreMap): SignalScope;
21
- getContext<T>(context: Context<T>): T | undefined;
22
- private getSignal;
23
- private setSignal;
24
- private deleteSignal;
25
- run(fn: (...args: any[]) => any, args: any[], key: string, signal: Signal<unknown>, initialized: boolean): any;
26
- get(makeSignal: (fn: (...args: any[]) => any, opts?: Partial<SignalOptionsWithInit<unknown, unknown[]>>) => Signal<unknown>, fn: (...args: any[]) => any, key: string, params: string, args: unknown[], opts?: Partial<SignalOptions<unknown, unknown[]>>): unknown;
27
- }
28
- export declare let ROOT_SCOPE: SignalScope;
29
- export declare const clearRootScope: () => void;
30
- export declare const getOverrideScope: () => SignalScope | undefined;
31
- export declare const setOverrideScope: (scope: SignalScope | undefined) => void;
32
- export declare const withContext: <T>(contexts: SignalStoreMap, fn: () => T) => T;
33
- export declare const useContext: <T>(context: Context<T>) => T;
34
- export declare function computed<T, Args extends unknown[]>(fn: (...args: Args) => T, opts?: Partial<SignalOptions<T, Args>>): (...args: Args) => T;
35
- export type AsyncAwaitableResult<T> = T | Promise<T>;
36
- export declare function asyncComputed<T, Args extends unknown[]>(fn: (...args: Args) => T | Promise<T>, opts?: SignalOptions<T, Args>): (...args: Args) => AsyncResult<T>;
37
- export declare function asyncComputed<T, Args extends unknown[]>(fn: (...args: Args) => T | Promise<T>, opts: SignalOptionsWithInit<T, Args>): (...args: Args) => AsyncReady<T>;
38
- export declare function subscription<T, Args extends unknown[]>(fn: SignalSubscribe<T, Args>, opts?: Partial<SignalOptionsWithInit<T, Args>>): (...args: Args) => T;
39
- export declare const asyncTask: <T, Args extends unknown[]>(fn: (...args: Args) => Promise<T>, opts?: Partial<SignalOptionsWithInit<T, Args>>) => (<BuildArgs extends unknown[], RunArgs extends Args extends [...BuildArgs, ...infer _Rest] ? _Rest : Args>(...args: Args extends [...BuildArgs, ...infer _Rest] ? BuildArgs : Args) => AsyncTask<T, RunArgs>);
40
- export declare function watcher<T>(fn: (prev: T | undefined) => T, opts?: SignalOptions<T, unknown[]> & {
1
+ import { ReactiveTask, ReactiveValue, ReadyReactivePromise, ReadyReactiveValue, Signal, SignalOptions, SignalSubscribe, type SignalOptionsWithInit } from './types.js';
2
+ import { SignalScope } from './internals/contexts.js';
3
+ import { createStateSignal } from './internals/state.js';
4
+ import { ReactivePromise } from './internals/async.js';
5
+ import { Tracer } from './trace.js';
6
+ export declare const state: typeof createStateSignal;
7
+ export declare function reactive<T, Args extends unknown[]>(fn: (...args: Args) => T, opts?: Partial<SignalOptionsWithInit<T, Args>>): (...args: Args) => ReactiveValue<T>;
8
+ export declare function reactive<T, Args extends unknown[]>(fn: (...args: Args) => T, opts: SignalOptionsWithInit<T, Args>): (...args: Args) => ReadyReactiveValue<T>;
9
+ export declare function subscription<T>(subscribe: SignalSubscribe<T>, opts?: SignalOptions<T, unknown[]>): ReactivePromise<T>;
10
+ export declare function subscription<T>(subscribe: SignalSubscribe<T>, opts: SignalOptionsWithInit<T, unknown[]>): ReadyReactivePromise<T>;
11
+ export declare const task: <T, Args extends unknown[]>(fn: (...args: Args) => Promise<T>, opts?: Partial<SignalOptionsWithInit<T, Args>>) => ReactiveTask<T, Args>;
12
+ export declare function watcher<T>(fn: () => T, opts?: SignalOptions<T, unknown[]> & {
41
13
  scope?: SignalScope;
42
- }): Watcher<T>;
43
- export {};
14
+ tracer?: Tracer;
15
+ }): Signal<ReactiveValue<T>>;
44
16
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,EACN,aAAa,EACb,eAAe,EACf,KAAK,qBAAqB,EAC3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAmB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,eAAO,MAAM,KAAK,0BAAoB,CAAC;AAEvC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAChD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EACxB,IAAI,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAC7C,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC;AACvC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAChD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EACxB,IAAI,EAAE,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,GACnC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAa5C,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;AACvH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,EAC7B,IAAI,EAAE,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GACxC,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAU3B,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,MACxC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAC1B,OAAO,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAC7C,YAAY,CAAC,CAAC,EAAE,IAAI,CAItB,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,EACvB,EAAE,EAAE,MAAM,CAAC,EACX,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5E,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAE1B"}
package/dist/cjs/hooks.js CHANGED
@@ -1,253 +1,32 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.asyncTask = exports.useContext = exports.withContext = exports.setOverrideScope = exports.getOverrideScope = exports.clearRootScope = exports.ROOT_SCOPE = exports.SignalScope = exports.createContext = exports.state = exports.COMPUTED_OWNERS = void 0;
7
- exports.computed = computed;
8
- exports.asyncComputed = asyncComputed;
3
+ exports.task = exports.state = void 0;
4
+ exports.reactive = reactive;
9
5
  exports.subscription = subscription;
10
6
  exports.watcher = watcher;
11
- const signals_js_1 = require("./signals.js");
12
- const utils_js_1 = require("./utils.js");
13
7
  const config_js_1 = require("./config.js");
14
- const weakref_js_1 = __importDefault(require("./weakref.js"));
15
- const CONTEXT_DEFAULT_VALUES = new Map();
16
- const CONTEXT_MASKS = new Map();
17
- let CONTEXT_MASKS_COUNT = 0;
18
- const COMPUTED_CONTEXT_MASKS = new Map();
19
- exports.COMPUTED_OWNERS = new WeakMap();
20
- let CURRENT_MASK = null;
21
- const state = (value, opts) => {
22
- const signal = (0, signals_js_1.createStateSignal)(value, opts);
23
- return {
24
- set(v) {
25
- signal.set(v);
26
- },
27
- get() {
28
- // eslint-disable-next-line react-hooks/rules-of-hooks
29
- return (0, config_js_1.useSignalValue)(signal._desc, () => signal.get());
30
- },
31
- };
32
- };
33
- exports.state = state;
34
- const createContext = (initialValue, description) => {
35
- const count = CONTEXT_MASKS_COUNT++;
36
- const key = Symbol(description ?? `context:${count}`);
37
- CONTEXT_DEFAULT_VALUES.set(key, initialValue);
38
- CONTEXT_MASKS.set(key, BigInt(1) << BigInt(count));
39
- return key;
40
- };
41
- exports.createContext = createContext;
42
- class SignalScope {
43
- parent;
44
- constructor(contexts, parent) {
45
- this.parent = parent;
46
- this.contexts = Object.create(parent?.contexts || null);
47
- for (const key of Object.getOwnPropertySymbols(contexts)) {
48
- this.contexts[key] = contexts[key];
49
- this.contextMask |= CONTEXT_MASKS.get(key);
50
- }
51
- }
52
- contexts;
53
- children = new Map();
54
- contextMask = 0n;
55
- signals = new Map();
56
- getChild(contexts) {
57
- const key = (0, utils_js_1.hashValue)(contexts);
58
- let child = this.children.get(key);
59
- if (child === undefined) {
60
- child = new SignalScope(contexts, this);
61
- this.children.set(key, child);
62
- }
63
- return child;
64
- }
65
- getContext(context) {
66
- const value = this.contexts[context];
67
- if (CURRENT_MASK !== null) {
68
- CURRENT_MASK |= CONTEXT_MASKS.get(context);
69
- }
70
- return value;
71
- }
72
- getSignal(key, computedMask) {
73
- return (this.contextMask & computedMask) === 0n && this.parent
74
- ? this.parent.getSignal(key, computedMask)
75
- : this.signals.get(key)?.deref();
76
- }
77
- setSignal(key, signal, mask, isPromoting) {
78
- if ((this.contextMask & mask) === 0n && this.parent) {
79
- this.parent.setSignal(key, signal, mask, isPromoting);
80
- }
81
- else {
82
- this.signals.set(key, new weakref_js_1.default(signal));
83
- if (isPromoting) {
84
- this.parent?.deleteSignal(key);
85
- }
86
- }
87
- }
88
- deleteSignal(key) {
89
- this.signals.delete(key);
90
- this.parent?.deleteSignal(key);
91
- }
92
- run(fn, args, key, signal, initialized) {
93
- const prevMask = CURRENT_MASK;
94
- const fnMask = COMPUTED_CONTEXT_MASKS.get(fn) ?? 0n;
95
- const signalMask = COMPUTED_CONTEXT_MASKS.get(signal) ?? 0n;
96
- try {
97
- CURRENT_MASK = signalMask | fnMask;
98
- return fn(...args);
99
- }
100
- finally {
101
- if (!initialized || signalMask !== CURRENT_MASK) {
102
- COMPUTED_CONTEXT_MASKS.set(fn, CURRENT_MASK);
103
- COMPUTED_CONTEXT_MASKS.set(signal, CURRENT_MASK);
104
- getCurrentScope().setSignal(key, signal, CURRENT_MASK, initialized);
105
- initialized = true;
106
- }
107
- CURRENT_MASK = prevMask;
108
- }
109
- }
110
- get(makeSignal, fn, key, params, args, opts) {
111
- const computedMask = COMPUTED_CONTEXT_MASKS.get(fn) ?? 0n;
112
- const fnName = opts?.desc ?? fn.name ?? (0, utils_js_1.getUnknownSignalFnName)(fn, makeSignal);
113
- let signal = this.getSignal(key, computedMask);
114
- if (signal === undefined) {
115
- const optsWithMeta = { ...opts, id: key, desc: fnName, params };
116
- let initialized = false;
117
- if (makeSignal === signals_js_1.createSubscriptionSignal) {
118
- signal = makeSignal(state => {
119
- const sub = this.run(fn, [state, ...args], key, signal, initialized);
120
- if (typeof sub === 'object' && sub !== null && sub?.update) {
121
- const originalUpdate = sub.update;
122
- sub.update = () => {
123
- return this.run(originalUpdate, [], key, signal, initialized);
124
- };
125
- }
126
- initialized = true;
127
- return sub;
128
- }, optsWithMeta);
129
- }
130
- else {
131
- signal = makeSignal((...runArgs) => {
132
- const result = this.run(fn, [...args, ...runArgs], key, signal, initialized);
133
- initialized = true;
134
- return result;
135
- }, optsWithMeta);
136
- }
137
- }
138
- exports.COMPUTED_OWNERS.set(signal, this);
139
- const value = signal.get();
140
- if (CURRENT_MASK !== null) {
141
- CURRENT_MASK |= COMPUTED_CONTEXT_MASKS.get(fn) ?? 0n;
142
- }
143
- return value;
144
- }
145
- }
146
- exports.SignalScope = SignalScope;
147
- exports.ROOT_SCOPE = new SignalScope({});
148
- const clearRootScope = () => {
149
- exports.ROOT_SCOPE = new SignalScope({});
150
- };
151
- exports.clearRootScope = clearRootScope;
152
- let OVERRIDE_SCOPE;
153
- const getOverrideScope = () => {
154
- return OVERRIDE_SCOPE;
155
- };
156
- exports.getOverrideScope = getOverrideScope;
157
- const setOverrideScope = (scope) => {
158
- OVERRIDE_SCOPE = scope;
159
- };
160
- exports.setOverrideScope = setOverrideScope;
161
- const getCurrentScope = () => {
162
- if (OVERRIDE_SCOPE !== undefined) {
163
- return OVERRIDE_SCOPE;
164
- }
165
- const currentConsumer = (0, signals_js_1.getCurrentConsumer)();
166
- if (currentConsumer) {
167
- const scope = exports.COMPUTED_OWNERS.get(currentConsumer);
168
- return scope ?? exports.ROOT_SCOPE;
169
- }
170
- return (0, config_js_1.getFrameworkScope)() ?? exports.ROOT_SCOPE;
171
- };
172
- const withContext = (contexts, fn) => {
173
- const prevScope = OVERRIDE_SCOPE;
174
- const currentScope = getCurrentScope();
175
- try {
176
- OVERRIDE_SCOPE = currentScope.getChild(contexts);
177
- return fn();
178
- }
179
- finally {
180
- OVERRIDE_SCOPE = prevScope;
181
- }
182
- };
183
- exports.withContext = withContext;
184
- const useContext = (context) => {
185
- let scope = OVERRIDE_SCOPE;
186
- if (scope === undefined) {
187
- const currentConsumer = (0, signals_js_1.getCurrentConsumer)();
188
- scope = currentConsumer ? exports.COMPUTED_OWNERS.get(currentConsumer) : undefined;
189
- }
190
- if (scope === undefined) {
191
- scope = (0, config_js_1.getFrameworkScope)();
192
- }
193
- if (scope === undefined) {
194
- throw new Error('useContext must be used within a signal hook, a withContext, or within a framework-specific context provider.');
195
- }
196
- return scope.getContext(context) ?? CONTEXT_DEFAULT_VALUES.get(context);
197
- };
198
- exports.useContext = useContext;
199
- const getParamsKey = (args, opts) => {
200
- return opts?.paramKey ? opts.paramKey(...args) : args.map(arg => (0, utils_js_1.hashValue)(arg)).join(', ');
201
- };
202
- const getComputedKey = (fn, params) => {
203
- const fnId = (0, utils_js_1.getObjectId)(fn);
204
- return `${fnId}(${params})`;
205
- };
206
- function computed(fn, opts) {
207
- return (...args) => {
208
- const params = getParamsKey(args, opts);
209
- const key = getComputedKey(fn, params);
210
- return (0, config_js_1.useSignalValue)(key, () => {
211
- const scope = getCurrentScope();
212
- return scope.get(signals_js_1.createComputedSignal, fn, key, params, args, opts);
213
- });
214
- };
215
- }
216
- function asyncComputed(fn, opts) {
8
+ const contexts_js_1 = require("./internals/contexts.js");
9
+ const state_js_1 = require("./internals/state.js");
10
+ const derived_js_1 = require("./internals/derived.js");
11
+ const async_js_1 = require("./internals/async.js");
12
+ exports.state = state_js_1.createStateSignal;
13
+ function reactive(fn, opts) {
217
14
  return (...args) => {
218
- const params = getParamsKey(args, opts);
219
- const key = getComputedKey(fn, params);
220
- return (0, config_js_1.useSignalValue)(key, () => {
221
- const scope = getCurrentScope();
222
- return scope.get(signals_js_1.createAsyncComputedSignal, fn, key, params, args, opts);
223
- });
15
+ const scope = (0, contexts_js_1.getCurrentScope)();
16
+ const signal = scope.get(fn, args, opts);
17
+ return (0, config_js_1.useDerivedSignal)(signal);
224
18
  };
225
19
  }
226
- function subscription(fn, opts) {
227
- return (...args) => {
228
- const params = getParamsKey(args, opts);
229
- const key = getComputedKey(fn, params);
230
- return (0, config_js_1.useSignalValue)(key, () => {
231
- const scope = getCurrentScope();
232
- return scope.get(signals_js_1.createSubscriptionSignal, fn, key, params, args, opts);
233
- });
234
- };
20
+ function subscription(subscribe, opts) {
21
+ const scope = (0, contexts_js_1.getCurrentScope)();
22
+ return async_js_1.ReactivePromise.createSubscription(subscribe, scope, opts);
235
23
  }
236
- const asyncTask = (fn, opts) => {
237
- return (...args) => {
238
- const params = getParamsKey(args, opts);
239
- const key = getComputedKey(fn, params);
240
- return (0, config_js_1.useSignalValue)(key, () => {
241
- const scope = getCurrentScope();
242
- return scope.get(signals_js_1.createAsyncTaskSignal, fn, key, params, args, opts);
243
- });
244
- };
24
+ const task = (fn, opts) => {
25
+ const scope = (0, contexts_js_1.getCurrentScope)();
26
+ return async_js_1.ReactivePromise.createTask(fn, scope, opts);
245
27
  };
246
- exports.asyncTask = asyncTask;
28
+ exports.task = task;
247
29
  function watcher(fn, opts) {
248
- const scope = opts?.scope ?? exports.ROOT_SCOPE;
249
- const w = (0, signals_js_1.createWatcherSignal)(fn, opts);
250
- exports.COMPUTED_OWNERS.set(w, scope);
251
- return w;
30
+ return (0, derived_js_1.createDerivedSignal)(fn, undefined, undefined, opts?.scope, opts);
252
31
  }
253
32
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/hooks.ts"],"names":[],"mappings":";;;AA2BA,4BAUC;AAOD,oCAOC;AAWD,0BAKC;AAzDD,2CAA+C;AAC/C,yDAAuE;AACvE,mDAAyD;AACzD,uDAA6D;AAC7D,mDAAuD;AAG1C,QAAA,KAAK,GAAG,4BAAiB,CAAC;AAUvC,SAAgB,QAAQ,CACtB,EAAwB,EACxB,IAA8C;IAE9C,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,IAAA,6BAAe,GAAE,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEhD,OAAO,IAAA,4BAAgB,EAAC,MAAM,CAAE,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAOD,SAAgB,YAAY,CAC1B,SAA6B,EAC7B,IAAmD;IAEnD,MAAM,KAAK,GAAG,IAAA,6BAAe,GAAE,CAAC;IAEhC,OAAO,0BAAe,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAEM,MAAM,IAAI,GAAG,CAClB,EAAiC,EACjC,IAA8C,EACvB,EAAE;IACzB,MAAM,KAAK,GAAG,IAAA,6BAAe,GAAE,CAAC;IAEhC,OAAO,0BAAe,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC,CAAC;AAPW,QAAA,IAAI,QAOf;AAEF,SAAgB,OAAO,CACrB,EAAW,EACX,IAA6E;IAE7E,OAAO,IAAA,gCAAmB,EAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export type * from './types.js';
2
- export { createStateSignal, createComputedSignal, createAsyncComputedSignal, createSubscriptionSignal, createWatcherSignal, createAsyncTaskSignal, getCurrentConsumer, } from './signals.js';
3
- export { state, createContext, useContext, withContext, computed, asyncComputed, asyncTask, subscription, watcher, SignalScope, type Context, type SignalStoreMap, } from './hooks.js';
2
+ export { state, reactive, subscription, task, watcher } from './hooks.js';
3
+ export { isReactivePromise, isReactiveTask, isReactiveSubscription } from './internals/async.js';
4
+ export { callback } from './internals/get.js';
5
+ export { createContext, useContext, withContexts, SignalScope, CONTEXT_KEY } from './internals/contexts.js';
4
6
  export { setConfig } from './config.js';
5
- export { hashValue as stringifyArgs } from './utils.js';
7
+ export { hashValue, registerCustomHash } from './internals/utils/hash.js';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,KAAK,EACL,aAAa,EACb,UAAU,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,SAAS,EACT,YAAY,EACZ,OAAO,EACP,WAAW,EACX,KAAK,OAAO,EACZ,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,YAAY,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,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"}