signalium 1.2.1 → 2.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 (388) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/{build/transform.js → config.js} +1 -5
  3. package/{build/react.js → debug.js} +1 -5
  4. package/dist/cjs/config.d.ts +1 -21
  5. package/dist/cjs/config.d.ts.map +1 -1
  6. package/dist/cjs/config.js +3 -36
  7. package/dist/cjs/config.js.map +1 -1
  8. package/dist/cjs/debug.d.ts +1 -1
  9. package/dist/cjs/debug.d.ts.map +1 -1
  10. package/dist/cjs/debug.js +1 -1
  11. package/dist/cjs/debug.js.map +1 -1
  12. package/dist/cjs/index.d.ts +5 -6
  13. package/dist/cjs/index.d.ts.map +1 -1
  14. package/dist/cjs/index.js +17 -22
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/internals/async.d.ts +24 -19
  17. package/dist/cjs/internals/async.d.ts.map +1 -1
  18. package/dist/cjs/internals/async.js +264 -137
  19. package/dist/cjs/internals/async.js.map +1 -1
  20. package/dist/cjs/internals/callback.d.ts +13 -0
  21. package/dist/cjs/internals/callback.d.ts.map +1 -0
  22. package/dist/cjs/internals/callback.js +73 -0
  23. package/dist/cjs/internals/callback.js.map +1 -0
  24. package/dist/cjs/internals/config.d.ts +7 -0
  25. package/dist/cjs/internals/config.d.ts.map +1 -0
  26. package/dist/cjs/internals/config.js +17 -0
  27. package/dist/cjs/internals/config.js.map +1 -0
  28. package/dist/cjs/internals/consumer.d.ts +3 -3
  29. package/dist/cjs/internals/consumer.d.ts.map +1 -1
  30. package/dist/cjs/internals/consumer.js.map +1 -1
  31. package/dist/cjs/internals/contexts.d.ts +16 -15
  32. package/dist/cjs/internals/contexts.d.ts.map +1 -1
  33. package/dist/cjs/internals/contexts.js +58 -56
  34. package/dist/cjs/internals/contexts.js.map +1 -1
  35. package/dist/cjs/internals/core-api.d.ts +15 -0
  36. package/dist/cjs/internals/core-api.d.ts.map +1 -0
  37. package/dist/cjs/internals/core-api.js +83 -0
  38. package/dist/cjs/internals/core-api.js.map +1 -0
  39. package/dist/cjs/internals/dirty.d.ts +3 -3
  40. package/dist/cjs/internals/dirty.d.ts.map +1 -1
  41. package/dist/cjs/internals/dirty.js +13 -13
  42. package/dist/cjs/internals/dirty.js.map +1 -1
  43. package/dist/cjs/internals/edge.d.ts +5 -5
  44. package/dist/cjs/internals/edge.d.ts.map +1 -1
  45. package/dist/cjs/internals/edge.js.map +1 -1
  46. package/dist/cjs/internals/generators.d.ts +5 -0
  47. package/dist/cjs/internals/generators.d.ts.map +1 -0
  48. package/dist/cjs/internals/generators.js +83 -0
  49. package/dist/cjs/internals/generators.js.map +1 -0
  50. package/dist/cjs/internals/get.d.ts +5 -8
  51. package/dist/cjs/internals/get.d.ts.map +1 -1
  52. package/dist/cjs/internals/get.js +48 -107
  53. package/dist/cjs/internals/get.js.map +1 -1
  54. package/dist/cjs/internals/reactive.d.ts +77 -0
  55. package/dist/cjs/internals/reactive.d.ts.map +1 -0
  56. package/dist/cjs/internals/{derived.js → reactive.js} +45 -33
  57. package/dist/cjs/internals/reactive.js.map +1 -0
  58. package/dist/cjs/internals/scheduling.d.ts +7 -7
  59. package/dist/cjs/internals/scheduling.d.ts.map +1 -1
  60. package/dist/cjs/internals/scheduling.js +9 -9
  61. package/dist/cjs/internals/scheduling.js.map +1 -1
  62. package/dist/cjs/internals/signal.d.ts +20 -0
  63. package/dist/cjs/internals/signal.d.ts.map +1 -0
  64. package/dist/cjs/internals/{state.js → signal.js} +31 -27
  65. package/dist/cjs/internals/signal.js.map +1 -0
  66. package/dist/{esm → cjs/internals}/trace.d.ts +1 -1
  67. package/dist/cjs/internals/trace.d.ts.map +1 -0
  68. package/dist/cjs/{trace.js → internals/trace.js} +1 -1
  69. package/dist/cjs/internals/trace.js.map +1 -0
  70. package/dist/cjs/internals/utils/equals.d.ts +4 -4
  71. package/dist/cjs/internals/utils/equals.d.ts.map +1 -1
  72. package/dist/cjs/internals/utils/equals.js.map +1 -1
  73. package/dist/cjs/internals/utils/type-utils.d.ts +0 -2
  74. package/dist/cjs/internals/utils/type-utils.d.ts.map +1 -1
  75. package/dist/cjs/internals/utils/type-utils.js +0 -5
  76. package/dist/cjs/internals/utils/type-utils.js.map +1 -1
  77. package/dist/cjs/internals/watch.d.ts +4 -0
  78. package/dist/cjs/internals/watch.d.ts.map +1 -0
  79. package/dist/cjs/internals/{connect.js → watch.js} +7 -7
  80. package/dist/cjs/internals/watch.js.map +1 -0
  81. package/dist/cjs/internals/weakref.d.ts.map +1 -0
  82. package/dist/cjs/internals/weakref.js.map +1 -0
  83. package/dist/cjs/react/component.d.ts +2 -0
  84. package/dist/cjs/react/component.d.ts.map +1 -0
  85. package/dist/cjs/react/component.js +40 -0
  86. package/dist/cjs/react/component.js.map +1 -0
  87. package/dist/cjs/react/context.d.ts +2 -1
  88. package/dist/cjs/react/context.d.ts.map +1 -1
  89. package/dist/cjs/react/context.js +10 -5
  90. package/dist/cjs/react/context.js.map +1 -1
  91. package/dist/cjs/react/index.d.ts +4 -4
  92. package/dist/cjs/react/index.d.ts.map +1 -1
  93. package/dist/cjs/react/index.js +11 -8
  94. package/dist/cjs/react/index.js.map +1 -1
  95. package/dist/cjs/react/provider.d.ts.map +1 -1
  96. package/dist/cjs/react/provider.js +1 -1
  97. package/dist/cjs/react/provider.js.map +1 -1
  98. package/dist/cjs/react/rendering.d.ts +0 -6
  99. package/dist/cjs/react/rendering.d.ts.map +1 -1
  100. package/dist/cjs/react/rendering.js +1 -19
  101. package/dist/cjs/react/rendering.js.map +1 -1
  102. package/dist/cjs/react/use-reactive.d.ts +7 -0
  103. package/dist/cjs/react/use-reactive.d.ts.map +1 -0
  104. package/dist/cjs/react/use-reactive.js +67 -0
  105. package/dist/cjs/react/use-reactive.js.map +1 -0
  106. package/dist/cjs/react/use-signal.d.ts +3 -0
  107. package/dist/cjs/react/use-signal.d.ts.map +1 -0
  108. package/dist/cjs/react/{state.js → use-signal.js} +5 -5
  109. package/dist/cjs/react/use-signal.js.map +1 -0
  110. package/dist/cjs/{transform.d.ts → transform/async.d.ts} +1 -1
  111. package/dist/cjs/transform/async.d.ts.map +1 -0
  112. package/dist/cjs/{transform.js → transform/async.js} +22 -9
  113. package/dist/cjs/transform/async.js.map +1 -0
  114. package/dist/cjs/transform/callback.d.ts +6 -0
  115. package/dist/cjs/transform/callback.d.ts.map +1 -0
  116. package/dist/cjs/transform/callback.js +259 -0
  117. package/dist/cjs/transform/callback.js.map +1 -0
  118. package/dist/cjs/transform/index.d.ts +5 -0
  119. package/dist/cjs/transform/index.d.ts.map +1 -0
  120. package/dist/cjs/transform/index.js +12 -0
  121. package/dist/cjs/transform/index.js.map +1 -0
  122. package/dist/cjs/transform/preset.d.ts +7 -0
  123. package/dist/cjs/transform/preset.d.ts.map +1 -0
  124. package/dist/cjs/transform/preset.js +20 -0
  125. package/dist/cjs/transform/preset.js.map +1 -0
  126. package/dist/cjs/transform/promise.d.ts +6 -0
  127. package/dist/cjs/transform/promise.d.ts.map +1 -0
  128. package/dist/cjs/transform/promise.js +129 -0
  129. package/dist/cjs/transform/promise.js.map +1 -0
  130. package/dist/cjs/types.d.ts +44 -63
  131. package/dist/cjs/types.d.ts.map +1 -1
  132. package/dist/cjs/utils.d.ts +2 -0
  133. package/dist/cjs/utils.d.ts.map +1 -0
  134. package/dist/cjs/utils.js +7 -0
  135. package/dist/cjs/utils.js.map +1 -0
  136. package/dist/esm/config.d.ts +1 -21
  137. package/dist/esm/config.d.ts.map +1 -1
  138. package/dist/esm/config.js +1 -29
  139. package/dist/esm/config.js.map +1 -1
  140. package/dist/esm/debug.d.ts +1 -1
  141. package/dist/esm/debug.d.ts.map +1 -1
  142. package/dist/esm/debug.js +1 -1
  143. package/dist/esm/debug.js.map +1 -1
  144. package/dist/esm/index.d.ts +5 -6
  145. package/dist/esm/index.d.ts.map +1 -1
  146. package/dist/esm/index.js +5 -6
  147. package/dist/esm/index.js.map +1 -1
  148. package/dist/esm/internals/async.d.ts +24 -19
  149. package/dist/esm/internals/async.d.ts.map +1 -1
  150. package/dist/esm/internals/async.js +253 -128
  151. package/dist/esm/internals/async.js.map +1 -1
  152. package/dist/esm/internals/callback.d.ts +13 -0
  153. package/dist/esm/internals/callback.d.ts.map +1 -0
  154. package/dist/esm/internals/callback.js +67 -0
  155. package/dist/esm/internals/callback.js.map +1 -0
  156. package/dist/esm/internals/config.d.ts +7 -0
  157. package/dist/esm/internals/config.d.ts.map +1 -0
  158. package/dist/esm/internals/config.js +11 -0
  159. package/dist/esm/internals/config.js.map +1 -0
  160. package/dist/esm/internals/consumer.d.ts +3 -3
  161. package/dist/esm/internals/consumer.d.ts.map +1 -1
  162. package/dist/esm/internals/consumer.js.map +1 -1
  163. package/dist/esm/internals/contexts.d.ts +16 -15
  164. package/dist/esm/internals/contexts.d.ts.map +1 -1
  165. package/dist/esm/internals/contexts.js +52 -50
  166. package/dist/esm/internals/contexts.js.map +1 -1
  167. package/dist/esm/internals/core-api.d.ts +15 -0
  168. package/dist/esm/internals/core-api.d.ts.map +1 -0
  169. package/dist/esm/internals/core-api.js +74 -0
  170. package/dist/esm/internals/core-api.js.map +1 -0
  171. package/dist/esm/internals/dirty.d.ts +3 -3
  172. package/dist/esm/internals/dirty.d.ts.map +1 -1
  173. package/dist/esm/internals/dirty.js +12 -12
  174. package/dist/esm/internals/dirty.js.map +1 -1
  175. package/dist/esm/internals/edge.d.ts +5 -5
  176. package/dist/esm/internals/edge.d.ts.map +1 -1
  177. package/dist/esm/internals/edge.js.map +1 -1
  178. package/dist/esm/internals/generators.d.ts +5 -0
  179. package/dist/esm/internals/generators.d.ts.map +1 -0
  180. package/dist/esm/internals/generators.js +79 -0
  181. package/dist/esm/internals/generators.js.map +1 -0
  182. package/dist/esm/internals/get.d.ts +5 -8
  183. package/dist/esm/internals/get.d.ts.map +1 -1
  184. package/dist/esm/internals/get.js +43 -100
  185. package/dist/esm/internals/get.js.map +1 -1
  186. package/dist/esm/internals/reactive.d.ts +77 -0
  187. package/dist/esm/internals/reactive.d.ts.map +1 -0
  188. package/dist/esm/internals/{derived.js → reactive.js} +41 -29
  189. package/dist/esm/internals/reactive.js.map +1 -0
  190. package/dist/esm/internals/scheduling.d.ts +7 -7
  191. package/dist/esm/internals/scheduling.d.ts.map +1 -1
  192. package/dist/esm/internals/scheduling.js +6 -6
  193. package/dist/esm/internals/scheduling.js.map +1 -1
  194. package/dist/esm/internals/signal.d.ts +20 -0
  195. package/dist/esm/internals/signal.d.ts.map +1 -0
  196. package/dist/esm/internals/{state.js → signal.js} +25 -22
  197. package/dist/esm/internals/signal.js.map +1 -0
  198. package/dist/{cjs → esm/internals}/trace.d.ts +1 -1
  199. package/dist/esm/internals/trace.d.ts.map +1 -0
  200. package/dist/esm/{trace.js → internals/trace.js} +1 -1
  201. package/dist/esm/internals/trace.js.map +1 -0
  202. package/dist/esm/internals/utils/equals.d.ts +4 -4
  203. package/dist/esm/internals/utils/equals.d.ts.map +1 -1
  204. package/dist/esm/internals/utils/equals.js.map +1 -1
  205. package/dist/esm/internals/utils/type-utils.d.ts +0 -2
  206. package/dist/esm/internals/utils/type-utils.d.ts.map +1 -1
  207. package/dist/esm/internals/utils/type-utils.js +0 -4
  208. package/dist/esm/internals/utils/type-utils.js.map +1 -1
  209. package/dist/esm/internals/watch.d.ts +4 -0
  210. package/dist/esm/internals/watch.d.ts.map +1 -0
  211. package/dist/esm/internals/{connect.js → watch.js} +7 -7
  212. package/dist/esm/internals/watch.js.map +1 -0
  213. package/dist/esm/internals/weakref.d.ts.map +1 -0
  214. package/dist/esm/internals/weakref.js.map +1 -0
  215. package/dist/esm/react/component.d.ts +2 -0
  216. package/dist/esm/react/component.d.ts.map +1 -0
  217. package/dist/esm/react/component.js +37 -0
  218. package/dist/esm/react/component.js.map +1 -0
  219. package/dist/esm/react/context.d.ts +2 -1
  220. package/dist/esm/react/context.d.ts.map +1 -1
  221. package/dist/esm/react/context.js +10 -6
  222. package/dist/esm/react/context.js.map +1 -1
  223. package/dist/esm/react/index.d.ts +4 -4
  224. package/dist/esm/react/index.d.ts.map +1 -1
  225. package/dist/esm/react/index.js +4 -4
  226. package/dist/esm/react/index.js.map +1 -1
  227. package/dist/esm/react/provider.d.ts.map +1 -1
  228. package/dist/esm/react/provider.js +2 -2
  229. package/dist/esm/react/provider.js.map +1 -1
  230. package/dist/esm/react/rendering.d.ts +0 -6
  231. package/dist/esm/react/rendering.d.ts.map +1 -1
  232. package/dist/esm/react/rendering.js +1 -17
  233. package/dist/esm/react/rendering.js.map +1 -1
  234. package/dist/esm/react/use-reactive.d.ts +7 -0
  235. package/dist/esm/react/use-reactive.d.ts.map +1 -0
  236. package/dist/esm/react/use-reactive.js +64 -0
  237. package/dist/esm/react/use-reactive.js.map +1 -0
  238. package/dist/esm/react/use-signal.d.ts +3 -0
  239. package/dist/esm/react/use-signal.d.ts.map +1 -0
  240. package/dist/esm/react/use-signal.js +10 -0
  241. package/dist/esm/react/use-signal.js.map +1 -0
  242. package/dist/esm/{transform.d.ts → transform/async.d.ts} +1 -1
  243. package/dist/esm/transform/async.d.ts.map +1 -0
  244. package/dist/esm/{transform.js → transform/async.js} +22 -9
  245. package/dist/esm/transform/async.js.map +1 -0
  246. package/dist/esm/transform/callback.d.ts +6 -0
  247. package/dist/esm/transform/callback.d.ts.map +1 -0
  248. package/dist/esm/transform/callback.js +256 -0
  249. package/dist/esm/transform/callback.js.map +1 -0
  250. package/dist/esm/transform/index.d.ts +5 -0
  251. package/dist/esm/transform/index.d.ts.map +1 -0
  252. package/dist/esm/transform/index.js +5 -0
  253. package/dist/esm/transform/index.js.map +1 -0
  254. package/dist/esm/transform/preset.d.ts +7 -0
  255. package/dist/esm/transform/preset.d.ts.map +1 -0
  256. package/dist/esm/transform/preset.js +17 -0
  257. package/dist/esm/transform/preset.js.map +1 -0
  258. package/dist/esm/transform/promise.d.ts +6 -0
  259. package/dist/esm/transform/promise.d.ts.map +1 -0
  260. package/dist/esm/transform/promise.js +126 -0
  261. package/dist/esm/transform/promise.js.map +1 -0
  262. package/dist/esm/types.d.ts +44 -63
  263. package/dist/esm/types.d.ts.map +1 -1
  264. package/dist/esm/utils.d.ts +2 -0
  265. package/dist/esm/utils.d.ts.map +1 -0
  266. package/dist/esm/utils.js +2 -0
  267. package/dist/esm/utils.js.map +1 -0
  268. package/package.json +56 -58
  269. package/react.js +0 -4
  270. package/transform.js +1 -5
  271. package/utils.js +15 -0
  272. package/.turbo/turbo-build.log +0 -12
  273. package/dist/cjs/hooks.d.ts +0 -16
  274. package/dist/cjs/hooks.d.ts.map +0 -1
  275. package/dist/cjs/hooks.js +0 -44
  276. package/dist/cjs/hooks.js.map +0 -1
  277. package/dist/cjs/internals/connect.d.ts +0 -4
  278. package/dist/cjs/internals/connect.d.ts.map +0 -1
  279. package/dist/cjs/internals/connect.js.map +0 -1
  280. package/dist/cjs/internals/derived.d.ts +0 -76
  281. package/dist/cjs/internals/derived.d.ts.map +0 -1
  282. package/dist/cjs/internals/derived.js.map +0 -1
  283. package/dist/cjs/internals/state.d.ts +0 -18
  284. package/dist/cjs/internals/state.d.ts.map +0 -1
  285. package/dist/cjs/internals/state.js.map +0 -1
  286. package/dist/cjs/react/setup.d.ts +0 -2
  287. package/dist/cjs/react/setup.d.ts.map +0 -1
  288. package/dist/cjs/react/setup.js +0 -14
  289. package/dist/cjs/react/setup.js.map +0 -1
  290. package/dist/cjs/react/signal-value.d.ts +0 -6
  291. package/dist/cjs/react/signal-value.d.ts.map +0 -1
  292. package/dist/cjs/react/signal-value.js +0 -37
  293. package/dist/cjs/react/signal-value.js.map +0 -1
  294. package/dist/cjs/react/state.d.ts +0 -3
  295. package/dist/cjs/react/state.d.ts.map +0 -1
  296. package/dist/cjs/react/state.js.map +0 -1
  297. package/dist/cjs/trace.d.ts.map +0 -1
  298. package/dist/cjs/trace.js.map +0 -1
  299. package/dist/cjs/transform.d.ts.map +0 -1
  300. package/dist/cjs/transform.js.map +0 -1
  301. package/dist/cjs/weakref.d.ts.map +0 -1
  302. package/dist/cjs/weakref.js.map +0 -1
  303. package/dist/esm/hooks.d.ts +0 -16
  304. package/dist/esm/hooks.d.ts.map +0 -1
  305. package/dist/esm/hooks.js +0 -37
  306. package/dist/esm/hooks.js.map +0 -1
  307. package/dist/esm/internals/connect.d.ts +0 -4
  308. package/dist/esm/internals/connect.d.ts.map +0 -1
  309. package/dist/esm/internals/connect.js.map +0 -1
  310. package/dist/esm/internals/derived.d.ts +0 -76
  311. package/dist/esm/internals/derived.d.ts.map +0 -1
  312. package/dist/esm/internals/derived.js.map +0 -1
  313. package/dist/esm/internals/state.d.ts +0 -18
  314. package/dist/esm/internals/state.d.ts.map +0 -1
  315. package/dist/esm/internals/state.js.map +0 -1
  316. package/dist/esm/react/setup.d.ts +0 -2
  317. package/dist/esm/react/setup.d.ts.map +0 -1
  318. package/dist/esm/react/setup.js +0 -11
  319. package/dist/esm/react/setup.js.map +0 -1
  320. package/dist/esm/react/signal-value.d.ts +0 -6
  321. package/dist/esm/react/signal-value.d.ts.map +0 -1
  322. package/dist/esm/react/signal-value.js +0 -33
  323. package/dist/esm/react/signal-value.js.map +0 -1
  324. package/dist/esm/react/state.d.ts +0 -3
  325. package/dist/esm/react/state.d.ts.map +0 -1
  326. package/dist/esm/react/state.js +0 -10
  327. package/dist/esm/react/state.js.map +0 -1
  328. package/dist/esm/trace.d.ts.map +0 -1
  329. package/dist/esm/trace.js.map +0 -1
  330. package/dist/esm/transform.d.ts.map +0 -1
  331. package/dist/esm/transform.js.map +0 -1
  332. package/dist/esm/weakref.d.ts.map +0 -1
  333. package/dist/esm/weakref.js.map +0 -1
  334. package/src/__tests__/__snapshots__/context.test.ts.snap +0 -2101
  335. package/src/__tests__/__snapshots__/nesting.test.ts.snap +0 -16201
  336. package/src/__tests__/__snapshots__/params-and-state.test.ts.snap +0 -1879
  337. package/src/__tests__/async-task.test.ts +0 -327
  338. package/src/__tests__/context.test.ts +0 -619
  339. package/src/__tests__/gc.test.ts +0 -256
  340. package/src/__tests__/nesting.test.ts +0 -298
  341. package/src/__tests__/params-and-state.test.ts +0 -230
  342. package/src/__tests__/reactive-async.test.ts +0 -548
  343. package/src/__tests__/reactive-sync.test.ts +0 -130
  344. package/src/__tests__/subscription.test.ts +0 -510
  345. package/src/__tests__/utils/async.ts +0 -6
  346. package/src/__tests__/utils/instrumented-hooks.ts +0 -410
  347. package/src/__tests__/utils/permute.ts +0 -85
  348. package/src/config.ts +0 -54
  349. package/src/debug.ts +0 -14
  350. package/src/hooks.ts +0 -82
  351. package/src/index.ts +0 -20
  352. package/src/internals/async.ts +0 -563
  353. package/src/internals/connect.ts +0 -49
  354. package/src/internals/consumer.ts +0 -13
  355. package/src/internals/contexts.ts +0 -173
  356. package/src/internals/derived.ts +0 -217
  357. package/src/internals/dirty.ts +0 -91
  358. package/src/internals/edge.ts +0 -109
  359. package/src/internals/get.ts +0 -298
  360. package/src/internals/scheduling.ts +0 -160
  361. package/src/internals/state.ts +0 -111
  362. package/src/internals/utils/debug-name.ts +0 -14
  363. package/src/internals/utils/equals.ts +0 -12
  364. package/src/internals/utils/hash.ts +0 -221
  365. package/src/internals/utils/stringify.ts +0 -57
  366. package/src/internals/utils/type-utils.ts +0 -19
  367. package/src/react/__tests__/async.test.tsx +0 -704
  368. package/src/react/__tests__/basic.test.tsx +0 -95
  369. package/src/react/__tests__/contexts.test.tsx +0 -181
  370. package/src/react/__tests__/subscriptions.test.tsx +0 -49
  371. package/src/react/__tests__/utils.tsx +0 -40
  372. package/src/react/context.ts +0 -14
  373. package/src/react/index.ts +0 -6
  374. package/src/react/provider.tsx +0 -18
  375. package/src/react/rendering.ts +0 -43
  376. package/src/react/setup.ts +0 -11
  377. package/src/react/signal-value.ts +0 -50
  378. package/src/react/state.ts +0 -13
  379. package/src/trace.ts +0 -454
  380. package/src/transform.ts +0 -113
  381. package/src/types.ts +0 -115
  382. package/src/weakref.ts +0 -9
  383. package/tsconfig.json +0 -13
  384. package/vitest.workspace.ts +0 -61
  385. /package/dist/cjs/{weakref.d.ts → internals/weakref.d.ts} +0 -0
  386. /package/dist/cjs/{weakref.js → internals/weakref.js} +0 -0
  387. /package/dist/esm/{weakref.d.ts → internals/weakref.d.ts} +0 -0
  388. /package/dist/esm/{weakref.js → internals/weakref.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../../../src/internals/consumer.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAI,gBAAqD,CAAC;AAEjE,MAAM,CAAC,IAAI,WAAW,GAAG,KAAK,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAmB,EAAE,EAAE;IACnD,WAAW,GAAG,UAAU,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAA6C,EAAE,EAAE;IAClF,gBAAgB,GAAG,QAAQ,CAAC;AAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../../../src/internals/consumer.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAI,gBAAwD,CAAC;AAEpE,MAAM,CAAC,IAAI,WAAW,GAAG,KAAK,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAmB,EAAE,EAAE;IACnD,WAAW,GAAG,UAAU,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAgD,EAAE,EAAE;IACrF,gBAAgB,GAAG,QAAQ,CAAC;AAC9B,CAAC,CAAC"}
@@ -1,6 +1,4 @@
1
- import { SignalOptionsWithInit } from '../types.js';
2
- import { DerivedSignal, DerivedSignalDefinition } from './derived.js';
3
- export declare const CONTEXT_KEY: unique symbol;
1
+ import { ReactiveFnSignal, ReactiveFnDefinition } from './reactive.js';
4
2
  export type Context<T> = {
5
3
  defaultValue: T;
6
4
  };
@@ -13,28 +11,31 @@ export declare class ContextImpl<T> {
13
11
  _description: string;
14
12
  constructor(defaultValue: T, desc?: string);
15
13
  }
16
- export declare const createContext: <T>(initialValue: T, description?: string) => Context<T>;
14
+ export declare const context: <T>(initialValue: T, description?: string) => Context<T>;
15
+ export declare function withContexts<C extends unknown[], U>(contexts: [...ContextPair<C>], fn: () => U): U;
16
+ export declare const getContext: <T>(context: Context<T>) => T;
17
17
  export declare class SignalScope {
18
- constructor(contexts: [ContextImpl<unknown>, unknown][], parent?: SignalScope);
19
18
  private parentScope?;
19
+ constructor(contexts: [ContextImpl<unknown>, unknown][], parent?: SignalScope);
20
20
  private contexts;
21
21
  private children;
22
22
  private signals;
23
23
  private gcCandidates;
24
+ setContexts(contexts: [ContextImpl<unknown>, unknown][]): void;
24
25
  getChild(contexts: [ContextImpl<unknown>, unknown][]): SignalScope;
25
26
  getContext<T>(_context: Context<T>): T | undefined;
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;
27
+ get<T, Args extends unknown[]>(def: ReactiveFnDefinition<T, Args>, args: Args): ReactiveFnSignal<T, Args>;
28
+ markForGc(signal: ReactiveFnSignal<any, any>): void;
29
+ removeFromGc(signal: ReactiveFnSignal<any, any>): void;
30
+ forceGc(signal: ReactiveFnSignal<any, any>): void;
30
31
  sweepGc(): void;
31
32
  }
32
- export declare let ROOT_SCOPE: SignalScope;
33
- export declare function setRootContexts<C extends unknown[], U>(contexts: [...ContextPair<C>]): void;
34
- export declare const clearRootScope: () => void;
33
+ export declare let GLOBAL_SCOPE: SignalScope;
34
+ export declare function setGlobalContexts<C extends unknown[], U>(contexts: [...ContextPair<C>]): void;
35
+ export declare const clearGlobalContexts: () => void;
36
+ export declare let CURRENT_SCOPE: SignalScope | undefined;
37
+ export declare const setCurrentScope: (scope: SignalScope | undefined) => void;
35
38
  export declare const getCurrentScope: () => SignalScope;
36
- export declare function withContexts<C extends unknown[], U>(contexts: [...ContextPair<C>], fn: () => U): U;
37
- export declare const withScope: <T>(scope: SignalScope, fn: () => T) => T;
38
- export declare const useContext: <T>(context: Context<T>) => T;
39
+ export declare const getOwner: (owner: object) => SignalScope | undefined;
39
40
  export declare function forceGc(_signal: object): void;
40
41
  //# 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,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"}
1
+ {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../../src/internals/contexts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAA0B,MAAM,eAAe,CAAC;AAO/F,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,OAAO,GAAI,CAAC,gBAAgB,CAAC,gBAAgB,MAAM,KAAG,OAAO,CAAC,CAAC,CAE3E,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,UAAU,GAAI,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,KAAG,CAUnD,CAAC;AAIF,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAC,CAAc;gBAEtB,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW;IAO7E,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,YAAY,CAAyC;IAE7D,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE;IAYvD,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,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC;IAazG,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC;IAO5C,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC;IAI/C,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC;IAI1C,OAAO;CASR;AAED,eAAO,IAAI,YAAY,aAAsB,CAAC;AAE9C,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAE7F;AAED,eAAO,MAAM,mBAAmB,YAE/B,CAAC;AAEF,eAAO,IAAI,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;AAElD,eAAO,MAAM,eAAe,UAAW,WAAW,GAAG,SAAS,SAE7D,CAAC;AAEF,eAAO,MAAM,eAAe,QAAO,WAElC,CAAC;AAMF,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,WAAW,GAAG,SAEtD,CAAC;AAIF,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,QAGtC"}
@@ -1,9 +1,7 @@
1
- import { getFrameworkScope } from '../config.js';
2
- import { createDerivedSignal } from './derived.js';
3
- import { CURRENT_CONSUMER } from './get.js';
1
+ import { createReactiveFnSignal } from './reactive.js';
4
2
  import { hashReactiveFn, hashValue } from './utils/hash.js';
5
3
  import { scheduleGcSweep } from './scheduling.js';
6
- export const CONTEXT_KEY = Symbol('signalium:context');
4
+ import { CURRENT_CONSUMER } from './consumer.js';
7
5
  let CONTEXT_ID = 0;
8
6
  export class ContextImpl {
9
7
  defaultValue;
@@ -15,22 +13,48 @@ export class ContextImpl {
15
13
  this._key = Symbol(this._description);
16
14
  }
17
15
  }
18
- export const createContext = (initialValue, description) => {
16
+ export const context = (initialValue, description) => {
19
17
  return new ContextImpl(initialValue, description);
20
18
  };
19
+ export function withContexts(contexts, fn) {
20
+ const prevScope = CURRENT_SCOPE;
21
+ const currentScope = getCurrentScope();
22
+ try {
23
+ CURRENT_SCOPE = currentScope.getChild(contexts);
24
+ return fn();
25
+ }
26
+ finally {
27
+ CURRENT_SCOPE = prevScope;
28
+ }
29
+ }
30
+ export const getContext = (context) => {
31
+ const scope = CURRENT_SCOPE ?? CURRENT_CONSUMER?.scope;
32
+ if (scope === undefined) {
33
+ throw new Error('getContext must be used within a reactive function, a withContext, or within a framework-specific context provider.');
34
+ }
35
+ return scope.getContext(context) ?? context.defaultValue;
36
+ };
37
+ // ======= Signal Scope =======
21
38
  export class SignalScope {
39
+ parentScope;
22
40
  constructor(contexts, parent) {
23
41
  this.parentScope = parent;
24
42
  this.contexts = Object.create(parent?.contexts || null);
25
- for (const [context, value] of contexts) {
26
- this.contexts[context._key] = value;
27
- }
43
+ this.setContexts(contexts);
28
44
  }
29
- parentScope = undefined;
30
45
  contexts;
31
46
  children = new Map();
32
47
  signals = new Map();
33
48
  gcCandidates = new Set();
49
+ setContexts(contexts) {
50
+ for (const [context, value] of contexts) {
51
+ this.contexts[context._key] = value;
52
+ if (typeof value === 'object' && value !== null) {
53
+ OWNER_SCOPE_MAP.set(value, this);
54
+ }
55
+ }
56
+ this.signals.clear();
57
+ }
34
58
  getChild(contexts) {
35
59
  const key = hashValue(contexts);
36
60
  let child = this.children.get(key);
@@ -44,12 +68,12 @@ export class SignalScope {
44
68
  const context = _context;
45
69
  return this.contexts[context._key];
46
70
  }
47
- get(def, args, opts) {
48
- const paramKey = opts?.paramKey?.(...args);
71
+ get(def, args) {
72
+ const paramKey = def.paramKey?.(...args);
49
73
  const key = hashReactiveFn(def.compute, paramKey ? [paramKey] : args);
50
74
  let signal = this.signals.get(key);
51
75
  if (signal === undefined) {
52
- signal = createDerivedSignal(def, args, key, this, opts);
76
+ signal = createReactiveFnSignal(def, args, key, this);
53
77
  this.signals.set(key, signal);
54
78
  }
55
79
  return signal;
@@ -69,54 +93,32 @@ export class SignalScope {
69
93
  sweepGc() {
70
94
  for (const signal of this.gcCandidates) {
71
95
  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
- }
96
+ this.signals.delete(signal.key);
76
97
  }
77
98
  }
78
99
  this.gcCandidates = new Set();
79
100
  }
80
101
  }
81
- export let ROOT_SCOPE = new SignalScope([]);
82
- export function setRootContexts(contexts) {
83
- ROOT_SCOPE = new SignalScope(contexts, ROOT_SCOPE);
102
+ export let GLOBAL_SCOPE = new SignalScope([]);
103
+ export function setGlobalContexts(contexts) {
104
+ GLOBAL_SCOPE.setContexts(contexts);
84
105
  }
85
- export const clearRootScope = () => {
86
- ROOT_SCOPE = new SignalScope([]);
106
+ export const clearGlobalContexts = () => {
107
+ GLOBAL_SCOPE = new SignalScope([]);
87
108
  };
88
- let OVERRIDE_SCOPE;
89
- export const getCurrentScope = () => {
90
- return OVERRIDE_SCOPE ?? CURRENT_CONSUMER?.scope ?? getFrameworkScope() ?? ROOT_SCOPE;
109
+ export let CURRENT_SCOPE;
110
+ export const setCurrentScope = (scope) => {
111
+ CURRENT_SCOPE = scope;
91
112
  };
92
- export function withContexts(contexts, fn) {
93
- const prevScope = OVERRIDE_SCOPE;
94
- const currentScope = getCurrentScope();
95
- try {
96
- OVERRIDE_SCOPE = currentScope.getChild(contexts);
97
- return fn();
98
- }
99
- finally {
100
- OVERRIDE_SCOPE = prevScope;
101
- }
102
- }
103
- export const withScope = (scope, fn) => {
104
- const prevScope = OVERRIDE_SCOPE;
105
- try {
106
- OVERRIDE_SCOPE = scope;
107
- return fn();
108
- }
109
- finally {
110
- OVERRIDE_SCOPE = prevScope;
111
- }
113
+ export const getCurrentScope = () => {
114
+ return CURRENT_SCOPE ?? CURRENT_CONSUMER?.scope ?? GLOBAL_SCOPE;
112
115
  };
113
- export const useContext = (context) => {
114
- const scope = OVERRIDE_SCOPE ?? CURRENT_CONSUMER?.scope ?? getFrameworkScope();
115
- if (scope === undefined) {
116
- throw new Error('useContext must be used within a signal hook, a withContext, or within a framework-specific context provider.');
117
- }
118
- return scope.getContext(context) ?? context.defaultValue;
116
+ // ======= Owner =======
117
+ const OWNER_SCOPE_MAP = new Map();
118
+ export const getOwner = (owner) => {
119
+ return OWNER_SCOPE_MAP.get(owner);
119
120
  };
121
+ // ======= Test Helper =======
120
122
  export function forceGc(_signal) {
121
123
  const signal = _signal;
122
124
  signal.scope?.forceGc(signal);
@@ -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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"}
@@ -0,0 +1,15 @@
1
+ import { ReactiveTask, ReactiveValue, Watcher, ReactiveOptions, RelayActivate, type DiscriminatedReactivePromise, SignalOptions, ReactiveFn } from '../types.js';
2
+ import { ReactiveFnDefinition } from './reactive.js';
3
+ import { Tracer } from './trace.js';
4
+ export declare const DERIVED_DEFINITION_MAP: Map<Function, [(...args: any) => any, ReactiveFnDefinition<any, any>]>;
5
+ export declare function getReactiveFnAndDefinition<T, Args extends unknown[]>(fn: (...args: Args) => T, opts?: ReactiveOptions<T, Args>): [(...args: Args) => ReactiveValue<T>, ReactiveFnDefinition<T, Args>];
6
+ export declare function reactive<T, Args extends unknown[]>(fn: (...args: Args) => Promise<T>, opts?: ReactiveOptions<T, Args>): (...args: Args) => DiscriminatedReactivePromise<T>;
7
+ export declare function reactive<T, Args extends unknown[]>(fn: (...args: Args) => T, opts?: ReactiveOptions<T, Args>): (...args: Args) => T;
8
+ export declare const reactiveMethod: <T, Args extends unknown[]>(owner: object, fn: (...args: Args) => T, opts?: ReactiveOptions<T, Args>) => ReactiveFn<T, Args>;
9
+ export declare function relay<T>(activate: RelayActivate<T>, opts?: SignalOptions<T>): DiscriminatedReactivePromise<T>;
10
+ export declare const task: <T, Args extends unknown[]>(fn: (...args: Args) => Promise<T>, opts?: SignalOptions<T>) => ReactiveTask<T, Args>;
11
+ export declare function watcher<T>(fn: () => T, opts?: SignalOptions<T> & {
12
+ isolate?: boolean;
13
+ tracer?: Tracer;
14
+ }): Watcher<T>;
15
+ //# sourceMappingURL=core-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-api.d.ts","sourceRoot":"","sources":["../../../src/internals/core-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,OAAO,EACP,eAAe,EACf,aAAa,EACb,KAAK,4BAA4B,EACjC,aAAa,EACb,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAA0B,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIpC,eAAO,MAAM,sBAAsB,2BAAgC,GAAG,KAAK,GAAG,kCAAoC,CAAC;AAEnH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAClE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EACxB,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,GAC9B,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CA2BtE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAChD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EACjC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,GAC9B,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,4BAA4B,CAAC,CAAC,CAAC,CAAC;AACtD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAChD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,EACxB,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,GAC9B,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC;AAQxB,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,SAC/C,MAAM,MACT,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,SACjB,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,KAC9B,UAAU,CAAC,CAAC,EAAE,IAAI,CA0BpB,CAAC;AAEF,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAI7G;AAED,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,MACxC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAC1B,aAAa,CAAC,CAAC,CAAC,KACtB,YAAY,CAAC,CAAC,EAAE,IAAI,CAItB,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAcpH"}
@@ -0,0 +1,74 @@
1
+ import { getCurrentScope, getOwner, SignalScope } from './contexts.js';
2
+ import { createReactiveFnSignal } from './reactive.js';
3
+ import { createRelay, createTask } from './async.js';
4
+ import { equalsFrom } from './utils/equals.js';
5
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
6
+ export const DERIVED_DEFINITION_MAP = new Map();
7
+ export function getReactiveFnAndDefinition(fn, opts) {
8
+ let fnAndDef = DERIVED_DEFINITION_MAP.get(fn);
9
+ if (!fnAndDef) {
10
+ const def = {
11
+ compute: fn,
12
+ equals: equalsFrom(opts?.equals),
13
+ isRelay: false,
14
+ id: opts?.id,
15
+ desc: opts?.desc,
16
+ paramKey: opts?.paramKey,
17
+ tracer: undefined,
18
+ };
19
+ const reactiveFn = (...args) => {
20
+ const scope = getCurrentScope();
21
+ const signal = scope.get(def, args);
22
+ return signal.value;
23
+ };
24
+ fnAndDef = [reactiveFn, def];
25
+ DERIVED_DEFINITION_MAP.set(fn, fnAndDef);
26
+ }
27
+ return fnAndDef;
28
+ }
29
+ export function reactive(fn, opts) {
30
+ return getReactiveFnAndDefinition(fn, opts)[0];
31
+ }
32
+ export const reactiveMethod = (owner, fn, opts) => {
33
+ const def = {
34
+ compute: fn,
35
+ equals: equalsFrom(opts?.equals),
36
+ isRelay: false,
37
+ id: opts?.id,
38
+ desc: opts?.desc,
39
+ paramKey: opts?.paramKey,
40
+ tracer: undefined,
41
+ };
42
+ const reactiveFn = (...args) => {
43
+ const scope = getOwner(owner);
44
+ if (scope === undefined) {
45
+ throw new Error('reactiveMethods must be attached to an owned context object');
46
+ }
47
+ const signal = scope.get(def, args);
48
+ return signal.value;
49
+ };
50
+ DERIVED_DEFINITION_MAP.set(reactiveFn, [reactiveFn, def]);
51
+ return reactiveFn;
52
+ };
53
+ export function relay(activate, opts) {
54
+ const scope = getCurrentScope();
55
+ return createRelay(activate, scope, opts);
56
+ }
57
+ export const task = (fn, opts) => {
58
+ const scope = getCurrentScope();
59
+ return createTask(fn, scope, opts);
60
+ };
61
+ export function watcher(fn, opts) {
62
+ const def = {
63
+ compute: fn,
64
+ equals: equalsFrom(opts?.equals),
65
+ isRelay: false,
66
+ id: opts?.id,
67
+ desc: opts?.desc,
68
+ paramKey: undefined,
69
+ tracer: opts?.tracer,
70
+ };
71
+ const scope = opts?.isolate ? new SignalScope([]) : getCurrentScope();
72
+ return createReactiveFnSignal(def, undefined, undefined, scope);
73
+ }
74
+ //# sourceMappingURL=core-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-api.js","sourceRoot":"","sources":["../../../src/internals/core-api.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { DerivedSignal } from './derived.js';
1
+ import { ReactiveFnSignal } from './reactive.js';
2
2
  import { Edge } from './edge.js';
3
- export declare function dirtySignal(signal: DerivedSignal<any, any>): void;
4
- export declare function dirtySignalConsumers(map: Map<WeakRef<DerivedSignal<any, any>>, Edge>): void;
3
+ export declare function dirtySignal(signal: ReactiveFnSignal<any, any>): void;
4
+ export declare function dirtySignalConsumers(map: Map<WeakRef<ReactiveFnSignal<any, any>>, Edge>): void;
5
5
  //# sourceMappingURL=dirty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dirty.d.ts","sourceRoot":"","sources":["../../../src/internals/dirty.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAA+B,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,QAY1D;AAyBD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAgDpF"}
1
+ {"version":3,"file":"dirty.d.ts","sourceRoot":"","sources":["../../../src/internals/dirty.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAA4B,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,wBAAgB,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,QAY7D;AAyBD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAgDvF"}
@@ -1,13 +1,13 @@
1
1
  import { scheduleAsyncPull, schedulePull } from './scheduling.js';
2
- import { isSubscription } from './derived.js';
3
- import { CURRENT_CONSUMER } from './get.js';
2
+ import { isRelay } from './reactive.js';
3
+ import { CURRENT_CONSUMER } from './consumer.js';
4
4
  export function dirtySignal(signal) {
5
5
  const prevState = signal._state;
6
- if (prevState === 2 /* SignalState.Dirty */) {
6
+ if (prevState === 2 /* ReactiveFnState.Dirty */) {
7
7
  return;
8
8
  }
9
- signal._state = 2 /* SignalState.Dirty */;
10
- if (prevState !== 3 /* SignalState.MaybeDirty */) {
9
+ signal._state = 2 /* ReactiveFnState.Dirty */;
10
+ if (prevState !== 3 /* ReactiveFnState.MaybeDirty */) {
11
11
  propagateDirty(signal);
12
12
  }
13
13
  }
@@ -15,7 +15,7 @@ function propagateDirty(signal) {
15
15
  if (CURRENT_CONSUMER === signal) {
16
16
  throw new Error('A signal was dirtied after it was consumed by the current function. This can cause race conditions and infinite rerenders and is not allowed.');
17
17
  }
18
- if (isSubscription(signal)) {
18
+ if (isRelay(signal)) {
19
19
  if (signal.watchCount > 0) {
20
20
  scheduleAsyncPull(signal);
21
21
  }
@@ -36,25 +36,25 @@ export function dirtySignalConsumers(map) {
36
36
  continue;
37
37
  const dirtyState = sub._state;
38
38
  switch (dirtyState) {
39
- case 0 /* SignalState.Clean */:
40
- sub._state = 3 /* SignalState.MaybeDirty */;
39
+ case 0 /* ReactiveFnState.Clean */:
40
+ sub._state = 3 /* ReactiveFnState.MaybeDirty */;
41
41
  sub.dirtyHead = edge;
42
42
  edge.nextDirty = undefined;
43
43
  propagateDirty(sub);
44
44
  break;
45
- case 1 /* SignalState.Pending */:
46
- case 3 /* SignalState.MaybeDirty */: {
45
+ case 1 /* ReactiveFnState.Pending */:
46
+ case 3 /* ReactiveFnState.MaybeDirty */: {
47
47
  let subEdge = sub.dirtyHead;
48
48
  const ord = edge.ord;
49
49
  if (subEdge.ord > ord) {
50
50
  sub.dirtyHead = edge;
51
51
  edge.nextDirty = subEdge;
52
- if (dirtyState === 1 /* SignalState.Pending */) {
52
+ if (dirtyState === 1 /* ReactiveFnState.Pending */) {
53
53
  // If the signal is pending, the first edge is the halt edge. If the
54
54
  // new dirty edge is BEFORE the halt edge, then it means that something
55
55
  // changed before the current halt, so we need to cancel the current computation
56
56
  // and recompute.
57
- sub._state = 3 /* SignalState.MaybeDirty */;
57
+ sub._state = 3 /* ReactiveFnState.MaybeDirty */;
58
58
  propagateDirty(sub);
59
59
  }
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dirty.js","sourceRoot":"","sources":["../../../src/internals/dirty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dirty.js","sourceRoot":"","sources":["../../../src/internals/dirty.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { ReactivePromise } from './async.js';
2
- import type { DerivedSignal } from './derived.js';
2
+ import type { ReactiveFnSignal } from './reactive.js';
3
3
  export declare const enum EdgeType {
4
4
  Signal = 0,
5
5
  Promise = 1
6
6
  }
7
7
  export interface EdgeTypeDep {
8
- [EdgeType.Signal]: DerivedSignal<any, any>;
8
+ [EdgeType.Signal]: ReactiveFnSignal<any, any>;
9
9
  [EdgeType.Promise]: ReactivePromise<any>;
10
10
  }
11
11
  interface BaseEdge {
@@ -18,7 +18,7 @@ interface BaseEdge {
18
18
  }
19
19
  export interface SignalEdge extends BaseEdge {
20
20
  type: EdgeType.Signal;
21
- dep: DerivedSignal<any, any>;
21
+ dep: ReactiveFnSignal<any, any>;
22
22
  }
23
23
  export interface PromiseEdge extends BaseEdge {
24
24
  type: EdgeType.Promise;
@@ -26,7 +26,7 @@ export interface PromiseEdge extends BaseEdge {
26
26
  }
27
27
  export type Edge = SignalEdge | PromiseEdge;
28
28
  export declare function createEdge<T extends EdgeType, R extends T extends EdgeType.Signal ? SignalEdge : PromiseEdge>(prevEdge: Edge | undefined, type: T, dep: EdgeTypeDep[T], updatedAt: number, consumedAt: number): R;
29
- export declare function insertDirty(node: DerivedSignal<any, any>, edge: Edge): void;
30
- export declare function findAndRemoveDirty(sub: DerivedSignal<any, any>, dep: DerivedSignal<any, any> | ReactivePromise<any>): Edge | undefined;
29
+ export declare function insertDirty(node: ReactiveFnSignal<any, any>, edge: Edge): void;
30
+ export declare function findAndRemoveDirty(sub: ReactiveFnSignal<any, any>, dep: ReactiveFnSignal<any, any> | ReactivePromise<any>): Edge | undefined;
31
31
  export {};
32
32
  //# sourceMappingURL=edge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../../src/internals/edge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD,0BAAkB,QAAQ;IACxB,MAAM,IAAI;IACV,OAAO,IAAI;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;IACtB,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;IACvB,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;CAC3B;AAED,MAAM,MAAM,IAAI,GAAG,UAAU,GAAG,WAAW,CAAC;AAE5C,wBAAgB,UAAU,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,CAAC,SAAS,QAAQ,CAAC,MAAM,GAAG,UAAU,GAAG,WAAW,EAC3G,QAAQ,EAAE,IAAI,GAAG,SAAS,EAC1B,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,CAAC,CAiBH;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,QAgBpE;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAC5B,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,GAClD,IAAI,GAAG,SAAS,CAyBlB"}
1
+ {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../../src/internals/edge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAItD,0BAAkB,QAAQ;IACxB,MAAM,IAAI;IACV,OAAO,IAAI;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;IACtB,GAAG,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;IACvB,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;CAC3B;AAED,MAAM,MAAM,IAAI,GAAG,UAAU,GAAG,WAAW,CAAC;AAE5C,wBAAgB,UAAU,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,CAAC,SAAS,QAAQ,CAAC,MAAM,GAAG,UAAU,GAAG,WAAW,EAC3G,QAAQ,EAAE,IAAI,GAAG,SAAS,EAC1B,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,CAAC,CAiBH;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,QAgBvE;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,GAAG,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,GACrD,IAAI,GAAG,SAAS,CAyBlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../../src/internals/edge.ts"],"names":[],"mappings":"AAGA,IAAI,WAAW,GAAG,CAAC,CAAC;AAkCpB,MAAM,UAAU,UAAU,CACxB,QAA0B,EAC1B,IAAO,EACP,GAAmB,EACnB,SAAiB,EACjB,UAAkB;IAElB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI;YACJ,GAAG;YACH,GAAG,EAAE,WAAW,EAAE;YAClB,SAAS;YACT,UAAU;YACV,SAAS,EAAE,SAAS;SAChB,CAAC;IACT,CAAC;IAED,QAAQ,CAAC,GAAG,GAAG,WAAW,EAAE,CAAC;IAC7B,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,OAAO,QAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAA6B,EAAE,IAAU;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;IAEjC,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;QAErC,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;YACpD,WAAW,GAAG,QAAQ,CAAC;YACvB,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;QACnC,CAAC;QAED,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,GAA4B,EAC5B,GAAmD;IAEnD,IAAI,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;IAEzB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QACrB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;IAE9B,OAAO,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACpC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,GAAG,QAAQ,CAAC;QAChB,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../../src/internals/edge.ts"],"names":[],"mappings":"AAGA,IAAI,WAAW,GAAG,CAAC,CAAC;AAkCpB,MAAM,UAAU,UAAU,CACxB,QAA0B,EAC1B,IAAO,EACP,GAAmB,EACnB,SAAiB,EACjB,UAAkB;IAElB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI;YACJ,GAAG;YACH,GAAG,EAAE,WAAW,EAAE;YAClB,SAAS;YACT,UAAU;YACV,SAAS,EAAE,SAAS;SAChB,CAAC;IACT,CAAC;IAED,QAAQ,CAAC,GAAG,GAAG,WAAW,EAAE,CAAC;IAC7B,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,OAAO,QAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAgC,EAAE,IAAU;IACtE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;IAEjC,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;QAErC,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;YACpD,WAAW,GAAG,QAAQ,CAAC;YACvB,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC;QACnC,CAAC;QAED,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,GAA+B,EAC/B,GAAsD;IAEtD,IAAI,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;IAEzB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QACrB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;IAE9B,OAAO,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACpC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,GAAG,QAAQ,CAAC;QAChB,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { SignalScope } from './contexts.js';
2
+ import { ReactiveFnSignal } from './reactive.js';
3
+ export declare function generatorResultToPromiseWithConsumer<T>(generator: Generator<any, T>, savedConsumer: ReactiveFnSignal<any, any> | undefined): Promise<T>;
4
+ export declare function generatorResultToPromiseWithScope<T, Args extends unknown[]>(generator: Generator<any, T>, savedScope: SignalScope | undefined): Promise<T>;
5
+ //# sourceMappingURL=generators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generators.d.ts","sourceRoot":"","sources":["../../../src/internals/generators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkC,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,wBAAgB,oCAAoC,CAAC,CAAC,EACpD,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAC5B,aAAa,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GACpD,OAAO,CAAC,CAAC,CAAC,CAuCZ;AAED,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EACzE,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAC5B,UAAU,EAAE,WAAW,GAAG,SAAS,GAClC,OAAO,CAAC,CAAC,CAAC,CAuCZ"}
@@ -0,0 +1,79 @@
1
+ import { isReactivePromise } from './async.js';
2
+ import { CURRENT_CONSUMER, setCurrentConsumer } from './consumer.js';
3
+ import { CURRENT_SCOPE, setCurrentScope } from './contexts.js';
4
+ import { isPromise } from './utils/type-utils.js';
5
+ export function generatorResultToPromiseWithConsumer(generator, savedConsumer) {
6
+ function adopt(value) {
7
+ return typeof value === 'object' && value !== null && (isPromise(value) || isReactivePromise(value))
8
+ ? value
9
+ : Promise.resolve(value);
10
+ }
11
+ return new Promise((resolve, reject) => {
12
+ function step(fn, value) {
13
+ const prevConsumer = CURRENT_CONSUMER;
14
+ try {
15
+ setCurrentConsumer(savedConsumer);
16
+ const result = fn(value);
17
+ if (result.done) {
18
+ resolve(result.value);
19
+ }
20
+ else {
21
+ adopt(result.value).then(fulfilled, rejected);
22
+ }
23
+ }
24
+ catch (e) {
25
+ reject(e);
26
+ }
27
+ finally {
28
+ setCurrentConsumer(prevConsumer);
29
+ }
30
+ }
31
+ const nextFn = generator.next.bind(generator);
32
+ const throwFn = generator.throw.bind(generator);
33
+ function fulfilled(value) {
34
+ step(nextFn, value);
35
+ }
36
+ function rejected(value) {
37
+ step(throwFn, value);
38
+ }
39
+ step(nextFn);
40
+ });
41
+ }
42
+ export function generatorResultToPromiseWithScope(generator, savedScope) {
43
+ function adopt(value) {
44
+ return typeof value === 'object' && value !== null && (isPromise(value) || isReactivePromise(value))
45
+ ? value
46
+ : Promise.resolve(value);
47
+ }
48
+ return new Promise((resolve, reject) => {
49
+ function step(fn, value) {
50
+ const prevScope = CURRENT_SCOPE;
51
+ try {
52
+ setCurrentScope(savedScope);
53
+ const result = fn(value);
54
+ if (result.done) {
55
+ resolve(result.value);
56
+ }
57
+ else {
58
+ adopt(result.value).then(fulfilled, rejected);
59
+ }
60
+ }
61
+ catch (e) {
62
+ reject(e);
63
+ }
64
+ finally {
65
+ setCurrentScope(prevScope);
66
+ }
67
+ }
68
+ const nextFn = generator.next.bind(generator);
69
+ const throwFn = generator.throw.bind(generator);
70
+ function fulfilled(value) {
71
+ step(nextFn, value);
72
+ }
73
+ function rejected(value) {
74
+ step(throwFn, value);
75
+ }
76
+ step(nextFn);
77
+ });
78
+ }
79
+ //# sourceMappingURL=generators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generators.js","sourceRoot":"","sources":["../../../src/internals/generators.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
- import { DerivedSignal } from './derived.js';
1
+ import { ReactiveFnSignal } from './reactive.js';
2
2
  import { ReactiveValue } from '../types.js';
3
- export declare let CURRENT_CONSUMER: DerivedSignal<any, any> | undefined;
4
- export declare function getSignal<T, Args extends unknown[]>(signal: DerivedSignal<T, Args>): ReactiveValue<T>;
5
- export declare function checkSignal(signal: DerivedSignal<any, any>): number;
6
- export declare function runSignal(signal: DerivedSignal<any, any[]>): void;
7
- export declare function checkAndRunListeners(signal: DerivedSignal<any, any>, willWatch?: boolean): number;
8
- export declare function callback<T, Args extends unknown[]>(fn: (...args: Args) => T): (...args: Args) => T;
9
- export declare function generatorResultToPromise<T, Args extends unknown[]>(generator: Generator<any, T>, savedConsumer: DerivedSignal<any, any> | undefined): Promise<T>;
3
+ export declare function getSignal<T, Args extends unknown[]>(signal: ReactiveFnSignal<T, Args>): ReactiveValue<T>;
4
+ export declare function checkSignal(signal: ReactiveFnSignal<any, any>): number;
5
+ export declare function runSignal(signal: ReactiveFnSignal<any, any[]>): void;
6
+ export declare function checkAndRunListeners(signal: ReactiveFnSignal<any, any>): number;
10
7
  //# sourceMappingURL=get.d.ts.map