@fragno-dev/core 0.1.11 → 0.2.2
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.
- package/.turbo/turbo-build.log +87 -69
- package/CHANGELOG.md +79 -0
- package/dist/api/api.d.ts +21 -2
- package/dist/api/api.d.ts.map +1 -1
- package/dist/api/api.js +2 -1
- package/dist/api/api.js.map +1 -1
- package/dist/api/bind-services.d.ts +0 -1
- package/dist/api/bind-services.d.ts.map +1 -1
- package/dist/api/bind-services.js.map +1 -1
- package/dist/api/error.d.ts.map +1 -1
- package/dist/api/error.js.map +1 -1
- package/dist/api/fragment-definition-builder.d.ts +32 -40
- package/dist/api/fragment-definition-builder.d.ts.map +1 -1
- package/dist/api/fragment-definition-builder.js +15 -21
- package/dist/api/fragment-definition-builder.js.map +1 -1
- package/dist/api/fragment-instantiator.d.ts +51 -30
- package/dist/api/fragment-instantiator.d.ts.map +1 -1
- package/dist/api/fragment-instantiator.js +201 -52
- package/dist/api/fragment-instantiator.js.map +1 -1
- package/dist/api/request-context-storage.d.ts +4 -0
- package/dist/api/request-context-storage.d.ts.map +1 -1
- package/dist/api/request-context-storage.js +6 -0
- package/dist/api/request-context-storage.js.map +1 -1
- package/dist/api/request-input-context.d.ts +57 -1
- package/dist/api/request-input-context.d.ts.map +1 -1
- package/dist/api/request-input-context.js +67 -0
- package/dist/api/request-input-context.js.map +1 -1
- package/dist/api/request-middleware.d.ts +2 -2
- package/dist/api/request-middleware.d.ts.map +1 -1
- package/dist/api/request-middleware.js.map +1 -1
- package/dist/api/request-output-context.d.ts +1 -1
- package/dist/api/request-output-context.d.ts.map +1 -1
- package/dist/api/request-output-context.js.map +1 -1
- package/dist/api/route-caller.d.ts +30 -0
- package/dist/api/route-caller.d.ts.map +1 -0
- package/dist/api/route-caller.js +63 -0
- package/dist/api/route-caller.js.map +1 -0
- package/dist/api/route-handler-input-options.d.ts.map +1 -1
- package/dist/api/route.d.ts +8 -8
- package/dist/api/route.d.ts.map +1 -1
- package/dist/api/route.js.map +1 -1
- package/dist/api/shared-types.d.ts.map +1 -1
- package/dist/client/client-error.d.ts.map +1 -1
- package/dist/client/client-error.js.map +1 -1
- package/dist/client/client.d.ts +90 -50
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +128 -16
- package/dist/client/client.js.map +1 -1
- package/dist/client/client.svelte.d.ts +6 -5
- package/dist/client/client.svelte.d.ts.map +1 -1
- package/dist/client/client.svelte.js +10 -2
- package/dist/client/client.svelte.js.map +1 -1
- package/dist/client/internal/ndjson-streaming.js.map +1 -1
- package/dist/client/react.d.ts +5 -4
- package/dist/client/react.d.ts.map +1 -1
- package/dist/client/react.js +104 -12
- package/dist/client/react.js.map +1 -1
- package/dist/client/solid.d.ts +7 -5
- package/dist/client/solid.d.ts.map +1 -1
- package/dist/client/solid.js +23 -9
- package/dist/client/solid.js.map +1 -1
- package/dist/client/vanilla.d.ts +16 -4
- package/dist/client/vanilla.d.ts.map +1 -1
- package/dist/client/vanilla.js +21 -1
- package/dist/client/vanilla.js.map +1 -1
- package/dist/client/vue.d.ts +10 -4
- package/dist/client/vue.d.ts.map +1 -1
- package/dist/client/vue.js +24 -1
- package/dist/client/vue.js.map +1 -1
- package/dist/id.d.ts +2 -0
- package/dist/id.js +3 -0
- package/dist/internal/cuid.d.ts +16 -0
- package/dist/internal/cuid.d.ts.map +1 -0
- package/dist/internal/cuid.js +82 -0
- package/dist/internal/cuid.js.map +1 -0
- package/dist/internal/trace-context.d.ts +23 -0
- package/dist/internal/trace-context.d.ts.map +1 -0
- package/dist/internal/trace-context.js +14 -0
- package/dist/internal/trace-context.js.map +1 -0
- package/dist/mod-client.d.ts +7 -20
- package/dist/mod-client.d.ts.map +1 -1
- package/dist/mod-client.js +25 -13
- package/dist/mod-client.js.map +1 -1
- package/dist/mod.d.ts +8 -6
- package/dist/mod.js +3 -1
- package/dist/runtime.d.ts +15 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +33 -0
- package/dist/runtime.js.map +1 -0
- package/dist/test/test.d.ts +6 -6
- package/dist/test/test.d.ts.map +1 -1
- package/dist/test/test.js.map +1 -1
- package/dist/util/ssr.js.map +1 -1
- package/package.json +42 -52
- package/src/api/api.test.ts +3 -1
- package/src/api/api.ts +28 -0
- package/src/api/bind-services.ts +0 -5
- package/src/api/error.ts +1 -0
- package/src/api/fragment-definition-builder.extend.test.ts +2 -1
- package/src/api/fragment-definition-builder.test.ts +2 -1
- package/src/api/fragment-definition-builder.ts +56 -112
- package/src/api/fragment-instantiator.test.ts +311 -166
- package/src/api/fragment-instantiator.ts +470 -131
- package/src/api/fragment-services.test.ts +1 -0
- package/src/api/internal/path-runtime.test.ts +8 -0
- package/src/api/internal/path-type.test.ts +3 -1
- package/src/api/internal/route.test.ts +1 -0
- package/src/api/request-context-storage.ts +7 -0
- package/src/api/request-input-context.test.ts +156 -2
- package/src/api/request-input-context.ts +87 -1
- package/src/api/request-middleware.test.ts +43 -2
- package/src/api/request-middleware.ts +4 -3
- package/src/api/request-output-context.test.ts +3 -1
- package/src/api/request-output-context.ts +2 -1
- package/src/api/route-caller.test.ts +195 -0
- package/src/api/route-caller.ts +167 -0
- package/src/api/route-handler-input-options.ts +2 -1
- package/src/api/route.test.ts +4 -2
- package/src/api/route.ts +9 -3
- package/src/api/shared-types.ts +2 -1
- package/src/client/client-builder.test.ts +4 -2
- package/src/client/client-error.test.ts +2 -1
- package/src/client/client-error.ts +1 -1
- package/src/client/client-types.test.ts +19 -5
- package/src/client/client.ssr.test.ts +6 -4
- package/src/client/client.svelte.test.ts +18 -9
- package/src/client/client.svelte.ts +38 -13
- package/src/client/client.test.ts +244 -10
- package/src/client/client.ts +473 -148
- package/src/client/internal/ndjson-streaming.test.ts +6 -3
- package/src/client/internal/ndjson-streaming.ts +1 -0
- package/src/client/react.test.ts +176 -6
- package/src/client/react.ts +226 -31
- package/src/client/solid.test.ts +29 -5
- package/src/client/solid.ts +60 -22
- package/src/client/vanilla.test.ts +148 -6
- package/src/client/vanilla.ts +63 -9
- package/src/client/vue.test.ts +397 -8
- package/src/client/vue.ts +74 -4
- package/src/id.ts +1 -0
- package/src/internal/cuid.test.ts +164 -0
- package/src/internal/cuid.ts +133 -0
- package/src/internal/trace-context.ts +35 -0
- package/src/mod-client.ts +55 -9
- package/src/mod.ts +9 -3
- package/src/runtime.ts +48 -0
- package/src/test/test.test.ts +4 -2
- package/src/test/test.ts +14 -7
- package/src/util/async.test.ts +1 -0
- package/src/util/content-type.test.ts +1 -0
- package/src/util/nanostores.test.ts +3 -1
- package/src/util/ssr.ts +1 -0
- package/tsconfig.json +1 -1
- package/tsdown.config.ts +2 -0
- package/vitest.config.ts +2 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,138 +1,156 @@
|
|
|
1
1
|
|
|
2
|
-
> @fragno-dev/core@0.
|
|
2
|
+
> @fragno-dev/core@0.2.2 build /home/runner/work/fragno/fragno/packages/fragno
|
|
3
3
|
> tsdown
|
|
4
4
|
|
|
5
5
|
[34mℹ[39m tsdown [2mv0.15.12[22m powered by rolldown [2mv1.0.0-beta.45[22m
|
|
6
6
|
[34mℹ[39m Using tsdown config: [4m/home/runner/work/fragno/fragno/packages/fragno/tsdown.config.ts[24m
|
|
7
|
-
[34mℹ[39m entry: [34msrc/mod-client.ts, src/mod.ts, src/api/api.ts, src/api/fragment-definition-builder.ts, src/api/fragment-instantiator.ts, src/api/request-context-storage.ts, src/api/route.ts, src/api/shared-types.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, src/internal/symbols.ts, src/
|
|
7
|
+
[34mℹ[39m entry: [34msrc/id.ts, src/mod-client.ts, src/mod.ts, src/api/api.ts, src/api/fragment-definition-builder.ts, src/api/fragment-instantiator.ts, src/api/request-context-storage.ts, src/api/route.ts, src/api/shared-types.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, src/internal/symbols.ts, src/internal/trace-context.ts, src/request/request.ts, src/test/test.ts[39m
|
|
8
8
|
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
9
9
|
[34mℹ[39m Build start
|
|
10
|
-
[34mℹ[39m [2mdist/[22m[1mapi/fragment-instantiator.js[22m [
|
|
11
|
-
[34mℹ[39m [2mdist/[22m[1mclient/client.js[22m [
|
|
12
|
-
[34mℹ[39m [2mdist/[22m[1mapi/fragment-definition-builder.js[22m [
|
|
10
|
+
[34mℹ[39m [2mdist/[22m[1mapi/fragment-instantiator.js[22m [2m22.89 kB[22m [2m│ gzip: 5.80 kB[22m
|
|
11
|
+
[34mℹ[39m [2mdist/[22m[1mclient/client.js[22m [2m18.32 kB[22m [2m│ gzip: 4.63 kB[22m
|
|
12
|
+
[34mℹ[39m [2mdist/[22m[1mapi/fragment-definition-builder.js[22m [2m10.83 kB[22m [2m│ gzip: 2.17 kB[22m
|
|
13
|
+
[34mℹ[39m [2mdist/[22m[1mclient/react.js[22m [2m 6.63 kB[22m [2m│ gzip: 1.96 kB[22m
|
|
13
14
|
[34mℹ[39m [2mdist/[22m[1mtest/test.js[22m [2m 3.67 kB[22m [2m│ gzip: 1.31 kB[22m
|
|
14
|
-
[34mℹ[39m [2mdist/[22m[1mclient/
|
|
15
|
-
[34mℹ[39m [2mdist/[22m[1mclient/
|
|
16
|
-
[34mℹ[39m [2mdist/[22m[1mclient/
|
|
17
|
-
[34mℹ[39m [2mdist/[22m[1mclient/
|
|
18
|
-
[34mℹ[39m [2mdist/[22m[
|
|
19
|
-
[34mℹ[39m [2mdist/[22m[
|
|
20
|
-
[34mℹ[39m [2mdist/[22m[1mapi/request-context-storage.js[22m [2m 1.49 kB[22m [2m│ gzip: 0.75 kB[22m
|
|
15
|
+
[34mℹ[39m [2mdist/[22m[1mclient/vue.js[22m [2m 3.58 kB[22m [2m│ gzip: 1.14 kB[22m
|
|
16
|
+
[34mℹ[39m [2mdist/[22m[1mclient/client.svelte.js[22m [2m 3.43 kB[22m [2m│ gzip: 0.99 kB[22m
|
|
17
|
+
[34mℹ[39m [2mdist/[22m[1mclient/solid.js[22m [2m 3.37 kB[22m [2m│ gzip: 1.03 kB[22m
|
|
18
|
+
[34mℹ[39m [2mdist/[22m[1mclient/vanilla.js[22m [2m 2.74 kB[22m [2m│ gzip: 0.85 kB[22m
|
|
19
|
+
[34mℹ[39m [2mdist/[22m[1mmod-client.js[22m [2m 2.36 kB[22m [2m│ gzip: 0.79 kB[22m
|
|
20
|
+
[34mℹ[39m [2mdist/[22m[1mapi/request-context-storage.js[22m [2m 1.61 kB[22m [2m│ gzip: 0.79 kB[22m
|
|
21
21
|
[34mℹ[39m [2mdist/[22m[1mintegrations/react-ssr.js[22m [2m 1.26 kB[22m [2m│ gzip: 0.64 kB[22m
|
|
22
22
|
[34mℹ[39m [2mdist/[22m[1mapi/route.js[22m [2m 0.67 kB[22m [2m│ gzip: 0.34 kB[22m
|
|
23
|
+
[34mℹ[39m [2mdist/[22m[1minternal/trace-context.js[22m [2m 0.53 kB[22m [2m│ gzip: 0.26 kB[22m
|
|
24
|
+
[34mℹ[39m [2mdist/[22m[1mmod.js[22m [2m 0.46 kB[22m [2m│ gzip: 0.20 kB[22m
|
|
23
25
|
[34mℹ[39m [2mdist/[22m[1mrequest/request.js[22m [2m 0.37 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
24
|
-
[34mℹ[39m [2mdist/[22m[
|
|
26
|
+
[34mℹ[39m [2mdist/[22m[1mapi/api.js[22m [2m 0.32 kB[22m [2m│ gzip: 0.20 kB[22m
|
|
25
27
|
[34mℹ[39m [2mdist/[22m[1minternal/symbols.js[22m [2m 0.31 kB[22m [2m│ gzip: 0.22 kB[22m
|
|
26
|
-
[34mℹ[39m [2mdist/[22m[
|
|
28
|
+
[34mℹ[39m [2mdist/[22m[1mid.js[22m [2m 0.08 kB[22m [2m│ gzip: 0.08 kB[22m
|
|
27
29
|
[34mℹ[39m [2mdist/[22m[1mapi/shared-types.js[22m [2m 0.01 kB[22m [2m│ gzip: 0.03 kB[22m
|
|
28
|
-
[34mℹ[39m [2mdist/[22mapi/fragment-instantiator.js.map [
|
|
29
|
-
[34mℹ[39m [2mdist/[22mclient/client.js.map [
|
|
30
|
-
[34mℹ[39m [2mdist/[22mapi/fragment-definition-builder.js.map [
|
|
31
|
-
[34mℹ[39m [2mdist/[
|
|
30
|
+
[34mℹ[39m [2mdist/[22mapi/fragment-instantiator.js.map [2m64.50 kB[22m [2m│ gzip: 14.88 kB[22m
|
|
31
|
+
[34mℹ[39m [2mdist/[22mclient/client.js.map [2m55.46 kB[22m [2m│ gzip: 12.39 kB[22m
|
|
32
|
+
[34mℹ[39m [2mdist/[22mapi/fragment-definition-builder.js.map [2m34.01 kB[22m [2m│ gzip: 5.28 kB[22m
|
|
33
|
+
[34mℹ[39m [2mdist/[22mclient/react.js.map [2m18.10 kB[22m [2m│ gzip: 5.31 kB[22m
|
|
34
|
+
[34mℹ[39m [2mdist/[22mapi/route.js.map [2m14.07 kB[22m [2m│ gzip: 2.38 kB[22m
|
|
35
|
+
[34mℹ[39m [2mdist/[22mclient/vue.js.map [2m12.89 kB[22m [2m│ gzip: 3.42 kB[22m
|
|
36
|
+
[34mℹ[39m [2mdist/[22mclient/client.d.ts.map [2m12.66 kB[22m [2m│ gzip: 4.74 kB[22m
|
|
37
|
+
[34mℹ[39m [2mdist/[22mclient/solid.js.map [2m12.52 kB[22m [2m│ gzip: 3.13 kB[22m
|
|
38
|
+
[34mℹ[39m [2mdist/[22mclient/client.svelte.js.map [2m12.34 kB[22m [2m│ gzip: 3.01 kB[22m
|
|
39
|
+
[34mℹ[39m [2mdist/[22mapi/fragment-instantiator.d.ts.map [2m11.86 kB[22m [2m│ gzip: 4.53 kB[22m
|
|
32
40
|
[34mℹ[39m [2mdist/[22mapi/internal/path.js.map [2m11.83 kB[22m [2m│ gzip: 3.06 kB[22m
|
|
33
|
-
[34mℹ[39m [2mdist/[22mclient/
|
|
34
|
-
[34mℹ[39m [2mdist/[
|
|
41
|
+
[34mℹ[39m [2mdist/[22mclient/vanilla.js.map [2m11.52 kB[22m [2m│ gzip: 2.95 kB[22m
|
|
42
|
+
[34mℹ[39m [2mdist/[22mapi/request-input-context.js.map [2m11.06 kB[22m [2m│ gzip: 3.01 kB[22m
|
|
35
43
|
[34mℹ[39m [2mdist/[22mclient/internal/ndjson-streaming.js.map [2m10.96 kB[22m [2m│ gzip: 3.00 kB[22m
|
|
36
|
-
[34mℹ[39m [2mdist/[
|
|
37
|
-
[34mℹ[39m [2mdist/[
|
|
38
|
-
[34mℹ[39m [2mdist/[
|
|
39
|
-
[34mℹ[39m [2mdist/[
|
|
40
|
-
[34mℹ[39m [2mdist/[
|
|
41
|
-
[34mℹ[39m [2mdist/[
|
|
42
|
-
[34mℹ[39m [2mdist/[
|
|
43
|
-
[34mℹ[39m [2mdist/[22mapi/request-
|
|
44
|
-
[34mℹ[39m [2mdist/[
|
|
45
|
-
[34mℹ[39m [2mdist/[
|
|
46
|
-
[34mℹ[39m [2mdist/[22mapi/
|
|
47
|
-
[34mℹ[39m [2mdist/[22mapi/request-middleware.js.map [2m 5.67 kB[22m [2m│ gzip: 1.97 kB[22m
|
|
44
|
+
[34mℹ[39m [2mdist/[22mtest/test.js.map [2m 8.73 kB[22m [2m│ gzip: 2.48 kB[22m
|
|
45
|
+
[34mℹ[39m [2mdist/[22mapi/fragment-definition-builder.d.ts.map [2m 8.13 kB[22m [2m│ gzip: 3.19 kB[22m
|
|
46
|
+
[34mℹ[39m [2mdist/[22mapi/route-caller.js.map [2m 7.74 kB[22m [2m│ gzip: 2.34 kB[22m
|
|
47
|
+
[34mℹ[39m [2mdist/[22mapi/request-output-context.js.map [2m 7.54 kB[22m [2m│ gzip: 2.29 kB[22m
|
|
48
|
+
[34mℹ[39m [2mdist/[22mmod-client.js.map [2m 6.65 kB[22m [2m│ gzip: 1.83 kB[22m
|
|
49
|
+
[34mℹ[39m [2mdist/[22mclient/client-error.js.map [2m 5.89 kB[22m [2m│ gzip: 1.71 kB[22m
|
|
50
|
+
[34mℹ[39m [2mdist/[22mapi/route.d.ts.map [2m 5.79 kB[22m [2m│ gzip: 2.19 kB[22m
|
|
51
|
+
[34mℹ[39m [2mdist/[22mapi/request-middleware.js.map [2m 5.69 kB[22m [2m│ gzip: 1.97 kB[22m
|
|
52
|
+
[34mℹ[39m [2mdist/[22minternal/cuid.js.map [2m 5.58 kB[22m [2m│ gzip: 2.03 kB[22m
|
|
53
|
+
[34mℹ[39m [2mdist/[22mapi/request-input-context.js [2m 5.34 kB[22m [2m│ gzip: 1.58 kB[22m
|
|
54
|
+
[34mℹ[39m [2mdist/[22mapi/api.js.map [2m 5.32 kB[22m [2m│ gzip: 1.42 kB[22m
|
|
48
55
|
[34mℹ[39m [2mdist/[22mclient/internal/ndjson-streaming.js [2m 4.96 kB[22m [2m│ gzip: 1.46 kB[22m
|
|
49
|
-
[34mℹ[39m [2mdist/[22mmod-client.js.map [2m 4.81 kB[22m [2m│ gzip: 1.45 kB[22m
|
|
50
|
-
[34mℹ[39m [2mdist/[22mapi/api.js.map [2m 4.37 kB[22m [2m│ gzip: 1.09 kB[22m
|
|
51
56
|
[34mℹ[39m [2mdist/[22mapi/internal/response-stream.js.map [2m 4.28 kB[22m [2m│ gzip: 1.80 kB[22m
|
|
52
57
|
[34mℹ[39m [2mdist/[22mapi/fragno-response.js.map [2m 4.18 kB[22m [2m│ gzip: 1.47 kB[22m
|
|
53
58
|
[34mℹ[39m [2mdist/[22mutil/async.js.map [2m 3.84 kB[22m [2m│ gzip: 1.53 kB[22m
|
|
54
59
|
[34mℹ[39m [2mdist/[22mapi/mutable-request-state.js.map [2m 3.76 kB[22m [2m│ gzip: 1.34 kB[22m
|
|
60
|
+
[34mℹ[39m [2mdist/[22mclient/vanilla.d.ts.map [2m 3.66 kB[22m [2m│ gzip: 1.36 kB[22m
|
|
55
61
|
[34mℹ[39m [2mdist/[22mapi/request-output-context.js [2m 3.38 kB[22m [2m│ gzip: 1.02 kB[22m
|
|
56
|
-
[34mℹ[39m [2mdist/[22mapi/request-input-context.js [2m 3.34 kB[22m [2m│ gzip: 1.10 kB[22m
|
|
57
62
|
[34mℹ[39m [2mdist/[22mutil/content-type.js.map [2m 3.24 kB[22m [2m│ gzip: 1.23 kB[22m
|
|
58
63
|
[34mℹ[39m [2mdist/[22mclient/client-error.js [2m 3.17 kB[22m [2m│ gzip: 0.91 kB[22m
|
|
59
|
-
[34mℹ[39m [2mdist/[
|
|
60
|
-
[34mℹ[39m [2mdist/[
|
|
61
|
-
[34mℹ[39m [2mdist/[
|
|
62
|
-
[34mℹ[39m [2mdist/[22mclient/react.d.ts.map [2m 2.
|
|
63
|
-
[34mℹ[39m [2mdist/[
|
|
64
|
+
[34mℹ[39m [2mdist/[22mapi/request-context-storage.js.map [2m 3.14 kB[22m [2m│ gzip: 1.28 kB[22m
|
|
65
|
+
[34mℹ[39m [2mdist/[22mclient/solid.d.ts.map [2m 3.05 kB[22m [2m│ gzip: 1.33 kB[22m
|
|
66
|
+
[34mℹ[39m [2mdist/[22mutil/ssr.js.map [2m 2.96 kB[22m [2m│ gzip: 1.24 kB[22m
|
|
67
|
+
[34mℹ[39m [2mdist/[22mclient/react.d.ts.map [2m 2.91 kB[22m [2m│ gzip: 1.26 kB[22m
|
|
68
|
+
[34mℹ[39m [2mdist/[22mapi/route-caller.js [2m 2.90 kB[22m [2m│ gzip: 0.96 kB[22m
|
|
69
|
+
[34mℹ[39m [2mdist/[22minternal/cuid.js [2m 2.90 kB[22m [2m│ gzip: 1.14 kB[22m
|
|
70
|
+
[34mℹ[39m [2mdist/[22mclient/vue.d.ts.map [2m 2.85 kB[22m [2m│ gzip: 1.23 kB[22m
|
|
71
|
+
[34mℹ[39m [2mdist/[22mclient/client.svelte.d.ts.map [2m 2.69 kB[22m [2m│ gzip: 1.12 kB[22m
|
|
64
72
|
[34mℹ[39m [2mdist/[22mclient/internal/fetcher-merge.js.map [2m 2.44 kB[22m [2m│ gzip: 0.96 kB[22m
|
|
65
73
|
[34mℹ[39m [2mdist/[22mutil/nanostores.js.map [2m 2.43 kB[22m [2m│ gzip: 0.87 kB[22m
|
|
66
74
|
[34mℹ[39m [2mdist/[22mapi/mutable-request-state.js [2m 2.40 kB[22m [2m│ gzip: 0.91 kB[22m
|
|
67
|
-
[34mℹ[39m [2mdist/[22mclient/client.svelte.d.ts.map [2m 2.32 kB[22m [2m│ gzip: 0.97 kB[22m
|
|
68
75
|
[34mℹ[39m [2mdist/[22mapi/internal/path.js [2m 2.23 kB[22m [2m│ gzip: 0.79 kB[22m
|
|
69
76
|
[34mℹ[39m [2mdist/[22mapi/request-middleware.js [2m 2.17 kB[22m [2m│ gzip: 0.79 kB[22m
|
|
70
|
-
[34mℹ[39m [2mdist/[
|
|
71
|
-
[34mℹ[39m [2mdist/[22mapi/api.d.ts.map [2m
|
|
77
|
+
[34mℹ[39m [2mdist/[22mruntime.js.map [2m 2.02 kB[22m [2m│ gzip: 0.85 kB[22m
|
|
78
|
+
[34mℹ[39m [2mdist/[22mapi/api.d.ts.map [2m 2.02 kB[22m [2m│ gzip: 0.90 kB[22m
|
|
72
79
|
[34mℹ[39m [2mdist/[22mapi/error.js.map [2m 1.96 kB[22m [2m│ gzip: 0.76 kB[22m
|
|
73
|
-
[34mℹ[39m [2mdist/[22mapi/bind-services.js.map [2m 1.
|
|
80
|
+
[34mℹ[39m [2mdist/[22mapi/bind-services.js.map [2m 1.78 kB[22m [2m│ gzip: 0.79 kB[22m
|
|
74
81
|
[34mℹ[39m [2mdist/[22mapi/internal/response-stream.js [2m 1.76 kB[22m [2m│ gzip: 0.73 kB[22m
|
|
82
|
+
[34mℹ[39m [2mdist/[22mapi/request-input-context.d.ts.map [2m 1.67 kB[22m [2m│ gzip: 0.72 kB[22m
|
|
75
83
|
[34mℹ[39m [2mdist/[22mintegrations/react-ssr.js.map [2m 1.65 kB[22m [2m│ gzip: 0.84 kB[22m
|
|
76
84
|
[34mℹ[39m [2mdist/[22mapi/fragno-response.js [2m 1.65 kB[22m [2m│ gzip: 0.69 kB[22m
|
|
77
85
|
[34mℹ[39m [2mdist/[22mutil/content-type.js [2m 1.61 kB[22m [2m│ gzip: 0.69 kB[22m
|
|
86
|
+
[34mℹ[39m [2mdist/[22mapi/route-caller.d.ts.map [2m 1.58 kB[22m [2m│ gzip: 0.76 kB[22m
|
|
78
87
|
[34mℹ[39m [2mdist/[22mapi/internal/path.d.ts.map [2m 1.58 kB[22m [2m│ gzip: 0.72 kB[22m
|
|
79
|
-
[34mℹ[39m [2mdist/[22mapi/request-
|
|
80
|
-
[34mℹ[39m [2mdist/[
|
|
88
|
+
[34mℹ[39m [2mdist/[22mapi/request-middleware.d.ts.map [2m 1.53 kB[22m [2m│ gzip: 0.71 kB[22m
|
|
89
|
+
[34mℹ[39m [2mdist/[22minternal/trace-context.js.map [2m 1.36 kB[22m [2m│ gzip: 0.61 kB[22m
|
|
81
90
|
[34mℹ[39m [2mdist/[22mutil/ssr.js [2m 1.34 kB[22m [2m│ gzip: 0.59 kB[22m
|
|
82
91
|
[34mℹ[39m [2mdist/[22mapi/request-output-context.d.ts.map [2m 1.29 kB[22m [2m│ gzip: 0.60 kB[22m
|
|
83
92
|
[34mℹ[39m [2mdist/[22mclient/client-error.d.ts.map [2m 1.26 kB[22m [2m│ gzip: 0.55 kB[22m
|
|
84
93
|
[34mℹ[39m [2mdist/[22mutil/nanostores.js [2m 1.25 kB[22m [2m│ gzip: 0.47 kB[22m
|
|
85
94
|
[34mℹ[39m [2mdist/[22mclient/internal/fetcher-merge.js [2m 1.23 kB[22m [2m│ gzip: 0.55 kB[22m
|
|
86
95
|
[34mℹ[39m [2mdist/[22mutil/async.js [2m 1.19 kB[22m [2m│ gzip: 0.57 kB[22m
|
|
87
|
-
[34mℹ[39m [2mdist/[22mtest/test.d.ts.map [2m 1.
|
|
96
|
+
[34mℹ[39m [2mdist/[22mtest/test.d.ts.map [2m 1.11 kB[22m [2m│ gzip: 0.56 kB[22m
|
|
88
97
|
[34mℹ[39m [2mdist/[22mapi/error.js [2m 0.96 kB[22m [2m│ gzip: 0.38 kB[22m
|
|
98
|
+
[34mℹ[39m [2mdist/[22mruntime.js [2m 0.94 kB[22m [2m│ gzip: 0.51 kB[22m
|
|
89
99
|
[34mℹ[39m [2mdist/[22mapi/bind-services.js [2m 0.79 kB[22m [2m│ gzip: 0.40 kB[22m
|
|
90
100
|
[34mℹ[39m [2mdist/[22mapi/error.d.ts.map [2m 0.58 kB[22m [2m│ gzip: 0.29 kB[22m
|
|
91
|
-
[34mℹ[39m [2mdist/[22mhttp/http-status.d.ts.map [2m 0.56 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
92
101
|
[34mℹ[39m [2mdist/[22mapi/request-context-storage.d.ts.map [2m 0.56 kB[22m [2m│ gzip: 0.31 kB[22m
|
|
102
|
+
[34mℹ[39m [2mdist/[22mhttp/http-status.d.ts.map [2m 0.56 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
93
103
|
[34mℹ[39m [2mdist/[22mapi/route-handler-input-options.d.ts.map [2m 0.54 kB[22m [2m│ gzip: 0.29 kB[22m
|
|
94
104
|
[34mℹ[39m [2mdist/[22mapi/internal/route.js.map [2m 0.50 kB[22m [2m│ gzip: 0.32 kB[22m
|
|
95
|
-
[34mℹ[39m [2mdist/[
|
|
105
|
+
[34mℹ[39m [2mdist/[22minternal/trace-context.d.ts.map [2m 0.48 kB[22m [2m│ gzip: 0.27 kB[22m
|
|
106
|
+
[34mℹ[39m [2mdist/[22mapi/bind-services.d.ts.map [2m 0.41 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
96
107
|
[34mℹ[39m [2mdist/[22mapi/internal/response-stream.d.ts.map [2m 0.37 kB[22m [2m│ gzip: 0.26 kB[22m
|
|
97
108
|
[34mℹ[39m [2mdist/[22mapi/fragno-response.d.ts.map [2m 0.37 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
98
109
|
[34mℹ[39m [2mdist/[22minternal/symbols.js.map [2m 0.35 kB[22m [2m│ gzip: 0.26 kB[22m
|
|
110
|
+
[34mℹ[39m [2mdist/[22minternal/cuid.d.ts.map [2m 0.32 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
99
111
|
[34mℹ[39m [2mdist/[22mapi/shared-types.d.ts.map [2m 0.31 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
100
112
|
[34mℹ[39m [2mdist/[22mapi/internal/route.js [2m 0.28 kB[22m [2m│ gzip: 0.20 kB[22m
|
|
101
113
|
[34mℹ[39m [2mdist/[22mapi/mutable-request-state.d.ts.map [2m 0.28 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
102
|
-
[34mℹ[39m [2mdist/[22mmod-client.d.ts.map [2m 0.24 kB[22m [2m│ gzip: 0.17 kB[22m
|
|
103
114
|
[34mℹ[39m [2mdist/[22mintegrations/react-ssr.d.ts.map [2m 0.23 kB[22m [2m│ gzip: 0.17 kB[22m
|
|
104
115
|
[34mℹ[39m [2mdist/[22mutil/types-util.d.ts.map [2m 0.21 kB[22m [2m│ gzip: 0.17 kB[22m
|
|
116
|
+
[34mℹ[39m [2mdist/[22mruntime.d.ts.map [2m 0.19 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
117
|
+
[34mℹ[39m [2mdist/[22mmod-client.d.ts.map [2m 0.16 kB[22m [2m│ gzip: 0.14 kB[22m
|
|
105
118
|
[34mℹ[39m [2mdist/[22minternal/symbols.d.ts.map [2m 0.14 kB[22m [2m│ gzip: 0.13 kB[22m
|
|
106
|
-
[34mℹ[39m [2mdist/[22m[32m[1mapi/fragment-
|
|
107
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
108
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
109
|
-
[34mℹ[39m [2mdist/[22m[32m[1mapi/route.d.ts[22m[39m [2m 7.
|
|
110
|
-
[34mℹ[39m [2mdist/[22m[32m[1mtest/test.d.ts[22m[39m [2m 5.
|
|
111
|
-
[34mℹ[39m [2mdist/[22m[32m[1mclient/vanilla.d.ts[22m[39m [2m
|
|
112
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
113
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
114
|
-
[34mℹ[39m [2mdist/[22m[32m[1mclient/solid.d.ts[22m[39m [2m 3.
|
|
115
|
-
[34mℹ[39m [2mdist/[22m[32m[1mclient/
|
|
116
|
-
[34mℹ[39m [2mdist/[22m[32m[1mclient/
|
|
117
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
118
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
119
|
+
[34mℹ[39m [2mdist/[22m[32m[1mapi/fragment-instantiator.d.ts[22m[39m [2m17.61 kB[22m [2m│ gzip: 3.87 kB[22m
|
|
120
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient/client.d.ts[22m[39m [2m17.01 kB[22m [2m│ gzip: 3.54 kB[22m
|
|
121
|
+
[34mℹ[39m [2mdist/[22m[32m[1mapi/fragment-definition-builder.d.ts[22m[39m [2m15.52 kB[22m [2m│ gzip: 3.08 kB[22m
|
|
122
|
+
[34mℹ[39m [2mdist/[22m[32m[1mapi/route.d.ts[22m[39m [2m 7.07 kB[22m [2m│ gzip: 1.08 kB[22m
|
|
123
|
+
[34mℹ[39m [2mdist/[22m[32m[1mtest/test.d.ts[22m[39m [2m 5.25 kB[22m [2m│ gzip: 1.56 kB[22m
|
|
124
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient/vanilla.d.ts[22m[39m [2m 4.42 kB[22m [2m│ gzip: 1.21 kB[22m
|
|
125
|
+
[34mℹ[39m [2mdist/[22m[32m[1mapi/api.d.ts[22m[39m [2m 4.10 kB[22m [2m│ gzip: 1.21 kB[22m
|
|
126
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient/react.d.ts[22m[39m [2m 3.75 kB[22m [2m│ gzip: 1.24 kB[22m
|
|
127
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient/solid.d.ts[22m[39m [2m 3.68 kB[22m [2m│ gzip: 1.04 kB[22m
|
|
128
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient/vue.d.ts[22m[39m [2m 3.54 kB[22m [2m│ gzip: 1.09 kB[22m
|
|
129
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient/client.svelte.d.ts[22m[39m [2m 3.27 kB[22m [2m│ gzip: 0.90 kB[22m
|
|
130
|
+
[34mℹ[39m [2mdist/[22m[32m[1mapi/request-context-storage.d.ts[22m[39m [2m 1.88 kB[22m [2m│ gzip: 0.83 kB[22m
|
|
131
|
+
[34mℹ[39m [2mdist/[22m[32m[1mmod-client.d.ts[22m[39m [2m 1.52 kB[22m [2m│ gzip: 0.49 kB[22m
|
|
132
|
+
[34mℹ[39m [2mdist/[22m[32m[1mmod.d.ts[22m[39m [2m 1.40 kB[22m [2m│ gzip: 0.40 kB[22m
|
|
119
133
|
[34mℹ[39m [2mdist/[22m[32m[1mapi/shared-types.d.ts[22m[39m [2m 1.21 kB[22m [2m│ gzip: 0.51 kB[22m
|
|
120
|
-
[34mℹ[39m [2mdist/[22m[32m[
|
|
134
|
+
[34mℹ[39m [2mdist/[22m[32m[1minternal/trace-context.d.ts[22m[39m [2m 0.84 kB[22m [2m│ gzip: 0.38 kB[22m
|
|
121
135
|
[34mℹ[39m [2mdist/[22m[32m[1mintegrations/react-ssr.d.ts[22m[39m [2m 0.78 kB[22m [2m│ gzip: 0.38 kB[22m
|
|
122
136
|
[34mℹ[39m [2mdist/[22m[32m[1mrequest/request.d.ts[22m[39m [2m 0.48 kB[22m [2m│ gzip: 0.17 kB[22m
|
|
123
137
|
[34mℹ[39m [2mdist/[22m[32m[1minternal/symbols.d.ts[22m[39m [2m 0.32 kB[22m [2m│ gzip: 0.22 kB[22m
|
|
124
|
-
[34mℹ[39m [2mdist/[22m[
|
|
138
|
+
[34mℹ[39m [2mdist/[22m[32m[1mid.d.ts[22m[39m [2m 0.08 kB[22m [2m│ gzip: 0.08 kB[22m
|
|
139
|
+
[34mℹ[39m [2mdist/[22m[32mapi/request-input-context.d.ts[39m [2m 4.59 kB[22m [2m│ gzip: 1.42 kB[22m
|
|
125
140
|
[34mℹ[39m [2mdist/[22m[32mapi/internal/path.d.ts[39m [2m 2.91 kB[22m [2m│ gzip: 0.97 kB[22m
|
|
126
|
-
[34mℹ[39m [2mdist/[22m[32mapi/request-middleware.d.ts[39m [2m 2.
|
|
141
|
+
[34mℹ[39m [2mdist/[22m[32mapi/request-middleware.d.ts[39m [2m 2.55 kB[22m [2m│ gzip: 0.90 kB[22m
|
|
127
142
|
[34mℹ[39m [2mdist/[22m[32mclient/client-error.d.ts[39m [2m 2.45 kB[22m [2m│ gzip: 0.81 kB[22m
|
|
128
143
|
[34mℹ[39m [2mdist/[22m[32mapi/mutable-request-state.d.ts[39m [2m 2.29 kB[22m [2m│ gzip: 0.90 kB[22m
|
|
144
|
+
[34mℹ[39m [2mdist/[22m[32mapi/route-caller.d.ts[39m [2m 2.02 kB[22m [2m│ gzip: 0.68 kB[22m
|
|
129
145
|
[34mℹ[39m [2mdist/[22m[32mapi/request-output-context.d.ts[39m [2m 1.64 kB[22m [2m│ gzip: 0.64 kB[22m
|
|
130
146
|
[34mℹ[39m [2mdist/[22m[32mapi/internal/response-stream.d.ts[39m [2m 1.33 kB[22m [2m│ gzip: 0.71 kB[22m
|
|
131
147
|
[34mℹ[39m [2mdist/[22m[32mhttp/http-status.d.ts[39m [2m 1.26 kB[22m [2m│ gzip: 0.60 kB[22m
|
|
132
148
|
[34mℹ[39m [2mdist/[22m[32mapi/route-handler-input-options.d.ts[39m [2m 0.72 kB[22m [2m│ gzip: 0.38 kB[22m
|
|
133
149
|
[34mℹ[39m [2mdist/[22m[32mapi/error.d.ts[39m [2m 0.72 kB[22m [2m│ gzip: 0.33 kB[22m
|
|
134
150
|
[34mℹ[39m [2mdist/[22m[32mapi/fragno-response.d.ts[39m [2m 0.60 kB[22m [2m│ gzip: 0.30 kB[22m
|
|
135
|
-
[34mℹ[39m [2mdist/[22m[32mapi/bind-services.d.ts[39m [2m 0.42 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
136
151
|
[34mℹ[39m [2mdist/[22m[32mutil/types-util.d.ts[39m [2m 0.35 kB[22m [2m│ gzip: 0.23 kB[22m
|
|
137
|
-
[34mℹ[39m
|
|
138
|
-
[
|
|
152
|
+
[34mℹ[39m [2mdist/[22m[32minternal/cuid.d.ts[39m [2m 0.33 kB[22m [2m│ gzip: 0.21 kB[22m
|
|
153
|
+
[34mℹ[39m [2mdist/[22m[32mruntime.d.ts[39m [2m 0.33 kB[22m [2m│ gzip: 0.20 kB[22m
|
|
154
|
+
[34mℹ[39m [2mdist/[22m[32mapi/bind-services.d.ts[39m [2m 0.30 kB[22m [2m│ gzip: 0.21 kB[22m
|
|
155
|
+
[34mℹ[39m 145 files, total: 677.68 kB
|
|
156
|
+
[32m✔[39m Build complete in [32m7969ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,84 @@
|
|
|
1
1
|
# @fragno-dev/core
|
|
2
2
|
|
|
3
|
+
## 0.2.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 0020e39: fix: align nanostores dependencies on version 1.2 across Fragno packages
|
|
8
|
+
|
|
9
|
+
## 0.2.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 3e2ff94: feat: register schemas via adapter registry and mount internal routes
|
|
14
|
+
- f34d7d7: fix: ensure cross-schema durable hook enqueuing works reliably
|
|
15
|
+
- 4d141f8: fix: remove development exports from published packages
|
|
16
|
+
- c8841b5: feat: add callServices helper with implicit request context
|
|
17
|
+
- 83f6223: feat: support createStore factory callbacks for per-consumer client stores
|
|
18
|
+
- 567c3b3: feat: add default org preference helpers and session seeding
|
|
19
|
+
- 8a2da9d: fix: infer route caller input and output types from fragment routes.
|
|
20
|
+
- 93fa469: fix: replace cuid2 with a shared Web Crypto id generator
|
|
21
|
+
- b3ad7eb: fix: lazily initialize createId randomness for Workers-safe startup
|
|
22
|
+
- 9eeba53: feat: add internal fragment describe metadata and adapter identity
|
|
23
|
+
- 2ae432c: fix: allow optional request bodies when input schema allows undefined
|
|
24
|
+
- 9f87189: fix: preserve explicit content-type behavior for binary request bodies
|
|
25
|
+
- 0f9b7ef: refactor: replace linked fragments with internal routes
|
|
26
|
+
- f4aedad: feat: add createRouteCaller helper for custom fetch targets
|
|
27
|
+
- f042c9d: feat: add typed workflow state restore support
|
|
28
|
+
- 7bda0b2: feat(db): add sync command registry, registration, and sync entrypoint
|
|
29
|
+
- b84a3d0: fix: preserve class methods when creating store-backed React hooks
|
|
30
|
+
|
|
31
|
+
## 0.2.0
|
|
32
|
+
|
|
33
|
+
### Minor Changes
|
|
34
|
+
|
|
35
|
+
- 301e2f8: pathParams in RequestInputContext now returns decoded values
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- f569301: feat(vue): add `createStore` support to Vue client, matching React client functionality.
|
|
40
|
+
The `useFragno` hook now handles `FragnoStoreData` objects created via `client.createStore()` and
|
|
41
|
+
transforms them into Vue composables that return reactive store values.
|
|
42
|
+
- 20a98f8: feat: expose internal outbox route under /\_internal when outbox is enabled
|
|
43
|
+
- 7e1eb47: feat(db): add processAt scheduling and reusable durable hooks dispatchers.
|
|
44
|
+
- 5f6f90e: feat: add FormData file upload support for routes
|
|
45
|
+
|
|
46
|
+
Routes can now accept file uploads via FormData by setting `contentType: "multipart/form-data"` on
|
|
47
|
+
the route definition. The server validates incoming Content-Type headers and rejects mismatched
|
|
48
|
+
requests with 415 Unsupported Media Type.
|
|
49
|
+
|
|
50
|
+
**Route definition:**
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
defineRoute({
|
|
54
|
+
method: "POST",
|
|
55
|
+
path: "/upload",
|
|
56
|
+
contentType: "multipart/form-data",
|
|
57
|
+
async handler(ctx, res) {
|
|
58
|
+
const formData = ctx.formData();
|
|
59
|
+
const file = formData.get("file") as File;
|
|
60
|
+
return res.json({ filename: file.name });
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**New APIs:**
|
|
66
|
+
- `ctx.formData()` - Access the request body as FormData
|
|
67
|
+
- `ctx.isFormData()` - Check if the request body is FormData
|
|
68
|
+
- `RouteContentType` - Type for the `contentType` field ("application/json" |
|
|
69
|
+
"multipart/form-data")
|
|
70
|
+
|
|
71
|
+
**Client-side:** The client automatically detects FormData/File in request bodies and sends them
|
|
72
|
+
with the correct Content-Type header (letting the browser set the multipart boundary).
|
|
73
|
+
|
|
74
|
+
- 2eafef4: fix(core): handle ReadableStream request bodies for fetch and validation.
|
|
75
|
+
- 7d7b2b9: fix(core): run internal fragment middleware and type internal routes in ifMatchesRoute
|
|
76
|
+
- a79e90d: feat: add trace recording support to model checker runs
|
|
77
|
+
- 7c60341: fix(core): make browser stubs proxy-safe for extra chaining methods.
|
|
78
|
+
- afb06a4: feat(core,wf): add FragnoRuntime defaults and require runtime in workflows config.
|
|
79
|
+
- 53e5f97: fix(core,fragment-upload): honor client mount routes and avoid upload config crashes.
|
|
80
|
+
- c5fd7b3: feat(core): support application/octet-stream request bodies
|
|
81
|
+
|
|
3
82
|
## 0.1.11
|
|
4
83
|
|
|
5
84
|
### Patch Changes
|
package/dist/api/api.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { RequestInputContext } from "./request-input-context.js";
|
|
2
2
|
import { RequestOutputContext } from "./request-output-context.js";
|
|
3
3
|
import { FragnoApiError, FragnoApiValidationError } from "./error.js";
|
|
4
|
-
import { RouteHandlerInputOptions } from "./route-handler-input-options.js";
|
|
5
4
|
import { FragnoPublicConfig } from "./shared-types.js";
|
|
5
|
+
import { RouteHandlerInputOptions } from "./route-handler-input-options.js";
|
|
6
|
+
import { RouteCallerConfig, RouteCallerForFragment, createRouteCaller } from "./route-caller.js";
|
|
6
7
|
import { StandardSchemaV1, StandardSchemaV1 as StandardSchemaV1$1 } from "@standard-schema/spec";
|
|
7
8
|
|
|
8
9
|
//#region src/api/api.d.ts
|
|
@@ -18,9 +19,27 @@ type PathError<T extends string, TMessage extends string> = T & [`Error: ${TMess
|
|
|
18
19
|
*/
|
|
19
20
|
type ValidPath<T extends string = string> = T extends `/${infer Rest}` ? Rest extends "" ? PathError<T, "Path cannot be just '/'."> : T extends `${string}/` ? PathError<T, "Path cannot end with '/'."> : T : PathError<T, "Path must start with '/'.">;
|
|
20
21
|
interface RequestThisContext {}
|
|
22
|
+
/**
|
|
23
|
+
* Content types that can be accepted by a route.
|
|
24
|
+
*
|
|
25
|
+
* - `"application/json"` (default): JSON request body, validated against inputSchema
|
|
26
|
+
* - `"multipart/form-data"`: FormData request body (file uploads), no schema validation
|
|
27
|
+
*/
|
|
28
|
+
type RouteContentType = "application/json" | "multipart/form-data" | "application/octet-stream";
|
|
21
29
|
interface FragnoRouteConfig<TMethod extends HTTPMethod, TPath extends string, TInputSchema extends StandardSchemaV1$1 | undefined, TOutputSchema extends StandardSchemaV1$1 | undefined, TErrorCode extends string = string, TQueryParameters extends string = string, TThisContext extends RequestThisContext = RequestThisContext> {
|
|
22
30
|
method: TMethod;
|
|
23
31
|
path: TPath;
|
|
32
|
+
/**
|
|
33
|
+
* The expected content type for this route's request body.
|
|
34
|
+
*
|
|
35
|
+
* - `"application/json"` (default): Expects JSON body, will be validated against inputSchema
|
|
36
|
+
* - `"multipart/form-data"`: Expects FormData body (for file uploads), use `ctx.formData()` in handler
|
|
37
|
+
*
|
|
38
|
+
* The server will reject requests with mismatched Content-Type headers.
|
|
39
|
+
*
|
|
40
|
+
* @default "application/json"
|
|
41
|
+
*/
|
|
42
|
+
contentType?: RouteContentType;
|
|
24
43
|
inputSchema?: TInputSchema;
|
|
25
44
|
outputSchema?: TOutputSchema;
|
|
26
45
|
errorCodes?: readonly TErrorCode[];
|
|
@@ -34,5 +53,5 @@ declare function addRoute<TMethod extends HTTPMethod, TPath extends string, TInp
|
|
|
34
53
|
inputSchema: TInputSchema;
|
|
35
54
|
}): FragnoRouteConfig<TMethod, TPath, TInputSchema, TOutputSchema, TErrorCode, TQueryParameters, TThisContext>;
|
|
36
55
|
//#endregion
|
|
37
|
-
export { FragnoApiError, FragnoApiValidationError, type FragnoPublicConfig, FragnoRouteConfig, HTTPMethod, NonGetHTTPMethod, RequestThisContext, type RouteHandlerInputOptions, type StandardSchemaV1, ValidPath, addRoute };
|
|
56
|
+
export { FragnoApiError, FragnoApiValidationError, type FragnoPublicConfig, FragnoRouteConfig, HTTPMethod, NonGetHTTPMethod, RequestThisContext, type RouteCallerConfig, type RouteCallerForFragment, RouteContentType, type RouteHandlerInputOptions, type StandardSchemaV1, ValidPath, addRoute, createRouteCaller };
|
|
38
57
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/api/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","names":[],"sources":["../../src/api/api.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.ts","names":[],"sources":["../../src/api/api.ts"],"sourcesContent":[],"mappings":";;;;;;;;;KAOY,UAAA;KACA,gBAAA,GAAmB,QAAQ;KAGlC,uDAAuD,eAAe;;;AAJ3E;AACA;AAA0D;AAY1D;;AACI,KADQ,SACR,CAAA,UAAA,MAAA,GAAA,MAAA,CAAA,GAD+C,CAC/C,SAAA,IAAA,KAAA,KAAA,EAAA,GAAA,IAAA,SAAA,EAAA,GACE,SADF,CACY,CADZ,EAAA,0BAAA,CAAA,GAEE,CAFF,SAAA,GAAA,MAAA,GAAA,GAGI,SAHJ,CAGc,CAHd,EAAA,2BAAA,CAAA,GAII,CAJJ,GAKA,SALA,CAKU,CALV,EAAA,2BAAA,CAAA;AACY,UAMC,kBAAA,CAND;;;;;;;AAIH,KAUD,gBAAA,GAVC,kBAAA,GAAA,qBAAA,GAAA,0BAAA;AAEI,UAaA,iBAbkB,CAAA,gBAcjB,UAdiB,EAAA,cAAA,MAAA,EAAA,qBAgBZ,kBAhBY,GAAA,SAAA,EAAA,sBAiBX,kBAjBW,GAAA,SAAA,EAAA,mBAAA,MAAA,GAAA,MAAA,EAAA,yBAAA,MAAA,GAAA,MAAA,EAAA,qBAoBZ,kBApBY,GAoBS,kBApBT,CAAA,CAAA;EAQvB,MAAA,EAcF,OAdE;EAKK,IAAA,EAUT,KAVS;EACC;;;;;;;;;;EAuBM,WAAA,CAAA,EAHR,gBAGQ;EACK,WAAA,CAAA,EAHb,YAGa;EAEnB,YAAA,CAAA,EAJO,aAIP;EACwB,UAAA,CAAA,EAAA,SAJV,UAIU,EAAA;EAAO,eAAA,CAAA,EAAA,SAHZ,gBAGY,EAAA;EAA3B,OAAA,CAAA,IAAA,EADJ,YACI,EAAA,QAAA,EAAA,mBAAA,CAAoB,KAApB,EAA2B,YAA3B,CAAA,EAAA,SAAA,EACC,oBADD,CACsB,aADtB,EACqC,UADrC,CAAA,CAAA,EAET,OAFS,CAED,QAFC,CAAA;;AACqC,iBAKnC,QALmC,CAAA,gBAMjC,UANiC,EAAA,cAAA,MAAA,EAAA,sBAQ3B,kBAR2B,GAAA,SAAA,EAAA,mBAAA,MAAA,GAAA,MAAA,EAAA,yBAAA,MAAA,GAAA,MAAA,EAAA,qBAW5B,kBAX4B,GAWP,kBAXO,CAAA,CAAA,KAAA,EAa1C,iBAb0C,CAc/C,OAd+C,EAe/C,SAf+C,CAerC,KAfqC,CAAA,EAAA,SAAA,EAiB/C,aAjB+C,EAkB/C,UAlB+C,EAmB/C,gBAnB+C,EAoB/C,YApB+C,CAAA,GAAA;EAApC,WAAA,CAAA,EAAA,SAAA;CACF,CAAA,EAqBV,iBArBU,CAsBX,OAtBW,EAuBX,KAvBW,EAAA,SAAA,EAyBX,aAzBW,EA0BX,UA1BW,EA2BX,gBA3BW,EA4BX,YA5BW,CAAA;AAAR,iBAgCW,QAhCX,CAAA,gBAiCa,UAjCb,EAAA,cAAA,MAAA,EAAA,qBAmCkB,kBAnClB,EAAA,sBAoCmB,kBApCnB,GAAA,SAAA,EAAA,mBAAA,MAAA,GAAA,MAAA,EAAA,yBAAA,MAAA,GAAA,MAAA,EAAA,qBAuCkB,kBAvClB,GAuCuC,kBAvCvC,CAAA,CAAA,KAAA,EAyCI,iBAzCJ,CA0CD,OA1CC,EA2CD,SA3CC,CA2CS,KA3CT,CAAA,EA4CD,YA5CC,EA6CD,aA7CC,EA8CD,UA9CC,EA+CD,gBA/CC,EAgDD,YAhDC,CAAA,GAAA;EAAO,WAAA,EAkDK,YAlDL;AAIZ,CAAA,CAAA,EAgDG,iBAhDqB,CAiDtB,OAjDsB,EAkDtB,KAlDsB,EAmDtB,YAnDsB,EAoDtB,aApDsB,EAqDtB,UArDsB,EAsDtB,gBAtDsB,EAuDtB,YAvDsB,CAAA"}
|
package/dist/api/api.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FragnoApiError, FragnoApiValidationError } from "./error.js";
|
|
2
|
+
import { createRouteCaller } from "./route-caller.js";
|
|
2
3
|
|
|
3
4
|
//#region src/api/api.ts
|
|
4
5
|
function addRoute(route) {
|
|
@@ -6,5 +7,5 @@ function addRoute(route) {
|
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
//#endregion
|
|
9
|
-
export { FragnoApiError, FragnoApiValidationError, addRoute };
|
|
10
|
+
export { FragnoApiError, FragnoApiValidationError, addRoute, createRouteCaller };
|
|
10
11
|
//# sourceMappingURL=api.js.map
|
package/dist/api/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","names":[],"sources":["../../src/api/api.ts"],"sourcesContent":["import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport type { RequestInputContext } from \"./request-input-context\";\nimport type { RequestOutputContext } from \"./request-output-context\";\n\nexport type { StandardSchemaV1 } from \"@standard-schema/spec\";\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 RequestThisContext {}\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 TThisContext extends RequestThisContext = RequestThisContext,\n> {\n method: TMethod;\n path: TPath;\n inputSchema?: TInputSchema;\n outputSchema?: TOutputSchema;\n errorCodes?: readonly TErrorCode[];\n queryParameters?: readonly TQueryParameters[];\n handler(\n this: TThisContext,\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 TThisContext extends RequestThisContext = RequestThisContext,\n>(\n route: FragnoRouteConfig<\n TMethod,\n ValidPath<TPath>,\n undefined,\n TOutputSchema,\n TErrorCode,\n TQueryParameters,\n TThisContext\n > & { inputSchema?: undefined },\n): FragnoRouteConfig<\n TMethod,\n TPath,\n undefined,\n TOutputSchema,\n TErrorCode,\n TQueryParameters,\n TThisContext\n>;\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 TThisContext extends RequestThisContext = RequestThisContext,\n>(\n route: FragnoRouteConfig<\n TMethod,\n ValidPath<TPath>,\n TInputSchema,\n TOutputSchema,\n TErrorCode,\n TQueryParameters,\n TThisContext\n > & {\n inputSchema: TInputSchema;\n },\n): FragnoRouteConfig<\n TMethod,\n TPath,\n TInputSchema,\n TOutputSchema,\n TErrorCode,\n TQueryParameters,\n TThisContext\n>;\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 TThisContext extends RequestThisContext = RequestThisContext,\n>(\n route: FragnoRouteConfig<\n TMethod,\n ValidPath<TPath>,\n TInputSchema,\n TOutputSchema,\n TErrorCode,\n TQueryParameters,\n TThisContext\n >,\n): FragnoRouteConfig<\n TMethod,\n TPath,\n TInputSchema,\n TOutputSchema,\n TErrorCode,\n TQueryParameters,\n TThisContext\n> {\n return route;\n}\n\nexport { FragnoApiError, FragnoApiValidationError } from \"./error\";\nexport type { RouteHandlerInputOptions } from \"./route-handler-input-options\";\nexport type { FragnoPublicConfig } from \"./shared-types\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.js","names":[],"sources":["../../src/api/api.ts"],"sourcesContent":["import type { StandardSchemaV1 } from \"@standard-schema/spec\";\n\nimport type { RequestInputContext } from \"./request-input-context\";\nimport type { RequestOutputContext } from \"./request-output-context\";\n\nexport type { StandardSchemaV1 } from \"@standard-schema/spec\";\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 RequestThisContext {}\n\n/**\n * Content types that can be accepted by a route.\n *\n * - `\"application/json\"` (default): JSON request body, validated against inputSchema\n * - `\"multipart/form-data\"`: FormData request body (file uploads), no schema validation\n */\nexport type RouteContentType =\n | \"application/json\"\n | \"multipart/form-data\"\n | \"application/octet-stream\";\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 TThisContext extends RequestThisContext = RequestThisContext,\n> {\n method: TMethod;\n path: TPath;\n /**\n * The expected content type for this route's request body.\n *\n * - `\"application/json\"` (default): Expects JSON body, will be validated against inputSchema\n * - `\"multipart/form-data\"`: Expects FormData body (for file uploads), use `ctx.formData()` in handler\n *\n * The server will reject requests with mismatched Content-Type headers.\n *\n * @default \"application/json\"\n */\n contentType?: RouteContentType;\n inputSchema?: TInputSchema;\n outputSchema?: TOutputSchema;\n errorCodes?: readonly TErrorCode[];\n queryParameters?: readonly TQueryParameters[];\n handler(\n this: TThisContext,\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 TThisContext extends RequestThisContext = RequestThisContext,\n>(\n route: FragnoRouteConfig<\n TMethod,\n ValidPath<TPath>,\n undefined,\n TOutputSchema,\n TErrorCode,\n TQueryParameters,\n TThisContext\n > & { inputSchema?: undefined },\n): FragnoRouteConfig<\n TMethod,\n TPath,\n undefined,\n TOutputSchema,\n TErrorCode,\n TQueryParameters,\n TThisContext\n>;\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 TThisContext extends RequestThisContext = RequestThisContext,\n>(\n route: FragnoRouteConfig<\n TMethod,\n ValidPath<TPath>,\n TInputSchema,\n TOutputSchema,\n TErrorCode,\n TQueryParameters,\n TThisContext\n > & {\n inputSchema: TInputSchema;\n },\n): FragnoRouteConfig<\n TMethod,\n TPath,\n TInputSchema,\n TOutputSchema,\n TErrorCode,\n TQueryParameters,\n TThisContext\n>;\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 TThisContext extends RequestThisContext = RequestThisContext,\n>(\n route: FragnoRouteConfig<\n TMethod,\n ValidPath<TPath>,\n TInputSchema,\n TOutputSchema,\n TErrorCode,\n TQueryParameters,\n TThisContext\n >,\n): FragnoRouteConfig<\n TMethod,\n TPath,\n TInputSchema,\n TOutputSchema,\n TErrorCode,\n TQueryParameters,\n TThisContext\n> {\n return route;\n}\n\nexport { FragnoApiError, FragnoApiValidationError } from \"./error\";\nexport {\n createRouteCaller,\n type RouteCallerConfig,\n type RouteCallerForFragment,\n} from \"./route-caller\";\nexport type { RouteHandlerInputOptions } from \"./route-handler-input-options\";\nexport type { FragnoPublicConfig } from \"./shared-types\";\n"],"mappings":";;;;AAsIA,SAAgB,SASd,OAiBA;AACA,QAAO"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
//#region src/api/bind-services.d.ts
|
|
2
|
-
type OmitThisParameter<T> = T extends ((this: infer _This, ...args: infer A) => infer R) ? (...args: A) => R : T;
|
|
3
2
|
type BoundServices<T> = { [K in keyof T]: T[K] extends ((...args: never[]) => unknown) ? OmitThisParameter<T[K]> : T[K] extends Record<string, unknown> ? BoundServices<T[K]> : T[K] };
|
|
4
3
|
//#endregion
|
|
5
4
|
export { BoundServices };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-services.d.ts","names":[],"sources":["../../src/api/bind-services.ts"],"sourcesContent":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"bind-services.d.ts","names":[],"sources":["../../src/api/bind-services.ts"],"sourcesContent":[],"mappings":";KACY,2BAAA,MACE,CADF,GACM,CADO,CACL,CADK,CAAA,UAAA,CAAA,GAAA,IAAA,EAAA,KAAA,EAAA,EAAA,GAAA,OAAA,IAEnB,iBAFmB,CAED,CAFC,CAEC,CAFD,CAAA,CAAA,GAGnB,CAHmB,CAGjB,CAHiB,CAAA,SAGN,MAHM,CAAA,MAAA,EAAA,OAAA,CAAA,GAIjB,aAJiB,CAIH,CAJG,CAID,CAJC,CAAA,CAAA,GAKjB,CALiB,CAKf,CALe,CAAA,EACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-services.js","names":[],"sources":["../../src/api/bind-services.ts"],"sourcesContent":["//
|
|
1
|
+
{"version":3,"file":"bind-services.js","names":[],"sources":["../../src/api/bind-services.ts"],"sourcesContent":["// Recursively remove 'this' parameter from all functions in an object\nexport type BoundServices<T> = {\n [K in keyof T]: T[K] extends (...args: never[]) => unknown\n ? OmitThisParameter<T[K]>\n : T[K] extends Record<string, unknown>\n ? BoundServices<T[K]>\n : T[K];\n};\n\n/**\n * Bind all functions in a service object to a specific context.\n * This allows services to use `this` to access the context.\n *\n * @param services - The service object to bind\n * @param context - The context to bind to (e.g., { getUnitOfWork })\n * @returns A new object with all functions bound to the context\n */\nexport function bindServicesToContext<T extends object, TContext extends object>(\n services: T,\n context: TContext,\n): BoundServices<T> {\n const bound = {} as BoundServices<T>;\n\n for (const [key, value] of Object.entries(services)) {\n if (typeof value === \"function\") {\n // Bind function to the provided context\n bound[key as keyof T] = value.bind(context) as BoundServices<T>[keyof T];\n } else if (value && typeof value === \"object\" && !Array.isArray(value)) {\n // Recursively bind nested service objects\n bound[key as keyof T] = bindServicesToContext(value, context) as BoundServices<T>[keyof T];\n } else {\n bound[key as keyof T] = value as BoundServices<T>[keyof T];\n }\n }\n\n return bound;\n}\n"],"mappings":";;;;;;;;;AAiBA,SAAgB,sBACd,UACA,SACkB;CAClB,MAAM,QAAQ,EAAE;AAEhB,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,SAAS,CACjD,KAAI,OAAO,UAAU,WAEnB,OAAM,OAAkB,MAAM,KAAK,QAAQ;UAClC,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,MAAM,CAEpE,OAAM,OAAkB,sBAAsB,OAAO,QAAQ;KAE7D,OAAM,OAAkB;AAI5B,QAAO"}
|
package/dist/api/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","names":[],"sources":["../../src/api/error.ts"],"sourcesContent":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"error.d.ts","names":[],"sources":["../../src/api/error.ts"],"sourcesContent":[],"mappings":";;;;cAIa,cAAA,SAAuB,KAAA;;EAAvB,WAAA,CAAA;IAAA,OAAe;IAAA;EAIgD,CAJhD,EAAA;IAIZ,OAAA,EAAA,MAAA;IAAS,IAAA,EAAA,MAAA;EAAmD,CAAA,EAAA,MAAA,EAAA,UAAA;EAOhE,IAAA,MAAA,CAAA,CAAA,EAAA,UAAA;EAQA,IAAA,IAAA,CAAA,CAAA,EAAA,MAAA;EAnBwB,UAAA,CAAA,CAAA,EAmBxB,QAnBwB;;AAwBvB,cAAA,wBAAA,SAAiC,cAAA,CAAR;EAGU,CAAA,OAAA;EAMpC,WAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SANoC,gBAAA,CAAiB,KAMrD,EAAA;EAIS,IAAA,MAAA,CAAA,CAAA,EAAA,SAJT,gBAAA,CAAA,KAIS,EAAA;EAbyB,UAAA,CAAA,CAAA,EAazB,QAbyB"}
|
package/dist/api/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","names":["#status","#code","#issues"],"sources":["../../src/api/error.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"],"mappings":";
|
|
1
|
+
{"version":3,"file":"error.js","names":["#status","#code","#issues"],"sources":["../../src/api/error.ts"],"sourcesContent":["import type { StandardSchemaV1 } from \"@standard-schema/spec\";\n\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"],"mappings":";AAIA,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"}
|