@tanstack/start-client-core 1.132.0-alpha.7 → 1.132.0-alpha.9
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/createMiddleware.d.ts +35 -36
- package/dist/esm/createMiddleware.js.map +1 -1
- package/dist/esm/createServerFn.d.ts +45 -37
- package/dist/esm/createServerFn.js +23 -12
- package/dist/esm/createServerFn.js.map +1 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/serializer/ServerFunctionSerializationAdapter.d.ts +1 -1
- package/dist/esm/serializer/ServerFunctionSerializationAdapter.js +5 -1
- package/dist/esm/serializer/ServerFunctionSerializationAdapter.js.map +1 -1
- package/dist/esm/serializer/getDefaultSerovalPlugins.js.map +1 -1
- package/dist/esm/serverFnFetcher.js.map +1 -1
- package/package.json +3 -3
- package/src/createMiddleware.ts +101 -28
- package/src/createServerFn.ts +177 -52
- package/src/index.tsx +0 -9
- package/src/serializer/ServerFunctionSerializationAdapter.ts +7 -1
- package/src/serializer/getDefaultSerovalPlugins.ts +2 -2
- package/src/serverFnFetcher.ts +3 -2
- package/src/tests/createServerFn.test-d.ts +90 -4
- package/src/tests/createServerMiddleware.test-d.ts +11 -9
- package/dist/esm/serializer.d.ts +0 -16
- package/src/serializer.ts +0 -25
package/src/createMiddleware.ts
CHANGED
|
@@ -9,30 +9,36 @@ import type {
|
|
|
9
9
|
Constrain,
|
|
10
10
|
Expand,
|
|
11
11
|
IntersectAssign,
|
|
12
|
+
Register,
|
|
12
13
|
RegisteredRouter,
|
|
13
14
|
ResolveValidatorInput,
|
|
14
15
|
ResolveValidatorOutput,
|
|
16
|
+
ValidateSerializableInput,
|
|
15
17
|
} from '@tanstack/router-core'
|
|
16
|
-
import type { SerializerStringify } from './serializer'
|
|
17
18
|
|
|
18
|
-
export function createMiddleware<
|
|
19
|
+
export function createMiddleware<
|
|
20
|
+
TRegister extends Register,
|
|
21
|
+
TType extends MiddlewareType,
|
|
22
|
+
>(
|
|
19
23
|
options: {
|
|
20
24
|
type: TType
|
|
21
25
|
validateClient?: boolean
|
|
22
26
|
},
|
|
23
27
|
__opts?: FunctionMiddlewareOptions<
|
|
28
|
+
TRegister,
|
|
24
29
|
unknown,
|
|
25
30
|
undefined,
|
|
26
31
|
undefined,
|
|
27
32
|
undefined,
|
|
28
33
|
ServerFnResponseType
|
|
29
34
|
>,
|
|
30
|
-
): CreateMiddlewareResult<TType> {
|
|
35
|
+
): CreateMiddlewareResult<TRegister, TType> {
|
|
31
36
|
// const resolvedOptions = (__opts || options) as MiddlewareOptions<
|
|
32
37
|
const resolvedOptions = {
|
|
33
38
|
type: 'function',
|
|
34
39
|
...(__opts ||
|
|
35
40
|
(options as FunctionMiddlewareOptions<
|
|
41
|
+
TRegister,
|
|
36
42
|
unknown,
|
|
37
43
|
undefined,
|
|
38
44
|
undefined,
|
|
@@ -67,31 +73,44 @@ export function createMiddleware<TType extends MiddlewareType>(
|
|
|
67
73
|
Object.assign(resolvedOptions, { server }),
|
|
68
74
|
) as any
|
|
69
75
|
},
|
|
70
|
-
} as unknown as CreateMiddlewareResult<TType>
|
|
76
|
+
} as unknown as CreateMiddlewareResult<TRegister, TType>
|
|
71
77
|
}
|
|
72
78
|
|
|
73
79
|
export type MiddlewareType = 'request' | 'function'
|
|
74
80
|
|
|
75
|
-
export type CreateMiddlewareResult<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
81
|
+
export type CreateMiddlewareResult<
|
|
82
|
+
TRegister extends Register,
|
|
83
|
+
TType extends MiddlewareType,
|
|
84
|
+
> = 'function' extends TType
|
|
85
|
+
? FunctionMiddleware<TRegister, ServerFnResponseType>
|
|
86
|
+
: RequestMiddleware
|
|
79
87
|
|
|
80
88
|
export interface FunctionMiddleware<
|
|
89
|
+
TRegister extends Register,
|
|
81
90
|
TServerFnResponseType extends ServerFnResponseType,
|
|
82
|
-
> extends FunctionMiddlewareAfterMiddleware<
|
|
91
|
+
> extends FunctionMiddlewareAfterMiddleware<
|
|
92
|
+
TRegister,
|
|
93
|
+
unknown,
|
|
94
|
+
TServerFnResponseType
|
|
95
|
+
> {
|
|
83
96
|
middleware: <const TNewMiddlewares = undefined>(
|
|
84
97
|
middlewares: Constrain<
|
|
85
98
|
TNewMiddlewares,
|
|
86
99
|
ReadonlyArray<AnyFunctionMiddleware>
|
|
87
100
|
>,
|
|
88
|
-
) => FunctionMiddlewareAfterMiddleware<
|
|
101
|
+
) => FunctionMiddlewareAfterMiddleware<
|
|
102
|
+
TRegister,
|
|
103
|
+
TNewMiddlewares,
|
|
104
|
+
TServerFnResponseType
|
|
105
|
+
>
|
|
89
106
|
}
|
|
90
107
|
|
|
91
108
|
export interface FunctionMiddlewareAfterMiddleware<
|
|
109
|
+
TRegister extends Register,
|
|
92
110
|
TMiddlewares,
|
|
93
111
|
TServerFnResponseType extends ServerFnResponseType,
|
|
94
112
|
> extends FunctionMiddlewareWithTypes<
|
|
113
|
+
TRegister,
|
|
95
114
|
TMiddlewares,
|
|
96
115
|
undefined,
|
|
97
116
|
undefined,
|
|
@@ -101,16 +120,27 @@ export interface FunctionMiddlewareAfterMiddleware<
|
|
|
101
120
|
TServerFnResponseType
|
|
102
121
|
>,
|
|
103
122
|
FunctionMiddlewareServer<
|
|
123
|
+
TRegister,
|
|
104
124
|
TMiddlewares,
|
|
105
125
|
undefined,
|
|
106
126
|
undefined,
|
|
107
127
|
undefined,
|
|
108
128
|
TServerFnResponseType
|
|
109
129
|
>,
|
|
110
|
-
FunctionMiddlewareClient<
|
|
111
|
-
|
|
130
|
+
FunctionMiddlewareClient<
|
|
131
|
+
TRegister,
|
|
132
|
+
TMiddlewares,
|
|
133
|
+
undefined,
|
|
134
|
+
TServerFnResponseType
|
|
135
|
+
>,
|
|
136
|
+
FunctionMiddlewareValidator<
|
|
137
|
+
TRegister,
|
|
138
|
+
TMiddlewares,
|
|
139
|
+
TServerFnResponseType
|
|
140
|
+
> {}
|
|
112
141
|
|
|
113
142
|
export interface FunctionMiddlewareWithTypes<
|
|
143
|
+
TRegister extends Register,
|
|
114
144
|
TMiddlewares,
|
|
115
145
|
TValidator,
|
|
116
146
|
TServerContext,
|
|
@@ -128,6 +158,7 @@ export interface FunctionMiddlewareWithTypes<
|
|
|
128
158
|
TClientSendContext
|
|
129
159
|
>
|
|
130
160
|
options: FunctionMiddlewareOptions<
|
|
161
|
+
TRegister,
|
|
131
162
|
TMiddlewares,
|
|
132
163
|
TValidator,
|
|
133
164
|
TServerContext,
|
|
@@ -218,6 +249,7 @@ export type AnyFunctionMiddleware = FunctionMiddlewareWithTypes<
|
|
|
218
249
|
any,
|
|
219
250
|
any,
|
|
220
251
|
any,
|
|
252
|
+
any,
|
|
221
253
|
any
|
|
222
254
|
>
|
|
223
255
|
|
|
@@ -309,6 +341,7 @@ export type AssignAllClientSendContext<
|
|
|
309
341
|
>
|
|
310
342
|
|
|
311
343
|
export interface FunctionMiddlewareOptions<
|
|
344
|
+
in out TRegister extends Register,
|
|
312
345
|
in out TMiddlewares,
|
|
313
346
|
in out TValidator,
|
|
314
347
|
in out TServerContext,
|
|
@@ -317,8 +350,9 @@ export interface FunctionMiddlewareOptions<
|
|
|
317
350
|
> {
|
|
318
351
|
validateClient?: boolean
|
|
319
352
|
middleware?: TMiddlewares
|
|
320
|
-
validator?: ConstrainValidator<TValidator>
|
|
353
|
+
validator?: ConstrainValidator<TRegister, TValidator>
|
|
321
354
|
client?: FunctionMiddlewareClientFn<
|
|
355
|
+
TRegister,
|
|
322
356
|
TMiddlewares,
|
|
323
357
|
TValidator,
|
|
324
358
|
TServerContext,
|
|
@@ -326,6 +360,7 @@ export interface FunctionMiddlewareOptions<
|
|
|
326
360
|
TServerFnResponseType
|
|
327
361
|
>
|
|
328
362
|
server?: FunctionMiddlewareServerFn<
|
|
363
|
+
TRegister,
|
|
329
364
|
TMiddlewares,
|
|
330
365
|
TValidator,
|
|
331
366
|
TServerContext,
|
|
@@ -335,18 +370,19 @@ export interface FunctionMiddlewareOptions<
|
|
|
335
370
|
>
|
|
336
371
|
}
|
|
337
372
|
|
|
338
|
-
export type FunctionMiddlewareClientNextFn<
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
>(ctx?: {
|
|
373
|
+
export type FunctionMiddlewareClientNextFn<
|
|
374
|
+
TRegister extends Register,
|
|
375
|
+
TMiddlewares,
|
|
376
|
+
> = <TSendContext = undefined, TNewClientContext = undefined>(ctx?: {
|
|
342
377
|
context?: TNewClientContext
|
|
343
|
-
sendContext?:
|
|
378
|
+
sendContext?: ValidateSerializableInput<TRegister, TSendContext>
|
|
344
379
|
headers?: HeadersInit
|
|
345
380
|
}) => Promise<
|
|
346
381
|
FunctionClientResultWithContext<TMiddlewares, TSendContext, TNewClientContext>
|
|
347
382
|
>
|
|
348
383
|
|
|
349
384
|
export interface FunctionMiddlewareServer<
|
|
385
|
+
TRegister extends Register,
|
|
350
386
|
TMiddlewares,
|
|
351
387
|
TValidator,
|
|
352
388
|
TServerSendContext,
|
|
@@ -355,6 +391,7 @@ export interface FunctionMiddlewareServer<
|
|
|
355
391
|
> {
|
|
356
392
|
server: <TNewServerContext = undefined, TSendContext = undefined>(
|
|
357
393
|
server: FunctionMiddlewareServerFn<
|
|
394
|
+
TRegister,
|
|
358
395
|
TMiddlewares,
|
|
359
396
|
TValidator,
|
|
360
397
|
TServerSendContext,
|
|
@@ -363,6 +400,7 @@ export interface FunctionMiddlewareServer<
|
|
|
363
400
|
TServerFnResponseType
|
|
364
401
|
>,
|
|
365
402
|
) => FunctionMiddlewareAfterServer<
|
|
403
|
+
TRegister,
|
|
366
404
|
TMiddlewares,
|
|
367
405
|
TValidator,
|
|
368
406
|
TNewServerContext,
|
|
@@ -372,7 +410,9 @@ export interface FunctionMiddlewareServer<
|
|
|
372
410
|
ServerFnResponseType
|
|
373
411
|
>
|
|
374
412
|
}
|
|
413
|
+
|
|
375
414
|
export type FunctionMiddlewareServerFn<
|
|
415
|
+
TRegister extends Register,
|
|
376
416
|
TMiddlewares,
|
|
377
417
|
TValidator,
|
|
378
418
|
TServerSendContext,
|
|
@@ -381,6 +421,7 @@ export type FunctionMiddlewareServerFn<
|
|
|
381
421
|
TServerFnResponseType extends ServerFnResponseType,
|
|
382
422
|
> = (
|
|
383
423
|
options: FunctionMiddlewareServerFnOptions<
|
|
424
|
+
TRegister,
|
|
384
425
|
TMiddlewares,
|
|
385
426
|
TValidator,
|
|
386
427
|
TServerSendContext,
|
|
@@ -394,23 +435,29 @@ export type FunctionMiddlewareServerFn<
|
|
|
394
435
|
>
|
|
395
436
|
|
|
396
437
|
export interface RequestMiddlewareServerFnOptions<
|
|
438
|
+
in out TRegister extends Register,
|
|
397
439
|
in out TMiddlewares,
|
|
398
440
|
in out TServerSendContext,
|
|
399
441
|
> {
|
|
400
442
|
request: Request
|
|
401
443
|
context: Expand<AssignAllServerContext<TMiddlewares, TServerSendContext>>
|
|
402
|
-
next: FunctionMiddlewareServerNextFn<
|
|
444
|
+
next: FunctionMiddlewareServerNextFn<
|
|
445
|
+
TRegister,
|
|
446
|
+
TMiddlewares,
|
|
447
|
+
TServerSendContext
|
|
448
|
+
>
|
|
403
449
|
response: Response
|
|
404
450
|
method: Method
|
|
405
451
|
signal: AbortSignal
|
|
406
452
|
}
|
|
407
453
|
|
|
408
|
-
export type FunctionMiddlewareServerNextFn<
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
454
|
+
export type FunctionMiddlewareServerNextFn<
|
|
455
|
+
TRegister extends Register,
|
|
456
|
+
TMiddlewares,
|
|
457
|
+
TServerSendContext,
|
|
458
|
+
> = <TNewServerContext = undefined, TSendContext = undefined>(ctx?: {
|
|
412
459
|
context?: TNewServerContext
|
|
413
|
-
sendContext?:
|
|
460
|
+
sendContext?: ValidateSerializableInput<TRegister, TSendContext>
|
|
414
461
|
}) => Promise<
|
|
415
462
|
FunctionServerResultWithContext<
|
|
416
463
|
TMiddlewares,
|
|
@@ -438,6 +485,7 @@ export type FunctionServerResultWithContext<
|
|
|
438
485
|
}
|
|
439
486
|
|
|
440
487
|
export interface FunctionMiddlewareServerFnOptions<
|
|
488
|
+
in out TRegister extends Register,
|
|
441
489
|
in out TMiddlewares,
|
|
442
490
|
in out TValidator,
|
|
443
491
|
in out TServerSendContext,
|
|
@@ -445,7 +493,11 @@ export interface FunctionMiddlewareServerFnOptions<
|
|
|
445
493
|
> {
|
|
446
494
|
data: Expand<IntersectAllValidatorOutputs<TMiddlewares, TValidator>>
|
|
447
495
|
context: Expand<AssignAllServerContext<TMiddlewares, TServerSendContext>>
|
|
448
|
-
next: FunctionMiddlewareServerNextFn<
|
|
496
|
+
next: FunctionMiddlewareServerNextFn<
|
|
497
|
+
TRegister,
|
|
498
|
+
TMiddlewares,
|
|
499
|
+
TServerSendContext
|
|
500
|
+
>
|
|
449
501
|
response: TServerFnResponseType
|
|
450
502
|
method: Method
|
|
451
503
|
filename: string
|
|
@@ -475,6 +527,7 @@ export type FunctionMiddlewareServerFnResult<
|
|
|
475
527
|
>
|
|
476
528
|
|
|
477
529
|
export interface FunctionMiddlewareAfterServer<
|
|
530
|
+
TRegister extends Register,
|
|
478
531
|
TMiddlewares,
|
|
479
532
|
TValidator,
|
|
480
533
|
TServerContext,
|
|
@@ -483,6 +536,7 @@ export interface FunctionMiddlewareAfterServer<
|
|
|
483
536
|
TClientSendContext,
|
|
484
537
|
TServerFnResponseType extends ServerFnResponseType,
|
|
485
538
|
> extends FunctionMiddlewareWithTypes<
|
|
539
|
+
TRegister,
|
|
486
540
|
TMiddlewares,
|
|
487
541
|
TValidator,
|
|
488
542
|
TServerContext,
|
|
@@ -493,6 +547,7 @@ export interface FunctionMiddlewareAfterServer<
|
|
|
493
547
|
> {}
|
|
494
548
|
|
|
495
549
|
export interface FunctionMiddlewareClient<
|
|
550
|
+
TRegister extends Register,
|
|
496
551
|
TMiddlewares,
|
|
497
552
|
TValidator,
|
|
498
553
|
TServerFnResponseType extends ServerFnResponseType,
|
|
@@ -500,6 +555,7 @@ export interface FunctionMiddlewareClient<
|
|
|
500
555
|
> {
|
|
501
556
|
client: <TSendServerContext = undefined, TNewClientContext = undefined>(
|
|
502
557
|
client: FunctionMiddlewareClientFn<
|
|
558
|
+
TRegister,
|
|
503
559
|
TMiddlewares,
|
|
504
560
|
TValidator,
|
|
505
561
|
TSendServerContext,
|
|
@@ -508,6 +564,7 @@ export interface FunctionMiddlewareClient<
|
|
|
508
564
|
TRouter
|
|
509
565
|
>,
|
|
510
566
|
) => FunctionMiddlewareAfterClient<
|
|
567
|
+
TRegister,
|
|
511
568
|
TMiddlewares,
|
|
512
569
|
TValidator,
|
|
513
570
|
TSendServerContext,
|
|
@@ -517,6 +574,7 @@ export interface FunctionMiddlewareClient<
|
|
|
517
574
|
}
|
|
518
575
|
|
|
519
576
|
export type FunctionMiddlewareClientFn<
|
|
577
|
+
TRegister extends Register,
|
|
520
578
|
TMiddlewares,
|
|
521
579
|
TValidator,
|
|
522
580
|
TSendContext,
|
|
@@ -525,6 +583,7 @@ export type FunctionMiddlewareClientFn<
|
|
|
525
583
|
TRouter extends AnyRouter = RegisteredRouter,
|
|
526
584
|
> = (
|
|
527
585
|
options: FunctionMiddlewareClientFnOptions<
|
|
586
|
+
TRegister,
|
|
528
587
|
TMiddlewares,
|
|
529
588
|
TValidator,
|
|
530
589
|
TServerFnResponseType,
|
|
@@ -537,6 +596,7 @@ export type FunctionMiddlewareClientFn<
|
|
|
537
596
|
>
|
|
538
597
|
|
|
539
598
|
export interface FunctionMiddlewareClientFnOptions<
|
|
599
|
+
in out TRegister extends Register,
|
|
540
600
|
in out TMiddlewares,
|
|
541
601
|
in out TValidator,
|
|
542
602
|
in out TServerFnResponseType extends ServerFnResponseType,
|
|
@@ -548,7 +608,7 @@ export interface FunctionMiddlewareClientFnOptions<
|
|
|
548
608
|
method: Method
|
|
549
609
|
response: TServerFnResponseType
|
|
550
610
|
signal: AbortSignal
|
|
551
|
-
next: FunctionMiddlewareClientNextFn<TMiddlewares>
|
|
611
|
+
next: FunctionMiddlewareClientNextFn<TRegister, TMiddlewares>
|
|
552
612
|
filename: string
|
|
553
613
|
functionId: string
|
|
554
614
|
router: TRouter
|
|
@@ -580,12 +640,14 @@ export type FunctionClientResultWithContext<
|
|
|
580
640
|
}
|
|
581
641
|
|
|
582
642
|
export interface FunctionMiddlewareAfterClient<
|
|
643
|
+
TRegister extends Register,
|
|
583
644
|
TMiddlewares,
|
|
584
645
|
TValidator,
|
|
585
646
|
TServerSendContext,
|
|
586
647
|
TClientContext,
|
|
587
648
|
TServerFnResponseType extends ServerFnResponseType,
|
|
588
649
|
> extends FunctionMiddlewareWithTypes<
|
|
650
|
+
TRegister,
|
|
589
651
|
TMiddlewares,
|
|
590
652
|
TValidator,
|
|
591
653
|
undefined,
|
|
@@ -595,6 +657,7 @@ export interface FunctionMiddlewareAfterClient<
|
|
|
595
657
|
TServerFnResponseType
|
|
596
658
|
>,
|
|
597
659
|
FunctionMiddlewareServer<
|
|
660
|
+
TRegister,
|
|
598
661
|
TMiddlewares,
|
|
599
662
|
TValidator,
|
|
600
663
|
TServerSendContext,
|
|
@@ -603,12 +666,14 @@ export interface FunctionMiddlewareAfterClient<
|
|
|
603
666
|
> {}
|
|
604
667
|
|
|
605
668
|
export interface FunctionMiddlewareValidator<
|
|
669
|
+
TRegister extends Register,
|
|
606
670
|
TMiddlewares,
|
|
607
671
|
TServerFnResponseType extends ServerFnResponseType,
|
|
608
672
|
> {
|
|
609
673
|
validator: <TNewValidator>(
|
|
610
|
-
input: ConstrainValidator<TNewValidator>,
|
|
674
|
+
input: ConstrainValidator<TRegister, TNewValidator>,
|
|
611
675
|
) => FunctionMiddlewareAfterValidator<
|
|
676
|
+
TRegister,
|
|
612
677
|
TMiddlewares,
|
|
613
678
|
TNewValidator,
|
|
614
679
|
TServerFnResponseType
|
|
@@ -616,10 +681,12 @@ export interface FunctionMiddlewareValidator<
|
|
|
616
681
|
}
|
|
617
682
|
|
|
618
683
|
export interface FunctionMiddlewareAfterValidator<
|
|
684
|
+
TRegister extends Register,
|
|
619
685
|
TMiddlewares,
|
|
620
686
|
TValidator,
|
|
621
687
|
TServerFnResponseType extends ServerFnResponseType,
|
|
622
688
|
> extends FunctionMiddlewareWithTypes<
|
|
689
|
+
TRegister,
|
|
623
690
|
TMiddlewares,
|
|
624
691
|
TValidator,
|
|
625
692
|
undefined,
|
|
@@ -629,13 +696,19 @@ export interface FunctionMiddlewareAfterValidator<
|
|
|
629
696
|
ServerFnResponseType
|
|
630
697
|
>,
|
|
631
698
|
FunctionMiddlewareServer<
|
|
699
|
+
TRegister,
|
|
632
700
|
TMiddlewares,
|
|
633
701
|
TValidator,
|
|
634
702
|
undefined,
|
|
635
703
|
undefined,
|
|
636
704
|
TServerFnResponseType
|
|
637
705
|
>,
|
|
638
|
-
FunctionMiddlewareClient<
|
|
706
|
+
FunctionMiddlewareClient<
|
|
707
|
+
TRegister,
|
|
708
|
+
TMiddlewares,
|
|
709
|
+
TValidator,
|
|
710
|
+
ServerFnResponseType
|
|
711
|
+
> {}
|
|
639
712
|
|
|
640
713
|
export interface RequestMiddleware
|
|
641
714
|
extends RequestMiddlewareAfterMiddleware<undefined> {
|