@fragno-dev/core 0.1.1 → 0.1.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 +16 -16
- package/CHANGELOG.md +6 -0
- package/dist/api/api.d.ts +1 -1
- package/dist/api/fragment-builder.d.ts +2 -2
- package/dist/api/fragment-instantiation.d.ts +2 -2
- package/dist/api/fragment-instantiation.js +2 -2
- package/dist/{api-Dcr4_-3g.d.ts → api-jKNXmz2B.d.ts} +92 -6
- package/dist/api-jKNXmz2B.d.ts.map +1 -0
- package/dist/client/client.d.ts +2 -2
- package/dist/client/client.js +2 -2
- package/dist/client/client.svelte.d.ts +2 -2
- package/dist/client/client.svelte.js +2 -2
- package/dist/client/react.d.ts +2 -2
- package/dist/client/react.d.ts.map +1 -1
- package/dist/client/react.js +2 -2
- package/dist/client/react.js.map +1 -1
- package/dist/client/solid.d.ts +2 -2
- package/dist/client/solid.js +2 -2
- package/dist/client/vanilla.d.ts +2 -2
- package/dist/client/vanilla.js +2 -2
- package/dist/client/vue.d.ts +2 -2
- package/dist/client/vue.js +2 -2
- package/dist/{client-D5ORmjBP.js → client-CzWq6IlK.js} +2 -2
- package/dist/client-CzWq6IlK.js.map +1 -0
- package/dist/{fragment-builder-D6-oLYnH.d.ts → fragment-builder-B3JXWiZB.d.ts} +18 -5
- package/dist/{fragment-builder-D6-oLYnH.d.ts.map → fragment-builder-B3JXWiZB.d.ts.map} +1 -1
- package/dist/{fragment-instantiation-f4AhwQss.js → fragment-instantiation-D1q7pltx.js} +136 -11
- package/dist/fragment-instantiation-D1q7pltx.js.map +1 -0
- package/dist/mod.d.ts +2 -2
- package/dist/mod.js +2 -2
- package/dist/{route-B4RbOWjd.js → route-DbBZ3Ep9.js} +21 -13
- package/dist/route-DbBZ3Ep9.js.map +1 -0
- package/package.json +1 -1
- package/src/api/fragment-instantiation.ts +16 -3
- package/src/api/mutable-request-state.ts +107 -0
- package/src/api/request-input-context.test.ts +51 -0
- package/src/api/request-input-context.ts +20 -13
- package/src/api/request-middleware.test.ts +88 -2
- package/src/api/request-middleware.ts +28 -6
- package/src/api/request-output-context.test.ts +6 -2
- package/src/api/request-output-context.ts +15 -9
- package/src/client/component.test.svelte +2 -0
- package/src/client/internal/ndjson-streaming.ts +6 -2
- package/src/client/react.ts +3 -1
- package/src/util/async.test.ts +6 -2
- package/.turbo/turbo-test.log +0 -297
- package/.turbo/turbo-types$colon$check.log +0 -1
- package/dist/api-Dcr4_-3g.d.ts.map +0 -1
- package/dist/client-D5ORmjBP.js.map +0 -1
- package/dist/fragment-instantiation-f4AhwQss.js.map +0 -1
- package/dist/route-B4RbOWjd.js.map +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -5,29 +5,29 @@ $ tsdown
|
|
|
5
5
|
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
6
6
|
[34mℹ[39m Build start
|
|
7
7
|
[34mℹ[39m [2mdist/[22m[1mclient/client.svelte.js[22m [2m 3.31 kB[22m [2m│ gzip: 0.97 kB[22m
|
|
8
|
-
[34mℹ[39m [2mdist/[22m[1mclient/vanilla.js[22m [2m 3.30 kB[22m [2m│ gzip: 1.
|
|
8
|
+
[34mℹ[39m [2mdist/[22m[1mclient/vanilla.js[22m [2m 3.30 kB[22m [2m│ gzip: 1.12 kB[22m
|
|
9
9
|
[34mℹ[39m [2mdist/[22m[1mclient/solid.js[22m [2m 3.03 kB[22m [2m│ gzip: 0.97 kB[22m
|
|
10
10
|
[34mℹ[39m [2mdist/[22m[1mclient/vue.js[22m [2m 2.86 kB[22m [2m│ gzip: 1.00 kB[22m
|
|
11
|
-
[34mℹ[39m [2mdist/[22m[1mclient/react.js[22m [2m 2.48 kB[22m [2m│ gzip: 0.
|
|
11
|
+
[34mℹ[39m [2mdist/[22m[1mclient/react.js[22m [2m 2.48 kB[22m [2m│ gzip: 0.94 kB[22m
|
|
12
12
|
[34mℹ[39m [2mdist/[22m[1mintegrations/react-ssr.js[22m [2m 1.27 kB[22m [2m│ gzip: 0.65 kB[22m
|
|
13
13
|
[34mℹ[39m [2mdist/[22m[1mclient/client.js[22m [2m 0.70 kB[22m [2m│ gzip: 0.29 kB[22m
|
|
14
|
-
[34mℹ[39m [2mdist/[22m[1mmod.js[22m [2m 0.36 kB[22m [2m│ gzip: 0.
|
|
14
|
+
[34mℹ[39m [2mdist/[22m[1mmod.js[22m [2m 0.36 kB[22m [2m│ gzip: 0.20 kB[22m
|
|
15
15
|
[34mℹ[39m [2mdist/[22m[1mapi/fragment-instantiation.js[22m [2m 0.23 kB[22m [2m│ gzip: 0.16 kB[22m
|
|
16
16
|
[34mℹ[39m [2mdist/[22m[1mapi/api.js[22m [2m 0.17 kB[22m [2m│ gzip: 0.12 kB[22m
|
|
17
17
|
[34mℹ[39m [2mdist/[22m[1mapi/fragment-builder.js[22m [2m 0.14 kB[22m [2m│ gzip: 0.11 kB[22m
|
|
18
|
-
[34mℹ[39m [2mdist/[22mclient-
|
|
19
|
-
[34mℹ[39m [2mdist/[22mroute-
|
|
20
|
-
[34mℹ[39m [2mdist/[22mclient-
|
|
21
|
-
[34mℹ[39m [2mdist/[22mfragment-
|
|
22
|
-
[34mℹ[39m [2mdist/[22mfragment-
|
|
18
|
+
[34mℹ[39m [2mdist/[22mclient-CzWq6IlK.js.map [2m72.61 kB[22m [2m│ gzip: 16.38 kB[22m
|
|
19
|
+
[34mℹ[39m [2mdist/[22mroute-DbBZ3Ep9.js.map [2m24.95 kB[22m [2m│ gzip: 6.76 kB[22m
|
|
20
|
+
[34mℹ[39m [2mdist/[22mclient-CzWq6IlK.js [2m24.49 kB[22m [2m│ gzip: 6.21 kB[22m
|
|
21
|
+
[34mℹ[39m [2mdist/[22mfragment-instantiation-D1q7pltx.js.map [2m23.86 kB[22m [2m│ gzip: 6.38 kB[22m
|
|
22
|
+
[34mℹ[39m [2mdist/[22mfragment-builder-B3JXWiZB.d.ts.map [2m19.11 kB[22m [2m│ gzip: 7.44 kB[22m
|
|
23
23
|
[34mℹ[39m [2mdist/[22mclient/vanilla.js.map [2m12.96 kB[22m [2m│ gzip: 3.58 kB[22m
|
|
24
24
|
[34mℹ[39m [2mdist/[22mclient/client.svelte.js.map [2m11.35 kB[22m [2m│ gzip: 2.76 kB[22m
|
|
25
25
|
[34mℹ[39m [2mdist/[22mclient/solid.js.map [2m11.00 kB[22m [2m│ gzip: 2.79 kB[22m
|
|
26
26
|
[34mℹ[39m [2mdist/[22mclient/vue.js.map [2m10.12 kB[22m [2m│ gzip: 2.78 kB[22m
|
|
27
|
-
[34mℹ[39m [2mdist/[22mclient/react.js.map [2m 9.
|
|
28
|
-
[34mℹ[39m [2mdist/[
|
|
29
|
-
[34mℹ[39m [2mdist/[22mapi-
|
|
30
|
-
[34mℹ[39m [2mdist/[
|
|
27
|
+
[34mℹ[39m [2mdist/[22mclient/react.js.map [2m 9.54 kB[22m [2m│ gzip: 3.03 kB[22m
|
|
28
|
+
[34mℹ[39m [2mdist/[22mfragment-instantiation-D1q7pltx.js [2m 9.43 kB[22m [2m│ gzip: 2.86 kB[22m
|
|
29
|
+
[34mℹ[39m [2mdist/[22mapi-jKNXmz2B.d.ts.map [2m 9.31 kB[22m [2m│ gzip: 3.59 kB[22m
|
|
30
|
+
[34mℹ[39m [2mdist/[22mroute-DbBZ3Ep9.js [2m 8.96 kB[22m [2m│ gzip: 2.65 kB[22m
|
|
31
31
|
[34mℹ[39m [2mdist/[22mapi-DngJDcmO.js.map [2m 5.54 kB[22m [2m│ gzip: 1.56 kB[22m
|
|
32
32
|
[34mℹ[39m [2mdist/[22mfragment-builder-DOnCVBqc.js.map [2m 3.50 kB[22m [2m│ gzip: 1.02 kB[22m
|
|
33
33
|
[34mℹ[39m [2mdist/[22mssr-CamRrMc0.js.map [2m 2.96 kB[22m [2m│ gzip: 1.25 kB[22m
|
|
@@ -52,7 +52,7 @@ $ tsdown
|
|
|
52
52
|
[34mℹ[39m [2mdist/[22m[32m[1mapi/fragment-instantiation.d.ts[22m[39m [2m 0.49 kB[22m [2m│ gzip: 0.20 kB[22m
|
|
53
53
|
[34mℹ[39m [2mdist/[22m[32m[1mapi/api.d.ts[22m[39m [2m 0.31 kB[22m [2m│ gzip: 0.18 kB[22m
|
|
54
54
|
[34mℹ[39m [2mdist/[22m[32m[1mapi/fragment-builder.d.ts[22m[39m [2m 0.21 kB[22m [2m│ gzip: 0.14 kB[22m
|
|
55
|
-
[34mℹ[39m [2mdist/[22m[32mfragment-builder-
|
|
56
|
-
[34mℹ[39m [2mdist/[22m[32mapi-
|
|
57
|
-
[34mℹ[39m 50 files, total:
|
|
58
|
-
[32m✔[39m Build complete in [
|
|
55
|
+
[34mℹ[39m [2mdist/[22m[32mfragment-builder-B3JXWiZB.d.ts[39m [2m23.46 kB[22m [2m│ gzip: 4.94 kB[22m
|
|
56
|
+
[34mℹ[39m [2mdist/[22m[32mapi-jKNXmz2B.d.ts[39m [2m14.67 kB[22m [2m│ gzip: 4.14 kB[22m
|
|
57
|
+
[34mℹ[39m 50 files, total: 353.96 kB
|
|
58
|
+
[32m✔[39m Build complete in [32m7242ms[39m
|
package/CHANGELOG.md
CHANGED
package/dist/api/api.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as addRoute, i as ValidPath, n as HTTPMethod, o as FragnoApiError, r as NonGetHTTPMethod, s as FragnoApiValidationError, t as FragnoRouteConfig } from "../api-
|
|
1
|
+
import { a as addRoute, i as ValidPath, n as HTTPMethod, o as FragnoApiError, r as NonGetHTTPMethod, s as FragnoApiValidationError, t as FragnoRouteConfig } from "../api-jKNXmz2B.js";
|
|
2
2
|
export { FragnoApiError, FragnoApiValidationError, FragnoRouteConfig, HTTPMethod, NonGetHTTPMethod, ValidPath, addRoute };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "../api-
|
|
2
|
-
import { n as FragmentDefinition, r as defineFragment, t as FragmentBuilder } from "../fragment-builder-
|
|
1
|
+
import "../api-jKNXmz2B.js";
|
|
2
|
+
import { n as FragmentDefinition, r as defineFragment, t as FragmentBuilder } from "../fragment-builder-B3JXWiZB.js";
|
|
3
3
|
export { FragmentBuilder, FragmentDefinition, defineFragment };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "../api-
|
|
2
|
-
import { a as FragnoFragmentSharedConfig, c as FragnoPublicConfig, i as AnyFragnoFragmentSharedConfig, l as createFragment, o as FragnoInstantiatedFragment, s as FragnoPublicClientConfig, u as instantiatedFragmentFakeSymbol } from "../fragment-builder-
|
|
1
|
+
import "../api-jKNXmz2B.js";
|
|
2
|
+
import { a as FragnoFragmentSharedConfig, c as FragnoPublicConfig, i as AnyFragnoFragmentSharedConfig, l as createFragment, o as FragnoInstantiatedFragment, s as FragnoPublicClientConfig, u as instantiatedFragmentFakeSymbol } from "../fragment-builder-B3JXWiZB.js";
|
|
3
3
|
export { AnyFragnoFragmentSharedConfig, FragnoFragmentSharedConfig, FragnoInstantiatedFragment, FragnoPublicClientConfig, FragnoPublicConfig, createFragment, instantiatedFragmentFakeSymbol };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "../api-DngJDcmO.js";
|
|
2
|
-
import "../route-
|
|
3
|
-
import { n as instantiatedFragmentFakeSymbol, t as createFragment } from "../fragment-instantiation-
|
|
2
|
+
import "../route-DbBZ3Ep9.js";
|
|
3
|
+
import { n as instantiatedFragmentFakeSymbol, t as createFragment } from "../fragment-instantiation-D1q7pltx.js";
|
|
4
4
|
|
|
5
5
|
export { createFragment, instantiatedFragmentFakeSymbol };
|
|
@@ -48,6 +48,83 @@ type HasPathParams<T extends string> = ExtractPathParamNames<T> extends never ?
|
|
|
48
48
|
*/
|
|
49
49
|
type QueryParamsHint<TQueryParameters extends string, ValueType = string> = Partial<Record<TQueryParameters, ValueType>> & Record<string, ValueType>;
|
|
50
50
|
//#endregion
|
|
51
|
+
//#region src/api/mutable-request-state.d.ts
|
|
52
|
+
/**
|
|
53
|
+
* Holds mutable request state that can be modified by middleware and consumed by handlers.
|
|
54
|
+
*
|
|
55
|
+
* This class provides a structural way for middleware to modify request data:
|
|
56
|
+
* - Path parameters can be modified
|
|
57
|
+
* - Query/search parameters can be modified
|
|
58
|
+
* - Request body can be overridden
|
|
59
|
+
* - Request headers can be modified
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* // In middleware
|
|
64
|
+
* const state = new MutableRequestState({
|
|
65
|
+
* pathParams: { id: "123" },
|
|
66
|
+
* searchParams: new URLSearchParams("?role=user"),
|
|
67
|
+
* body: { name: "John" },
|
|
68
|
+
* headers: new Headers()
|
|
69
|
+
* });
|
|
70
|
+
*
|
|
71
|
+
* // Modify query parameters
|
|
72
|
+
* state.searchParams.set("role", "admin");
|
|
73
|
+
*
|
|
74
|
+
* // Override body
|
|
75
|
+
* state.setBody({ name: "Jane" });
|
|
76
|
+
*
|
|
77
|
+
* // Modify headers
|
|
78
|
+
* state.headers.set("X-Custom", "value");
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
declare class MutableRequestState {
|
|
82
|
+
#private;
|
|
83
|
+
constructor(config: {
|
|
84
|
+
pathParams: Record<string, string>;
|
|
85
|
+
searchParams: URLSearchParams;
|
|
86
|
+
body: RequestBodyType;
|
|
87
|
+
headers: Headers;
|
|
88
|
+
});
|
|
89
|
+
/**
|
|
90
|
+
* Path parameters extracted from the route.
|
|
91
|
+
* Can be modified directly (e.g., `state.pathParams.id = "456"`).
|
|
92
|
+
*/
|
|
93
|
+
get pathParams(): Record<string, string>;
|
|
94
|
+
/**
|
|
95
|
+
* URLSearchParams for query parameters.
|
|
96
|
+
* Can be modified using URLSearchParams API (e.g., `state.searchParams.set("key", "value")`).
|
|
97
|
+
*/
|
|
98
|
+
get searchParams(): URLSearchParams;
|
|
99
|
+
/**
|
|
100
|
+
* Request headers.
|
|
101
|
+
* Can be modified using Headers API (e.g., `state.headers.set("X-Custom", "value")`).
|
|
102
|
+
*/
|
|
103
|
+
get headers(): Headers;
|
|
104
|
+
/**
|
|
105
|
+
* Get the current body value.
|
|
106
|
+
* Returns the override if set, otherwise the initial body.
|
|
107
|
+
*/
|
|
108
|
+
get body(): RequestBodyType;
|
|
109
|
+
/**
|
|
110
|
+
* Override the request body.
|
|
111
|
+
* This allows middleware to replace the body that will be seen by the handler.
|
|
112
|
+
*
|
|
113
|
+
* @param body - The new body value
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* // In middleware
|
|
118
|
+
* state.setBody({ modifiedField: "new value" });
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
setBody(body: RequestBodyType): void;
|
|
122
|
+
/**
|
|
123
|
+
* Check if the body has been overridden by middleware.
|
|
124
|
+
*/
|
|
125
|
+
get hasBodyOverride(): boolean;
|
|
126
|
+
}
|
|
127
|
+
//#endregion
|
|
51
128
|
//#region src/api/request-input-context.d.ts
|
|
52
129
|
type RequestBodyType = unknown | FormData | Blob | null | undefined;
|
|
53
130
|
declare class RequestInputContext<TPath extends string = string, TInputSchema extends StandardSchemaV1 | undefined = undefined> {
|
|
@@ -57,6 +134,7 @@ declare class RequestInputContext<TPath extends string = string, TInputSchema ex
|
|
|
57
134
|
method: string;
|
|
58
135
|
pathParams: ExtractPathParams<TPath>;
|
|
59
136
|
searchParams: URLSearchParams;
|
|
137
|
+
headers: Headers;
|
|
60
138
|
body: RequestBodyType;
|
|
61
139
|
request?: Request;
|
|
62
140
|
inputSchema?: TInputSchema;
|
|
@@ -72,6 +150,7 @@ declare class RequestInputContext<TPath extends string = string, TInputSchema ex
|
|
|
72
150
|
pathParams: ExtractPathParams<TPath>;
|
|
73
151
|
inputSchema?: TInputSchema;
|
|
74
152
|
shouldValidateInput?: boolean;
|
|
153
|
+
state: MutableRequestState;
|
|
75
154
|
}): Promise<RequestInputContext<TPath, TInputSchema>>;
|
|
76
155
|
/**
|
|
77
156
|
* Create a RequestContext for server-side rendering contexts (no Request object)
|
|
@@ -81,11 +160,13 @@ declare class RequestInputContext<TPath extends string = string, TInputSchema ex
|
|
|
81
160
|
path: TPath;
|
|
82
161
|
pathParams: ExtractPathParams<TPath>;
|
|
83
162
|
searchParams?: URLSearchParams;
|
|
163
|
+
headers?: Headers;
|
|
84
164
|
} | {
|
|
85
165
|
method: Exclude<HTTPMethod, "GET">;
|
|
86
166
|
path: TPath;
|
|
87
167
|
pathParams: ExtractPathParams<TPath>;
|
|
88
168
|
searchParams?: URLSearchParams;
|
|
169
|
+
headers?: Headers;
|
|
89
170
|
body: RequestBodyType;
|
|
90
171
|
inputSchema?: TInputSchema;
|
|
91
172
|
}): RequestInputContext<TPath, TInputSchema>;
|
|
@@ -108,6 +189,11 @@ declare class RequestInputContext<TPath extends string = string, TInputSchema ex
|
|
|
108
189
|
* @remarks `URLSearchParams`
|
|
109
190
|
*/
|
|
110
191
|
get query(): URLSearchParams;
|
|
192
|
+
/**
|
|
193
|
+
* [Headers](https://developer.mozilla.org/en-US/docs/Web/API/Headers) object for request headers
|
|
194
|
+
* @remarks `Headers`
|
|
195
|
+
*/
|
|
196
|
+
get headers(): Headers;
|
|
111
197
|
/**
|
|
112
198
|
* @internal
|
|
113
199
|
*/
|
|
@@ -203,15 +289,15 @@ declare abstract class OutputContext<const TOutput, const TErrorCode extends str
|
|
|
203
289
|
*
|
|
204
290
|
* Shortcut for `throw new FragnoApiError(...)`
|
|
205
291
|
*/
|
|
206
|
-
error({
|
|
292
|
+
error: ({
|
|
207
293
|
message,
|
|
208
294
|
code
|
|
209
295
|
}: {
|
|
210
296
|
message: string;
|
|
211
297
|
code: TErrorCode;
|
|
212
|
-
}, initOrStatus?: ResponseInit | StatusCode, headers?: HeadersInit)
|
|
213
|
-
empty(initOrStatus?: ResponseInit<ContentlessStatusCode> | ContentlessStatusCode, headers?: HeadersInit)
|
|
214
|
-
json(object: TOutput, initOrStatus?: ResponseInit | StatusCode, headers?: HeadersInit)
|
|
298
|
+
}, initOrStatus?: ResponseInit | StatusCode, headers?: HeadersInit) => Response;
|
|
299
|
+
empty: (initOrStatus?: ResponseInit<ContentlessStatusCode> | ContentlessStatusCode, headers?: HeadersInit) => Response;
|
|
300
|
+
json: (object: TOutput, initOrStatus?: ResponseInit | StatusCode, headers?: HeadersInit) => Response;
|
|
215
301
|
jsonStream: (cb: (stream: ResponseStream<TOutput>) => void | Promise<void>, {
|
|
216
302
|
onError,
|
|
217
303
|
headers
|
|
@@ -274,5 +360,5 @@ declare function addRoute<TMethod extends HTTPMethod, TPath extends string, TInp
|
|
|
274
360
|
inputSchema: TInputSchema;
|
|
275
361
|
}): FragnoRouteConfig<TMethod, TPath, TInputSchema, TOutputSchema, TErrorCode, TQueryParameters>;
|
|
276
362
|
//#endregion
|
|
277
|
-
export { addRoute as a, OutputContext as c,
|
|
278
|
-
//# sourceMappingURL=api-
|
|
363
|
+
export { addRoute as a, OutputContext as c, MutableRequestState as d, ExtractPathParamsOrWiden as f, QueryParamsHint as h, ValidPath as i, InferOr as l, MaybeExtractPathParamsOrWiden as m, HTTPMethod as n, FragnoApiError as o, HasPathParams as p, NonGetHTTPMethod as r, FragnoApiValidationError as s, FragnoRouteConfig as t, StatusCode as u };
|
|
364
|
+
//# sourceMappingURL=api-jKNXmz2B.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-jKNXmz2B.d.ts","names":[],"sources":["../src/api/internal/path.ts","../src/api/mutable-request-state.ts","../src/api/request-input-context.ts","../src/http/http-status.ts","../src/api/internal/response-stream.ts","../src/util/types-util.ts","../src/api/request-output-context.ts","../src/api/error.ts","../src/api/api.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/client/client.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "../api-
|
|
2
|
-
import { A as isGetHook, C as HasGetRoutes, D as buildUrl, E as ValidateGetRoutePath, F as FragnoClientFetchAbortError, I as FragnoClientFetchError, L as FragnoClientFetchNetworkError, M as isStore, N as FragnoClientApiError, O as createClientBuilder, P as FragnoClientError, R as FragnoClientUnknownApiError, S as FragnoStoreData, T as ObjectContainingStoreField, _ as ExtractOutputSchemaForPath, b as FragnoClientHookData, d as CacheLine, f as ClientBuilder, g as ExtractNonGetRoutePaths, h as ExtractGetRoutes, j as isMutatorHook, k as getCacheKey, m as ExtractGetRoutePaths, p as CreateHookOptions, v as ExtractRouteByPath, w as IsValidGetRoutePath, x as FragnoClientMutatorData, y as ExtractRoutePath, z as FragnoErrorOptions } from "../fragment-builder-
|
|
1
|
+
import "../api-jKNXmz2B.js";
|
|
2
|
+
import { A as isGetHook, C as HasGetRoutes, D as buildUrl, E as ValidateGetRoutePath, F as FragnoClientFetchAbortError, I as FragnoClientFetchError, L as FragnoClientFetchNetworkError, M as isStore, N as FragnoClientApiError, O as createClientBuilder, P as FragnoClientError, R as FragnoClientUnknownApiError, S as FragnoStoreData, T as ObjectContainingStoreField, _ as ExtractOutputSchemaForPath, b as FragnoClientHookData, d as CacheLine, f as ClientBuilder, g as ExtractNonGetRoutePaths, h as ExtractGetRoutes, j as isMutatorHook, k as getCacheKey, m as ExtractGetRoutePaths, p as CreateHookOptions, v as ExtractRouteByPath, w as IsValidGetRoutePath, x as FragnoClientMutatorData, y as ExtractRoutePath, z as FragnoErrorOptions } from "../fragment-builder-B3JXWiZB.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 };
|
package/dist/client/client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../api-DngJDcmO.js";
|
|
2
|
-
import "../route-
|
|
3
|
-
import { a as isGetHook, d as FragnoClientFetchAbortError, f as FragnoClientFetchError, i as getCacheKey, l as FragnoClientApiError, m as FragnoClientUnknownApiError, n as buildUrl, o as isMutatorHook, p as FragnoClientFetchNetworkError, r as createClientBuilder, s as isStore, t as ClientBuilder, u as FragnoClientError } from "../client-
|
|
2
|
+
import "../route-DbBZ3Ep9.js";
|
|
3
|
+
import { a as isGetHook, d as FragnoClientFetchAbortError, f as FragnoClientFetchError, i as getCacheKey, l as FragnoClientApiError, m as FragnoClientUnknownApiError, n as buildUrl, o as isMutatorHook, p as FragnoClientFetchNetworkError, r as createClientBuilder, s as isStore, t as ClientBuilder, u as FragnoClientError } from "../client-CzWq6IlK.js";
|
|
4
4
|
import "../ssr-CamRrMc0.js";
|
|
5
5
|
|
|
6
6
|
export { ClientBuilder, FragnoClientApiError, FragnoClientError, FragnoClientFetchAbortError, FragnoClientFetchError, FragnoClientFetchNetworkError, FragnoClientUnknownApiError, buildUrl, createClientBuilder, getCacheKey, isGetHook, isMutatorHook, isStore };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, r as NonGetHTTPMethod } from "../api-
|
|
2
|
-
import { P as FragnoClientError, S as FragnoStoreData, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-
|
|
1
|
+
import { h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, r as NonGetHTTPMethod } from "../api-jKNXmz2B.js";
|
|
2
|
+
import { P as FragnoClientError, S as FragnoStoreData, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-B3JXWiZB.js";
|
|
3
3
|
import { ReadableAtom } from "nanostores";
|
|
4
4
|
import { Readable } from "svelte/store";
|
|
5
5
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../api-DngJDcmO.js";
|
|
2
|
-
import "../route-
|
|
3
|
-
import { a as isGetHook, o as isMutatorHook, s as isStore } from "../client-
|
|
2
|
+
import "../route-DbBZ3Ep9.js";
|
|
3
|
+
import { a as isGetHook, o as isMutatorHook, s as isStore } from "../client-CzWq6IlK.js";
|
|
4
4
|
import "../ssr-CamRrMc0.js";
|
|
5
5
|
import { atom } from "nanostores";
|
|
6
6
|
import { get, writable } from "svelte/store";
|
package/dist/client/react.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { f as ExtractPathParamsOrWiden, h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, p as HasPathParams, r as NonGetHTTPMethod } from "../api-
|
|
2
|
-
import { P as FragnoClientError, S as FragnoStoreData, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-
|
|
1
|
+
import { f as ExtractPathParamsOrWiden, h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, p as HasPathParams, r as NonGetHTTPMethod } from "../api-jKNXmz2B.js";
|
|
2
|
+
import { P as FragnoClientError, S as FragnoStoreData, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-B3JXWiZB.js";
|
|
3
3
|
import { ReadableAtom, Store, StoreValue } from "nanostores";
|
|
4
4
|
import { FetcherValue } from "@nanostores/query";
|
|
5
5
|
import * as react0 from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","names":[],"sources":["../../src/client/react.ts"],"sourcesContent":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"react.d.ts","names":[],"sources":["../../src/client/react.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/client/react.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../api-DngJDcmO.js";
|
|
2
|
-
import "../route-
|
|
3
|
-
import { a as isGetHook, c as isReadableAtom, o as isMutatorHook, s as isStore } from "../client-
|
|
2
|
+
import "../route-DbBZ3Ep9.js";
|
|
3
|
+
import { a as isGetHook, c as isReadableAtom, o as isMutatorHook, s as isStore } from "../client-CzWq6IlK.js";
|
|
4
4
|
import { o as hydrateFromWindow } from "../ssr-CamRrMc0.js";
|
|
5
5
|
import { listenKeys } from "nanostores";
|
|
6
6
|
import { useCallback, useMemo, useRef, useSyncExternalStore } from "react";
|
package/dist/client/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","names":["result: any"],"sources":["../../src/client/react.ts"],"sourcesContent":["import type { FetcherValue } from \"@nanostores/query\";\nimport type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport { listenKeys, type ReadableAtom, type Store, type StoreValue } from \"nanostores\";\nimport { useCallback, useMemo, useRef, useSyncExternalStore, type DependencyList } from \"react\";\nimport type { NonGetHTTPMethod } from \"../api/api\";\nimport type { FragnoClientMutatorData, FragnoClientHookData } from \"./client\";\nimport { isGetHook, isMutatorHook, isStore, type FragnoStoreData } from \"./client\";\nimport type { FragnoClientError } from \"./client-error\";\nimport { hydrateFromWindow } from \"../util/ssr\";\nimport type { InferOr } from \"../util/types-util\";\nimport type {\n ExtractPathParamsOrWiden,\n HasPathParams,\n MaybeExtractPathParamsOrWiden,\n QueryParamsHint,\n} from \"../api/internal/path\";\nimport { isReadableAtom } from \"../util/nanostores\";\n\nexport type FragnoReactHook<\n _TMethod extends \"GET\",\n TPath extends string,\n TOutputSchema extends StandardSchemaV1,\n TErrorCode extends string,\n TQueryParameters extends string,\n> = (args?: {\n path?: MaybeExtractPathParamsOrWiden<TPath, string | ReadableAtom<string>>;\n query?: QueryParamsHint<TQueryParameters, string | ReadableAtom<string>>;\n}) => FetcherValue<\n StandardSchemaV1.InferOutput<TOutputSchema>,\n FragnoClientError<NonNullable<TErrorCode>>\n>;\n\nexport type FragnoReactMutator<\n _TMethod extends NonGetHTTPMethod,\n TPath extends string,\n TInputSchema extends StandardSchemaV1 | undefined,\n TOutputSchema extends StandardSchemaV1 | undefined,\n TErrorCode extends string,\n TQueryParameters extends string,\n> = () => {\n mutate: ({\n body,\n path,\n query,\n }: {\n body?: InferOr<TInputSchema, undefined>;\n path?: HasPathParams<TPath> extends true\n ? ExtractPathParamsOrWiden<TPath, string | ReadableAtom<string>>\n : undefined;\n query?: QueryParamsHint<TQueryParameters, string | ReadableAtom<string>>;\n }) => Promise<InferOr<TOutputSchema, undefined>>;\n loading?: boolean | undefined;\n error?: FragnoClientError<NonNullable<TErrorCode>[number]> | undefined;\n data?: InferOr<TOutputSchema, undefined> | undefined;\n};\n\n// Helper function to create a React hook from a GET hook\nfunction createReactHook<\n TMethod extends \"GET\",\n TPath extends string,\n TOutputSchema extends StandardSchemaV1,\n TErrorCode extends string,\n TQueryParameters extends string,\n>(\n hook: FragnoClientHookData<TMethod, TPath, TOutputSchema, TErrorCode, TQueryParameters>,\n): FragnoReactHook<TMethod, TPath, TOutputSchema, TErrorCode, TQueryParameters> {\n return ({ path, query } = {}) => {\n const pathParamValues = path ? Object.values(path) : [];\n const queryParamValues = query ? Object.values(query) : [];\n\n const deps = [...pathParamValues, ...queryParamValues];\n\n const store = useMemo(() => hook.store({ path, query }), [hook, ...deps]);\n\n if (typeof window === \"undefined\") {\n // TODO(Wilco): Handle server-side rendering. In React we have to implement onShellReady\n // and onAllReady in renderToPipable stream.\n const serverSideData = store.get();\n return serverSideData;\n }\n\n return useStore(store);\n };\n}\n\n// Helper function to create a React mutator from a mutator hook\nfunction createReactMutator<\n TMethod extends NonGetHTTPMethod,\n TPath extends string,\n TInput extends StandardSchemaV1 | undefined,\n TOutput extends StandardSchemaV1 | undefined,\n TError extends string,\n TQueryParameters extends string,\n>(\n hook: FragnoClientMutatorData<TMethod, TPath, TInput, TOutput, TError, TQueryParameters>,\n): FragnoReactMutator<TMethod, TPath, TInput, TOutput, TError, TQueryParameters> {\n return () => {\n const store = useMemo(() => hook.mutatorStore, [hook]);\n return useStore(store);\n };\n}\n\n/**\n * Type helper that unwraps any Store fields of the object into StoreValues\n */\nexport type FragnoReactStore<T extends object> = () => T extends Store<infer TStore>\n ? StoreValue<TStore>\n : {\n [K in keyof T]: T[K] extends Store ? StoreValue<T[K]> : T[K];\n };\n\nfunction createReactStore<const T extends object>(hook: FragnoStoreData<T>): FragnoReactStore<T> {\n if (isReadableAtom(hook.obj)) {\n return () => useStore(hook.obj as Store);\n }\n\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result: any = {};\n\n for (const key in hook.obj) {\n if (!Object.prototype.hasOwnProperty.call(hook.obj, key)) {\n continue;\n }\n\n const value = hook.obj[key];\n if (isReadableAtom(value)) {\n result[key] = useStore(value);\n } else {\n result[key] = value;\n }\n }\n\n return result;\n };\n}\n\nexport function useFragno<T extends Record<string, unknown>>(\n clientObj: T,\n): {\n [K in keyof T]: T[K] extends FragnoClientHookData<\n \"GET\",\n infer TPath,\n infer TOutputSchema,\n infer TErrorCode,\n infer TQueryParameters\n >\n ? FragnoReactHook<\"GET\", TPath, TOutputSchema, TErrorCode, TQueryParameters>\n : T[K] extends FragnoClientMutatorData<\n infer TMethod,\n infer TPath,\n infer TInput,\n infer TOutput,\n infer TError,\n infer TQueryParameters\n >\n ? FragnoReactMutator<TMethod, TPath, TInput, TOutput, TError, TQueryParameters>\n : T[K] extends FragnoStoreData<infer TStoreObj>\n ? FragnoReactStore<TStoreObj>\n : T[K];\n} {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result = {} as any; // We need one any cast here due to TypeScript's limitations with mapped types\n\n for (const key in clientObj) {\n if (!Object.prototype.hasOwnProperty.call(clientObj, key)) {\n continue;\n }\n\n const hook = clientObj[key];\n if (isGetHook(hook)) {\n result[key] = createReactHook(hook);\n } else if (isMutatorHook(hook)) {\n result[key] = createReactMutator(hook);\n } else if (isStore(hook)) {\n result[key] = createReactStore(hook);\n } else {\n // Pass through non-hook values unchanged\n result[key] = hook;\n }\n }\n\n return result;\n}\n\ntype StoreKeys<T> = T extends { setKey: (k: infer K, v: unknown) => unknown } ? K : never;\n\nexport interface UseStoreOptions<SomeStore> {\n /**\n * @default\n * ```ts\n * [store, options.keys]\n * ```\n */\n deps?: DependencyList;\n\n /**\n * Will re-render components only on specific key changes.\n */\n keys?: StoreKeys<SomeStore>[];\n}\n\nexport function useStore<SomeStore extends Store>(\n store: SomeStore,\n options: UseStoreOptions<SomeStore> = {},\n): StoreValue<SomeStore> {\n const snapshotRef = useRef<StoreValue<SomeStore>>(store.get());\n\n const { keys, deps = [store, keys] } = options;\n\n const subscribe = useCallback((onChange: () => void) => {\n const emitChange = (value: StoreValue<SomeStore>) => {\n if (snapshotRef.current === value) return;\n snapshotRef.current = value;\n onChange();\n };\n\n emitChange(store.value);\n if (keys?.length) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return listenKeys(store as any, keys, emitChange);\n }\n return store.listen(emitChange);\n }, deps);\n\n const get = () => snapshotRef.current as StoreValue<SomeStore>;\n\n return useSyncExternalStore(subscribe, get, () => {\n // Server-side rendering\n return get();\n });\n}\n\nexport function FragnoHydrator({ children }: { children: React.ReactNode }) {\n // Ensure initial data is transferred from window before any hooks run\n // Running in useMemo makes this happen during render, ahead of effects\n useMemo(() => {\n hydrateFromWindow();\n }, []);\n return children;\n}\n"],"mappings":";;;;;;;;AAyDA,SAAS,gBAOP,MAC8E;AAC9E,SAAQ,EAAE,MAAM,UAAU,EAAE,KAAK;EAC/B,MAAM,kBAAkB,OAAO,OAAO,OAAO,KAAK,GAAG,EAAE;EACvD,MAAM,mBAAmB,QAAQ,OAAO,OAAO,MAAM,GAAG,EAAE;EAI1D,MAAM,QAAQ,cAAc,KAAK,MAAM;GAAE;GAAM;GAAO,CAAC,EAAE,CAAC,MAAM,GAFnD,CAAC,GAAG,iBAAiB,GAAG,iBAAiB,CAEkB,CAAC;AAEzE,MAAI,OAAO,WAAW,YAIpB,QADuB,MAAM,KAAK;AAIpC,SAAO,SAAS,MAAM;;;AAK1B,SAAS,mBAQP,MAC+E;AAC/E,cAAa;AAEX,SAAO,SADO,cAAc,KAAK,cAAc,CAAC,KAAK,CAAC,CAChC;;;AAa1B,SAAS,iBAAyC,MAA+C;AAC/F,KAAI,eAAe,KAAK,IAAI,CAC1B,cAAa,SAAS,KAAK,IAAa;AAG1C,cAAa;EAEX,MAAMA,SAAc,EAAE;AAEtB,OAAK,MAAM,OAAO,KAAK,KAAK;AAC1B,OAAI,CAAC,OAAO,UAAU,eAAe,KAAK,KAAK,KAAK,IAAI,CACtD;GAGF,MAAM,QAAQ,KAAK,IAAI;AACvB,OAAI,eAAe,MAAM,CACvB,QAAO,OAAO,SAAS,MAAM;OAE7B,QAAO,OAAO;;AAIlB,SAAO;;;AAIX,SAAgB,UACd,WAsBA;CAEA,MAAM,SAAS,EAAE;AAEjB,MAAK,MAAM,OAAO,WAAW;AAC3B,MAAI,CAAC,OAAO,UAAU,eAAe,KAAK,WAAW,IAAI,CACvD;EAGF,MAAM,OAAO,UAAU;AACvB,MAAI,UAAU,KAAK,CACjB,QAAO,OAAO,gBAAgB,KAAK;WAC1B,cAAc,KAAK,CAC5B,QAAO,OAAO,mBAAmB,KAAK;WAC7B,QAAQ,KAAK,CACtB,QAAO,OAAO,iBAAiB,KAAK;MAGpC,QAAO,OAAO;;AAIlB,QAAO;;AAoBT,SAAgB,SACd,OACA,UAAsC,EAAE,EACjB;CACvB,MAAM,cAAc,OAA8B,MAAM,KAAK,CAAC;CAE9D,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,KAAK,KAAK;CAEvC,MAAM,YAAY,aAAa,aAAyB;EACtD,MAAM,cAAc,UAAiC;AACnD,OAAI,YAAY,YAAY,
|
|
1
|
+
{"version":3,"file":"react.js","names":["result: any"],"sources":["../../src/client/react.ts"],"sourcesContent":["import type { FetcherValue } from \"@nanostores/query\";\nimport type { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport { listenKeys, type ReadableAtom, type Store, type StoreValue } from \"nanostores\";\nimport { useCallback, useMemo, useRef, useSyncExternalStore, type DependencyList } from \"react\";\nimport type { NonGetHTTPMethod } from \"../api/api\";\nimport type { FragnoClientMutatorData, FragnoClientHookData } from \"./client\";\nimport { isGetHook, isMutatorHook, isStore, type FragnoStoreData } from \"./client\";\nimport type { FragnoClientError } from \"./client-error\";\nimport { hydrateFromWindow } from \"../util/ssr\";\nimport type { InferOr } from \"../util/types-util\";\nimport type {\n ExtractPathParamsOrWiden,\n HasPathParams,\n MaybeExtractPathParamsOrWiden,\n QueryParamsHint,\n} from \"../api/internal/path\";\nimport { isReadableAtom } from \"../util/nanostores\";\n\nexport type FragnoReactHook<\n _TMethod extends \"GET\",\n TPath extends string,\n TOutputSchema extends StandardSchemaV1,\n TErrorCode extends string,\n TQueryParameters extends string,\n> = (args?: {\n path?: MaybeExtractPathParamsOrWiden<TPath, string | ReadableAtom<string>>;\n query?: QueryParamsHint<TQueryParameters, string | ReadableAtom<string>>;\n}) => FetcherValue<\n StandardSchemaV1.InferOutput<TOutputSchema>,\n FragnoClientError<NonNullable<TErrorCode>>\n>;\n\nexport type FragnoReactMutator<\n _TMethod extends NonGetHTTPMethod,\n TPath extends string,\n TInputSchema extends StandardSchemaV1 | undefined,\n TOutputSchema extends StandardSchemaV1 | undefined,\n TErrorCode extends string,\n TQueryParameters extends string,\n> = () => {\n mutate: ({\n body,\n path,\n query,\n }: {\n body?: InferOr<TInputSchema, undefined>;\n path?: HasPathParams<TPath> extends true\n ? ExtractPathParamsOrWiden<TPath, string | ReadableAtom<string>>\n : undefined;\n query?: QueryParamsHint<TQueryParameters, string | ReadableAtom<string>>;\n }) => Promise<InferOr<TOutputSchema, undefined>>;\n loading?: boolean | undefined;\n error?: FragnoClientError<NonNullable<TErrorCode>[number]> | undefined;\n data?: InferOr<TOutputSchema, undefined> | undefined;\n};\n\n// Helper function to create a React hook from a GET hook\nfunction createReactHook<\n TMethod extends \"GET\",\n TPath extends string,\n TOutputSchema extends StandardSchemaV1,\n TErrorCode extends string,\n TQueryParameters extends string,\n>(\n hook: FragnoClientHookData<TMethod, TPath, TOutputSchema, TErrorCode, TQueryParameters>,\n): FragnoReactHook<TMethod, TPath, TOutputSchema, TErrorCode, TQueryParameters> {\n return ({ path, query } = {}) => {\n const pathParamValues = path ? Object.values(path) : [];\n const queryParamValues = query ? Object.values(query) : [];\n\n const deps = [...pathParamValues, ...queryParamValues];\n\n const store = useMemo(() => hook.store({ path, query }), [hook, ...deps]);\n\n if (typeof window === \"undefined\") {\n // TODO(Wilco): Handle server-side rendering. In React we have to implement onShellReady\n // and onAllReady in renderToPipable stream.\n const serverSideData = store.get();\n return serverSideData;\n }\n\n return useStore(store);\n };\n}\n\n// Helper function to create a React mutator from a mutator hook\nfunction createReactMutator<\n TMethod extends NonGetHTTPMethod,\n TPath extends string,\n TInput extends StandardSchemaV1 | undefined,\n TOutput extends StandardSchemaV1 | undefined,\n TError extends string,\n TQueryParameters extends string,\n>(\n hook: FragnoClientMutatorData<TMethod, TPath, TInput, TOutput, TError, TQueryParameters>,\n): FragnoReactMutator<TMethod, TPath, TInput, TOutput, TError, TQueryParameters> {\n return () => {\n const store = useMemo(() => hook.mutatorStore, [hook]);\n return useStore(store);\n };\n}\n\n/**\n * Type helper that unwraps any Store fields of the object into StoreValues\n */\nexport type FragnoReactStore<T extends object> = () => T extends Store<infer TStore>\n ? StoreValue<TStore>\n : {\n [K in keyof T]: T[K] extends Store ? StoreValue<T[K]> : T[K];\n };\n\nfunction createReactStore<const T extends object>(hook: FragnoStoreData<T>): FragnoReactStore<T> {\n if (isReadableAtom(hook.obj)) {\n return () => useStore(hook.obj as Store);\n }\n\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result: any = {};\n\n for (const key in hook.obj) {\n if (!Object.prototype.hasOwnProperty.call(hook.obj, key)) {\n continue;\n }\n\n const value = hook.obj[key];\n if (isReadableAtom(value)) {\n result[key] = useStore(value);\n } else {\n result[key] = value;\n }\n }\n\n return result;\n };\n}\n\nexport function useFragno<T extends Record<string, unknown>>(\n clientObj: T,\n): {\n [K in keyof T]: T[K] extends FragnoClientHookData<\n \"GET\",\n infer TPath,\n infer TOutputSchema,\n infer TErrorCode,\n infer TQueryParameters\n >\n ? FragnoReactHook<\"GET\", TPath, TOutputSchema, TErrorCode, TQueryParameters>\n : T[K] extends FragnoClientMutatorData<\n infer TMethod,\n infer TPath,\n infer TInput,\n infer TOutput,\n infer TError,\n infer TQueryParameters\n >\n ? FragnoReactMutator<TMethod, TPath, TInput, TOutput, TError, TQueryParameters>\n : T[K] extends FragnoStoreData<infer TStoreObj>\n ? FragnoReactStore<TStoreObj>\n : T[K];\n} {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result = {} as any; // We need one any cast here due to TypeScript's limitations with mapped types\n\n for (const key in clientObj) {\n if (!Object.prototype.hasOwnProperty.call(clientObj, key)) {\n continue;\n }\n\n const hook = clientObj[key];\n if (isGetHook(hook)) {\n result[key] = createReactHook(hook);\n } else if (isMutatorHook(hook)) {\n result[key] = createReactMutator(hook);\n } else if (isStore(hook)) {\n result[key] = createReactStore(hook);\n } else {\n // Pass through non-hook values unchanged\n result[key] = hook;\n }\n }\n\n return result;\n}\n\ntype StoreKeys<T> = T extends { setKey: (k: infer K, v: unknown) => unknown } ? K : never;\n\nexport interface UseStoreOptions<SomeStore> {\n /**\n * @default\n * ```ts\n * [store, options.keys]\n * ```\n */\n deps?: DependencyList;\n\n /**\n * Will re-render components only on specific key changes.\n */\n keys?: StoreKeys<SomeStore>[];\n}\n\nexport function useStore<SomeStore extends Store>(\n store: SomeStore,\n options: UseStoreOptions<SomeStore> = {},\n): StoreValue<SomeStore> {\n const snapshotRef = useRef<StoreValue<SomeStore>>(store.get());\n\n const { keys, deps = [store, keys] } = options;\n\n const subscribe = useCallback((onChange: () => void) => {\n const emitChange = (value: StoreValue<SomeStore>) => {\n if (snapshotRef.current === value) {\n return;\n }\n snapshotRef.current = value;\n onChange();\n };\n\n emitChange(store.value);\n if (keys?.length) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return listenKeys(store as any, keys, emitChange);\n }\n return store.listen(emitChange);\n }, deps);\n\n const get = () => snapshotRef.current as StoreValue<SomeStore>;\n\n return useSyncExternalStore(subscribe, get, () => {\n // Server-side rendering\n return get();\n });\n}\n\nexport function FragnoHydrator({ children }: { children: React.ReactNode }) {\n // Ensure initial data is transferred from window before any hooks run\n // Running in useMemo makes this happen during render, ahead of effects\n useMemo(() => {\n hydrateFromWindow();\n }, []);\n return children;\n}\n"],"mappings":";;;;;;;;AAyDA,SAAS,gBAOP,MAC8E;AAC9E,SAAQ,EAAE,MAAM,UAAU,EAAE,KAAK;EAC/B,MAAM,kBAAkB,OAAO,OAAO,OAAO,KAAK,GAAG,EAAE;EACvD,MAAM,mBAAmB,QAAQ,OAAO,OAAO,MAAM,GAAG,EAAE;EAI1D,MAAM,QAAQ,cAAc,KAAK,MAAM;GAAE;GAAM;GAAO,CAAC,EAAE,CAAC,MAAM,GAFnD,CAAC,GAAG,iBAAiB,GAAG,iBAAiB,CAEkB,CAAC;AAEzE,MAAI,OAAO,WAAW,YAIpB,QADuB,MAAM,KAAK;AAIpC,SAAO,SAAS,MAAM;;;AAK1B,SAAS,mBAQP,MAC+E;AAC/E,cAAa;AAEX,SAAO,SADO,cAAc,KAAK,cAAc,CAAC,KAAK,CAAC,CAChC;;;AAa1B,SAAS,iBAAyC,MAA+C;AAC/F,KAAI,eAAe,KAAK,IAAI,CAC1B,cAAa,SAAS,KAAK,IAAa;AAG1C,cAAa;EAEX,MAAMA,SAAc,EAAE;AAEtB,OAAK,MAAM,OAAO,KAAK,KAAK;AAC1B,OAAI,CAAC,OAAO,UAAU,eAAe,KAAK,KAAK,KAAK,IAAI,CACtD;GAGF,MAAM,QAAQ,KAAK,IAAI;AACvB,OAAI,eAAe,MAAM,CACvB,QAAO,OAAO,SAAS,MAAM;OAE7B,QAAO,OAAO;;AAIlB,SAAO;;;AAIX,SAAgB,UACd,WAsBA;CAEA,MAAM,SAAS,EAAE;AAEjB,MAAK,MAAM,OAAO,WAAW;AAC3B,MAAI,CAAC,OAAO,UAAU,eAAe,KAAK,WAAW,IAAI,CACvD;EAGF,MAAM,OAAO,UAAU;AACvB,MAAI,UAAU,KAAK,CACjB,QAAO,OAAO,gBAAgB,KAAK;WAC1B,cAAc,KAAK,CAC5B,QAAO,OAAO,mBAAmB,KAAK;WAC7B,QAAQ,KAAK,CACtB,QAAO,OAAO,iBAAiB,KAAK;MAGpC,QAAO,OAAO;;AAIlB,QAAO;;AAoBT,SAAgB,SACd,OACA,UAAsC,EAAE,EACjB;CACvB,MAAM,cAAc,OAA8B,MAAM,KAAK,CAAC;CAE9D,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,KAAK,KAAK;CAEvC,MAAM,YAAY,aAAa,aAAyB;EACtD,MAAM,cAAc,UAAiC;AACnD,OAAI,YAAY,YAAY,MAC1B;AAEF,eAAY,UAAU;AACtB,aAAU;;AAGZ,aAAW,MAAM,MAAM;AACvB,MAAI,MAAM,OAER,QAAO,WAAW,OAAc,MAAM,WAAW;AAEnD,SAAO,MAAM,OAAO,WAAW;IAC9B,KAAK;CAER,MAAM,YAAY,YAAY;AAE9B,QAAO,qBAAqB,WAAW,WAAW;AAEhD,SAAO,KAAK;GACZ;;AAGJ,SAAgB,eAAe,EAAE,YAA2C;AAG1E,eAAc;AACZ,qBAAmB;IAClB,EAAE,CAAC;AACN,QAAO"}
|
package/dist/client/solid.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, r as NonGetHTTPMethod } from "../api-
|
|
2
|
-
import { P as FragnoClientError, S as FragnoStoreData, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-
|
|
1
|
+
import { h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, r as NonGetHTTPMethod } from "../api-jKNXmz2B.js";
|
|
2
|
+
import { P as FragnoClientError, S as FragnoStoreData, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-B3JXWiZB.js";
|
|
3
3
|
import { ReadableAtom, Store, StoreValue } from "nanostores";
|
|
4
4
|
import { Accessor } from "solid-js";
|
|
5
5
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
package/dist/client/solid.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../api-DngJDcmO.js";
|
|
2
|
-
import "../route-
|
|
3
|
-
import { a as isGetHook, c as isReadableAtom, o as isMutatorHook, s as isStore } from "../client-
|
|
2
|
+
import "../route-DbBZ3Ep9.js";
|
|
3
|
+
import { a as isGetHook, c as isReadableAtom, o as isMutatorHook, s as isStore } from "../client-CzWq6IlK.js";
|
|
4
4
|
import "../ssr-CamRrMc0.js";
|
|
5
5
|
import { atom } from "nanostores";
|
|
6
6
|
import { useStore } from "@nanostores/solid";
|
package/dist/client/vanilla.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { f as ExtractPathParamsOrWiden, l as InferOr, m as MaybeExtractPathParamsOrWiden, p as HasPathParams, r as NonGetHTTPMethod } from "../api-
|
|
2
|
-
import { P as FragnoClientError, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-
|
|
1
|
+
import { f as ExtractPathParamsOrWiden, l as InferOr, m as MaybeExtractPathParamsOrWiden, p as HasPathParams, r as NonGetHTTPMethod } from "../api-jKNXmz2B.js";
|
|
2
|
+
import { P as FragnoClientError, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-B3JXWiZB.js";
|
|
3
3
|
import { ReadableAtom } from "nanostores";
|
|
4
4
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
5
5
|
|
package/dist/client/vanilla.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../api-DngJDcmO.js";
|
|
2
|
-
import "../route-
|
|
3
|
-
import { a as isGetHook, o as isMutatorHook } from "../client-
|
|
2
|
+
import "../route-DbBZ3Ep9.js";
|
|
3
|
+
import { a as isGetHook, o as isMutatorHook } from "../client-CzWq6IlK.js";
|
|
4
4
|
import "../ssr-CamRrMc0.js";
|
|
5
5
|
|
|
6
6
|
//#region src/util/async.ts
|
package/dist/client/vue.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, r as NonGetHTTPMethod } from "../api-
|
|
2
|
-
import { P as FragnoClientError, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-
|
|
1
|
+
import { h as QueryParamsHint, l as InferOr, m as MaybeExtractPathParamsOrWiden, r as NonGetHTTPMethod } from "../api-jKNXmz2B.js";
|
|
2
|
+
import { P as FragnoClientError, b as FragnoClientHookData, x as FragnoClientMutatorData } from "../fragment-builder-B3JXWiZB.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";
|
package/dist/client/vue.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../api-DngJDcmO.js";
|
|
2
|
-
import "../route-
|
|
3
|
-
import { a as isGetHook, o as isMutatorHook } from "../client-
|
|
2
|
+
import "../route-DbBZ3Ep9.js";
|
|
3
|
+
import { a as isGetHook, o as isMutatorHook } from "../client-CzWq6IlK.js";
|
|
4
4
|
import "../ssr-CamRrMc0.js";
|
|
5
5
|
import { atom } from "nanostores";
|
|
6
6
|
import { computed, getCurrentScope, isRef, onScopeDispose, ref, shallowRef, watch } from "vue";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as RequestOutputContext, o as RequestInputContext, r as resolveRouteFactories, s as getMountRoute } from "./route-
|
|
1
|
+
import { a as RequestOutputContext, o as RequestInputContext, r as resolveRouteFactories, s as getMountRoute } from "./route-DbBZ3Ep9.js";
|
|
2
2
|
import { a as getInitialData, n as addStore, t as SSR_ENABLED } from "./ssr-CamRrMc0.js";
|
|
3
3
|
import { task } from "nanostores";
|
|
4
4
|
import { nanoquery } from "@nanostores/query";
|
|
@@ -697,4 +697,4 @@ function createClientBuilder(fragmentBuilder, publicConfig, routesOrFactories) {
|
|
|
697
697
|
|
|
698
698
|
//#endregion
|
|
699
699
|
export { isGetHook as a, isReadableAtom as c, FragnoClientFetchAbortError as d, FragnoClientFetchError as f, getCacheKey as i, FragnoClientApiError as l, FragnoClientUnknownApiError as m, buildUrl as n, isMutatorHook as o, FragnoClientFetchNetworkError as p, createClientBuilder as r, isStore as s, ClientBuilder as t, FragnoClientError as u };
|
|
700
|
-
//# sourceMappingURL=client-
|
|
700
|
+
//# sourceMappingURL=client-CzWq6IlK.js.map
|