@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,10 +0,0 @@
1
- //#region src/common/ssr-errors.d.ts
2
- /**
3
- * Common call contracts: SSR error types
4
- */
5
- declare class SSRDataMissingError extends Error {
6
- readonly code = "SSR_DATA_MISSING";
7
- constructor(message?: string);
8
- }
9
- //#endregion
10
- export { SSRDataMissingError };
@@ -1,14 +0,0 @@
1
- //#region src/common/ssr-errors.ts
2
- /**
3
- * Common call contracts: SSR error types
4
- */
5
- var SSRDataMissingError = class SSRDataMissingError extends Error {
6
- constructor(message = "Server-side rendering requires all data to be available synchronously. This component attempted to use async data during SSR.") {
7
- super(message);
8
- this.code = "SSR_DATA_MISSING";
9
- this.name = "SSRDataMissingError";
10
- Object.setPrototypeOf(this, SSRDataMissingError.prototype);
11
- }
12
- };
13
- //#endregion
14
- export { SSRDataMissingError };
@@ -1,41 +0,0 @@
1
- //#region src/common/ssr.d.ts
2
- /**
3
- * Common call contracts: SSR types
4
- */
5
- type SSRData = Record<string, unknown>;
6
- interface DocumentRenderRoute {
7
- path: string;
8
- namespace?: string;
9
- }
10
- interface DocumentRenderContext {
11
- mode: 'ssr' | 'ssg';
12
- url: string;
13
- pathname: string;
14
- search: string;
15
- hash: string;
16
- params: Record<string, string>;
17
- data?: SSRData;
18
- seed: number;
19
- route: DocumentRenderRoute;
20
- }
21
- interface DocumentRenderArgs {
22
- appHtml: string;
23
- context: DocumentRenderContext;
24
- }
25
- type DocumentRenderer = (args: DocumentRenderArgs) => string;
26
- declare function renderDocument(document: DocumentRenderer, args: DocumentRenderArgs, apiName: string): string;
27
- declare const SSR_RENDER_DATA_ATTR = "data-askr-render-data";
28
- /** Full context for sink-based streaming SSR */
29
- type SSRContext = {
30
- url: string;
31
- seed: number;
32
- data?: SSRData;
33
- params?: Record<string, string>;
34
- signal?: AbortSignal;
35
- };
36
- /** Lightweight context for synchronous render passes */
37
- type RenderContext = {
38
- seed: number;
39
- };
40
- //#endregion
41
- export { DocumentRenderArgs, DocumentRenderContext, DocumentRenderRoute, DocumentRenderer, SSRContext, SSRData };
@@ -1,21 +0,0 @@
1
- import { Props } from "./props.js";
2
- import { JSXElement, JSXElementType } from "./jsx.js";
3
- import { ForState } from "../runtime/for-internal.js";
4
- import { ControlBoundaryState } from "../runtime/control.js";
5
- //#region src/common/vnode.d.ts
6
- declare const __ERROR_BOUNDARY__: unique symbol;
7
- interface DOMElement {
8
- type: JSXElementType;
9
- props?: Props;
10
- children?: VNode[];
11
- key?: string | number | null;
12
- [Symbol.iterator]?: never;
13
- _controlState?: ControlBoundaryState;
14
- _forState?: ForState<unknown>;
15
- }
16
- type VNode = DOMElement | string | number | boolean | null | undefined;
17
- type RenderableChild = VNode | JSXElement | readonly RenderableChild[];
18
- declare const __FOR_BOUNDARY__: symbol;
19
- declare function _isDOMElement(node: unknown): node is DOMElement;
20
- //#endregion
21
- export { DOMElement, RenderableChild, VNode };
@@ -1,14 +0,0 @@
1
- import { JSXElement } from "../common/jsx.js";
2
- import { ComponentInstance } from "../runtime/component-internal.js";
3
- import { ErrorBoundaryFallbackRender, ErrorBoundaryProps } from "../common/error-boundary.js";
4
-
5
- //#region src/components/error-boundary.d.ts
6
- type ErrorBoundaryState = NonNullable<ComponentInstance['errorBoundaryState']>;
7
- type ErrorBoundaryVNode = JSXElement & {
8
- __instance?: ComponentInstance;
9
- };
10
- declare function ErrorBoundary(props: ErrorBoundaryProps): JSXElement;
11
- declare function isErrorBoundaryVNode(value: unknown): value is ErrorBoundaryVNode;
12
- declare function resolveErrorBoundaryState(vnode: ErrorBoundaryVNode): ErrorBoundaryState | null;
13
- //#endregion
14
- export { ErrorBoundary, type ErrorBoundaryFallbackRender, type ErrorBoundaryProps };
@@ -1,41 +0,0 @@
1
- import { __ERROR_BOUNDARY__ } from "../common/vnode.js";
2
- import { ELEMENT_TYPE } from "../common/jsx.js";
3
- import { getCurrentComponentInstance } from "../runtime/component-scope.js";
4
- import "../runtime/index.js";
5
- //#region src/components/error-boundary.tsx
6
- function ensureBoundaryState(instance, resetKey) {
7
- const boundaryState = instance.errorBoundaryState ?? (instance.errorBoundaryState = {
8
- error: null,
9
- resetKey,
10
- notified: false
11
- });
12
- if (!Object.is(boundaryState.resetKey, resetKey)) {
13
- boundaryState.error = null;
14
- boundaryState.resetKey = resetKey;
15
- boundaryState.notified = false;
16
- }
17
- return boundaryState;
18
- }
19
- function createBoundaryVNode(instance, props) {
20
- const key = typeof props.key === "symbol" ? null : props.key ?? null;
21
- return {
22
- $$typeof: ELEMENT_TYPE,
23
- type: __ERROR_BOUNDARY__,
24
- props: {
25
- children: props.children,
26
- fallback: props.fallback,
27
- onError: props.onError,
28
- resetKey: props.resetKey
29
- },
30
- key,
31
- __instance: instance
32
- };
33
- }
34
- function ErrorBoundary(props) {
35
- const instance = getCurrentComponentInstance();
36
- if (!instance) throw new Error("[Askr] ErrorBoundary() can only be used during component render execution.");
37
- ensureBoundaryState(instance, props.resetKey);
38
- return createBoundaryVNode(instance, props);
39
- }
40
- //#endregion
41
- export { ErrorBoundary };
@@ -1,68 +0,0 @@
1
- import { Props } from "../common/props.js";
2
- import { JSXElement } from "../common/jsx.js";
3
- import { RenderableChild } from "../common/vnode.js";
4
-
5
- //#region src/components/link.d.ts
6
- type LinkProps = Omit<Props, 'children' | 'href' | 'class' | 'rel' | 'target' | 'aria-current' | 'aria-label'> & {
7
- href: string;
8
- class?: string;
9
- children?: RenderableChild;
10
- /**
11
- * Optional rel attribute for link relationships.
12
- * Common values: "noopener", "noreferrer", "nofollow"
13
- */
14
- rel?: string;
15
- /**
16
- * Optional target attribute.
17
- * Use "_blank" for new tab/window.
18
- */
19
- target?: string;
20
- /**
21
- * Optional aria-current attribute for indicating current page/location.
22
- * Use "page" for the current page in navigation.
23
- */
24
- 'aria-current'?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
25
- /**
26
- * Optional aria-label for accessibility when link text isn't descriptive enough.
27
- */
28
- 'aria-label'?: string;
29
- };
30
- /**
31
- * Link component that prevents default navigation and uses navigate()
32
- * Provides declarative way to navigate between routes
33
- *
34
- * Accessibility features:
35
- * - Proper semantic <a> element (not a button)
36
- * - Supports aria-current for indicating active page
37
- * - Supports aria-label for descriptive labels
38
- * - Keyboard accessible (Enter key handled by native <a> element)
39
- *
40
- * Respects native browser behaviors:
41
- * - Middle-click (opens in new tab)
42
- * - Ctrl/Cmd+click (opens in new tab)
43
- * - Shift+click (opens in new window)
44
- * - Alt+click (downloads link)
45
- * - Right-click context menu
46
- *
47
- * Best practices:
48
- * - Use target="_blank" with rel="noopener noreferrer" for external links
49
- * - Use aria-current="page" for the current page in navigation
50
- * - Provide descriptive link text or aria-label
51
- *
52
- * Uses applyInteractionPolicy to enforce pit-of-success principles:
53
- * - Interaction behavior centralized in foundations
54
- * - Keyboard handling automatic
55
- * - Composable via mergeProps
56
- */
57
- declare function Link({
58
- href,
59
- class: className,
60
- children,
61
- rel,
62
- target,
63
- 'aria-current': ariaCurrent,
64
- 'aria-label': ariaLabel,
65
- ...rest
66
- }: LinkProps): JSXElement;
67
- //#endregion
68
- export { Link, LinkProps };
@@ -1,74 +0,0 @@
1
- import "../jsx/types.js";
2
- import { jsx } from "../jsx-runtime.js";
3
- import "../jsx-runtime2.js";
4
- import { navigate } from "../router/navigate.js";
5
- import { mergeProps } from "../foundations/utilities/merge-props.js";
6
- import "../foundations/utilities/index.js";
7
- import { applyInteractionPolicy } from "../foundations/interactions/interaction-policy.js";
8
- import "../foundations/interactions/index.js";
9
- //#region src/components/link.tsx
10
- /**
11
- * Link component for client-side navigation
12
- */
13
- function isSameOriginNavigableHref(href) {
14
- if (typeof window === "undefined") return true;
15
- try {
16
- const target = new URL(href, window.location.href);
17
- return target.origin === window.location.origin && (target.protocol === "http:" || target.protocol === "https:");
18
- } catch {
19
- return false;
20
- }
21
- }
22
- /**
23
- * Link component that prevents default navigation and uses navigate()
24
- * Provides declarative way to navigate between routes
25
- *
26
- * Accessibility features:
27
- * - Proper semantic <a> element (not a button)
28
- * - Supports aria-current for indicating active page
29
- * - Supports aria-label for descriptive labels
30
- * - Keyboard accessible (Enter key handled by native <a> element)
31
- *
32
- * Respects native browser behaviors:
33
- * - Middle-click (opens in new tab)
34
- * - Ctrl/Cmd+click (opens in new tab)
35
- * - Shift+click (opens in new window)
36
- * - Alt+click (downloads link)
37
- * - Right-click context menu
38
- *
39
- * Best practices:
40
- * - Use target="_blank" with rel="noopener noreferrer" for external links
41
- * - Use aria-current="page" for the current page in navigation
42
- * - Provide descriptive link text or aria-label
43
- *
44
- * Uses applyInteractionPolicy to enforce pit-of-success principles:
45
- * - Interaction behavior centralized in foundations
46
- * - Keyboard handling automatic
47
- * - Composable via mergeProps
48
- */
49
- function Link({ href, class: className, children, rel, target, "aria-current": ariaCurrent, "aria-label": ariaLabel, ...rest }) {
50
- return /* @__PURE__ */ jsx("a", {
51
- ...mergeProps(rest, {
52
- ...applyInteractionPolicy({
53
- isNative: true,
54
- disabled: false,
55
- onPress: (e) => {
56
- const event = e;
57
- if ((event.button ?? 0) !== 0 || event.ctrlKey || event.metaKey || event.shiftKey || event.altKey) return;
58
- if (target || !isSameOriginNavigableHref(href)) return;
59
- event.preventDefault();
60
- navigate(href);
61
- }
62
- }),
63
- href,
64
- class: className,
65
- rel,
66
- target,
67
- "aria-current": ariaCurrent,
68
- "aria-label": ariaLabel
69
- }),
70
- children
71
- });
72
- }
73
- //#endregion
74
- export { Link };
@@ -1,18 +0,0 @@
1
- import { JSXElement } from "../common/jsx.js";
2
- import { BoundaryChild } from "./shared.js";
3
-
4
- //#region src/control/case.d.ts
5
- type MatchChild = BoundaryChild | (() => BoundaryChild);
6
- type MatchProps = {
7
- key?: string | number | null;
8
- when: unknown;
9
- children: MatchChild;
10
- };
11
- type CaseProps = {
12
- fallback?: BoundaryChild;
13
- children?: unknown;
14
- };
15
- declare function Match(_props: MatchProps): null;
16
- declare const Case: (props: CaseProps) => JSXElement;
17
- //#endregion
18
- export { Case, CaseProps, Match, MatchProps };
@@ -1,68 +0,0 @@
1
- import { __CONTROL_BOUNDARY__, markEagerControlPrimitive } from "../common/control.js";
2
- import { isDevelopmentEnvironment } from "../common/env.js";
3
- import { createCaseState } from "../runtime/control.js";
4
- import { state } from "../runtime/state.js";
5
- import "../runtime/index.js";
6
- import { normalizeBoundaryChild } from "./shared.js";
7
- //#region src/control/case.ts
8
- function flattenChildren(children) {
9
- if (!Array.isArray(children)) return children == null || children === false ? [] : [children];
10
- const result = [];
11
- for (const child of children) {
12
- if (Array.isArray(child)) {
13
- result.push(...flattenChildren(child));
14
- continue;
15
- }
16
- result.push(child);
17
- }
18
- return result;
19
- }
20
- function Match(_props) {
21
- if (isDevelopmentEnvironment()) throw new Error("[askr] <Match> may only be used as a direct child of <Case>.");
22
- return null;
23
- }
24
- function createCaseFallbackRenderer(fallback) {
25
- const normalizedFallback = normalizeBoundaryChild(fallback);
26
- if (normalizedFallback == null || normalizedFallback === false) return null;
27
- return () => normalizedFallback;
28
- }
29
- function createMatchBranchKey(key, index) {
30
- if (key == null) return index;
31
- return `match:${index}:${typeof key}:${String(key)}`;
32
- }
33
- function readMatchBranches(children) {
34
- const branches = [];
35
- const flatChildren = flattenChildren(children);
36
- for (let index = 0; index < flatChildren.length; index += 1) {
37
- const child = flatChildren[index];
38
- if (child == null || child === false) continue;
39
- if (typeof child === "object" && child !== null && "type" in child && child.type === Match) {
40
- const element = child;
41
- const props = element.props ?? {};
42
- const key = createMatchBranchKey(element.key, index);
43
- const render = typeof props.children === "function" ? () => normalizeBoundaryChild(props.children()) : () => normalizeBoundaryChild(props.children);
44
- branches.push({
45
- key,
46
- render,
47
- when: props.when
48
- });
49
- continue;
50
- }
51
- if (isDevelopmentEnvironment()) throw new Error("[askr] <Case> only accepts <Match> children.");
52
- }
53
- return branches;
54
- }
55
- function CasePrimitive(props) {
56
- const matches = readMatchBranches(props.children);
57
- const fallback = createCaseFallbackRenderer(props.fallback);
58
- const caseState = state(createCaseState(matches, fallback))();
59
- caseState.matches = matches;
60
- caseState.fallback = fallback;
61
- return {
62
- type: __CONTROL_BOUNDARY__,
63
- _controlState: caseState
64
- };
65
- }
66
- const Case = markEagerControlPrimitive(CasePrimitive);
67
- //#endregion
68
- export { Case, Match };
@@ -1,23 +0,0 @@
1
- import { JSXElement } from "../common/jsx.js";
2
- import { ForEachSource } from "../runtime/for-types.js";
3
- import { VNode } from "../common/vnode.js";
4
- import { BoundaryChild } from "./shared.js";
5
-
6
- //#region src/control/for.d.ts
7
- type ForBaseProps<T> = {
8
- each: ForEachSource<T>;
9
- fallback?: BoundaryChild;
10
- children: (item: T, index: () => number) => VNode;
11
- };
12
- type KeyedForProps<T, K extends string | number> = ForBaseProps<T> & {
13
- by: (item: T, index: number) => K;
14
- byIndex?: never;
15
- };
16
- type IndexedForProps<T> = ForBaseProps<T> & {
17
- by?: never;
18
- byIndex: true;
19
- };
20
- type ForProps<T, K extends string | number = string | number> = KeyedForProps<T, K> | IndexedForProps<T>;
21
- declare const For: <T, K extends string | number = string | number>(props: ForProps<T, K>) => JSXElement;
22
- //#endregion
23
- export { For, ForProps };
@@ -1,61 +0,0 @@
1
- import { __CONTROL_BOUNDARY__, markEagerControlPrimitive } from "../common/control.js";
2
- import { createFineGrainedEffect } from "../runtime/effect.js";
3
- import { useForState } from "../runtime/for-internal.js";
4
- import "../runtime/index.js";
5
- import { normalizeBoundaryChild } from "./shared.js";
6
- //#region src/control/for.ts
7
- /**
8
- * For JSX primitive
9
- *
10
- * Creates a keyed child-scope boundary for efficient list rendering.
11
- */
12
- function resolveEach(each) {
13
- const resolved = typeof each === "function" ? each() : each;
14
- if (!Array.isArray(resolved)) throw new Error("For each must resolve to an array.");
15
- return resolved;
16
- }
17
- function resolveKeyFn(props) {
18
- if ("by" in props && typeof props.by === "function") return props.by;
19
- if ("byIndex" in props && props.byIndex === true) return (_item, index) => index;
20
- throw new Error("[askr] <For> requires a stable `by` key function. Use `byIndex` only as an explicit positional escape hatch.");
21
- }
22
- function createForBoundary(props) {
23
- if ("by" in props && typeof props.by === "function" && "byIndex" in props) throw new Error("[askr] <For> accepts either `by` or `byIndex`, not both.");
24
- const byFn = resolveKeyFn(props);
25
- const fallback = normalizeBoundaryChild(props.fallback);
26
- const forState = useForState(props.each, byFn, props.children, fallback);
27
- const computeItems = () => resolveEach(forState.eachSource);
28
- if (!forState._sourceEffect) {
29
- forState._suspendSourceCommit = true;
30
- forState._sourceEffect = createFineGrainedEffect({
31
- lane: "reactive",
32
- compute: computeItems,
33
- commit: (items) => {
34
- forState.currentItems = items;
35
- if (forState._suspendSourceCommit) return;
36
- forState._needsSourceReconcile = true;
37
- if (forState._enqueueBoundaryCommit) {
38
- forState._enqueueBoundaryCommit();
39
- return;
40
- }
41
- forState.parentInstance?._enqueueRun?.();
42
- }
43
- });
44
- forState._suspendSourceCommit = false;
45
- } else {
46
- forState._suspendSourceCommit = true;
47
- forState._sourceEffect.updateCompute(computeItems);
48
- forState._suspendSourceCommit = false;
49
- }
50
- return {
51
- type: __CONTROL_BOUNDARY__,
52
- _controlState: forState,
53
- _forState: forState
54
- };
55
- }
56
- function ForPrimitive(props) {
57
- return createForBoundary(props);
58
- }
59
- const For = markEagerControlPrimitive(ForPrimitive);
60
- //#endregion
61
- export { For };
@@ -1,8 +0,0 @@
1
- import { RenderableChild, VNode } from "../common/vnode.js";
2
-
3
- //#region src/control/shared.d.ts
4
- type BoundaryChild = RenderableChild;
5
- declare function normalizeBoundaryChild(value: unknown): VNode | null;
6
- declare function resolveMaybeAccessor<T>(value: T | (() => T)): T;
7
- //#endregion
8
- export { BoundaryChild };
@@ -1,18 +0,0 @@
1
- import { Fragment } from "../common/jsx.js";
2
- //#region src/control/shared.ts
3
- function normalizeBoundaryChild(value) {
4
- if (Array.isArray(value)) {
5
- if (value.length === 0) return null;
6
- if (value.length === 1) return normalizeBoundaryChild(value[0]);
7
- return {
8
- type: Fragment,
9
- props: { children: value }
10
- };
11
- }
12
- return value ?? null;
13
- }
14
- function resolveMaybeAccessor(value) {
15
- return typeof value === "function" ? value() : value;
16
- }
17
- //#endregion
18
- export { normalizeBoundaryChild, resolveMaybeAccessor };
@@ -1,14 +0,0 @@
1
- import { JSXElement } from "../common/jsx.js";
2
- import { BoundaryChild } from "./shared.js";
3
-
4
- //#region src/control/show.d.ts
5
- type ShowSource<T> = T | (() => T);
6
- type Truthy<T> = T extends false | '' | 0 | 0n | null | undefined ? never : T;
7
- type ShowProps<T> = {
8
- when: ShowSource<T>;
9
- fallback?: BoundaryChild;
10
- children: BoundaryChild | ((value: Truthy<T>) => BoundaryChild);
11
- };
12
- declare const Show: <T>(props: ShowProps<T>) => JSXElement;
13
- //#endregion
14
- export { Show, ShowProps };
@@ -1,32 +0,0 @@
1
- import { __CONTROL_BOUNDARY__, markEagerControlPrimitive } from "../common/control.js";
2
- import { createShowState } from "../runtime/control.js";
3
- import { state } from "../runtime/state.js";
4
- import "../runtime/index.js";
5
- import { normalizeBoundaryChild, resolveMaybeAccessor } from "./shared.js";
6
- //#region src/control/show.ts
7
- function createTruthyRenderer(props) {
8
- if (typeof props.children === "function") return (value) => normalizeBoundaryChild(props.children(value));
9
- const staticChild = normalizeBoundaryChild(props.children);
10
- return () => staticChild;
11
- }
12
- function createFallbackRenderer(fallback) {
13
- const normalizedFallback = normalizeBoundaryChild(fallback);
14
- if (normalizedFallback == null || normalizedFallback === false) return null;
15
- return () => normalizedFallback;
16
- }
17
- function ShowPrimitive(props) {
18
- const selectedValue = resolveMaybeAccessor(props.when);
19
- const renderTruthy = createTruthyRenderer(props);
20
- const renderFallback = createFallbackRenderer(props.fallback);
21
- const showState = state(createShowState(selectedValue, renderTruthy, renderFallback))();
22
- showState.selectedValue = selectedValue;
23
- showState.renderTruthy = renderTruthy;
24
- showState.renderFallback = renderFallback;
25
- return {
26
- type: __CONTROL_BOUNDARY__,
27
- _controlState: showState
28
- };
29
- }
30
- const Show = markEagerControlPrimitive(ShowPrimitive);
31
- //#endregion
32
- export { Show };
@@ -1,27 +0,0 @@
1
- import { ComponentInstance } from "../runtime/component-internal.js";
2
- import { DataRuntime, DataRuntimeOptions } from "./types.js";
3
- import { MutationCell } from "./mutation-cell.js";
4
- import { QueryCell } from "./query-cell.js";
5
-
6
- //#region src/data/data-runtime.d.ts
7
- type QuerySlot = {
8
- key: string;
9
- cell: QueryCell<unknown>;
10
- };
11
- type DataRuntimeState = {
12
- queryCache: Map<string, QueryCell<unknown>>;
13
- querySlotsByInstance: WeakMap<ComponentInstance, Map<number, QuerySlot>>;
14
- mutationSlotsByInstance: WeakMap<ComponentInstance, Map<number, MutationCell<unknown, unknown>>>;
15
- queryCleanupRegistered: WeakSet<ComponentInstance>;
16
- mutationCleanupRegistered: WeakSet<ComponentInstance>;
17
- };
18
- declare function createDataRuntime(options?: DataRuntimeOptions): DataRuntime;
19
- declare function getDefaultDataRuntime(): DataRuntime;
20
- declare function resolveDataRuntimeState(runtime?: DataRuntime): DataRuntimeState;
21
- declare function getQuerySlotStore(runtimeState: DataRuntimeState, instance: ComponentInstance): Map<number, QuerySlot>;
22
- declare function getMutationSlotStore(runtimeState: DataRuntimeState, instance: ComponentInstance): Map<number, MutationCell<unknown, unknown>>;
23
- declare function ensureQueryCleanup(runtimeState: DataRuntimeState, instance: ComponentInstance): void;
24
- declare function ensureMutationCleanup(runtimeState: DataRuntimeState, instance: ComponentInstance): void;
25
- declare function invalidateQueriesForRuntime(runtimeState: DataRuntimeState, prefix: string, markPendingWrite: boolean): void;
26
- //#endregion
27
- export { DataRuntimeState, QuerySlot, createDataRuntime, getDefaultDataRuntime };
@@ -1,8 +0,0 @@
1
- import { InvalidateOnIntervalOptions, InvalidateOptions, QueryScope } from "./types.js";
2
-
3
- //#region src/data/invalidation.d.ts
4
- declare function invalidate(prefix: string, options?: InvalidateOptions): void;
5
- declare function queryScope(namespace: string): QueryScope;
6
- declare function invalidateOnInterval(prefix: string, options: InvalidateOnIntervalOptions): void;
7
- //#endregion
8
- export { invalidate, invalidateOnInterval, queryScope };
@@ -1,25 +0,0 @@
1
- import { documentVisible, routeActive, timer, windowFocused } from "../runtime/lifecycle-operations.js";
2
- import "../runtime/index.js";
3
- import { invalidateQueriesForRuntime, resolveDataRuntimeState } from "./data-runtime.js";
4
- import { createQueryScope } from "./query-key.js";
5
- //#region src/data/invalidation.ts
6
- function invalidate(prefix, options) {
7
- invalidateQueriesForRuntime(resolveDataRuntimeState(options?.runtime), prefix, options?.markPendingWrite ?? false);
8
- }
9
- function queryScope(namespace) {
10
- return createQueryScope(namespace, invalidate);
11
- }
12
- const INVALIDATE_ON_INTERVAL_OPTIONS_ERROR = "[Askr] invalidateOnInterval() requires an options object with a finite numeric intervalMs.";
13
- function invalidateOnInterval(prefix, options) {
14
- if (!options || typeof options !== "object" || typeof options.intervalMs !== "number" || !Number.isFinite(options.intervalMs)) throw new Error(INVALIDATE_ON_INTERVAL_OPTIONS_ERROR);
15
- const runtimeState = resolveDataRuntimeState(options.runtime);
16
- const when = [];
17
- if (options.activeOn) when.push(routeActive(options.activeOn));
18
- if (options.visibleOnly) when.push(documentVisible());
19
- if (options.focusedOnly) when.push(windowFocused());
20
- timer(options.intervalMs, () => {
21
- invalidateQueriesForRuntime(runtimeState, prefix, options.markPendingWrite ?? false);
22
- }, when.length > 0 ? { when } : void 0);
23
- }
24
- //#endregion
25
- export { invalidate, invalidateOnInterval, queryScope };
@@ -1,27 +0,0 @@
1
- import { Mutation, MutationOptions } from "./types.js";
2
- import { DataRuntimeState } from "./data-runtime.js";
3
-
4
- //#region src/data/mutation-cell.d.ts
5
- declare class MutationCell<TInput, TResult> {
6
- private readonly source;
7
- private readonly runtimeState;
8
- private action;
9
- private affects?;
10
- private afterSuccess?;
11
- private controller;
12
- private generation;
13
- private state;
14
- constructor(options: MutationOptions<TInput, TResult>, runtimeState: DataRuntimeState);
15
- setOptions(options: MutationOptions<TInput, TResult>): void;
16
- get status(): 'idle' | 'pending' | 'success' | 'error';
17
- get pending(): boolean;
18
- get error(): {} | null;
19
- get result(): TResult | null;
20
- private setState;
21
- execute(input: TInput): Promise<TResult>;
22
- abort(): void;
23
- reset(): void;
24
- }
25
- declare function createMutation<TInput, TResult>(options: MutationOptions<TInput, TResult>): Mutation<TInput, TResult>;
26
- //#endregion
27
- export { MutationCell, createMutation };