@fragno-dev/core 0.0.1 → 0.0.6
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 +47 -61
- package/.turbo/turbo-types$colon$check.log +1 -2
- package/CHANGELOG.md +32 -0
- package/dist/client/client.d.ts +1 -1
- package/dist/client/client.svelte.d.ts +1 -1
- package/dist/client/react.d.ts +1 -1
- package/dist/client/vanilla.d.ts +1 -1
- package/dist/client/vue.d.ts +1 -1
- package/dist/{client-XFdAy-IQ.d.ts → client-B6s-lTFe.d.ts} +29 -1
- package/dist/client-B6s-lTFe.d.ts.map +1 -0
- package/dist/mod.d.ts +1 -1
- package/dist/mod.js +28 -0
- package/dist/mod.js.map +1 -1
- package/package.json +1 -19
- package/src/api/fragment.ts +59 -0
- package/dist/client-XFdAy-IQ.d.ts.map +0 -1
- package/dist/integrations/astro.d.ts +0 -18
- package/dist/integrations/astro.d.ts.map +0 -1
- package/dist/integrations/astro.js +0 -16
- package/dist/integrations/astro.js.map +0 -1
- package/dist/integrations/next-js.d.ts +0 -15
- package/dist/integrations/next-js.d.ts.map +0 -1
- package/dist/integrations/next-js.js +0 -17
- package/dist/integrations/next-js.js.map +0 -1
- package/dist/integrations/svelte-kit.d.ts +0 -21
- package/dist/integrations/svelte-kit.d.ts.map +0 -1
- package/dist/integrations/svelte-kit.js +0 -18
- package/dist/integrations/svelte-kit.js.map +0 -1
- package/src/integrations/astro.ts +0 -17
- package/src/integrations/next-js.ts +0 -31
- package/src/integrations/svelte-kit.ts +0 -41
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,61 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
[34mℹ[39m tsdown
|
|
4
|
-
[34mℹ[39m
|
|
5
|
-
[34mℹ[39m
|
|
6
|
-
[34mℹ[39m
|
|
7
|
-
[34mℹ[39m
|
|
8
|
-
[34mℹ[39m
|
|
9
|
-
[34mℹ[39m [2mdist/[22m[
|
|
10
|
-
[34mℹ[39m [2mdist/[22m[1mclient/
|
|
11
|
-
[34mℹ[39m [2mdist/[22m[1mclient/
|
|
12
|
-
[34mℹ[39m [2mdist/[22m[
|
|
13
|
-
[34mℹ[39m [2mdist/[22m[1mclient/
|
|
14
|
-
[34mℹ[39m [2mdist/[22m[
|
|
15
|
-
[34mℹ[39m [2mdist/[
|
|
16
|
-
[34mℹ[39m [2mdist/[
|
|
17
|
-
[34mℹ[39m [2mdist/[
|
|
18
|
-
[34mℹ[39m [2mdist/[
|
|
19
|
-
[34mℹ[39m [2mdist/[
|
|
20
|
-
[34mℹ[39m [2mdist/[22mclient
|
|
21
|
-
[34mℹ[39m [2mdist/[
|
|
22
|
-
[34mℹ[39m [2mdist/[22mclient
|
|
23
|
-
[34mℹ[39m [2mdist/[22mclient
|
|
24
|
-
[34mℹ[39m [2mdist/[
|
|
25
|
-
[34mℹ[39m [2mdist/[
|
|
26
|
-
[34mℹ[39m [2mdist/[
|
|
27
|
-
[34mℹ[39m [2mdist/[
|
|
28
|
-
[34mℹ[39m [2mdist/[22mclient/
|
|
29
|
-
[34mℹ[39m [2mdist/[
|
|
30
|
-
[34mℹ[39m [2mdist/[
|
|
31
|
-
[34mℹ[39m [2mdist/[
|
|
32
|
-
[34mℹ[39m [2mdist/[
|
|
33
|
-
[34mℹ[39m [2mdist/[
|
|
34
|
-
[34mℹ[39m [2mdist/[
|
|
35
|
-
[34mℹ[39m [2mdist/[
|
|
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/[
|
|
44
|
-
[34mℹ[39m [2mdist/[
|
|
45
|
-
[34mℹ[39m [2mdist/[
|
|
46
|
-
[34mℹ[39m
|
|
47
|
-
[
|
|
48
|
-
[34mℹ[39m [2mdist/[22m[32m[1mclient/react.d.ts[22m[39m [2m 3.34 kB[22m [2m│ gzip: 1.15 kB[22m
|
|
49
|
-
[34mℹ[39m [2mdist/[22m[32m[1mclient/client.svelte.d.ts[22m[39m [2m 2.74 kB[22m [2m│ gzip: 0.80 kB[22m
|
|
50
|
-
[34mℹ[39m [2mdist/[22m[32m[1mclient/vue.d.ts[22m[39m [2m 2.68 kB[22m [2m│ gzip: 0.90 kB[22m
|
|
51
|
-
[34mℹ[39m [2mdist/[22m[32m[1mclient/client.d.ts[22m[39m [2m 1.24 kB[22m [2m│ gzip: 0.32 kB[22m
|
|
52
|
-
[34mℹ[39m [2mdist/[22m[32m[1mintegrations/svelte-kit.d.ts[22m[39m [2m 0.81 kB[22m [2m│ gzip: 0.32 kB[22m
|
|
53
|
-
[34mℹ[39m [2mdist/[22m[32m[1mintegrations/react-ssr.d.ts[22m[39m [2m 0.78 kB[22m [2m│ gzip: 0.38 kB[22m
|
|
54
|
-
[34mℹ[39m [2mdist/[22m[32m[1mmod.d.ts[22m[39m [2m 0.68 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
55
|
-
[34mℹ[39m [2mdist/[22m[32m[1mintegrations/next-js.d.ts[22m[39m [2m 0.63 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
56
|
-
[34mℹ[39m [2mdist/[22m[32m[1mintegrations/astro.d.ts[22m[39m [2m 0.51 kB[22m [2m│ gzip: 0.28 kB[22m
|
|
57
|
-
[34mℹ[39m [2mdist/[22m[32m[1mapi/api.d.ts[22m[39m [2m 0.27 kB[22m [2m│ gzip: 0.14 kB[22m
|
|
58
|
-
[34mℹ[39m [2mdist/[22m[32mclient-XFdAy-IQ.d.ts[39m [2m19.93 kB[22m [2m│ gzip: 4.16 kB[22m
|
|
59
|
-
[34mℹ[39m [2mdist/[22m[32mapi-CBDGZiLC.d.ts[39m [2m12.17 kB[22m [2m│ gzip: 3.46 kB[22m
|
|
60
|
-
[34mℹ[39m 51 files, total: 313.05 kB
|
|
61
|
-
[32m✔[39m Build complete in [32m984ms[39m
|
|
1
|
+
$ tsdown
|
|
2
|
+
[34mℹ[39m tsdown [2mv0.15.6[22m powered by rolldown [2mv1.0.0-beta.41[22m
|
|
3
|
+
[34mℹ[39m Using tsdown config: [4m/home/runner/work/fragno/fragno/packages/fragno/tsdown.config.ts[24m
|
|
4
|
+
[34mℹ[39m entry: [34msrc/mod.ts, src/api/api.ts, src/client/client.svelte.ts, src/client/client.ts, src/client/react.ts, src/client/vanilla.ts, src/client/vue.ts, src/integrations/react-ssr.ts[39m
|
|
5
|
+
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
6
|
+
[34mℹ[39m Build start
|
|
7
|
+
[34mℹ[39m [2mdist/[22m[1mmod.js[22m [2m 6.04 kB[22m [2m│ gzip: 1.79 kB[22m
|
|
8
|
+
[34mℹ[39m [2mdist/[22m[1mclient/client.svelte.js[22m [2m 3.30 kB[22m [2m│ gzip: 0.97 kB[22m
|
|
9
|
+
[34mℹ[39m [2mdist/[22m[1mclient/vanilla.js[22m [2m 3.29 kB[22m [2m│ gzip: 1.11 kB[22m
|
|
10
|
+
[34mℹ[39m [2mdist/[22m[1mclient/vue.js[22m [2m 2.85 kB[22m [2m│ gzip: 1.00 kB[22m
|
|
11
|
+
[34mℹ[39m [2mdist/[22m[1mclient/react.js[22m [2m 2.50 kB[22m [2m│ gzip: 0.93 kB[22m
|
|
12
|
+
[34mℹ[39m [2mdist/[22m[1mintegrations/react-ssr.js[22m [2m 1.26 kB[22m [2m│ gzip: 0.64 kB[22m
|
|
13
|
+
[34mℹ[39m [2mdist/[22m[1mclient/client.js[22m [2m 0.64 kB[22m [2m│ gzip: 0.22 kB[22m
|
|
14
|
+
[34mℹ[39m [2mdist/[22m[1mapi/api.js[22m [2m 0.15 kB[22m [2m│ gzip: 0.10 kB[22m
|
|
15
|
+
[34mℹ[39m [2mdist/[22mclient-DWjxKDnE.js.map [2m72.47 kB[22m [2m│ gzip: 16.35 kB[22m
|
|
16
|
+
[34mℹ[39m [2mdist/[22mroute-Bp6eByhz.js.map [2m24.82 kB[22m [2m│ gzip: 6.81 kB[22m
|
|
17
|
+
[34mℹ[39m [2mdist/[22mclient-DWjxKDnE.js [2m24.49 kB[22m [2m│ gzip: 6.18 kB[22m
|
|
18
|
+
[34mℹ[39m [2mdist/[22mmod.js.map [2m17.96 kB[22m [2m│ gzip: 4.81 kB[22m
|
|
19
|
+
[34mℹ[39m [2mdist/[22mclient-B6s-lTFe.d.ts.map [2m17.20 kB[22m [2m│ gzip: 6.85 kB[22m
|
|
20
|
+
[34mℹ[39m [2mdist/[22mclient/vanilla.js.map [2m12.96 kB[22m [2m│ gzip: 3.58 kB[22m
|
|
21
|
+
[34mℹ[39m [2mdist/[22mclient/client.svelte.js.map [2m11.35 kB[22m [2m│ gzip: 2.76 kB[22m
|
|
22
|
+
[34mℹ[39m [2mdist/[22mclient/vue.js.map [2m10.12 kB[22m [2m│ gzip: 2.78 kB[22m
|
|
23
|
+
[34mℹ[39m [2mdist/[22mclient/react.js.map [2m 9.55 kB[22m [2m│ gzip: 3.02 kB[22m
|
|
24
|
+
[34mℹ[39m [2mdist/[22mroute-Bp6eByhz.js [2m 8.77 kB[22m [2m│ gzip: 2.63 kB[22m
|
|
25
|
+
[34mℹ[39m [2mdist/[22mapi-CBDGZiLC.d.ts.map [2m 8.23 kB[22m [2m│ gzip: 3.23 kB[22m
|
|
26
|
+
[34mℹ[39m [2mdist/[22mapi-DgHfYjq2.js.map [2m 5.54 kB[22m [2m│ gzip: 1.56 kB[22m
|
|
27
|
+
[34mℹ[39m [2mdist/[22mssr-tJHqcNSw.js.map [2m 2.96 kB[22m [2m│ gzip: 1.25 kB[22m
|
|
28
|
+
[34mℹ[39m [2mdist/[22mclient/vanilla.d.ts.map [2m 2.83 kB[22m [2m│ gzip: 1.08 kB[22m
|
|
29
|
+
[34mℹ[39m [2mdist/[22mclient/react.d.ts.map [2m 2.71 kB[22m [2m│ gzip: 1.17 kB[22m
|
|
30
|
+
[34mℹ[39m [2mdist/[22mclient/client.svelte.d.ts.map [2m 2.44 kB[22m [2m│ gzip: 1.00 kB[22m
|
|
31
|
+
[34mℹ[39m [2mdist/[22mclient/vue.d.ts.map [2m 2.22 kB[22m [2m│ gzip: 0.95 kB[22m
|
|
32
|
+
[34mℹ[39m [2mdist/[22mintegrations/react-ssr.js.map [2m 1.65 kB[22m [2m│ gzip: 0.84 kB[22m
|
|
33
|
+
[34mℹ[39m [2mdist/[22mssr-tJHqcNSw.js [2m 1.35 kB[22m [2m│ gzip: 0.60 kB[22m
|
|
34
|
+
[34mℹ[39m [2mdist/[22mapi-DgHfYjq2.js [2m 1.06 kB[22m [2m│ gzip: 0.43 kB[22m
|
|
35
|
+
[34mℹ[39m [2mdist/[22mintegrations/react-ssr.d.ts.map [2m 0.23 kB[22m [2m│ gzip: 0.17 kB[22m
|
|
36
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient/vanilla.d.ts[22m[39m [2m 3.53 kB[22m [2m│ gzip: 1.02 kB[22m
|
|
37
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient/react.d.ts[22m[39m [2m 3.34 kB[22m [2m│ gzip: 1.15 kB[22m
|
|
38
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient/client.svelte.d.ts[22m[39m [2m 2.74 kB[22m [2m│ gzip: 0.80 kB[22m
|
|
39
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient/vue.d.ts[22m[39m [2m 2.68 kB[22m [2m│ gzip: 0.90 kB[22m
|
|
40
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient/client.d.ts[22m[39m [2m 1.24 kB[22m [2m│ gzip: 0.32 kB[22m
|
|
41
|
+
[34mℹ[39m [2mdist/[22m[32m[1mintegrations/react-ssr.d.ts[22m[39m [2m 0.78 kB[22m [2m│ gzip: 0.38 kB[22m
|
|
42
|
+
[34mℹ[39m [2mdist/[22m[32m[1mmod.d.ts[22m[39m [2m 0.68 kB[22m [2m│ gzip: 0.25 kB[22m
|
|
43
|
+
[34mℹ[39m [2mdist/[22m[32m[1mapi/api.d.ts[22m[39m [2m 0.27 kB[22m [2m│ gzip: 0.14 kB[22m
|
|
44
|
+
[34mℹ[39m [2mdist/[22m[32mclient-B6s-lTFe.d.ts[39m [2m20.81 kB[22m [2m│ gzip: 4.36 kB[22m
|
|
45
|
+
[34mℹ[39m [2mdist/[22m[32mapi-CBDGZiLC.d.ts[39m [2m12.17 kB[22m [2m│ gzip: 3.46 kB[22m
|
|
46
|
+
[34mℹ[39m 39 files, total: 309.19 kB
|
|
47
|
+
[32m✔[39m Build complete in [32m7656ms[39m
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
[0m[2m[35m$[0m [2m[1mtsc --noEmit[0m
|
|
1
|
+
$ tsc --noEmit
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# @fragno-dev/core
|
|
2
|
+
|
|
3
|
+
## 0.0.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- c3ff022: No longer require end-users to install/import @fragno-dev/core when integrating Fragments
|
|
8
|
+
into their application.
|
|
9
|
+
|
|
10
|
+
## 0.0.5
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- b9450b1: Run release process after CI
|
|
15
|
+
|
|
16
|
+
## 0.0.4
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- 1dae6f9: Update publishing process
|
|
21
|
+
|
|
22
|
+
## 0.0.3
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- 604caff: Update publishing process
|
|
27
|
+
|
|
28
|
+
## 0.0.2
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- 2052919: Initial Changeset
|
package/dist/client/client.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import "../api-CBDGZiLC.js";
|
|
2
|
-
import { 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 } from "../client-
|
|
2
|
+
import { 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 } from "../client-B6s-lTFe.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,5 +1,5 @@
|
|
|
1
1
|
import { InferOr, MaybeExtractPathParamsOrWiden, NonGetHTTPMethod, QueryParamsHint } from "../api-CBDGZiLC.js";
|
|
2
|
-
import { FragnoClientError, FragnoClientHookData, FragnoClientMutatorData, FragnoStoreData } from "../client-
|
|
2
|
+
import { FragnoClientError, FragnoClientHookData, FragnoClientMutatorData, FragnoStoreData } from "../client-B6s-lTFe.js";
|
|
3
3
|
import { ReadableAtom } from "nanostores";
|
|
4
4
|
import { Readable } from "svelte/store";
|
|
5
5
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
package/dist/client/react.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ExtractPathParamsOrWiden, HasPathParams, InferOr, MaybeExtractPathParamsOrWiden, NonGetHTTPMethod, QueryParamsHint } from "../api-CBDGZiLC.js";
|
|
2
|
-
import { FragnoClientError, FragnoClientHookData, FragnoClientMutatorData, FragnoStoreData } from "../client-
|
|
2
|
+
import { FragnoClientError, FragnoClientHookData, FragnoClientMutatorData, FragnoStoreData } from "../client-B6s-lTFe.js";
|
|
3
3
|
import { ReadableAtom, Store, StoreValue } from "nanostores";
|
|
4
4
|
import { FetcherValue } from "@nanostores/query";
|
|
5
5
|
import * as react0 from "react";
|
package/dist/client/vanilla.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ExtractPathParamsOrWiden, HasPathParams, InferOr, MaybeExtractPathParamsOrWiden, NonGetHTTPMethod } from "../api-CBDGZiLC.js";
|
|
2
|
-
import { FragnoClientError, FragnoClientHookData, FragnoClientMutatorData } from "../client-
|
|
2
|
+
import { FragnoClientError, FragnoClientHookData, FragnoClientMutatorData } from "../client-B6s-lTFe.js";
|
|
3
3
|
import { ReadableAtom } from "nanostores";
|
|
4
4
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
5
5
|
|
package/dist/client/vue.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InferOr, MaybeExtractPathParamsOrWiden, NonGetHTTPMethod, QueryParamsHint } from "../api-CBDGZiLC.js";
|
|
2
|
-
import { FragnoClientError, FragnoClientHookData, FragnoClientMutatorData } from "../client-
|
|
2
|
+
import { FragnoClientError, FragnoClientHookData, FragnoClientMutatorData } from "../client-B6s-lTFe.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";
|
|
@@ -60,10 +60,38 @@ interface FragnoPublicClientConfig {
|
|
|
60
60
|
mountRoute?: string;
|
|
61
61
|
baseUrl?: string;
|
|
62
62
|
}
|
|
63
|
+
type AstroHandlers = {
|
|
64
|
+
ALL: (req: Request) => Promise<Response>;
|
|
65
|
+
};
|
|
66
|
+
type ReactRouterHandlers = {
|
|
67
|
+
loader: (args: {
|
|
68
|
+
request: Request;
|
|
69
|
+
}) => Promise<Response>;
|
|
70
|
+
action: (args: {
|
|
71
|
+
request: Request;
|
|
72
|
+
}) => Promise<Response>;
|
|
73
|
+
};
|
|
74
|
+
type StandardHandlers = {
|
|
75
|
+
GET: (req: Request) => Promise<Response>;
|
|
76
|
+
POST: (req: Request) => Promise<Response>;
|
|
77
|
+
PUT: (req: Request) => Promise<Response>;
|
|
78
|
+
DELETE: (req: Request) => Promise<Response>;
|
|
79
|
+
PATCH: (req: Request) => Promise<Response>;
|
|
80
|
+
HEAD: (req: Request) => Promise<Response>;
|
|
81
|
+
OPTIONS: (req: Request) => Promise<Response>;
|
|
82
|
+
};
|
|
83
|
+
type HandlersByFramework = {
|
|
84
|
+
astro: AstroHandlers;
|
|
85
|
+
"react-router": ReactRouterHandlers;
|
|
86
|
+
"next-js": StandardHandlers;
|
|
87
|
+
"svelte-kit": StandardHandlers;
|
|
88
|
+
};
|
|
89
|
+
type FullstackFrameworks = keyof HandlersByFramework;
|
|
63
90
|
interface FragnoInstantiatedFragment<TRoutes extends readonly AnyFragnoRouteConfig[] = [], TDeps = EmptyObject, TServices extends Record<string, unknown> = Record<string, unknown>> {
|
|
64
91
|
config: FragnoFragmentSharedConfig<TRoutes>;
|
|
65
92
|
deps: TDeps;
|
|
66
93
|
services: TServices;
|
|
94
|
+
handlersFor: <T extends FullstackFrameworks>(framework: T) => HandlersByFramework[T];
|
|
67
95
|
handler: (req: Request) => Promise<Response>;
|
|
68
96
|
mountRoute: string;
|
|
69
97
|
withMiddleware: (handler: FragnoMiddlewareCallback<TRoutes, TDeps, TServices>) => FragnoInstantiatedFragment<TRoutes, TDeps, TServices>;
|
|
@@ -284,4 +312,4 @@ declare class ClientBuilder<TRoutes extends readonly FragnoRouteConfig<HTTPMetho
|
|
|
284
312
|
declare function createClientBuilder<TConfig, TDeps, TServices extends Record<string, unknown>, const TRoutesOrFactories extends readonly AnyRouteOrFactory[]>(fragmentDefinition: FragmentBuilder<TConfig, TDeps, TServices>, publicConfig: FragnoPublicClientConfig, routesOrFactories: TRoutesOrFactories): ClientBuilder<FlattenRouteFactories<TRoutesOrFactories>, FragnoFragmentSharedConfig<FlattenRouteFactories<TRoutesOrFactories>>>;
|
|
285
313
|
//#endregion
|
|
286
314
|
export { AnyRouteOrFactory, CacheLine, ClientBuilder, CreateHookOptions, ExtractGetRoutePaths, ExtractGetRoutes, ExtractNonGetRoutePaths, ExtractOutputSchemaForPath, ExtractRouteByPath, ExtractRoutePath, FlattenRouteFactories, FragmentBuilder, FragnoClientApiError, FragnoClientError, FragnoClientFetchAbortError, FragnoClientFetchError, FragnoClientFetchNetworkError, FragnoClientHookData, FragnoClientMutatorData, FragnoClientUnknownApiError, FragnoErrorOptions, FragnoFragmentSharedConfig, FragnoInstantiatedFragment, FragnoPublicClientConfig, FragnoPublicConfig, FragnoStoreData, HasGetRoutes, IsValidGetRoutePath, ObjectContainingStoreField, RouteFactory, RouteFactoryContext, ValidateGetRoutePath, buildUrl, createClientBuilder, createFragment, defineFragment, defineRoute, defineRoutes, getCacheKey, isGetHook, isMutatorHook, isStore };
|
|
287
|
-
//# sourceMappingURL=client-
|
|
315
|
+
//# sourceMappingURL=client-B6s-lTFe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-B6s-lTFe.d.ts","names":[],"sources":["../src/api/route.ts","../src/api/request-middleware.ts","../src/api/fragment.ts","../src/client/client-error.ts","../src/client/client.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/mod.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { FragnoRouteConfig } from "./api-CBDGZiLC.js";
|
|
2
|
-
import { AnyRouteOrFactory, FlattenRouteFactories, FragmentBuilder, FragnoFragmentSharedConfig, FragnoInstantiatedFragment, FragnoPublicClientConfig, FragnoPublicConfig, RouteFactory, RouteFactoryContext, createFragment, defineFragment, defineRoute, defineRoutes } from "./client-
|
|
2
|
+
import { AnyRouteOrFactory, FlattenRouteFactories, FragmentBuilder, FragnoFragmentSharedConfig, FragnoInstantiatedFragment, FragnoPublicClientConfig, FragnoPublicConfig, RouteFactory, RouteFactoryContext, createFragment, defineFragment, defineRoute, defineRoutes } from "./client-B6s-lTFe.js";
|
|
3
3
|
export { type AnyRouteOrFactory, type FlattenRouteFactories, FragmentBuilder, type FragnoFragmentSharedConfig, type FragnoInstantiatedFragment, type FragnoPublicClientConfig, type FragnoPublicConfig, type FragnoRouteConfig, type RouteFactory, type RouteFactoryContext, createFragment, defineFragment, defineRoute, defineRoutes };
|
package/dist/mod.js
CHANGED
|
@@ -114,6 +114,34 @@ function createFragment(fragmentDefinition, config, routesOrFactories, fragnoCon
|
|
|
114
114
|
middlewareHandler = handler;
|
|
115
115
|
return fragment;
|
|
116
116
|
},
|
|
117
|
+
handlersFor: (framework) => {
|
|
118
|
+
const handler = fragment.handler;
|
|
119
|
+
return {
|
|
120
|
+
astro: { ALL: handler },
|
|
121
|
+
"react-router": {
|
|
122
|
+
loader: ({ request }) => handler(request),
|
|
123
|
+
action: ({ request }) => handler(request)
|
|
124
|
+
},
|
|
125
|
+
"next-js": {
|
|
126
|
+
GET: handler,
|
|
127
|
+
POST: handler,
|
|
128
|
+
PUT: handler,
|
|
129
|
+
DELETE: handler,
|
|
130
|
+
PATCH: handler,
|
|
131
|
+
HEAD: handler,
|
|
132
|
+
OPTIONS: handler
|
|
133
|
+
},
|
|
134
|
+
"svelte-kit": {
|
|
135
|
+
GET: handler,
|
|
136
|
+
POST: handler,
|
|
137
|
+
PUT: handler,
|
|
138
|
+
DELETE: handler,
|
|
139
|
+
PATCH: handler,
|
|
140
|
+
HEAD: handler,
|
|
141
|
+
OPTIONS: handler
|
|
142
|
+
}
|
|
143
|
+
}[framework];
|
|
144
|
+
},
|
|
117
145
|
handler: async (req) => {
|
|
118
146
|
const pathname = new URL(req.url).pathname;
|
|
119
147
|
const matchRoute = pathname.startsWith(mountRoute) ? pathname.slice(mountRoute.length) : null;
|
package/dist/mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","names":["#deps","#services","#options","#route","route","#definition","middlewareHandler:\n | FragnoMiddlewareCallback<FlattenRouteFactories<TRoutesOrFactories>, TDeps, TServices>\n | undefined","fragment: FragnoInstantiatedFragment<\n FlattenRouteFactories<TRoutesOrFactories>,\n TDeps,\n TServices\n >"],"sources":["../src/api/request-middleware.ts","../src/api/fragment.ts"],"sourcesContent":["import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport type { ExtractRouteByPath, ExtractRoutePath } from \"../client/client\";\nimport type { HTTPMethod } from \"./api\";\nimport type { ExtractPathParams } from \"./internal/path\";\nimport type { RequestBodyType } from \"./request-input-context\";\nimport type { AnyFragnoRouteConfig } from \"./route\";\nimport { RequestInputContext } from \"./request-input-context\";\nimport { OutputContext, RequestOutputContext } from \"./request-output-context\";\n\nexport type FragnoMiddlewareCallback<\n TRoutes extends readonly AnyFragnoRouteConfig[],\n TDeps,\n TServices extends Record<string, unknown>,\n> = (\n inputContext: RequestMiddlewareInputContext<TRoutes>,\n outputContext: RequestMiddlewareOutputContext<TDeps, TServices>,\n) => Promise<Response | undefined> | Response | undefined;\n\nexport interface RequestMiddlewareOptions {\n path: string;\n method: HTTPMethod;\n pathParams?: Record<string, string>;\n searchParams: URLSearchParams;\n body: RequestBodyType;\n request: Request;\n}\n\nexport class RequestMiddlewareOutputContext<\n const TDeps,\n const TServices extends Record<string, unknown>,\n> extends OutputContext<unknown, string> {\n readonly #deps: TDeps;\n readonly #services: TServices;\n\n constructor(deps: TDeps, services: TServices) {\n super();\n this.#deps = deps;\n this.#services = services;\n }\n\n get deps(): TDeps {\n return this.#deps;\n }\n\n get services(): TServices {\n return this.#services;\n }\n}\n\nexport class RequestMiddlewareInputContext<const TRoutes extends readonly AnyFragnoRouteConfig[]> {\n readonly #options: RequestMiddlewareOptions;\n readonly #route: TRoutes[number];\n\n constructor(routes: TRoutes, options: RequestMiddlewareOptions) {\n this.#options = options;\n\n const route = routes.find(\n (route) => route.path === options.path && route.method === options.method,\n );\n\n if (!route) {\n throw new Error(`Route not found: ${options.path} ${options.method}`);\n }\n\n this.#route = route;\n }\n\n get path(): string {\n return this.#options.path;\n }\n\n get method(): HTTPMethod {\n return this.#options.method;\n }\n\n get pathParams(): Record<string, string> {\n return this.#options.pathParams ?? {};\n }\n\n get queryParams(): URLSearchParams {\n return this.#options.searchParams;\n }\n\n get inputSchema(): StandardSchemaV1 | undefined {\n return this.#route.inputSchema;\n }\n\n get outputSchema(): StandardSchemaV1 | undefined {\n return this.#route.outputSchema;\n }\n\n // Defined as a field so that `this` reference stays in tact when destructuring\n ifMatchesRoute = async <\n const TMethod extends HTTPMethod,\n const TPath extends ExtractRoutePath<TRoutes>,\n const TRoute extends ExtractRouteByPath<TRoutes, TPath, TMethod> = ExtractRouteByPath<\n TRoutes,\n TPath,\n TMethod\n >,\n >(\n method: TMethod,\n path: TPath,\n handler: (\n ...args: Parameters<TRoute[\"handler\"]>\n ) => Promise<Response | undefined | void> | Response | undefined | void,\n ): Promise<Response | undefined> => {\n if (this.path !== path || this.method !== method) {\n return undefined;\n }\n\n // TODO(Wilco): We should support reading/modifying headers here.\n const inputContext = await RequestInputContext.fromRequest({\n request: this.#options.request,\n method: this.#options.method,\n path: path,\n pathParams: this.pathParams as ExtractPathParams<TPath>,\n inputSchema: this.#route.inputSchema,\n });\n\n const outputContext = new RequestOutputContext(this.#route.outputSchema);\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (handler as any)(inputContext, outputContext);\n };\n}\n","import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport { type FragnoRouteConfig, type HTTPMethod } from \"./api\";\nimport { FragnoApiError } from \"./error\";\nimport { getMountRoute } from \"./internal/route\";\nimport { addRoute, createRouter, findRoute } from \"rou3\";\nimport { RequestInputContext } from \"./request-input-context\";\nimport type { ExtractPathParams } from \"./internal/path\";\nimport { RequestOutputContext } from \"./request-output-context\";\nimport {\n type EmptyObject,\n type AnyFragnoRouteConfig,\n type AnyRouteOrFactory,\n type FlattenRouteFactories,\n resolveRouteFactories,\n} from \"./route\";\nimport {\n RequestMiddlewareInputContext,\n RequestMiddlewareOutputContext,\n type FragnoMiddlewareCallback,\n} from \"./request-middleware\";\n\nexport interface FragnoPublicConfig {\n mountRoute?: string;\n}\n\nexport interface FragnoPublicClientConfig {\n mountRoute?: string;\n baseUrl?: string;\n}\n\nexport interface FragnoInstantiatedFragment<\n TRoutes extends readonly AnyFragnoRouteConfig[] = [],\n TDeps = EmptyObject,\n TServices extends Record<string, unknown> = Record<string, unknown>,\n> {\n config: FragnoFragmentSharedConfig<TRoutes>;\n deps: TDeps;\n services: TServices;\n handler: (req: Request) => Promise<Response>;\n mountRoute: string;\n withMiddleware: (\n handler: FragnoMiddlewareCallback<TRoutes, TDeps, TServices>,\n ) => FragnoInstantiatedFragment<TRoutes, TDeps, TServices>;\n}\n\nexport interface FragnoFragmentSharedConfig<\n TRoutes extends readonly FragnoRouteConfig<\n HTTPMethod,\n string,\n StandardSchemaV1 | undefined,\n StandardSchemaV1 | undefined,\n string,\n string\n >[],\n> {\n name: string;\n routes: TRoutes;\n}\n\nexport type AnyFragnoFragmentSharedConfig = FragnoFragmentSharedConfig<\n readonly AnyFragnoRouteConfig[]\n>;\n\ninterface FragmentDefinition<\n TConfig,\n TDeps = EmptyObject,\n TServices extends Record<string, unknown> = EmptyObject,\n> {\n name: string;\n dependencies?: (config: TConfig) => TDeps;\n services?: (config: TConfig, deps: TDeps) => TServices;\n}\n\nexport class FragmentBuilder<\n TConfig,\n TDeps = EmptyObject,\n TServices extends Record<string, unknown> = EmptyObject,\n> {\n #definition: FragmentDefinition<TConfig, TDeps, TServices>;\n\n constructor(definition: FragmentDefinition<TConfig, TDeps, TServices>) {\n this.#definition = definition;\n }\n\n get definition() {\n return this.#definition;\n }\n\n withDependencies<TNewDeps>(\n fn: (config: TConfig) => TNewDeps,\n ): FragmentBuilder<TConfig, TNewDeps, TServices> {\n return new FragmentBuilder<TConfig, TNewDeps, TServices>({\n ...this.#definition,\n dependencies: fn,\n } as FragmentDefinition<TConfig, TNewDeps, TServices>);\n }\n\n withServices<TNewServices extends Record<string, unknown>>(\n fn: (config: TConfig, deps: TDeps) => TNewServices,\n ): FragmentBuilder<TConfig, TDeps, TNewServices> {\n return new FragmentBuilder<TConfig, TDeps, TNewServices>({\n ...this.#definition,\n services: fn,\n } as FragmentDefinition<TConfig, TDeps, TNewServices>);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport function defineFragment<TConfig = {}>(name: string): FragmentBuilder<TConfig> {\n return new FragmentBuilder({\n name,\n });\n}\n\nexport function createFragment<\n TConfig,\n TDeps,\n TServices extends Record<string, unknown>,\n const TRoutesOrFactories extends readonly AnyRouteOrFactory[],\n>(\n fragmentDefinition: FragmentBuilder<TConfig, TDeps, TServices>,\n config: TConfig,\n routesOrFactories: TRoutesOrFactories,\n fragnoConfig: FragnoPublicConfig = {},\n): FragnoInstantiatedFragment<FlattenRouteFactories<TRoutesOrFactories>, TDeps, TServices> {\n const definition = fragmentDefinition.definition;\n\n const dependencies = definition.dependencies ? definition.dependencies(config) : ({} as TDeps);\n const services = definition.services\n ? definition.services(config, dependencies)\n : ({} as TServices);\n\n const context = { config, deps: dependencies, services };\n const routes = resolveRouteFactories(context, routesOrFactories);\n\n const mountRoute = getMountRoute({\n name: definition.name,\n mountRoute: fragnoConfig.mountRoute,\n });\n\n const router =\n createRouter<\n FragnoRouteConfig<\n HTTPMethod,\n string,\n StandardSchemaV1 | undefined,\n StandardSchemaV1 | undefined,\n string,\n string\n >\n >();\n\n let middlewareHandler:\n | FragnoMiddlewareCallback<FlattenRouteFactories<TRoutesOrFactories>, TDeps, TServices>\n | undefined;\n\n for (const routeConfig of routes) {\n addRoute(router, routeConfig.method.toUpperCase(), routeConfig.path, routeConfig);\n }\n\n const fragment: FragnoInstantiatedFragment<\n FlattenRouteFactories<TRoutesOrFactories>,\n TDeps,\n TServices\n > = {\n mountRoute,\n config: {\n name: definition.name,\n routes,\n },\n services,\n deps: dependencies,\n withMiddleware: (handler) => {\n if (middlewareHandler) {\n throw new Error(\"Middleware already set\");\n }\n\n middlewareHandler = handler;\n\n return fragment;\n },\n handler: async (req: Request) => {\n const url = new URL(req.url);\n const pathname = url.pathname;\n\n const matchRoute = pathname.startsWith(mountRoute) ? pathname.slice(mountRoute.length) : null;\n\n if (matchRoute === null) {\n return Response.json(\n {\n error:\n `Fragno: Route for '${definition.name}' not found. Is the fragment mounted on the right route? ` +\n `Expecting: '${mountRoute}'.`,\n code: \"ROUTE_NOT_FOUND\",\n },\n { status: 404 },\n );\n }\n\n const route = findRoute(router, req.method, matchRoute);\n\n if (!route) {\n return Response.json(\n { error: `Fragno: Route for '${definition.name}' not found`, code: \"ROUTE_NOT_FOUND\" },\n { status: 404 },\n );\n }\n\n const { handler, inputSchema, outputSchema, path } = route.data;\n\n const outputContext = new RequestOutputContext(outputSchema);\n\n if (middlewareHandler) {\n const middlewareInputContext = new RequestMiddlewareInputContext(routes, {\n method: req.method as HTTPMethod,\n path,\n pathParams: route.params,\n searchParams: new URL(req.url).searchParams,\n body: req.body,\n request: req,\n });\n\n const middlewareOutputContext = new RequestMiddlewareOutputContext(dependencies, services);\n\n try {\n const middlewareResult = await middlewareHandler(\n middlewareInputContext,\n middlewareOutputContext,\n );\n if (middlewareResult !== undefined) {\n return middlewareResult;\n }\n } catch (error) {\n console.error(\"Error in middleware\", error);\n\n if (error instanceof FragnoApiError) {\n // TODO: If a validation error occurs in middleware (when calling `await input.valid()`)\n // the processing is short-circuited and a potential `catch` block around the call\n // to `input.valid()` in the actual handler will not be executed.\n return error.toResponse();\n }\n\n return Response.json(\n { error: \"Internal server error\", code: \"INTERNAL_SERVER_ERROR\" },\n { status: 500 },\n );\n }\n }\n\n const inputContext = await RequestInputContext.fromRequest({\n request: req,\n method: req.method,\n path,\n pathParams: (route.params ?? {}) as ExtractPathParams<typeof path>,\n inputSchema,\n });\n\n try {\n const result = await handler(inputContext, outputContext);\n return result;\n } catch (error) {\n console.error(\"Error in handler\", error);\n\n if (error instanceof FragnoApiError) {\n return error.toResponse();\n }\n\n return Response.json(\n { error: \"Internal server error\", code: \"INTERNAL_SERVER_ERROR\" },\n { status: 500 },\n );\n }\n },\n };\n\n return fragment;\n}\n"],"mappings":";;;;;AA2BA,IAAa,iCAAb,cAGU,cAA+B;CACvC,CAASA;CACT,CAASC;CAET,YAAY,MAAa,UAAqB;AAC5C,SAAO;AACP,QAAKD,OAAQ;AACb,QAAKC,WAAY;;CAGnB,IAAI,OAAc;AAChB,SAAO,MAAKD;;CAGd,IAAI,WAAsB;AACxB,SAAO,MAAKC;;;AAIhB,IAAa,gCAAb,MAAkG;CAChG,CAASC;CACT,CAASC;CAET,YAAY,QAAiB,SAAmC;AAC9D,QAAKD,UAAW;EAEhB,MAAM,QAAQ,OAAO,MAClB,YAAUE,QAAM,SAAS,QAAQ,QAAQA,QAAM,WAAW,QAAQ,OACpE;AAED,MAAI,CAAC,MACH,OAAM,IAAI,MAAM,oBAAoB,QAAQ,KAAK,GAAG,QAAQ,SAAS;AAGvE,QAAKD,QAAS;;CAGhB,IAAI,OAAe;AACjB,SAAO,MAAKD,QAAS;;CAGvB,IAAI,SAAqB;AACvB,SAAO,MAAKA,QAAS;;CAGvB,IAAI,aAAqC;AACvC,SAAO,MAAKA,QAAS,cAAc,EAAE;;CAGvC,IAAI,cAA+B;AACjC,SAAO,MAAKA,QAAS;;CAGvB,IAAI,cAA4C;AAC9C,SAAO,MAAKC,MAAO;;CAGrB,IAAI,eAA6C;AAC/C,SAAO,MAAKA,MAAO;;CAIrB,iBAAiB,OASf,QACA,MACA,YAGkC;AAClC,MAAI,KAAK,SAAS,QAAQ,KAAK,WAAW,OACxC;EAIF,MAAM,eAAe,MAAM,oBAAoB,YAAY;GACzD,SAAS,MAAKD,QAAS;GACvB,QAAQ,MAAKA,QAAS;GAChB;GACN,YAAY,KAAK;GACjB,aAAa,MAAKC,MAAO;GAC1B,CAAC;EAEF,MAAM,gBAAgB,IAAI,qBAAqB,MAAKA,MAAO,aAAa;AAGxE,SAAQ,QAAgB,cAAc,cAAc;;;;;;AClDxD,IAAa,kBAAb,MAAa,gBAIX;CACA;CAEA,YAAY,YAA2D;AACrE,QAAKE,aAAc;;CAGrB,IAAI,aAAa;AACf,SAAO,MAAKA;;CAGd,iBACE,IAC+C;AAC/C,SAAO,IAAI,gBAA8C;GACvD,GAAG,MAAKA;GACR,cAAc;GACf,CAAqD;;CAGxD,aACE,IAC+C;AAC/C,SAAO,IAAI,gBAA8C;GACvD,GAAG,MAAKA;GACR,UAAU;GACX,CAAqD;;;AAK1D,SAAgB,eAA6B,MAAwC;AACnF,QAAO,IAAI,gBAAgB,EACzB,MACD,CAAC;;AAGJ,SAAgB,eAMd,oBACA,QACA,mBACA,eAAmC,EAAE,EACoD;CACzF,MAAM,aAAa,mBAAmB;CAEtC,MAAM,eAAe,WAAW,eAAe,WAAW,aAAa,OAAO,GAAI,EAAE;CACpF,MAAM,WAAW,WAAW,WACxB,WAAW,SAAS,QAAQ,aAAa,GACxC,EAAE;CAGP,MAAM,SAAS,sBADC;EAAE;EAAQ,MAAM;EAAc;EAAU,EACV,kBAAkB;CAEhE,MAAM,aAAa,cAAc;EAC/B,MAAM,WAAW;EACjB,YAAY,aAAa;EAC1B,CAAC;CAEF,MAAM,SACJ,cASG;CAEL,IAAIC;AAIJ,MAAK,MAAM,eAAe,OACxB,UAAS,QAAQ,YAAY,OAAO,aAAa,EAAE,YAAY,MAAM,YAAY;CAGnF,MAAMC,WAIF;EACF;EACA,QAAQ;GACN,MAAM,WAAW;GACjB;GACD;EACD;EACA,MAAM;EACN,iBAAiB,YAAY;AAC3B,OAAI,kBACF,OAAM,IAAI,MAAM,yBAAyB;AAG3C,uBAAoB;AAEpB,UAAO;;EAET,SAAS,OAAO,QAAiB;GAE/B,MAAM,WADM,IAAI,IAAI,IAAI,IAAI,CACP;GAErB,MAAM,aAAa,SAAS,WAAW,WAAW,GAAG,SAAS,MAAM,WAAW,OAAO,GAAG;AAEzF,OAAI,eAAe,KACjB,QAAO,SAAS,KACd;IACE,OACE,sBAAsB,WAAW,KAAK,uEACvB,WAAW;IAC5B,MAAM;IACP,EACD,EAAE,QAAQ,KAAK,CAChB;GAGH,MAAM,QAAQ,UAAU,QAAQ,IAAI,QAAQ,WAAW;AAEvD,OAAI,CAAC,MACH,QAAO,SAAS,KACd;IAAE,OAAO,sBAAsB,WAAW,KAAK;IAAc,MAAM;IAAmB,EACtF,EAAE,QAAQ,KAAK,CAChB;GAGH,MAAM,EAAE,SAAS,aAAa,cAAc,SAAS,MAAM;GAE3D,MAAM,gBAAgB,IAAI,qBAAqB,aAAa;AAE5D,OAAI,mBAAmB;IACrB,MAAM,yBAAyB,IAAI,8BAA8B,QAAQ;KACvE,QAAQ,IAAI;KACZ;KACA,YAAY,MAAM;KAClB,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC;KAC/B,MAAM,IAAI;KACV,SAAS;KACV,CAAC;IAEF,MAAM,0BAA0B,IAAI,+BAA+B,cAAc,SAAS;AAE1F,QAAI;KACF,MAAM,mBAAmB,MAAM,kBAC7B,wBACA,wBACD;AACD,SAAI,qBAAqB,OACvB,QAAO;aAEF,OAAO;AACd,aAAQ,MAAM,uBAAuB,MAAM;AAE3C,SAAI,iBAAiB,eAInB,QAAO,MAAM,YAAY;AAG3B,YAAO,SAAS,KACd;MAAE,OAAO;MAAyB,MAAM;MAAyB,EACjE,EAAE,QAAQ,KAAK,CAChB;;;GAIL,MAAM,eAAe,MAAM,oBAAoB,YAAY;IACzD,SAAS;IACT,QAAQ,IAAI;IACZ;IACA,YAAa,MAAM,UAAU,EAAE;IAC/B;IACD,CAAC;AAEF,OAAI;AAEF,WADe,MAAM,QAAQ,cAAc,cAAc;YAElD,OAAO;AACd,YAAQ,MAAM,oBAAoB,MAAM;AAExC,QAAI,iBAAiB,eACnB,QAAO,MAAM,YAAY;AAG3B,WAAO,SAAS,KACd;KAAE,OAAO;KAAyB,MAAM;KAAyB,EACjE,EAAE,QAAQ,KAAK,CAChB;;;EAGN;AAED,QAAO"}
|
|
1
|
+
{"version":3,"file":"mod.js","names":["#deps","#services","#options","#route","route","#definition","middlewareHandler:\n | FragnoMiddlewareCallback<FlattenRouteFactories<TRoutesOrFactories>, TDeps, TServices>\n | undefined","fragment: FragnoInstantiatedFragment<\n FlattenRouteFactories<TRoutesOrFactories>,\n TDeps,\n TServices\n >"],"sources":["../src/api/request-middleware.ts","../src/api/fragment.ts"],"sourcesContent":["import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport type { ExtractRouteByPath, ExtractRoutePath } from \"../client/client\";\nimport type { HTTPMethod } from \"./api\";\nimport type { ExtractPathParams } from \"./internal/path\";\nimport type { RequestBodyType } from \"./request-input-context\";\nimport type { AnyFragnoRouteConfig } from \"./route\";\nimport { RequestInputContext } from \"./request-input-context\";\nimport { OutputContext, RequestOutputContext } from \"./request-output-context\";\n\nexport type FragnoMiddlewareCallback<\n TRoutes extends readonly AnyFragnoRouteConfig[],\n TDeps,\n TServices extends Record<string, unknown>,\n> = (\n inputContext: RequestMiddlewareInputContext<TRoutes>,\n outputContext: RequestMiddlewareOutputContext<TDeps, TServices>,\n) => Promise<Response | undefined> | Response | undefined;\n\nexport interface RequestMiddlewareOptions {\n path: string;\n method: HTTPMethod;\n pathParams?: Record<string, string>;\n searchParams: URLSearchParams;\n body: RequestBodyType;\n request: Request;\n}\n\nexport class RequestMiddlewareOutputContext<\n const TDeps,\n const TServices extends Record<string, unknown>,\n> extends OutputContext<unknown, string> {\n readonly #deps: TDeps;\n readonly #services: TServices;\n\n constructor(deps: TDeps, services: TServices) {\n super();\n this.#deps = deps;\n this.#services = services;\n }\n\n get deps(): TDeps {\n return this.#deps;\n }\n\n get services(): TServices {\n return this.#services;\n }\n}\n\nexport class RequestMiddlewareInputContext<const TRoutes extends readonly AnyFragnoRouteConfig[]> {\n readonly #options: RequestMiddlewareOptions;\n readonly #route: TRoutes[number];\n\n constructor(routes: TRoutes, options: RequestMiddlewareOptions) {\n this.#options = options;\n\n const route = routes.find(\n (route) => route.path === options.path && route.method === options.method,\n );\n\n if (!route) {\n throw new Error(`Route not found: ${options.path} ${options.method}`);\n }\n\n this.#route = route;\n }\n\n get path(): string {\n return this.#options.path;\n }\n\n get method(): HTTPMethod {\n return this.#options.method;\n }\n\n get pathParams(): Record<string, string> {\n return this.#options.pathParams ?? {};\n }\n\n get queryParams(): URLSearchParams {\n return this.#options.searchParams;\n }\n\n get inputSchema(): StandardSchemaV1 | undefined {\n return this.#route.inputSchema;\n }\n\n get outputSchema(): StandardSchemaV1 | undefined {\n return this.#route.outputSchema;\n }\n\n // Defined as a field so that `this` reference stays in tact when destructuring\n ifMatchesRoute = async <\n const TMethod extends HTTPMethod,\n const TPath extends ExtractRoutePath<TRoutes>,\n const TRoute extends ExtractRouteByPath<TRoutes, TPath, TMethod> = ExtractRouteByPath<\n TRoutes,\n TPath,\n TMethod\n >,\n >(\n method: TMethod,\n path: TPath,\n handler: (\n ...args: Parameters<TRoute[\"handler\"]>\n ) => Promise<Response | undefined | void> | Response | undefined | void,\n ): Promise<Response | undefined> => {\n if (this.path !== path || this.method !== method) {\n return undefined;\n }\n\n // TODO(Wilco): We should support reading/modifying headers here.\n const inputContext = await RequestInputContext.fromRequest({\n request: this.#options.request,\n method: this.#options.method,\n path: path,\n pathParams: this.pathParams as ExtractPathParams<TPath>,\n inputSchema: this.#route.inputSchema,\n });\n\n const outputContext = new RequestOutputContext(this.#route.outputSchema);\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (handler as any)(inputContext, outputContext);\n };\n}\n","import type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport { type FragnoRouteConfig, type HTTPMethod } from \"./api\";\nimport { FragnoApiError } from \"./error\";\nimport { getMountRoute } from \"./internal/route\";\nimport { addRoute, createRouter, findRoute } from \"rou3\";\nimport { RequestInputContext } from \"./request-input-context\";\nimport type { ExtractPathParams } from \"./internal/path\";\nimport { RequestOutputContext } from \"./request-output-context\";\nimport {\n type EmptyObject,\n type AnyFragnoRouteConfig,\n type AnyRouteOrFactory,\n type FlattenRouteFactories,\n resolveRouteFactories,\n} from \"./route\";\nimport {\n RequestMiddlewareInputContext,\n RequestMiddlewareOutputContext,\n type FragnoMiddlewareCallback,\n} from \"./request-middleware\";\n\nexport interface FragnoPublicConfig {\n mountRoute?: string;\n}\n\nexport interface FragnoPublicClientConfig {\n mountRoute?: string;\n baseUrl?: string;\n}\n\ntype AstroHandlers = {\n ALL: (req: Request) => Promise<Response>;\n};\n\ntype ReactRouterHandlers = {\n loader: (args: { request: Request }) => Promise<Response>;\n action: (args: { request: Request }) => Promise<Response>;\n};\n\ntype StandardHandlers = {\n GET: (req: Request) => Promise<Response>;\n POST: (req: Request) => Promise<Response>;\n PUT: (req: Request) => Promise<Response>;\n DELETE: (req: Request) => Promise<Response>;\n PATCH: (req: Request) => Promise<Response>;\n HEAD: (req: Request) => Promise<Response>;\n OPTIONS: (req: Request) => Promise<Response>;\n};\n\ntype HandlersByFramework = {\n astro: AstroHandlers;\n \"react-router\": ReactRouterHandlers;\n \"next-js\": StandardHandlers;\n \"svelte-kit\": StandardHandlers;\n};\n\ntype FullstackFrameworks = keyof HandlersByFramework;\n\nexport interface FragnoInstantiatedFragment<\n TRoutes extends readonly AnyFragnoRouteConfig[] = [],\n TDeps = EmptyObject,\n TServices extends Record<string, unknown> = Record<string, unknown>,\n> {\n config: FragnoFragmentSharedConfig<TRoutes>;\n deps: TDeps;\n services: TServices;\n handlersFor: <T extends FullstackFrameworks>(framework: T) => HandlersByFramework[T];\n handler: (req: Request) => Promise<Response>;\n mountRoute: string;\n withMiddleware: (\n handler: FragnoMiddlewareCallback<TRoutes, TDeps, TServices>,\n ) => FragnoInstantiatedFragment<TRoutes, TDeps, TServices>;\n}\n\nexport interface FragnoFragmentSharedConfig<\n TRoutes extends readonly FragnoRouteConfig<\n HTTPMethod,\n string,\n StandardSchemaV1 | undefined,\n StandardSchemaV1 | undefined,\n string,\n string\n >[],\n> {\n name: string;\n routes: TRoutes;\n}\n\nexport type AnyFragnoFragmentSharedConfig = FragnoFragmentSharedConfig<\n readonly AnyFragnoRouteConfig[]\n>;\n\ninterface FragmentDefinition<\n TConfig,\n TDeps = EmptyObject,\n TServices extends Record<string, unknown> = EmptyObject,\n> {\n name: string;\n dependencies?: (config: TConfig) => TDeps;\n services?: (config: TConfig, deps: TDeps) => TServices;\n}\n\nexport class FragmentBuilder<\n TConfig,\n TDeps = EmptyObject,\n TServices extends Record<string, unknown> = EmptyObject,\n> {\n #definition: FragmentDefinition<TConfig, TDeps, TServices>;\n\n constructor(definition: FragmentDefinition<TConfig, TDeps, TServices>) {\n this.#definition = definition;\n }\n\n get definition() {\n return this.#definition;\n }\n\n withDependencies<TNewDeps>(\n fn: (config: TConfig) => TNewDeps,\n ): FragmentBuilder<TConfig, TNewDeps, TServices> {\n return new FragmentBuilder<TConfig, TNewDeps, TServices>({\n ...this.#definition,\n dependencies: fn,\n } as FragmentDefinition<TConfig, TNewDeps, TServices>);\n }\n\n withServices<TNewServices extends Record<string, unknown>>(\n fn: (config: TConfig, deps: TDeps) => TNewServices,\n ): FragmentBuilder<TConfig, TDeps, TNewServices> {\n return new FragmentBuilder<TConfig, TDeps, TNewServices>({\n ...this.#definition,\n services: fn,\n } as FragmentDefinition<TConfig, TDeps, TNewServices>);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport function defineFragment<TConfig = {}>(name: string): FragmentBuilder<TConfig> {\n return new FragmentBuilder({\n name,\n });\n}\n\nexport function createFragment<\n TConfig,\n TDeps,\n TServices extends Record<string, unknown>,\n const TRoutesOrFactories extends readonly AnyRouteOrFactory[],\n>(\n fragmentDefinition: FragmentBuilder<TConfig, TDeps, TServices>,\n config: TConfig,\n routesOrFactories: TRoutesOrFactories,\n fragnoConfig: FragnoPublicConfig = {},\n): FragnoInstantiatedFragment<FlattenRouteFactories<TRoutesOrFactories>, TDeps, TServices> {\n const definition = fragmentDefinition.definition;\n\n const dependencies = definition.dependencies ? definition.dependencies(config) : ({} as TDeps);\n const services = definition.services\n ? definition.services(config, dependencies)\n : ({} as TServices);\n\n const context = { config, deps: dependencies, services };\n const routes = resolveRouteFactories(context, routesOrFactories);\n\n const mountRoute = getMountRoute({\n name: definition.name,\n mountRoute: fragnoConfig.mountRoute,\n });\n\n const router =\n createRouter<\n FragnoRouteConfig<\n HTTPMethod,\n string,\n StandardSchemaV1 | undefined,\n StandardSchemaV1 | undefined,\n string,\n string\n >\n >();\n\n let middlewareHandler:\n | FragnoMiddlewareCallback<FlattenRouteFactories<TRoutesOrFactories>, TDeps, TServices>\n | undefined;\n\n for (const routeConfig of routes) {\n addRoute(router, routeConfig.method.toUpperCase(), routeConfig.path, routeConfig);\n }\n\n const fragment: FragnoInstantiatedFragment<\n FlattenRouteFactories<TRoutesOrFactories>,\n TDeps,\n TServices\n > = {\n mountRoute,\n config: {\n name: definition.name,\n routes,\n },\n services,\n deps: dependencies,\n withMiddleware: (handler) => {\n if (middlewareHandler) {\n throw new Error(\"Middleware already set\");\n }\n\n middlewareHandler = handler;\n\n return fragment;\n },\n handlersFor: <T extends FullstackFrameworks>(framework: T): HandlersByFramework[T] => {\n const handler = fragment.handler;\n const allHandlers = {\n astro: { ALL: handler },\n \"react-router\": {\n loader: ({ request }: { request: Request }) => handler(request),\n action: ({ request }: { request: Request }) => handler(request),\n },\n \"next-js\": {\n GET: handler,\n POST: handler,\n PUT: handler,\n DELETE: handler,\n PATCH: handler,\n HEAD: handler,\n OPTIONS: handler,\n },\n \"svelte-kit\": {\n GET: handler,\n POST: handler,\n PUT: handler,\n DELETE: handler,\n PATCH: handler,\n HEAD: handler,\n OPTIONS: handler,\n },\n } satisfies HandlersByFramework;\n\n return allHandlers[framework];\n },\n handler: async (req: Request) => {\n const url = new URL(req.url);\n const pathname = url.pathname;\n\n const matchRoute = pathname.startsWith(mountRoute) ? pathname.slice(mountRoute.length) : null;\n\n if (matchRoute === null) {\n return Response.json(\n {\n error:\n `Fragno: Route for '${definition.name}' not found. Is the fragment mounted on the right route? ` +\n `Expecting: '${mountRoute}'.`,\n code: \"ROUTE_NOT_FOUND\",\n },\n { status: 404 },\n );\n }\n\n const route = findRoute(router, req.method, matchRoute);\n\n if (!route) {\n return Response.json(\n { error: `Fragno: Route for '${definition.name}' not found`, code: \"ROUTE_NOT_FOUND\" },\n { status: 404 },\n );\n }\n\n const { handler, inputSchema, outputSchema, path } = route.data;\n\n const outputContext = new RequestOutputContext(outputSchema);\n\n if (middlewareHandler) {\n const middlewareInputContext = new RequestMiddlewareInputContext(routes, {\n method: req.method as HTTPMethod,\n path,\n pathParams: route.params,\n searchParams: new URL(req.url).searchParams,\n body: req.body,\n request: req,\n });\n\n const middlewareOutputContext = new RequestMiddlewareOutputContext(dependencies, services);\n\n try {\n const middlewareResult = await middlewareHandler(\n middlewareInputContext,\n middlewareOutputContext,\n );\n if (middlewareResult !== undefined) {\n return middlewareResult;\n }\n } catch (error) {\n console.error(\"Error in middleware\", error);\n\n if (error instanceof FragnoApiError) {\n // TODO: If a validation error occurs in middleware (when calling `await input.valid()`)\n // the processing is short-circuited and a potential `catch` block around the call\n // to `input.valid()` in the actual handler will not be executed.\n return error.toResponse();\n }\n\n return Response.json(\n { error: \"Internal server error\", code: \"INTERNAL_SERVER_ERROR\" },\n { status: 500 },\n );\n }\n }\n\n const inputContext = await RequestInputContext.fromRequest({\n request: req,\n method: req.method,\n path,\n pathParams: (route.params ?? {}) as ExtractPathParams<typeof path>,\n inputSchema,\n });\n\n try {\n const result = await handler(inputContext, outputContext);\n return result;\n } catch (error) {\n console.error(\"Error in handler\", error);\n\n if (error instanceof FragnoApiError) {\n return error.toResponse();\n }\n\n return Response.json(\n { error: \"Internal server error\", code: \"INTERNAL_SERVER_ERROR\" },\n { status: 500 },\n );\n }\n },\n };\n\n return fragment;\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fragno-dev/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"exports": {
|
|
5
5
|
".": {
|
|
6
6
|
"bun": "./src/mod.ts",
|
|
@@ -44,30 +44,12 @@
|
|
|
44
44
|
"types": "./dist/client/client.svelte.d.ts",
|
|
45
45
|
"default": "./dist/client/client.svelte.js"
|
|
46
46
|
},
|
|
47
|
-
"./astro": {
|
|
48
|
-
"bun": "./src/integrations/astro.ts",
|
|
49
|
-
"development": "./src/integrations/astro.ts",
|
|
50
|
-
"types": "./dist/integrations/astro.d.ts",
|
|
51
|
-
"default": "./dist/integrations/astro.js"
|
|
52
|
-
},
|
|
53
|
-
"./next-js": {
|
|
54
|
-
"bun": "./src/integrations/next-js.ts",
|
|
55
|
-
"development": "./src/integrations/next-js.ts",
|
|
56
|
-
"types": "./dist/integrations/next-js.d.ts",
|
|
57
|
-
"default": "./dist/integrations/next-js.js"
|
|
58
|
-
},
|
|
59
47
|
"./react-ssr": {
|
|
60
48
|
"bun": "./src/integrations/react-ssr.ts",
|
|
61
49
|
"development": "./src/integrations/react-ssr.ts",
|
|
62
50
|
"types": "./dist/integrations/react-ssr.d.ts",
|
|
63
51
|
"default": "./dist/integrations/react-ssr.js"
|
|
64
52
|
},
|
|
65
|
-
"./svelte-kit": {
|
|
66
|
-
"bun": "./src/integrations/svelte-kit.ts",
|
|
67
|
-
"development": "./src/integrations/svelte-kit.ts",
|
|
68
|
-
"types": "./dist/integrations/svelte-kit.d.ts",
|
|
69
|
-
"default": "./dist/integrations/svelte-kit.js"
|
|
70
|
-
},
|
|
71
53
|
"./package.json": "./package.json"
|
|
72
54
|
},
|
|
73
55
|
"main": "./dist/mod.js",
|
package/src/api/fragment.ts
CHANGED
|
@@ -28,6 +28,34 @@ export interface FragnoPublicClientConfig {
|
|
|
28
28
|
baseUrl?: string;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
type AstroHandlers = {
|
|
32
|
+
ALL: (req: Request) => Promise<Response>;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
type ReactRouterHandlers = {
|
|
36
|
+
loader: (args: { request: Request }) => Promise<Response>;
|
|
37
|
+
action: (args: { request: Request }) => Promise<Response>;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
type StandardHandlers = {
|
|
41
|
+
GET: (req: Request) => Promise<Response>;
|
|
42
|
+
POST: (req: Request) => Promise<Response>;
|
|
43
|
+
PUT: (req: Request) => Promise<Response>;
|
|
44
|
+
DELETE: (req: Request) => Promise<Response>;
|
|
45
|
+
PATCH: (req: Request) => Promise<Response>;
|
|
46
|
+
HEAD: (req: Request) => Promise<Response>;
|
|
47
|
+
OPTIONS: (req: Request) => Promise<Response>;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
type HandlersByFramework = {
|
|
51
|
+
astro: AstroHandlers;
|
|
52
|
+
"react-router": ReactRouterHandlers;
|
|
53
|
+
"next-js": StandardHandlers;
|
|
54
|
+
"svelte-kit": StandardHandlers;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
type FullstackFrameworks = keyof HandlersByFramework;
|
|
58
|
+
|
|
31
59
|
export interface FragnoInstantiatedFragment<
|
|
32
60
|
TRoutes extends readonly AnyFragnoRouteConfig[] = [],
|
|
33
61
|
TDeps = EmptyObject,
|
|
@@ -36,6 +64,7 @@ export interface FragnoInstantiatedFragment<
|
|
|
36
64
|
config: FragnoFragmentSharedConfig<TRoutes>;
|
|
37
65
|
deps: TDeps;
|
|
38
66
|
services: TServices;
|
|
67
|
+
handlersFor: <T extends FullstackFrameworks>(framework: T) => HandlersByFramework[T];
|
|
39
68
|
handler: (req: Request) => Promise<Response>;
|
|
40
69
|
mountRoute: string;
|
|
41
70
|
withMiddleware: (
|
|
@@ -179,6 +208,36 @@ export function createFragment<
|
|
|
179
208
|
|
|
180
209
|
return fragment;
|
|
181
210
|
},
|
|
211
|
+
handlersFor: <T extends FullstackFrameworks>(framework: T): HandlersByFramework[T] => {
|
|
212
|
+
const handler = fragment.handler;
|
|
213
|
+
const allHandlers = {
|
|
214
|
+
astro: { ALL: handler },
|
|
215
|
+
"react-router": {
|
|
216
|
+
loader: ({ request }: { request: Request }) => handler(request),
|
|
217
|
+
action: ({ request }: { request: Request }) => handler(request),
|
|
218
|
+
},
|
|
219
|
+
"next-js": {
|
|
220
|
+
GET: handler,
|
|
221
|
+
POST: handler,
|
|
222
|
+
PUT: handler,
|
|
223
|
+
DELETE: handler,
|
|
224
|
+
PATCH: handler,
|
|
225
|
+
HEAD: handler,
|
|
226
|
+
OPTIONS: handler,
|
|
227
|
+
},
|
|
228
|
+
"svelte-kit": {
|
|
229
|
+
GET: handler,
|
|
230
|
+
POST: handler,
|
|
231
|
+
PUT: handler,
|
|
232
|
+
DELETE: handler,
|
|
233
|
+
PATCH: handler,
|
|
234
|
+
HEAD: handler,
|
|
235
|
+
OPTIONS: handler,
|
|
236
|
+
},
|
|
237
|
+
} satisfies HandlersByFramework;
|
|
238
|
+
|
|
239
|
+
return allHandlers[framework];
|
|
240
|
+
},
|
|
182
241
|
handler: async (req: Request) => {
|
|
183
242
|
const url = new URL(req.url);
|
|
184
243
|
const pathname = url.pathname;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-XFdAy-IQ.d.ts","names":[],"sources":["../src/api/route.ts","../src/api/request-middleware.ts","../src/api/fragment.ts","../src/client/client-error.ts","../src/client/client.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
//#region src/integrations/astro.d.ts
|
|
2
|
-
interface AstroHandlers {
|
|
3
|
-
ALL: ({
|
|
4
|
-
request
|
|
5
|
-
}: {
|
|
6
|
-
request: Request;
|
|
7
|
-
}) => Promise<Response>;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Converts a Fragno fragment handler to an Astro API route handler
|
|
11
|
-
*
|
|
12
|
-
* @param fragment - The Fragno fragment instance
|
|
13
|
-
* @returns An Astro API route handler function
|
|
14
|
-
*/
|
|
15
|
-
declare function toAstroHandler(handler: (req: Request) => Promise<Response>): AstroHandlers;
|
|
16
|
-
//#endregion
|
|
17
|
-
export { AstroHandlers, toAstroHandler };
|
|
18
|
-
//# sourceMappingURL=astro.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"astro.d.ts","names":[],"sources":["../../src/integrations/astro.ts"],"sourcesContent":[],"mappings":";UAAiB,aAAA;EAAA,GAAA,EAAA,CAAA;IAAA;GAAa,EAAA;IAAA,OAAA,EACE,OADF;KACpB,GAAoC,OAApC,CAA4C,QAA5C,CAAA;;;;;AASV;;;AAAkE,iBAAlD,cAAA,CAAkD,OAAA,EAAA,CAAA,GAAA,EAApB,OAAoB,EAAA,GAAR,OAAQ,CAAA,QAAA,CAAA,CAAA,EAAY,aAAZ"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
//#region src/integrations/astro.ts
|
|
2
|
-
/**
|
|
3
|
-
* Converts a Fragno fragment handler to an Astro API route handler
|
|
4
|
-
*
|
|
5
|
-
* @param fragment - The Fragno fragment instance
|
|
6
|
-
* @returns An Astro API route handler function
|
|
7
|
-
*/
|
|
8
|
-
function toAstroHandler(handler) {
|
|
9
|
-
return { ALL: async ({ request }) => {
|
|
10
|
-
return handler(request);
|
|
11
|
-
} };
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
//#endregion
|
|
15
|
-
export { toAstroHandler };
|
|
16
|
-
//# sourceMappingURL=astro.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"astro.js","names":[],"sources":["../../src/integrations/astro.ts"],"sourcesContent":["export interface AstroHandlers {\n ALL: ({ request }: { request: Request }) => Promise<Response>;\n}\n\n/**\n * Converts a Fragno fragment handler to an Astro API route handler\n *\n * @param fragment - The Fragno fragment instance\n * @returns An Astro API route handler function\n */\nexport function toAstroHandler(handler: (req: Request) => Promise<Response>): AstroHandlers {\n return {\n ALL: async ({ request }) => {\n return handler(request);\n },\n };\n}\n"],"mappings":";;;;;;;AAUA,SAAgB,eAAe,SAA6D;AAC1F,QAAO,EACL,KAAK,OAAO,EAAE,cAAc;AAC1B,SAAO,QAAQ,QAAQ;IAE1B"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
//#region src/integrations/next-js.d.ts
|
|
2
|
-
interface NextJsHandlers {
|
|
3
|
-
GET: (request: Request) => Promise<Response>;
|
|
4
|
-
POST: (request: Request) => Promise<Response>;
|
|
5
|
-
PUT: (request: Request) => Promise<Response>;
|
|
6
|
-
PATCH: (request: Request) => Promise<Response>;
|
|
7
|
-
DELETE: (request: Request) => Promise<Response>;
|
|
8
|
-
}
|
|
9
|
-
declare function toNextJsHandler<T extends {
|
|
10
|
-
handler: (req: Request) => Promise<Response>;
|
|
11
|
-
}>(fragment: T): NextJsHandlers;
|
|
12
|
-
declare function toNextJsHandler(handler: (req: Request) => Promise<Response>): NextJsHandlers;
|
|
13
|
-
//#endregion
|
|
14
|
-
export { NextJsHandlers, toNextJsHandler };
|
|
15
|
-
//# sourceMappingURL=next-js.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"next-js.d.ts","names":[],"sources":["../../src/integrations/next-js.ts"],"sourcesContent":[],"mappings":";UAAiB,cAAA;EAAA,GAAA,EAAA,CAAA,OAAA,EACA,OADc,EAAA,GACF,OADE,CACM,QADN,CAAA;EAAA,IAAA,EAAA,CAAA,OAAA,EAEb,OAFa,EAAA,GAED,OAFC,CAEO,QAFP,CAAA;KACd,EAAA,CAAA,OAAA,EAEA,OAFA,EAAA,GAEY,OAFZ,CAEoB,QAFpB,CAAA;OAAoB,EAAA,CAAA,OAAA,EAGlB,OAHkB,EAAA,GAGN,OAHM,CAGE,QAHF,CAAA;QAAR,EAAA,CAAA,OAAA,EAIT,OAJS,EAAA,GAIG,OAJH,CAIW,QAJX,CAAA;;AACS,iBAMtB,eANsB,CAAA,UAAA;SAAR,EAAA,CAAA,GAAA,EAM6B,OAN7B,EAAA,GAMyC,OANzC,CAMiD,QANjD,CAAA;WACb,EAML,CANK,CAAA,EAOd,cAPc;AAAoB,iBAQrB,eAAA,CARqB,OAAA,EAAA,CAAA,GAAA,EAQU,OARV,EAAA,GAQsB,OARtB,CAQ8B,QAR9B,CAAA,CAAA,EAQ0C,cAR1C"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
//#region src/integrations/next-js.ts
|
|
2
|
-
function toNextJsHandler(fragmentOrHandler) {
|
|
3
|
-
const handler = async (request) => {
|
|
4
|
-
return "handler" in fragmentOrHandler ? fragmentOrHandler.handler(request) : fragmentOrHandler(request);
|
|
5
|
-
};
|
|
6
|
-
return {
|
|
7
|
-
GET: handler,
|
|
8
|
-
POST: handler,
|
|
9
|
-
PUT: handler,
|
|
10
|
-
PATCH: handler,
|
|
11
|
-
DELETE: handler
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
//#endregion
|
|
16
|
-
export { toNextJsHandler };
|
|
17
|
-
//# sourceMappingURL=next-js.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"next-js.js","names":[],"sources":["../../src/integrations/next-js.ts"],"sourcesContent":["export interface NextJsHandlers {\n GET: (request: Request) => Promise<Response>;\n POST: (request: Request) => Promise<Response>;\n PUT: (request: Request) => Promise<Response>;\n PATCH: (request: Request) => Promise<Response>;\n DELETE: (request: Request) => Promise<Response>;\n}\n\nexport function toNextJsHandler<T extends { handler: (req: Request) => Promise<Response> }>(\n fragment: T,\n): NextJsHandlers;\nexport function toNextJsHandler(handler: (req: Request) => Promise<Response>): NextJsHandlers;\nexport function toNextJsHandler(\n fragmentOrHandler:\n | { handler: (req: Request) => Promise<Response> }\n | ((req: Request) => Promise<Response>),\n): NextJsHandlers {\n const handler = async (request: Request) => {\n return \"handler\" in fragmentOrHandler\n ? fragmentOrHandler.handler(request)\n : fragmentOrHandler(request);\n };\n\n return {\n GET: handler,\n POST: handler,\n PUT: handler,\n PATCH: handler,\n DELETE: handler,\n };\n}\n"],"mappings":";AAYA,SAAgB,gBACd,mBAGgB;CAChB,MAAM,UAAU,OAAO,YAAqB;AAC1C,SAAO,aAAa,oBAChB,kBAAkB,QAAQ,QAAQ,GAClC,kBAAkB,QAAQ;;AAGhC,QAAO;EACL,KAAK;EACL,MAAM;EACN,KAAK;EACL,OAAO;EACP,QAAQ;EACT"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
//#region src/integrations/svelte-kit.d.ts
|
|
2
|
-
type MaybePromise<T> = T | Promise<T>;
|
|
3
|
-
type SvelteKitRequestEvent = {
|
|
4
|
-
request: Request;
|
|
5
|
-
};
|
|
6
|
-
type SvelteKitRequestHandler = (event: SvelteKitRequestEvent) => MaybePromise<Response>;
|
|
7
|
-
interface SvelteKitHandlers {
|
|
8
|
-
GET: SvelteKitRequestHandler;
|
|
9
|
-
POST: SvelteKitRequestHandler;
|
|
10
|
-
PUT: SvelteKitRequestHandler;
|
|
11
|
-
PATCH: SvelteKitRequestHandler;
|
|
12
|
-
DELETE: SvelteKitRequestHandler;
|
|
13
|
-
OPTIONS: SvelteKitRequestHandler;
|
|
14
|
-
}
|
|
15
|
-
declare function toSvelteHandler<T extends {
|
|
16
|
-
handler: (req: Request) => Promise<Response>;
|
|
17
|
-
}>(fragment: T): SvelteKitHandlers;
|
|
18
|
-
declare function toSvelteHandler(handler: (req: Request) => Promise<Response>): SvelteKitHandlers;
|
|
19
|
-
//#endregion
|
|
20
|
-
export { SvelteKitHandlers, SvelteKitRequestHandler, toSvelteHandler };
|
|
21
|
-
//# sourceMappingURL=svelte-kit.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"svelte-kit.d.ts","names":[],"sources":["../../src/integrations/svelte-kit.ts"],"sourcesContent":[],"mappings":";KAAK,kBAAkB,IAAI,QAAQ;KAE9B,qBAAA,GAFY;EAAA,OAAA,EAGN,OAHM;;AAAkB,KAMvB,uBAAA,GANuB,CAAA,KAAA,EAMW,qBANX,EAAA,GAMqC,YANrC,CAMkD,QANlD,CAAA;AAAR,UAQV,iBAAA,CARU;EAAO,GAAA,EAS3B,uBAT2B;EAE7B,IAAA,EAQG,uBARkB;EAId,GAAA,EAKL,uBAL4B;EAAA,KAAA,EAM1B,uBAN0B;QAAW,EAOpC,uBAPoC;SAAuC,EAQ1E,uBAR0E;;AAAD,iBAWpE,eAXoE,CAAA,UAAA;EAEnE,OAAA,EAAA,CAAA,GAAA,EAS0C,OATzB,EAAA,GASqC,OATrC,CAS6C,QAT7C,CAAA;CAAA,CAAA,CAAA,QAAA,EAUtB,CAVsB,CAAA,EAW/B,iBAX+B;AAC3B,iBAWS,eAAA,CAXT,OAAA,EAAA,CAAA,GAAA,EAWwC,OAXxC,EAAA,GAWoD,OAXpD,CAW4D,QAX5D,CAAA,CAAA,EAWwE,iBAXxE"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
//#region src/integrations/svelte-kit.ts
|
|
2
|
-
function toSvelteHandler(fragmentOrHandler) {
|
|
3
|
-
const requestHandler = async ({ request }) => {
|
|
4
|
-
return "handler" in fragmentOrHandler ? fragmentOrHandler.handler(request) : fragmentOrHandler(request);
|
|
5
|
-
};
|
|
6
|
-
return {
|
|
7
|
-
GET: requestHandler,
|
|
8
|
-
POST: requestHandler,
|
|
9
|
-
PUT: requestHandler,
|
|
10
|
-
PATCH: requestHandler,
|
|
11
|
-
DELETE: requestHandler,
|
|
12
|
-
OPTIONS: requestHandler
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
export { toSvelteHandler };
|
|
18
|
-
//# sourceMappingURL=svelte-kit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"svelte-kit.js","names":["requestHandler: SvelteKitRequestHandler"],"sources":["../../src/integrations/svelte-kit.ts"],"sourcesContent":["type MaybePromise<T> = T | Promise<T>;\n\ntype SvelteKitRequestEvent = {\n request: Request;\n};\n\nexport type SvelteKitRequestHandler = (event: SvelteKitRequestEvent) => MaybePromise<Response>;\n\nexport interface SvelteKitHandlers {\n GET: SvelteKitRequestHandler;\n POST: SvelteKitRequestHandler;\n PUT: SvelteKitRequestHandler;\n PATCH: SvelteKitRequestHandler;\n DELETE: SvelteKitRequestHandler;\n OPTIONS: SvelteKitRequestHandler;\n}\n\nexport function toSvelteHandler<T extends { handler: (req: Request) => Promise<Response> }>(\n fragment: T,\n): SvelteKitHandlers;\nexport function toSvelteHandler(handler: (req: Request) => Promise<Response>): SvelteKitHandlers;\nexport function toSvelteHandler(\n fragmentOrHandler:\n | { handler: (req: Request) => Promise<Response> }\n | ((req: Request) => Promise<Response>),\n): SvelteKitHandlers {\n const requestHandler: SvelteKitRequestHandler = async ({ request }) => {\n return \"handler\" in fragmentOrHandler\n ? fragmentOrHandler.handler(request)\n : fragmentOrHandler(request);\n };\n\n return {\n GET: requestHandler,\n POST: requestHandler,\n PUT: requestHandler,\n PATCH: requestHandler,\n DELETE: requestHandler,\n OPTIONS: requestHandler,\n };\n}\n"],"mappings":";AAqBA,SAAgB,gBACd,mBAGmB;CACnB,MAAMA,iBAA0C,OAAO,EAAE,cAAc;AACrE,SAAO,aAAa,oBAChB,kBAAkB,QAAQ,QAAQ,GAClC,kBAAkB,QAAQ;;AAGhC,QAAO;EACL,KAAK;EACL,MAAM;EACN,KAAK;EACL,OAAO;EACP,QAAQ;EACR,SAAS;EACV"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export interface AstroHandlers {
|
|
2
|
-
ALL: ({ request }: { request: Request }) => Promise<Response>;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Converts a Fragno fragment handler to an Astro API route handler
|
|
7
|
-
*
|
|
8
|
-
* @param fragment - The Fragno fragment instance
|
|
9
|
-
* @returns An Astro API route handler function
|
|
10
|
-
*/
|
|
11
|
-
export function toAstroHandler(handler: (req: Request) => Promise<Response>): AstroHandlers {
|
|
12
|
-
return {
|
|
13
|
-
ALL: async ({ request }) => {
|
|
14
|
-
return handler(request);
|
|
15
|
-
},
|
|
16
|
-
};
|
|
17
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export interface NextJsHandlers {
|
|
2
|
-
GET: (request: Request) => Promise<Response>;
|
|
3
|
-
POST: (request: Request) => Promise<Response>;
|
|
4
|
-
PUT: (request: Request) => Promise<Response>;
|
|
5
|
-
PATCH: (request: Request) => Promise<Response>;
|
|
6
|
-
DELETE: (request: Request) => Promise<Response>;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export function toNextJsHandler<T extends { handler: (req: Request) => Promise<Response> }>(
|
|
10
|
-
fragment: T,
|
|
11
|
-
): NextJsHandlers;
|
|
12
|
-
export function toNextJsHandler(handler: (req: Request) => Promise<Response>): NextJsHandlers;
|
|
13
|
-
export function toNextJsHandler(
|
|
14
|
-
fragmentOrHandler:
|
|
15
|
-
| { handler: (req: Request) => Promise<Response> }
|
|
16
|
-
| ((req: Request) => Promise<Response>),
|
|
17
|
-
): NextJsHandlers {
|
|
18
|
-
const handler = async (request: Request) => {
|
|
19
|
-
return "handler" in fragmentOrHandler
|
|
20
|
-
? fragmentOrHandler.handler(request)
|
|
21
|
-
: fragmentOrHandler(request);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
return {
|
|
25
|
-
GET: handler,
|
|
26
|
-
POST: handler,
|
|
27
|
-
PUT: handler,
|
|
28
|
-
PATCH: handler,
|
|
29
|
-
DELETE: handler,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
type MaybePromise<T> = T | Promise<T>;
|
|
2
|
-
|
|
3
|
-
type SvelteKitRequestEvent = {
|
|
4
|
-
request: Request;
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
export type SvelteKitRequestHandler = (event: SvelteKitRequestEvent) => MaybePromise<Response>;
|
|
8
|
-
|
|
9
|
-
export interface SvelteKitHandlers {
|
|
10
|
-
GET: SvelteKitRequestHandler;
|
|
11
|
-
POST: SvelteKitRequestHandler;
|
|
12
|
-
PUT: SvelteKitRequestHandler;
|
|
13
|
-
PATCH: SvelteKitRequestHandler;
|
|
14
|
-
DELETE: SvelteKitRequestHandler;
|
|
15
|
-
OPTIONS: SvelteKitRequestHandler;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function toSvelteHandler<T extends { handler: (req: Request) => Promise<Response> }>(
|
|
19
|
-
fragment: T,
|
|
20
|
-
): SvelteKitHandlers;
|
|
21
|
-
export function toSvelteHandler(handler: (req: Request) => Promise<Response>): SvelteKitHandlers;
|
|
22
|
-
export function toSvelteHandler(
|
|
23
|
-
fragmentOrHandler:
|
|
24
|
-
| { handler: (req: Request) => Promise<Response> }
|
|
25
|
-
| ((req: Request) => Promise<Response>),
|
|
26
|
-
): SvelteKitHandlers {
|
|
27
|
-
const requestHandler: SvelteKitRequestHandler = async ({ request }) => {
|
|
28
|
-
return "handler" in fragmentOrHandler
|
|
29
|
-
? fragmentOrHandler.handler(request)
|
|
30
|
-
: fragmentOrHandler(request);
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
return {
|
|
34
|
-
GET: requestHandler,
|
|
35
|
-
POST: requestHandler,
|
|
36
|
-
PUT: requestHandler,
|
|
37
|
-
PATCH: requestHandler,
|
|
38
|
-
DELETE: requestHandler,
|
|
39
|
-
OPTIONS: requestHandler,
|
|
40
|
-
};
|
|
41
|
-
}
|