@askrjs/askr 0.0.52 → 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 (386) hide show
  1. package/README.md +5 -1
  2. package/dist/{runtime/scheduler.js → access-Bg4RJNC8.js} +182 -9
  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 -1
  6. package/dist/benchmark.d.ts +6 -2
  7. package/dist/benchmark.js +63 -11
  8. package/dist/boot/index.d.ts +61 -2
  9. package/dist/boot/index.js +1 -203
  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} +8 -1
  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 -1
  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 -1
  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} +32 -31
  30. package/dist/deferred-lKE8uR0z.js +386 -0
  31. package/dist/{runtime/effect.js → effect-BwnIvLah.js} +4 -4
  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 -8
  53. package/dist/index-SJXJkssx.d.ts +44 -0
  54. package/dist/index.d.ts +8 -13
  55. package/dist/index.js +150 -15
  56. package/dist/interactions-w7gQN4ha.js +280 -0
  57. package/dist/{data/invalidation-listeners.js → invalidation-listeners-Des3AHYs.js} +1 -1
  58. package/dist/{common/props.d.ts → jsx-CP0gmYwJ.d.ts} +17 -5
  59. package/dist/{common/jsx.js → jsx-CUpRxrLH.js} +1 -1
  60. package/dist/jsx-dev-runtime.d.ts +2 -4
  61. package/dist/jsx-dev-runtime.js +7 -5
  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 +2 -35
  65. package/dist/jsx-runtime.js +11 -5
  66. package/dist/{runtime/lifecycle-operations.js → lifecycle-operations-D9va7GOU.js} +4 -5
  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} +33 -36
  70. package/dist/query-registry-CQIT4mXr.js +73 -0
  71. package/dist/{common/render-context.js → render-context-Clw3rFiO.js} +14 -6
  72. package/dist/renderer-DzPjeLby.js +6197 -0
  73. package/dist/{runtime/resource-operation.js → resource-operation-CEzfpnDk.js} +118 -15
  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 -1
  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 -28
  81. package/dist/{common/router-internal.js → router-internal-BC0w1_xk.js} +1 -1
  82. package/dist/{runtime/scheduler.d.ts → scheduler-CmLO4Dfm.d.ts} +1 -3
  83. package/dist/{runtime/selector.js → selector-DafVYzV4.js} +34 -11
  84. package/dist/{runtime/snapshot-source.js → snapshot-source-BB42xgwb.js} +1 -1
  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 -1
  90. package/dist/ssr-D3t80Rc0.js +1413 -0
  91. package/dist/{runtime/state.js → state-DPl8lffD.js} +3 -5
  92. package/dist/structures-DUB3HchX.js +221 -0
  93. package/dist/testing/index.d.ts +3 -2
  94. package/dist/testing/index.js +2 -5
  95. package/dist/{jsx/types.d.ts → types-DnQVG4ZY.d.ts} +2 -5
  96. package/dist/{foundations/utilities/use-id.js → utilities-C_CGX4Dz.js} +1 -1
  97. package/dist/{ssr/verify-hydration.js → verify-hydration-io9ahUeq.js} +2 -2
  98. package/dist/{common/vnode.js → vnode-CGMJYPMB.js} +2 -2
  99. package/package.json +12 -7
  100. package/dist/bench/components/benchmark-row.d.ts +0 -20
  101. package/dist/bench/components/benchmark-row.js +0 -40
  102. package/dist/bench/components/benchmark-table.js +0 -23
  103. package/dist/bin/askr-ssg.d.ts +0 -27
  104. package/dist/bin/askr-ssg.js +0 -186
  105. package/dist/boot/hydration.js +0 -139
  106. package/dist/boot/root-lifecycle.d.ts +0 -18
  107. package/dist/boot/root-lifecycle.js +0 -209
  108. package/dist/boot/route-startup.js +0 -54
  109. package/dist/boot/types.d.ts +0 -61
  110. package/dist/common/component.d.ts +0 -18
  111. package/dist/common/control.d.ts +0 -12
  112. package/dist/common/dom-range.d.ts +0 -13
  113. package/dist/common/env.js +0 -41
  114. package/dist/common/error-boundary.d.ts +0 -15
  115. package/dist/common/invariant.js +0 -15
  116. package/dist/common/jsx.d.ts +0 -22
  117. package/dist/common/logger.js +0 -34
  118. package/dist/common/promise.js +0 -6
  119. package/dist/common/ssr-errors.d.ts +0 -10
  120. package/dist/common/ssr-errors.js +0 -14
  121. package/dist/common/ssr.d.ts +0 -41
  122. package/dist/common/vnode.d.ts +0 -21
  123. package/dist/components/error-boundary.d.ts +0 -14
  124. package/dist/components/error-boundary.js +0 -41
  125. package/dist/components/link.d.ts +0 -68
  126. package/dist/components/link.js +0 -74
  127. package/dist/control/case.d.ts +0 -18
  128. package/dist/control/case.js +0 -68
  129. package/dist/control/for.d.ts +0 -23
  130. package/dist/control/for.js +0 -61
  131. package/dist/control/shared.d.ts +0 -8
  132. package/dist/control/shared.js +0 -18
  133. package/dist/control/show.d.ts +0 -14
  134. package/dist/control/show.js +0 -32
  135. package/dist/data/data-runtime.d.ts +0 -27
  136. package/dist/data/invalidation.d.ts +0 -8
  137. package/dist/data/invalidation.js +0 -25
  138. package/dist/data/mutation-cell.d.ts +0 -27
  139. package/dist/data/mutation-cell.js +0 -133
  140. package/dist/data/query-cell.d.ts +0 -47
  141. package/dist/data/query-cell.js +0 -324
  142. package/dist/data/query-key.js +0 -40
  143. package/dist/data/shared.js +0 -20
  144. package/dist/data/testing.js +0 -2
  145. package/dist/data/types.d.ts +0 -160
  146. package/dist/foundations/icon/icon.d.ts +0 -52
  147. package/dist/foundations/icon/icon.js +0 -86
  148. package/dist/foundations/icon/icon.types.d.ts +0 -21
  149. package/dist/foundations/interactions/dismissable.d.ts +0 -71
  150. package/dist/foundations/interactions/dismissable.js +0 -24
  151. package/dist/foundations/interactions/focusable.d.ts +0 -21
  152. package/dist/foundations/interactions/focusable.js +0 -16
  153. package/dist/foundations/interactions/hoverable.d.ts +0 -25
  154. package/dist/foundations/interactions/hoverable.js +0 -13
  155. package/dist/foundations/interactions/interaction-policy.d.ts +0 -49
  156. package/dist/foundations/interactions/interaction-policy.js +0 -120
  157. package/dist/foundations/interactions/pressable.d.ts +0 -60
  158. package/dist/foundations/interactions/pressable.js +0 -49
  159. package/dist/foundations/interactions/roving-focus.d.ts +0 -51
  160. package/dist/foundations/interactions/roving-focus.js +0 -69
  161. package/dist/foundations/state/controllable.d.ts +0 -32
  162. package/dist/foundations/state/controllable.js +0 -80
  163. package/dist/foundations/structures/collection.d.ts +0 -51
  164. package/dist/foundations/structures/collection.js +0 -49
  165. package/dist/foundations/structures/layer.d.ts +0 -80
  166. package/dist/foundations/structures/layer.js +0 -79
  167. package/dist/foundations/structures/layout.d.ts +0 -32
  168. package/dist/foundations/structures/layout.js +0 -11
  169. package/dist/foundations/structures/portal.d.ts +0 -2
  170. package/dist/foundations/structures/portal.js +0 -3
  171. package/dist/foundations/structures/presence.d.ts +0 -36
  172. package/dist/foundations/structures/presence.js +0 -37
  173. package/dist/foundations/structures/slot.d.ts +0 -34
  174. package/dist/foundations/structures/slot.js +0 -39
  175. package/dist/foundations/utilities/aria.d.ts +0 -15
  176. package/dist/foundations/utilities/aria.js +0 -15
  177. package/dist/foundations/utilities/compose-handlers.d.ts +0 -36
  178. package/dist/foundations/utilities/compose-handlers.js +0 -18
  179. package/dist/foundations/utilities/compose-ref.js +0 -16
  180. package/dist/foundations/utilities/event-types.d.ts +0 -19
  181. package/dist/foundations/utilities/merge-props.d.ts +0 -4
  182. package/dist/foundations/utilities/merge-props.js +0 -47
  183. package/dist/foundations/utilities/use-id.d.ts +0 -31
  184. package/dist/fx/fx.d.ts +0 -32
  185. package/dist/fx/fx.js +0 -211
  186. package/dist/fx/noop.js +0 -7
  187. package/dist/fx/timing.d.ts +0 -158
  188. package/dist/fx/timing.js +0 -241
  189. package/dist/jsx/index.d.ts +0 -2
  190. package/dist/jsx/index.js +0 -4
  191. package/dist/jsx/types.js +0 -2
  192. package/dist/jsx/utils.d.ts +0 -4
  193. package/dist/jsx/utils.js +0 -17
  194. package/dist/jsx-runtime2.d.ts +0 -3
  195. package/dist/jsx-runtime2.js +0 -4
  196. package/dist/renderer/attributes.js +0 -254
  197. package/dist/renderer/boundaries.js +0 -142
  198. package/dist/renderer/boundary-materialization.js +0 -72
  199. package/dist/renderer/boundary-range-adoption.js +0 -76
  200. package/dist/renderer/boundary-range-sync.js +0 -101
  201. package/dist/renderer/boundary-state.js +0 -50
  202. package/dist/renderer/child-shape.js +0 -83
  203. package/dist/renderer/children-fastpath.js +0 -149
  204. package/dist/renderer/children.js +0 -158
  205. package/dist/renderer/cleanup.js +0 -267
  206. package/dist/renderer/component-host-cleanup.js +0 -143
  207. package/dist/renderer/component-host-instances.js +0 -116
  208. package/dist/renderer/component-host-replacement.js +0 -105
  209. package/dist/renderer/component-host-results.js +0 -138
  210. package/dist/renderer/component-host.js +0 -172
  211. package/dist/renderer/dom-host.js +0 -11
  212. package/dist/renderer/dom-internal.js +0 -243
  213. package/dist/renderer/dom-range.js +0 -161
  214. package/dist/renderer/dom.js +0 -11
  215. package/dist/renderer/element-children.js +0 -359
  216. package/dist/renderer/env.js +0 -2
  217. package/dist/renderer/error-boundary-dom.js +0 -86
  218. package/dist/renderer/evaluate-dom-range.js +0 -84
  219. package/dist/renderer/evaluate-reconcile.js +0 -257
  220. package/dist/renderer/evaluate.js +0 -95
  221. package/dist/renderer/fastpath.js +0 -142
  222. package/dist/renderer/for-commit-dom-map.js +0 -71
  223. package/dist/renderer/for-commit-removal.js +0 -27
  224. package/dist/renderer/for-commit-reorder.js +0 -87
  225. package/dist/renderer/for-commit.js +0 -442
  226. package/dist/renderer/hydration-boundaries.js +0 -60
  227. package/dist/renderer/hydration-listener-transaction.js +0 -49
  228. package/dist/renderer/index.js +0 -39
  229. package/dist/renderer/intrinsic-blueprint-analysis.js +0 -202
  230. package/dist/renderer/intrinsic-blueprint-bindings.js +0 -152
  231. package/dist/renderer/intrinsic-blueprint-materialization.js +0 -100
  232. package/dist/renderer/intrinsic-blueprint.js +0 -30
  233. package/dist/renderer/intrinsic-hydration-adoption.js +0 -66
  234. package/dist/renderer/keyed-children.js +0 -26
  235. package/dist/renderer/keyed.js +0 -167
  236. package/dist/renderer/namespaces.js +0 -21
  237. package/dist/renderer/prop-bindings.js +0 -315
  238. package/dist/renderer/reactive-child-dom.js +0 -139
  239. package/dist/renderer/reactive-child-sources.js +0 -182
  240. package/dist/renderer/reactive-children.js +0 -303
  241. package/dist/renderer/reconcile-commit.js +0 -36
  242. package/dist/renderer/reconcile-fastpaths.js +0 -100
  243. package/dist/renderer/reconcile-resolution.js +0 -163
  244. package/dist/renderer/reconcile.js +0 -37
  245. package/dist/renderer/retained-element-rollback.js +0 -288
  246. package/dist/renderer/stable-patch.js +0 -80
  247. package/dist/renderer/static-reuse.js +0 -94
  248. package/dist/renderer/types.js +0 -2
  249. package/dist/renderer/utils.js +0 -265
  250. package/dist/router/access.js +0 -34
  251. package/dist/router/activity.d.ts +0 -9
  252. package/dist/router/activity.js +0 -85
  253. package/dist/router/authoring.d.ts +0 -21
  254. package/dist/router/authoring.js +0 -196
  255. package/dist/router/internal-types.d.ts +0 -30
  256. package/dist/router/lazy.d.ts +0 -18
  257. package/dist/router/lazy.js +0 -50
  258. package/dist/router/manifest.d.ts +0 -9
  259. package/dist/router/manifest.js +0 -47
  260. package/dist/router/match.js +0 -120
  261. package/dist/router/navigate.d.ts +0 -10
  262. package/dist/router/navigate.js +0 -73
  263. package/dist/router/navigation-registry.d.ts +0 -31
  264. package/dist/router/navigation-registry.js +0 -103
  265. package/dist/router/navigation-scroll.d.ts +0 -13
  266. package/dist/router/navigation-scroll.js +0 -91
  267. package/dist/router/navigation-targets.d.ts +0 -30
  268. package/dist/router/navigation-targets.js +0 -634
  269. package/dist/router/policy.d.ts +0 -27
  270. package/dist/router/policy.js +0 -130
  271. package/dist/router/rendering.d.ts +0 -9
  272. package/dist/router/rendering.js +0 -47
  273. package/dist/router/resolution.d.ts +0 -3
  274. package/dist/router/resolution.js +0 -84
  275. package/dist/router/route-context.js +0 -77
  276. package/dist/router/route-matching.d.ts +0 -19
  277. package/dist/router/route-matching.js +0 -173
  278. package/dist/router/route-query.d.ts +0 -16
  279. package/dist/router/route-query.js +0 -45
  280. package/dist/router/route.d.ts +0 -8
  281. package/dist/router/route.js +0 -10
  282. package/dist/router/store.d.ts +0 -49
  283. package/dist/router/store.js +0 -169
  284. package/dist/router/testing.js +0 -4
  285. package/dist/runtime/access.d.ts +0 -19
  286. package/dist/runtime/access.js +0 -43
  287. package/dist/runtime/child-scope.d.ts +0 -41
  288. package/dist/runtime/child-scope.js +0 -134
  289. package/dist/runtime/component-cleanup.d.ts +0 -15
  290. package/dist/runtime/component-cleanup.js +0 -68
  291. package/dist/runtime/component-commit.js +0 -167
  292. package/dist/runtime/component-facade.d.ts +0 -5
  293. package/dist/runtime/component-facade.js +0 -6
  294. package/dist/runtime/component-internal.d.ts +0 -105
  295. package/dist/runtime/component-internal.js +0 -237
  296. package/dist/runtime/component-lifecycle.d.ts +0 -10
  297. package/dist/runtime/component-lifecycle.js +0 -33
  298. package/dist/runtime/component-scope.d.ts +0 -54
  299. package/dist/runtime/component.d.ts +0 -5
  300. package/dist/runtime/component.js +0 -6
  301. package/dist/runtime/context.d.ts +0 -72
  302. package/dist/runtime/context.js +0 -236
  303. package/dist/runtime/control.d.ts +0 -62
  304. package/dist/runtime/control.js +0 -239
  305. package/dist/runtime/derive.d.ts +0 -16
  306. package/dist/runtime/derive.js +0 -140
  307. package/dist/runtime/dev-namespace.d.ts +0 -30
  308. package/dist/runtime/dev-namespace.js +0 -64
  309. package/dist/runtime/effect.d.ts +0 -35
  310. package/dist/runtime/error-boundary.d.ts +0 -4
  311. package/dist/runtime/error-boundary.js +0 -29
  312. package/dist/runtime/events.d.ts +0 -58
  313. package/dist/runtime/events.js +0 -201
  314. package/dist/runtime/execution-model.d.ts +0 -6
  315. package/dist/runtime/execution-model.js +0 -13
  316. package/dist/runtime/fastlane.d.ts +0 -33
  317. package/dist/runtime/fastlane.js +0 -173
  318. package/dist/runtime/for-bench.d.ts +0 -40
  319. package/dist/runtime/for-bench.js +0 -13
  320. package/dist/runtime/for-internal.d.ts +0 -106
  321. package/dist/runtime/for-internal.js +0 -285
  322. package/dist/runtime/for-reconcile.d.ts +0 -7
  323. package/dist/runtime/for-reconcile.js +0 -442
  324. package/dist/runtime/for-scopes.d.ts +0 -26
  325. package/dist/runtime/for-scopes.js +0 -280
  326. package/dist/runtime/for-signals.d.ts +0 -39
  327. package/dist/runtime/for-signals.js +0 -213
  328. package/dist/runtime/for-types.d.ts +0 -8
  329. package/dist/runtime/for.d.ts +0 -4
  330. package/dist/runtime/for.js +0 -5
  331. package/dist/runtime/index.d.ts +0 -24
  332. package/dist/runtime/index.js +0 -33
  333. package/dist/runtime/lifecycle-batch.d.ts +0 -59
  334. package/dist/runtime/lifecycle-batch.js +0 -178
  335. package/dist/runtime/lifecycle-operation-settlement.d.ts +0 -5
  336. package/dist/runtime/lifecycle-operation-settlement.js +0 -51
  337. package/dist/runtime/lifecycle-operations.d.ts +0 -30
  338. package/dist/runtime/operations.d.ts +0 -3
  339. package/dist/runtime/operations.js +0 -3
  340. package/dist/runtime/perf-metrics.d.ts +0 -27
  341. package/dist/runtime/perf-metrics.js +0 -6
  342. package/dist/runtime/portal.d.ts +0 -21
  343. package/dist/runtime/readable.d.ts +0 -34
  344. package/dist/runtime/readable.js +0 -183
  345. package/dist/runtime/resource-cell.js +0 -112
  346. package/dist/runtime/resource-operation.d.ts +0 -12
  347. package/dist/runtime/runtime.js +0 -57
  348. package/dist/runtime/selector-store.js +0 -22
  349. package/dist/runtime/selector.d.ts +0 -10
  350. package/dist/runtime/snapshot-source.d.ts +0 -9
  351. package/dist/runtime/state.d.ts +0 -54
  352. package/dist/ssg/batch-render.js +0 -101
  353. package/dist/ssg/create-static-gen.d.ts +0 -66
  354. package/dist/ssg/create-static-gen.js +0 -250
  355. package/dist/ssg/generate-metadata.js +0 -92
  356. package/dist/ssg/generation-plan.js +0 -68
  357. package/dist/ssg/incremental-manifest.js +0 -54
  358. package/dist/ssg/resolve-ssg-data.js +0 -103
  359. package/dist/ssg/route-utils.js +0 -22
  360. package/dist/ssg/static-routes.js +0 -100
  361. package/dist/ssg/types.d.ts +0 -188
  362. package/dist/ssg/write-static-files.js +0 -77
  363. package/dist/ssr/attrs.js +0 -92
  364. package/dist/ssr/boundaries.js +0 -124
  365. package/dist/ssr/component-runtime.js +0 -85
  366. package/dist/ssr/context.d.ts +0 -49
  367. package/dist/ssr/context.js +0 -89
  368. package/dist/ssr/errors.d.ts +0 -9
  369. package/dist/ssr/errors.js +0 -12
  370. package/dist/ssr/escape.js +0 -191
  371. package/dist/ssr/hydration-data.js +0 -8
  372. package/dist/ssr/hydration-verify.d.ts +0 -11
  373. package/dist/ssr/hydration-verify.js +0 -171
  374. package/dist/ssr/index-internal.d.ts +0 -14
  375. package/dist/ssr/index-internal.js +0 -17
  376. package/dist/ssr/render-keys.js +0 -14
  377. package/dist/ssr/render-resolved.d.ts +0 -19
  378. package/dist/ssr/render-resolved.js +0 -33
  379. package/dist/ssr/render-sync.d.ts +0 -20
  380. package/dist/ssr/render-sync.js +0 -283
  381. package/dist/ssr/route-policy-resolution.js +0 -76
  382. package/dist/ssr/route-render.d.ts +0 -76
  383. package/dist/ssr/route-render.js +0 -118
  384. package/dist/ssr/sink.d.ts +0 -25
  385. package/dist/ssr/sink.js +0 -84
  386. package/dist/ssr/types.d.ts +0 -22
@@ -1,49 +0,0 @@
1
- import { LayoutScopeRecord, PageScopeRecord, Route, RouteAuthOptions, RouteDefinition, RoutePolicy } from "../common/router.js";
2
- import { AccessScopeState, InternalRoute, InternalRouteRecord, RegistrationScope, RegistrationSession } from "./internal-types.js";
3
-
4
- //#region src/router/store.d.ts
5
- type RouteStateSnapshot = {
6
- routes: InternalRoute[];
7
- records: InternalRouteRecord[];
8
- namespaces: string[];
9
- registrationLocked: boolean;
10
- defaultRouteAuthOptions: RouteAuthOptions | undefined;
11
- activeClientRouteAuthOptions: RouteAuthOptions | undefined;
12
- routesByDepth: Array<[number, Route[]]>;
13
- registrationScopeStack: RegistrationScope[];
14
- registrationSessionStack: RegistrationSession[];
15
- };
16
- declare function getRouteRecords(): readonly InternalRouteRecord[];
17
- declare function isRouteStoreRoutes(routeList: readonly Route[]): boolean;
18
- declare function insertRecordSorted(record: InternalRouteRecord): void;
19
- declare function addRouteToStores(routeObj: InternalRoute): void;
20
- declare function getActiveRoutes(): readonly Route[];
21
- declare function getActiveRouteAuthOptions(override?: RouteAuthOptions): RouteAuthOptions | undefined;
22
- declare function _setActiveRouteAuthOptions(auth: RouteAuthOptions | undefined): void;
23
- declare function getDefaultRouteAuthOptions(): RouteAuthOptions | undefined;
24
- declare function setDefaultRouteAuthOptions(auth: RouteAuthOptions | undefined): void;
25
- declare function getCurrentRegistrationSession(): RegistrationSession;
26
- declare function getCurrentAccessScopeState(): AccessScopeState;
27
- declare function getCurrentLayoutChain(): LayoutScopeRecord[];
28
- declare function getCurrentPageChain(): PageScopeRecord[];
29
- declare function hasActivePageScope(): boolean;
30
- declare function getCurrentPageScope(): RegistrationScope | null;
31
- declare function getCurrentScopeKind(): RegistrationScope['kind'] | null;
32
- declare function getCurrentPathPrefix(): string;
33
- declare function getCurrentInheritedPolicies(): RoutePolicy[];
34
- declare function pushRegistrationScope(scope: RegistrationScope, fn: RouteDefinition): void;
35
- declare function pushRegistrationSession(session: RegistrationSession, fn: RouteDefinition): void;
36
- declare function lockRouteRegistration(): void;
37
- declare function _lockRouteRegistrationForTests(): void;
38
- declare function _unlockRouteRegistrationForTests(): void;
39
- declare function assertRouteRegistrationUnlocked(): void;
40
- declare function getRoutes(): Route[];
41
- declare function hasRegisteredRoutes(): boolean;
42
- declare function getNamespaceRoutes(namespace: string): Route[];
43
- declare function unloadNamespace(namespace: string): number;
44
- declare function getLoadedNamespaces(): string[];
45
- declare function clearRouteState(): void;
46
- declare function snapshotRouteState(): RouteStateSnapshot;
47
- declare function restoreRouteState(snapshot: RouteStateSnapshot): void;
48
- //#endregion
49
- export { getRoutes };
@@ -1,169 +0,0 @@
1
- import { getActiveRenderContext } from "../common/render-context.js";
2
- //#region src/router/store.ts
3
- const routes = [];
4
- const records = [];
5
- const namespaces = /* @__PURE__ */ new Set();
6
- const routesByDepth = /* @__PURE__ */ new Map();
7
- const registrationScopeStack = [];
8
- const registrationSessionStack = [];
9
- let registrationLocked = false;
10
- let defaultRouteAuthOptions;
11
- let activeClientRouteAuthOptions;
12
- function getDepth(path) {
13
- const normalized = path.endsWith("/") && path !== "/" ? path.slice(0, -1) : path;
14
- return normalized === "/" ? 0 : normalized.split("/").filter(Boolean).length;
15
- }
16
- function getRouteRecords() {
17
- return records;
18
- }
19
- function isRouteStoreRoutes(routeList) {
20
- return routeList === routes;
21
- }
22
- function insertRecordSorted(record) {
23
- let lo = 0;
24
- let hi = records.length;
25
- while (lo < hi) {
26
- const mid = lo + hi >>> 1;
27
- if (records[mid].rank >= record.rank) lo = mid + 1;
28
- else hi = mid;
29
- }
30
- records.splice(lo, 0, record);
31
- }
32
- function addRouteToStores(routeObj) {
33
- routes.push(routeObj);
34
- const depth = getDepth(routeObj.path);
35
- let depthRoutes = routesByDepth.get(depth);
36
- if (!depthRoutes) {
37
- depthRoutes = [];
38
- routesByDepth.set(depth, depthRoutes);
39
- }
40
- depthRoutes.push(routeObj);
41
- if (routeObj.namespace) namespaces.add(routeObj.namespace);
42
- }
43
- function getActiveRoutes() {
44
- return getActiveRenderContext()?.routes ?? routes;
45
- }
46
- function getActiveRouteAuthOptions(override) {
47
- if (override) return override;
48
- return getActiveRenderContext()?.routeAuth ?? activeClientRouteAuthOptions ?? defaultRouteAuthOptions;
49
- }
50
- function _setActiveRouteAuthOptions(auth) {
51
- activeClientRouteAuthOptions = auth;
52
- }
53
- function getDefaultRouteAuthOptions() {
54
- return defaultRouteAuthOptions;
55
- }
56
- function setDefaultRouteAuthOptions(auth) {
57
- defaultRouteAuthOptions = auth;
58
- }
59
- function getCurrentRegistrationSession() {
60
- return registrationSessionStack[registrationSessionStack.length - 1] ?? { authConfigured: !!defaultRouteAuthOptions?.resolve };
61
- }
62
- function getCurrentAccessScopeState() {
63
- return registrationScopeStack[registrationScopeStack.length - 1]?.state ?? {
64
- guestOnly: false,
65
- authenticated: false
66
- };
67
- }
68
- function getCurrentLayoutChain() {
69
- const layoutChain = [];
70
- for (const scope of registrationScopeStack) if (scope.layout) layoutChain.push({ component: scope.layout });
71
- return layoutChain;
72
- }
73
- function getCurrentPageChain() {
74
- const pageChain = [];
75
- for (const scope of registrationScopeStack) if (scope.page) pageChain.push({ component: scope.page });
76
- return pageChain;
77
- }
78
- function hasActivePageScope() {
79
- return registrationScopeStack.some((scope) => !!scope.page);
80
- }
81
- function getCurrentPageScope() {
82
- for (let index = registrationScopeStack.length - 1; index >= 0; index -= 1) {
83
- const scope = registrationScopeStack[index];
84
- if (scope.kind === "page") return scope;
85
- }
86
- return null;
87
- }
88
- function getCurrentScopeKind() {
89
- return registrationScopeStack[registrationScopeStack.length - 1]?.kind ?? null;
90
- }
91
- function getCurrentPathPrefix() {
92
- return registrationScopeStack[registrationScopeStack.length - 1]?.pathPrefix ?? "";
93
- }
94
- function getCurrentInheritedPolicies() {
95
- const policies = [];
96
- for (const scope of registrationScopeStack) if (scope.policies.length > 0) policies.push(...scope.policies);
97
- return policies;
98
- }
99
- function pushRegistrationScope(scope, fn) {
100
- registrationScopeStack.push(scope);
101
- try {
102
- fn();
103
- } finally {
104
- registrationScopeStack.pop();
105
- }
106
- }
107
- function pushRegistrationSession(session, fn) {
108
- registrationSessionStack.push(session);
109
- try {
110
- fn();
111
- } finally {
112
- registrationSessionStack.pop();
113
- }
114
- }
115
- function lockRouteRegistration() {
116
- registrationLocked = true;
117
- }
118
- function assertRouteRegistrationUnlocked() {
119
- if (registrationLocked) throw new Error("Route registration is locked after app startup. Register routes at module load time before calling createSPA or createSSR.");
120
- }
121
- function getRoutes() {
122
- return [...routes];
123
- }
124
- function hasRegisteredRoutes() {
125
- return routes.length > 0 || records.length > 0;
126
- }
127
- function clearRouteState() {
128
- routes.length = 0;
129
- records.length = 0;
130
- namespaces.clear();
131
- routesByDepth.clear();
132
- registrationScopeStack.length = 0;
133
- registrationSessionStack.length = 0;
134
- registrationLocked = false;
135
- defaultRouteAuthOptions = void 0;
136
- activeClientRouteAuthOptions = void 0;
137
- }
138
- function snapshotRouteState() {
139
- return {
140
- routes: [...routes],
141
- records: [...records],
142
- namespaces: [...namespaces],
143
- registrationLocked,
144
- defaultRouteAuthOptions,
145
- activeClientRouteAuthOptions,
146
- routesByDepth: [...routesByDepth.entries()].map(([depth, depthRoutes]) => [depth, [...depthRoutes]]),
147
- registrationScopeStack: [...registrationScopeStack],
148
- registrationSessionStack: [...registrationSessionStack]
149
- };
150
- }
151
- function restoreRouteState(snapshot) {
152
- routes.length = 0;
153
- routes.push(...snapshot.routes);
154
- records.length = 0;
155
- records.push(...snapshot.records);
156
- namespaces.clear();
157
- for (const namespace of snapshot.namespaces) namespaces.add(namespace);
158
- routesByDepth.clear();
159
- for (const [depth, depthRoutes] of snapshot.routesByDepth) routesByDepth.set(depth, [...depthRoutes]);
160
- registrationScopeStack.length = 0;
161
- registrationScopeStack.push(...snapshot.registrationScopeStack);
162
- registrationSessionStack.length = 0;
163
- registrationSessionStack.push(...snapshot.registrationSessionStack);
164
- registrationLocked = snapshot.registrationLocked;
165
- defaultRouteAuthOptions = snapshot.defaultRouteAuthOptions;
166
- activeClientRouteAuthOptions = snapshot.activeClientRouteAuthOptions;
167
- }
168
- //#endregion
169
- export { _setActiveRouteAuthOptions, addRouteToStores, assertRouteRegistrationUnlocked, clearRouteState, getActiveRouteAuthOptions, getActiveRoutes, getCurrentAccessScopeState, getCurrentInheritedPolicies, getCurrentLayoutChain, getCurrentPageChain, getCurrentPageScope, getCurrentPathPrefix, getCurrentRegistrationSession, getCurrentScopeKind, getDefaultRouteAuthOptions, getRouteRecords, getRoutes, hasActivePageScope, hasRegisteredRoutes, insertRecordSorted, isRouteStoreRoutes, lockRouteRegistration, pushRegistrationScope, pushRegistrationSession, restoreRouteState, setDefaultRouteAuthOptions, snapshotRouteState };
@@ -1,4 +0,0 @@
1
- import { parseSegments } from "./match.js";
2
- import { computeRouteActivityMatches } from "./route-matching.js";
3
- import "./route.js";
4
- export { computeRouteActivityMatches, parseSegments };
@@ -1,19 +0,0 @@
1
- import { ReadableSource } from "./readable.js";
2
- import { Scheduler, SchedulerLane } from "./scheduler.js";
3
- import { AskrRuntime, RuntimeRendererHost } from "./runtime.js";
4
-
5
- //#region src/runtime/access.d.ts
6
- type RuntimeTask = () => void;
7
- declare function getRuntimeScheduler(): Scheduler;
8
- declare function getDefaultRuntimeInstance(): AskrRuntime;
9
- declare function getRuntimeRenderer(): RuntimeRendererHost;
10
- declare function enqueueRuntimeTask(task: RuntimeTask): void;
11
- declare function enqueueRuntimeLane(lane: SchedulerLane, task: RuntimeTask): void;
12
- declare function runRuntimeHandlerScope<T>(fn: () => T, flushMode?: 'defer' | 'sync'): T;
13
- declare function runRuntimeWithSyncProgress<T>(fn: () => T): T;
14
- declare function getRuntimeSchedulerState(): ReturnType<Scheduler['getState']>;
15
- declare function isRuntimeSchedulerExecuting(): boolean;
16
- declare function getRuntimeFlushVersion(): number;
17
- declare function flushRuntimeScheduler(): void;
18
- declare function setRuntimeBulkCommitProbe(probe: () => boolean): void;
19
- declare function markRuntimeReactivePropsDirtySource(source: ReadableSource<unknown>): void;
@@ -1,43 +0,0 @@
1
- import { getDefaultRuntime } from "./runtime.js";
2
- //#region src/runtime/access.ts
3
- function getRuntimeScheduler() {
4
- return getDefaultRuntime().scheduler;
5
- }
6
- function getDefaultRuntimeInstance() {
7
- return getDefaultRuntime();
8
- }
9
- function getRuntimeRenderer() {
10
- return getDefaultRuntime().renderer;
11
- }
12
- function enqueueRuntimeTask(task) {
13
- getRuntimeScheduler().enqueue(task);
14
- }
15
- function enqueueRuntimeLane(lane, task) {
16
- getRuntimeScheduler().enqueueInLane(lane, task);
17
- }
18
- function runRuntimeHandlerScope(fn, flushMode = "defer") {
19
- return getRuntimeScheduler().runInHandlerScope(fn, flushMode);
20
- }
21
- function runRuntimeWithSyncProgress(fn) {
22
- return getRuntimeScheduler().runWithSyncProgress(fn);
23
- }
24
- function getRuntimeSchedulerState() {
25
- return getRuntimeScheduler().getState();
26
- }
27
- function isRuntimeSchedulerExecuting() {
28
- return getRuntimeScheduler().isExecuting();
29
- }
30
- function getRuntimeFlushVersion() {
31
- return getRuntimeScheduler().getFlushVersion();
32
- }
33
- function flushRuntimeScheduler() {
34
- getRuntimeScheduler().flush();
35
- }
36
- function setRuntimeBulkCommitProbe(probe) {
37
- getRuntimeScheduler().setBulkCommitProbe(probe);
38
- }
39
- function markRuntimeReactivePropsDirtySource(source) {
40
- getRuntimeRenderer().markReactivePropsDirtySource(source);
41
- }
42
- //#endregion
43
- export { enqueueRuntimeLane, enqueueRuntimeTask, flushRuntimeScheduler, getDefaultRuntimeInstance, getRuntimeFlushVersion, getRuntimeRenderer, getRuntimeScheduler, getRuntimeSchedulerState, isRuntimeSchedulerExecuting, markRuntimeReactivePropsDirtySource, runRuntimeHandlerScope, runRuntimeWithSyncProgress, setRuntimeBulkCommitProbe };
@@ -1,41 +0,0 @@
1
- import { ComponentInstance } from "./component-internal.js";
2
- import { DOMRange } from "../common/dom-range.js";
3
- import { VNode } from "../common/vnode.js";
4
-
5
- //#region src/runtime/child-scope.d.ts
6
- interface ChildScope {
7
- key: string | number;
8
- componentInstance: ComponentInstance;
9
- previousVnode: VNode | undefined;
10
- vnode: VNode | undefined;
11
- dom?: Node;
12
- /** @internal Fast singleton node plus an anchor-backed multi-node range. */
13
- range?: DOMRange;
14
- needsDomUpdate: boolean;
15
- hydrationPending: boolean;
16
- /** @internal Stable owner for validated intrinsic blueprints in list items. */
17
- blueprintOwner?: object;
18
- render(renderFn: () => VNode): VNode;
19
- markDirty(): void;
20
- dispose(): void;
21
- }
22
- /** @internal Snapshot used to restore a child scope after a failed commit. */
23
- interface ChildScopeTransactionSnapshot {
24
- previousVnode: VNode | undefined;
25
- vnode: VNode | undefined;
26
- dom: Node | undefined;
27
- range: DOMRange | undefined;
28
- domTextData: string | undefined;
29
- needsDomUpdate: boolean;
30
- hydrationPending: boolean;
31
- renderFn: (() => VNode) | undefined;
32
- }
33
- declare function rerenderChildScope(scope: ChildScope): VNode | undefined;
34
- /** @internal */
35
- declare function captureChildScopeTransactionSnapshot(scope: ChildScope): ChildScopeTransactionSnapshot;
36
- /** @internal */
37
- declare function restoreChildScopeTransactionSnapshot(scope: ChildScope, snapshot: ChildScopeTransactionSnapshot): void;
38
- declare function disposeChildScope(scope: ChildScope): void;
39
- declare function createChildScope(parent: ComponentInstance | null, key: string | number, onDirty?: () => void): ChildScope;
40
- //#endregion
41
- export { ChildScope, ChildScopeTransactionSnapshot };
@@ -1,134 +0,0 @@
1
- import { _isDOMElement } from "../common/vnode.js";
2
- import { isDevelopmentEnvironment } from "../common/env.js";
3
- import { clearRenderTracking, getCurrentInstance, getCurrentStateIndex } from "./component-scope.js";
4
- import { cleanupComponent, registerOwnedChildScope, unregisterOwnedChildScope } from "./component-cleanup.js";
5
- import { finalizeInlineReadSubscriptions } from "./lifecycle-batch.js";
6
- import "./component-lifecycle.js";
7
- import { createComponentInstance, renderScopedComponent } from "./component-internal.js";
8
- import "./component.js";
9
- const EMPTY_CHILD_SCOPE_PROPS = {};
10
- const childScopesByInstance = /* @__PURE__ */ new WeakMap();
11
- function executeChildScopeComponent() {
12
- const instance = getCurrentInstance();
13
- const scope = instance ? childScopesByInstance.get(instance) : void 0;
14
- if (!scope?._renderFn) return null;
15
- return scope._renderFn();
16
- }
17
- function ensureChildScopeFlushTask(scope) {
18
- const instance = scope.componentInstance;
19
- if (instance._pendingFlushTask) return;
20
- instance._pendingFlushTask = () => {
21
- instance.hasPendingUpdate = false;
22
- if (instance.notifyUpdate === null || scope._disposed) return;
23
- renderScope(scope);
24
- scope._onDirty?.();
25
- };
26
- }
27
- var ChildScopeImpl = class {
28
- constructor(parent, key, onDirty) {
29
- this.previousVnode = void 0;
30
- this.vnode = void 0;
31
- this.dom = void 0;
32
- this.range = void 0;
33
- this.needsDomUpdate = true;
34
- this.hydrationPending = true;
35
- this.blueprintOwner = void 0;
36
- this._renderFn = void 0;
37
- this._disposed = false;
38
- this.key = key;
39
- this._parent = parent;
40
- this._onDirty = onDirty;
41
- this._startStateIndex = getCurrentStateIndex();
42
- this.componentInstance = createComponentInstance("child-scope", executeChildScopeComponent, EMPTY_CHILD_SCOPE_PROPS, null);
43
- childScopesByInstance.set(this.componentInstance, this);
44
- if (parent) {
45
- this.componentInstance.parentInstance = parent;
46
- this.componentInstance.ownerFrame = parent.ownerFrame;
47
- this.componentInstance.portalScope = parent.portalScope;
48
- registerOwnedChildScope(parent, this);
49
- }
50
- }
51
- markDirty() {
52
- this.needsDomUpdate = true;
53
- }
54
- render(renderFn) {
55
- this._renderFn = renderFn;
56
- return renderScope(this);
57
- }
58
- dispose() {
59
- if (this._disposed) return;
60
- this._disposed = true;
61
- if (this._parent) unregisterOwnedChildScope(this._parent, this);
62
- childScopesByInstance.delete(this.componentInstance);
63
- cleanupComponent(this.componentInstance);
64
- this._renderFn = void 0;
65
- this.previousVnode = void 0;
66
- this.vnode = void 0;
67
- this.dom = void 0;
68
- this.range = void 0;
69
- this.needsDomUpdate = false;
70
- this.hydrationPending = false;
71
- this.blueprintOwner = void 0;
72
- this.componentInstance.hasPendingUpdate = false;
73
- }
74
- };
75
- function renderScope(scope) {
76
- if (scope._disposed) {
77
- if (isDevelopmentEnvironment()) throw new Error(`[askr] Attempted to render disposed child scope ${String(scope.key)}.`);
78
- return scope.vnode;
79
- }
80
- if (!scope._renderFn) return scope.vnode;
81
- const { componentInstance } = scope;
82
- const previousVNode = scope.vnode;
83
- try {
84
- const nextVNode = renderScopedComponent(componentInstance, scope._startStateIndex, scope._renderFn);
85
- if (previousVNode && nextVNode && _isDOMElement(previousVNode) && _isDOMElement(nextVNode) && typeof previousVNode.type === "function" && previousVNode.type === nextVNode.type && "__instance" in previousVNode && !("__instance" in nextVNode)) nextVNode.__instance = previousVNode.__instance;
86
- scope.previousVnode = previousVNode;
87
- scope.vnode = nextVNode;
88
- scope.markDirty();
89
- if ((componentInstance._pendingReadSources?.size ?? 0) > 0) ensureChildScopeFlushTask(scope);
90
- finalizeInlineReadSubscriptions(componentInstance, componentInstance._currentRenderToken, componentInstance._pendingReadSources, componentInstance._pendingReadSourceVersions);
91
- clearRenderTracking(componentInstance);
92
- return scope.vnode;
93
- } catch (error) {
94
- componentInstance.hasPendingUpdate = false;
95
- throw error;
96
- }
97
- }
98
- function rerenderChildScope(scope) {
99
- return renderScope(scope);
100
- }
101
- /** @internal */
102
- function captureChildScopeTransactionSnapshot(scope) {
103
- const mutableScope = scope;
104
- return {
105
- previousVnode: scope.previousVnode,
106
- vnode: scope.vnode,
107
- dom: scope.dom,
108
- range: scope.range,
109
- domTextData: scope.dom?.nodeType === 3 ? scope.dom.data : void 0,
110
- needsDomUpdate: scope.needsDomUpdate,
111
- hydrationPending: scope.hydrationPending,
112
- renderFn: mutableScope._renderFn
113
- };
114
- }
115
- /** @internal */
116
- function restoreChildScopeTransactionSnapshot(scope, snapshot) {
117
- const mutableScope = scope;
118
- scope.previousVnode = snapshot.previousVnode;
119
- scope.vnode = snapshot.vnode;
120
- scope.dom = snapshot.dom;
121
- scope.range = snapshot.range;
122
- if (snapshot.domTextData !== void 0 && snapshot.dom?.nodeType === 3) snapshot.dom.data = snapshot.domTextData;
123
- scope.needsDomUpdate = snapshot.needsDomUpdate;
124
- scope.hydrationPending = snapshot.hydrationPending;
125
- mutableScope._renderFn = snapshot.renderFn;
126
- }
127
- function disposeChildScope(scope) {
128
- scope.dispose();
129
- }
130
- function createChildScope(parent, key, onDirty) {
131
- return new ChildScopeImpl(parent, key, onDirty);
132
- }
133
- //#endregion
134
- export { captureChildScopeTransactionSnapshot, createChildScope, disposeChildScope, rerenderChildScope, restoreChildScopeTransactionSnapshot };
@@ -1,15 +0,0 @@
1
- import { ComponentInstance } from "./component-internal.js";
2
-
3
- //#region src/runtime/component-cleanup.d.ts
4
- type OwnedChildScope = {
5
- key: string | number;
6
- dispose(): void;
7
- };
8
- /**
9
- * Clean up component resources on unmount or route changes.
10
- */
11
- declare function cleanupComponent(instance: ComponentInstance): void;
12
- declare function registerOwnedChildScope(instance: ComponentInstance, scope: OwnedChildScope): void;
13
- declare function unregisterOwnedChildScope(instance: ComponentInstance, scope: OwnedChildScope): void;
14
- //#endregion
15
- export { OwnedChildScope, cleanupComponent, registerOwnedChildScope, unregisterOwnedChildScope };
@@ -1,68 +0,0 @@
1
- import { isDevelopmentEnvironment } from "../common/env.js";
2
- import { logger } from "../common/logger.js";
3
- import { cleanupReadableSubscriptions } from "./readable.js";
4
- import { clearCurrentComponentScope, restoreCurrentComponentScope } from "./component-scope.js";
5
- //#region src/runtime/component-cleanup.ts
6
- /**
7
- * Component cleanup and owned child-scope bookkeeping.
8
- */
9
- /**
10
- * Clean up component resources on unmount or route changes.
11
- */
12
- function cleanupComponent(instance) {
13
- const savedScope = clearCurrentComponentScope();
14
- try {
15
- const cleanupErrors = [];
16
- const recordCleanupError = (message, err) => {
17
- if (instance.cleanupStrict) cleanupErrors.push(err);
18
- else if (isDevelopmentEnvironment()) logger.warn(message, err);
19
- };
20
- const ownedChildScopes = instance._ownedChildScopes;
21
- if (ownedChildScopes && ownedChildScopes.size > 0) {
22
- instance._ownedChildScopes = /* @__PURE__ */ new Set();
23
- for (const scope of ownedChildScopes) try {
24
- scope.dispose();
25
- } catch (err) {
26
- recordCleanupError("[Askr] child scope cleanup threw:", err);
27
- }
28
- }
29
- const cleanupFns = instance.cleanupFns ?? [];
30
- instance.cleanupFns = [];
31
- for (const cleanup of cleanupFns) try {
32
- cleanup();
33
- } catch (err) {
34
- recordCleanupError("[Askr] cleanup function threw:", err);
35
- }
36
- try {
37
- cleanupReadableSubscriptions(instance);
38
- } catch (err) {
39
- recordCleanupError("[Askr] readable subscription cleanup threw:", err);
40
- }
41
- try {
42
- if (instance.abortController && !instance.abortController.signal.aborted) instance.abortController.abort();
43
- } catch (err) {
44
- recordCleanupError("[Askr] abort controller cleanup threw:", err);
45
- }
46
- instance.abortController = null;
47
- instance.lifecycleGeneration++;
48
- instance.evaluationGeneration++;
49
- instance.mountOperations = [];
50
- instance.commitOperations = [];
51
- instance.lifecycleSlots = void 0;
52
- instance.hasPendingUpdate = false;
53
- instance.notifyUpdate = null;
54
- instance._placeholder = void 0;
55
- instance.mounted = false;
56
- if (cleanupErrors.length > 0) throw new AggregateError(cleanupErrors, `Cleanup failed for component ${instance.id}`);
57
- } finally {
58
- restoreCurrentComponentScope(savedScope);
59
- }
60
- }
61
- function registerOwnedChildScope(instance, scope) {
62
- (instance._ownedChildScopes ??= /* @__PURE__ */ new Set()).add(scope);
63
- }
64
- function unregisterOwnedChildScope(instance, scope) {
65
- instance._ownedChildScopes?.delete(scope);
66
- }
67
- //#endregion
68
- export { cleanupComponent, registerOwnedChildScope, unregisterOwnedChildScope };