@askrjs/askr 0.0.51 → 0.0.53

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 (651) hide show
  1. package/README.md +5 -1
  2. package/dist/{runtime/scheduler.js → access-Bg4RJNC8.js} +190 -20
  3. package/dist/actions/index.d.ts +2 -0
  4. package/dist/actions/index.js +103 -0
  5. package/dist/{common/attr-names.js → attr-names-CjhzmHOn.js} +1 -3
  6. package/dist/benchmark.d.ts +7 -4
  7. package/dist/benchmark.js +63 -13
  8. package/dist/boot/index.d.ts +62 -4
  9. package/dist/boot/index.js +1 -194
  10. package/dist/boot-j2KoN6ss.js +647 -0
  11. package/dist/cleanup-COv77su2.js +487 -0
  12. package/dist/component-internal-B3z7GXlD.js +614 -0
  13. package/dist/component-lifecycle-CO4hXlP4.js +357 -0
  14. package/dist/{runtime/component-scope.js → component-scope-CC3cojX9.js} +35 -9
  15. package/dist/component-scope-CvPba6O6.d.ts +12 -0
  16. package/dist/components/index.d.ts +17 -2
  17. package/dist/components/index.js +39 -1
  18. package/dist/compose-ref-Cc_YkUpM.js +92 -0
  19. package/dist/{foundations/utilities/compose-ref.d.ts → compose-ref-Cizq72-x.d.ts} +1 -2
  20. package/dist/control/index.d.ts +1 -3
  21. package/dist/control/index.js +1 -3
  22. package/dist/control-BQvNVfAd.d.ts +436 -0
  23. package/dist/control-BYyLTFyw.js +165 -0
  24. package/dist/control-Bf4Wkdvv.d.ts +9 -0
  25. package/dist/{common/control.js → control-DhFRTIoE.js} +1 -3
  26. package/dist/data/index.d.ts +2 -6
  27. package/dist/data/index.js +4 -5
  28. package/dist/data-DnxnDxD-.js +559 -0
  29. package/dist/{data/data-runtime.js → data-runtime-SJ1BSUvk.js} +35 -36
  30. package/dist/deferred-lKE8uR0z.js +386 -0
  31. package/dist/effect-BwnIvLah.js +260 -0
  32. package/dist/fastlane-Dw8SOBr9.js +343 -0
  33. package/dist/for-internal-BKf_Tnv1.js +1563 -0
  34. package/dist/foundations/icon/index.d.ts +68 -2
  35. package/dist/foundations/icon/index.js +85 -1
  36. package/dist/foundations/index.d.ts +2 -5
  37. package/dist/foundations/index.js +2 -5
  38. package/dist/foundations/interactions/index.d.ts +264 -6
  39. package/dist/foundations/interactions/index.js +1 -6
  40. package/dist/foundations/state/index.d.ts +32 -1
  41. package/dist/foundations/state/index.js +78 -1
  42. package/dist/foundations/structures/index.d.ts +2 -7
  43. package/dist/foundations/structures/index.js +2 -7
  44. package/dist/foundations/utilities/index.d.ts +2 -6
  45. package/dist/foundations/utilities/index.js +2 -5
  46. package/dist/fx/index.d.ts +190 -3
  47. package/dist/fx/index.js +454 -4
  48. package/dist/index-31Uoz_NS.d.ts +239 -0
  49. package/dist/index-Bki2rqcr.d.ts +233 -0
  50. package/dist/index-BnU0NPwM.d.ts +101 -0
  51. package/dist/index-D73jgYx1.d.ts +48 -0
  52. package/dist/{runtime/runtime.d.ts → index-R2JJIbM-.d.ts} +31 -9
  53. package/dist/index-SJXJkssx.d.ts +44 -0
  54. package/dist/index.d.ts +8 -13
  55. package/dist/index.js +150 -17
  56. package/dist/interactions-w7gQN4ha.js +280 -0
  57. package/dist/{data/invalidation-listeners.js → invalidation-listeners-Des3AHYs.js} +1 -3
  58. package/dist/{common/props.d.ts → jsx-CP0gmYwJ.d.ts} +17 -6
  59. package/dist/{common/jsx.js → jsx-CUpRxrLH.js} +1 -3
  60. package/dist/jsx-dev-runtime.d.ts +17 -5
  61. package/dist/jsx-dev-runtime.js +3 -10
  62. package/dist/jsx-runtime-92bV2hSa.d.ts +34 -0
  63. package/dist/jsx-runtime-BVVgDSdq.d.ts +1 -0
  64. package/dist/jsx-runtime.d.ts +3 -22
  65. package/dist/jsx-runtime.js +17 -20
  66. package/dist/{runtime/lifecycle-operations.js → lifecycle-operations-D9va7GOU.js} +9 -11
  67. package/dist/navigate-BVDCzOuB.d.ts +34 -0
  68. package/dist/navigate-CmPLSXyw.js +1449 -0
  69. package/dist/{runtime/portal.js → portal-CyU3Ucf2.js} +124 -35
  70. package/dist/query-registry-CQIT4mXr.js +73 -0
  71. package/dist/{common/render-context.js → render-context-Clw3rFiO.js} +14 -8
  72. package/dist/renderer-DzPjeLby.js +6197 -0
  73. package/dist/resource-operation-CEzfpnDk.js +276 -0
  74. package/dist/resources/index.d.ts +42 -3
  75. package/dist/resources/index.js +3 -4
  76. package/dist/{common/route-activity.js → route-activity-CNJfpwx-.js} +1 -3
  77. package/dist/route-matching-vJpvLVbX.js +515 -0
  78. package/dist/router/index.d.ts +166 -14
  79. package/dist/router/index.js +150 -12
  80. package/dist/{common/router.d.ts → router-CeYvjj5_.d.ts} +72 -29
  81. package/dist/{common/router-internal.js → router-internal-BC0w1_xk.js} +1 -3
  82. package/dist/{runtime/scheduler.d.ts → scheduler-CmLO4Dfm.d.ts} +1 -4
  83. package/dist/{runtime/selector.js → selector-DafVYzV4.js} +35 -20
  84. package/dist/{runtime/snapshot-source.js → snapshot-source-BB42xgwb.js} +1 -3
  85. package/dist/ssg/index.d.ts +252 -4
  86. package/dist/ssg/index.js +857 -1
  87. package/dist/ssr/index.d.ts +225 -8
  88. package/dist/ssr/index.js +3 -6
  89. package/dist/{common/ssr.js → ssr-CbQO5xd3.js} +1 -3
  90. package/dist/ssr-D3t80Rc0.js +1413 -0
  91. package/dist/{runtime/state.js → state-DPl8lffD.js} +4 -8
  92. package/dist/structures-DUB3HchX.js +221 -0
  93. package/dist/testing/index.d.ts +4 -4
  94. package/dist/testing/index.js +2 -7
  95. package/dist/{jsx/types.d.ts → types-DnQVG4ZY.d.ts} +2 -6
  96. package/dist/{foundations/utilities/use-id.js → utilities-C_CGX4Dz.js} +1 -3
  97. package/dist/{ssr/verify-hydration.js → verify-hydration-io9ahUeq.js} +2 -4
  98. package/dist/{common/vnode.js → vnode-CGMJYPMB.js} +2 -4
  99. package/package.json +63 -45
  100. package/dist/bench/components/benchmark-row.d.ts +0 -20
  101. package/dist/bench/components/benchmark-row.d.ts.map +0 -1
  102. package/dist/bench/components/benchmark-row.js +0 -42
  103. package/dist/bench/components/benchmark-row.js.map +0 -1
  104. package/dist/bench/components/benchmark-table.js +0 -25
  105. package/dist/bench/components/benchmark-table.js.map +0 -1
  106. package/dist/benchmark.d.ts.map +0 -1
  107. package/dist/benchmark.js.map +0 -1
  108. package/dist/bin/askr-ssg.d.ts +0 -28
  109. package/dist/bin/askr-ssg.d.ts.map +0 -1
  110. package/dist/bin/askr-ssg.js +0 -171
  111. package/dist/bin/askr-ssg.js.map +0 -1
  112. package/dist/boot/hydration.js +0 -140
  113. package/dist/boot/hydration.js.map +0 -1
  114. package/dist/boot/index.d.ts.map +0 -1
  115. package/dist/boot/index.js.map +0 -1
  116. package/dist/boot/root-lifecycle.d.ts +0 -15
  117. package/dist/boot/root-lifecycle.d.ts.map +0 -1
  118. package/dist/boot/root-lifecycle.js +0 -205
  119. package/dist/boot/root-lifecycle.js.map +0 -1
  120. package/dist/boot/route-startup.js +0 -45
  121. package/dist/boot/route-startup.js.map +0 -1
  122. package/dist/boot/types.d.ts +0 -62
  123. package/dist/boot/types.d.ts.map +0 -1
  124. package/dist/common/attr-names.js.map +0 -1
  125. package/dist/common/component.d.ts +0 -19
  126. package/dist/common/component.d.ts.map +0 -1
  127. package/dist/common/control.d.ts +0 -13
  128. package/dist/common/control.d.ts.map +0 -1
  129. package/dist/common/control.js.map +0 -1
  130. package/dist/common/env.js +0 -47
  131. package/dist/common/env.js.map +0 -1
  132. package/dist/common/error-boundary.d.ts +0 -16
  133. package/dist/common/error-boundary.d.ts.map +0 -1
  134. package/dist/common/invariant.js +0 -17
  135. package/dist/common/invariant.js.map +0 -1
  136. package/dist/common/jsx.d.ts +0 -23
  137. package/dist/common/jsx.d.ts.map +0 -1
  138. package/dist/common/jsx.js.map +0 -1
  139. package/dist/common/logger.js +0 -36
  140. package/dist/common/logger.js.map +0 -1
  141. package/dist/common/promise.js +0 -8
  142. package/dist/common/promise.js.map +0 -1
  143. package/dist/common/props.d.ts.map +0 -1
  144. package/dist/common/render-context.js.map +0 -1
  145. package/dist/common/route-activity.js.map +0 -1
  146. package/dist/common/router-internal.js.map +0 -1
  147. package/dist/common/router.d.ts.map +0 -1
  148. package/dist/common/ssr-errors.d.ts +0 -11
  149. package/dist/common/ssr-errors.d.ts.map +0 -1
  150. package/dist/common/ssr-errors.js +0 -16
  151. package/dist/common/ssr-errors.js.map +0 -1
  152. package/dist/common/ssr.d.ts +0 -42
  153. package/dist/common/ssr.d.ts.map +0 -1
  154. package/dist/common/ssr.js.map +0 -1
  155. package/dist/common/vnode.d.ts +0 -22
  156. package/dist/common/vnode.d.ts.map +0 -1
  157. package/dist/common/vnode.js.map +0 -1
  158. package/dist/components/error-boundary.d.ts +0 -15
  159. package/dist/components/error-boundary.d.ts.map +0 -1
  160. package/dist/components/error-boundary.js +0 -43
  161. package/dist/components/error-boundary.js.map +0 -1
  162. package/dist/components/link.d.ts +0 -68
  163. package/dist/components/link.d.ts.map +0 -1
  164. package/dist/components/link.js +0 -76
  165. package/dist/components/link.js.map +0 -1
  166. package/dist/control/case.d.ts +0 -19
  167. package/dist/control/case.d.ts.map +0 -1
  168. package/dist/control/case.js +0 -70
  169. package/dist/control/case.js.map +0 -1
  170. package/dist/control/for.d.ts +0 -24
  171. package/dist/control/for.d.ts.map +0 -1
  172. package/dist/control/for.js +0 -63
  173. package/dist/control/for.js.map +0 -1
  174. package/dist/control/shared.d.ts +0 -9
  175. package/dist/control/shared.d.ts.map +0 -1
  176. package/dist/control/shared.js +0 -20
  177. package/dist/control/shared.js.map +0 -1
  178. package/dist/control/show.d.ts +0 -15
  179. package/dist/control/show.d.ts.map +0 -1
  180. package/dist/control/show.js +0 -34
  181. package/dist/control/show.js.map +0 -1
  182. package/dist/data/data-runtime.d.ts +0 -28
  183. package/dist/data/data-runtime.d.ts.map +0 -1
  184. package/dist/data/data-runtime.js.map +0 -1
  185. package/dist/data/invalidation-listeners.js.map +0 -1
  186. package/dist/data/invalidation.d.ts +0 -9
  187. package/dist/data/invalidation.d.ts.map +0 -1
  188. package/dist/data/invalidation.js +0 -27
  189. package/dist/data/invalidation.js.map +0 -1
  190. package/dist/data/mutation-cell.d.ts +0 -28
  191. package/dist/data/mutation-cell.d.ts.map +0 -1
  192. package/dist/data/mutation-cell.js +0 -132
  193. package/dist/data/mutation-cell.js.map +0 -1
  194. package/dist/data/query-cell.d.ts +0 -46
  195. package/dist/data/query-cell.d.ts.map +0 -1
  196. package/dist/data/query-cell.js +0 -290
  197. package/dist/data/query-cell.js.map +0 -1
  198. package/dist/data/query-key.js +0 -42
  199. package/dist/data/query-key.js.map +0 -1
  200. package/dist/data/shared.js +0 -21
  201. package/dist/data/shared.js.map +0 -1
  202. package/dist/data/testing.js +0 -2
  203. package/dist/data/types.d.ts +0 -161
  204. package/dist/data/types.d.ts.map +0 -1
  205. package/dist/foundations/icon/icon.d.ts +0 -53
  206. package/dist/foundations/icon/icon.d.ts.map +0 -1
  207. package/dist/foundations/icon/icon.js +0 -88
  208. package/dist/foundations/icon/icon.js.map +0 -1
  209. package/dist/foundations/icon/icon.types.d.ts +0 -22
  210. package/dist/foundations/icon/icon.types.d.ts.map +0 -1
  211. package/dist/foundations/interactions/dismissable.d.ts +0 -72
  212. package/dist/foundations/interactions/dismissable.d.ts.map +0 -1
  213. package/dist/foundations/interactions/dismissable.js +0 -26
  214. package/dist/foundations/interactions/dismissable.js.map +0 -1
  215. package/dist/foundations/interactions/focusable.d.ts +0 -22
  216. package/dist/foundations/interactions/focusable.d.ts.map +0 -1
  217. package/dist/foundations/interactions/focusable.js +0 -18
  218. package/dist/foundations/interactions/focusable.js.map +0 -1
  219. package/dist/foundations/interactions/hoverable.d.ts +0 -26
  220. package/dist/foundations/interactions/hoverable.d.ts.map +0 -1
  221. package/dist/foundations/interactions/hoverable.js +0 -15
  222. package/dist/foundations/interactions/hoverable.js.map +0 -1
  223. package/dist/foundations/interactions/interaction-policy.d.ts +0 -50
  224. package/dist/foundations/interactions/interaction-policy.d.ts.map +0 -1
  225. package/dist/foundations/interactions/interaction-policy.js +0 -122
  226. package/dist/foundations/interactions/interaction-policy.js.map +0 -1
  227. package/dist/foundations/interactions/pressable.d.ts +0 -61
  228. package/dist/foundations/interactions/pressable.d.ts.map +0 -1
  229. package/dist/foundations/interactions/pressable.js +0 -51
  230. package/dist/foundations/interactions/pressable.js.map +0 -1
  231. package/dist/foundations/interactions/roving-focus.d.ts +0 -52
  232. package/dist/foundations/interactions/roving-focus.d.ts.map +0 -1
  233. package/dist/foundations/interactions/roving-focus.js +0 -71
  234. package/dist/foundations/interactions/roving-focus.js.map +0 -1
  235. package/dist/foundations/state/controllable.d.ts +0 -33
  236. package/dist/foundations/state/controllable.d.ts.map +0 -1
  237. package/dist/foundations/state/controllable.js +0 -82
  238. package/dist/foundations/state/controllable.js.map +0 -1
  239. package/dist/foundations/structures/collection.d.ts +0 -52
  240. package/dist/foundations/structures/collection.d.ts.map +0 -1
  241. package/dist/foundations/structures/collection.js +0 -51
  242. package/dist/foundations/structures/collection.js.map +0 -1
  243. package/dist/foundations/structures/layer.d.ts +0 -81
  244. package/dist/foundations/structures/layer.d.ts.map +0 -1
  245. package/dist/foundations/structures/layer.js +0 -81
  246. package/dist/foundations/structures/layer.js.map +0 -1
  247. package/dist/foundations/structures/layout.d.ts +0 -33
  248. package/dist/foundations/structures/layout.d.ts.map +0 -1
  249. package/dist/foundations/structures/layout.js +0 -13
  250. package/dist/foundations/structures/layout.js.map +0 -1
  251. package/dist/foundations/structures/portal.d.ts +0 -2
  252. package/dist/foundations/structures/portal.js +0 -3
  253. package/dist/foundations/structures/presence.d.ts +0 -37
  254. package/dist/foundations/structures/presence.d.ts.map +0 -1
  255. package/dist/foundations/structures/presence.js +0 -39
  256. package/dist/foundations/structures/presence.js.map +0 -1
  257. package/dist/foundations/structures/slot.d.ts +0 -35
  258. package/dist/foundations/structures/slot.d.ts.map +0 -1
  259. package/dist/foundations/structures/slot.js +0 -41
  260. package/dist/foundations/structures/slot.js.map +0 -1
  261. package/dist/foundations/utilities/aria.d.ts +0 -16
  262. package/dist/foundations/utilities/aria.d.ts.map +0 -1
  263. package/dist/foundations/utilities/aria.js +0 -17
  264. package/dist/foundations/utilities/aria.js.map +0 -1
  265. package/dist/foundations/utilities/compose-handlers.d.ts +0 -37
  266. package/dist/foundations/utilities/compose-handlers.d.ts.map +0 -1
  267. package/dist/foundations/utilities/compose-handlers.js +0 -20
  268. package/dist/foundations/utilities/compose-handlers.js.map +0 -1
  269. package/dist/foundations/utilities/compose-ref.d.ts.map +0 -1
  270. package/dist/foundations/utilities/compose-ref.js +0 -18
  271. package/dist/foundations/utilities/compose-ref.js.map +0 -1
  272. package/dist/foundations/utilities/event-types.d.ts +0 -20
  273. package/dist/foundations/utilities/event-types.d.ts.map +0 -1
  274. package/dist/foundations/utilities/merge-props.d.ts +0 -5
  275. package/dist/foundations/utilities/merge-props.d.ts.map +0 -1
  276. package/dist/foundations/utilities/merge-props.js +0 -49
  277. package/dist/foundations/utilities/merge-props.js.map +0 -1
  278. package/dist/foundations/utilities/use-id.d.ts +0 -32
  279. package/dist/foundations/utilities/use-id.d.ts.map +0 -1
  280. package/dist/foundations/utilities/use-id.js.map +0 -1
  281. package/dist/fx/fx.d.ts +0 -33
  282. package/dist/fx/fx.d.ts.map +0 -1
  283. package/dist/fx/fx.js +0 -213
  284. package/dist/fx/fx.js.map +0 -1
  285. package/dist/fx/noop.js +0 -9
  286. package/dist/fx/noop.js.map +0 -1
  287. package/dist/fx/timing.d.ts +0 -159
  288. package/dist/fx/timing.d.ts.map +0 -1
  289. package/dist/fx/timing.js +0 -243
  290. package/dist/fx/timing.js.map +0 -1
  291. package/dist/index.js.map +0 -1
  292. package/dist/jsx/index.d.ts +0 -2
  293. package/dist/jsx/index.js +0 -4
  294. package/dist/jsx/types.d.ts.map +0 -1
  295. package/dist/jsx/types.js +0 -2
  296. package/dist/jsx/utils.d.ts +0 -5
  297. package/dist/jsx/utils.d.ts.map +0 -1
  298. package/dist/jsx/utils.js +0 -19
  299. package/dist/jsx/utils.js.map +0 -1
  300. package/dist/jsx-dev-runtime.d.ts.map +0 -1
  301. package/dist/jsx-dev-runtime.js.map +0 -1
  302. package/dist/jsx-runtime.d.ts.map +0 -1
  303. package/dist/jsx-runtime.js.map +0 -1
  304. package/dist/jsx-runtime2.d.ts +0 -3
  305. package/dist/jsx-runtime2.js +0 -4
  306. package/dist/renderer/attributes.js +0 -232
  307. package/dist/renderer/attributes.js.map +0 -1
  308. package/dist/renderer/boundaries.js +0 -266
  309. package/dist/renderer/boundaries.js.map +0 -1
  310. package/dist/renderer/child-shape.js +0 -85
  311. package/dist/renderer/child-shape.js.map +0 -1
  312. package/dist/renderer/children-fastpath.js +0 -149
  313. package/dist/renderer/children-fastpath.js.map +0 -1
  314. package/dist/renderer/children.js +0 -160
  315. package/dist/renderer/children.js.map +0 -1
  316. package/dist/renderer/cleanup.js +0 -210
  317. package/dist/renderer/cleanup.js.map +0 -1
  318. package/dist/renderer/component-host-cleanup.js +0 -68
  319. package/dist/renderer/component-host-cleanup.js.map +0 -1
  320. package/dist/renderer/component-host-instances.js +0 -65
  321. package/dist/renderer/component-host-instances.js.map +0 -1
  322. package/dist/renderer/component-host.js +0 -247
  323. package/dist/renderer/component-host.js.map +0 -1
  324. package/dist/renderer/dom-host.js +0 -13
  325. package/dist/renderer/dom-host.js.map +0 -1
  326. package/dist/renderer/dom-internal.js +0 -186
  327. package/dist/renderer/dom-internal.js.map +0 -1
  328. package/dist/renderer/dom.js +0 -10
  329. package/dist/renderer/element-children.js +0 -279
  330. package/dist/renderer/element-children.js.map +0 -1
  331. package/dist/renderer/env.js +0 -2
  332. package/dist/renderer/error-boundary-dom.js +0 -78
  333. package/dist/renderer/error-boundary-dom.js.map +0 -1
  334. package/dist/renderer/evaluate-dom-range.js +0 -85
  335. package/dist/renderer/evaluate-dom-range.js.map +0 -1
  336. package/dist/renderer/evaluate-reconcile.js +0 -282
  337. package/dist/renderer/evaluate-reconcile.js.map +0 -1
  338. package/dist/renderer/evaluate.js +0 -84
  339. package/dist/renderer/evaluate.js.map +0 -1
  340. package/dist/renderer/fastpath.js +0 -150
  341. package/dist/renderer/fastpath.js.map +0 -1
  342. package/dist/renderer/for-commit-dom-map.js +0 -83
  343. package/dist/renderer/for-commit-dom-map.js.map +0 -1
  344. package/dist/renderer/for-commit-removal.js +0 -36
  345. package/dist/renderer/for-commit-removal.js.map +0 -1
  346. package/dist/renderer/for-commit-reorder.js +0 -89
  347. package/dist/renderer/for-commit-reorder.js.map +0 -1
  348. package/dist/renderer/for-commit.js +0 -314
  349. package/dist/renderer/for-commit.js.map +0 -1
  350. package/dist/renderer/index.js +0 -38
  351. package/dist/renderer/index.js.map +0 -1
  352. package/dist/renderer/keyed-children.js +0 -32
  353. package/dist/renderer/keyed-children.js.map +0 -1
  354. package/dist/renderer/keyed.js +0 -167
  355. package/dist/renderer/keyed.js.map +0 -1
  356. package/dist/renderer/namespaces.js +0 -23
  357. package/dist/renderer/namespaces.js.map +0 -1
  358. package/dist/renderer/prop-bindings.js +0 -280
  359. package/dist/renderer/prop-bindings.js.map +0 -1
  360. package/dist/renderer/reactive-child-dom.js +0 -133
  361. package/dist/renderer/reactive-child-dom.js.map +0 -1
  362. package/dist/renderer/reactive-child-sources.js +0 -184
  363. package/dist/renderer/reactive-child-sources.js.map +0 -1
  364. package/dist/renderer/reactive-children.js +0 -294
  365. package/dist/renderer/reactive-children.js.map +0 -1
  366. package/dist/renderer/reconcile-commit.js +0 -38
  367. package/dist/renderer/reconcile-commit.js.map +0 -1
  368. package/dist/renderer/reconcile-fastpaths.js +0 -107
  369. package/dist/renderer/reconcile-fastpaths.js.map +0 -1
  370. package/dist/renderer/reconcile-resolution.js +0 -187
  371. package/dist/renderer/reconcile-resolution.js.map +0 -1
  372. package/dist/renderer/reconcile.js +0 -39
  373. package/dist/renderer/reconcile.js.map +0 -1
  374. package/dist/renderer/retained-element-rollback.js +0 -277
  375. package/dist/renderer/retained-element-rollback.js.map +0 -1
  376. package/dist/renderer/stable-patch.js +0 -81
  377. package/dist/renderer/stable-patch.js.map +0 -1
  378. package/dist/renderer/static-reuse.js +0 -96
  379. package/dist/renderer/static-reuse.js.map +0 -1
  380. package/dist/renderer/types.js +0 -2
  381. package/dist/renderer/utils.js +0 -256
  382. package/dist/renderer/utils.js.map +0 -1
  383. package/dist/router/access.js +0 -36
  384. package/dist/router/access.js.map +0 -1
  385. package/dist/router/activity.d.ts +0 -10
  386. package/dist/router/activity.d.ts.map +0 -1
  387. package/dist/router/activity.js +0 -87
  388. package/dist/router/activity.js.map +0 -1
  389. package/dist/router/authoring.d.ts +0 -22
  390. package/dist/router/authoring.d.ts.map +0 -1
  391. package/dist/router/authoring.js +0 -198
  392. package/dist/router/authoring.js.map +0 -1
  393. package/dist/router/internal-types.d.ts +0 -31
  394. package/dist/router/internal-types.d.ts.map +0 -1
  395. package/dist/router/lazy.d.ts +0 -19
  396. package/dist/router/lazy.d.ts.map +0 -1
  397. package/dist/router/lazy.js +0 -52
  398. package/dist/router/lazy.js.map +0 -1
  399. package/dist/router/manifest.d.ts +0 -10
  400. package/dist/router/manifest.d.ts.map +0 -1
  401. package/dist/router/manifest.js +0 -49
  402. package/dist/router/manifest.js.map +0 -1
  403. package/dist/router/match.js +0 -122
  404. package/dist/router/match.js.map +0 -1
  405. package/dist/router/navigate.d.ts +0 -11
  406. package/dist/router/navigate.d.ts.map +0 -1
  407. package/dist/router/navigate.js +0 -76
  408. package/dist/router/navigate.js.map +0 -1
  409. package/dist/router/navigation-registry.d.ts +0 -32
  410. package/dist/router/navigation-registry.d.ts.map +0 -1
  411. package/dist/router/navigation-registry.js +0 -105
  412. package/dist/router/navigation-registry.js.map +0 -1
  413. package/dist/router/navigation-scroll.d.ts +0 -14
  414. package/dist/router/navigation-scroll.d.ts.map +0 -1
  415. package/dist/router/navigation-scroll.js +0 -93
  416. package/dist/router/navigation-scroll.js.map +0 -1
  417. package/dist/router/navigation-targets.d.ts +0 -31
  418. package/dist/router/navigation-targets.d.ts.map +0 -1
  419. package/dist/router/navigation-targets.js +0 -255
  420. package/dist/router/navigation-targets.js.map +0 -1
  421. package/dist/router/policy.d.ts +0 -28
  422. package/dist/router/policy.d.ts.map +0 -1
  423. package/dist/router/policy.js +0 -132
  424. package/dist/router/policy.js.map +0 -1
  425. package/dist/router/rendering.d.ts +0 -10
  426. package/dist/router/rendering.d.ts.map +0 -1
  427. package/dist/router/rendering.js +0 -46
  428. package/dist/router/rendering.js.map +0 -1
  429. package/dist/router/resolution.d.ts +0 -4
  430. package/dist/router/resolution.d.ts.map +0 -1
  431. package/dist/router/resolution.js +0 -86
  432. package/dist/router/resolution.js.map +0 -1
  433. package/dist/router/route-context.js +0 -79
  434. package/dist/router/route-context.js.map +0 -1
  435. package/dist/router/route-matching.d.ts +0 -20
  436. package/dist/router/route-matching.d.ts.map +0 -1
  437. package/dist/router/route-matching.js +0 -175
  438. package/dist/router/route-matching.js.map +0 -1
  439. package/dist/router/route-query.d.ts +0 -17
  440. package/dist/router/route-query.d.ts.map +0 -1
  441. package/dist/router/route-query.js +0 -47
  442. package/dist/router/route-query.js.map +0 -1
  443. package/dist/router/route.d.ts +0 -8
  444. package/dist/router/route.js +0 -10
  445. package/dist/router/store.d.ts +0 -50
  446. package/dist/router/store.d.ts.map +0 -1
  447. package/dist/router/store.js +0 -171
  448. package/dist/router/store.js.map +0 -1
  449. package/dist/router/testing.js +0 -4
  450. package/dist/runtime/access.d.ts +0 -20
  451. package/dist/runtime/access.d.ts.map +0 -1
  452. package/dist/runtime/access.js +0 -45
  453. package/dist/runtime/access.js.map +0 -1
  454. package/dist/runtime/child-scope.d.ts +0 -22
  455. package/dist/runtime/child-scope.d.ts.map +0 -1
  456. package/dist/runtime/child-scope.js +0 -87
  457. package/dist/runtime/child-scope.js.map +0 -1
  458. package/dist/runtime/component-cleanup.d.ts +0 -16
  459. package/dist/runtime/component-cleanup.d.ts.map +0 -1
  460. package/dist/runtime/component-cleanup.js +0 -70
  461. package/dist/runtime/component-cleanup.js.map +0 -1
  462. package/dist/runtime/component-commit.js +0 -165
  463. package/dist/runtime/component-commit.js.map +0 -1
  464. package/dist/runtime/component-facade.d.ts +0 -5
  465. package/dist/runtime/component-facade.js +0 -4
  466. package/dist/runtime/component-internal.d.ts +0 -100
  467. package/dist/runtime/component-internal.d.ts.map +0 -1
  468. package/dist/runtime/component-internal.js +0 -219
  469. package/dist/runtime/component-internal.js.map +0 -1
  470. package/dist/runtime/component-lifecycle.d.ts +0 -49
  471. package/dist/runtime/component-lifecycle.d.ts.map +0 -1
  472. package/dist/runtime/component-lifecycle.js +0 -176
  473. package/dist/runtime/component-lifecycle.js.map +0 -1
  474. package/dist/runtime/component-scope.d.ts +0 -55
  475. package/dist/runtime/component-scope.d.ts.map +0 -1
  476. package/dist/runtime/component-scope.js.map +0 -1
  477. package/dist/runtime/component.d.ts +0 -5
  478. package/dist/runtime/component.js +0 -5
  479. package/dist/runtime/context.d.ts +0 -69
  480. package/dist/runtime/context.d.ts.map +0 -1
  481. package/dist/runtime/context.js +0 -210
  482. package/dist/runtime/context.js.map +0 -1
  483. package/dist/runtime/control.d.ts +0 -43
  484. package/dist/runtime/control.d.ts.map +0 -1
  485. package/dist/runtime/control.js +0 -126
  486. package/dist/runtime/control.js.map +0 -1
  487. package/dist/runtime/derive.d.ts +0 -17
  488. package/dist/runtime/derive.d.ts.map +0 -1
  489. package/dist/runtime/derive.js +0 -142
  490. package/dist/runtime/derive.js.map +0 -1
  491. package/dist/runtime/dev-namespace.d.ts +0 -31
  492. package/dist/runtime/dev-namespace.d.ts.map +0 -1
  493. package/dist/runtime/dev-namespace.js +0 -57
  494. package/dist/runtime/dev-namespace.js.map +0 -1
  495. package/dist/runtime/effect.d.ts +0 -32
  496. package/dist/runtime/effect.d.ts.map +0 -1
  497. package/dist/runtime/effect.js +0 -177
  498. package/dist/runtime/effect.js.map +0 -1
  499. package/dist/runtime/error-boundary.d.ts +0 -5
  500. package/dist/runtime/error-boundary.d.ts.map +0 -1
  501. package/dist/runtime/error-boundary.js +0 -31
  502. package/dist/runtime/error-boundary.js.map +0 -1
  503. package/dist/runtime/events.d.ts +0 -58
  504. package/dist/runtime/events.d.ts.map +0 -1
  505. package/dist/runtime/events.js +0 -204
  506. package/dist/runtime/events.js.map +0 -1
  507. package/dist/runtime/execution-model.d.ts +0 -7
  508. package/dist/runtime/execution-model.d.ts.map +0 -1
  509. package/dist/runtime/execution-model.js +0 -15
  510. package/dist/runtime/execution-model.js.map +0 -1
  511. package/dist/runtime/fastlane.d.ts +0 -34
  512. package/dist/runtime/fastlane.d.ts.map +0 -1
  513. package/dist/runtime/fastlane.js +0 -175
  514. package/dist/runtime/fastlane.js.map +0 -1
  515. package/dist/runtime/for-bench.d.ts +0 -41
  516. package/dist/runtime/for-bench.d.ts.map +0 -1
  517. package/dist/runtime/for-bench.js +0 -171
  518. package/dist/runtime/for-bench.js.map +0 -1
  519. package/dist/runtime/for-internal.d.ts +0 -43
  520. package/dist/runtime/for-internal.d.ts.map +0 -1
  521. package/dist/runtime/for-internal.js +0 -98
  522. package/dist/runtime/for-internal.js.map +0 -1
  523. package/dist/runtime/for-reconcile.d.ts +0 -8
  524. package/dist/runtime/for-reconcile.d.ts.map +0 -1
  525. package/dist/runtime/for-reconcile.js +0 -389
  526. package/dist/runtime/for-reconcile.js.map +0 -1
  527. package/dist/runtime/for-scopes.d.ts +0 -26
  528. package/dist/runtime/for-scopes.d.ts.map +0 -1
  529. package/dist/runtime/for-scopes.js +0 -160
  530. package/dist/runtime/for-scopes.js.map +0 -1
  531. package/dist/runtime/for-signals.d.ts +0 -30
  532. package/dist/runtime/for-signals.d.ts.map +0 -1
  533. package/dist/runtime/for-signals.js +0 -139
  534. package/dist/runtime/for-signals.js.map +0 -1
  535. package/dist/runtime/for-types.d.ts +0 -9
  536. package/dist/runtime/for-types.d.ts.map +0 -1
  537. package/dist/runtime/for.d.ts +0 -4
  538. package/dist/runtime/for.js +0 -5
  539. package/dist/runtime/index.d.ts +0 -24
  540. package/dist/runtime/index.js +0 -31
  541. package/dist/runtime/lifecycle-operations.d.ts +0 -31
  542. package/dist/runtime/lifecycle-operations.d.ts.map +0 -1
  543. package/dist/runtime/lifecycle-operations.js.map +0 -1
  544. package/dist/runtime/operations.d.ts +0 -3
  545. package/dist/runtime/operations.js +0 -3
  546. package/dist/runtime/perf-metrics.d.ts +0 -26
  547. package/dist/runtime/perf-metrics.d.ts.map +0 -1
  548. package/dist/runtime/perf-metrics.js +0 -70
  549. package/dist/runtime/perf-metrics.js.map +0 -1
  550. package/dist/runtime/portal.d.ts +0 -22
  551. package/dist/runtime/portal.d.ts.map +0 -1
  552. package/dist/runtime/portal.js.map +0 -1
  553. package/dist/runtime/readable.d.ts +0 -29
  554. package/dist/runtime/readable.d.ts.map +0 -1
  555. package/dist/runtime/readable.js +0 -159
  556. package/dist/runtime/readable.js.map +0 -1
  557. package/dist/runtime/resource-cell.js +0 -114
  558. package/dist/runtime/resource-cell.js.map +0 -1
  559. package/dist/runtime/resource-operation.d.ts +0 -13
  560. package/dist/runtime/resource-operation.d.ts.map +0 -1
  561. package/dist/runtime/resource-operation.js +0 -170
  562. package/dist/runtime/resource-operation.js.map +0 -1
  563. package/dist/runtime/runtime.d.ts.map +0 -1
  564. package/dist/runtime/runtime.js +0 -59
  565. package/dist/runtime/runtime.js.map +0 -1
  566. package/dist/runtime/scheduler.d.ts.map +0 -1
  567. package/dist/runtime/scheduler.js.map +0 -1
  568. package/dist/runtime/selector-store.js +0 -24
  569. package/dist/runtime/selector-store.js.map +0 -1
  570. package/dist/runtime/selector.d.ts +0 -11
  571. package/dist/runtime/selector.d.ts.map +0 -1
  572. package/dist/runtime/selector.js.map +0 -1
  573. package/dist/runtime/snapshot-source.d.ts +0 -10
  574. package/dist/runtime/snapshot-source.d.ts.map +0 -1
  575. package/dist/runtime/snapshot-source.js.map +0 -1
  576. package/dist/runtime/state.d.ts +0 -55
  577. package/dist/runtime/state.d.ts.map +0 -1
  578. package/dist/runtime/state.js.map +0 -1
  579. package/dist/ssg/batch-render.js +0 -103
  580. package/dist/ssg/batch-render.js.map +0 -1
  581. package/dist/ssg/create-static-gen.d.ts +0 -64
  582. package/dist/ssg/create-static-gen.d.ts.map +0 -1
  583. package/dist/ssg/create-static-gen.js +0 -199
  584. package/dist/ssg/create-static-gen.js.map +0 -1
  585. package/dist/ssg/generate-metadata.js +0 -94
  586. package/dist/ssg/generate-metadata.js.map +0 -1
  587. package/dist/ssg/generation-plan.js +0 -70
  588. package/dist/ssg/generation-plan.js.map +0 -1
  589. package/dist/ssg/incremental-manifest.js +0 -56
  590. package/dist/ssg/incremental-manifest.js.map +0 -1
  591. package/dist/ssg/resolve-ssg-data.js +0 -105
  592. package/dist/ssg/resolve-ssg-data.js.map +0 -1
  593. package/dist/ssg/route-utils.js +0 -24
  594. package/dist/ssg/route-utils.js.map +0 -1
  595. package/dist/ssg/static-routes.js +0 -102
  596. package/dist/ssg/static-routes.js.map +0 -1
  597. package/dist/ssg/types.d.ts +0 -189
  598. package/dist/ssg/types.d.ts.map +0 -1
  599. package/dist/ssg/write-static-files.js +0 -73
  600. package/dist/ssg/write-static-files.js.map +0 -1
  601. package/dist/ssr/attrs.js +0 -94
  602. package/dist/ssr/attrs.js.map +0 -1
  603. package/dist/ssr/boundaries.js +0 -113
  604. package/dist/ssr/boundaries.js.map +0 -1
  605. package/dist/ssr/component-runtime.js +0 -111
  606. package/dist/ssr/component-runtime.js.map +0 -1
  607. package/dist/ssr/context.d.ts +0 -50
  608. package/dist/ssr/context.d.ts.map +0 -1
  609. package/dist/ssr/context.js +0 -91
  610. package/dist/ssr/context.js.map +0 -1
  611. package/dist/ssr/errors.d.ts +0 -10
  612. package/dist/ssr/errors.d.ts.map +0 -1
  613. package/dist/ssr/errors.js +0 -14
  614. package/dist/ssr/errors.js.map +0 -1
  615. package/dist/ssr/escape.js +0 -193
  616. package/dist/ssr/escape.js.map +0 -1
  617. package/dist/ssr/hydration-data.js +0 -10
  618. package/dist/ssr/hydration-data.js.map +0 -1
  619. package/dist/ssr/hydration-verify.d.ts +0 -12
  620. package/dist/ssr/hydration-verify.d.ts.map +0 -1
  621. package/dist/ssr/hydration-verify.js +0 -144
  622. package/dist/ssr/hydration-verify.js.map +0 -1
  623. package/dist/ssr/index-internal.d.ts +0 -15
  624. package/dist/ssr/index-internal.d.ts.map +0 -1
  625. package/dist/ssr/index-internal.js +0 -19
  626. package/dist/ssr/index-internal.js.map +0 -1
  627. package/dist/ssr/render-keys.js +0 -16
  628. package/dist/ssr/render-keys.js.map +0 -1
  629. package/dist/ssr/render-resolved.d.ts +0 -20
  630. package/dist/ssr/render-resolved.d.ts.map +0 -1
  631. package/dist/ssr/render-resolved.js +0 -35
  632. package/dist/ssr/render-resolved.js.map +0 -1
  633. package/dist/ssr/render-sync.d.ts +0 -21
  634. package/dist/ssr/render-sync.d.ts.map +0 -1
  635. package/dist/ssr/render-sync.js +0 -275
  636. package/dist/ssr/render-sync.js.map +0 -1
  637. package/dist/ssr/route-policy-resolution.js +0 -78
  638. package/dist/ssr/route-policy-resolution.js.map +0 -1
  639. package/dist/ssr/route-render.d.ts +0 -77
  640. package/dist/ssr/route-render.d.ts.map +0 -1
  641. package/dist/ssr/route-render.js +0 -120
  642. package/dist/ssr/route-render.js.map +0 -1
  643. package/dist/ssr/sink.d.ts +0 -26
  644. package/dist/ssr/sink.d.ts.map +0 -1
  645. package/dist/ssr/sink.js +0 -86
  646. package/dist/ssr/sink.js.map +0 -1
  647. package/dist/ssr/types.d.ts +0 -23
  648. package/dist/ssr/types.d.ts.map +0 -1
  649. package/dist/ssr/verify-hydration.js.map +0 -1
  650. package/dist/testing/index.d.ts.map +0 -1
  651. package/dist/testing/index.js.map +0 -1
@@ -1,165 +0,0 @@
1
- import { isDevelopmentEnvironment } from "../common/env.js";
2
- import { logger } from "../common/logger.js";
3
- import { enqueueRuntimeTask, getRuntimeRenderer } from "./access.js";
4
- import { withContext } from "./context.js";
5
- import { incDevCounter, setDevValue } from "./dev-namespace.js";
6
- import { beginRenderTracking, enterDomCommitScope, restoreDomCommitScope } from "./component-scope.js";
7
- import { isPromiseLike } from "../common/promise.js";
8
- import { tryRuntimeFastLaneSync } from "./fastlane.js";
9
- import { beginLifecycleCommitBatch, discardCommitOperations, discardLifecycleCommitBatch, executeCommittedLifecycleOperations, flushLifecycleCommitBatch } from "./component-lifecycle.js";
10
- //#region src/runtime/component-commit.ts
11
- function runScheduledComponent(instance, host) {
12
- instance.notifyUpdate = instance._enqueueRun;
13
- beginRenderTracking(instance);
14
- const domSnapshot = instance.target ? instance.target.innerHTML : "";
15
- let result;
16
- try {
17
- result = host.execute(instance);
18
- } catch (err) {
19
- discardCommitOperations(instance);
20
- throw err;
21
- }
22
- if (isPromiseLike(result)) throw new Error("Async components are not supported. Components must be synchronous.");
23
- try {
24
- if (tryRuntimeFastLaneSync(instance, result)) {
25
- host.warnUnusedStateReads(instance);
26
- return;
27
- }
28
- } catch (err) {
29
- if (isDevelopmentEnvironment()) throw err;
30
- }
31
- enqueueRuntimeTask(() => {
32
- if (!instance.target && instance._placeholder) {
33
- commitPlaceholderReplacement(instance, result, host);
34
- return;
35
- }
36
- if (instance.target) commitToTarget(instance, result, domSnapshot, host);
37
- });
38
- }
39
- function commitPlaceholderReplacement(instance, result, host) {
40
- if (result === null || result === void 0) {
41
- host.finalizeReadSubscriptions(instance);
42
- host.warnUnusedStateReads(instance);
43
- host.commitRenderedComponent(instance);
44
- return;
45
- }
46
- const placeholder = instance._placeholder;
47
- const parent = placeholder.parentNode;
48
- if (!parent) {
49
- logger.warn("[Askr] placeholder no longer in DOM, cannot render component");
50
- return;
51
- }
52
- const renderer = getRuntimeRenderer();
53
- const hostElement = document.createElement("div");
54
- const executionFrame = {
55
- parent: instance.ownerFrame,
56
- values: null
57
- };
58
- const oldInstance = enterDomCommitScope(instance);
59
- const lifecycleBatch = beginLifecycleCommitBatch();
60
- try {
61
- try {
62
- withContext(executionFrame, () => {
63
- renderer.evaluate(result, hostElement);
64
- });
65
- parent.replaceChild(hostElement, placeholder);
66
- } catch (err) {
67
- discardLifecycleCommitBatch(lifecycleBatch);
68
- throw err;
69
- }
70
- instance.target = hostElement;
71
- instance._placeholder = void 0;
72
- hostElement.__ASKR_INSTANCE = instance;
73
- flushLifecycleCommitBatch(lifecycleBatch);
74
- host.finalizeReadSubscriptions(instance);
75
- host.warnUnusedStateReads(instance);
76
- host.commitRenderedComponent(instance);
77
- } finally {
78
- restoreDomCommitScope(oldInstance);
79
- }
80
- }
81
- function commitToTarget(instance, result, domSnapshot, host) {
82
- const renderer = getRuntimeRenderer();
83
- const target = instance.target;
84
- let oldChildren = [];
85
- let restoredOldChildren = false;
86
- try {
87
- const wasFirstMount = !instance.mounted;
88
- const oldInstance = enterDomCommitScope(instance);
89
- const executionFrame = {
90
- parent: instance.ownerFrame,
91
- values: null
92
- };
93
- oldChildren = Array.from(target.childNodes);
94
- const lifecycleBatch = beginLifecycleCommitBatch();
95
- try {
96
- try {
97
- withContext(executionFrame, () => {
98
- renderer.evaluate(result, target, void 0, instance);
99
- });
100
- } catch (err) {
101
- discardLifecycleCommitBatch(lifecycleBatch);
102
- throw err;
103
- }
104
- } catch (err) {
105
- cleanupFailedCommitChildren(renderer, target, oldChildren);
106
- try {
107
- incDevCounter("__DOM_REPLACE_COUNT");
108
- setDevValue("__LAST_DOM_REPLACE_STACK_COMPONENT_RESTORE", (/* @__PURE__ */ new Error()).stack);
109
- } catch (devErr) {}
110
- target.replaceChildren(...oldChildren);
111
- restoredOldChildren = true;
112
- throw err;
113
- } finally {
114
- restoreDomCommitScope(oldInstance);
115
- }
116
- flushLifecycleCommitBatch(lifecycleBatch);
117
- host.finalizeReadSubscriptions(instance);
118
- host.warnUnusedStateReads(instance);
119
- instance.mounted = true;
120
- executeCommittedLifecycleOperations(instance, wasFirstMount);
121
- } catch (renderError) {
122
- discardCommitOperations(instance);
123
- cleanupRollbackChildren(renderer, target, oldChildren, restoredOldChildren);
124
- try {
125
- incDevCounter("__DOM_REPLACE_COUNT");
126
- setDevValue("__LAST_DOM_REPLACE_STACK_COMPONENT_ROLLBACK", (/* @__PURE__ */ new Error()).stack);
127
- target.replaceChildren(...oldChildren);
128
- } catch {
129
- target.innerHTML = domSnapshot;
130
- }
131
- throw renderError;
132
- }
133
- }
134
- function cleanupFailedCommitChildren(renderer, target, oldChildren) {
135
- try {
136
- const newChildren = Array.from(target.childNodes);
137
- const preservedChildren = new Set(oldChildren);
138
- for (const node of newChildren) {
139
- if (preservedChildren.has(node)) continue;
140
- try {
141
- renderer.cleanupInstancesUnder(node);
142
- } catch (err) {
143
- logger.warn("[Askr] error cleaning up failed commit children:", err);
144
- }
145
- }
146
- } catch (err) {}
147
- }
148
- function cleanupRollbackChildren(renderer, target, oldChildren, restoredOldChildren) {
149
- try {
150
- const currentChildren = Array.from(target.childNodes);
151
- const preservedChildren = restoredOldChildren ? new Set(oldChildren) : null;
152
- for (const node of currentChildren) {
153
- if (preservedChildren?.has(node)) continue;
154
- try {
155
- renderer.cleanupInstancesUnder(node);
156
- } catch (err) {
157
- logger.warn("[Askr] error cleaning up partial children during rollback:", err);
158
- }
159
- }
160
- } catch (err) {}
161
- }
162
- //#endregion
163
- export { runScheduledComponent };
164
-
165
- //# sourceMappingURL=component-commit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-commit.js","names":[],"sources":["../../src/runtime/component-commit.ts"],"sourcesContent":["import { isDevelopmentEnvironment } from '../common/env';\nimport { isPromiseLike } from '../common/promise';\nimport { logger } from '../common/logger';\nimport { enqueueRuntimeTask, getRuntimeRenderer } from './access';\nimport {\n beginLifecycleCommitBatch,\n discardCommitOperations,\n discardLifecycleCommitBatch,\n executeCommittedLifecycleOperations,\n flushLifecycleCommitBatch,\n} from './component-lifecycle';\nimport {\n beginRenderTracking,\n enterDomCommitScope,\n restoreDomCommitScope,\n} from './component-scope';\nimport type { ContextFrame } from './context';\nimport { withContext } from './context';\nimport { incDevCounter, setDevValue } from './dev-namespace';\nimport { tryRuntimeFastLaneSync } from './fastlane';\nimport type { ComponentInstance } from './component-internal';\n\nexport interface ScheduledComponentCommitHost {\n execute(instance: ComponentInstance): unknown | Promise<unknown>;\n finalizeReadSubscriptions(instance: ComponentInstance): void;\n warnUnusedStateReads(instance: ComponentInstance): void;\n commitRenderedComponent(instance: ComponentInstance): void;\n}\n\nexport function runScheduledComponent(\n instance: ComponentInstance,\n host: ScheduledComponentCommitHost\n): void {\n instance.notifyUpdate = instance._enqueueRun!;\n beginRenderTracking(instance);\n const domSnapshot = instance.target ? instance.target.innerHTML : '';\n\n let result: unknown | Promise<unknown>;\n try {\n result = host.execute(instance);\n } catch (err) {\n discardCommitOperations(instance);\n throw err;\n }\n\n if (isPromiseLike(result)) {\n throw new Error(\n 'Async components are not supported. Components must be synchronous.'\n );\n }\n\n try {\n const used = tryRuntimeFastLaneSync(instance, result);\n if (used) {\n host.warnUnusedStateReads(instance);\n return;\n }\n } catch (err) {\n if (isDevelopmentEnvironment()) throw err;\n }\n\n enqueueRuntimeTask(() => {\n if (!instance.target && instance._placeholder) {\n commitPlaceholderReplacement(instance, result, host);\n return;\n }\n\n if (instance.target) {\n commitToTarget(instance, result, domSnapshot, host);\n }\n });\n}\n\nfunction commitPlaceholderReplacement(\n instance: ComponentInstance,\n result: unknown,\n host: ScheduledComponentCommitHost\n): void {\n if (result === null || result === undefined) {\n host.finalizeReadSubscriptions(instance);\n host.warnUnusedStateReads(instance);\n host.commitRenderedComponent(instance);\n return;\n }\n\n const placeholder = instance._placeholder!;\n const parent = placeholder.parentNode;\n if (!parent) {\n logger.warn('[Askr] placeholder no longer in DOM, cannot render component');\n return;\n }\n\n const renderer = getRuntimeRenderer();\n const hostElement = document.createElement('div');\n const executionFrame: ContextFrame = {\n parent: instance.ownerFrame,\n values: null,\n };\n\n const oldInstance = enterDomCommitScope(instance);\n const lifecycleBatch = beginLifecycleCommitBatch();\n try {\n try {\n withContext(executionFrame, () => {\n renderer.evaluate(result, hostElement);\n });\n parent.replaceChild(hostElement, placeholder);\n } catch (err) {\n discardLifecycleCommitBatch(lifecycleBatch);\n throw err;\n }\n\n instance.target = hostElement;\n instance._placeholder = undefined;\n (\n hostElement as Element & {\n __ASKR_INSTANCE?: ComponentInstance;\n }\n ).__ASKR_INSTANCE = instance;\n\n flushLifecycleCommitBatch(lifecycleBatch);\n host.finalizeReadSubscriptions(instance);\n host.warnUnusedStateReads(instance);\n host.commitRenderedComponent(instance);\n } finally {\n restoreDomCommitScope(oldInstance);\n }\n}\n\nfunction commitToTarget(\n instance: ComponentInstance,\n result: unknown,\n domSnapshot: string,\n host: ScheduledComponentCommitHost\n): void {\n const renderer = getRuntimeRenderer();\n const target = instance.target!;\n let oldChildren: Node[] = [];\n let restoredOldChildren = false;\n\n try {\n const wasFirstMount = !instance.mounted;\n const oldInstance = enterDomCommitScope(instance);\n const executionFrame: ContextFrame = {\n parent: instance.ownerFrame,\n values: null,\n };\n oldChildren = Array.from(target.childNodes);\n\n const lifecycleBatch = beginLifecycleCommitBatch();\n try {\n try {\n withContext(executionFrame, () => {\n renderer.evaluate(result, target, undefined, instance);\n });\n } catch (err) {\n discardLifecycleCommitBatch(lifecycleBatch);\n throw err;\n }\n } catch (err) {\n cleanupFailedCommitChildren(renderer, target, oldChildren);\n try {\n incDevCounter('__DOM_REPLACE_COUNT');\n setDevValue(\n '__LAST_DOM_REPLACE_STACK_COMPONENT_RESTORE',\n new Error().stack\n );\n } catch (devErr) {\n void devErr;\n }\n target.replaceChildren(...oldChildren);\n restoredOldChildren = true;\n throw err;\n } finally {\n restoreDomCommitScope(oldInstance);\n }\n\n flushLifecycleCommitBatch(lifecycleBatch);\n host.finalizeReadSubscriptions(instance);\n host.warnUnusedStateReads(instance);\n instance.mounted = true;\n executeCommittedLifecycleOperations(instance, wasFirstMount);\n } catch (renderError) {\n discardCommitOperations(instance);\n cleanupRollbackChildren(renderer, target, oldChildren, restoredOldChildren);\n\n try {\n incDevCounter('__DOM_REPLACE_COUNT');\n setDevValue(\n '__LAST_DOM_REPLACE_STACK_COMPONENT_ROLLBACK',\n new Error().stack\n );\n target.replaceChildren(...oldChildren);\n } catch {\n target.innerHTML = domSnapshot;\n }\n\n throw renderError;\n }\n}\n\nfunction cleanupFailedCommitChildren(\n renderer: ReturnType<typeof getRuntimeRenderer>,\n target: Element,\n oldChildren: Node[]\n): void {\n try {\n const newChildren = Array.from(target.childNodes);\n const preservedChildren = new Set(oldChildren);\n for (const node of newChildren) {\n if (preservedChildren.has(node)) {\n continue;\n }\n try {\n renderer.cleanupInstancesUnder(node);\n } catch (err) {\n logger.warn('[Askr] error cleaning up failed commit children:', err);\n }\n }\n } catch (err) {\n void err;\n }\n}\n\nfunction cleanupRollbackChildren(\n renderer: ReturnType<typeof getRuntimeRenderer>,\n target: Element,\n oldChildren: Node[],\n restoredOldChildren: boolean\n): void {\n try {\n const currentChildren = Array.from(target.childNodes);\n const preservedChildren = restoredOldChildren ? new Set(oldChildren) : null;\n for (const node of currentChildren) {\n if (preservedChildren?.has(node)) {\n continue;\n }\n try {\n renderer.cleanupInstancesUnder(node);\n } catch (err) {\n logger.warn(\n '[Askr] error cleaning up partial children during rollback:',\n err\n );\n }\n }\n } catch (err) {\n void err;\n }\n}\n"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { cleanupComponent, registerOwnedChildScope, unregisterOwnedChildScope } from "./component-cleanup.js";
2
- import { ComponentInstance } from "./component-internal.js";
3
- import { getSignal } from "./component-scope.js";
4
- import { ComponentFunction } from "../common/component.js";
5
- export { type ComponentFunction, type ComponentInstance, getSignal };
@@ -1,4 +0,0 @@
1
- import { claimHookIndex, getCurrentComponentInstance, getCurrentInstance, getCurrentPortalScope, getCurrentStateIndex, getSignal, setCurrentComponentInstance } from "./component-scope.js";
2
- import { cleanupComponent, registerOwnedChildScope, unregisterOwnedChildScope } from "./component-cleanup.js";
3
- import { captureInlineRenderSnapshot, createComponentInstance, finalizeReadSubscriptions, mountComponent, mountInstanceInline, registerCommitOperation, renderComponentInline, renderScopedComponent, warnUnusedStateReads } from "./component-internal.js";
4
- export { captureInlineRenderSnapshot, claimHookIndex, cleanupComponent, createComponentInstance, finalizeReadSubscriptions, getCurrentComponentInstance, getCurrentInstance, getCurrentPortalScope, getCurrentStateIndex, getSignal, mountComponent, mountInstanceInline, registerCommitOperation, registerOwnedChildScope, renderComponentInline, renderScopedComponent, setCurrentComponentInstance, unregisterOwnedChildScope, warnUnusedStateReads };
@@ -1,100 +0,0 @@
1
- import { Props } from "../common/props.js";
2
- import { State } from "./state.js";
3
- import { ContextFrame } from "./context.js";
4
- import { OwnedChildScope, cleanupComponent, registerOwnedChildScope, unregisterOwnedChildScope } from "./component-cleanup.js";
5
- import { LifecycleOperation } from "./component-lifecycle.js";
6
- import { ReadableSource } from "./readable.js";
7
- import { ComponentFunction } from "../common/component.js";
8
-
9
- //#region src/runtime/component-internal.d.ts
10
- interface ComponentInstance {
11
- id: string;
12
- fn: ComponentFunction;
13
- props: Props;
14
- target: Element | null;
15
- parentInstance: ComponentInstance | null;
16
- portalScope: object | null;
17
- mounted: boolean;
18
- abortController: AbortController | null;
19
- ssr?: boolean;
20
- cleanupStrict?: boolean;
21
- stateValues: State<unknown>[];
22
- evaluationGeneration: number;
23
- notifyUpdate: (() => void) | null;
24
- _pendingFlushTask?: () => void;
25
- _pendingRunTask?: () => void;
26
- _enqueueRun?: () => void;
27
- stateIndexCheck: number;
28
- expectedStateIndices: number[];
29
- firstRenderComplete: boolean;
30
- mountOperations: Array<() => void | (() => void) | PromiseLike<void | (() => void)>>;
31
- commitOperations: Array<() => void | (() => void) | PromiseLike<void | (() => void)>>;
32
- cleanupFns: Array<() => void>;
33
- lifecycleSlots: unknown[];
34
- lifecycleGeneration: number;
35
- hasPendingUpdate: boolean;
36
- ownerFrame: ContextFrame | null;
37
- isRoot?: boolean;
38
- _currentRenderToken?: number;
39
- lastRenderToken?: number;
40
- _pendingReadSources?: Set<ReadableSource<unknown>>;
41
- _pendingReadSourceVersions?: Map<ReadableSource<unknown>, number>;
42
- _lastReadSources?: Set<ReadableSource<unknown>>;
43
- devWarningsEmitted?: Set<string>;
44
- _placeholder?: Comment;
45
- _ownedChildScopes?: Set<OwnedChildScope>;
46
- errorBoundaryState?: {
47
- error: unknown | null;
48
- resetKey: unknown;
49
- notified: boolean;
50
- };
51
- }
52
- declare function createComponentInstance(id: string, fn: ComponentFunction, props: Props, target: Element | null): ComponentInstance;
53
- /**
54
- * Register a mount operation that will run after the component is mounted
55
- * Used by operations (task, on, timer, etc) to execute after render completes
56
- */
57
- declare function captureInlineRenderSnapshot(instance: ComponentInstance): void;
58
- declare function registerMountOperation(operation: LifecycleOperation): void;
59
- declare function registerCommitOperation(operation: LifecycleOperation): void;
60
- declare function commitRenderedComponent(instance: ComponentInstance): void;
61
- declare function mountInstanceInline(instance: ComponentInstance, target: Element | null): void;
62
- /**
63
- * Run a component synchronously: execute function, handle result
64
- * This is the internal workhorse that manages async continuations and generation tracking.
65
- * Must always be called through the scheduler.
66
- *
67
- * ACTOR INVARIANT: This function is enqueued as a task, never called directly.
68
- */
69
- declare function renderScopedComponent<T>(instance: ComponentInstance, startStateIndex: number, render: () => T): T;
70
- /**
71
- * Execute a component's render function synchronously.
72
- * Returns either a vnode/promise immediately (does NOT render).
73
- * Rendering happens separately through the scheduled commit helper.
74
- */
75
- declare function renderComponentInline(instance: ComponentInstance): unknown | Promise<unknown>;
76
- declare function warnUnusedStateReads(instance: ComponentInstance): void;
77
- /**
78
- * Public entry point: Execute component with full lifecycle (execute + render)
79
- * Handles both initial mount and re-execution. Always enqueues through scheduler.
80
- * Single entry point to avoid lifecycle divergence.
81
- */
82
- declare function executeComponent(instance: ComponentInstance): void;
83
- /**
84
- * Finalize read subscriptions for an instance after a successful commit.
85
- * - Update per-state readers map to point to this instance's last committed token
86
- * - Remove this instance from states it no longer reads
87
- * This is deterministic and runs synchronously with commit to ensure
88
- * subscribers are only notified when they actually read a state in their
89
- * last committed render.
90
- */
91
- declare function finalizeReadSubscriptions(instance: ComponentInstance): void;
92
- /**
93
- * Mount a component instance.
94
- * This is just an alias to executeComponent() to maintain API compatibility.
95
- * All lifecycle logic is unified in executeComponent().
96
- */
97
- declare function mountComponent(instance: ComponentInstance): void;
98
- //#endregion
99
- export { type ComponentFunction, ComponentInstance, cleanupComponent, registerOwnedChildScope, unregisterOwnedChildScope };
100
- //# sourceMappingURL=component-internal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-internal.d.ts","names":[],"sources":["../../src/runtime/component-internal.ts"],"mappings":";;;;;;;;;UA2DiB,iBAAA;EACf,EAAA;EACA,EAAA,EAAI,iBAAA;EACJ,KAAA,EAAO,KAAA;EACP,MAAA,EAAQ,OAAA;EACR,cAAA,EAAgB,iBAAA;EAChB,WAAA;EACA,OAAA;EACA,eAAA,EAAiB,eAAA;EACjB,GAAA;EAEA,aAAA;EACA,WAAA,EAAa,KAAA;EACb,oBAAA;EACA,YAAA;EAEA,iBAAA;EACA,eAAA;EACA,WAAA;EACA,eAAA;EACA,oBAAA;EACA,mBAAA;EACA,eAAA,EAAiB,KAAA,6BACa,WAAA;EAE9B,gBAAA,EAAkB,KAAA,6BACY,WAAA;EAE9B,UAAA,EAAY,KAAA;EACZ,cAAA;EACA,mBAAA;EACA,gBAAA;EACA,UAAA,EAAY,YAAA;EACZ,MAAA;EAGA,mBAAA;EACA,eAAA;EACA,mBAAA,GAAsB,GAAA,CAAI,cAAA;EAC1B,0BAAA,GAA6B,GAAA,CAAI,cAAA;EACjC,gBAAA,GAAmB,GAAA,CAAI,cAAA;EACvB,kBAAA,GAAqB,GAAA;EAIrB,YAAA,GAAe,OAAA;EACf,iBAAA,GAAoB,GAAA,CAAI,eAAA;EACxB,kBAAA;IACE,KAAA;IACA,QAAA;IACA,QAAA;EAAA;AAAA;AAAA,iBAIY,uBAAA,CACd,EAAA,UACA,EAAA,EAAI,iBAAA,EACJ,KAAA,EAAO,KAAA,EACP,MAAA,EAAQ,OAAA,UACP,iBAAA;;;;;iBA6Ea,2BAAA,CAA4B,QAA2B,EAAjB,iBAAiB;AAAA,iBAIvD,sBAAA,CAAuB,SAA6B,EAAlB,kBAAkB;AAAA,iBAIpD,uBAAA,CAAwB,SAA6B,EAAlB,kBAAkB;AAAA,iBAIrD,uBAAA,CAAwB,QAA2B,EAAjB,iBAAiB;AAAA,iBAInD,mBAAA,CACd,QAAA,EAAU,iBAAA,EACV,MAAA,EAAQ,OAAO;;;;;;;;iBAuCD,qBAAA,IACd,QAAA,EAAU,iBAAA,EACV,eAAA,UACA,MAAA,QAAc,CAAA,GACb,CAAA;;;;;;iBA6Ba,qBAAA,CACd,QAAA,EAAU,iBAAA,aACC,OAAO;AAAA,iBAwCJ,oBAAA,CAAqB,QAA2B,EAAjB,iBAAiB;;;;;;iBAmGhD,gBAAA,CAAiB,QAA2B,EAAjB,iBAAiB;;;;;;;;;iBAmB5C,yBAAA,CAA0B,QAA2B,EAAjB,iBAAiB;;;;AAhVzD;AAIZ;iBAqVgB,cAAA,CAAe,QAA2B,EAAjB,iBAAiB"}
@@ -1,219 +0,0 @@
1
- import { isDevelopmentEnvironment, isProductionEnvironment } from "../common/env.js";
2
- import { logger } from "../common/logger.js";
3
- import { enqueueRuntimeTask } from "./access.js";
4
- import { withContext } from "./context.js";
5
- import { finalizeReadableSubscriptions } from "./readable.js";
6
- import { incDevCounter } from "./dev-namespace.js";
7
- import { beginRenderTracking, captureInlineComponentScope, captureInlineRenderTracking, clearRenderTracking, enterComponentExecutionScope, enterRenderScopedComponent, exitComponentExecutionScope, getCurrentComponentInstance, getCurrentInstance, getCurrentPortalScope, getSignalForInstance, resetRenderState, restoreInlineComponentScope, restoreInlineRenderTracking, restoreRenderScopedComponent } from "./component-scope.js";
8
- import { cleanupComponent, registerOwnedChildScope, unregisterOwnedChildScope } from "./component-cleanup.js";
9
- import { captureInlineRenderSnapshot as captureInlineRenderSnapshot$1, commitLifecycleForInstance, commitRenderedComponent as commitRenderedComponent$1, discardCommitOperations, finalizeInlineReadSubscriptions, registerCommitOperationForInstance } from "./component-lifecycle.js";
10
- import { runScheduledComponent } from "./component-commit.js";
11
- //#region src/runtime/component-internal.ts
12
- function createComponentInstance(id, fn, props, target) {
13
- const parentInstance = getCurrentInstance();
14
- const instance = {
15
- id,
16
- fn,
17
- props,
18
- target,
19
- parentInstance,
20
- portalScope: parentInstance?.portalScope ?? getCurrentPortalScope() ?? null,
21
- mounted: false,
22
- abortController: null,
23
- stateValues: [],
24
- evaluationGeneration: 0,
25
- notifyUpdate: null,
26
- _pendingFlushTask: void 0,
27
- _pendingRunTask: void 0,
28
- _enqueueRun: void 0,
29
- stateIndexCheck: -1,
30
- expectedStateIndices: [],
31
- firstRenderComplete: false,
32
- mountOperations: [],
33
- commitOperations: [],
34
- cleanupFns: [],
35
- lifecycleSlots: [],
36
- lifecycleGeneration: 0,
37
- hasPendingUpdate: false,
38
- ownerFrame: null,
39
- ssr: false,
40
- cleanupStrict: false,
41
- isRoot: false,
42
- _currentRenderToken: void 0,
43
- lastRenderToken: 0,
44
- _pendingReadSources: void 0,
45
- _pendingReadSourceVersions: void 0,
46
- _lastReadSources: void 0,
47
- devWarningsEmitted: void 0
48
- };
49
- instance._pendingRunTask = () => {
50
- instance.hasPendingUpdate = false;
51
- if (instance.notifyUpdate === null) return;
52
- runScheduledComponent(instance, {
53
- execute: executeComponentSync,
54
- finalizeReadSubscriptions,
55
- warnUnusedStateReads,
56
- commitRenderedComponent
57
- });
58
- };
59
- instance._enqueueRun = () => {
60
- if (!instance.hasPendingUpdate) {
61
- instance.hasPendingUpdate = true;
62
- enqueueRuntimeTask(instance._pendingRunTask);
63
- }
64
- };
65
- instance._pendingFlushTask = instance._pendingRunTask;
66
- return instance;
67
- }
68
- /**
69
- * Register a mount operation that will run after the component is mounted
70
- * Used by operations (task, on, timer, etc) to execute after render completes
71
- */
72
- function captureInlineRenderSnapshot(instance) {
73
- captureInlineRenderSnapshot$1(instance);
74
- }
75
- function registerCommitOperation(operation) {
76
- registerCommitOperationForInstance(getCurrentComponentInstance(), operation);
77
- }
78
- function commitRenderedComponent(instance) {
79
- commitRenderedComponent$1(instance);
80
- }
81
- function mountInstanceInline(instance, target) {
82
- instance.target = target;
83
- try {
84
- if (target instanceof Element) {
85
- const host = target;
86
- const nextInstances = (host.__ASKR_INSTANCES ?? []).filter((entry) => entry !== instance);
87
- nextInstances.push(instance);
88
- host.__ASKR_INSTANCES = nextInstances;
89
- host.__ASKR_INSTANCE = nextInstances[0] ?? instance;
90
- }
91
- } catch (err) {}
92
- instance.notifyUpdate = instance._enqueueRun;
93
- const wasFirstMount = !instance.mounted;
94
- instance.mounted = true;
95
- commitLifecycleForInstance(instance, wasFirstMount);
96
- }
97
- /**
98
- * Run a component synchronously: execute function, handle result
99
- * This is the internal workhorse that manages async continuations and generation tracking.
100
- * Must always be called through the scheduler.
101
- *
102
- * ACTOR INVARIANT: This function is enqueued as a task, never called directly.
103
- */
104
- function renderScopedComponent(instance, startStateIndex, render) {
105
- instance.notifyUpdate = instance._enqueueRun;
106
- resetRenderState(instance);
107
- beginRenderTracking(instance);
108
- const savedScope = enterRenderScopedComponent(instance, startStateIndex);
109
- let didComplete = false;
110
- try {
111
- const result = withContext({
112
- parent: instance.ownerFrame,
113
- values: null
114
- }, render);
115
- didComplete = true;
116
- return result;
117
- } finally {
118
- if (!didComplete) clearRenderTracking(instance);
119
- restoreRenderScopedComponent(savedScope);
120
- }
121
- }
122
- /**
123
- * Execute a component's render function synchronously.
124
- * Returns either a vnode/promise immediately (does NOT render).
125
- * Rendering happens separately through the scheduled commit helper.
126
- */
127
- function renderComponentInline(instance) {
128
- instance.notifyUpdate = instance._enqueueRun;
129
- const trackingSnapshot = captureInlineRenderTracking(instance);
130
- const scopeSnapshot = captureInlineComponentScope();
131
- const hadToken = trackingSnapshot.currentRenderToken !== void 0;
132
- if (!hadToken) beginRenderTracking(instance);
133
- try {
134
- const result = executeComponentSync(instance);
135
- if (!hadToken) finalizeInlineReadSubscriptions(instance, instance._currentRenderToken, instance._pendingReadSources, instance._pendingReadSourceVersions);
136
- commitRenderedComponent(instance);
137
- return result;
138
- } finally {
139
- restoreInlineRenderTracking(instance, trackingSnapshot);
140
- restoreInlineComponentScope(scopeSnapshot);
141
- }
142
- }
143
- function warnUnusedStateReads(instance) {
144
- for (let i = 0; i < instance.stateValues.length; i++) {
145
- const state = instance.stateValues[i];
146
- const hasCommittedUsage = (state?._readers?.size ?? 0) > 0 || (state?._derivedSubscribers?.size ?? 0) > 0;
147
- if (state && !state._hasBeenRead && !state._hasEverBeenRead && !hasCommittedUsage) try {
148
- const name = instance.fn?.name || "<anonymous>";
149
- warnInstanceOnce(instance, `unused-state:${i}`, `[askr] Unused state variable detected in ${name} at index ${i}. State should be read during render or removed.`);
150
- } catch {
151
- warnInstanceOnce(instance, `unused-state:${i}`, `[askr] Unused state variable detected. State should be read during render or removed.`);
152
- }
153
- }
154
- }
155
- function executeComponentSync(instance) {
156
- resetRenderState(instance);
157
- incDevCounter("componentRuns");
158
- incDevCounter("componentReruns");
159
- const savedPortalScope = enterComponentExecutionScope(instance);
160
- let didComplete = false;
161
- try {
162
- const renderStartTime = isDevelopmentEnvironment() ? Date.now() : 0;
163
- const context = { get signal() {
164
- return getSignalForInstance(instance);
165
- } };
166
- const result = withContext({
167
- parent: instance.ownerFrame,
168
- values: null
169
- }, () => instance.fn(instance.props, context));
170
- const renderTime = Date.now() - renderStartTime;
171
- if (renderTime > 5) warnInstanceOnce(instance, "slow-render", `[askr] Slow render detected: ${renderTime}ms. Consider optimizing component performance.`);
172
- if (!instance.firstRenderComplete) instance.firstRenderComplete = true;
173
- didComplete = true;
174
- return result;
175
- } finally {
176
- if (!didComplete) discardCommitOperations(instance);
177
- exitComponentExecutionScope(savedPortalScope);
178
- }
179
- }
180
- /**
181
- * Public entry point: Execute component with full lifecycle (execute + render)
182
- * Handles both initial mount and re-execution. Always enqueues through scheduler.
183
- * Single entry point to avoid lifecycle divergence.
184
- */
185
- function executeComponent(instance) {
186
- instance.abortController = null;
187
- instance.notifyUpdate = instance._enqueueRun;
188
- enqueueRuntimeTask(instance._pendingRunTask);
189
- }
190
- /**
191
- * Finalize read subscriptions for an instance after a successful commit.
192
- * - Update per-state readers map to point to this instance's last committed token
193
- * - Remove this instance from states it no longer reads
194
- * This is deterministic and runs synchronously with commit to ensure
195
- * subscribers are only notified when they actually read a state in their
196
- * last committed render.
197
- */
198
- function finalizeReadSubscriptions(instance) {
199
- finalizeReadableSubscriptions(instance);
200
- }
201
- /**
202
- * Mount a component instance.
203
- * This is just an alias to executeComponent() to maintain API compatibility.
204
- * All lifecycle logic is unified in executeComponent().
205
- */
206
- function mountComponent(instance) {
207
- executeComponent(instance);
208
- }
209
- function warnInstanceOnce(instance, key, message) {
210
- if (isProductionEnvironment()) return;
211
- const warnings = instance.devWarningsEmitted ??= /* @__PURE__ */ new Set();
212
- if (warnings.has(key)) return;
213
- warnings.add(key);
214
- logger.warn(message);
215
- }
216
- //#endregion
217
- export { captureInlineRenderSnapshot, cleanupComponent, commitRenderedComponent, createComponentInstance, executeComponent, finalizeReadSubscriptions, mountComponent, mountInstanceInline, registerCommitOperation, registerOwnedChildScope, renderComponentInline, renderScopedComponent, unregisterOwnedChildScope, warnUnusedStateReads };
218
-
219
- //# sourceMappingURL=component-internal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-internal.js","names":[],"sources":["../../src/runtime/component-internal.ts"],"sourcesContent":["/**\n * Component instance lifecycle management\n * Internal only — users never see this\n */\n\nimport { type State } from './state';\nimport { enqueueRuntimeTask } from './access';\nimport type { Props } from '../common/props';\nimport type { ComponentFunction } from '../common/component';\nimport {\n // withContext is the sole primitive for context restoration\n withContext,\n type ContextFrame,\n} from './context';\nimport { type ReadableSource, finalizeReadableSubscriptions } from './readable';\nimport {\n isDevelopmentEnvironment,\n isProductionEnvironment,\n} from '../common/env';\nimport { logger } from '../common/logger';\nimport { incDevCounter } from './dev-namespace';\nimport {\n cleanupComponent,\n registerOwnedChildScope,\n unregisterOwnedChildScope,\n type OwnedChildScope,\n} from './component-cleanup';\nimport { runScheduledComponent } from './component-commit';\nimport {\n captureInlineRenderSnapshot as captureLifecycleInlineRenderSnapshot,\n commitLifecycleForInstance,\n commitRenderedComponent as commitRenderedLifecycleComponent,\n discardCommitOperations,\n finalizeInlineReadSubscriptions,\n registerCommitOperationForInstance,\n registerMountOperationForInstance,\n type LifecycleOperation,\n} from './component-lifecycle';\nimport {\n beginRenderTracking,\n captureInlineComponentScope,\n captureInlineRenderTracking,\n clearRenderTracking,\n enterComponentExecutionScope,\n enterRenderScopedComponent,\n exitComponentExecutionScope,\n getCurrentComponentInstance,\n getCurrentInstance,\n getCurrentPortalScope,\n getSignalForInstance,\n resetRenderState,\n restoreInlineComponentScope,\n restoreInlineRenderTracking,\n restoreRenderScopedComponent,\n} from './component-scope';\n\nexport type { ComponentFunction } from '../common/component';\nexport { cleanupComponent, registerOwnedChildScope, unregisterOwnedChildScope };\n\nexport interface ComponentInstance {\n id: string;\n fn: ComponentFunction;\n props: Props;\n target: Element | null;\n parentInstance: ComponentInstance | null;\n portalScope: object | null;\n mounted: boolean;\n abortController: AbortController | null; // Lazily created per-component abort lifecycle\n ssr?: boolean; // Set to true for SSR temporary instances\n // Opt-in strict cleanup mode: when true cleanup errors are aggregated and re-thrown\n cleanupStrict?: boolean;\n stateValues: State<unknown>[]; // Persistent state storage across renders\n evaluationGeneration: number; // Prevents stale async evaluation completions\n notifyUpdate: (() => void) | null; // Callback for state updates (persisted on instance)\n // Internal: prebound helpers to avoid per-update closures (allocation hot-path)\n _pendingFlushTask?: () => void; // Clears hasPendingUpdate and triggers notifyUpdate\n _pendingRunTask?: () => void; // Clears hasPendingUpdate and runs component\n _enqueueRun?: () => void; // Batches run requests and enqueues _pendingRunTask\n stateIndexCheck: number; // Track state indices to catch conditional calls\n expectedStateIndices: number[]; // Expected sequence of render-scoped hook indices (frozen after first render)\n firstRenderComplete: boolean; // Flag to detect transition from first to subsequent renders\n mountOperations: Array<\n () => void | (() => void) | PromiseLike<void | (() => void)>\n >; // Operations to run when component mounts\n commitOperations: Array<\n () => void | (() => void) | PromiseLike<void | (() => void)>\n >; // Operations to run after a successful committed render\n cleanupFns: Array<() => void>; // Cleanup functions to run on unmount\n lifecycleSlots: unknown[]; // Render-scoped lifecycle primitive storage\n lifecycleGeneration: number; // Invalidates async mount-operation settlement after disposal\n hasPendingUpdate: boolean; // Flag to batch state updates (coalescing)\n ownerFrame: ContextFrame | null; // Provider chain for this component (set by Scope, never overwritten)\n isRoot?: boolean;\n\n // Render-tracking for precise subscriptions (internal)\n _currentRenderToken?: number; // Token for the in-progress render (set before render)\n lastRenderToken?: number; // Token of the last *committed* render\n _pendingReadSources?: Set<ReadableSource<unknown>>; // Readables read during the in-progress render\n _pendingReadSourceVersions?: Map<ReadableSource<unknown>, number>; // Source versions captured during the in-progress render\n _lastReadSources?: Set<ReadableSource<unknown>>; // Readables read during the last committed render\n devWarningsEmitted?: Set<string>; // Dev-only warning dedupe for this instance\n\n // Placeholder for null-returning components. When a component initially returns\n // null, we create a comment placeholder so updates can replace it with content.\n _placeholder?: Comment;\n _ownedChildScopes?: Set<OwnedChildScope>;\n errorBoundaryState?: {\n error: unknown | null;\n resetKey: unknown;\n notified: boolean;\n };\n}\n\nexport function createComponentInstance(\n id: string,\n fn: ComponentFunction,\n props: Props,\n target: Element | null\n): ComponentInstance {\n const parentInstance = getCurrentInstance();\n const portalScope = parentInstance?.portalScope ?? getCurrentPortalScope();\n const instance: ComponentInstance = {\n id,\n fn,\n props,\n target,\n parentInstance,\n portalScope: portalScope ?? null,\n mounted: false,\n abortController: null,\n stateValues: [],\n evaluationGeneration: 0,\n notifyUpdate: null,\n // Prebound helpers (initialized below) to avoid per-update allocations\n _pendingFlushTask: undefined,\n _pendingRunTask: undefined,\n _enqueueRun: undefined,\n stateIndexCheck: -1,\n expectedStateIndices: [],\n firstRenderComplete: false,\n mountOperations: [],\n commitOperations: [],\n cleanupFns: [],\n lifecycleSlots: [],\n lifecycleGeneration: 0,\n hasPendingUpdate: false,\n ownerFrame: null, // Will be set by renderer when vnode is marked\n ssr: false,\n cleanupStrict: false,\n isRoot: false,\n\n // Render-tracking (for precise state subscriptions)\n _currentRenderToken: undefined,\n lastRenderToken: 0,\n _pendingReadSources: undefined,\n _pendingReadSourceVersions: undefined,\n _lastReadSources: undefined,\n devWarningsEmitted: undefined,\n };\n\n // Initialize prebound helper tasks once per instance to avoid allocations\n instance._pendingRunTask = () => {\n // Clear pending flag when the run task executes\n instance.hasPendingUpdate = false;\n if (instance.notifyUpdate === null) {\n return;\n }\n // Execute component run (will set up notifyUpdate before render)\n runScheduledComponent(instance, {\n execute: executeComponentSync,\n finalizeReadSubscriptions,\n warnUnusedStateReads,\n commitRenderedComponent,\n });\n };\n\n instance._enqueueRun = () => {\n if (!instance.hasPendingUpdate) {\n instance.hasPendingUpdate = true;\n // Enqueue single run task (coalesces multiple writes)\n enqueueRuntimeTask(instance._pendingRunTask!);\n }\n };\n\n // Default state-driven updates enqueue the run task directly. Specialized\n // runtimes (for example `For` item instances) can still override this hook.\n instance._pendingFlushTask = instance._pendingRunTask;\n\n return instance;\n}\n\n/**\n * Register a mount operation that will run after the component is mounted\n * Used by operations (task, on, timer, etc) to execute after render completes\n */\nexport function captureInlineRenderSnapshot(instance: ComponentInstance): void {\n captureLifecycleInlineRenderSnapshot(instance);\n}\n\nexport function registerMountOperation(operation: LifecycleOperation): void {\n registerMountOperationForInstance(getCurrentComponentInstance(), operation);\n}\n\nexport function registerCommitOperation(operation: LifecycleOperation): void {\n registerCommitOperationForInstance(getCurrentComponentInstance(), operation);\n}\n\nexport function commitRenderedComponent(instance: ComponentInstance): void {\n commitRenderedLifecycleComponent(instance);\n}\n\nexport function mountInstanceInline(\n instance: ComponentInstance,\n target: Element | null\n): void {\n instance.target = target;\n // Record backref on host element so renderer can clean up when the\n // node is removed. Avoids leaks if the node is detached or replaced.\n try {\n if (target instanceof Element) {\n const host = target as Element & {\n __ASKR_INSTANCE?: ComponentInstance;\n __ASKR_INSTANCES?: ComponentInstance[];\n };\n const instances = host.__ASKR_INSTANCES ?? [];\n const nextInstances = instances.filter((entry) => entry !== instance);\n nextInstances.push(instance);\n host.__ASKR_INSTANCES = nextInstances;\n host.__ASKR_INSTANCE = nextInstances[0] ?? instance;\n }\n } catch (err) {\n void err;\n }\n\n // Ensure notifyUpdate is available for async resource completions that may\n // try to trigger re-render. This mirrors the setup in executeComponent().\n // Use prebound enqueue helper to avoid allocating a new closure\n instance.notifyUpdate = instance._enqueueRun!;\n\n const wasFirstMount = !instance.mounted;\n instance.mounted = true;\n commitLifecycleForInstance(instance, wasFirstMount);\n}\n\n/**\n * Run a component synchronously: execute function, handle result\n * This is the internal workhorse that manages async continuations and generation tracking.\n * Must always be called through the scheduler.\n *\n * ACTOR INVARIANT: This function is enqueued as a task, never called directly.\n */\n\nexport function renderScopedComponent<T>(\n instance: ComponentInstance,\n startStateIndex: number,\n render: () => T\n): T {\n instance.notifyUpdate = instance._enqueueRun!;\n resetRenderState(instance);\n beginRenderTracking(instance);\n const savedScope = enterRenderScopedComponent(instance, startStateIndex);\n\n let didComplete = false;\n\n try {\n const executionFrame: ContextFrame = {\n parent: instance.ownerFrame,\n values: null,\n };\n const result = withContext(executionFrame, render);\n didComplete = true;\n return result;\n } finally {\n if (!didComplete) {\n clearRenderTracking(instance);\n }\n restoreRenderScopedComponent(savedScope);\n }\n}\n\n/**\n * Execute a component's render function synchronously.\n * Returns either a vnode/promise immediately (does NOT render).\n * Rendering happens separately through the scheduled commit helper.\n */\nexport function renderComponentInline(\n instance: ComponentInstance\n): unknown | Promise<unknown> {\n // Reused inline instances can cross renderer cleanup boundaries while their\n // host node is retained. Make sure state writes still enqueue this instance.\n instance.notifyUpdate = instance._enqueueRun!;\n\n // Ensure inline executions (rendered during parent's evaluate) still\n // receive a render token and have their state reads finalized so\n // subscriptions are correctly recorded. If this function is called\n // as part of a scheduled run, the token will already be set by\n // runComponent and we should not overwrite it.\n const trackingSnapshot = captureInlineRenderTracking(instance);\n const scopeSnapshot = captureInlineComponentScope();\n const hadToken = trackingSnapshot.currentRenderToken !== undefined;\n\n if (!hadToken) {\n beginRenderTracking(instance);\n }\n\n try {\n const result = executeComponentSync(instance);\n // If we set the token for inline execution, finalize subscriptions now\n // unless the parent DOM commit is still provisional. Renderer commit\n // batches flush these reads only after DOM evaluation succeeds.\n if (!hadToken) {\n finalizeInlineReadSubscriptions(\n instance,\n instance._currentRenderToken!,\n instance._pendingReadSources,\n instance._pendingReadSourceVersions\n );\n }\n commitRenderedComponent(instance);\n return result;\n } finally {\n // Restore previous token/read states for nested inline render scenarios\n restoreInlineRenderTracking(instance, trackingSnapshot);\n restoreInlineComponentScope(scopeSnapshot);\n }\n}\n\nexport function warnUnusedStateReads(instance: ComponentInstance): void {\n for (let i = 0; i < instance.stateValues.length; i++) {\n const state = instance.stateValues[i];\n const hasCommittedUsage =\n (state?._readers?.size ?? 0) > 0 ||\n ((state as { _derivedSubscribers?: Set<unknown> } | undefined)\n ?._derivedSubscribers?.size ?? 0) > 0;\n\n if (\n state &&\n !state._hasBeenRead &&\n !state._hasEverBeenRead &&\n !hasCommittedUsage\n ) {\n try {\n const name = instance.fn?.name || '<anonymous>';\n warnInstanceOnce(\n instance,\n `unused-state:${i}`,\n `[askr] Unused state variable detected in ${name} at index ${i}. State should be read during render or removed.`\n );\n } catch {\n warnInstanceOnce(\n instance,\n `unused-state:${i}`,\n `[askr] Unused state variable detected. State should be read during render or removed.`\n );\n }\n }\n }\n}\n\nfunction executeComponentSync(\n instance: ComponentInstance\n): unknown | Promise<unknown> {\n resetRenderState(instance);\n incDevCounter('componentRuns');\n incDevCounter('componentReruns');\n\n const savedPortalScope = enterComponentExecutionScope(instance);\n\n let didComplete = false;\n\n try {\n // Track render time in dev mode\n const renderStartTime = isDevelopmentEnvironment() ? Date.now() : 0;\n\n // Create context object with abort signal\n const context = {\n get signal(): AbortSignal {\n return getSignalForInstance(instance);\n },\n };\n\n // Execute component within its owner frame (provider chain).\n // This ensures all context reads see the correct provider values.\n // We create a new execution frame whose parent is the ownerFrame. The\n // `values` map is lazily allocated to avoid per-render Map allocations\n // for components that do not use context.\n const executionFrame: ContextFrame = {\n parent: instance.ownerFrame,\n values: null,\n };\n const result = withContext(executionFrame, () =>\n instance.fn(instance.props, context)\n );\n\n // Check render time\n const renderTime = Date.now() - renderStartTime;\n if (renderTime > 5) {\n warnInstanceOnce(\n instance,\n 'slow-render',\n `[askr] Slow render detected: ${renderTime}ms. Consider optimizing component performance.`\n );\n }\n\n // Mark first render complete after successful execution\n // This enables hook order validation on subsequent renders\n if (!instance.firstRenderComplete) {\n instance.firstRenderComplete = true;\n }\n\n didComplete = true;\n return result;\n } finally {\n if (!didComplete) {\n discardCommitOperations(instance);\n }\n // Synchronous path: we did not push a fresh frame, so nothing to pop here.\n exitComponentExecutionScope(savedPortalScope);\n }\n}\n\n/**\n * Public entry point: Execute component with full lifecycle (execute + render)\n * Handles both initial mount and re-execution. Always enqueues through scheduler.\n * Single entry point to avoid lifecycle divergence.\n */\nexport function executeComponent(instance: ComponentInstance): void {\n // Lazily recreate abort controller only when signal is actually requested.\n instance.abortController = null;\n\n // Setup notifyUpdate callback using prebound helper to avoid per-call closures\n instance.notifyUpdate = instance._enqueueRun!;\n\n // Enqueue the initial component run\n enqueueRuntimeTask(instance._pendingRunTask!);\n}\n\n/**\n * Finalize read subscriptions for an instance after a successful commit.\n * - Update per-state readers map to point to this instance's last committed token\n * - Remove this instance from states it no longer reads\n * This is deterministic and runs synchronously with commit to ensure\n * subscribers are only notified when they actually read a state in their\n * last committed render.\n */\nexport function finalizeReadSubscriptions(instance: ComponentInstance): void {\n finalizeReadableSubscriptions(instance);\n}\n\n/**\n * Mount a component instance.\n * This is just an alias to executeComponent() to maintain API compatibility.\n * All lifecycle logic is unified in executeComponent().\n */\nexport function mountComponent(instance: ComponentInstance): void {\n executeComponent(instance);\n}\n\nfunction warnInstanceOnce(\n instance: ComponentInstance,\n key: string,\n message: string\n): void {\n if (isProductionEnvironment()) return;\n const warnings = (instance.devWarningsEmitted ??= new Set());\n if (warnings.has(key)) return;\n warnings.add(key);\n logger.warn(message);\n}\n"],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- import { Props } from "../common/props.js";
2
- import { ContextFrame } from "./context.js";
3
- import { ComponentInstance } from "./component-internal.js";
4
- import { ReadableSource } from "./readable.js";
5
-
6
- //#region src/runtime/component-lifecycle.d.ts
7
- type LifecycleOperation = () => void | (() => void) | PromiseLike<void | (() => void)>;
8
- type LifecycleCommitBatchEntry = {
9
- instance: ComponentInstance;
10
- wasFirstMount: boolean;
11
- };
12
- type ReadSubscriptionCommit = {
13
- instance: ComponentInstance;
14
- token: number;
15
- pendingReadSources: Set<ReadableSource<unknown>> | undefined;
16
- pendingReadSourceVersions: Map<ReadableSource<unknown>, number> | undefined;
17
- };
18
- type InlineRenderSnapshot = {
19
- instance: ComponentInstance;
20
- props: Props;
21
- ownerFrame: ContextFrame | null;
22
- portalScope: object | null;
23
- parentInstance: ComponentInstance | null;
24
- isRoot: boolean | undefined;
25
- };
26
- type LifecycleCommitBatch = {
27
- parent: LifecycleCommitBatch | null;
28
- entries: LifecycleCommitBatchEntry[];
29
- entriesByInstance: Map<ComponentInstance, LifecycleCommitBatchEntry>;
30
- readCommits: ReadSubscriptionCommit[];
31
- readCommitsByInstance: Map<ComponentInstance, ReadSubscriptionCommit>;
32
- renderSnapshots: InlineRenderSnapshot[];
33
- renderSnapshotsByInstance: Map<ComponentInstance, InlineRenderSnapshot>;
34
- active: boolean;
35
- };
36
- declare function beginLifecycleCommitBatch(): LifecycleCommitBatch;
37
- declare function captureInlineRenderSnapshot(instance: ComponentInstance): void;
38
- declare function finalizeInlineReadSubscriptions(instance: ComponentInstance, token: number, pendingReadSources: Set<ReadableSource<unknown>> | undefined, pendingReadSourceVersions: Map<ReadableSource<unknown>, number> | undefined): void;
39
- declare function flushLifecycleCommitBatch(batch: LifecycleCommitBatch): void;
40
- declare function discardLifecycleCommitBatch(batch: LifecycleCommitBatch): void;
41
- declare function registerMountOperationForInstance(instance: ComponentInstance | null, operation: LifecycleOperation): void;
42
- declare function registerCommitOperationForInstance(instance: ComponentInstance | null, operation: LifecycleOperation): void;
43
- declare function discardCommitOperations(instance: ComponentInstance): void;
44
- declare function executeCommittedLifecycleOperations(instance: ComponentInstance, wasFirstMount: boolean): void;
45
- declare function commitLifecycleForInstance(instance: ComponentInstance, wasFirstMount: boolean): void;
46
- declare function commitRenderedComponent(instance: ComponentInstance): void;
47
- //#endregion
48
- export { LifecycleCommitBatch, LifecycleOperation };
49
- //# sourceMappingURL=component-lifecycle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-lifecycle.d.ts","names":[],"sources":["../../src/runtime/component-lifecycle.ts"],"mappings":";;;;;;KAYY,kBAAA,+BAGR,WAAW;AAAA,KAEV,yBAAA;EACH,QAAA,EAAU,iBAAiB;EAC3B,aAAA;AAAA;AAAA,KAGG,sBAAA;EACH,QAAA,EAAU,iBAAA;EACV,KAAA;EACA,kBAAA,EAAoB,GAAA,CAAI,cAAA;EACxB,yBAAA,EAA2B,GAAA,CAAI,cAAA;AAAA;AAAA,KAG5B,oBAAA;EACH,QAAA,EAAU,iBAAA;EACV,KAAA,EAAO,KAAA;EACP,UAAA,EAAY,YAAA;EACZ,WAAA;EACA,cAAA,EAAgB,iBAAA;EAChB,MAAA;AAAA;AAAA,KAGU,oBAAA;EACV,MAAA,EAAQ,oBAAA;EACR,OAAA,EAAS,yBAAA;EACT,iBAAA,EAAmB,GAAA,CAAI,iBAAA,EAAmB,yBAAA;EAC1C,WAAA,EAAa,sBAAA;EACb,qBAAA,EAAuB,GAAA,CAAI,iBAAA,EAAmB,sBAAA;EAC9C,eAAA,EAAiB,oBAAA;EACjB,yBAAA,EAA2B,GAAA,CAAI,iBAAA,EAAmB,oBAAA;EAClD,MAAA;AAAA;AAAA,iBAKc,yBAAA,IAA6B,oBAAoB;AAAA,iBAkFjD,2BAAA,CAA4B,QAA2B,EAAjB,iBAAiB;AAAA,iBAevD,+BAAA,CACd,QAAA,EAAU,iBAAA,EACV,KAAA,UACA,kBAAA,EAAoB,GAAA,CAAI,cAAA,wBACxB,yBAAA,EAA2B,GAAA,CAAI,cAAA;AAAA,iBAqBjB,yBAAA,CAA0B,KAA2B,EAApB,oBAAoB;AAAA,iBAsCrD,2BAAA,CAA4B,KAA2B,EAApB,oBAAoB;AAAA,iBAsBvD,iCAAA,CACd,QAAA,EAAU,iBAAA,SACV,SAAA,EAAW,kBAAkB;AAAA,iBAkBf,kCAAA,CACd,QAAA,EAAU,iBAAA,SACV,SAAA,EAAW,kBAAkB;AAAA,iBA6Ef,uBAAA,CAAwB,QAA2B,EAAjB,iBAAiB;AAAA,iBAInD,mCAAA,CACd,QAAA,EAAU,iBAAiB,EAC3B,aAAA;AAAA,iBAUc,0BAAA,CACd,QAAA,EAAU,iBAAiB,EAC3B,aAAA;AAAA,iBAcc,uBAAA,CAAwB,QAA2B,EAAjB,iBAAiB"}