@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
package/README.md CHANGED
@@ -24,9 +24,13 @@ createIsland({ root: document.body, component: Counter });
24
24
  ### Runtime
25
25
 
26
26
  `@askrjs/askr` exports the core runtime primitives: `state()`, `derive()`,
27
- `selector()`, `defineContext()`, `readContext()`, `getSignal()`, and the JSX
27
+ `selector()`, `defineScope()`, `readScope()`, `getSignal()`, and the JSX
28
28
  runtime exports.
29
29
 
30
+ Public APIs prefer functions and closures over classes. Lexical ownership uses
31
+ `defineScope()` and `readScope()`; there are no compatibility aliases for the
32
+ clean-break vocabulary.
33
+
30
34
  App startup, routing, async resources, data helpers, and error boundaries live
31
35
  on their own subpaths.
32
36
 
@@ -1,7 +1,93 @@
1
- import { isDevelopmentEnvironment } from "../common/env.js";
2
- import { assertSchedulingPrecondition, invariant } from "../common/invariant.js";
3
- import { logger } from "../common/logger.js";
4
- import { recordSchedulerFlushTaskCount } from "./perf-metrics.js";
1
+ //#region src/common/env.ts
2
+ function normalizeEnv(source) {
3
+ if (!source) return {};
4
+ const normalized = {};
5
+ for (const [key, value] of Object.entries(source)) if (typeof value === "string") normalized[key] = value;
6
+ else if (typeof value === "boolean" || typeof value === "number") normalized[key] = String(value);
7
+ return normalized;
8
+ }
9
+ function getBuildTimeEnv() {
10
+ const metaEnv = import.meta.env;
11
+ const normalized = normalizeEnv(metaEnv);
12
+ if (normalized.NODE_ENV == null && metaEnv) {
13
+ if (typeof metaEnv.MODE === "string" && metaEnv.MODE.length > 0) normalized.NODE_ENV = metaEnv.MODE;
14
+ else if (metaEnv.PROD === true || metaEnv.PROD === "true") normalized.NODE_ENV = "production";
15
+ else if (metaEnv.DEV === true || metaEnv.DEV === "true") normalized.NODE_ENV = "development";
16
+ }
17
+ return normalized;
18
+ }
19
+ function resolveNodeEnv(processNodeEnv, buildNodeEnv) {
20
+ if (buildNodeEnv === "production") return "production";
21
+ if (processNodeEnv != null) return processNodeEnv;
22
+ if (buildNodeEnv === "development") return "development";
23
+ return buildNodeEnv === "test" ? void 0 : buildNodeEnv;
24
+ }
25
+ function getRuntimeEnv() {
26
+ const processEnv = globalThis.process?.env ?? {};
27
+ const buildTimeEnv = getBuildTimeEnv();
28
+ return {
29
+ ...processEnv,
30
+ ...buildTimeEnv,
31
+ NODE_ENV: resolveNodeEnv(processEnv.NODE_ENV, buildTimeEnv.NODE_ENV)
32
+ };
33
+ }
34
+ function isProductionEnvironment() {
35
+ return getRuntimeEnv().NODE_ENV === "production";
36
+ }
37
+ function isDevelopmentEnvironment() {
38
+ return !isProductionEnvironment();
39
+ }
40
+ //#endregion
41
+ //#region src/common/invariant.ts
42
+ /**
43
+ * Invariant assertions shared by production runtime code.
44
+ */
45
+ function invariant(condition, message, context) {
46
+ if (!condition) {
47
+ const contextStr = context ? "\n" + JSON.stringify(context, null, 2) : "";
48
+ throw new Error(`[Askr Invariant] ${message}${contextStr}`);
49
+ }
50
+ }
51
+ function assertSchedulingPrecondition(condition, violationMessage) {
52
+ invariant(condition, `[Scheduler Precondition] ${violationMessage}`);
53
+ }
54
+ //#endregion
55
+ //#region src/common/logger.ts
56
+ /**
57
+ * Shared logger interface for runtime and tooling code.
58
+ *
59
+ * Debug, info, and warn stay silent in production. Errors always log.
60
+ */
61
+ function callConsole(method, args) {
62
+ const c = typeof console !== "undefined" ? console : void 0;
63
+ if (!c) return;
64
+ const fn = c[method];
65
+ if (typeof fn === "function") try {
66
+ fn.apply(console, args);
67
+ } catch {}
68
+ }
69
+ const logger = {
70
+ debug: (...args) => {
71
+ if (isProductionEnvironment()) return;
72
+ callConsole("debug", args);
73
+ },
74
+ info: (...args) => {
75
+ if (isProductionEnvironment()) return;
76
+ callConsole("info", args);
77
+ },
78
+ warn: (...args) => {
79
+ if (isProductionEnvironment()) return;
80
+ callConsole("warn", args);
81
+ },
82
+ error: (...args) => {
83
+ callConsole("error", args);
84
+ }
85
+ };
86
+ //#endregion
87
+ //#region src/runtime/perf-metrics.ts
88
+ const incrementPerfMetric = () => {};
89
+ const addPerfDuration = () => {};
90
+ //#endregion
5
91
  //#region src/runtime/scheduler.ts
6
92
  /**
7
93
  * Serialized update scheduler — safer design (no inline execution, explicit flush)
@@ -123,11 +209,11 @@ var Scheduler = class {
123
209
  }
124
210
  this.running = true;
125
211
  this.depth = 0;
126
- let fatal = null;
212
+ const failures = [];
127
213
  let executedTaskCount = 0;
128
214
  const executionsByTask = isDevelopmentEnvironment() ? /* @__PURE__ */ new Map() : null;
129
215
  try {
130
- while (fatal === null) {
216
+ while (true) {
131
217
  let didRunTask = false;
132
218
  for (const lane of SCHEDULER_LANES) {
133
219
  const laneQueue = this.lanes[lane];
@@ -143,18 +229,16 @@ var Scheduler = class {
143
229
  try {
144
230
  this.executionDepth++;
145
231
  task();
146
- this.executionDepth--;
232
+ } catch (err) {
233
+ failures.push(err);
234
+ } finally {
235
+ if (this.executionDepth > 0) this.executionDepth--;
147
236
  executedTaskCount++;
148
237
  executedInLane++;
149
238
  didRunTask = true;
150
- } catch (err) {
151
- if (this.executionDepth > 0) this.executionDepth--;
152
- fatal = err;
153
- break;
154
239
  }
155
240
  }
156
241
  if (executedInLane > 0) this.taskCount = Math.max(0, this.taskCount - executedInLane);
157
- if (fatal !== null) break;
158
242
  }
159
243
  if (!didRunTask) break;
160
244
  }
@@ -168,9 +252,9 @@ var Scheduler = class {
168
252
  }
169
253
  this.flushVersion++;
170
254
  this.resolveWaiters();
171
- recordSchedulerFlushTaskCount(executedTaskCount);
172
255
  }
173
- if (fatal) throw fatal;
256
+ if (failures.length === 1) throw failures[0];
257
+ if (failures.length > 1) throw new AggregateError(failures, "Scheduler task failures");
174
258
  }
175
259
  runWithSyncProgress(fn) {
176
260
  const prev = this.allowSyncProgress;
@@ -198,14 +282,12 @@ var Scheduler = class {
198
282
  if (this.flushVersion >= target) return Promise.resolve();
199
283
  return new Promise((resolve, reject) => {
200
284
  const timer = setTimeout(() => {
201
- const ns = globalThis.__ASKR__ || {};
202
285
  const diag = {
203
286
  flushVersion: this.flushVersion,
204
287
  queueLen: this.getPendingTaskCount(),
205
288
  running: this.running,
206
289
  inHandler: this.inHandler,
207
- bulk: this.isBulkCommitActive(),
208
- namespace: ns
290
+ bulk: this.isBulkCommitActive()
209
291
  };
210
292
  reject(/* @__PURE__ */ new Error(`waitForFlush timeout ${timeoutMs}ms: ${JSON.stringify(diag)}`));
211
293
  }, timeoutMs);
@@ -314,6 +396,94 @@ function scheduleEventHandler(handler) {
314
396
  };
315
397
  }
316
398
  //#endregion
317
- export { Scheduler, globalScheduler, scheduleEventHandler };
318
-
319
- //# sourceMappingURL=scheduler.js.map
399
+ //#region src/runtime/runtime.ts
400
+ function createMissingRendererHost() {
401
+ const missing = (method) => {
402
+ throw new Error(`[Askr] renderer host is not configured; cannot call ${method}().`);
403
+ };
404
+ return {
405
+ evaluate() {
406
+ missing("evaluate");
407
+ },
408
+ cleanupInstancesUnder() {
409
+ missing("cleanupInstancesUnder");
410
+ },
411
+ teardownNodeSubtree() {
412
+ missing("teardownNodeSubtree");
413
+ },
414
+ populateKeyMapForElement() {},
415
+ getKeyMapForElement() {},
416
+ isKeyedReorderFastPathEligible() {
417
+ return {
418
+ useFastPath: false,
419
+ totalKeyed: 0,
420
+ totalChildren: 0,
421
+ currentKeyCount: 0,
422
+ moveCount: 0,
423
+ lisLen: 0,
424
+ hasPropChanges: false,
425
+ isWholeKeyedList: false
426
+ };
427
+ },
428
+ markReactivePropsDirtySource() {}
429
+ };
430
+ }
431
+ var AskrRuntime = class {
432
+ constructor(options = {}) {
433
+ this.scheduler = options.scheduler ?? globalScheduler;
434
+ this.rendererHost = options.renderer ?? createMissingRendererHost();
435
+ }
436
+ get renderer() {
437
+ return this.rendererHost;
438
+ }
439
+ configureRenderer(renderer) {
440
+ this.rendererHost = renderer;
441
+ }
442
+ };
443
+ const defaultRuntime = new AskrRuntime({ scheduler: globalScheduler });
444
+ function createRuntime(options = {}) {
445
+ return new AskrRuntime(options);
446
+ }
447
+ function getDefaultRuntime() {
448
+ return defaultRuntime;
449
+ }
450
+ function configureRuntimeRenderer(renderer, runtime = defaultRuntime) {
451
+ runtime.configureRenderer(renderer);
452
+ }
453
+ //#endregion
454
+ //#region src/runtime/access.ts
455
+ function getRuntimeScheduler() {
456
+ return getDefaultRuntime().scheduler;
457
+ }
458
+ function getDefaultRuntimeInstance() {
459
+ return getDefaultRuntime();
460
+ }
461
+ function getRuntimeRenderer() {
462
+ return getDefaultRuntime().renderer;
463
+ }
464
+ function enqueueRuntimeTask(task) {
465
+ getRuntimeScheduler().enqueue(task);
466
+ }
467
+ function enqueueRuntimeLane(lane, task) {
468
+ getRuntimeScheduler().enqueueInLane(lane, task);
469
+ }
470
+ function runRuntimeHandlerScope(fn, flushMode = "defer") {
471
+ return getRuntimeScheduler().runInHandlerScope(fn, flushMode);
472
+ }
473
+ function runRuntimeWithSyncProgress(fn) {
474
+ return getRuntimeScheduler().runWithSyncProgress(fn);
475
+ }
476
+ function getRuntimeFlushVersion() {
477
+ return getRuntimeScheduler().getFlushVersion();
478
+ }
479
+ function flushRuntimeScheduler() {
480
+ getRuntimeScheduler().flush();
481
+ }
482
+ function setRuntimeBulkCommitProbe(probe) {
483
+ getRuntimeScheduler().setBulkCommitProbe(probe);
484
+ }
485
+ function markRuntimeReactivePropsDirtySource(source) {
486
+ getRuntimeRenderer().markReactivePropsDirtySource(source);
487
+ }
488
+ //#endregion
489
+ export { incrementPerfMetric as _, getRuntimeFlushVersion as a, isDevelopmentEnvironment as b, runRuntimeHandlerScope as c, AskrRuntime as d, configureRuntimeRenderer as f, addPerfDuration as g, scheduleEventHandler as h, getDefaultRuntimeInstance as i, runRuntimeWithSyncProgress as l, getDefaultRuntime as m, enqueueRuntimeTask as n, getRuntimeRenderer as o, createRuntime as p, flushRuntimeScheduler as r, markRuntimeReactivePropsDirtySource as s, enqueueRuntimeLane as t, setRuntimeBulkCommitProbe as u, logger as v, isProductionEnvironment as x, getRuntimeEnv as y };
@@ -0,0 +1,2 @@
1
+ import { a as action, i as ActionValidationError, n as ActionForm, o as defineAction, r as ActionStatus, t as ActionDescriptor } from "../index-SJXJkssx.js";
2
+ export { ActionDescriptor, ActionForm, ActionStatus, ActionValidationError, action, defineAction };
@@ -0,0 +1,103 @@
1
+ import { d as getCurrentAppRenderRuntime } from "../component-scope-CC3cojX9.js";
2
+ import { r as getCurrentRenderData } from "../render-context-Clw3rFiO.js";
3
+ import { t as state } from "../state-DPl8lffD.js";
4
+ import { jsx, jsxs } from "../jsx-runtime.js";
5
+ import { c as resolveDataRuntimeState, s as invalidateQueriesForRuntime } from "../data-runtime-SJ1BSUvk.js";
6
+ //#region src/actions/runtime.ts
7
+ const emptyFramework = Object.freeze({});
8
+ /** @internal Read Askr-owned state from the current application root. */
9
+ function readActionFramework() {
10
+ return getCurrentAppRenderRuntime()?.framework ?? emptyFramework;
11
+ }
12
+ //#endregion
13
+ //#region src/actions/index.tsx
14
+ function csrfToken() {
15
+ const value = getCurrentRenderData()?.framework.csrf ?? readActionFramework().csrf;
16
+ return typeof value === "string" ? value : void 0;
17
+ }
18
+ function defineAction(options) {
19
+ if (!options.id) throw new Error("defineAction requires a stable id.");
20
+ if (options.input.kind !== "object") throw new Error("defineAction input must be an object schema.");
21
+ return Object.freeze({
22
+ id: options.id,
23
+ input: options.input,
24
+ invalidates: Object.freeze([...options.invalidates ?? []])
25
+ });
26
+ }
27
+ /** A native form bound to a declared action; it is not a synthetic event API. */
28
+ function ActionForm({ action, children, ...props }) {
29
+ const token = csrfToken();
30
+ return /* @__PURE__ */ jsxs("form", {
31
+ ...props,
32
+ method: "post",
33
+ children: [
34
+ /* @__PURE__ */ jsx("input", {
35
+ type: "hidden",
36
+ name: "_askr_action",
37
+ value: action.id
38
+ }),
39
+ token ? /* @__PURE__ */ jsx("input", {
40
+ type: "hidden",
41
+ name: "_csrf",
42
+ value: token
43
+ }) : null,
44
+ children
45
+ ]
46
+ });
47
+ }
48
+ function validationError(value, actionId) {
49
+ if (!value || typeof value !== "object") return void 0;
50
+ const replay = value;
51
+ if (replay.kind !== "invalid" || replay.action !== actionId) return void 0;
52
+ if (!replay.values || !Array.isArray(replay.issues) || !replay.fieldErrors) return void 0;
53
+ return replay;
54
+ }
55
+ function initialStatus(actionId) {
56
+ const replay = validationError(getCurrentRenderData()?.framework.action ?? readActionFramework().action, actionId);
57
+ return replay ? {
58
+ pending: false,
59
+ error: replay
60
+ } : { pending: false };
61
+ }
62
+ /** Returns a command handle, rather than a hook. */
63
+ function action(descriptor) {
64
+ const token = csrfToken();
65
+ const runtime = resolveDataRuntimeState();
66
+ const value = state(initialStatus(descriptor.id));
67
+ const setValue = value.set;
68
+ return {
69
+ state: value,
70
+ async submit(input) {
71
+ setValue({ pending: true });
72
+ try {
73
+ const response = await fetch(location.href, {
74
+ method: "POST",
75
+ headers: {
76
+ "content-type": "application/json",
77
+ accept: "application/vnd.askr.action+json;v=1",
78
+ "x-askr-action": descriptor.id,
79
+ ...token ? { "x-askr-csrf-token": token } : {}
80
+ },
81
+ body: JSON.stringify(input)
82
+ });
83
+ const envelope = await response.json();
84
+ if (!response.ok) throw envelope.error ?? validationError(envelope, descriptor.id) ?? /* @__PURE__ */ new Error(`Action failed (${response.status}).`);
85
+ const invalidates = Array.isArray(envelope.invalidates) ? envelope.invalidates.filter((prefix) => typeof prefix === "string") : descriptor.invalidates;
86
+ for (const prefix of invalidates) invalidateQueriesForRuntime(runtime, prefix, true);
87
+ setValue({
88
+ pending: false,
89
+ result: envelope.result
90
+ });
91
+ return envelope.result;
92
+ } catch (error) {
93
+ setValue({
94
+ pending: false,
95
+ error
96
+ });
97
+ throw error;
98
+ }
99
+ }
100
+ };
101
+ }
102
+ //#endregion
103
+ export { ActionForm, action, defineAction };
@@ -12,6 +12,4 @@ function getPublicAttributeName(propName) {
12
12
  return PUBLIC_ATTRIBUTE_NAME_MAP[propName] ?? propName;
13
13
  }
14
14
  //#endregion
15
- export { getPublicAttributeName };
16
-
17
- //# sourceMappingURL=attr-names.js.map
15
+ export { getPublicAttributeName as t };
@@ -1,5 +1,9 @@
1
- import { BenchmarkRowData } from "./bench/components/benchmark-row.js";
2
-
1
+ //#region src/bench/components/benchmark-row.d.ts
2
+ interface BenchmarkRowData {
3
+ id: number;
4
+ label: string;
5
+ }
6
+ //#endregion
3
7
  //#region src/bench/benchmark-entry.d.ts
4
8
  type RowData = BenchmarkRowData;
5
9
  interface BenchmarkMetadata {
@@ -18,5 +22,4 @@ declare const _default: {
18
22
  mountBenchmark: typeof mountBenchmark;
19
23
  };
20
24
  //#endregion
21
- export { BenchmarkMetadata, benchmarkMetadata, _default as default, getBenchmarkMetadata, mountBenchmark };
22
- //# sourceMappingURL=benchmark.d.ts.map
25
+ export { BenchmarkMetadata, benchmarkMetadata, _default as default, getBenchmarkMetadata, mountBenchmark };
package/dist/benchmark.js CHANGED
@@ -1,18 +1,70 @@
1
- import { flushRuntimeScheduler } from "./runtime/access.js";
2
- import { state } from "./runtime/state.js";
3
- import { selector } from "./runtime/selector.js";
4
- import "./runtime/index.js";
5
- import { jsx } from "./jsx-runtime.js";
6
- import { installRendererBridge } from "./renderer/index.js";
7
- import "./jsx-runtime2.js";
8
- import { createIsland } from "./boot/index.js";
9
- import { BenchmarkTable } from "./bench/components/benchmark-table.js";
1
+ import { r as flushRuntimeScheduler } from "./access-Bg4RJNC8.js";
2
+ import { t as installRendererBridge } from "./renderer-DzPjeLby.js";
3
+ import { t as state } from "./state-DPl8lffD.js";
4
+ import { t as selector } from "./selector-DafVYzV4.js";
5
+ import { jsx, jsxs } from "./jsx-runtime.js";
6
+ import { i as For } from "./control-BYyLTFyw.js";
7
+ import { t as createIsland } from "./boot-j2KoN6ss.js";
8
+ //#region src/bench/components/benchmark-row.tsx
9
+ function BenchmarkRow({ item, isSelected, onSelect, onRemove }) {
10
+ return /* @__PURE__ */ jsxs("tr", {
11
+ class: () => isSelected(item.id) ? "danger" : "",
12
+ children: [
13
+ /* @__PURE__ */ jsx("td", {
14
+ class: "col-md-1",
15
+ children: () => item.id
16
+ }, "id"),
17
+ /* @__PURE__ */ jsx("td", {
18
+ class: "col-md-4",
19
+ children: /* @__PURE__ */ jsx("a", {
20
+ onClick: (event) => {
21
+ event.preventDefault();
22
+ onSelect(item.id);
23
+ },
24
+ children: () => item.label
25
+ })
26
+ }, "label"),
27
+ /* @__PURE__ */ jsx("td", {
28
+ class: "col-md-1",
29
+ children: /* @__PURE__ */ jsx("a", {
30
+ onClick: (event) => {
31
+ event.preventDefault();
32
+ onRemove(item.id);
33
+ },
34
+ children: /* @__PURE__ */ jsx("span", {
35
+ class: "glyphicon glyphicon-remove",
36
+ "aria-hidden": "true"
37
+ })
38
+ })
39
+ }, "remove"),
40
+ /* @__PURE__ */ jsx("td", { class: "col-md-6" }, "spacer")
41
+ ]
42
+ });
43
+ }
44
+ //#endregion
45
+ //#region src/bench/components/benchmark-table.tsx
46
+ function BenchmarkTable({ rows, isSelected, onSelect, onRemove }) {
47
+ return /* @__PURE__ */ jsx("table", {
48
+ class: "table table-hover table-striped test-data",
49
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsx(For, {
50
+ each: () => rows(),
51
+ by: (item) => item.id,
52
+ children: (item) => /* @__PURE__ */ jsx(BenchmarkRow, {
53
+ item,
54
+ isSelected,
55
+ onSelect,
56
+ onRemove
57
+ })
58
+ }) })
59
+ });
60
+ }
61
+ //#endregion
10
62
  //#region src/bench/benchmark-entry.tsx
11
63
  installRendererBridge();
12
64
  const benchmarkMetadata = {
13
65
  packageName: "@askrjs/askr",
14
- packageVersion: "0.0.51",
15
- buildLabel: "0.0.51-local"
66
+ packageVersion: "0.0.53",
67
+ buildLabel: "0.0.53-local"
16
68
  };
17
69
  function getBenchmarkMetadata() {
18
70
  return { ...benchmarkMetadata };
@@ -61,5 +113,3 @@ function mountBenchmark(root, initialRows) {
61
113
  var benchmark_entry_default = { mountBenchmark };
62
114
  //#endregion
63
115
  export { benchmarkMetadata, benchmark_entry_default as default, getBenchmarkMetadata, mountBenchmark };
64
-
65
- //# sourceMappingURL=benchmark.js.map
@@ -1,6 +1,65 @@
1
- import { HydrateSPAConfig, IslandConfig, IslandsConfig, SPAConfig } from "./types.js";
2
- import { cleanupApp, hasApp } from "./root-lifecycle.js";
1
+ import { s as ComponentFunction } from "../control-BQvNVfAd.js";
2
+ import { v as DataRuntime } from "../index-Bki2rqcr.js";
3
+ import { P as RouteRegistry, m as RouteAuthOptions, p as Route, x as RouteManifest } from "../router-CeYvjj5_.js";
4
+ import { d as ScrollRestorationOptions } from "../navigate-BVDCzOuB.js";
3
5
 
6
+ //#region src/boot/types.d.ts
7
+ type IslandConfig = {
8
+ root: Element | string;
9
+ component: ComponentFunction;
10
+ cleanupStrict?: boolean;
11
+ routes?: never;
12
+ };
13
+ type IslandsConfig = {
14
+ islands: IslandConfig[];
15
+ };
16
+ type BootRouteSource = {
17
+ registry: RouteRegistry;
18
+ manifest?: RouteManifest;
19
+ routes?: Route[];
20
+ } | {
21
+ manifest: RouteManifest;
22
+ registry?: RouteRegistry;
23
+ routes?: Route[];
24
+ } | {
25
+ manifest?: RouteManifest;
26
+ registry?: RouteRegistry;
27
+ routes: Route[];
28
+ };
29
+ type SPAConfig = BootRouteSource & {
30
+ root: Element | string;
31
+ /**
32
+ * Preferred: pass a route registry built via `createRouteRegistry(() => { ... })`.
33
+ * ```ts
34
+ * import { createRouteRegistry } from '@askrjs/askr/router';
35
+ * const registry = createRouteRegistry(() => { ... });
36
+ * await createSPA({ root: '#app', registry });
37
+ * ```
38
+ */
39
+ auth?: RouteAuthOptions;
40
+ scrollRestoration?: boolean | ScrollRestorationOptions;
41
+ cleanupStrict?: boolean;
42
+ component?: never;
43
+ };
44
+ type HydrateSPAConfig = BootRouteSource & {
45
+ root: Element | string;
46
+ dataRuntime?: DataRuntime; /** Preferred route input - see `SPAConfig`. */
47
+ auth?: RouteAuthOptions;
48
+ scrollRestoration?: boolean | ScrollRestorationOptions;
49
+ cleanupStrict?: boolean;
50
+ hydrate?: {
51
+ verifyMarkup?: boolean;
52
+ deferUntilIdle?: boolean;
53
+ deferBelowFold?: boolean;
54
+ foldThreshold?: number;
55
+ skipSelectors?: string[];
56
+ };
57
+ };
58
+ //#endregion
59
+ //#region src/boot/root-lifecycle.d.ts
60
+ declare function cleanupApp(root: Element | string): void;
61
+ declare function hasApp(root: Element | string): boolean;
62
+ //#endregion
4
63
  //#region src/boot/index.d.ts
5
64
  /**
6
65
  * createIsland: Enhances existing DOM (no router, mounts once)
@@ -32,5 +91,4 @@ declare function createSPA(config: SPAConfig): Promise<void>;
32
91
  */
33
92
  declare function hydrateSPA(config: HydrateSPAConfig): Promise<void>;
34
93
  //#endregion
35
- export { type HydrateSPAConfig, type IslandConfig, type IslandsConfig, type SPAConfig, cleanupApp, createIsland, createIslands, createSPA, hasApp, hydrateSPA };
36
- //# sourceMappingURL=index.d.ts.map
94
+ export { type HydrateSPAConfig, type IslandConfig, type IslandsConfig, type SPAConfig, cleanupApp, createIsland, createIslands, createSPA, hasApp, hydrateSPA };