@bquery/bquery 1.11.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +79 -59
  2. package/dist/{a11y-DgUQ8-fI.js → a11y-IV_bfLyn.js} +3 -3
  3. package/dist/{a11y-DgUQ8-fI.js.map → a11y-IV_bfLyn.js.map} +1 -1
  4. package/dist/a11y.es.mjs +1 -1
  5. package/dist/{component-D8ydhe58.js → component-BtsRbf6c.js} +7 -7
  6. package/dist/{component-D8ydhe58.js.map → component-BtsRbf6c.js.map} +1 -1
  7. package/dist/component.es.mjs +1 -1
  8. package/dist/{concurrency-BU1wPEsZ.js → concurrency-kycgAZvW.js} +3 -3
  9. package/dist/{concurrency-BU1wPEsZ.js.map → concurrency-kycgAZvW.js.map} +1 -1
  10. package/dist/concurrency.es.mjs +1 -1
  11. package/dist/{config-DhT9auRm.js → config-BP7KwiR5.js} +1 -1
  12. package/dist/{config-DhT9auRm.js.map → config-BP7KwiR5.js.map} +1 -1
  13. package/dist/constraints-Dlbx_m1b.js.map +1 -1
  14. package/dist/core-tOP6QOrY.js.map +1 -1
  15. package/dist/{core-CongXJuo.js → core-yg9rJXiR.js} +1 -1
  16. package/dist/{core-CongXJuo.js.map → core-yg9rJXiR.js.map} +1 -1
  17. package/dist/custom-directives-5DlKqvd2.js.map +1 -1
  18. package/dist/devtools-QosAqo0T.js.map +1 -1
  19. package/dist/dnd-d2OU4len.js.map +1 -1
  20. package/dist/{effect-Cc51IH91.js → effect-v8OIEmPs.js} +2 -2
  21. package/dist/{effect-Cc51IH91.js.map → effect-v8OIEmPs.js.map} +1 -1
  22. package/dist/env-PvwYHnJq.js.map +1 -1
  23. package/dist/{forms-BLx4ZzT7.js → forms-DYcdlk_h.js} +8 -8
  24. package/dist/{forms-BLx4ZzT7.js.map → forms-DYcdlk_h.js.map} +1 -1
  25. package/dist/forms.es.mjs +1 -1
  26. package/dist/full.d.ts +11 -11
  27. package/dist/full.d.ts.map +1 -1
  28. package/dist/full.es.mjs +324 -279
  29. package/dist/full.iife.js +26 -26
  30. package/dist/full.iife.js.map +1 -1
  31. package/dist/full.umd.js +26 -26
  32. package/dist/full.umd.js.map +1 -1
  33. package/dist/function-Cybd57JV.js.map +1 -1
  34. package/dist/{i18n--p7PM-9r.js → i18n-unHU1jMo.js} +3 -3
  35. package/dist/{i18n--p7PM-9r.js.map → i18n-unHU1jMo.js.map} +1 -1
  36. package/dist/i18n.es.mjs +1 -1
  37. package/dist/index.d.ts +2 -2
  38. package/dist/index.es.mjs +198 -196
  39. package/dist/match-CrZRVC4z.js.map +1 -1
  40. package/dist/{media-gjbWNq50.js → media-Chh6mA0v.js} +3 -3
  41. package/dist/{media-gjbWNq50.js.map → media-Chh6mA0v.js.map} +1 -1
  42. package/dist/media.es.mjs +1 -1
  43. package/dist/{motion-BBMso9Ir.js → motion-27Od9aFE.js} +2 -2
  44. package/dist/{motion-BBMso9Ir.js.map → motion-27Od9aFE.js.map} +1 -1
  45. package/dist/motion.es.mjs +1 -1
  46. package/dist/{mount-0A9qtcRJ.js → mount-DwUFujZ_.js} +4 -4
  47. package/dist/{mount-0A9qtcRJ.js.map → mount-DwUFujZ_.js.map} +1 -1
  48. package/dist/object-BCk-1c8T.js.map +1 -1
  49. package/dist/{platform-BPHIXbw8.js → platform-2YkFA11t.js} +4 -4
  50. package/dist/{platform-BPHIXbw8.js.map → platform-2YkFA11t.js.map} +1 -1
  51. package/dist/platform.es.mjs +2 -2
  52. package/dist/plugin-SZEirbwq.js.map +1 -1
  53. package/dist/reactive/index.d.ts +2 -2
  54. package/dist/reactive/index.d.ts.map +1 -1
  55. package/dist/reactive/signal.d.ts +7 -7
  56. package/dist/reactive/signal.d.ts.map +1 -1
  57. package/dist/reactive/websocket.d.ts +15 -3
  58. package/dist/reactive/websocket.d.ts.map +1 -1
  59. package/dist/{reactive-BAd2hfl8.js → reactive-BvPR_FYA.js} +10 -10
  60. package/dist/{reactive-BAd2hfl8.js.map → reactive-BvPR_FYA.js.map} +1 -1
  61. package/dist/reactive.es.mjs +40 -40
  62. package/dist/{readonly-C0ZwS1Tf.js → readonly-Br-6pAgj.js} +2 -2
  63. package/dist/{readonly-C0ZwS1Tf.js.map → readonly-Br-6pAgj.js.map} +1 -1
  64. package/dist/registry-jpUQHf4E.js.map +1 -1
  65. package/dist/{router-C4weu0QL.js → router-CbnWKprL.js} +7 -7
  66. package/dist/{router-C4weu0QL.js.map → router-CbnWKprL.js.map} +1 -1
  67. package/dist/router.es.mjs +1 -1
  68. package/dist/sanitize-DOMkRO9G.js.map +1 -1
  69. package/dist/server/create-server.d.ts.map +1 -1
  70. package/dist/server/types.d.ts.map +1 -1
  71. package/dist/{server-QdyKtCS1.js → server-Dwiq_F49.js} +2 -2
  72. package/dist/server-Dwiq_F49.js.map +1 -0
  73. package/dist/server.es.mjs +1 -1
  74. package/dist/ssr/context.d.ts.map +1 -1
  75. package/dist/ssr/renderer.d.ts.map +1 -1
  76. package/dist/ssr/suspense.d.ts.map +1 -1
  77. package/dist/{ssr-Bt6BQA3J.js → ssr-CqJU1Ogp.js} +8 -8
  78. package/dist/ssr-CqJU1Ogp.js.map +1 -0
  79. package/dist/ssr.es.mjs +1 -1
  80. package/dist/store/index.d.ts +1 -1
  81. package/dist/store/index.d.ts.map +1 -1
  82. package/dist/store/plugins.d.ts +38 -0
  83. package/dist/store/plugins.d.ts.map +1 -1
  84. package/dist/{store-DnXuu6Li.js → store-DzrhVQ29.js} +69 -62
  85. package/dist/store-DzrhVQ29.js.map +1 -0
  86. package/dist/store.es.mjs +13 -11
  87. package/dist/storybook.es.mjs.map +1 -1
  88. package/dist/{testing-CeMUwrRD.js → testing-ByjwS2_D.js} +3 -3
  89. package/dist/{testing-CeMUwrRD.js.map → testing-ByjwS2_D.js.map} +1 -1
  90. package/dist/testing.es.mjs +1 -1
  91. package/dist/type-guards-BMX2c0LP.js.map +1 -1
  92. package/dist/{untrack-bjWDNdyE.js → untrack-uzz3JDNK.js} +3 -3
  93. package/dist/{untrack-bjWDNdyE.js.map → untrack-uzz3JDNK.js.map} +1 -1
  94. package/dist/view.es.mjs +8 -8
  95. package/package.json +12 -11
  96. package/src/full.ts +75 -6
  97. package/src/index.ts +2 -2
  98. package/src/reactive/index.ts +5 -4
  99. package/src/reactive/signal.ts +7 -6
  100. package/src/reactive/websocket.ts +15 -2
  101. package/src/server/create-server.ts +10 -5
  102. package/src/server/types.ts +1 -5
  103. package/src/ssr/context.ts +6 -2
  104. package/src/ssr/renderer.ts +5 -2
  105. package/src/ssr/suspense.ts +17 -8
  106. package/src/store/index.ts +1 -1
  107. package/src/store/plugins.ts +48 -1
  108. package/dist/server-QdyKtCS1.js.map +0 -1
  109. package/dist/ssr-Bt6BQA3J.js.map +0 -1
  110. package/dist/store-DnXuu6Li.js.map +0 -1
package/dist/index.es.mjs CHANGED
@@ -1,118 +1,119 @@
1
1
  import { a as e, c as s, d as t, i as r, n as o, o as i, r as n, s as c, t as u } from "./sanitize-DOMkRO9G.js";
2
- import { C as l, S as p, _ as d, a as S, b as f, c as g, d as k, f as h, g as b, h as R, i as y, l as C, m as T, n as v, o as E, p as O, r as P, s as A, t as D, u as w, v as H, w as I, x, y as F } from "./core-tOP6QOrY.js";
2
+ import { C as l, S as p, _ as d, a as S, b as g, c as f, d as k, f as h, g as b, h as R, i as y, l as C, m as T, n as v, o as E, p as P, r as O, s as A, t as D, u as w, v as H, w as I, x, y as F } from "./core-tOP6QOrY.js";
3
3
  import { a as B, n as L, o as M, r as q, s as z, t as N } from "./object-BCk-1c8T.js";
4
4
  import { i as _, n as V, r as j, t as $ } from "./function-Cybd57JV.js";
5
5
  import { a as U, c as J, i as K, l as Y, n as X, o as Z, r as aa, s as ea, t as sa, u as ta } from "./type-guards-BMX2c0LP.js";
6
- import { n as oa, t as ia } from "./core-CongXJuo.js";
7
- import { n as ca, r as ua } from "./readonly-C0ZwS1Tf.js";
8
- import { n as la, t as pa } from "./config-DhT9auRm.js";
9
- import { i as Sa, n as fa, o as ga, t as ka } from "./effect-Cc51IH91.js";
10
- import { n as ba, r as Ra, t as ya } from "./untrack-bjWDNdyE.js";
11
- import { C as Ta, E as va, S as Ea, T as Oa, _ as Pa, a as Aa, b as Da, c as wa, d as Ha, f as Ia, g as xa, h as Fa, i as Wa, l as Ba, m as La, n as Ma, o as qa, p as za, r as Na, s as Qa, t as _a, u as Va, v as ja, w as $a, x as Ga, y as Ua } from "./reactive-BAd2hfl8.js";
12
- import { C as Ka, E as Ya, S as Xa, T as Za, _ as ae, a as ee, b as se, c as te, d as re, f as oe, g as ie, h as ne, i as ce, l as ue, m as me, n as le, o as pe, p as de, r as Se, s as fe, t as ge, u as ke, v as he, w as be, x as Re, y as ye } from "./concurrency-BU1wPEsZ.js";
13
- import { a as Te, c as ve, i as Ee, l as Oe, n as Pe, o as Ae, r as De, s as we, t as He } from "./component-D8ydhe58.js";
14
- import { C as xe, D as Fe, E as We, O as Be, S as Le, T as Me, _ as qe, a as ze, b as Ne, c as Qe, d as _e, f as Ve, g as je, h as $e, i as Ge, l as Ue, m as Je, n as Ke, o as Ye, p as Xe, r as Ze, s as as, t as es, u as ss, v as ts, w as rs, x as os, y as is } from "./motion-BBMso9Ir.js";
15
- import { a as cs, i as us, n as ms, o as ls, r as ps, s as ds, t as Ss } from "./platform-BPHIXbw8.js";
16
- import { a as gs, c as ks, d as hs, f as bs, i as Rs, l as ys, m as Cs, n as Ts, o as vs, p as Es, r as Os, s as Ps, t as As, u as Ds } from "./router-C4weu0QL.js";
6
+ import { n as oa, t as ia } from "./config-BP7KwiR5.js";
7
+ import { n as ca, t as ua } from "./core-yg9rJXiR.js";
8
+ import { i as la, n as pa, o as da, t as Sa } from "./effect-v8OIEmPs.js";
9
+ import { n as fa, r as ka, t as ha } from "./untrack-uzz3JDNK.js";
10
+ import { C as Ra, E as ya, S as Ca, T as Ta, _ as va, a as Ea, b as Pa, c as Oa, d as Aa, f as Da, g as wa, h as Ha, i as Ia, l as xa, m as Fa, n as Wa, o as Ba, p as La, r as Ma, s as qa, t as za, u as Na, v as Qa, w as _a, x as Va, y as ja } from "./reactive-BvPR_FYA.js";
11
+ import { n as Ga, r as Ua } from "./readonly-Br-6pAgj.js";
12
+ import { C as Ka, E as Ya, S as Xa, T as Za, _ as ae, a as ee, b as se, c as te, d as re, f as oe, g as ie, h as ne, i as ce, l as ue, m as me, n as le, o as pe, p as de, r as Se, s as ge, t as fe, u as ke, v as he, w as be, x as Re, y as ye } from "./concurrency-kycgAZvW.js";
13
+ import { a as Te, c as ve, i as Ee, l as Pe, n as Oe, o as Ae, r as De, s as we, t as He } from "./component-BtsRbf6c.js";
14
+ import { C as xe, D as Fe, E as We, O as Be, S as Le, T as Me, _ as qe, a as ze, b as Ne, c as Qe, d as _e, f as Ve, g as je, h as $e, i as Ge, l as Ue, m as Je, n as Ke, o as Ye, p as Xe, r as Ze, s as as, t as es, u as ss, v as ts, w as rs, x as os, y as is } from "./motion-27Od9aFE.js";
15
+ import { a as cs, i as us, n as ms, o as ls, r as ps, s as ds, t as Ss } from "./platform-2YkFA11t.js";
16
+ import { a as fs, c as ks, d as hs, f as bs, i as Rs, l as ys, m as Cs, n as Ts, o as vs, p as Es, r as Ps, s as Os, t as As, u as Ds } from "./router-CbnWKprL.js";
17
17
  import { i as Hs, n as Is, t as xs } from "./registry-jpUQHf4E.js";
18
- import { a as Ws, c as Bs, i as Ls, n as Ms, o as qs, r as zs, s as Ns, t as Qs } from "./store-DnXuu6Li.js";
19
- import { n as Vs, r as js, t as $s } from "./mount-0A9qtcRJ.js";
18
+ import { a as Ws, c as Bs, i as Ls, l as Ms, n as qs, o as zs, r as Ns, s as Qs, t as _s, u as Vs } from "./store-DzrhVQ29.js";
19
+ import { n as $s, r as Gs, t as Us } from "./mount-DwUFujZ_.js";
20
20
  import "./view.es.mjs";
21
- import { a as Js, c as Ks, d as Ys, f as Xs, i as Zs, l as at, n as et, o as st, p as tt, r as rt, s as ot, t as it, u as nt } from "./forms-BLx4ZzT7.js";
22
- import { n as ut, r as mt, t as lt } from "./i18n--p7PM-9r.js";
23
- import { a as dt, d as St, i as ft, l as gt, n as kt, o as ht, r as bt, s as Rt, t as yt, u as Ct } from "./a11y-DgUQ8-fI.js";
24
- import { n as vt, r as Et, t as Ot } from "./dnd-d2OU4len.js";
25
- import { a as At, c as Dt, d as wt, f as Ht, i as It, l as xt, n as Ft, o as Wt, r as Bt, s as Lt, t as Mt, u as qt } from "./media-gjbWNq50.js";
26
- import { a as Nt, i as Qt, n as _t, o as Vt, r as jt, t as $t } from "./plugin-SZEirbwq.js";
27
- import { a as Ut, c as Jt, d as Kt, f as Yt, g as Xt, h as Zt, i as ar, l as er, m as sr, n as tr, o as rr, p as or, r as ir, s as nr, t as cr, u as ur } from "./devtools-QosAqo0T.js";
28
- import { a as lr, i as pr, n as dr, o as Sr, r as fr, t as gr } from "./testing-CeMUwrRD.js";
29
- import { A as hr, B as br, C as Rr, D as yr, E as Cr, F as Tr, I as vr, L as Er, M as Or, N as Pr, O as Ar, P as Dr, R as wr, S as Hr, T as Ir, V as xr, _ as Fr, a as Wr, b as Br, c as Lr, d as Mr, f as qr, g as zr, h as Nr, i as Qr, j as _r, k as Vr, l as jr, m as $r, n as Gr, o as Ur, p as Jr, r as Kr, s as Yr, t as Xr, u as Zr, v as ao, w as eo, x as so, y as to, z as ro } from "./ssr-Bt6BQA3J.js";
30
- import { n as io, r as no, t as co } from "./server-QdyKtCS1.js";
21
+ import { a as Ys, c as Xs, d as Zs, f as at, i as et, l as st, n as tt, o as rt, p as ot, r as it, s as nt, t as ct, u as ut } from "./forms-DYcdlk_h.js";
22
+ import { n as lt, r as pt, t as dt } from "./i18n-unHU1jMo.js";
23
+ import { a as gt, d as ft, i as kt, l as ht, n as bt, o as Rt, r as yt, s as Ct, t as Tt, u as vt } from "./a11y-IV_bfLyn.js";
24
+ import { n as Pt, r as Ot, t as At } from "./dnd-d2OU4len.js";
25
+ import { a as wt, c as Ht, d as It, f as xt, i as Ft, l as Wt, n as Bt, o as Lt, r as Mt, s as qt, t as zt, u as Nt } from "./media-Chh6mA0v.js";
26
+ import { a as _t, i as Vt, n as jt, o as $t, r as Gt, t as Ut } from "./plugin-SZEirbwq.js";
27
+ import { a as Kt, c as Yt, d as Xt, f as Zt, g as ar, h as er, i as sr, l as tr, m as rr, n as or, o as ir, p as nr, r as cr, s as ur, t as mr, u as lr } from "./devtools-QosAqo0T.js";
28
+ import { a as dr, i as Sr, n as gr, o as fr, r as kr, t as hr } from "./testing-ByjwS2_D.js";
29
+ import { A as Rr, B as yr, C as Cr, D as Tr, E as vr, F as Er, I as Pr, L as Or, M as Ar, N as Dr, O as wr, P as Hr, R as Ir, S as xr, T as Fr, V as Wr, _ as Br, a as Lr, b as Mr, c as qr, d as zr, f as Nr, g as Qr, h as _r, i as Vr, j as jr, k as $r, l as Gr, m as Ur, n as Jr, o as Kr, p as Yr, r as Xr, s as Zr, t as ao, u as eo, v as so, w as to, x as ro, y as oo, z as io } from "./ssr-CqJU1Ogp.js";
30
+ import { n as co, r as uo, t as mo } from "./server-Dwiq_F49.js";
31
31
  export {
32
32
  x as $,
33
33
  p as $$,
34
34
  l as BQueryCollection,
35
35
  I as BQueryElement,
36
36
  ks as BqLinkElement,
37
- ba as Computed,
38
- wr as HYDRATION_HASH_ATTR,
39
- Da as HttpError,
40
- ia as Signal,
37
+ fa as Computed,
38
+ Ir as HYDRATION_HASH_ATTR,
39
+ Pa as HttpError,
40
+ ua as Signal,
41
41
  Xa as TaskWorkerAbortError,
42
42
  Ka as TaskWorkerError,
43
43
  be as TaskWorkerSerializationError,
44
44
  Za as TaskWorkerTimeoutError,
45
45
  Ya as TaskWorkerUnsupportedError,
46
46
  We as animate,
47
- Ct as announceToScreenReader,
48
- gt as auditA11y,
47
+ vt as announceToScreenReader,
48
+ ht as auditA11y,
49
49
  Ds as back,
50
- ua as batch,
50
+ Ua as batch,
51
51
  pe as batchTasks,
52
- Pe as bool,
53
- wt as breakpoints,
52
+ Oe as bool,
53
+ It as breakpoints,
54
54
  ds as buckets,
55
55
  ls as cache,
56
56
  he as callWorkerMethod,
57
57
  v as capitalize,
58
58
  Ve as capturePosition,
59
59
  b as chunk,
60
- g as clamp,
61
- St as clearAnnouncements,
62
- js as clearExpressionCache,
63
- cr as clearTimeline,
64
- It as clipboard,
60
+ f as clamp,
61
+ ft as clearAnnouncements,
62
+ Gs as clearExpressionCache,
63
+ Bs as clearPlugins,
64
+ mr as clearTimeline,
65
+ Ft as clipboard,
65
66
  N as clone,
66
67
  d as compact,
67
68
  Te as component,
68
- Ra as computed,
69
- ro as configureSSR,
70
- Ir as createAssetManager,
71
- Xr as createBunHandler,
72
- Gr as createDenoHandler,
73
- tt as createForm,
74
- Cr as createHeadManager,
75
- Ga as createHttp,
76
- lt as createI18n,
77
- Kr as createNodeHandler,
78
- Ms as createPersistedStore,
79
- ge as createReactiveRpcPool,
69
+ ka as computed,
70
+ io as configureSSR,
71
+ Fr as createAssetManager,
72
+ ao as createBunHandler,
73
+ Jr as createDenoHandler,
74
+ ot as createForm,
75
+ vr as createHeadManager,
76
+ Va as createHttp,
77
+ dt as createI18n,
78
+ Xr as createNodeHandler,
79
+ qs as createPersistedStore,
80
+ fe as createReactiveRpcPool,
80
81
  le as createReactiveRpcWorker,
81
82
  Se as createReactiveTaskPool,
82
83
  ce as createReactiveTaskWorker,
83
- Ea as createRequestQueue,
84
- Va as createRestClient,
85
- Ur as createResumableState,
84
+ Ca as createRequestQueue,
85
+ Na as createRestClient,
86
+ Kr as createResumableState,
86
87
  Ts as createRouter,
87
88
  me as createRpcPool,
88
89
  ye as createRpcWorker,
89
- eo as createSSRContext,
90
- Qr as createSSRHandler,
91
- Mr as createSSRRouterContext,
92
- co as createServer,
93
- Ns as createStore,
90
+ to as createSSRContext,
91
+ Vr as createSSRHandler,
92
+ zr as createSSRRouterContext,
93
+ mo as createServer,
94
+ Qs as createStore,
94
95
  ne as createTaskPool,
95
96
  ie as createTaskWorker,
96
- $s as createTemplate,
97
+ Us as createTemplate,
97
98
  r as createTrustedHtml,
98
- $a as createUseFetch,
99
- Wr as createWebHandler,
99
+ _a as createUseFetch,
100
+ Lr as createWebHandler,
100
101
  Es as currentRoute,
101
- it as custom,
102
- et as customAsync,
102
+ ct as custom,
103
+ tt as customAsync,
103
104
  $ as debounce,
104
- Ha as deduplicateRequest,
105
- yr as defer,
106
- pa as defineBqueryConfig,
105
+ Aa as deduplicateRequest,
106
+ Tr as defer,
107
+ ia as defineBqueryConfig,
107
108
  Ae as defineComponent,
108
- Ar as defineLoader,
109
+ wr as defineLoader,
109
110
  ms as definePageMeta,
110
- qs as defineStore,
111
- Dr as deserializeStoreState,
111
+ zs as defineStore,
112
+ Hr as deserializeStoreState,
112
113
  xs as destroyStore,
113
- Vr as detectRuntime,
114
- Et as draggable,
115
- vt as droppable,
114
+ $r as detectRuntime,
115
+ Ot as draggable,
116
+ Pt as droppable,
116
117
  je as easeInCubic,
117
118
  qe as easeInOutCubic,
118
119
  ts as easeInOutQuad,
@@ -122,160 +123,160 @@ export {
122
123
  Le as easeOutExpo,
123
124
  xe as easeOutQuad,
124
125
  rs as easingPresets,
125
- ka as effect,
126
- fa as effectScope,
127
- rt as email,
128
- tr as enableDevtools,
126
+ Sa as effect,
127
+ pa as effectScope,
128
+ it as email,
129
+ or as enableDevtools,
129
130
  H as ensureArray,
130
131
  u as escapeHtml,
131
- P as escapeRegExp,
132
- fe as every,
132
+ O as escapeRegExp,
133
+ ge as every,
133
134
  te as filter,
134
135
  ue as find,
135
- gr as fireEvent,
136
+ hr as fireEvent,
136
137
  F as flatten,
137
138
  Xe as flip,
138
139
  Je as flipElements,
139
140
  $e as flipList,
140
- dr as flushEffects,
141
- ut as formatDate,
142
- mt as formatNumber,
141
+ gr as flushEffects,
142
+ lt as formatDate,
143
+ pt as formatNumber,
143
144
  hs as forward,
144
145
  c as generateNonce,
145
- ir as generateSignalLabel,
146
- la as getBqueryConfig,
146
+ cr as generateSignalLabel,
147
+ oa as getBqueryConfig,
147
148
  se as getConcurrencySupport,
148
- Sa as getCurrentScope,
149
- $t as getCustomDirective,
150
- _t as getCustomDirectives,
151
- ar as getDevtoolsState,
152
- yt as getFocusableElements,
153
- jt as getInstalledPlugins,
154
- br as getSSRConfig,
155
- hr as getSSRRuntimeFeatures,
149
+ la as getCurrentScope,
150
+ Ut as getCustomDirective,
151
+ jt as getCustomDirectives,
152
+ sr as getDevtoolsState,
153
+ Tt as getFocusableElements,
154
+ Gt as getInstalledPlugins,
155
+ yr as getSSRConfig,
156
+ Rr as getSSRRuntimeFeatures,
156
157
  Is as getStore,
157
- Ut as getTimeline,
158
+ Kt as getTimeline,
158
159
  e as getTrustedTypesPolicy,
159
160
  s as hasCSPDirective,
160
161
  L as hasOwn,
161
162
  De as html,
162
- Ta as http,
163
- zr as hydrateIsland,
164
- xr as hydrateMount,
165
- Fr as hydrateOnIdle,
166
- ao as hydrateOnInteraction,
167
- to as hydrateOnMedia,
168
- Br as hydrateOnVisible,
169
- Tr as hydrateStore,
170
- Lr as hydrateStoreSnapshot,
171
- vr as hydrateStores,
163
+ Ra as http,
164
+ Qr as hydrateIsland,
165
+ Wr as hydrateMount,
166
+ Br as hydrateOnIdle,
167
+ so as hydrateOnInteraction,
168
+ oo as hydrateOnMedia,
169
+ Mr as hydrateOnVisible,
170
+ Er as hydrateStore,
171
+ qr as hydrateStoreSnapshot,
172
+ Pr as hydrateStores,
172
173
  C as inRange,
173
- rr as inspectComponents,
174
- nr as inspectSignals,
175
- Jt as inspectStores,
174
+ ir as inspectComponents,
175
+ ur as inspectSignals,
176
+ Yt as inspectStores,
176
177
  vs as interceptLinks,
177
- Os as isActive,
178
+ Ps as isActive,
178
179
  Rs as isActiveSignal,
179
180
  sa as isArray,
180
181
  X as isBoolean,
181
- _r as isBrowserRuntime,
182
+ jr as isBrowserRuntime,
182
183
  aa as isCollection,
183
- wa as isComputed,
184
+ qa as isComputed,
184
185
  Re as isConcurrencySupported,
185
186
  K as isDate,
186
- er as isDevtoolsEnabled,
187
+ tr as isDevtoolsEnabled,
187
188
  U as isElement,
188
189
  h as isEmpty,
189
190
  Z as isFunction,
190
- Qt as isInstalled,
191
+ Vt as isInstalled,
191
192
  Cs as isNavigating,
192
193
  ea as isNumber,
193
194
  J as isObject,
194
195
  q as isPlainObject,
195
196
  Y as isPromise,
196
- Or as isServerRuntime,
197
- io as isServerWebSocketSession,
198
- Ba as isSignal,
197
+ Ar as isServerRuntime,
198
+ co as isServerWebSocketSession,
199
+ Oa as isSignal,
199
200
  ta as isString,
200
201
  i as isTrustedTypesSupported,
201
- no as isWebSocketRequest,
202
+ uo as isWebSocketRequest,
202
203
  _e as keyframePresets,
203
204
  Me as linear,
204
- Ps as link,
205
- Ua as linkedSignal,
205
+ Os as link,
206
+ ja as linkedSignal,
206
207
  Hs as listStores,
207
- ur as logComponents,
208
- Kt as logSignals,
209
- Yt as logStores,
210
- or as logTimeline,
208
+ lr as logComponents,
209
+ Xt as logSignals,
210
+ Zt as logStores,
211
+ nr as logTimeline,
211
212
  ke as map,
212
- zs as mapActions,
213
+ Ns as mapActions,
213
214
  Ls as mapGetters,
214
215
  Ws as mapState,
215
- Zs as matchField,
216
- Js as max,
217
- st as maxLength,
218
- Ht as mediaQuery,
216
+ et as matchField,
217
+ Ys as max,
218
+ rt as maxLength,
219
+ xt as mediaQuery,
219
220
  B as merge,
220
- ot as min,
221
- Ks as minLength,
222
- fr as mockRouter,
223
- pr as mockSignal,
221
+ nt as min,
222
+ Xs as minLength,
223
+ kr as mockRouter,
224
+ Sr as mockSignal,
224
225
  ss as morphElement,
225
- Vs as mount,
226
+ $s as mount,
226
227
  bs as navigate,
227
228
  V as noop,
228
229
  us as notifications,
229
230
  M as omit,
230
- ga as onScopeDispose,
231
+ da as onScopeDispose,
231
232
  j as once,
232
233
  Ue as parallax,
233
234
  re as parallel,
234
- O as parseJson,
235
- at as pattern,
236
- xa as persistedSignal,
235
+ P as parseJson,
236
+ st as pattern,
237
+ wa as persistedSignal,
237
238
  z as pick,
238
239
  ee as pipeline,
239
- ht as prefersColorScheme,
240
- Rt as prefersContrast,
240
+ Rt as prefersColorScheme,
241
+ Ct as prefersContrast,
241
242
  Fe as prefersReducedMotion,
242
243
  w as randomInt,
243
- jr as readStoreSnapshot,
244
- ca as readonly,
245
- sr as recordEvent,
244
+ Gr as readStoreSnapshot,
245
+ Ga as readonly,
246
+ rr as recordEvent,
246
247
  oe as reduce,
247
248
  ys as registerBqLink,
248
249
  He as registerDefaultComponents,
249
- Bs as registerPlugin,
250
- kt as releaseFocus,
251
- lr as renderComponent,
252
- so as renderToResponse,
253
- Hr as renderToStream,
254
- $r as renderToStreamSuspense,
255
- Pr as renderToString,
256
- Rr as renderToStringAsync,
257
- nt as required,
258
- Nt as resetPlugins,
259
- gs as resolve,
260
- qr as resolveSSRRoute,
261
- Yr as resumeState,
262
- dt as rovingTabIndex,
263
- Jr as runRouteLoaders,
250
+ Ms as registerPlugin,
251
+ bt as releaseFocus,
252
+ dr as renderComponent,
253
+ ro as renderToResponse,
254
+ xr as renderToStream,
255
+ Ur as renderToStreamSuspense,
256
+ Dr as renderToString,
257
+ Cr as renderToStringAsync,
258
+ ut as required,
259
+ _t as resetPlugins,
260
+ fs as resolve,
261
+ Nr as resolveSSRRoute,
262
+ Zr as resumeState,
263
+ gt as rovingTabIndex,
264
+ Yr as runRouteLoaders,
264
265
  ae as runTask,
265
266
  Ee as safeHtml,
266
267
  o as sanitize,
267
268
  o as sanitizeHtml,
268
269
  Qe as scrollAnimate,
269
270
  Ze as sequence,
270
- Zr as serializeStoreSnapshot,
271
- Er as serializeStoreState,
271
+ eo as serializeStoreSnapshot,
272
+ Or as serializeStoreState,
272
273
  Be as setReducedMotion,
273
- oa as signal,
274
- ft as skipLink,
274
+ ca as signal,
275
+ kt as skipLink,
275
276
  T as sleep,
276
277
  y as slugify,
277
278
  de as some,
278
- Ot as sortable,
279
+ At as sortable,
279
280
  Ye as spring,
280
281
  as as springPresets,
281
282
  ze as stagger,
@@ -286,51 +287,52 @@ export {
286
287
  S as toCamelCase,
287
288
  E as toKebabCase,
288
289
  k as toNumber,
289
- Qa as toValue,
290
- Zt as trackSignal,
290
+ xa as toValue,
291
+ er as trackSignal,
291
292
  Ke as transition,
292
- bt as trapFocus,
293
+ yt as trapFocus,
293
294
  A as truncate,
294
295
  t as trusted,
295
296
  es as typewriter,
296
297
  R as uid,
297
- f as unique,
298
- ya as untrack,
299
- Xt as untrackSignal,
300
- Ys as url,
301
- Vt as use,
298
+ g as unique,
299
+ Vs as unregisterPlugin,
300
+ ha as untrack,
301
+ ar as untrackSignal,
302
+ Zs as url,
303
+ $t as use,
302
304
  ps as useAnnouncer,
303
- Oa as useAsyncData,
304
- Dt as useBattery,
305
+ Ta as useAsyncData,
306
+ Ht as useBattery,
305
307
  we as useComputed,
306
308
  cs as useCookie,
307
- At as useDeviceMotion,
308
- Wt as useDeviceOrientation,
309
+ wt as useDeviceMotion,
310
+ Lt as useDeviceOrientation,
309
311
  ve as useEffect,
310
- _a as useEventSource,
311
- va as useFetch,
312
- Xs as useFormField,
313
- Lt as useGeolocation,
314
- Pa as useInfiniteFetch,
315
- Mt as useIntersectionObserver,
316
- Ft as useMutationObserver,
317
- xt as useNetworkStatus,
318
- ja as usePaginatedFetch,
319
- Fa as usePolling,
320
- Bt as useResizeObserver,
321
- Ia as useResource,
322
- za as useResourceList,
312
+ za as useEventSource,
313
+ ya as useFetch,
314
+ at as useFormField,
315
+ qt as useGeolocation,
316
+ va as useInfiniteFetch,
317
+ zt as useIntersectionObserver,
318
+ Bt as useMutationObserver,
319
+ Wt as useNetworkStatus,
320
+ Qa as usePaginatedFetch,
321
+ Ha as usePolling,
322
+ Mt as useResizeObserver,
323
+ Da as useResource,
324
+ La as useResourceList,
323
325
  As as useRoute,
324
- Oe as useSignal,
325
- La as useSubmit,
326
- qt as useViewport,
327
- Ma as useWebSocket,
328
- Na as useWebSocketChannel,
326
+ Pe as useSignal,
327
+ Fa as useSubmit,
328
+ Nt as useViewport,
329
+ Wa as useWebSocket,
330
+ Ma as useWebSocketChannel,
329
331
  D as utils,
330
- Nr as verifyHydration,
331
- Sr as waitFor,
332
- Wa as watch,
333
- Aa as watchDebounce,
334
- Qs as watchStore,
335
- qa as watchThrottle
332
+ _r as verifyHydration,
333
+ fr as waitFor,
334
+ Ia as watch,
335
+ Ea as watchDebounce,
336
+ _s as watchStore,
337
+ Ba as watchThrottle
336
338
  };
@@ -1 +1 @@
1
- {"version":3,"file":"match-CrZRVC4z.js","names":[],"sources":["../src/router/query.ts","../src/router/path-pattern.ts","../src/router/match.ts"],"sourcesContent":["/**\n * Query string helpers.\n * @module bquery/router\n */\n\nimport { isPrototypePollutionKey } from '../core/utils/object';\n\n/**\n * Parses query string into an object.\n * Single values are stored as strings, duplicate keys become arrays.\n * @internal\n *\n * @example\n * parseQuery('?foo=1') // { foo: '1' }\n * parseQuery('?tag=a&tag=b') // { tag: ['a', 'b'] }\n * parseQuery('?x=1&y=2&x=3') // { x: ['1', '3'], y: '2' }\n */\nexport const parseQuery = (search: string): Record<string, string | string[]> => {\n const query: Record<string, string | string[]> = {};\n const params = new URLSearchParams(search);\n\n params.forEach((value, key) => {\n if (isPrototypePollutionKey(key)) return;\n const existing = query[key];\n if (existing === undefined) {\n // First occurrence: store as string\n query[key] = value;\n } else if (Array.isArray(existing)) {\n // Already an array: append\n existing.push(value);\n } else {\n // Second occurrence: convert to array\n query[key] = [existing, value];\n }\n });\n\n return query;\n};\n","/**\n * Shared helpers for parsing route path params and constraints.\n * @internal\n */\n\n/** Validates whether a character can start a route param name. @internal */\nexport const isParamStart = (char: string | undefined): boolean =>\n char !== undefined &&\n ((char >= 'a' && char <= 'z') || (char >= 'A' && char <= 'Z') || char === '_');\n\n/** Validates whether a character can appear after the start of a route param name. @internal */\nexport const isParamChar = (char: string | undefined): boolean =>\n isParamStart(char) || (char !== undefined && char >= '0' && char <= '9');\n\n/** Reads a route param constraint while preserving escaped chars and nested groups. @internal */\nexport const readConstraint = (\n path: string,\n startIndex: number\n): { constraint: string; endIndex: number } | null => {\n let depth = 1;\n let constraint = '';\n let i = startIndex + 1;\n let inCharacterClass = false;\n\n while (i < path.length) {\n const char = path[i];\n\n if (char === '\\\\' && i + 1 < path.length) {\n constraint += char + path[i + 1];\n i += 2;\n continue;\n }\n\n if (char === '[' && !inCharacterClass) {\n inCharacterClass = true;\n } else if (char === ']' && inCharacterClass) {\n inCharacterClass = false;\n } else if (!inCharacterClass && char === '(') {\n depth++;\n } else if (!inCharacterClass && char === ')') {\n depth--;\n if (depth === 0) {\n return { constraint, endIndex: i + 1 };\n }\n }\n\n constraint += char;\n i++;\n }\n\n return null;\n};\n","/**\n * Route matching helpers.\n * @module bquery/router\n */\n\nimport { parseQuery } from './query';\nimport { getNormalizedRouteConstraint, getRouteConstraintRegex } from './constraints';\nimport { isParamChar, isParamStart, readConstraint } from './path-pattern';\nimport type { Route, RouteDefinition } from './types';\n\nconst readConstraintOrThrow = (\n path: string,\n startIndex: number\n): { constraint: string; endIndex: number } => {\n const parsedConstraint = readConstraint(path, startIndex);\n if (!parsedConstraint) {\n throw new Error(\n `bQuery router: Invalid route param constraint syntax in path \"${path}\" at index ${startIndex}.`\n );\n }\n return parsedConstraint;\n};\n\ntype RouteParamDescriptor = {\n name: string;\n constraint?: string;\n nextIndex: number;\n};\n\nconst validatedRoutePathCache = new Set<string>();\n\nconst readParamDescriptor = (path: string, index: number): RouteParamDescriptor | null => {\n if (path[index] !== ':' || !isParamStart(path[index + 1])) {\n return null;\n }\n\n let nameEnd = index + 2;\n while (nameEnd < path.length && isParamChar(path[nameEnd])) {\n nameEnd++;\n }\n\n let nextIndex = nameEnd;\n let constraint: string | undefined;\n\n if (path[nameEnd] === '(') {\n const parsedConstraint = readConstraintOrThrow(path, nameEnd);\n constraint = parsedConstraint.constraint;\n nextIndex = parsedConstraint.endIndex;\n }\n\n return {\n name: path.slice(index + 1, nameEnd),\n constraint,\n nextIndex,\n };\n};\n\nconst validateRoutePathPattern = (path: string): void => {\n if (validatedRoutePathCache.has(path)) {\n return;\n }\n\n for (let i = 0; i < path.length; ) {\n const char = path[i];\n\n if (char === ':' && isParamStart(path[i + 1])) {\n const param = readParamDescriptor(path, i);\n if (param?.constraint) {\n getNormalizedRouteConstraint(param.constraint);\n }\n i = param?.nextIndex ?? i + 1;\n continue;\n }\n\n i++;\n }\n\n validatedRoutePathCache.add(path);\n};\n\nconst findSegmentBoundary = (value: string, startIndex: number): number => {\n const slashIndex = value.indexOf('/', startIndex);\n return slashIndex === -1 ? value.length : slashIndex;\n};\n\nconst readNextStaticChunk = (path: string, startIndex: number): string => {\n let chunkEnd = startIndex;\n\n while (chunkEnd < path.length) {\n if (path[chunkEnd] === '*') {\n break;\n }\n\n if (path[chunkEnd] === ':' && isParamStart(path[chunkEnd + 1])) {\n break;\n }\n\n chunkEnd++;\n }\n\n return path.slice(startIndex, chunkEnd);\n};\n\nconst findAnchoredCandidateEnds = (\n actualPath: string,\n startIndex: number,\n limit: number,\n nextStaticChunk: string\n): number[] => {\n const candidates: number[] = [];\n let searchIndex = startIndex;\n\n while (searchIndex <= limit) {\n const candidateEnd = actualPath.indexOf(nextStaticChunk, searchIndex);\n if (candidateEnd === -1 || candidateEnd > limit) {\n break;\n }\n\n candidates.push(candidateEnd);\n searchIndex = candidateEnd + 1;\n }\n\n return candidates.reverse();\n};\n\nconst matchPathPattern = (routePath: string, actualPath: string): Record<string, string> | null => {\n // Memoization keeps wildcard/param backtracking linear for repeated subproblems\n // within a single route/path match attempt.\n const memo = new Map<string, Record<string, string> | null>();\n\n const matchFrom = (routeIndex: number, pathIndex: number): Record<string, string> | null => {\n const memoKey = `${routeIndex}:${pathIndex}`;\n if (memo.has(memoKey)) {\n return memo.get(memoKey) ?? null;\n }\n\n if (routeIndex === routePath.length) {\n const result = pathIndex === actualPath.length ? {} : null;\n memo.set(memoKey, result);\n return result;\n }\n\n const routeChar = routePath[routeIndex];\n\n if (routeChar === '*') {\n if (routeIndex === routePath.length - 1) {\n const result = {};\n memo.set(memoKey, result);\n return result;\n }\n\n const nextStaticChunk = readNextStaticChunk(routePath, routeIndex + 1);\n const anchoredCandidateEnds =\n nextStaticChunk.length > 0\n ? findAnchoredCandidateEnds(actualPath, pathIndex, actualPath.length, nextStaticChunk)\n : null;\n\n const iterateCandidateEnds = anchoredCandidateEnds\n ? (callback: (candidateEnd: number) => Record<string, string> | null) => {\n for (const candidateEnd of anchoredCandidateEnds) {\n const result = callback(candidateEnd);\n if (result) {\n return result;\n }\n }\n return null;\n }\n : (callback: (candidateEnd: number) => Record<string, string> | null) => {\n for (let candidateEnd = actualPath.length; candidateEnd >= pathIndex; candidateEnd--) {\n const result = callback(candidateEnd);\n if (result) {\n return result;\n }\n }\n return null;\n };\n\n const wildcardMatch = iterateCandidateEnds((candidateEnd) => {\n const suffixMatch = matchFrom(routeIndex + 1, candidateEnd);\n if (suffixMatch) {\n memo.set(memoKey, suffixMatch);\n return suffixMatch;\n }\n return null;\n });\n\n if (wildcardMatch) {\n return wildcardMatch;\n }\n\n memo.set(memoKey, null);\n return null;\n }\n\n const param = readParamDescriptor(routePath, routeIndex);\n if (param) {\n const constraintRegex = param.constraint\n ? getRouteConstraintRegex(param.constraint)\n : undefined;\n const candidateLimit = param.constraint\n ? actualPath.length\n : findSegmentBoundary(actualPath, pathIndex);\n const nextStaticChunk = readNextStaticChunk(routePath, param.nextIndex);\n const anchoredCandidateEnds =\n nextStaticChunk.length > 0\n ? findAnchoredCandidateEnds(actualPath, pathIndex, candidateLimit, nextStaticChunk)\n : null;\n\n const iterateCandidateEnds = anchoredCandidateEnds\n ? (callback: (candidateEnd: number) => Record<string, string> | null) => {\n for (const candidateEnd of anchoredCandidateEnds) {\n if (candidateEnd <= pathIndex) {\n continue;\n }\n const result = callback(candidateEnd);\n if (result) {\n return result;\n }\n }\n return null;\n }\n : (callback: (candidateEnd: number) => Record<string, string> | null) => {\n for (let candidateEnd = candidateLimit; candidateEnd > pathIndex; candidateEnd--) {\n const result = callback(candidateEnd);\n if (result) {\n return result;\n }\n }\n return null;\n };\n\n const paramMatch = iterateCandidateEnds((candidateEnd) => {\n const candidateValue = actualPath.slice(pathIndex, candidateEnd);\n\n if (constraintRegex) {\n if (!constraintRegex.test(candidateValue)) {\n return null;\n }\n }\n\n const suffixMatch = matchFrom(param.nextIndex, candidateEnd);\n if (suffixMatch) {\n const result = {\n [param.name]: candidateValue,\n ...suffixMatch,\n };\n memo.set(memoKey, result);\n return result;\n }\n return null;\n });\n\n if (paramMatch) {\n return paramMatch;\n }\n\n memo.set(memoKey, null);\n return null;\n }\n\n if (pathIndex >= actualPath.length || routeChar !== actualPath[pathIndex]) {\n memo.set(memoKey, null);\n return null;\n }\n\n const result = matchFrom(routeIndex + 1, pathIndex + 1);\n memo.set(memoKey, result);\n return result;\n };\n\n return matchFrom(0, 0);\n};\n\n/**\n * Matches a path against route definitions and extracts params.\n * @internal\n */\nexport const matchRoute = (\n path: string,\n routes: RouteDefinition[]\n): { matched: RouteDefinition; params: Record<string, string> } | null => {\n for (const route of routes) {\n validateRoutePathPattern(route.path);\n const params = matchPathPattern(route.path, path);\n if (params) {\n return { matched: route, params };\n }\n }\n\n return null;\n};\n\n/**\n * Creates a Route object from the current URL.\n * @internal\n */\nexport const createRoute = (\n pathname: string,\n search: string,\n hash: string,\n routes: RouteDefinition[]\n): Route => {\n const result = matchRoute(pathname, routes);\n\n return {\n path: pathname,\n params: result?.params ?? {},\n query: parseQuery(search),\n matched: result?.matched ?? null,\n hash: hash.replace(/^#/, ''),\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"match-CrZRVC4z.js","names":[],"sources":["../src/router/query.ts","../src/router/path-pattern.ts","../src/router/match.ts"],"sourcesContent":["/**\n * Query string helpers.\n * @module bquery/router\n */\n\nimport { isPrototypePollutionKey } from '../core/utils/object';\n\n/**\n * Parses query string into an object.\n * Single values are stored as strings, duplicate keys become arrays.\n * @internal\n *\n * @example\n * parseQuery('?foo=1') // { foo: '1' }\n * parseQuery('?tag=a&tag=b') // { tag: ['a', 'b'] }\n * parseQuery('?x=1&y=2&x=3') // { x: ['1', '3'], y: '2' }\n */\nexport const parseQuery = (search: string): Record<string, string | string[]> => {\n const query: Record<string, string | string[]> = {};\n const params = new URLSearchParams(search);\n\n params.forEach((value, key) => {\n if (isPrototypePollutionKey(key)) return;\n const existing = query[key];\n if (existing === undefined) {\n // First occurrence: store as string\n query[key] = value;\n } else if (Array.isArray(existing)) {\n // Already an array: append\n existing.push(value);\n } else {\n // Second occurrence: convert to array\n query[key] = [existing, value];\n }\n });\n\n return query;\n};\n","/**\n * Shared helpers for parsing route path params and constraints.\n * @internal\n */\n\n/** Validates whether a character can start a route param name. @internal */\nexport const isParamStart = (char: string | undefined): boolean =>\n char !== undefined &&\n ((char >= 'a' && char <= 'z') || (char >= 'A' && char <= 'Z') || char === '_');\n\n/** Validates whether a character can appear after the start of a route param name. @internal */\nexport const isParamChar = (char: string | undefined): boolean =>\n isParamStart(char) || (char !== undefined && char >= '0' && char <= '9');\n\n/** Reads a route param constraint while preserving escaped chars and nested groups. @internal */\nexport const readConstraint = (\n path: string,\n startIndex: number\n): { constraint: string; endIndex: number } | null => {\n let depth = 1;\n let constraint = '';\n let i = startIndex + 1;\n let inCharacterClass = false;\n\n while (i < path.length) {\n const char = path[i];\n\n if (char === '\\\\' && i + 1 < path.length) {\n constraint += char + path[i + 1];\n i += 2;\n continue;\n }\n\n if (char === '[' && !inCharacterClass) {\n inCharacterClass = true;\n } else if (char === ']' && inCharacterClass) {\n inCharacterClass = false;\n } else if (!inCharacterClass && char === '(') {\n depth++;\n } else if (!inCharacterClass && char === ')') {\n depth--;\n if (depth === 0) {\n return { constraint, endIndex: i + 1 };\n }\n }\n\n constraint += char;\n i++;\n }\n\n return null;\n};\n","/**\n * Route matching helpers.\n * @module bquery/router\n */\n\nimport { parseQuery } from './query';\nimport { getNormalizedRouteConstraint, getRouteConstraintRegex } from './constraints';\nimport { isParamChar, isParamStart, readConstraint } from './path-pattern';\nimport type { Route, RouteDefinition } from './types';\n\nconst readConstraintOrThrow = (\n path: string,\n startIndex: number\n): { constraint: string; endIndex: number } => {\n const parsedConstraint = readConstraint(path, startIndex);\n if (!parsedConstraint) {\n throw new Error(\n `bQuery router: Invalid route param constraint syntax in path \"${path}\" at index ${startIndex}.`\n );\n }\n return parsedConstraint;\n};\n\ntype RouteParamDescriptor = {\n name: string;\n constraint?: string;\n nextIndex: number;\n};\n\nconst validatedRoutePathCache = new Set<string>();\n\nconst readParamDescriptor = (path: string, index: number): RouteParamDescriptor | null => {\n if (path[index] !== ':' || !isParamStart(path[index + 1])) {\n return null;\n }\n\n let nameEnd = index + 2;\n while (nameEnd < path.length && isParamChar(path[nameEnd])) {\n nameEnd++;\n }\n\n let nextIndex = nameEnd;\n let constraint: string | undefined;\n\n if (path[nameEnd] === '(') {\n const parsedConstraint = readConstraintOrThrow(path, nameEnd);\n constraint = parsedConstraint.constraint;\n nextIndex = parsedConstraint.endIndex;\n }\n\n return {\n name: path.slice(index + 1, nameEnd),\n constraint,\n nextIndex,\n };\n};\n\nconst validateRoutePathPattern = (path: string): void => {\n if (validatedRoutePathCache.has(path)) {\n return;\n }\n\n for (let i = 0; i < path.length; ) {\n const char = path[i];\n\n if (char === ':' && isParamStart(path[i + 1])) {\n const param = readParamDescriptor(path, i);\n if (param?.constraint) {\n getNormalizedRouteConstraint(param.constraint);\n }\n i = param?.nextIndex ?? i + 1;\n continue;\n }\n\n i++;\n }\n\n validatedRoutePathCache.add(path);\n};\n\nconst findSegmentBoundary = (value: string, startIndex: number): number => {\n const slashIndex = value.indexOf('/', startIndex);\n return slashIndex === -1 ? value.length : slashIndex;\n};\n\nconst readNextStaticChunk = (path: string, startIndex: number): string => {\n let chunkEnd = startIndex;\n\n while (chunkEnd < path.length) {\n if (path[chunkEnd] === '*') {\n break;\n }\n\n if (path[chunkEnd] === ':' && isParamStart(path[chunkEnd + 1])) {\n break;\n }\n\n chunkEnd++;\n }\n\n return path.slice(startIndex, chunkEnd);\n};\n\nconst findAnchoredCandidateEnds = (\n actualPath: string,\n startIndex: number,\n limit: number,\n nextStaticChunk: string\n): number[] => {\n const candidates: number[] = [];\n let searchIndex = startIndex;\n\n while (searchIndex <= limit) {\n const candidateEnd = actualPath.indexOf(nextStaticChunk, searchIndex);\n if (candidateEnd === -1 || candidateEnd > limit) {\n break;\n }\n\n candidates.push(candidateEnd);\n searchIndex = candidateEnd + 1;\n }\n\n return candidates.reverse();\n};\n\nconst matchPathPattern = (routePath: string, actualPath: string): Record<string, string> | null => {\n // Memoization keeps wildcard/param backtracking linear for repeated subproblems\n // within a single route/path match attempt.\n const memo = new Map<string, Record<string, string> | null>();\n\n const matchFrom = (routeIndex: number, pathIndex: number): Record<string, string> | null => {\n const memoKey = `${routeIndex}:${pathIndex}`;\n if (memo.has(memoKey)) {\n return memo.get(memoKey) ?? null;\n }\n\n if (routeIndex === routePath.length) {\n const result = pathIndex === actualPath.length ? {} : null;\n memo.set(memoKey, result);\n return result;\n }\n\n const routeChar = routePath[routeIndex];\n\n if (routeChar === '*') {\n if (routeIndex === routePath.length - 1) {\n const result = {};\n memo.set(memoKey, result);\n return result;\n }\n\n const nextStaticChunk = readNextStaticChunk(routePath, routeIndex + 1);\n const anchoredCandidateEnds =\n nextStaticChunk.length > 0\n ? findAnchoredCandidateEnds(actualPath, pathIndex, actualPath.length, nextStaticChunk)\n : null;\n\n const iterateCandidateEnds = anchoredCandidateEnds\n ? (callback: (candidateEnd: number) => Record<string, string> | null) => {\n for (const candidateEnd of anchoredCandidateEnds) {\n const result = callback(candidateEnd);\n if (result) {\n return result;\n }\n }\n return null;\n }\n : (callback: (candidateEnd: number) => Record<string, string> | null) => {\n for (let candidateEnd = actualPath.length; candidateEnd >= pathIndex; candidateEnd--) {\n const result = callback(candidateEnd);\n if (result) {\n return result;\n }\n }\n return null;\n };\n\n const wildcardMatch = iterateCandidateEnds((candidateEnd) => {\n const suffixMatch = matchFrom(routeIndex + 1, candidateEnd);\n if (suffixMatch) {\n memo.set(memoKey, suffixMatch);\n return suffixMatch;\n }\n return null;\n });\n\n if (wildcardMatch) {\n return wildcardMatch;\n }\n\n memo.set(memoKey, null);\n return null;\n }\n\n const param = readParamDescriptor(routePath, routeIndex);\n if (param) {\n const constraintRegex = param.constraint\n ? getRouteConstraintRegex(param.constraint)\n : undefined;\n const candidateLimit = param.constraint\n ? actualPath.length\n : findSegmentBoundary(actualPath, pathIndex);\n const nextStaticChunk = readNextStaticChunk(routePath, param.nextIndex);\n const anchoredCandidateEnds =\n nextStaticChunk.length > 0\n ? findAnchoredCandidateEnds(actualPath, pathIndex, candidateLimit, nextStaticChunk)\n : null;\n\n const iterateCandidateEnds = anchoredCandidateEnds\n ? (callback: (candidateEnd: number) => Record<string, string> | null) => {\n for (const candidateEnd of anchoredCandidateEnds) {\n if (candidateEnd <= pathIndex) {\n continue;\n }\n const result = callback(candidateEnd);\n if (result) {\n return result;\n }\n }\n return null;\n }\n : (callback: (candidateEnd: number) => Record<string, string> | null) => {\n for (let candidateEnd = candidateLimit; candidateEnd > pathIndex; candidateEnd--) {\n const result = callback(candidateEnd);\n if (result) {\n return result;\n }\n }\n return null;\n };\n\n const paramMatch = iterateCandidateEnds((candidateEnd) => {\n const candidateValue = actualPath.slice(pathIndex, candidateEnd);\n\n if (constraintRegex) {\n if (!constraintRegex.test(candidateValue)) {\n return null;\n }\n }\n\n const suffixMatch = matchFrom(param.nextIndex, candidateEnd);\n if (suffixMatch) {\n const result = {\n [param.name]: candidateValue,\n ...suffixMatch,\n };\n memo.set(memoKey, result);\n return result;\n }\n return null;\n });\n\n if (paramMatch) {\n return paramMatch;\n }\n\n memo.set(memoKey, null);\n return null;\n }\n\n if (pathIndex >= actualPath.length || routeChar !== actualPath[pathIndex]) {\n memo.set(memoKey, null);\n return null;\n }\n\n const result = matchFrom(routeIndex + 1, pathIndex + 1);\n memo.set(memoKey, result);\n return result;\n };\n\n return matchFrom(0, 0);\n};\n\n/**\n * Matches a path against route definitions and extracts params.\n * @internal\n */\nexport const matchRoute = (\n path: string,\n routes: RouteDefinition[]\n): { matched: RouteDefinition; params: Record<string, string> } | null => {\n for (const route of routes) {\n validateRoutePathPattern(route.path);\n const params = matchPathPattern(route.path, path);\n if (params) {\n return { matched: route, params };\n }\n }\n\n return null;\n};\n\n/**\n * Creates a Route object from the current URL.\n * @internal\n */\nexport const createRoute = (\n pathname: string,\n search: string,\n hash: string,\n routes: RouteDefinition[]\n): Route => {\n const result = matchRoute(pathname, routes);\n\n return {\n path: pathname,\n params: result?.params ?? {},\n query: parseQuery(search),\n matched: result?.matched ?? null,\n hash: hash.replace(/^#/, ''),\n };\n};\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { n as d } from "./core-CongXJuo.js";
2
- import { n as f } from "./readonly-C0ZwS1Tf.js";
1
+ import { n as d } from "./core-yg9rJXiR.js";
2
+ import { n as f } from "./readonly-Br-6pAgj.js";
3
3
  var A = (i) => {
4
4
  const r = d(!1);
5
5
  let a;
@@ -511,4 +511,4 @@ export {
511
511
  z as u
512
512
  };
513
513
 
514
- //# sourceMappingURL=media-gjbWNq50.js.map
514
+ //# sourceMappingURL=media-Chh6mA0v.js.map