@tanstack/start-client-core 1.132.0-alpha.2 → 1.132.0-alpha.20
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/dist/esm/constants.d.ts +5 -0
- package/dist/esm/constants.js +13 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/createClientRpc.d.ts +6 -0
- package/dist/esm/createClientRpc.js +26 -0
- package/dist/esm/createClientRpc.js.map +1 -0
- package/dist/esm/createMiddleware.d.ts +42 -42
- package/dist/esm/createMiddleware.js.map +1 -1
- package/dist/esm/createServerFn.d.ts +57 -61
- package/dist/esm/createServerFn.js +40 -46
- package/dist/esm/createServerFn.js.map +1 -1
- package/dist/esm/envOnly.d.ts +2 -2
- package/dist/esm/envOnly.js +4 -4
- package/dist/esm/envOnly.js.map +1 -1
- package/dist/esm/getRouterInstance.d.ts +1 -0
- package/dist/esm/getRouterInstance.js +7 -0
- package/dist/esm/getRouterInstance.js.map +1 -0
- package/dist/esm/index.d.ts +6 -5
- package/dist/esm/index.js +13 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/serializer/ServerFunctionSerializationAdapter.d.ts +5 -0
- package/dist/esm/serializer/ServerFunctionSerializationAdapter.js +17 -0
- package/dist/esm/serializer/ServerFunctionSerializationAdapter.js.map +1 -0
- package/dist/esm/serializer/getClientSerovalPlugins.d.ts +3 -0
- package/dist/esm/serializer/getClientSerovalPlugins.js +13 -0
- package/dist/esm/serializer/getClientSerovalPlugins.js.map +1 -0
- package/dist/esm/serializer/getDefaultSerovalPlugins.d.ts +1 -0
- package/dist/esm/serializer/getDefaultSerovalPlugins.js +16 -0
- package/dist/esm/serializer/getDefaultSerovalPlugins.js.map +1 -0
- package/dist/esm/serverFnFetcher.d.ts +1 -0
- package/dist/esm/serverFnFetcher.js +217 -0
- package/dist/esm/serverFnFetcher.js.map +1 -0
- package/package.json +5 -4
- package/src/constants.ts +8 -0
- package/src/createClientRpc.ts +26 -0
- package/src/createMiddleware.ts +113 -95
- package/src/createServerFn.ts +230 -208
- package/src/envOnly.ts +2 -2
- package/src/getRouterInstance.ts +7 -0
- package/src/index.tsx +11 -15
- package/src/serializer/ServerFunctionSerializationAdapter.ts +16 -0
- package/src/serializer/getClientSerovalPlugins.ts +10 -0
- package/src/serializer/getDefaultSerovalPlugins.ts +19 -0
- package/src/serverFnFetcher.ts +299 -0
- package/src/tests/createServerFn.test-d.ts +134 -108
- package/src/tests/createServerMiddleware.test-d.ts +16 -9
- package/src/tests/envOnly.test-d.ts +9 -9
- package/dist/esm/serializer.d.ts +0 -23
- package/dist/esm/serializer.js +0 -162
- package/dist/esm/serializer.js.map +0 -1
- package/dist/esm/tests/serializer.test.d.ts +0 -1
- package/src/serializer.ts +0 -219
- package/src/tests/serializer.test.tsx +0 -151
package/src/createMiddleware.ts
CHANGED
|
@@ -1,43 +1,42 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
ConstrainValidator,
|
|
3
|
-
Method,
|
|
4
|
-
ServerFnResponseType,
|
|
5
|
-
} from './createServerFn'
|
|
1
|
+
import type { AnyServerFn, ConstrainValidator, Method } from './createServerFn'
|
|
6
2
|
import type {
|
|
7
3
|
AnyRouter,
|
|
8
4
|
Assign,
|
|
9
5
|
Constrain,
|
|
10
6
|
Expand,
|
|
11
7
|
IntersectAssign,
|
|
8
|
+
Register,
|
|
12
9
|
RegisteredRouter,
|
|
13
10
|
ResolveValidatorInput,
|
|
14
11
|
ResolveValidatorOutput,
|
|
12
|
+
ValidateSerializableInput,
|
|
15
13
|
} from '@tanstack/router-core'
|
|
16
|
-
import type { SerializerStringify } from './serializer'
|
|
17
14
|
|
|
18
|
-
export function createMiddleware<
|
|
15
|
+
export function createMiddleware<
|
|
16
|
+
TRegister extends Register,
|
|
17
|
+
TType extends MiddlewareType,
|
|
18
|
+
>(
|
|
19
19
|
options: {
|
|
20
20
|
type: TType
|
|
21
|
-
validateClient?: boolean
|
|
22
21
|
},
|
|
23
22
|
__opts?: FunctionMiddlewareOptions<
|
|
23
|
+
TRegister,
|
|
24
24
|
unknown,
|
|
25
25
|
undefined,
|
|
26
26
|
undefined,
|
|
27
|
-
undefined
|
|
28
|
-
ServerFnResponseType
|
|
27
|
+
undefined
|
|
29
28
|
>,
|
|
30
|
-
): CreateMiddlewareResult<TType> {
|
|
29
|
+
): CreateMiddlewareResult<TRegister, TType> {
|
|
31
30
|
// const resolvedOptions = (__opts || options) as MiddlewareOptions<
|
|
32
31
|
const resolvedOptions = {
|
|
33
32
|
type: 'function',
|
|
34
33
|
...(__opts ||
|
|
35
34
|
(options as FunctionMiddlewareOptions<
|
|
35
|
+
TRegister,
|
|
36
36
|
unknown,
|
|
37
37
|
undefined,
|
|
38
38
|
undefined,
|
|
39
|
-
undefined
|
|
40
|
-
ServerFnResponseType
|
|
39
|
+
undefined
|
|
41
40
|
>)),
|
|
42
41
|
}
|
|
43
42
|
|
|
@@ -67,57 +66,56 @@ export function createMiddleware<TType extends MiddlewareType>(
|
|
|
67
66
|
Object.assign(resolvedOptions, { server }),
|
|
68
67
|
) as any
|
|
69
68
|
},
|
|
70
|
-
} as unknown as CreateMiddlewareResult<TType>
|
|
69
|
+
} as unknown as CreateMiddlewareResult<TRegister, TType>
|
|
71
70
|
}
|
|
72
71
|
|
|
73
72
|
export type MiddlewareType = 'request' | 'function'
|
|
74
73
|
|
|
75
|
-
export type CreateMiddlewareResult<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
export type CreateMiddlewareResult<
|
|
75
|
+
TRegister extends Register,
|
|
76
|
+
TType extends MiddlewareType,
|
|
77
|
+
> = 'function' extends TType ? FunctionMiddleware<TRegister> : RequestMiddleware
|
|
79
78
|
|
|
80
|
-
export interface FunctionMiddleware<
|
|
81
|
-
|
|
82
|
-
> extends FunctionMiddlewareAfterMiddleware<unknown, TServerFnResponseType> {
|
|
79
|
+
export interface FunctionMiddleware<TRegister extends Register>
|
|
80
|
+
extends FunctionMiddlewareAfterMiddleware<TRegister, unknown> {
|
|
83
81
|
middleware: <const TNewMiddlewares = undefined>(
|
|
84
82
|
middlewares: Constrain<
|
|
85
83
|
TNewMiddlewares,
|
|
86
84
|
ReadonlyArray<AnyFunctionMiddleware>
|
|
87
85
|
>,
|
|
88
|
-
) => FunctionMiddlewareAfterMiddleware<
|
|
86
|
+
) => FunctionMiddlewareAfterMiddleware<TRegister, TNewMiddlewares>
|
|
89
87
|
}
|
|
90
88
|
|
|
91
89
|
export interface FunctionMiddlewareAfterMiddleware<
|
|
90
|
+
TRegister extends Register,
|
|
92
91
|
TMiddlewares,
|
|
93
|
-
TServerFnResponseType extends ServerFnResponseType,
|
|
94
92
|
> extends FunctionMiddlewareWithTypes<
|
|
93
|
+
TRegister,
|
|
95
94
|
TMiddlewares,
|
|
96
95
|
undefined,
|
|
97
96
|
undefined,
|
|
98
97
|
undefined,
|
|
99
98
|
undefined,
|
|
100
|
-
undefined
|
|
101
|
-
TServerFnResponseType
|
|
99
|
+
undefined
|
|
102
100
|
>,
|
|
103
101
|
FunctionMiddlewareServer<
|
|
102
|
+
TRegister,
|
|
104
103
|
TMiddlewares,
|
|
105
104
|
undefined,
|
|
106
105
|
undefined,
|
|
107
|
-
undefined
|
|
108
|
-
TServerFnResponseType
|
|
106
|
+
undefined
|
|
109
107
|
>,
|
|
110
|
-
FunctionMiddlewareClient<TMiddlewares, undefined
|
|
111
|
-
FunctionMiddlewareValidator<
|
|
108
|
+
FunctionMiddlewareClient<TRegister, TMiddlewares, undefined>,
|
|
109
|
+
FunctionMiddlewareValidator<TRegister, TMiddlewares> {}
|
|
112
110
|
|
|
113
111
|
export interface FunctionMiddlewareWithTypes<
|
|
112
|
+
TRegister extends Register,
|
|
114
113
|
TMiddlewares,
|
|
115
114
|
TValidator,
|
|
116
115
|
TServerContext,
|
|
117
116
|
TServerSendContext,
|
|
118
117
|
TClientContext,
|
|
119
118
|
TClientSendContext,
|
|
120
|
-
TServerFnResponseType extends ServerFnResponseType,
|
|
121
119
|
> {
|
|
122
120
|
_types: FunctionMiddlewareTypes<
|
|
123
121
|
TMiddlewares,
|
|
@@ -128,11 +126,11 @@ export interface FunctionMiddlewareWithTypes<
|
|
|
128
126
|
TClientSendContext
|
|
129
127
|
>
|
|
130
128
|
options: FunctionMiddlewareOptions<
|
|
129
|
+
TRegister,
|
|
131
130
|
TMiddlewares,
|
|
132
131
|
TValidator,
|
|
133
132
|
TServerContext,
|
|
134
|
-
TClientContext
|
|
135
|
-
TServerFnResponseType
|
|
133
|
+
TClientContext
|
|
136
134
|
>
|
|
137
135
|
}
|
|
138
136
|
|
|
@@ -196,10 +194,14 @@ export type IntersectAllMiddleware<
|
|
|
196
194
|
TMiddlewares,
|
|
197
195
|
TType extends
|
|
198
196
|
| keyof AnyFunctionMiddleware['_types']
|
|
199
|
-
| keyof AnyRequestMiddleware['_types']
|
|
197
|
+
| keyof AnyRequestMiddleware['_types']
|
|
198
|
+
| keyof AnyServerFn['_types'],
|
|
200
199
|
TAcc = undefined,
|
|
201
200
|
> = TMiddlewares extends readonly [infer TMiddleware, ...infer TRest]
|
|
202
|
-
? TMiddleware extends
|
|
201
|
+
? TMiddleware extends
|
|
202
|
+
| AnyFunctionMiddleware
|
|
203
|
+
| AnyRequestMiddleware
|
|
204
|
+
| AnyServerFn
|
|
203
205
|
? IntersectAllMiddleware<
|
|
204
206
|
TRest,
|
|
205
207
|
TType,
|
|
@@ -251,10 +253,14 @@ export type AssignAllMiddleware<
|
|
|
251
253
|
TMiddlewares,
|
|
252
254
|
TType extends
|
|
253
255
|
| keyof AnyFunctionMiddleware['_types']
|
|
254
|
-
| keyof AnyRequestMiddleware['_types']
|
|
256
|
+
| keyof AnyRequestMiddleware['_types']
|
|
257
|
+
| keyof AnyServerFn['_types'],
|
|
255
258
|
TAcc = undefined,
|
|
256
259
|
> = TMiddlewares extends readonly [infer TMiddleware, ...infer TRest]
|
|
257
|
-
? TMiddleware extends
|
|
260
|
+
? TMiddleware extends
|
|
261
|
+
| AnyFunctionMiddleware
|
|
262
|
+
| AnyRequestMiddleware
|
|
263
|
+
| AnyServerFn
|
|
258
264
|
? AssignAllMiddleware<
|
|
259
265
|
TRest,
|
|
260
266
|
TType,
|
|
@@ -309,82 +315,82 @@ export type AssignAllClientSendContext<
|
|
|
309
315
|
>
|
|
310
316
|
|
|
311
317
|
export interface FunctionMiddlewareOptions<
|
|
318
|
+
in out TRegister extends Register,
|
|
312
319
|
in out TMiddlewares,
|
|
313
320
|
in out TValidator,
|
|
314
321
|
in out TServerContext,
|
|
315
322
|
in out TClientContext,
|
|
316
|
-
in out TServerFnResponseType extends ServerFnResponseType,
|
|
317
323
|
> {
|
|
318
|
-
validateClient?: boolean
|
|
319
324
|
middleware?: TMiddlewares
|
|
320
|
-
validator?: ConstrainValidator<TValidator>
|
|
325
|
+
validator?: ConstrainValidator<TRegister, 'GET', TValidator>
|
|
321
326
|
client?: FunctionMiddlewareClientFn<
|
|
327
|
+
TRegister,
|
|
322
328
|
TMiddlewares,
|
|
323
329
|
TValidator,
|
|
324
330
|
TServerContext,
|
|
325
|
-
TClientContext
|
|
326
|
-
TServerFnResponseType
|
|
331
|
+
TClientContext
|
|
327
332
|
>
|
|
328
333
|
server?: FunctionMiddlewareServerFn<
|
|
334
|
+
TRegister,
|
|
329
335
|
TMiddlewares,
|
|
330
336
|
TValidator,
|
|
331
337
|
TServerContext,
|
|
332
338
|
unknown,
|
|
333
|
-
unknown
|
|
334
|
-
TServerFnResponseType
|
|
339
|
+
unknown
|
|
335
340
|
>
|
|
336
341
|
}
|
|
337
342
|
|
|
338
|
-
export type FunctionMiddlewareClientNextFn<
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
>(ctx?: {
|
|
343
|
+
export type FunctionMiddlewareClientNextFn<
|
|
344
|
+
TRegister extends Register,
|
|
345
|
+
TMiddlewares,
|
|
346
|
+
> = <TSendContext = undefined, TNewClientContext = undefined>(ctx?: {
|
|
342
347
|
context?: TNewClientContext
|
|
343
|
-
sendContext?:
|
|
348
|
+
sendContext?: ValidateSerializableInput<TRegister, TSendContext>
|
|
344
349
|
headers?: HeadersInit
|
|
345
350
|
}) => Promise<
|
|
346
351
|
FunctionClientResultWithContext<TMiddlewares, TSendContext, TNewClientContext>
|
|
347
352
|
>
|
|
348
353
|
|
|
349
354
|
export interface FunctionMiddlewareServer<
|
|
355
|
+
TRegister extends Register,
|
|
350
356
|
TMiddlewares,
|
|
351
357
|
TValidator,
|
|
352
358
|
TServerSendContext,
|
|
353
359
|
TClientContext,
|
|
354
|
-
TServerFnResponseType extends ServerFnResponseType,
|
|
355
360
|
> {
|
|
356
361
|
server: <TNewServerContext = undefined, TSendContext = undefined>(
|
|
357
362
|
server: FunctionMiddlewareServerFn<
|
|
363
|
+
TRegister,
|
|
358
364
|
TMiddlewares,
|
|
359
365
|
TValidator,
|
|
360
366
|
TServerSendContext,
|
|
361
367
|
TNewServerContext,
|
|
362
|
-
TSendContext
|
|
363
|
-
TServerFnResponseType
|
|
368
|
+
TSendContext
|
|
364
369
|
>,
|
|
365
370
|
) => FunctionMiddlewareAfterServer<
|
|
371
|
+
TRegister,
|
|
366
372
|
TMiddlewares,
|
|
367
373
|
TValidator,
|
|
368
374
|
TNewServerContext,
|
|
369
375
|
TServerSendContext,
|
|
370
376
|
TClientContext,
|
|
371
|
-
TSendContext
|
|
372
|
-
ServerFnResponseType
|
|
377
|
+
TSendContext
|
|
373
378
|
>
|
|
374
379
|
}
|
|
380
|
+
|
|
375
381
|
export type FunctionMiddlewareServerFn<
|
|
382
|
+
TRegister extends Register,
|
|
376
383
|
TMiddlewares,
|
|
377
384
|
TValidator,
|
|
378
385
|
TServerSendContext,
|
|
379
386
|
TNewServerContext,
|
|
380
387
|
TSendContext,
|
|
381
|
-
TServerFnResponseType extends ServerFnResponseType,
|
|
382
388
|
> = (
|
|
383
389
|
options: FunctionMiddlewareServerFnOptions<
|
|
390
|
+
TRegister,
|
|
384
391
|
TMiddlewares,
|
|
385
392
|
TValidator,
|
|
386
|
-
TServerSendContext
|
|
387
|
-
TServerFnResponseType
|
|
393
|
+
TServerSendContext
|
|
388
394
|
>,
|
|
389
395
|
) => FunctionMiddlewareServerFnResult<
|
|
390
396
|
TMiddlewares,
|
|
@@ -394,23 +400,29 @@ export type FunctionMiddlewareServerFn<
|
|
|
394
400
|
>
|
|
395
401
|
|
|
396
402
|
export interface RequestMiddlewareServerFnOptions<
|
|
403
|
+
in out TRegister extends Register,
|
|
397
404
|
in out TMiddlewares,
|
|
398
405
|
in out TServerSendContext,
|
|
399
406
|
> {
|
|
400
407
|
request: Request
|
|
401
408
|
context: Expand<AssignAllServerContext<TMiddlewares, TServerSendContext>>
|
|
402
|
-
next: FunctionMiddlewareServerNextFn<
|
|
409
|
+
next: FunctionMiddlewareServerNextFn<
|
|
410
|
+
TRegister,
|
|
411
|
+
TMiddlewares,
|
|
412
|
+
TServerSendContext
|
|
413
|
+
>
|
|
403
414
|
response: Response
|
|
404
415
|
method: Method
|
|
405
416
|
signal: AbortSignal
|
|
406
417
|
}
|
|
407
418
|
|
|
408
|
-
export type FunctionMiddlewareServerNextFn<
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
419
|
+
export type FunctionMiddlewareServerNextFn<
|
|
420
|
+
TRegister extends Register,
|
|
421
|
+
TMiddlewares,
|
|
422
|
+
TServerSendContext,
|
|
423
|
+
> = <TNewServerContext = undefined, TSendContext = undefined>(ctx?: {
|
|
412
424
|
context?: TNewServerContext
|
|
413
|
-
sendContext?:
|
|
425
|
+
sendContext?: ValidateSerializableInput<TRegister, TSendContext>
|
|
414
426
|
}) => Promise<
|
|
415
427
|
FunctionServerResultWithContext<
|
|
416
428
|
TMiddlewares,
|
|
@@ -438,15 +450,18 @@ export type FunctionServerResultWithContext<
|
|
|
438
450
|
}
|
|
439
451
|
|
|
440
452
|
export interface FunctionMiddlewareServerFnOptions<
|
|
453
|
+
in out TRegister extends Register,
|
|
441
454
|
in out TMiddlewares,
|
|
442
455
|
in out TValidator,
|
|
443
456
|
in out TServerSendContext,
|
|
444
|
-
in out TServerFnResponseType,
|
|
445
457
|
> {
|
|
446
458
|
data: Expand<IntersectAllValidatorOutputs<TMiddlewares, TValidator>>
|
|
447
459
|
context: Expand<AssignAllServerContext<TMiddlewares, TServerSendContext>>
|
|
448
|
-
next: FunctionMiddlewareServerNextFn<
|
|
449
|
-
|
|
460
|
+
next: FunctionMiddlewareServerNextFn<
|
|
461
|
+
TRegister,
|
|
462
|
+
TMiddlewares,
|
|
463
|
+
TServerSendContext
|
|
464
|
+
>
|
|
450
465
|
method: Method
|
|
451
466
|
filename: string
|
|
452
467
|
functionId: string
|
|
@@ -475,59 +490,59 @@ export type FunctionMiddlewareServerFnResult<
|
|
|
475
490
|
>
|
|
476
491
|
|
|
477
492
|
export interface FunctionMiddlewareAfterServer<
|
|
493
|
+
TRegister extends Register,
|
|
478
494
|
TMiddlewares,
|
|
479
495
|
TValidator,
|
|
480
496
|
TServerContext,
|
|
481
497
|
TServerSendContext,
|
|
482
498
|
TClientContext,
|
|
483
499
|
TClientSendContext,
|
|
484
|
-
TServerFnResponseType extends ServerFnResponseType,
|
|
485
500
|
> extends FunctionMiddlewareWithTypes<
|
|
501
|
+
TRegister,
|
|
486
502
|
TMiddlewares,
|
|
487
503
|
TValidator,
|
|
488
504
|
TServerContext,
|
|
489
505
|
TServerSendContext,
|
|
490
506
|
TClientContext,
|
|
491
|
-
TClientSendContext
|
|
492
|
-
TServerFnResponseType
|
|
507
|
+
TClientSendContext
|
|
493
508
|
> {}
|
|
494
509
|
|
|
495
510
|
export interface FunctionMiddlewareClient<
|
|
511
|
+
TRegister extends Register,
|
|
496
512
|
TMiddlewares,
|
|
497
513
|
TValidator,
|
|
498
|
-
TServerFnResponseType extends ServerFnResponseType,
|
|
499
514
|
TRouter extends AnyRouter = RegisteredRouter,
|
|
500
515
|
> {
|
|
501
516
|
client: <TSendServerContext = undefined, TNewClientContext = undefined>(
|
|
502
517
|
client: FunctionMiddlewareClientFn<
|
|
518
|
+
TRegister,
|
|
503
519
|
TMiddlewares,
|
|
504
520
|
TValidator,
|
|
505
521
|
TSendServerContext,
|
|
506
522
|
TNewClientContext,
|
|
507
|
-
TServerFnResponseType,
|
|
508
523
|
TRouter
|
|
509
524
|
>,
|
|
510
525
|
) => FunctionMiddlewareAfterClient<
|
|
526
|
+
TRegister,
|
|
511
527
|
TMiddlewares,
|
|
512
528
|
TValidator,
|
|
513
529
|
TSendServerContext,
|
|
514
|
-
TNewClientContext
|
|
515
|
-
ServerFnResponseType
|
|
530
|
+
TNewClientContext
|
|
516
531
|
>
|
|
517
532
|
}
|
|
518
533
|
|
|
519
534
|
export type FunctionMiddlewareClientFn<
|
|
535
|
+
TRegister extends Register,
|
|
520
536
|
TMiddlewares,
|
|
521
537
|
TValidator,
|
|
522
538
|
TSendContext,
|
|
523
539
|
TClientContext,
|
|
524
|
-
TServerFnResponseType extends ServerFnResponseType,
|
|
525
540
|
TRouter extends AnyRouter = RegisteredRouter,
|
|
526
541
|
> = (
|
|
527
542
|
options: FunctionMiddlewareClientFnOptions<
|
|
543
|
+
TRegister,
|
|
528
544
|
TMiddlewares,
|
|
529
545
|
TValidator,
|
|
530
|
-
TServerFnResponseType,
|
|
531
546
|
TRouter
|
|
532
547
|
>,
|
|
533
548
|
) => FunctionMiddlewareClientFnResult<
|
|
@@ -537,18 +552,17 @@ export type FunctionMiddlewareClientFn<
|
|
|
537
552
|
>
|
|
538
553
|
|
|
539
554
|
export interface FunctionMiddlewareClientFnOptions<
|
|
555
|
+
in out TRegister extends Register,
|
|
540
556
|
in out TMiddlewares,
|
|
541
557
|
in out TValidator,
|
|
542
|
-
in out TServerFnResponseType extends ServerFnResponseType,
|
|
543
558
|
in out TRouter extends AnyRouter,
|
|
544
559
|
> {
|
|
545
560
|
data: Expand<IntersectAllValidatorInputs<TMiddlewares, TValidator>>
|
|
546
561
|
context: Expand<AssignAllClientContextBeforeNext<TMiddlewares>>
|
|
547
562
|
sendContext: Expand<AssignAllServerSendContext<TMiddlewares>>
|
|
548
563
|
method: Method
|
|
549
|
-
response: TServerFnResponseType
|
|
550
564
|
signal: AbortSignal
|
|
551
|
-
next: FunctionMiddlewareClientNextFn<TMiddlewares>
|
|
565
|
+
next: FunctionMiddlewareClientNextFn<TRegister, TMiddlewares>
|
|
552
566
|
filename: string
|
|
553
567
|
functionId: string
|
|
554
568
|
router: TRouter
|
|
@@ -580,62 +594,58 @@ export type FunctionClientResultWithContext<
|
|
|
580
594
|
}
|
|
581
595
|
|
|
582
596
|
export interface FunctionMiddlewareAfterClient<
|
|
597
|
+
TRegister extends Register,
|
|
583
598
|
TMiddlewares,
|
|
584
599
|
TValidator,
|
|
585
600
|
TServerSendContext,
|
|
586
601
|
TClientContext,
|
|
587
|
-
TServerFnResponseType extends ServerFnResponseType,
|
|
588
602
|
> extends FunctionMiddlewareWithTypes<
|
|
603
|
+
TRegister,
|
|
589
604
|
TMiddlewares,
|
|
590
605
|
TValidator,
|
|
591
606
|
undefined,
|
|
592
607
|
TServerSendContext,
|
|
593
608
|
TClientContext,
|
|
594
|
-
undefined
|
|
595
|
-
TServerFnResponseType
|
|
609
|
+
undefined
|
|
596
610
|
>,
|
|
597
611
|
FunctionMiddlewareServer<
|
|
612
|
+
TRegister,
|
|
598
613
|
TMiddlewares,
|
|
599
614
|
TValidator,
|
|
600
615
|
TServerSendContext,
|
|
601
|
-
TClientContext
|
|
602
|
-
TServerFnResponseType
|
|
616
|
+
TClientContext
|
|
603
617
|
> {}
|
|
604
618
|
|
|
605
619
|
export interface FunctionMiddlewareValidator<
|
|
620
|
+
TRegister extends Register,
|
|
606
621
|
TMiddlewares,
|
|
607
|
-
TServerFnResponseType extends ServerFnResponseType,
|
|
608
622
|
> {
|
|
609
623
|
validator: <TNewValidator>(
|
|
610
|
-
input: ConstrainValidator<TNewValidator>,
|
|
611
|
-
) => FunctionMiddlewareAfterValidator<
|
|
612
|
-
TMiddlewares,
|
|
613
|
-
TNewValidator,
|
|
614
|
-
TServerFnResponseType
|
|
615
|
-
>
|
|
624
|
+
input: ConstrainValidator<TRegister, 'GET', TNewValidator>,
|
|
625
|
+
) => FunctionMiddlewareAfterValidator<TRegister, TMiddlewares, TNewValidator>
|
|
616
626
|
}
|
|
617
627
|
|
|
618
628
|
export interface FunctionMiddlewareAfterValidator<
|
|
629
|
+
TRegister extends Register,
|
|
619
630
|
TMiddlewares,
|
|
620
631
|
TValidator,
|
|
621
|
-
TServerFnResponseType extends ServerFnResponseType,
|
|
622
632
|
> extends FunctionMiddlewareWithTypes<
|
|
633
|
+
TRegister,
|
|
623
634
|
TMiddlewares,
|
|
624
635
|
TValidator,
|
|
625
636
|
undefined,
|
|
626
637
|
undefined,
|
|
627
638
|
undefined,
|
|
628
|
-
undefined
|
|
629
|
-
ServerFnResponseType
|
|
639
|
+
undefined
|
|
630
640
|
>,
|
|
631
641
|
FunctionMiddlewareServer<
|
|
642
|
+
TRegister,
|
|
632
643
|
TMiddlewares,
|
|
633
644
|
TValidator,
|
|
634
645
|
undefined,
|
|
635
|
-
undefined
|
|
636
|
-
TServerFnResponseType
|
|
646
|
+
undefined
|
|
637
647
|
>,
|
|
638
|
-
FunctionMiddlewareClient<TMiddlewares, TValidator
|
|
648
|
+
FunctionMiddlewareClient<TRegister, TMiddlewares, TValidator> {}
|
|
639
649
|
|
|
640
650
|
export interface RequestMiddleware
|
|
641
651
|
extends RequestMiddlewareAfterMiddleware<undefined> {
|
|
@@ -648,8 +658,16 @@ export type AnyRequestMiddleware = RequestMiddlewareWithTypes<any, any>
|
|
|
648
658
|
|
|
649
659
|
export interface RequestMiddlewareWithTypes<TMiddlewares, TServerContext> {
|
|
650
660
|
_types: RequestMiddlewareTypes<TMiddlewares, TServerContext>
|
|
661
|
+
options: RequestMiddlewareOptions<TMiddlewares, TServerContext>
|
|
651
662
|
}
|
|
652
663
|
|
|
664
|
+
export interface RequestMiddlewareOptions<
|
|
665
|
+
in out TMiddlewares,
|
|
666
|
+
in out TServerContext,
|
|
667
|
+
> {
|
|
668
|
+
middleware?: TMiddlewares
|
|
669
|
+
server?: RequestServerFn<TMiddlewares, TServerContext>
|
|
670
|
+
}
|
|
653
671
|
export interface RequestMiddlewareTypes<TMiddlewares, TServerContext> {
|
|
654
672
|
type: 'request'
|
|
655
673
|
middlewares: TMiddlewares
|