signalium 1.2.2 → 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 +28 -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 -23
  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 +15 -14
  32. package/dist/cjs/internals/contexts.d.ts.map +1 -1
  33. package/dist/cjs/internals/contexts.js +52 -52
  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 +15 -14
  164. package/dist/esm/internals/contexts.d.ts.map +1 -1
  165. package/dist/esm/internals/contexts.js +46 -46
  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 -21
  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 -177
  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
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generatorResultToPromiseWithConsumer = generatorResultToPromiseWithConsumer;
4
+ exports.generatorResultToPromiseWithScope = generatorResultToPromiseWithScope;
5
+ const async_js_1 = require("./async.js");
6
+ const consumer_js_1 = require("./consumer.js");
7
+ const contexts_js_1 = require("./contexts.js");
8
+ const type_utils_js_1 = require("./utils/type-utils.js");
9
+ function generatorResultToPromiseWithConsumer(generator, savedConsumer) {
10
+ function adopt(value) {
11
+ return typeof value === 'object' && value !== null && ((0, type_utils_js_1.isPromise)(value) || (0, async_js_1.isReactivePromise)(value))
12
+ ? value
13
+ : Promise.resolve(value);
14
+ }
15
+ return new Promise((resolve, reject) => {
16
+ function step(fn, value) {
17
+ const prevConsumer = consumer_js_1.CURRENT_CONSUMER;
18
+ try {
19
+ (0, consumer_js_1.setCurrentConsumer)(savedConsumer);
20
+ const result = fn(value);
21
+ if (result.done) {
22
+ resolve(result.value);
23
+ }
24
+ else {
25
+ adopt(result.value).then(fulfilled, rejected);
26
+ }
27
+ }
28
+ catch (e) {
29
+ reject(e);
30
+ }
31
+ finally {
32
+ (0, consumer_js_1.setCurrentConsumer)(prevConsumer);
33
+ }
34
+ }
35
+ const nextFn = generator.next.bind(generator);
36
+ const throwFn = generator.throw.bind(generator);
37
+ function fulfilled(value) {
38
+ step(nextFn, value);
39
+ }
40
+ function rejected(value) {
41
+ step(throwFn, value);
42
+ }
43
+ step(nextFn);
44
+ });
45
+ }
46
+ function generatorResultToPromiseWithScope(generator, savedScope) {
47
+ function adopt(value) {
48
+ return typeof value === 'object' && value !== null && ((0, type_utils_js_1.isPromise)(value) || (0, async_js_1.isReactivePromise)(value))
49
+ ? value
50
+ : Promise.resolve(value);
51
+ }
52
+ return new Promise((resolve, reject) => {
53
+ function step(fn, value) {
54
+ const prevScope = contexts_js_1.CURRENT_SCOPE;
55
+ try {
56
+ (0, contexts_js_1.setCurrentScope)(savedScope);
57
+ const result = fn(value);
58
+ if (result.done) {
59
+ resolve(result.value);
60
+ }
61
+ else {
62
+ adopt(result.value).then(fulfilled, rejected);
63
+ }
64
+ }
65
+ catch (e) {
66
+ reject(e);
67
+ }
68
+ finally {
69
+ (0, contexts_js_1.setCurrentScope)(prevScope);
70
+ }
71
+ }
72
+ const nextFn = generator.next.bind(generator);
73
+ const throwFn = generator.throw.bind(generator);
74
+ function fulfilled(value) {
75
+ step(nextFn, value);
76
+ }
77
+ function rejected(value) {
78
+ step(throwFn, value);
79
+ }
80
+ step(nextFn);
81
+ });
82
+ }
83
+ //# 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
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/internals/get.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAA4B,MAAM,cAAc,CAAC;AAIvE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,eAAO,IAAI,gBAAgB,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;AAEjE,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAkCrG;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAiEnE;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QA8F1D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,UAAQ,UAiBtF;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,CAmBlG;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAChE,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAC5B,aAAa,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,CAAC,CAAC,CA4CZ"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/internals/get.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAA4B,MAAM,eAAe,CAAC;AAI3E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAkCxG;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAwEtE;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QA4F7D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,UAYtE"}
@@ -1,35 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CURRENT_CONSUMER = void 0;
4
3
  exports.getSignal = getSignal;
5
4
  exports.checkSignal = checkSignal;
6
5
  exports.runSignal = runSignal;
7
6
  exports.checkAndRunListeners = checkAndRunListeners;
8
- exports.callback = callback;
9
- exports.generatorResultToPromise = generatorResultToPromise;
10
7
  const scheduling_js_1 = require("./scheduling.js");
11
- const trace_js_1 = require("../trace.js");
8
+ const trace_js_1 = require("./trace.js");
9
+ const reactive_js_1 = require("./reactive.js");
12
10
  const edge_js_1 = require("./edge.js");
13
- const connect_js_1 = require("./connect.js");
11
+ const watch_js_1 = require("./watch.js");
14
12
  const async_js_1 = require("./async.js");
15
13
  const type_utils_js_1 = require("./utils/type-utils.js");
14
+ const consumer_js_1 = require("./consumer.js");
15
+ const generators_js_1 = require("./generators.js");
16
16
  function getSignal(signal) {
17
- if (exports.CURRENT_CONSUMER !== undefined) {
18
- const { ref, computedCount, deps } = exports.CURRENT_CONSUMER;
17
+ if (consumer_js_1.CURRENT_CONSUMER !== undefined) {
18
+ const { ref, computedCount, deps } = consumer_js_1.CURRENT_CONSUMER;
19
19
  const prevEdge = deps.get(signal);
20
20
  const prevConsumedAt = prevEdge?.consumedAt;
21
21
  if (prevConsumedAt !== computedCount) {
22
22
  if (prevEdge === undefined) {
23
23
  trace_js_1.TRACER?.emit({
24
24
  type: trace_js_1.TracerEventType.Connected,
25
- id: exports.CURRENT_CONSUMER.tracerMeta.id,
25
+ id: consumer_js_1.CURRENT_CONSUMER.tracerMeta.id,
26
26
  childId: signal.tracerMeta.id,
27
27
  name: signal.tracerMeta.desc,
28
28
  params: signal.tracerMeta.params,
29
29
  nodeType: trace_js_1.SignalType.Reactive,
30
30
  });
31
- if (exports.CURRENT_CONSUMER.watchCount > 0) {
32
- (0, connect_js_1.watchSignal)(signal);
31
+ if (consumer_js_1.CURRENT_CONSUMER.watchCount > 0) {
32
+ (0, watch_js_1.watchSignal)(signal);
33
33
  }
34
34
  }
35
35
  const updatedAt = checkSignal(signal);
@@ -41,14 +41,14 @@ function getSignal(signal) {
41
41
  else {
42
42
  checkSignal(signal);
43
43
  }
44
- return signal.value;
44
+ return signal._value;
45
45
  }
46
46
  function checkSignal(signal) {
47
- let { ref, _state: state } = signal;
48
- if (state < 2 /* SignalState.Dirty */) {
47
+ const { ref, _state: state } = signal;
48
+ if (state < 2 /* ReactiveFnState.Dirty */) {
49
49
  return signal.updatedCount;
50
50
  }
51
- if (state === 3 /* SignalState.MaybeDirty */) {
51
+ if (state === 3 /* ReactiveFnState.MaybeDirty */) {
52
52
  let edge = signal.dirtyHead;
53
53
  while (edge !== undefined) {
54
54
  if (edge.type === 1 /* EdgeType.Promise */) {
@@ -56,14 +56,14 @@ function checkSignal(signal) {
56
56
  // If the dependency is pending, then we need to propagate the pending state to the
57
57
  // parent signal, and we halt the computation here.
58
58
  if (dep.isPending) {
59
- const value = signal.value;
59
+ const value = signal._value;
60
60
  if (value instanceof async_js_1.ReactivePromise) {
61
61
  // Propagate the pending state to the parent signal
62
- value._setPending();
62
+ value['_setPending']();
63
63
  }
64
64
  // Add the signal to the awaitSubs map to be notified when the promise is resolved
65
- dep._awaitSubs.set(ref, edge);
66
- state = 1 /* SignalState.Pending */;
65
+ dep['_awaitSubs'].set(ref, edge);
66
+ signal._state = 1 /* ReactiveFnState.Pending */;
67
67
  signal.dirtyHead = edge;
68
68
  // Early return to prevent the signal from being computed and to preserve the dirty state
69
69
  return signal.updatedCount;
@@ -76,16 +76,24 @@ function checkSignal(signal) {
76
76
  dep.subs.set(ref, edge);
77
77
  if (edge.updatedAt !== updatedAt) {
78
78
  signal.dirtyHead = edge.nextDirty;
79
- state = 2 /* SignalState.Dirty */;
79
+ signal._state = 2 /* ReactiveFnState.Dirty */;
80
80
  break;
81
81
  }
82
82
  edge = edge.nextDirty;
83
83
  }
84
84
  }
85
- if (state === 2 /* SignalState.Dirty */) {
86
- runSignal(signal);
85
+ // If the signal is dirty, we need to run it. This should always be checked
86
+ // directly on the signal instance, because the state could have been changed
87
+ // mid computation and not just through direct dependencies.
88
+ if (signal._state === 2 /* ReactiveFnState.Dirty */) {
89
+ if (signal._isLazy) {
90
+ signal.updatedCount++;
91
+ }
92
+ else {
93
+ runSignal(signal);
94
+ }
87
95
  }
88
- signal._state = 0 /* SignalState.Clean */;
96
+ signal._state = 0 /* ReactiveFnState.Clean */;
89
97
  signal.dirtyHead = undefined;
90
98
  if (trace_js_1.TRACER !== undefined && signal.tracerMeta?.tracer) {
91
99
  (0, scheduling_js_1.scheduleTracer)(signal.tracerMeta.tracer);
@@ -97,18 +105,18 @@ function runSignal(signal) {
97
105
  type: trace_js_1.TracerEventType.StartUpdate,
98
106
  id: signal.tracerMeta.id,
99
107
  });
100
- const prevConsumer = exports.CURRENT_CONSUMER;
108
+ const prevConsumer = consumer_js_1.CURRENT_CONSUMER;
101
109
  const updatedCount = signal.updatedCount;
102
110
  const computedCount = ++signal.computedCount;
103
111
  try {
104
- exports.CURRENT_CONSUMER = signal;
112
+ (0, consumer_js_1.setCurrentConsumer)(signal);
105
113
  const initialized = updatedCount !== 0;
106
- const prevValue = signal.value;
114
+ const prevValue = signal._value;
107
115
  let nextValue = signal.def.compute(...signal.args);
108
116
  let valueIsPromise = false;
109
117
  if (nextValue !== null && typeof nextValue === 'object') {
110
118
  if ((0, type_utils_js_1.isGeneratorResult)(nextValue)) {
111
- nextValue = generatorResultToPromise(nextValue, signal);
119
+ nextValue = (0, generators_js_1.generatorResultToPromiseWithConsumer)(nextValue, signal);
112
120
  valueIsPromise = true;
113
121
  }
114
122
  else if ((0, type_utils_js_1.isPromise)(nextValue)) {
@@ -125,7 +133,7 @@ function runSignal(signal) {
125
133
  trace_js_1.TRACER.emit({
126
134
  type: trace_js_1.TracerEventType.EndLoading,
127
135
  id: signal.tracerMeta.id,
128
- value: signal.value,
136
+ value: (0, reactive_js_1.isRelay)(signal) ? '...' : signal._value,
129
137
  });
130
138
  });
131
139
  }
@@ -133,35 +141,33 @@ function runSignal(signal) {
133
141
  type: trace_js_1.TracerEventType.StartLoading,
134
142
  id: signal.tracerMeta.id,
135
143
  });
136
- if (prevValue !== null && typeof prevValue === 'object' && (0, type_utils_js_1.isReactivePromise)(prevValue)) {
137
- // Update the ReactivePromise with the new promise. Since the value
138
- // returned from the function is the same ReactivePromise instance,
144
+ if (prevValue !== null && typeof prevValue === 'object' && (0, async_js_1.isReactivePromise)(prevValue)) {
145
+ // Update the AsyncSignal with the new promise. Since the value
146
+ // returned from the function is the same AsyncSignal instance,
139
147
  // we don't need to increment the updatedCount, because the returned
140
148
  // value is the same. _setPromise will update the nested values on the
141
- // ReactivePromise instance, and consumers of those values will be notified
149
+ // AsyncSignal instance, and consumers of those values will be notified
142
150
  // of the change through that.
143
- prevValue._setPromise(nextValue);
151
+ prevValue['_setPromise'](nextValue);
144
152
  }
145
153
  else {
146
- // If the signal has not been computed yet, we then the initValue was assigned
147
- // in the constructor. Otherwise, we don't know what the initial value was, so
148
- // we don't pass it to the ReactivePromise constructor.
149
- const initValue = !initialized ? prevValue : undefined;
150
- signal.value = async_js_1.ReactivePromise.createPromise(nextValue, signal, initValue);
154
+ signal._value = (0, async_js_1.createPromise)(nextValue, signal);
151
155
  signal.updatedCount = updatedCount + 1;
152
156
  }
153
157
  }
154
158
  else if (!initialized || !signal.def.equals(prevValue, nextValue)) {
155
- signal.value = nextValue;
156
- signal.updatedCount = updatedCount + 1;
159
+ signal._value = nextValue;
160
+ // If the signal is lazy, we don't want to increment the updatedCount, it
161
+ // has already been updated
162
+ signal.updatedCount = signal._isLazy ? updatedCount : updatedCount + 1;
157
163
  }
158
164
  }
159
165
  finally {
160
- exports.CURRENT_CONSUMER = prevConsumer;
166
+ (0, consumer_js_1.setCurrentConsumer)(prevConsumer);
161
167
  trace_js_1.TRACER?.emit({
162
168
  type: trace_js_1.TracerEventType.EndUpdate,
163
169
  id: signal.tracerMeta.id,
164
- value: signal.value,
170
+ value: (0, reactive_js_1.isRelay)(signal) ? '...' : signal._value,
165
171
  });
166
172
  const { ref, deps } = signal;
167
173
  for (const [dep, edge] of deps) {
@@ -178,12 +184,8 @@ function runSignal(signal) {
178
184
  }
179
185
  }
180
186
  }
181
- function checkAndRunListeners(signal, willWatch = false) {
187
+ function checkAndRunListeners(signal) {
182
188
  const listeners = signal.listeners;
183
- if (willWatch && (listeners === null || listeners.current.size === 0)) {
184
- signal.watchCount++;
185
- signal['flags'] |= 8 /* SignalFlags.isListener */;
186
- }
187
189
  let updatedCount = checkSignal(signal);
188
190
  if (listeners !== null && listeners.updatedAt !== updatedCount) {
189
191
  listeners.updatedAt = updatedCount;
@@ -191,65 +193,4 @@ function checkAndRunListeners(signal, willWatch = false) {
191
193
  }
192
194
  return updatedCount;
193
195
  }
194
- function callback(fn) {
195
- const savedConsumer = exports.CURRENT_CONSUMER;
196
- return (...args) => {
197
- const prevConsumer = exports.CURRENT_CONSUMER;
198
- exports.CURRENT_CONSUMER = savedConsumer;
199
- try {
200
- const result = fn(...args);
201
- if (result !== null && typeof result === 'object' && (0, type_utils_js_1.isGeneratorResult)(result)) {
202
- return generatorResultToPromise(result, savedConsumer);
203
- }
204
- return result;
205
- }
206
- finally {
207
- exports.CURRENT_CONSUMER = prevConsumer;
208
- }
209
- };
210
- }
211
- function generatorResultToPromise(generator, savedConsumer) {
212
- function adopt(value) {
213
- return typeof value === 'object' && value !== null && ((0, type_utils_js_1.isPromise)(value) || (0, type_utils_js_1.isReactivePromise)(value))
214
- ? value
215
- : Promise.resolve(value);
216
- }
217
- return new Promise((resolve, reject) => {
218
- function step(result) {
219
- if (result.done) {
220
- resolve(result.value);
221
- }
222
- else {
223
- adopt(result.value).then(fulfilled, rejected);
224
- }
225
- }
226
- function fulfilled(value) {
227
- const prevConsumer = exports.CURRENT_CONSUMER;
228
- try {
229
- exports.CURRENT_CONSUMER = savedConsumer;
230
- step(generator.next(value));
231
- }
232
- catch (e) {
233
- reject(e);
234
- }
235
- finally {
236
- exports.CURRENT_CONSUMER = prevConsumer;
237
- }
238
- }
239
- function rejected(value) {
240
- const prevConsumer = exports.CURRENT_CONSUMER;
241
- try {
242
- exports.CURRENT_CONSUMER = savedConsumer;
243
- step(generator['throw'](value));
244
- }
245
- catch (e) {
246
- reject(e);
247
- }
248
- finally {
249
- exports.CURRENT_CONSUMER = prevConsumer;
250
- }
251
- }
252
- step(generator.next());
253
- });
254
- }
255
196
  //# sourceMappingURL=get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/internals/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/internals/get.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { Tracer, TracerMeta } from './trace.js';
2
+ import { ReactiveValue, Equals, ReactiveOptions } from '../types.js';
3
+ import { SignalScope } from './contexts.js';
4
+ import { Edge } from './edge.js';
5
+ import { Callback } from './callback.js';
6
+ /**
7
+ * This file contains computed signal base types and struct definitions.
8
+ *
9
+ * Computed signals are monomorphic to make them more efficient, but this also
10
+ * means that multiple fields differ based on the type of the signal. Defining
11
+ * them using this pattern rather than a class allows us to switch on the `type`
12
+ * field to get strong typing in branches everywhere else.
13
+ *
14
+ * "Methods" for this struct are defined in other files for better organization.
15
+ */
16
+ export type SignalId = number;
17
+ export declare const enum ReactiveFnState {
18
+ Clean = 0,
19
+ Pending = 1,
20
+ Dirty = 2,
21
+ MaybeDirty = 3
22
+ }
23
+ export declare const enum ReactiveFnFlags {
24
+ State = 3,
25
+ isRelay = 4,
26
+ isListener = 8,
27
+ isLazy = 16
28
+ }
29
+ interface ListenerMeta {
30
+ updatedAt: number;
31
+ current: Set<() => void>;
32
+ cachedBoundAdd: (listener: () => void) => () => void;
33
+ }
34
+ /**
35
+ * Shared definition for derived signals to reduce memory usage.
36
+ * Contains configuration that's common across all instances of a reactive function.
37
+ */
38
+ export interface ReactiveFnDefinition<T, Args extends unknown[]> extends ReactiveOptions<T, Args> {
39
+ compute: (...args: Args) => T;
40
+ equals: Equals<T>;
41
+ isRelay: boolean;
42
+ tracer: Tracer | undefined;
43
+ }
44
+ export declare class ReactiveFnSignal<T, Args extends unknown[]> {
45
+ private flags;
46
+ scope: SignalScope | undefined;
47
+ subs: Map<WeakRef<ReactiveFnSignal<any, any>>, Edge>;
48
+ deps: Map<ReactiveFnSignal<any, any>, Edge>;
49
+ ref: WeakRef<ReactiveFnSignal<T, Args>>;
50
+ dirtyHead: Edge | undefined;
51
+ updatedCount: number;
52
+ computedCount: number;
53
+ watchCount: number;
54
+ key: SignalId | undefined;
55
+ args: Args;
56
+ callbacks: Callback[] | undefined;
57
+ _listeners: ListenerMeta | null;
58
+ _value: ReactiveValue<T> | undefined;
59
+ tracerMeta?: TracerMeta;
60
+ def: ReactiveFnDefinition<T, Args>;
61
+ constructor(def: ReactiveFnDefinition<T, Args>, args: Args, key?: SignalId, scope?: SignalScope);
62
+ get _state(): ReactiveFnState;
63
+ set _state(state: ReactiveFnState);
64
+ get _isListener(): boolean;
65
+ set _isListener(isListener: boolean);
66
+ get _isLazy(): boolean;
67
+ set _isLazy(isLazy: boolean);
68
+ get listeners(): ListenerMeta;
69
+ get value(): ReactiveValue<T>;
70
+ addListener(listener: () => void): () => void;
71
+ addListenerLazy(): (listener: () => void) => () => void;
72
+ }
73
+ export declare const runListeners: (signal: ReactiveFnSignal<any, any>) => void;
74
+ export declare const isRelay: (signal: unknown) => boolean;
75
+ export declare function createReactiveFnSignal<T, Args extends unknown[]>(def: ReactiveFnDefinition<T, Args>, args?: Args, key?: SignalId, scope?: SignalScope): ReactiveFnSignal<T, Args>;
76
+ export {};
77
+ //# sourceMappingURL=reactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive.d.ts","sourceRoot":"","sources":["../../../src/internals/reactive.ts"],"names":[],"mappings":"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"}