spiceflow 1.11.3 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -0
- package/dist/client.test.js +1 -1
- package/dist/spiceflow.d.ts +12 -12
- package/dist/spiceflow.d.ts.map +1 -1
- package/dist/spiceflow.js +6 -8
- package/dist/spiceflow.test.js +23 -29
- package/dist/types.d.ts +5 -9
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client.test.ts +1 -1
- package/src/spiceflow.test.ts +24 -44
- package/src/spiceflow.ts +24 -12
- package/src/types.ts +5 -7
package/README.md
CHANGED
|
@@ -235,6 +235,98 @@ async function exampleUsage() {
|
|
|
235
235
|
}
|
|
236
236
|
```
|
|
237
237
|
|
|
238
|
+
## Safe Path Building
|
|
239
|
+
|
|
240
|
+
The `safePath` method provides a type-safe way to build URLs with parameters. It helps prevent runtime errors by ensuring all required parameters are provided and properly substituted into the path.
|
|
241
|
+
|
|
242
|
+
```ts
|
|
243
|
+
import { Spiceflow } from 'spiceflow'
|
|
244
|
+
|
|
245
|
+
const app = new Spiceflow()
|
|
246
|
+
.route({
|
|
247
|
+
method: 'GET',
|
|
248
|
+
path: '/users/:id',
|
|
249
|
+
handler({ params }) {
|
|
250
|
+
return { id: params.id }
|
|
251
|
+
},
|
|
252
|
+
})
|
|
253
|
+
.route({
|
|
254
|
+
method: 'GET',
|
|
255
|
+
path: '/users/:id/posts/:postId',
|
|
256
|
+
handler({ params }) {
|
|
257
|
+
return { userId: params.id, postId: params.postId }
|
|
258
|
+
},
|
|
259
|
+
})
|
|
260
|
+
|
|
261
|
+
// Building URLs with required parameters
|
|
262
|
+
const userPath = app.safePath('/users/:id', { id: '123' })
|
|
263
|
+
// Result: '/users/123'
|
|
264
|
+
|
|
265
|
+
// Building URLs with required parameters
|
|
266
|
+
const userPostPath = app.safePath('/users/:id/posts/:postId', {
|
|
267
|
+
id: '456',
|
|
268
|
+
postId: 'abc'
|
|
269
|
+
})
|
|
270
|
+
// Result: '/users/456/posts/abc'
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### OAuth Callback Example
|
|
274
|
+
|
|
275
|
+
The `safePath` method is particularly useful when building callback URLs for OAuth flows, where you need to construct URLs dynamically based on user data or session information:
|
|
276
|
+
|
|
277
|
+
```ts
|
|
278
|
+
import { Spiceflow } from 'spiceflow'
|
|
279
|
+
|
|
280
|
+
const app = new Spiceflow()
|
|
281
|
+
.route({
|
|
282
|
+
method: 'GET',
|
|
283
|
+
path: '/auth/callback/:provider/:userId',
|
|
284
|
+
handler({ params, query }) {
|
|
285
|
+
const { provider, userId } = params
|
|
286
|
+
const { code, state } = query
|
|
287
|
+
|
|
288
|
+
// Handle OAuth callback logic here
|
|
289
|
+
return {
|
|
290
|
+
provider,
|
|
291
|
+
userId,
|
|
292
|
+
authCode: code,
|
|
293
|
+
state
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
})
|
|
297
|
+
.route({
|
|
298
|
+
method: 'POST',
|
|
299
|
+
path: '/auth/login',
|
|
300
|
+
handler({ request }) {
|
|
301
|
+
const userId = '12345'
|
|
302
|
+
const provider = 'google'
|
|
303
|
+
|
|
304
|
+
// Build the OAuth callback URL safely
|
|
305
|
+
const callbackUrl = new URL(
|
|
306
|
+
app.safePath('/auth/callback/:provider/:userId', {
|
|
307
|
+
provider,
|
|
308
|
+
userId
|
|
309
|
+
}),
|
|
310
|
+
'https://myapp.com'
|
|
311
|
+
).toString()
|
|
312
|
+
|
|
313
|
+
// Redirect to OAuth provider with callback URL
|
|
314
|
+
const oauthUrl = `https://accounts.google.com/oauth/authorize?` +
|
|
315
|
+
`client_id=your-client-id&` +
|
|
316
|
+
`redirect_uri=${encodeURIComponent(callbackUrl)}&` +
|
|
317
|
+
`response_type=code&` +
|
|
318
|
+
`scope=openid%20profile%20email`
|
|
319
|
+
|
|
320
|
+
return { redirectUrl: oauthUrl }
|
|
321
|
+
},
|
|
322
|
+
})
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
In this example:
|
|
326
|
+
- The callback URL is built safely using `safePath` with type checking
|
|
327
|
+
- Required parameters like `provider` and `userId` must be provided
|
|
328
|
+
- The resulting URL is guaranteed to be properly formatted
|
|
329
|
+
|
|
238
330
|
## Mounting Sub-Apps
|
|
239
331
|
|
|
240
332
|
```ts
|
package/dist/client.test.js
CHANGED
|
@@ -112,7 +112,7 @@ const app = new Spiceflow()
|
|
|
112
112
|
.get('/stream-return-async', function* stream() {
|
|
113
113
|
return 'a';
|
|
114
114
|
})
|
|
115
|
-
.get('/id/:id
|
|
115
|
+
.get('/id/:id', ({ params: { id } }) => id);
|
|
116
116
|
const client = createSpiceflowClient(app);
|
|
117
117
|
describe('client can pass state to app', () => {
|
|
118
118
|
const client = createSpiceflowClient(app, { state: { someState: 3 } });
|
package/dist/spiceflow.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export type InternalRoute = {
|
|
|
10
10
|
method: HTTPMethod;
|
|
11
11
|
path: string;
|
|
12
12
|
type: ContentType;
|
|
13
|
-
handler: InlineHandler<any, any, any>;
|
|
13
|
+
handler: InlineHandler<any, any, any, any>;
|
|
14
14
|
hooks: LocalHook<any, any, any, any, any, any, any>;
|
|
15
15
|
validateBody?: ValidationFunction;
|
|
16
16
|
validateQuery?: ValidationFunction;
|
|
@@ -51,7 +51,7 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
|
|
|
51
51
|
path: string;
|
|
52
52
|
method: HTTPMethod;
|
|
53
53
|
type: ContentType;
|
|
54
|
-
handler: InlineHandler<any, any, any>;
|
|
54
|
+
handler: InlineHandler<any, any, any, any>;
|
|
55
55
|
hooks: LocalHook<any, any, any, any, any, any, any>;
|
|
56
56
|
validateBody?: ValidationFunction;
|
|
57
57
|
validateQuery?: ValidationFunction;
|
|
@@ -73,7 +73,7 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
|
|
|
73
73
|
scoped?: Scoped;
|
|
74
74
|
basePath?: BasePath;
|
|
75
75
|
});
|
|
76
|
-
post<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
76
|
+
post<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<this, Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
77
77
|
post: {
|
|
78
78
|
request: GetRequestSchema<Schema>;
|
|
79
79
|
params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
|
|
@@ -81,7 +81,7 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
|
|
|
81
81
|
response: ComposeSpiceflowResponse<Schema['response'], Handle>;
|
|
82
82
|
};
|
|
83
83
|
}>, RoutePaths | JoinPath<BasePath, Path>>;
|
|
84
|
-
get<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Macro extends Metadata['macro'], const Handle extends InlineHandler<Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Macro, JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
84
|
+
get<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Macro extends Metadata['macro'], const Handle extends InlineHandler<this, Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Macro, JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
85
85
|
get: {
|
|
86
86
|
request: GetRequestSchema<Schema>;
|
|
87
87
|
params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
|
|
@@ -89,7 +89,7 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
|
|
|
89
89
|
response: ComposeSpiceflowResponse<Schema['response'], Handle>;
|
|
90
90
|
};
|
|
91
91
|
}>, RoutePaths | JoinPath<BasePath, Path>>;
|
|
92
|
-
put<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
92
|
+
put<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<this, Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
93
93
|
put: {
|
|
94
94
|
request: GetRequestSchema<Schema>;
|
|
95
95
|
params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
|
|
@@ -97,7 +97,7 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
|
|
|
97
97
|
response: ComposeSpiceflowResponse<Schema['response'], Handle>;
|
|
98
98
|
};
|
|
99
99
|
}>, RoutePaths | JoinPath<BasePath, Path>>;
|
|
100
|
-
route<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<Schema, Singleton, JoinPath<BasePath, Path>>, Method extends HTTPMethod | HTTPMethod[]>(options: {
|
|
100
|
+
route<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<this, Schema, Singleton, JoinPath<BasePath, Path>>, Method extends HTTPMethod | HTTPMethod[]>(options: {
|
|
101
101
|
path: Path;
|
|
102
102
|
method: Method;
|
|
103
103
|
handler: Handle;
|
|
@@ -109,7 +109,7 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
|
|
|
109
109
|
response: ComposeSpiceflowResponse<Schema['response'], Handle>;
|
|
110
110
|
};
|
|
111
111
|
}>, RoutePaths | JoinPath<BasePath, Path>>;
|
|
112
|
-
patch<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
112
|
+
patch<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<this, Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
113
113
|
patch: {
|
|
114
114
|
request: GetRequestSchema<Schema>;
|
|
115
115
|
params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
|
|
@@ -117,7 +117,7 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
|
|
|
117
117
|
response: ComposeSpiceflowResponse<Schema['response'], Handle>;
|
|
118
118
|
};
|
|
119
119
|
}>, RoutePaths | JoinPath<BasePath, Path>>;
|
|
120
|
-
delete<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
120
|
+
delete<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<this, Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
121
121
|
delete: {
|
|
122
122
|
request: GetRequestSchema<Schema>;
|
|
123
123
|
params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
|
|
@@ -125,7 +125,7 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
|
|
|
125
125
|
response: ComposeSpiceflowResponse<Schema['response'], Handle>;
|
|
126
126
|
};
|
|
127
127
|
}>, RoutePaths | JoinPath<BasePath, Path>>;
|
|
128
|
-
options<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
128
|
+
options<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<this, Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
129
129
|
options: {
|
|
130
130
|
request: GetRequestSchema<Schema>;
|
|
131
131
|
params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
|
|
@@ -133,7 +133,7 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
|
|
|
133
133
|
response: ComposeSpiceflowResponse<Schema['response'], Handle>;
|
|
134
134
|
};
|
|
135
135
|
}>, RoutePaths | JoinPath<BasePath, Path>>;
|
|
136
|
-
all<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
136
|
+
all<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<this, Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
137
137
|
[method in string]: {
|
|
138
138
|
request: GetRequestSchema<Schema>;
|
|
139
139
|
params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
|
|
@@ -141,7 +141,7 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
|
|
|
141
141
|
response: ComposeSpiceflowResponse<Schema['response'], Handle>;
|
|
142
142
|
};
|
|
143
143
|
}>, RoutePaths | JoinPath<BasePath, Path>>;
|
|
144
|
-
head<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
144
|
+
head<const Path extends string, const LocalSchema extends InputSchema<keyof Definitions['type'] & string>, const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>, const Handle extends InlineHandler<this, Schema, Singleton, JoinPath<BasePath, Path>>>(path: Path, handler: Handle, hook?: LocalHook<LocalSchema, Schema, Singleton, Definitions['error'], Metadata['macro'], JoinPath<BasePath, Path>>): Spiceflow<BasePath, Scoped, Singleton, Definitions, Metadata, ClientRoutes & CreateClient<JoinPath<BasePath, Path>, {
|
|
145
145
|
head: {
|
|
146
146
|
request: GetRequestSchema<Schema>;
|
|
147
147
|
params: undefined extends Schema['params'] ? ResolvePath<Path> : Schema['params'];
|
|
@@ -171,7 +171,7 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
|
|
|
171
171
|
}) => Promise<void>;
|
|
172
172
|
listenForNode(port: number, hostname?: string): Promise<import("http").Server<typeof IncomingMessage, typeof ServerResponse>>;
|
|
173
173
|
private handleStream;
|
|
174
|
-
safePath<const Path extends RoutePaths, const Params extends ExtractParamsFromPath<Path>>(path: Path, params: Params): string;
|
|
174
|
+
safePath<const Path extends RoutePaths, const Params extends ExtractParamsFromPath<Path>>(path: Path, ...rest: [Params] extends [undefined] ? [] | [params?: Params] : [params: Params]): string;
|
|
175
175
|
}
|
|
176
176
|
declare const METHODS: readonly ["ALL", "CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"];
|
|
177
177
|
/** HTTP method string */
|
package/dist/spiceflow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spiceflow.d.ts","sourceRoot":"","sources":["../src/spiceflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spiceflow.d.ts","sourceRoot":"","sources":["../src/spiceflow.ts"],"names":[],"mappings":"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"}
|
package/dist/spiceflow.js
CHANGED
|
@@ -302,7 +302,7 @@ export class Spiceflow {
|
|
|
302
302
|
}
|
|
303
303
|
context.query = await runValidation(context.query, route.internalRoute?.validateQuery);
|
|
304
304
|
context.params = await runValidation(context.params, route.internalRoute?.validateParams);
|
|
305
|
-
const res = await route.internalRoute?.handler(context);
|
|
305
|
+
const res = await route.internalRoute?.handler.call(this, context);
|
|
306
306
|
if (isAsyncIterable(res)) {
|
|
307
307
|
handlerResponse = await this.handleStream({
|
|
308
308
|
generator: res,
|
|
@@ -511,19 +511,17 @@ export class Spiceflow {
|
|
|
511
511
|
},
|
|
512
512
|
});
|
|
513
513
|
}
|
|
514
|
-
safePath(path,
|
|
514
|
+
safePath(path, ...rest) {
|
|
515
|
+
let params = (rest.length > 0 ? rest[0] : undefined);
|
|
515
516
|
let result = path;
|
|
516
|
-
//
|
|
517
|
+
// Handle all provided parameters
|
|
517
518
|
if (params && typeof params === 'object') {
|
|
518
519
|
Object.entries(params).forEach(([key, value]) => {
|
|
519
|
-
// Handle
|
|
520
|
-
const regex = new RegExp(`:${key}
|
|
520
|
+
// Handle required parameters only
|
|
521
|
+
const regex = new RegExp(`:${key}`, 'g');
|
|
521
522
|
result = result.replace(regex, String(value));
|
|
522
523
|
});
|
|
523
524
|
}
|
|
524
|
-
// Then, handle any remaining optional parameters that weren't provided
|
|
525
|
-
// Replace any remaining :param? with empty string (keeping trailing slash)
|
|
526
|
-
result = result.replace(/:[\w-]+\?/g, '');
|
|
527
525
|
return result;
|
|
528
526
|
}
|
|
529
527
|
}
|
package/dist/spiceflow.test.js
CHANGED
|
@@ -9,6 +9,26 @@ test('works', async () => {
|
|
|
9
9
|
expect(res.status).toBe(200);
|
|
10
10
|
expect(await res.json()).toEqual('hi');
|
|
11
11
|
});
|
|
12
|
+
test('this works to reference app in handler', async () => {
|
|
13
|
+
const res = await new Spiceflow()
|
|
14
|
+
.route({
|
|
15
|
+
method: 'POST',
|
|
16
|
+
path: '/another',
|
|
17
|
+
handler() {
|
|
18
|
+
return 'ok';
|
|
19
|
+
},
|
|
20
|
+
})
|
|
21
|
+
.route({
|
|
22
|
+
method: 'POST',
|
|
23
|
+
path: '/href',
|
|
24
|
+
handler() {
|
|
25
|
+
return this.safePath('/another');
|
|
26
|
+
},
|
|
27
|
+
})
|
|
28
|
+
.handle(new Request('http://localhost/href', { method: 'POST' }));
|
|
29
|
+
expect(res.status).toBe(200);
|
|
30
|
+
expect(await res.json()).toEqual('/another');
|
|
31
|
+
});
|
|
12
32
|
test('routes works', async () => {
|
|
13
33
|
const res = await new Spiceflow()
|
|
14
34
|
.route({
|
|
@@ -697,8 +717,8 @@ describe('safePath', () => {
|
|
|
697
717
|
const app = new Spiceflow()
|
|
698
718
|
.get('/users', () => 'users')
|
|
699
719
|
.get('/posts', () => 'posts');
|
|
700
|
-
expect(app.safePath('/users'
|
|
701
|
-
expect(app.safePath('/posts'
|
|
720
|
+
expect(app.safePath('/users')).toBe('/users');
|
|
721
|
+
expect(app.safePath('/posts')).toBe('/posts');
|
|
702
722
|
});
|
|
703
723
|
test('handles paths with required parameters', () => {
|
|
704
724
|
const app = new Spiceflow()
|
|
@@ -714,32 +734,6 @@ describe('safePath', () => {
|
|
|
714
734
|
commentId: '456',
|
|
715
735
|
})).toBe('/posts/abc/comments/456');
|
|
716
736
|
});
|
|
717
|
-
test('handles paths with optional parameters', () => {
|
|
718
|
-
const app = new Spiceflow()
|
|
719
|
-
.get('/users/:id?', ({ params }) => params.id)
|
|
720
|
-
.get('/posts/:postId/comments/:commentId?', ({ params }) => params);
|
|
721
|
-
expect(app.safePath('/users/:id?', { id: '123' })).toBe('/users/123');
|
|
722
|
-
expect(app.safePath('/users/:id?', {})).toBe('/users/');
|
|
723
|
-
expect(app.safePath('/posts/:postId/comments/:commentId?', {
|
|
724
|
-
postId: 'abc',
|
|
725
|
-
commentId: '456',
|
|
726
|
-
})).toBe('/posts/abc/comments/456');
|
|
727
|
-
expect(app.safePath('/posts/:postId/comments/:commentId?', {
|
|
728
|
-
postId: 'abc',
|
|
729
|
-
})).toBe('/posts/abc/comments/');
|
|
730
|
-
});
|
|
731
|
-
test('handles mixed required and optional parameters', () => {
|
|
732
|
-
const app = new Spiceflow().get('/api/:version/users/:id/posts/:postId?', ({ params }) => params);
|
|
733
|
-
expect(app.safePath('/api/:version/users/:id/posts/:postId?', {
|
|
734
|
-
version: 'v1',
|
|
735
|
-
id: '123',
|
|
736
|
-
postId: 'abc',
|
|
737
|
-
})).toBe('/api/v1/users/123/posts/abc');
|
|
738
|
-
expect(app.safePath('/api/:version/users/:id/posts/:postId?', {
|
|
739
|
-
version: 'v1',
|
|
740
|
-
id: '123',
|
|
741
|
-
})).toBe('/api/v1/users/123/posts/');
|
|
742
|
-
});
|
|
743
737
|
test('handles numeric parameter values', () => {
|
|
744
738
|
const app = new Spiceflow().get('/users/:id', ({ params }) => params.id);
|
|
745
739
|
expect(app.safePath('/users/:id', { id: '123' })).toBe('/users/123');
|
|
@@ -747,6 +741,6 @@ describe('safePath', () => {
|
|
|
747
741
|
});
|
|
748
742
|
test('handles empty parameters object', () => {
|
|
749
743
|
const app = new Spiceflow().get('/static', () => 'static');
|
|
750
|
-
expect(app.safePath('/static'
|
|
744
|
+
expect(app.safePath('/static')).toBe('/static');
|
|
751
745
|
});
|
|
752
746
|
});
|
package/dist/types.d.ts
CHANGED
|
@@ -112,9 +112,9 @@ export type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
|
112
112
|
export type CoExist<Original, Target, With> = IsAny<Target> extends true ? Original : Original extends Record<string, unknown> ? {
|
|
113
113
|
[K in keyof Original]: Original[K] extends Target ? Original[K] | With : Original[K];
|
|
114
114
|
} : Original extends Target ? Original | With : Original;
|
|
115
|
-
export type InlineHandler<Route extends RouteSchema = {}, Singleton extends SingletonBase = {
|
|
115
|
+
export type InlineHandler<This, Route extends RouteSchema = {}, Singleton extends SingletonBase = {
|
|
116
116
|
state: {};
|
|
117
|
-
}, Path extends string = '', MacroContext = {}> = (context: MacroContext extends Record<string | number | symbol, unknown> ? Prettify<MacroContext & Context<Route, Singleton, Path>> : Context<Route, Singleton, Path>) => Response | MaybePromiseIterable<{} extends Route['response'] ? unknown : (Route['response'] extends {
|
|
117
|
+
}, Path extends string = '', MacroContext = {}> = (this: This, context: MacroContext extends Record<string | number | symbol, unknown> ? Prettify<MacroContext & Context<Route, Singleton, Path>> : Context<Route, Singleton, Path>) => Response | MaybePromiseIterable<{} extends Route['response'] ? unknown : (Route['response'] extends {
|
|
118
118
|
200: any;
|
|
119
119
|
} ? Route['response'] : string | number | boolean | Object) | Route['response'][keyof Route['response']] | {
|
|
120
120
|
[Status in keyof Route['response']]: {
|
|
@@ -361,14 +361,10 @@ export type HTTPHeaders = Record<string, string> & {
|
|
|
361
361
|
export type JoinPath<A extends string, B extends string> = `${A}${B extends '/' ? '/index' : B extends '' ? B : B extends `/${string}` ? B : B}`;
|
|
362
362
|
export type PartialWithRequired<T, K extends keyof T> = Partial<Omit<T, K>> & Pick<T, K>;
|
|
363
363
|
export type GetPathsFromRoutes<Routes extends Record<string, unknown>> = Routes extends Record<infer K, any> ? (K extends string ? K : never) : never;
|
|
364
|
-
export type ExtractParamsFromPath<Path extends string> = Path extends `${string}:${infer Param}/${infer Rest}` ?
|
|
365
|
-
[K in Name]?: string;
|
|
366
|
-
} & ExtractParamsFromPath<`/${Rest}`> : {
|
|
364
|
+
export type ExtractParamsFromPath<Path extends string> = Path extends `${string}:${infer Param}/${infer Rest}` ? {
|
|
367
365
|
[K in Param]: string;
|
|
368
|
-
} & ExtractParamsFromPath<`/${Rest}`> : Path extends `${string}:${infer Param}` ?
|
|
369
|
-
[K in Name]?: string;
|
|
370
|
-
} : {
|
|
366
|
+
} & ExtractParamsFromPath<`/${Rest}`> : Path extends `${string}:${infer Param}` ? {
|
|
371
367
|
[K in Param]: string;
|
|
372
|
-
} :
|
|
368
|
+
} : undefined;
|
|
373
369
|
export {};
|
|
374
370
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/client.test.ts
CHANGED
|
@@ -120,7 +120,7 @@ const app = new Spiceflow()
|
|
|
120
120
|
.get('/stream-return-async', function* stream() {
|
|
121
121
|
return 'a'
|
|
122
122
|
})
|
|
123
|
-
.get('/id/:id
|
|
123
|
+
.get('/id/:id', ({ params: { id } }) => id)
|
|
124
124
|
|
|
125
125
|
const client = createSpiceflowClient(app)
|
|
126
126
|
|
package/src/spiceflow.test.ts
CHANGED
|
@@ -12,6 +12,27 @@ test('works', async () => {
|
|
|
12
12
|
expect(await res.json()).toEqual('hi')
|
|
13
13
|
})
|
|
14
14
|
|
|
15
|
+
test('this works to reference app in handler', async () => {
|
|
16
|
+
const res = await new Spiceflow()
|
|
17
|
+
.route({
|
|
18
|
+
method: 'POST',
|
|
19
|
+
path: '/another',
|
|
20
|
+
handler() {
|
|
21
|
+
return 'ok'
|
|
22
|
+
},
|
|
23
|
+
})
|
|
24
|
+
.route({
|
|
25
|
+
method: 'POST',
|
|
26
|
+
path: '/href',
|
|
27
|
+
handler() {
|
|
28
|
+
return this.safePath('/another')
|
|
29
|
+
},
|
|
30
|
+
})
|
|
31
|
+
.handle(new Request('http://localhost/href', { method: 'POST' }))
|
|
32
|
+
expect(res.status).toBe(200)
|
|
33
|
+
expect(await res.json()).toEqual('/another')
|
|
34
|
+
})
|
|
35
|
+
|
|
15
36
|
test('routes works', async () => {
|
|
16
37
|
const res = await new Spiceflow()
|
|
17
38
|
.route({
|
|
@@ -882,8 +903,8 @@ describe('safePath', () => {
|
|
|
882
903
|
.get('/users', () => 'users')
|
|
883
904
|
.get('/posts', () => 'posts')
|
|
884
905
|
|
|
885
|
-
expect(app.safePath('/users'
|
|
886
|
-
expect(app.safePath('/posts'
|
|
906
|
+
expect(app.safePath('/users')).toBe('/users')
|
|
907
|
+
expect(app.safePath('/posts')).toBe('/posts')
|
|
887
908
|
})
|
|
888
909
|
|
|
889
910
|
test('handles paths with required parameters', () => {
|
|
@@ -904,47 +925,6 @@ describe('safePath', () => {
|
|
|
904
925
|
).toBe('/posts/abc/comments/456')
|
|
905
926
|
})
|
|
906
927
|
|
|
907
|
-
test('handles paths with optional parameters', () => {
|
|
908
|
-
const app = new Spiceflow()
|
|
909
|
-
.get('/users/:id?', ({ params }) => params.id)
|
|
910
|
-
.get('/posts/:postId/comments/:commentId?', ({ params }) => params)
|
|
911
|
-
|
|
912
|
-
expect(app.safePath('/users/:id?', { id: '123' })).toBe('/users/123')
|
|
913
|
-
expect(app.safePath('/users/:id?', {})).toBe('/users/')
|
|
914
|
-
expect(
|
|
915
|
-
app.safePath('/posts/:postId/comments/:commentId?', {
|
|
916
|
-
postId: 'abc',
|
|
917
|
-
commentId: '456',
|
|
918
|
-
}),
|
|
919
|
-
).toBe('/posts/abc/comments/456')
|
|
920
|
-
expect(
|
|
921
|
-
app.safePath('/posts/:postId/comments/:commentId?', {
|
|
922
|
-
postId: 'abc',
|
|
923
|
-
}),
|
|
924
|
-
).toBe('/posts/abc/comments/')
|
|
925
|
-
})
|
|
926
|
-
|
|
927
|
-
test('handles mixed required and optional parameters', () => {
|
|
928
|
-
const app = new Spiceflow().get(
|
|
929
|
-
'/api/:version/users/:id/posts/:postId?',
|
|
930
|
-
({ params }) => params,
|
|
931
|
-
)
|
|
932
|
-
|
|
933
|
-
expect(
|
|
934
|
-
app.safePath('/api/:version/users/:id/posts/:postId?', {
|
|
935
|
-
version: 'v1',
|
|
936
|
-
id: '123',
|
|
937
|
-
postId: 'abc',
|
|
938
|
-
}),
|
|
939
|
-
).toBe('/api/v1/users/123/posts/abc')
|
|
940
|
-
|
|
941
|
-
expect(
|
|
942
|
-
app.safePath('/api/:version/users/:id/posts/:postId?', {
|
|
943
|
-
version: 'v1',
|
|
944
|
-
id: '123',
|
|
945
|
-
}),
|
|
946
|
-
).toBe('/api/v1/users/123/posts/')
|
|
947
|
-
})
|
|
948
928
|
|
|
949
929
|
test('handles numeric parameter values', () => {
|
|
950
930
|
const app = new Spiceflow().get('/users/:id', ({ params }) => params.id)
|
|
@@ -956,6 +936,6 @@ describe('safePath', () => {
|
|
|
956
936
|
test('handles empty parameters object', () => {
|
|
957
937
|
const app = new Spiceflow().get('/static', () => 'static')
|
|
958
938
|
|
|
959
|
-
expect(app.safePath('/static'
|
|
939
|
+
expect(app.safePath('/static')).toBe('/static')
|
|
960
940
|
})
|
|
961
941
|
})
|
package/src/spiceflow.ts
CHANGED
|
@@ -59,7 +59,7 @@ export type InternalRoute = {
|
|
|
59
59
|
method: HTTPMethod
|
|
60
60
|
path: string
|
|
61
61
|
type: ContentType
|
|
62
|
-
handler: InlineHandler<any, any, any>
|
|
62
|
+
handler: InlineHandler<any, any, any, any>
|
|
63
63
|
hooks: LocalHook<any, any, any, any, any, any, any>
|
|
64
64
|
validateBody?: ValidationFunction
|
|
65
65
|
validateQuery?: ValidationFunction
|
|
@@ -297,6 +297,7 @@ export class Spiceflow<
|
|
|
297
297
|
const LocalSchema extends InputSchema<keyof Definitions['type'] & string>,
|
|
298
298
|
const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>,
|
|
299
299
|
const Handle extends InlineHandler<
|
|
300
|
+
this,
|
|
300
301
|
Schema,
|
|
301
302
|
Singleton,
|
|
302
303
|
JoinPath<BasePath, Path>
|
|
@@ -345,6 +346,7 @@ export class Spiceflow<
|
|
|
345
346
|
const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>,
|
|
346
347
|
const Macro extends Metadata['macro'],
|
|
347
348
|
const Handle extends InlineHandler<
|
|
349
|
+
this,
|
|
348
350
|
Schema,
|
|
349
351
|
Singleton,
|
|
350
352
|
JoinPath<BasePath, Path>
|
|
@@ -392,6 +394,7 @@ export class Spiceflow<
|
|
|
392
394
|
const LocalSchema extends InputSchema<keyof Definitions['type'] & string>,
|
|
393
395
|
const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>,
|
|
394
396
|
const Handle extends InlineHandler<
|
|
397
|
+
this,
|
|
395
398
|
Schema,
|
|
396
399
|
Singleton,
|
|
397
400
|
JoinPath<BasePath, Path>
|
|
@@ -440,6 +443,7 @@ export class Spiceflow<
|
|
|
440
443
|
const LocalSchema extends InputSchema<keyof Definitions['type'] & string>,
|
|
441
444
|
const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>,
|
|
442
445
|
const Handle extends InlineHandler<
|
|
446
|
+
this,
|
|
443
447
|
Schema,
|
|
444
448
|
Singleton,
|
|
445
449
|
JoinPath<BasePath, Path>
|
|
@@ -468,7 +472,9 @@ export class Spiceflow<
|
|
|
468
472
|
CreateClient<
|
|
469
473
|
JoinPath<BasePath, Path>,
|
|
470
474
|
{
|
|
471
|
-
[M in Method extends readonly (infer E)[]
|
|
475
|
+
[M in Method extends readonly (infer E)[]
|
|
476
|
+
? Lowercase<E & string>
|
|
477
|
+
: Lowercase<Method & string>]: {
|
|
472
478
|
request: GetRequestSchema<Schema>
|
|
473
479
|
params: undefined extends Schema['params']
|
|
474
480
|
? ResolvePath<Path>
|
|
@@ -506,6 +512,7 @@ export class Spiceflow<
|
|
|
506
512
|
const LocalSchema extends InputSchema<keyof Definitions['type'] & string>,
|
|
507
513
|
const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>,
|
|
508
514
|
const Handle extends InlineHandler<
|
|
515
|
+
this,
|
|
509
516
|
Schema,
|
|
510
517
|
Singleton,
|
|
511
518
|
JoinPath<BasePath, Path>
|
|
@@ -554,6 +561,7 @@ export class Spiceflow<
|
|
|
554
561
|
const LocalSchema extends InputSchema<keyof Definitions['type'] & string>,
|
|
555
562
|
const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>,
|
|
556
563
|
const Handle extends InlineHandler<
|
|
564
|
+
this,
|
|
557
565
|
Schema,
|
|
558
566
|
Singleton,
|
|
559
567
|
JoinPath<BasePath, Path>
|
|
@@ -602,6 +610,7 @@ export class Spiceflow<
|
|
|
602
610
|
const LocalSchema extends InputSchema<keyof Definitions['type'] & string>,
|
|
603
611
|
const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>,
|
|
604
612
|
const Handle extends InlineHandler<
|
|
613
|
+
this,
|
|
605
614
|
Schema,
|
|
606
615
|
Singleton,
|
|
607
616
|
JoinPath<BasePath, Path>
|
|
@@ -650,6 +659,7 @@ export class Spiceflow<
|
|
|
650
659
|
const LocalSchema extends InputSchema<keyof Definitions['type'] & string>,
|
|
651
660
|
const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>,
|
|
652
661
|
const Handle extends InlineHandler<
|
|
662
|
+
this,
|
|
653
663
|
Schema,
|
|
654
664
|
Singleton,
|
|
655
665
|
JoinPath<BasePath, Path>
|
|
@@ -700,6 +710,7 @@ export class Spiceflow<
|
|
|
700
710
|
const LocalSchema extends InputSchema<keyof Definitions['type'] & string>,
|
|
701
711
|
const Schema extends UnwrapRoute<LocalSchema, Definitions['type']>,
|
|
702
712
|
const Handle extends InlineHandler<
|
|
713
|
+
this,
|
|
703
714
|
Schema,
|
|
704
715
|
Singleton,
|
|
705
716
|
JoinPath<BasePath, Path>
|
|
@@ -891,7 +902,7 @@ export class Spiceflow<
|
|
|
891
902
|
route.internalRoute?.validateParams,
|
|
892
903
|
)
|
|
893
904
|
|
|
894
|
-
const res = await route.internalRoute?.handler(context)
|
|
905
|
+
const res = await route.internalRoute?.handler.call(this, context)
|
|
895
906
|
if (isAsyncIterable(res)) {
|
|
896
907
|
handlerResponse = await this.handleStream({
|
|
897
908
|
generator: res,
|
|
@@ -1172,26 +1183,27 @@ export class Spiceflow<
|
|
|
1172
1183
|
},
|
|
1173
1184
|
)
|
|
1174
1185
|
}
|
|
1175
|
-
|
|
1176
1186
|
safePath<
|
|
1177
1187
|
const Path extends RoutePaths,
|
|
1178
1188
|
const Params extends ExtractParamsFromPath<Path>,
|
|
1179
|
-
>(
|
|
1189
|
+
>(
|
|
1190
|
+
path: Path,
|
|
1191
|
+
...rest: [Params] extends [undefined]
|
|
1192
|
+
? [] | [params?: Params]
|
|
1193
|
+
: [params: Params]
|
|
1194
|
+
): string {
|
|
1195
|
+
let params = (rest.length > 0 ? rest[0] : undefined) as Params | undefined
|
|
1180
1196
|
let result = path as string
|
|
1181
1197
|
|
|
1182
|
-
//
|
|
1198
|
+
// Handle all provided parameters
|
|
1183
1199
|
if (params && typeof params === 'object') {
|
|
1184
1200
|
Object.entries(params).forEach(([key, value]) => {
|
|
1185
|
-
// Handle
|
|
1186
|
-
const regex = new RegExp(`:${key}
|
|
1201
|
+
// Handle required parameters only
|
|
1202
|
+
const regex = new RegExp(`:${key}`, 'g')
|
|
1187
1203
|
result = result.replace(regex, String(value))
|
|
1188
1204
|
})
|
|
1189
1205
|
}
|
|
1190
1206
|
|
|
1191
|
-
// Then, handle any remaining optional parameters that weren't provided
|
|
1192
|
-
// Replace any remaining :param? with empty string (keeping trailing slash)
|
|
1193
|
-
result = result.replace(/:[\w-]+\?/g, '')
|
|
1194
|
-
|
|
1195
1207
|
return result
|
|
1196
1208
|
}
|
|
1197
1209
|
}
|
package/src/types.ts
CHANGED
|
@@ -339,6 +339,7 @@ export type CoExist<Original, Target, With> =
|
|
|
339
339
|
: Original
|
|
340
340
|
|
|
341
341
|
export type InlineHandler<
|
|
342
|
+
This,
|
|
342
343
|
Route extends RouteSchema = {},
|
|
343
344
|
Singleton extends SingletonBase = {
|
|
344
345
|
state: {}
|
|
@@ -346,6 +347,7 @@ export type InlineHandler<
|
|
|
346
347
|
Path extends string = '',
|
|
347
348
|
MacroContext = {},
|
|
348
349
|
> = (
|
|
350
|
+
this: This,
|
|
349
351
|
context: MacroContext extends Record<string | number | symbol, unknown>
|
|
350
352
|
? Prettify<MacroContext & Context<Route, Singleton, Path>>
|
|
351
353
|
: Context<Route, Singleton, Path>,
|
|
@@ -871,11 +873,7 @@ export type GetPathsFromRoutes<Routes extends Record<string, unknown>> =
|
|
|
871
873
|
|
|
872
874
|
export type ExtractParamsFromPath<Path extends string> =
|
|
873
875
|
Path extends `${string}:${infer Param}/${infer Rest}`
|
|
874
|
-
? Param
|
|
875
|
-
? { [K in Name]?: string } & ExtractParamsFromPath<`/${Rest}`>
|
|
876
|
-
: { [K in Param]: string } & ExtractParamsFromPath<`/${Rest}`>
|
|
876
|
+
? { [K in Param]: string } & ExtractParamsFromPath<`/${Rest}`>
|
|
877
877
|
: Path extends `${string}:${infer Param}`
|
|
878
|
-
? Param
|
|
879
|
-
|
|
880
|
-
: { [K in Param]: string }
|
|
881
|
-
: {}
|
|
878
|
+
? { [K in Param]: string }
|
|
879
|
+
: undefined
|