@fragno-dev/core 0.0.7 → 0.1.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 (59) hide show
  1. package/.turbo/turbo-build.log +53 -46
  2. package/.turbo/turbo-test.log +45 -45
  3. package/CHANGELOG.md +6 -0
  4. package/dist/api/api.d.ts +1 -1
  5. package/dist/api/api.js +1 -1
  6. package/dist/api/fragment-builder.d.ts +3 -0
  7. package/dist/api/fragment-builder.js +3 -0
  8. package/dist/api/fragment-instantiation.d.ts +3 -0
  9. package/dist/api/fragment-instantiation.js +5 -0
  10. package/dist/{api-CAPyac52.d.ts → api-Dcr4_-3g.d.ts} +1 -1
  11. package/dist/{api-CAPyac52.d.ts.map → api-Dcr4_-3g.d.ts.map} +1 -1
  12. package/dist/{api-DuzjjCT4.js → api-DngJDcmO.js} +1 -1
  13. package/dist/{api-DuzjjCT4.js.map → api-DngJDcmO.js.map} +1 -1
  14. package/dist/client/client.d.ts +2 -2
  15. package/dist/client/client.js +4 -4
  16. package/dist/client/client.svelte.d.ts +2 -2
  17. package/dist/client/client.svelte.js +4 -4
  18. package/dist/client/react.d.ts +2 -2
  19. package/dist/client/react.js +4 -4
  20. package/dist/client/solid.d.ts +2 -2
  21. package/dist/client/solid.js +4 -4
  22. package/dist/client/vanilla.d.ts +2 -2
  23. package/dist/client/vanilla.js +4 -4
  24. package/dist/client/vue.d.ts +2 -2
  25. package/dist/client/vue.js +4 -4
  26. package/dist/{client-C_Oc8hpD.js → client-CZCasGGB.js} +3 -3
  27. package/dist/client-CZCasGGB.js.map +1 -0
  28. package/dist/fragment-builder-DOnCVBqc.js +47 -0
  29. package/dist/fragment-builder-DOnCVBqc.js.map +1 -0
  30. package/dist/{client-DdpPMlXL.d.ts → fragment-builder-Dcdsms1l.d.ts} +136 -118
  31. package/dist/fragment-builder-Dcdsms1l.d.ts.map +1 -0
  32. package/dist/fragment-instantiation-f4AhwQss.js +197 -0
  33. package/dist/fragment-instantiation-f4AhwQss.js.map +1 -0
  34. package/dist/integrations/react-ssr.js +1 -1
  35. package/dist/mod.d.ts +3 -3
  36. package/dist/mod.js +5 -214
  37. package/dist/{route-Dq62lXqB.js → route-B4RbOWjd.js} +2 -2
  38. package/dist/{route-Dq62lXqB.js.map → route-B4RbOWjd.js.map} +1 -1
  39. package/dist/{ssr-BAhbA_3q.js → ssr-CamRrMc0.js} +1 -1
  40. package/dist/{ssr-BAhbA_3q.js.map → ssr-CamRrMc0.js.map} +1 -1
  41. package/package.json +13 -1
  42. package/src/api/fragment-builder.ts +81 -0
  43. package/src/api/{fragment.ts → fragment-instantiation.ts} +36 -56
  44. package/src/api/fragment.test.ts +44 -16
  45. package/src/api/request-middleware.test.ts +3 -2
  46. package/src/client/client-builder.test.ts +2 -2
  47. package/src/client/client.ssr.test.ts +1 -1
  48. package/src/client/client.svelte.test.ts +1 -1
  49. package/src/client/client.test.ts +1 -1
  50. package/src/client/client.ts +5 -2
  51. package/src/client/react.test.ts +1 -1
  52. package/src/client/solid.test.ts +1 -1
  53. package/src/client/vanilla.test.ts +1 -1
  54. package/src/client/vue.test.ts +1 -1
  55. package/src/mod.ts +3 -3
  56. package/tsdown.config.ts +2 -0
  57. package/dist/client-C_Oc8hpD.js.map +0 -1
  58. package/dist/client-DdpPMlXL.d.ts.map +0 -1
  59. package/dist/mod.js.map +0 -1
@@ -1,51 +1,58 @@
1
1
  $ tsdown
2
2
  ℹ tsdown v0.15.9 powered by rolldown v1.0.0-beta.44
3
3
  ℹ Using tsdown config: /home/runner/work/fragno/fragno/packages/fragno/tsdown.config.ts
4
- ℹ entry: src/mod.ts, src/api/api.ts, src/client/client.svelte.ts, src/client/client.ts, src/client/react.ts, src/client/solid.ts, src/client/vanilla.ts, src/client/vue.ts, src/integrations/react-ssr.ts
4
+ ℹ entry: src/mod.ts, src/api/api.ts, src/api/fragment-builder.ts, src/api/fragment-instantiation.ts, src/client/client.svelte.ts, src/client/client.ts, src/client/react.ts, src/client/solid.ts, src/client/vanilla.ts, src/client/vue.ts, src/integrations/react-ssr.ts
5
5
  ℹ tsconfig: tsconfig.json
6
6
  ℹ Build start
7
- ℹ dist/mod.js  6.61 kB │ gzip: 1.95 kB
8
- ℹ dist/client/client.svelte.js  3.31 kB │ gzip: 0.98 kB
9
- ℹ dist/client/vanilla.js  3.30 kB │ gzip: 1.12 kB
10
- ℹ dist/client/solid.js  3.03 kB │ gzip: 0.97 kB
11
- ℹ dist/client/vue.js  2.86 kB │ gzip: 1.00 kB
12
- ℹ dist/client/react.js  2.48 kB │ gzip: 0.94 kB
13
- ℹ dist/integrations/react-ssr.js  1.27 kB │ gzip: 0.65 kB
14
- ℹ dist/client/client.js  0.70 kB │ gzip: 0.29 kB
15
- ℹ dist/api/api.js  0.17 kB │ gzip: 0.12 kB
16
- ℹ dist/client-C_Oc8hpD.js.map 72.42 kB │ gzip: 16.35 kB
17
- ℹ dist/route-Dq62lXqB.js.map 24.64 kB │ gzip: 6.78 kB
18
- ℹ dist/client-C_Oc8hpD.js 24.50 kB │ gzip: 6.21 kB
19
- ℹ dist/mod.js.map 19.54 kB │ gzip: 5.10 kB
20
- ℹ dist/client-DdpPMlXL.d.ts.map 17.95 kB │ gzip: 6.92 kB
21
- ℹ dist/client/vanilla.js.map 12.96 kB │ gzip: 3.58 kB
22
- ℹ dist/client/client.svelte.js.map 11.35 kB │ gzip: 2.76 kB
23
- ℹ dist/client/solid.js.map 11.00 kB │ gzip: 2.79 kB
24
- ℹ dist/client/vue.js.map 10.12 kB │ gzip: 2.78 kB
25
- ℹ dist/client/react.js.map  9.52 kB │ gzip: 3.02 kB
26
- ℹ dist/route-Dq62lXqB.js  8.79 kB │ gzip: 2.64 kB
27
- ℹ dist/api-CAPyac52.d.ts.map  8.49 kB │ gzip: 3.25 kB
28
- ℹ dist/api-DuzjjCT4.js.map  5.54 kB │ gzip: 1.56 kB
29
- ℹ dist/ssr-BAhbA_3q.js.map  2.96 kB │ gzip: 1.25 kB
30
- ℹ dist/client/vanilla.d.ts.map  2.89 kB │ gzip: 1.05 kB
31
- ℹ dist/client/react.d.ts.map  2.80 kB │ gzip: 1.19 kB
32
- ℹ dist/client/solid.d.ts.map  2.59 kB │ gzip: 1.07 kB
33
- ℹ dist/client/client.svelte.d.ts.map  2.54 kB │ gzip: 1.00 kB
34
- ℹ dist/client/vue.d.ts.map  2.28 kB │ gzip: 0.94 kB
35
- ℹ dist/integrations/react-ssr.js.map  1.65 kB │ gzip: 0.84 kB
36
- ℹ dist/ssr-BAhbA_3q.js  1.38 kB │ gzip: 0.61 kB
37
- ℹ dist/api-DuzjjCT4.js  1.08 kB │ gzip: 0.43 kB
38
- ℹ dist/integrations/react-ssr.d.ts.map  0.23 kB │ gzip: 0.17 kB
39
- ℹ dist/client/vanilla.d.ts  3.63 kB │ gzip: 1.04 kB
40
- ℹ dist/client/react.d.ts  3.43 kB │ gzip: 1.19 kB
41
- ℹ dist/client/solid.d.ts  3.08 kB │ gzip: 0.96 kB
42
- ℹ dist/client/client.svelte.d.ts  2.82 kB │ gzip: 0.82 kB
43
- ℹ dist/client/vue.d.ts  2.75 kB │ gzip: 0.91 kB
44
- ℹ dist/client/client.d.ts  1.38 kB │ gzip: 0.46 kB
45
- ℹ dist/integrations/react-ssr.d.ts  0.78 kB │ gzip: 0.38 kB
46
- ℹ dist/mod.d.ts  0.75 kB │ gzip: 0.29 kB
47
- ℹ dist/api/api.d.ts  0.31 kB │ gzip: 0.18 kB
48
- ℹ dist/client-DdpPMlXL.d.ts 21.71 kB │ gzip: 4.56 kB
49
- ℹ dist/api-CAPyac52.d.ts 12.25 kB │ gzip: 3.51 kB
50
- ℹ 43 files, total: 333.86 kB
51
- ✔ Build complete in 15959ms
7
+ ℹ dist/client/client.svelte.js  3.31 kB │ gzip: 0.97 kB
8
+ ℹ dist/client/vanilla.js  3.30 kB │ gzip: 1.11 kB
9
+ ℹ dist/client/solid.js  3.03 kB │ gzip: 0.97 kB
10
+ ℹ dist/client/vue.js  2.86 kB │ gzip: 1.00 kB
11
+ ℹ dist/client/react.js  2.48 kB │ gzip: 0.93 kB
12
+ ℹ dist/integrations/react-ssr.js  1.27 kB │ gzip: 0.65 kB
13
+ ℹ dist/client/client.js  0.70 kB │ gzip: 0.29 kB
14
+ ℹ dist/mod.js  0.36 kB │ gzip: 0.19 kB
15
+ ℹ dist/api/fragment-instantiation.js  0.23 kB │ gzip: 0.16 kB
16
+ ℹ dist/api/api.js  0.17 kB │ gzip: 0.12 kB
17
+ ℹ dist/api/fragment-builder.js  0.14 kB │ gzip: 0.11 kB
18
+ ℹ dist/client-CZCasGGB.js.map 72.45 kB │ gzip: 16.36 kB
19
+ ℹ dist/route-B4RbOWjd.js.map 24.64 kB │ gzip: 6.78 kB
20
+ ℹ dist/client-CZCasGGB.js 24.50 kB │ gzip: 6.21 kB
21
+ ℹ dist/fragment-builder-Dcdsms1l.d.ts.map 18.98 kB │ gzip: 7.38 kB
22
+ ℹ dist/fragment-instantiation-f4AhwQss.js.map 18.81 kB │ gzip: 5.03 kB
23
+ ℹ dist/client/vanilla.js.map 12.96 kB │ gzip: 3.58 kB
24
+ ℹ dist/client/client.svelte.js.map 11.35 kB │ gzip: 2.76 kB
25
+ ℹ dist/client/solid.js.map 11.00 kB │ gzip: 2.79 kB
26
+ ℹ dist/client/vue.js.map 10.12 kB │ gzip: 2.78 kB
27
+ ℹ dist/client/react.js.map  9.52 kB │ gzip: 3.02 kB
28
+ ℹ dist/route-B4RbOWjd.js  8.79 kB │ gzip: 2.64 kB
29
+ ℹ dist/api-Dcr4_-3g.d.ts.map  8.49 kB │ gzip: 3.25 kB
30
+ ℹ dist/fragment-instantiation-f4AhwQss.js  6.31 kB │ gzip: 1.91 kB
31
+ ℹ dist/api-DngJDcmO.js.map  5.54 kB │ gzip: 1.56 kB
32
+ ℹ dist/fragment-builder-DOnCVBqc.js.map  3.50 kB │ gzip: 1.02 kB
33
+ ℹ dist/ssr-CamRrMc0.js.map  2.96 kB │ gzip: 1.25 kB
34
+ ℹ dist/client/vanilla.d.ts.map  2.89 kB │ gzip: 1.05 kB
35
+ ℹ dist/client/react.d.ts.map  2.80 kB │ gzip: 1.19 kB
36
+ ℹ dist/client/solid.d.ts.map  2.59 kB │ gzip: 1.07 kB
37
+ ℹ dist/client/client.svelte.d.ts.map  2.54 kB │ gzip: 1.00 kB
38
+ ℹ dist/client/vue.d.ts.map  2.28 kB │ gzip: 0.94 kB
39
+ ℹ dist/integrations/react-ssr.js.map  1.65 kB │ gzip: 0.84 kB
40
+ ℹ dist/ssr-CamRrMc0.js  1.38 kB │ gzip: 0.61 kB
41
+ ℹ dist/fragment-builder-DOnCVBqc.js  1.09 kB │ gzip: 0.42 kB
42
+ ℹ dist/api-DngJDcmO.js  1.08 kB │ gzip: 0.43 kB
43
+ ℹ dist/integrations/react-ssr.d.ts.map  0.23 kB │ gzip: 0.17 kB
44
+ ℹ dist/client/vanilla.d.ts  3.65 kB │ gzip: 1.05 kB
45
+ ℹ dist/client/react.d.ts  3.44 kB │ gzip: 1.20 kB
46
+ ℹ dist/client/solid.d.ts  3.09 kB │ gzip: 0.97 kB
47
+ ℹ dist/client/client.svelte.d.ts  2.83 kB │ gzip: 0.83 kB
48
+ ℹ dist/client/vue.d.ts  2.76 kB │ gzip: 0.92 kB
49
+ ℹ dist/client/client.d.ts  1.39 kB │ gzip: 0.47 kB
50
+ ℹ dist/mod.d.ts  0.81 kB │ gzip: 0.31 kB
51
+ ℹ dist/integrations/react-ssr.d.ts  0.78 kB │ gzip: 0.38 kB
52
+ ℹ dist/api/fragment-instantiation.d.ts  0.49 kB │ gzip: 0.20 kB
53
+ ℹ dist/api/api.d.ts  0.31 kB │ gzip: 0.18 kB
54
+ ℹ dist/api/fragment-builder.d.ts  0.21 kB │ gzip: 0.14 kB
55
+ ℹ dist/fragment-builder-Dcdsms1l.d.ts 22.98 kB │ gzip: 4.79 kB
56
+ ℹ dist/api-Dcr4_-3g.d.ts 12.25 kB │ gzip: 3.51 kB
57
+ ℹ 50 files, total: 341.30 kB
58
+ ✔ Build complete in 2121ms
@@ -1,10 +1,10 @@
1
1
  $ vitest run
2
- 2:42:28 PM [vite-plugin-svelte] no Svelte config found at /home/runner/work/fragno/fragno/packages/fragno - using default configuration.
2
+ 12:33:31 PM [vite-plugin-svelte] no Svelte config found at /home/runner/work/fragno/fragno/packages/fragno - using default configuration.
3
3
 
4
4
   RUN  v3.2.4 /home/runner/work/fragno/fragno/packages/fragno
5
5
  Coverage enabled with istanbul
6
6
 
7
- ✓ src/client/client.test.ts (36 tests) 270ms
7
+ ✓ src/client/client.test.ts (36 tests) 316ms
8
8
  stderr | src/client/react.test.ts > createReactMutator > should be able to use mutator for POST route - direct result
9
9
  An update to TestComponent inside a test was not wrapped in act(...).
10
10
 
@@ -175,14 +175,26 @@ act(() => {
175
175
 
176
176
  This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
177
177
 
178
- stderr | src/client/vanilla.test.ts > error handling > should handle mutator errors gracefully
178
+ stderr | src/client/react.test.ts > createReactMutator > should handle mutation errors
179
+ An update to TestComponent inside a test was not wrapped in act(...).
180
+
181
+ When testing, code that causes React state updates should be wrapped into act(...):
182
+
183
+ act(() => {
184
+ /* fire events that update state */
185
+ });
186
+ /* assert on the output */
187
+
188
+ This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
189
+
190
+ stderr | src/client/react.test.ts > createReactMutator > should handle mutation errors
179
191
  Error in mutatorStore FragnoClientFetchNetworkError: Network request failed
180
192
  at Function.fromUnknownFetchError (/home/runner/work/fragno/fragno/packages/fragno/src/client/client-error.ts:83:3)
181
193
  at executeMutateQuery (/home/runner/work/fragno/fragno/packages/fragno/src/client/client.ts:5770:60)
182
194
  at /home/runner/work/fragno/fragno/packages/fragno/src/client/client.ts:5806:52
183
- at Object.mutate (file:///home/runner/work/fragno/fragno/node_modules/.bun/@nanostores+query@0.3.4+e0f9796391ddf78a/node_modules/@nanostores/query/dist/nanoquery.js:300:26) {
195
+ at mutate (file:///home/runner/work/fragno/fragno/node_modules/.bun/@nanostores+query@0.3.4+e0f9796391ddf78a/node_modules/@nanostores/query/dist/nanoquery.js:300:26) {
184
196
  [cause]: Error: Server error
185
- at /home/runner/work/fragno/fragno/packages/fragno/src/client/vanilla.test.ts:842:70
197
+ at /home/runner/work/fragno/fragno/packages/fragno/src/client/react.test.ts:416:70
186
198
  at file:///home/runner/work/fragno/fragno/node_modules/.bun/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
187
199
  at file:///home/runner/work/fragno/fragno/node_modules/.bun/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
188
200
  at file:///home/runner/work/fragno/fragno/node_modules/.bun/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
@@ -194,26 +206,14 @@ This ensures that you're testing the behavior the user would see in the browser.
194
206
  at runFiles (file:///home/runner/work/fragno/fragno/node_modules/.bun/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
195
207
  }
196
208
 
197
- stderr | src/client/react.test.ts > createReactMutator > should handle mutation errors
198
- An update to TestComponent inside a test was not wrapped in act(...).
199
-
200
- When testing, code that causes React state updates should be wrapped into act(...):
201
-
202
- act(() => {
203
- /* fire events that update state */
204
- });
205
- /* assert on the output */
206
-
207
- This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
208
-
209
- stderr | src/client/react.test.ts > createReactMutator > should handle mutation errors
209
+ stderr | src/client/vanilla.test.ts > error handling > should handle mutator errors gracefully
210
210
  Error in mutatorStore FragnoClientFetchNetworkError: Network request failed
211
211
  at Function.fromUnknownFetchError (/home/runner/work/fragno/fragno/packages/fragno/src/client/client-error.ts:83:3)
212
212
  at executeMutateQuery (/home/runner/work/fragno/fragno/packages/fragno/src/client/client.ts:5770:60)
213
213
  at /home/runner/work/fragno/fragno/packages/fragno/src/client/client.ts:5806:52
214
- at mutate (file:///home/runner/work/fragno/fragno/node_modules/.bun/@nanostores+query@0.3.4+e0f9796391ddf78a/node_modules/@nanostores/query/dist/nanoquery.js:300:26) {
214
+ at Object.mutate (file:///home/runner/work/fragno/fragno/node_modules/.bun/@nanostores+query@0.3.4+e0f9796391ddf78a/node_modules/@nanostores/query/dist/nanoquery.js:300:26) {
215
215
  [cause]: Error: Server error
216
- at /home/runner/work/fragno/fragno/packages/fragno/src/client/react.test.ts:416:70
216
+ at /home/runner/work/fragno/fragno/packages/fragno/src/client/vanilla.test.ts:842:70
217
217
  at file:///home/runner/work/fragno/fragno/node_modules/.bun/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:155:11
218
218
  at file:///home/runner/work/fragno/fragno/node_modules/.bun/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:752:26
219
219
  at file:///home/runner/work/fragno/fragno/node_modules/.bun/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1897:20
@@ -225,7 +225,6 @@ This ensures that you're testing the behavior the user would see in the browser.
225
225
  at runFiles (file:///home/runner/work/fragno/fragno/node_modules/.bun/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/chunk-hooks.js:1787:3)
226
226
  }
227
227
 
228
- ✓ src/client/vanilla.test.ts (19 tests) 651ms
229
228
  stderr | src/client/react.test.ts > useFragno > should transform a mixed object of hooks and mutators
230
229
  An update to TestComponent inside a test was not wrapped in act(...).
231
230
 
@@ -260,38 +259,39 @@ act(() => {
260
259
 
261
260
  This ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act
262
261
 
263
- ✓ src/client/react.test.ts (26 tests) 915ms
264
- ✓ src/client/solid.test.ts (19 tests) 314ms
265
- ✓ src/client/vue.test.ts (14 tests) 1062ms
266
- ✓ src/api/internal/path-type.test.ts (16 tests) 35ms
267
- ✓ src/client/client.svelte.test.ts (16 tests) 1299ms
268
- ✓ src/api/request-output-context.test.ts (41 tests) 301ms
262
+ ✓ src/client/vanilla.test.ts (19 tests) 677ms
263
+ ✓ src/client/react.test.ts (26 tests) 874ms
264
+ ✓ src/client/solid.test.ts (19 tests) 339ms
265
+ ✓ src/client/vue.test.ts (14 tests) 1046ms
266
+ ✓ src/api/internal/path-type.test.ts (16 tests) 28ms
267
+ ✓ src/client/client.svelte.test.ts (16 tests) 1420ms
268
+ ✓ src/api/request-output-context.test.ts (41 tests) 337ms
269
269
  stdout | src/api/fragment.test.ts > new-fragment API > Fragment creation > createFragment instantiates fragment with config
270
270
  HELLO WORLD
271
271
 
272
- ✓ src/api/fragment.test.ts (13 tests) 137ms
273
- ✓ src/client/client-types.test.ts (15 tests) 48ms
272
+ ✓ src/api/fragment.test.ts (15 tests) 143ms
273
+ ✓ src/client/client-types.test.ts (15 tests) 35ms
274
274
  stderr | src/api/request-middleware.test.ts > Request Middleware > middleware calling input.valid() can ignore validation error
275
275
  Error in middleware FragnoApiValidationError: Validation failed
276
276
  at RequestInputContext.#validateInput (/home/runner/work/fragno/fragno/packages/fragno/src/api/request-input-context.ts:1173:13)
277
277
   at processTicksAndRejections (node:internal/process/task_queues:95:5)
278
278
 
279
- ✓ src/api/request-middleware.test.ts (10 tests | 1 skipped) 207ms
280
- ✓ src/client/internal/ndjson-streaming.test.ts (10 tests) 49ms
281
- ✓ src/api/request-input-context.test.ts (27 tests) 67ms
282
- ✓ src/client/client-builder.test.ts (9 tests) 65ms
283
- ✓ src/api/route.test.ts (9 tests) 30ms
284
- ✓ src/api/api.test.ts (10 tests) 40ms
285
- ✓ src/util/content-type.test.ts (13 tests) 35ms
286
- ✓ src/api/internal/path-runtime.test.ts (22 tests) 33ms
287
- ✓ src/util/async.test.ts (3 tests) 23ms
288
- ✓ src/api/internal/route.test.ts (12 tests) 22ms
289
- ✓ src/client/client-error.test.ts (2 tests) 44ms
290
- ✓ src/util/nanostores.test.ts (5 tests) 11ms
291
- ✓ src/client/client.ssr.test.ts (6 tests) 81ms
279
+ ✓ src/api/request-middleware.test.ts (10 tests | 1 skipped) 260ms
280
+ ✓ src/client/internal/ndjson-streaming.test.ts (10 tests) 116ms
281
+ ✓ src/api/request-input-context.test.ts (27 tests) 97ms
282
+ ✓ src/client/client-builder.test.ts (9 tests) 80ms
283
+ ✓ src/api/route.test.ts (9 tests) 100ms
284
+ ✓ src/api/api.test.ts (10 tests) 59ms
285
+ ✓ src/api/internal/path-runtime.test.ts (22 tests) 43ms
286
+ ✓ src/util/content-type.test.ts (13 tests) 55ms
287
+ ✓ src/util/async.test.ts (3 tests) 41ms
288
+ ✓ src/api/internal/route.test.ts (12 tests) 53ms
289
+ ✓ src/client/client-error.test.ts (2 tests) 35ms
290
+ ✓ src/util/nanostores.test.ts (5 tests) 25ms
291
+ ✓ src/client/client.ssr.test.ts (6 tests) 368ms
292
292
 
293
293
   Test Files  23 passed (23)
294
-  Tests  352 passed | 1 todo (353)
295
-  Start at  14:42:29
296
-  Duration  38.17s (transform 13.77s, setup 0ms, collect 37.91s, tests 5.74s, environment 36.42s, prepare 11.84s)
294
+  Tests  354 passed | 1 todo (355)
295
+  Start at  12:33:31
296
+  Duration  44.24s (transform 14.44s, setup 0ms, collect 39.32s, tests 6.55s, environment 39.87s, prepare 12.52s)
297
297
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @fragno-dev/core
2
2
 
3
+ ## 0.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 74a615c: Added support for creating Fragments with data layer using @fragno-dev/db
8
+
3
9
  ## 0.0.7
4
10
 
5
11
  ### Patch Changes
package/dist/api/api.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as addRoute, i as ValidPath, n as HTTPMethod, o as FragnoApiError, r as NonGetHTTPMethod, s as FragnoApiValidationError, t as FragnoRouteConfig } from "../api-CAPyac52.js";
1
+ import { a as addRoute, i as ValidPath, n as HTTPMethod, o as FragnoApiError, r as NonGetHTTPMethod, s as FragnoApiValidationError, t as FragnoRouteConfig } from "../api-Dcr4_-3g.js";
2
2
  export { FragnoApiError, FragnoApiValidationError, FragnoRouteConfig, HTTPMethod, NonGetHTTPMethod, ValidPath, addRoute };
package/dist/api/api.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as FragnoApiError, r as FragnoApiValidationError, t as addRoute } from "../api-DuzjjCT4.js";
1
+ import { n as FragnoApiError, r as FragnoApiValidationError, t as addRoute } from "../api-DngJDcmO.js";
2
2
 
3
3
  export { FragnoApiError, FragnoApiValidationError, addRoute };
@@ -0,0 +1,3 @@
1
+ import "../api-Dcr4_-3g.js";
2
+ import { n as FragmentDefinition, r as defineFragment, t as FragmentBuilder } from "../fragment-builder-Dcdsms1l.js";
3
+ export { FragmentBuilder, FragmentDefinition, defineFragment };
@@ -0,0 +1,3 @@
1
+ import { n as defineFragment, t as FragmentBuilder } from "../fragment-builder-DOnCVBqc.js";
2
+
3
+ export { FragmentBuilder, defineFragment };
@@ -0,0 +1,3 @@
1
+ import "../api-Dcr4_-3g.js";
2
+ import { a as FragnoFragmentSharedConfig, c as FragnoPublicConfig, i as AnyFragnoFragmentSharedConfig, l as createFragment, o as FragnoInstantiatedFragment, s as FragnoPublicClientConfig, u as instantiatedFragmentFakeSymbol } from "../fragment-builder-Dcdsms1l.js";
3
+ export { AnyFragnoFragmentSharedConfig, FragnoFragmentSharedConfig, FragnoInstantiatedFragment, FragnoPublicClientConfig, FragnoPublicConfig, createFragment, instantiatedFragmentFakeSymbol };
@@ -0,0 +1,5 @@
1
+ import "../api-DngJDcmO.js";
2
+ import "../route-B4RbOWjd.js";
3
+ import { n as instantiatedFragmentFakeSymbol, t as createFragment } from "../fragment-instantiation-f4AhwQss.js";
4
+
5
+ export { createFragment, instantiatedFragmentFakeSymbol };
@@ -275,4 +275,4 @@ declare function addRoute<TMethod extends HTTPMethod, TPath extends string, TInp
275
275
  }): FragnoRouteConfig<TMethod, TPath, TInputSchema, TOutputSchema, TErrorCode, TQueryParameters>;
276
276
  //#endregion
277
277
  export { addRoute as a, OutputContext as c, RequestBodyType as d, ExtractPathParamsOrWiden as f, QueryParamsHint as h, ValidPath as i, InferOr as l, MaybeExtractPathParamsOrWiden as m, HTTPMethod as n, FragnoApiError as o, HasPathParams as p, NonGetHTTPMethod as r, FragnoApiValidationError as s, FragnoRouteConfig as t, StatusCode as u };
278
- //# sourceMappingURL=api-CAPyac52.d.ts.map
278
+ //# sourceMappingURL=api-Dcr4_-3g.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-CAPyac52.d.ts","names":[],"sources":["../src/api/internal/path.ts","../src/api/request-input-context.ts","../src/http/http-status.ts","../src/api/internal/response-stream.ts","../src/util/types-util.ts","../src/api/request-output-context.ts","../src/api/error.ts","../src/api/api.ts"],"sourcesContent":[],"mappings":"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A,QAAA,EOqBS,mBPrBgB,COqBI,KPrBJ,EOqBW,YPrBX,CAAA,EAAA,SAAA,EOsBf,oBPtBe,COsBM,aPtBN,EOsBqB,UPtBrB,CAAA,CAAA,EOuBzB,OPvByB,COuBjB,QPvBiB,CAAA;;AAI1B,iBOuBY,QPvBZ,CAAA,gBOwBc,UPxBd,EAAA,cAAA,MAAA,EAAA,sBO0BoB,gBP1BpB,GAAA,SAAA,EAAA,mBAAA,MAAA,GAAA,MAAA,EAAA,yBAAA,MAAA,GAAA,MAAA,CAAA,CAAA,KAAA,EO8BK,iBP9BL,CO+BA,OP/BA,EOgCA,SPhCA,COgCU,KPhCV,CAAA,EAAA,SAAA,EOkCA,aPlCA,EOmCA,UPnCA,EOoCA,gBPpCA,CAAA,GAAA;EACE,WAAA,CAAA,EAAA,SAAA;CACe,CAAA,EOoClB,iBPpCkB,COoCA,OPpCA,EOoCS,KPpCT,EAAA,SAAA,EOoC2B,aPpC3B,EOoC0C,UPpC1C,EOoCsD,gBPpCtD,CAAA;AAAb,iBOuCQ,QPvCR,CAAA,gBOwCU,UPxCV,EAAA,cAAA,MAAA,EAAA,qBO0Ce,gBP1Cf,EAAA,sBO2CgB,gBP3ChB,GAAA,SAAA,EAAA,mBAAA,MAAA,GAAA,MAAA,EAAA,yBAAA,MAAA,GAAA,MAAA,CAAA,CAAA,KAAA,EO+CC,iBP/CD,COgDJ,OPhDI,EOiDJ,SPjDI,COiDM,KPjDN,CAAA,EOkDJ,YPlDI,EOmDJ,aPnDI,EOoDJ,UPpDI,EOqDJ,gBPrDI,CAAA,GAAA;EAAgD,WAAA,EOuDvC,YPvDuC;CAA1B,CAAA,EOyD3B,iBPzD2B,COyDT,OPzDS,EOyDA,KPzDA,EOyDO,YPzDP,EOyDqB,aPzDrB,EOyDoC,UPzDpC,EOyDgD,gBPzDhD,CAAA"}
1
+ {"version":3,"file":"api-Dcr4_-3g.d.ts","names":[],"sources":["../src/api/internal/path.ts","../src/api/request-input-context.ts","../src/http/http-status.ts","../src/api/internal/response-stream.ts","../src/util/types-util.ts","../src/api/request-output-context.ts","../src/api/error.ts","../src/api/api.ts"],"sourcesContent":[],"mappings":"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A,QAAA,EOqBS,mBPrBgB,COqBI,KPrBJ,EOqBW,YPrBX,CAAA,EAAA,SAAA,EOsBf,oBPtBe,COsBM,aPtBN,EOsBqB,UPtBrB,CAAA,CAAA,EOuBzB,OPvByB,COuBjB,QPvBiB,CAAA;;AAI1B,iBOuBY,QPvBZ,CAAA,gBOwBc,UPxBd,EAAA,cAAA,MAAA,EAAA,sBO0BoB,gBP1BpB,GAAA,SAAA,EAAA,mBAAA,MAAA,GAAA,MAAA,EAAA,yBAAA,MAAA,GAAA,MAAA,CAAA,CAAA,KAAA,EO8BK,iBP9BL,CO+BA,OP/BA,EOgCA,SPhCA,COgCU,KPhCV,CAAA,EAAA,SAAA,EOkCA,aPlCA,EOmCA,UPnCA,EOoCA,gBPpCA,CAAA,GAAA;EACE,WAAA,CAAA,EAAA,SAAA;CACe,CAAA,EOoClB,iBPpCkB,COoCA,OPpCA,EOoCS,KPpCT,EAAA,SAAA,EOoC2B,aPpC3B,EOoC0C,UPpC1C,EOoCsD,gBPpCtD,CAAA;AAAb,iBOuCQ,QPvCR,CAAA,gBOwCU,UPxCV,EAAA,cAAA,MAAA,EAAA,qBO0Ce,gBP1Cf,EAAA,sBO2CgB,gBP3ChB,GAAA,SAAA,EAAA,mBAAA,MAAA,GAAA,MAAA,EAAA,yBAAA,MAAA,GAAA,MAAA,CAAA,CAAA,KAAA,EO+CC,iBP/CD,COgDJ,OPhDI,EOiDJ,SPjDI,COiDM,KPjDN,CAAA,EOkDJ,YPlDI,EOmDJ,aPnDI,EOoDJ,UPpDI,EOqDJ,gBPrDI,CAAA,GAAA;EAAgD,WAAA,EOuDvC,YPvDuC;CAA1B,CAAA,EOyD3B,iBPzD2B,COyDT,OPzDS,EOyDA,KPzDA,EOyDO,YPzDP,EOyDqB,aPzDrB,EOyDoC,UPzDpC,EOyDgD,gBPzDhD,CAAA"}
@@ -51,4 +51,4 @@ function addRoute(route) {
51
51
 
52
52
  //#endregion
53
53
  export { FragnoApiError as n, FragnoApiValidationError as r, addRoute as t };
54
- //# sourceMappingURL=api-DuzjjCT4.js.map
54
+ //# sourceMappingURL=api-DngJDcmO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-DuzjjCT4.js","names":["#status","#code","#issues"],"sources":["../src/api/error.ts","../src/api/api.ts"],"sourcesContent":["import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport type { StatusCode } from \"../http/http-status\";\n\nexport class FragnoApiError extends Error {\n readonly #status: StatusCode;\n readonly #code: string;\n\n constructor({ message, code }: { message: string; code: string }, status: StatusCode) {\n super(message);\n this.name = \"FragnoApiError\";\n this.#status = status;\n this.#code = code;\n }\n\n get status() {\n return this.#status;\n }\n\n get code() {\n return this.#code;\n }\n\n toResponse() {\n return Response.json({ message: this.message, code: this.code }, { status: this.status });\n }\n}\n\nexport class FragnoApiValidationError extends FragnoApiError {\n #issues: readonly StandardSchemaV1.Issue[];\n\n constructor(message: string, issues: readonly StandardSchemaV1.Issue[]) {\n super({ message, code: \"FRAGNO_VALIDATION_ERROR\" }, 400);\n this.name = \"FragnoApiValidationError\";\n this.#issues = issues;\n }\n\n get issues() {\n return this.#issues;\n }\n\n override toResponse() {\n return Response.json(\n { message: this.message, issues: this.#issues, code: this.code },\n { status: this.status },\n );\n }\n}\n","import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport type { RequestInputContext } from \"./request-input-context\";\nimport type { RequestOutputContext } from \"./request-output-context\";\n\nexport type HTTPMethod = \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\" | \"HEAD\" | \"OPTIONS\";\nexport type NonGetHTTPMethod = Exclude<HTTPMethod, \"GET\">;\n\n// Helper type to create branded error messages that are still assignable to string\ntype PathError<T extends string, TMessage extends string> = T & [`Error: ${TMessage}`];\n\n/**\n * A valid path string that:\n * - Is non-empty\n * - Starts with \"/\"\n * - Is not just \"/\"\n * - Does not end with \"/\"\n */\nexport type ValidPath<T extends string = string> = T extends `/${infer Rest}`\n ? Rest extends \"\"\n ? PathError<T, \"Path cannot be just '/'.\"> // Excludes \"/\"\n : T extends `${string}/`\n ? PathError<T, \"Path cannot end with '/'.\"> // Excludes paths ending with \"/\"\n : T\n : PathError<T, \"Path must start with '/'.\">; // Excludes paths not starting with \"/\"\n\nexport interface FragnoRouteConfig<\n TMethod extends HTTPMethod,\n TPath extends string,\n TInputSchema extends StandardSchemaV1 | undefined,\n TOutputSchema extends StandardSchemaV1 | undefined,\n TErrorCode extends string = string,\n TQueryParameters extends string = string,\n> {\n method: TMethod;\n path: TPath;\n inputSchema?: TInputSchema;\n outputSchema?: TOutputSchema;\n errorCodes?: readonly TErrorCode[];\n queryParameters?: readonly TQueryParameters[];\n handler(\n inputCtx: RequestInputContext<TPath, TInputSchema>,\n outputCtx: RequestOutputContext<TOutputSchema, TErrorCode>,\n ): Promise<Response>;\n}\n\n// Overload for routes without inputSchema\nexport function addRoute<\n TMethod extends HTTPMethod,\n TPath extends string,\n TOutputSchema extends StandardSchemaV1 | undefined,\n TErrorCode extends string = string,\n TQueryParameters extends string = string,\n>(\n route: FragnoRouteConfig<\n TMethod,\n ValidPath<TPath>,\n undefined,\n TOutputSchema,\n TErrorCode,\n TQueryParameters\n > & { inputSchema?: undefined },\n): FragnoRouteConfig<TMethod, TPath, undefined, TOutputSchema, TErrorCode, TQueryParameters>;\n\n// Overload for routes with inputSchema\nexport function addRoute<\n TMethod extends HTTPMethod,\n TPath extends string,\n TInputSchema extends StandardSchemaV1,\n TOutputSchema extends StandardSchemaV1 | undefined,\n TErrorCode extends string = string,\n TQueryParameters extends string = string,\n>(\n route: FragnoRouteConfig<\n TMethod,\n ValidPath<TPath>,\n TInputSchema,\n TOutputSchema,\n TErrorCode,\n TQueryParameters\n > & {\n inputSchema: TInputSchema;\n },\n): FragnoRouteConfig<TMethod, TPath, TInputSchema, TOutputSchema, TErrorCode, TQueryParameters>;\n\n// Implementation\nexport function addRoute<\n TMethod extends HTTPMethod,\n TPath extends string,\n TInputSchema extends StandardSchemaV1 | undefined,\n TOutputSchema extends StandardSchemaV1 | undefined,\n TErrorCode extends string = string,\n TQueryParameters extends string = string,\n>(\n route: FragnoRouteConfig<\n TMethod,\n ValidPath<TPath>,\n TInputSchema,\n TOutputSchema,\n TErrorCode,\n TQueryParameters\n >,\n): FragnoRouteConfig<TMethod, TPath, TInputSchema, TOutputSchema, TErrorCode, TQueryParameters> {\n return route;\n}\n\nexport { FragnoApiError, FragnoApiValidationError } from \"./error\";\n"],"mappings":";AAGA,IAAa,iBAAb,cAAoC,MAAM;CACxC,CAASA;CACT,CAASC;CAET,YAAY,EAAE,SAAS,QAA2C,QAAoB;AACpF,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,QAAKD,SAAU;AACf,QAAKC,OAAQ;;CAGf,IAAI,SAAS;AACX,SAAO,MAAKD;;CAGd,IAAI,OAAO;AACT,SAAO,MAAKC;;CAGd,aAAa;AACX,SAAO,SAAS,KAAK;GAAE,SAAS,KAAK;GAAS,MAAM,KAAK;GAAM,EAAE,EAAE,QAAQ,KAAK,QAAQ,CAAC;;;AAI7F,IAAa,2BAAb,cAA8C,eAAe;CAC3D;CAEA,YAAY,SAAiB,QAA2C;AACtE,QAAM;GAAE;GAAS,MAAM;GAA2B,EAAE,IAAI;AACxD,OAAK,OAAO;AACZ,QAAKC,SAAU;;CAGjB,IAAI,SAAS;AACX,SAAO,MAAKA;;CAGd,AAAS,aAAa;AACpB,SAAO,SAAS,KACd;GAAE,SAAS,KAAK;GAAS,QAAQ,MAAKA;GAAS,MAAM,KAAK;GAAM,EAChE,EAAE,QAAQ,KAAK,QAAQ,CACxB;;;;;;ACyCL,SAAgB,SAQd,OAQ8F;AAC9F,QAAO"}
1
+ {"version":3,"file":"api-DngJDcmO.js","names":["#status","#code","#issues"],"sources":["../src/api/error.ts","../src/api/api.ts"],"sourcesContent":["import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport type { StatusCode } from \"../http/http-status\";\n\nexport class FragnoApiError extends Error {\n readonly #status: StatusCode;\n readonly #code: string;\n\n constructor({ message, code }: { message: string; code: string }, status: StatusCode) {\n super(message);\n this.name = \"FragnoApiError\";\n this.#status = status;\n this.#code = code;\n }\n\n get status() {\n return this.#status;\n }\n\n get code() {\n return this.#code;\n }\n\n toResponse() {\n return Response.json({ message: this.message, code: this.code }, { status: this.status });\n }\n}\n\nexport class FragnoApiValidationError extends FragnoApiError {\n #issues: readonly StandardSchemaV1.Issue[];\n\n constructor(message: string, issues: readonly StandardSchemaV1.Issue[]) {\n super({ message, code: \"FRAGNO_VALIDATION_ERROR\" }, 400);\n this.name = \"FragnoApiValidationError\";\n this.#issues = issues;\n }\n\n get issues() {\n return this.#issues;\n }\n\n override toResponse() {\n return Response.json(\n { message: this.message, issues: this.#issues, code: this.code },\n { status: this.status },\n );\n }\n}\n","import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport type { RequestInputContext } from \"./request-input-context\";\nimport type { RequestOutputContext } from \"./request-output-context\";\n\nexport type HTTPMethod = \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\" | \"HEAD\" | \"OPTIONS\";\nexport type NonGetHTTPMethod = Exclude<HTTPMethod, \"GET\">;\n\n// Helper type to create branded error messages that are still assignable to string\ntype PathError<T extends string, TMessage extends string> = T & [`Error: ${TMessage}`];\n\n/**\n * A valid path string that:\n * - Is non-empty\n * - Starts with \"/\"\n * - Is not just \"/\"\n * - Does not end with \"/\"\n */\nexport type ValidPath<T extends string = string> = T extends `/${infer Rest}`\n ? Rest extends \"\"\n ? PathError<T, \"Path cannot be just '/'.\"> // Excludes \"/\"\n : T extends `${string}/`\n ? PathError<T, \"Path cannot end with '/'.\"> // Excludes paths ending with \"/\"\n : T\n : PathError<T, \"Path must start with '/'.\">; // Excludes paths not starting with \"/\"\n\nexport interface FragnoRouteConfig<\n TMethod extends HTTPMethod,\n TPath extends string,\n TInputSchema extends StandardSchemaV1 | undefined,\n TOutputSchema extends StandardSchemaV1 | undefined,\n TErrorCode extends string = string,\n TQueryParameters extends string = string,\n> {\n method: TMethod;\n path: TPath;\n inputSchema?: TInputSchema;\n outputSchema?: TOutputSchema;\n errorCodes?: readonly TErrorCode[];\n queryParameters?: readonly TQueryParameters[];\n handler(\n inputCtx: RequestInputContext<TPath, TInputSchema>,\n outputCtx: RequestOutputContext<TOutputSchema, TErrorCode>,\n ): Promise<Response>;\n}\n\n// Overload for routes without inputSchema\nexport function addRoute<\n TMethod extends HTTPMethod,\n TPath extends string,\n TOutputSchema extends StandardSchemaV1 | undefined,\n TErrorCode extends string = string,\n TQueryParameters extends string = string,\n>(\n route: FragnoRouteConfig<\n TMethod,\n ValidPath<TPath>,\n undefined,\n TOutputSchema,\n TErrorCode,\n TQueryParameters\n > & { inputSchema?: undefined },\n): FragnoRouteConfig<TMethod, TPath, undefined, TOutputSchema, TErrorCode, TQueryParameters>;\n\n// Overload for routes with inputSchema\nexport function addRoute<\n TMethod extends HTTPMethod,\n TPath extends string,\n TInputSchema extends StandardSchemaV1,\n TOutputSchema extends StandardSchemaV1 | undefined,\n TErrorCode extends string = string,\n TQueryParameters extends string = string,\n>(\n route: FragnoRouteConfig<\n TMethod,\n ValidPath<TPath>,\n TInputSchema,\n TOutputSchema,\n TErrorCode,\n TQueryParameters\n > & {\n inputSchema: TInputSchema;\n },\n): FragnoRouteConfig<TMethod, TPath, TInputSchema, TOutputSchema, TErrorCode, TQueryParameters>;\n\n// Implementation\nexport function addRoute<\n TMethod extends HTTPMethod,\n TPath extends string,\n TInputSchema extends StandardSchemaV1 | undefined,\n TOutputSchema extends StandardSchemaV1 | undefined,\n TErrorCode extends string = string,\n TQueryParameters extends string = string,\n>(\n route: FragnoRouteConfig<\n TMethod,\n ValidPath<TPath>,\n TInputSchema,\n TOutputSchema,\n TErrorCode,\n TQueryParameters\n >,\n): FragnoRouteConfig<TMethod, TPath, TInputSchema, TOutputSchema, TErrorCode, TQueryParameters> {\n return route;\n}\n\nexport { FragnoApiError, FragnoApiValidationError } from \"./error\";\n"],"mappings":";AAGA,IAAa,iBAAb,cAAoC,MAAM;CACxC,CAASA;CACT,CAASC;CAET,YAAY,EAAE,SAAS,QAA2C,QAAoB;AACpF,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,QAAKD,SAAU;AACf,QAAKC,OAAQ;;CAGf,IAAI,SAAS;AACX,SAAO,MAAKD;;CAGd,IAAI,OAAO;AACT,SAAO,MAAKC;;CAGd,aAAa;AACX,SAAO,SAAS,KAAK;GAAE,SAAS,KAAK;GAAS,MAAM,KAAK;GAAM,EAAE,EAAE,QAAQ,KAAK,QAAQ,CAAC;;;AAI7F,IAAa,2BAAb,cAA8C,eAAe;CAC3D;CAEA,YAAY,SAAiB,QAA2C;AACtE,QAAM;GAAE;GAAS,MAAM;GAA2B,EAAE,IAAI;AACxD,OAAK,OAAO;AACZ,QAAKC,SAAU;;CAGjB,IAAI,SAAS;AACX,SAAO,MAAKA;;CAGd,AAAS,aAAa;AACpB,SAAO,SAAS,KACd;GAAE,SAAS,KAAK;GAAS,QAAQ,MAAKA;GAAS,MAAM,KAAK;GAAM,EAChE,EAAE,QAAQ,KAAK,QAAQ,CACxB;;;;;;ACyCL,SAAgB,SAQd,OAQ8F;AAC9F,QAAO"}
@@ -1,3 +1,3 @@
1
- import "../api-CAPyac52.js";
2
- import { C as FragnoClientApiError, D as FragnoClientFetchNetworkError, E as FragnoClientFetchError, O as FragnoClientUnknownApiError, S as isStore, T as FragnoClientFetchAbortError, _ as buildUrl, a as ExtractGetRoutes, b as isGetHook, c as ExtractRouteByPath, d as FragnoClientMutatorData, f as FragnoStoreData, g as ValidateGetRoutePath, h as ObjectContainingStoreField, i as ExtractGetRoutePaths, k as FragnoErrorOptions, l as ExtractRoutePath, m as IsValidGetRoutePath, n as ClientBuilder, o as ExtractNonGetRoutePaths, p as HasGetRoutes, r as CreateHookOptions, s as ExtractOutputSchemaForPath, t as CacheLine, u as FragnoClientHookData, v as createClientBuilder, w as FragnoClientError, x as isMutatorHook, y as getCacheKey } from "../client-DdpPMlXL.js";
1
+ import "../api-Dcr4_-3g.js";
2
+ import { A as isGetHook, C as HasGetRoutes, D as buildUrl, E as ValidateGetRoutePath, F as FragnoClientFetchAbortError, I as FragnoClientFetchError, L as FragnoClientFetchNetworkError, M as isStore, N as FragnoClientApiError, O as createClientBuilder, P as FragnoClientError, R as FragnoClientUnknownApiError, S as FragnoStoreData, T as ObjectContainingStoreField, _ as ExtractOutputSchemaForPath, b as FragnoClientHookData, d as CacheLine, f as ClientBuilder, g as ExtractNonGetRoutePaths, h as ExtractGetRoutes, j as isMutatorHook, k as getCacheKey, m as ExtractGetRoutePaths, p as CreateHookOptions, v as ExtractRouteByPath, w as IsValidGetRoutePath, x as FragnoClientMutatorData, y as ExtractRoutePath, z as FragnoErrorOptions } from "../fragment-builder-Dcdsms1l.js";
3
3
  export { CacheLine, ClientBuilder, CreateHookOptions, ExtractGetRoutePaths, ExtractGetRoutes, ExtractNonGetRoutePaths, ExtractOutputSchemaForPath, ExtractRouteByPath, ExtractRoutePath, FragnoClientApiError, FragnoClientError, FragnoClientFetchAbortError, FragnoClientFetchError, FragnoClientFetchNetworkError, FragnoClientHookData, FragnoClientMutatorData, FragnoClientUnknownApiError, FragnoErrorOptions, FragnoStoreData, HasGetRoutes, IsValidGetRoutePath, ObjectContainingStoreField, ValidateGetRoutePath, buildUrl, createClientBuilder, getCacheKey, isGetHook, isMutatorHook, isStore };
@@ -1,6 +1,6 @@
1
- import "../api-DuzjjCT4.js";
2
- import "../route-Dq62lXqB.js";
3
- import { a as isGetHook, d as FragnoClientFetchAbortError, f as FragnoClientFetchError, i as getCacheKey, l as FragnoClientApiError, m as FragnoClientUnknownApiError, n as buildUrl, o as isMutatorHook, p as FragnoClientFetchNetworkError, r as createClientBuilder, s as isStore, t as ClientBuilder, u as FragnoClientError } from "../client-C_Oc8hpD.js";
4
- import "../ssr-BAhbA_3q.js";
1
+ import "../api-DngJDcmO.js";
2
+ import "../route-B4RbOWjd.js";
3
+ import { a as isGetHook, d as FragnoClientFetchAbortError, f as FragnoClientFetchError, i as getCacheKey, l as FragnoClientApiError, m as FragnoClientUnknownApiError, n as buildUrl, o as isMutatorHook, p as FragnoClientFetchNetworkError, r as createClientBuilder, s as isStore, t as ClientBuilder, u as FragnoClientError } from "../client-CZCasGGB.js";
4
+ import "../ssr-CamRrMc0.js";
5
5
 
6
6
  export { ClientBuilder, FragnoClientApiError, FragnoClientError, FragnoClientFetchAbortError, FragnoClientFetchError, FragnoClientFetchNetworkError, FragnoClientUnknownApiError, buildUrl, createClientBuilder, getCacheKey, isGetHook, isMutatorHook, isStore };
@@ -1,5 +1,5 @@
1
- import { h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, r as NonGetHTTPMethod } from "../api-CAPyac52.js";
2
- import { d as FragnoClientMutatorData, f as FragnoStoreData, u as FragnoClientHookData, w as FragnoClientError } from "../client-DdpPMlXL.js";
1
+ import { h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, r as NonGetHTTPMethod } from "../api-Dcr4_-3g.js";
2
+ import { P as FragnoClientError, S as FragnoStoreData, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-Dcdsms1l.js";
3
3
  import { ReadableAtom } from "nanostores";
4
4
  import { Readable } from "svelte/store";
5
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
@@ -1,7 +1,7 @@
1
- import "../api-DuzjjCT4.js";
2
- import "../route-Dq62lXqB.js";
3
- import { a as isGetHook, o as isMutatorHook, s as isStore } from "../client-C_Oc8hpD.js";
4
- import "../ssr-BAhbA_3q.js";
1
+ import "../api-DngJDcmO.js";
2
+ import "../route-B4RbOWjd.js";
3
+ import { a as isGetHook, o as isMutatorHook, s as isStore } from "../client-CZCasGGB.js";
4
+ import "../ssr-CamRrMc0.js";
5
5
  import { atom } from "nanostores";
6
6
  import { get, writable } from "svelte/store";
7
7
  import { onDestroy } from "svelte";
@@ -1,5 +1,5 @@
1
- import { f as ExtractPathParamsOrWiden, h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, p as HasPathParams, r as NonGetHTTPMethod } from "../api-CAPyac52.js";
2
- import { d as FragnoClientMutatorData, f as FragnoStoreData, u as FragnoClientHookData, w as FragnoClientError } from "../client-DdpPMlXL.js";
1
+ import { f as ExtractPathParamsOrWiden, h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, p as HasPathParams, r as NonGetHTTPMethod } from "../api-Dcr4_-3g.js";
2
+ import { P as FragnoClientError, S as FragnoStoreData, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-Dcdsms1l.js";
3
3
  import { ReadableAtom, Store, StoreValue } from "nanostores";
4
4
  import { FetcherValue } from "@nanostores/query";
5
5
  import * as react0 from "react";
@@ -1,7 +1,7 @@
1
- import "../api-DuzjjCT4.js";
2
- import "../route-Dq62lXqB.js";
3
- import { a as isGetHook, c as isReadableAtom, o as isMutatorHook, s as isStore } from "../client-C_Oc8hpD.js";
4
- import { o as hydrateFromWindow } from "../ssr-BAhbA_3q.js";
1
+ import "../api-DngJDcmO.js";
2
+ import "../route-B4RbOWjd.js";
3
+ import { a as isGetHook, c as isReadableAtom, o as isMutatorHook, s as isStore } from "../client-CZCasGGB.js";
4
+ import { o as hydrateFromWindow } from "../ssr-CamRrMc0.js";
5
5
  import { listenKeys } from "nanostores";
6
6
  import { useCallback, useMemo, useRef, useSyncExternalStore } from "react";
7
7
 
@@ -1,5 +1,5 @@
1
- import { h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, r as NonGetHTTPMethod } from "../api-CAPyac52.js";
2
- import { d as FragnoClientMutatorData, f as FragnoStoreData, u as FragnoClientHookData, w as FragnoClientError } from "../client-DdpPMlXL.js";
1
+ import { h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, r as NonGetHTTPMethod } from "../api-Dcr4_-3g.js";
2
+ import { P as FragnoClientError, S as FragnoStoreData, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-Dcdsms1l.js";
3
3
  import { ReadableAtom, Store, StoreValue } from "nanostores";
4
4
  import { Accessor } from "solid-js";
5
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
@@ -1,7 +1,7 @@
1
- import "../api-DuzjjCT4.js";
2
- import "../route-Dq62lXqB.js";
3
- import { a as isGetHook, c as isReadableAtom, o as isMutatorHook, s as isStore } from "../client-C_Oc8hpD.js";
4
- import "../ssr-BAhbA_3q.js";
1
+ import "../api-DngJDcmO.js";
2
+ import "../route-B4RbOWjd.js";
3
+ import { a as isGetHook, c as isReadableAtom, o as isMutatorHook, s as isStore } from "../client-CZCasGGB.js";
4
+ import "../ssr-CamRrMc0.js";
5
5
  import { atom } from "nanostores";
6
6
  import { useStore } from "@nanostores/solid";
7
7
  import { createEffect } from "solid-js";
@@ -1,5 +1,5 @@
1
- import { f as ExtractPathParamsOrWiden, l as InferOr, m as MaybeExtractPathParamsOrWiden, p as HasPathParams, r as NonGetHTTPMethod } from "../api-CAPyac52.js";
2
- import { d as FragnoClientMutatorData, u as FragnoClientHookData, w as FragnoClientError } from "../client-DdpPMlXL.js";
1
+ import { f as ExtractPathParamsOrWiden, l as InferOr, m as MaybeExtractPathParamsOrWiden, p as HasPathParams, r as NonGetHTTPMethod } from "../api-Dcr4_-3g.js";
2
+ import { P as FragnoClientError, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-Dcdsms1l.js";
3
3
  import { ReadableAtom } from "nanostores";
4
4
  import { StandardSchemaV1 } from "@standard-schema/spec";
5
5
 
@@ -1,7 +1,7 @@
1
- import "../api-DuzjjCT4.js";
2
- import "../route-Dq62lXqB.js";
3
- import { a as isGetHook, o as isMutatorHook } from "../client-C_Oc8hpD.js";
4
- import "../ssr-BAhbA_3q.js";
1
+ import "../api-DngJDcmO.js";
2
+ import "../route-B4RbOWjd.js";
3
+ import { a as isGetHook, o as isMutatorHook } from "../client-CZCasGGB.js";
4
+ import "../ssr-CamRrMc0.js";
5
5
 
6
6
  //#region src/util/async.ts
7
7
  /**
@@ -1,5 +1,5 @@
1
- import { h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, r as NonGetHTTPMethod } from "../api-CAPyac52.js";
2
- import { d as FragnoClientMutatorData, u as FragnoClientHookData, w as FragnoClientError } from "../client-DdpPMlXL.js";
1
+ import { h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, r as NonGetHTTPMethod } from "../api-Dcr4_-3g.js";
2
+ import { P as FragnoClientError, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-Dcdsms1l.js";
3
3
  import { ReadableAtom, Store, StoreValue } from "nanostores";
4
4
  import { DeepReadonly, Ref, ShallowRef, UnwrapNestedRefs } from "vue";
5
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
@@ -1,7 +1,7 @@
1
- import "../api-DuzjjCT4.js";
2
- import "../route-Dq62lXqB.js";
3
- import { a as isGetHook, o as isMutatorHook } from "../client-C_Oc8hpD.js";
4
- import "../ssr-BAhbA_3q.js";
1
+ import "../api-DngJDcmO.js";
2
+ import "../route-B4RbOWjd.js";
3
+ import { a as isGetHook, o as isMutatorHook } from "../client-CZCasGGB.js";
4
+ import "../ssr-CamRrMc0.js";
5
5
  import { atom } from "nanostores";
6
6
  import { computed, getCurrentScope, isRef, onScopeDispose, ref, shallowRef, watch } from "vue";
7
7
 
@@ -1,5 +1,5 @@
1
- import { a as RequestOutputContext, o as RequestInputContext, r as resolveRouteFactories, s as getMountRoute } from "./route-Dq62lXqB.js";
2
- import { a as getInitialData, n as addStore, t as SSR_ENABLED } from "./ssr-BAhbA_3q.js";
1
+ import { a as RequestOutputContext, o as RequestInputContext, r as resolveRouteFactories, s as getMountRoute } from "./route-B4RbOWjd.js";
2
+ import { a as getInitialData, n as addStore, t as SSR_ENABLED } from "./ssr-CamRrMc0.js";
3
3
  import { task } from "nanostores";
4
4
  import { nanoquery } from "@nanostores/query";
5
5
 
@@ -697,4 +697,4 @@ function createClientBuilder(fragmentDefinition, publicConfig, routesOrFactories
697
697
 
698
698
  //#endregion
699
699
  export { isGetHook as a, isReadableAtom as c, FragnoClientFetchAbortError as d, FragnoClientFetchError as f, getCacheKey as i, FragnoClientApiError as l, FragnoClientUnknownApiError as m, buildUrl as n, isMutatorHook as o, FragnoClientFetchNetworkError as p, createClientBuilder as r, isStore as s, ClientBuilder as t, FragnoClientError as u };
700
- //# sourceMappingURL=client-C_Oc8hpD.js.map
700
+ //# sourceMappingURL=client-CZCasGGB.js.map