@tanstack/react-start-client 1.111.15 → 1.112.1
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/cjs/createMiddleware.cjs.map +1 -1
- package/dist/cjs/createMiddleware.d.cts +27 -25
- package/dist/cjs/createServerFn.cjs +7 -13
- package/dist/cjs/createServerFn.cjs.map +1 -1
- package/dist/cjs/createServerFn.d.cts +46 -37
- package/dist/cjs/index.d.cts +1 -1
- package/dist/esm/createMiddleware.d.ts +27 -25
- package/dist/esm/createMiddleware.js.map +1 -1
- package/dist/esm/createServerFn.d.ts +46 -37
- package/dist/esm/createServerFn.js +7 -13
- package/dist/esm/createServerFn.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/package.json +3 -3
- package/src/createMiddleware.ts +112 -34
- package/src/createServerFn.ts +239 -87
- package/src/index.tsx +1 -0
- package/src/tests/createServerFn.test-d.tsx +175 -64
package/src/createMiddleware.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
ConstrainValidator,
|
|
3
3
|
Method,
|
|
4
|
+
ServerFnResponseType,
|
|
4
5
|
ServerFnTypeOrTypeFn,
|
|
5
6
|
} from './createServerFn'
|
|
6
7
|
import type {
|
|
@@ -131,6 +132,7 @@ export interface MiddlewareOptions<
|
|
|
131
132
|
in out TValidator,
|
|
132
133
|
in out TServerContext,
|
|
133
134
|
in out TClientContext,
|
|
135
|
+
in out TServerFnResponseType extends ServerFnResponseType,
|
|
134
136
|
> {
|
|
135
137
|
validateClient?: boolean
|
|
136
138
|
middleware?: TMiddlewares
|
|
@@ -139,14 +141,16 @@ export interface MiddlewareOptions<
|
|
|
139
141
|
TMiddlewares,
|
|
140
142
|
TValidator,
|
|
141
143
|
TServerContext,
|
|
142
|
-
TClientContext
|
|
144
|
+
TClientContext,
|
|
145
|
+
TServerFnResponseType
|
|
143
146
|
>
|
|
144
147
|
server?: MiddlewareServerFn<
|
|
145
148
|
TMiddlewares,
|
|
146
149
|
TValidator,
|
|
147
150
|
TServerContext,
|
|
148
151
|
unknown,
|
|
149
|
-
unknown
|
|
152
|
+
unknown,
|
|
153
|
+
TServerFnResponseType
|
|
150
154
|
>
|
|
151
155
|
}
|
|
152
156
|
|
|
@@ -169,10 +173,12 @@ export interface MiddlewareServerFnOptions<
|
|
|
169
173
|
in out TMiddlewares,
|
|
170
174
|
in out TValidator,
|
|
171
175
|
in out TServerSendContext,
|
|
176
|
+
in out TServerFnResponseType,
|
|
172
177
|
> {
|
|
173
178
|
data: Expand<IntersectAllValidatorOutputs<TMiddlewares, TValidator>>
|
|
174
179
|
context: Expand<AssignAllServerContext<TMiddlewares, TServerSendContext>>
|
|
175
180
|
next: MiddlewareServerNextFn<TMiddlewares, TServerSendContext>
|
|
181
|
+
response: TServerFnResponseType
|
|
176
182
|
method: Method
|
|
177
183
|
filename: string
|
|
178
184
|
functionId: string
|
|
@@ -185,11 +191,13 @@ export type MiddlewareServerFn<
|
|
|
185
191
|
TServerSendContext,
|
|
186
192
|
TNewServerContext,
|
|
187
193
|
TSendContext,
|
|
194
|
+
TServerFnResponseType extends ServerFnResponseType,
|
|
188
195
|
> = (
|
|
189
196
|
options: MiddlewareServerFnOptions<
|
|
190
197
|
TMiddlewares,
|
|
191
198
|
TValidator,
|
|
192
|
-
TServerSendContext
|
|
199
|
+
TServerSendContext,
|
|
200
|
+
TServerFnResponseType
|
|
193
201
|
>,
|
|
194
202
|
) => MiddlewareServerFnResult<
|
|
195
203
|
TMiddlewares,
|
|
@@ -233,16 +241,23 @@ export type MiddlewareClientNextFn<TMiddlewares> = <
|
|
|
233
241
|
export interface MiddlewareClientFnOptions<
|
|
234
242
|
in out TMiddlewares,
|
|
235
243
|
in out TValidator,
|
|
244
|
+
in out TServerFnResponseType extends ServerFnResponseType,
|
|
236
245
|
> {
|
|
237
246
|
data: Expand<IntersectAllValidatorInputs<TMiddlewares, TValidator>>
|
|
238
247
|
context: Expand<AssignAllClientContextBeforeNext<TMiddlewares>>
|
|
239
248
|
sendContext: Expand<AssignAllServerSendContext<TMiddlewares>>
|
|
240
249
|
method: Method
|
|
250
|
+
response: TServerFnResponseType
|
|
241
251
|
signal: AbortSignal
|
|
242
252
|
next: MiddlewareClientNextFn<TMiddlewares>
|
|
243
253
|
filename: string
|
|
244
254
|
functionId: string
|
|
245
|
-
type: ServerFnTypeOrTypeFn<
|
|
255
|
+
type: ServerFnTypeOrTypeFn<
|
|
256
|
+
Method,
|
|
257
|
+
TServerFnResponseType,
|
|
258
|
+
TMiddlewares,
|
|
259
|
+
TValidator
|
|
260
|
+
>
|
|
246
261
|
}
|
|
247
262
|
|
|
248
263
|
export type MiddlewareClientFn<
|
|
@@ -250,8 +265,13 @@ export type MiddlewareClientFn<
|
|
|
250
265
|
TValidator,
|
|
251
266
|
TSendContext,
|
|
252
267
|
TClientContext,
|
|
268
|
+
TServerFnResponseType extends ServerFnResponseType,
|
|
253
269
|
> = (
|
|
254
|
-
options: MiddlewareClientFnOptions<
|
|
270
|
+
options: MiddlewareClientFnOptions<
|
|
271
|
+
TMiddlewares,
|
|
272
|
+
TValidator,
|
|
273
|
+
TServerFnResponseType
|
|
274
|
+
>,
|
|
255
275
|
) => MiddlewareClientFnResult<TMiddlewares, TSendContext, TClientContext>
|
|
256
276
|
|
|
257
277
|
export type MiddlewareClientFnResult<
|
|
@@ -290,7 +310,15 @@ export type ClientResultWithContext<
|
|
|
290
310
|
headers: HeadersInit
|
|
291
311
|
}
|
|
292
312
|
|
|
293
|
-
export type AnyMiddleware = MiddlewareWithTypes<
|
|
313
|
+
export type AnyMiddleware = MiddlewareWithTypes<
|
|
314
|
+
any,
|
|
315
|
+
any,
|
|
316
|
+
any,
|
|
317
|
+
any,
|
|
318
|
+
any,
|
|
319
|
+
any,
|
|
320
|
+
any
|
|
321
|
+
>
|
|
294
322
|
|
|
295
323
|
export interface MiddlewareTypes<
|
|
296
324
|
in out TMiddlewares,
|
|
@@ -341,6 +369,7 @@ export interface MiddlewareWithTypes<
|
|
|
341
369
|
TServerSendContext,
|
|
342
370
|
TClientContext,
|
|
343
371
|
TClientSendContext,
|
|
372
|
+
TServerFnResponseType extends ServerFnResponseType,
|
|
344
373
|
> {
|
|
345
374
|
_types: MiddlewareTypes<
|
|
346
375
|
TMiddlewares,
|
|
@@ -354,26 +383,44 @@ export interface MiddlewareWithTypes<
|
|
|
354
383
|
TMiddlewares,
|
|
355
384
|
TValidator,
|
|
356
385
|
TServerContext,
|
|
357
|
-
TClientContext
|
|
386
|
+
TClientContext,
|
|
387
|
+
TServerFnResponseType
|
|
358
388
|
>
|
|
359
389
|
}
|
|
360
390
|
|
|
361
|
-
export interface MiddlewareAfterValidator<
|
|
362
|
-
|
|
391
|
+
export interface MiddlewareAfterValidator<
|
|
392
|
+
TMiddlewares,
|
|
393
|
+
TValidator,
|
|
394
|
+
TServerFnResponseType extends ServerFnResponseType,
|
|
395
|
+
> extends MiddlewareWithTypes<
|
|
363
396
|
TMiddlewares,
|
|
364
397
|
TValidator,
|
|
365
398
|
undefined,
|
|
366
399
|
undefined,
|
|
367
400
|
undefined,
|
|
368
|
-
undefined
|
|
401
|
+
undefined,
|
|
402
|
+
ServerFnResponseType
|
|
403
|
+
>,
|
|
404
|
+
MiddlewareServer<
|
|
405
|
+
TMiddlewares,
|
|
406
|
+
TValidator,
|
|
407
|
+
undefined,
|
|
408
|
+
undefined,
|
|
409
|
+
TServerFnResponseType
|
|
369
410
|
>,
|
|
370
|
-
|
|
371
|
-
MiddlewareClient<TMiddlewares, TValidator> {}
|
|
411
|
+
MiddlewareClient<TMiddlewares, TValidator, ServerFnResponseType> {}
|
|
372
412
|
|
|
373
|
-
export interface MiddlewareValidator<
|
|
413
|
+
export interface MiddlewareValidator<
|
|
414
|
+
TMiddlewares,
|
|
415
|
+
TServerFnResponseType extends ServerFnResponseType,
|
|
416
|
+
> {
|
|
374
417
|
validator: <TNewValidator>(
|
|
375
418
|
input: ConstrainValidator<TNewValidator>,
|
|
376
|
-
) => MiddlewareAfterValidator<
|
|
419
|
+
) => MiddlewareAfterValidator<
|
|
420
|
+
TMiddlewares,
|
|
421
|
+
TNewValidator,
|
|
422
|
+
TServerFnResponseType
|
|
423
|
+
>
|
|
377
424
|
}
|
|
378
425
|
|
|
379
426
|
export interface MiddlewareAfterServer<
|
|
@@ -383,13 +430,15 @@ export interface MiddlewareAfterServer<
|
|
|
383
430
|
TServerSendContext,
|
|
384
431
|
TClientContext,
|
|
385
432
|
TClientSendContext,
|
|
433
|
+
TServerFnResponseType extends ServerFnResponseType,
|
|
386
434
|
> extends MiddlewareWithTypes<
|
|
387
435
|
TMiddlewares,
|
|
388
436
|
TValidator,
|
|
389
437
|
TServerContext,
|
|
390
438
|
TServerSendContext,
|
|
391
439
|
TClientContext,
|
|
392
|
-
TClientSendContext
|
|
440
|
+
TClientSendContext,
|
|
441
|
+
TServerFnResponseType
|
|
393
442
|
> {}
|
|
394
443
|
|
|
395
444
|
export interface MiddlewareServer<
|
|
@@ -397,6 +446,7 @@ export interface MiddlewareServer<
|
|
|
397
446
|
TValidator,
|
|
398
447
|
TServerSendContext,
|
|
399
448
|
TClientContext,
|
|
449
|
+
TServerFnResponseType extends ServerFnResponseType,
|
|
400
450
|
> {
|
|
401
451
|
server: <TNewServerContext = undefined, TSendContext = undefined>(
|
|
402
452
|
server: MiddlewareServerFn<
|
|
@@ -404,7 +454,8 @@ export interface MiddlewareServer<
|
|
|
404
454
|
TValidator,
|
|
405
455
|
TServerSendContext,
|
|
406
456
|
TNewServerContext,
|
|
407
|
-
TSendContext
|
|
457
|
+
TSendContext,
|
|
458
|
+
TServerFnResponseType
|
|
408
459
|
>,
|
|
409
460
|
) => MiddlewareAfterServer<
|
|
410
461
|
TMiddlewares,
|
|
@@ -412,7 +463,8 @@ export interface MiddlewareServer<
|
|
|
412
463
|
TNewServerContext,
|
|
413
464
|
TServerSendContext,
|
|
414
465
|
TClientContext,
|
|
415
|
-
TSendContext
|
|
466
|
+
TSendContext,
|
|
467
|
+
ServerFnResponseType
|
|
416
468
|
>
|
|
417
469
|
}
|
|
418
470
|
|
|
@@ -421,62 +473,87 @@ export interface MiddlewareAfterClient<
|
|
|
421
473
|
TValidator,
|
|
422
474
|
TServerSendContext,
|
|
423
475
|
TClientContext,
|
|
476
|
+
TServerFnResponseType extends ServerFnResponseType,
|
|
424
477
|
> extends MiddlewareWithTypes<
|
|
425
478
|
TMiddlewares,
|
|
426
479
|
TValidator,
|
|
427
480
|
undefined,
|
|
428
481
|
TServerSendContext,
|
|
429
482
|
TClientContext,
|
|
430
|
-
undefined
|
|
483
|
+
undefined,
|
|
484
|
+
TServerFnResponseType
|
|
431
485
|
>,
|
|
432
486
|
MiddlewareServer<
|
|
433
487
|
TMiddlewares,
|
|
434
488
|
TValidator,
|
|
435
489
|
TServerSendContext,
|
|
436
|
-
TClientContext
|
|
490
|
+
TClientContext,
|
|
491
|
+
TServerFnResponseType
|
|
437
492
|
> {}
|
|
438
493
|
|
|
439
|
-
export interface MiddlewareClient<
|
|
494
|
+
export interface MiddlewareClient<
|
|
495
|
+
TMiddlewares,
|
|
496
|
+
TValidator,
|
|
497
|
+
TServerFnResponseType extends ServerFnResponseType,
|
|
498
|
+
> {
|
|
440
499
|
client: <TSendServerContext = undefined, TNewClientContext = undefined>(
|
|
441
500
|
client: MiddlewareClientFn<
|
|
442
501
|
TMiddlewares,
|
|
443
502
|
TValidator,
|
|
444
503
|
TSendServerContext,
|
|
445
|
-
TNewClientContext
|
|
504
|
+
TNewClientContext,
|
|
505
|
+
TServerFnResponseType
|
|
446
506
|
>,
|
|
447
507
|
) => MiddlewareAfterClient<
|
|
448
508
|
TMiddlewares,
|
|
449
509
|
TValidator,
|
|
450
510
|
TSendServerContext,
|
|
451
|
-
TNewClientContext
|
|
511
|
+
TNewClientContext,
|
|
512
|
+
ServerFnResponseType
|
|
452
513
|
>
|
|
453
514
|
}
|
|
454
515
|
|
|
455
|
-
export interface MiddlewareAfterMiddleware<
|
|
456
|
-
|
|
516
|
+
export interface MiddlewareAfterMiddleware<
|
|
517
|
+
TMiddlewares,
|
|
518
|
+
TServerFnResponseType extends ServerFnResponseType,
|
|
519
|
+
> extends MiddlewareWithTypes<
|
|
457
520
|
TMiddlewares,
|
|
458
521
|
undefined,
|
|
459
522
|
undefined,
|
|
460
523
|
undefined,
|
|
461
524
|
undefined,
|
|
462
|
-
undefined
|
|
525
|
+
undefined,
|
|
526
|
+
TServerFnResponseType
|
|
527
|
+
>,
|
|
528
|
+
MiddlewareServer<
|
|
529
|
+
TMiddlewares,
|
|
530
|
+
undefined,
|
|
531
|
+
undefined,
|
|
532
|
+
undefined,
|
|
533
|
+
TServerFnResponseType
|
|
463
534
|
>,
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
MiddlewareValidator<TMiddlewares> {}
|
|
535
|
+
MiddlewareClient<TMiddlewares, undefined, TServerFnResponseType>,
|
|
536
|
+
MiddlewareValidator<TMiddlewares, TServerFnResponseType> {}
|
|
467
537
|
|
|
468
|
-
export interface Middleware extends
|
|
538
|
+
export interface Middleware<TServerFnResponseType extends ServerFnResponseType>
|
|
539
|
+
extends MiddlewareAfterMiddleware<unknown, TServerFnResponseType> {
|
|
469
540
|
middleware: <const TNewMiddlewares = undefined>(
|
|
470
541
|
middlewares: Constrain<TNewMiddlewares, ReadonlyArray<AnyMiddleware>>,
|
|
471
|
-
) => MiddlewareAfterMiddleware<TNewMiddlewares>
|
|
542
|
+
) => MiddlewareAfterMiddleware<TNewMiddlewares, TServerFnResponseType>
|
|
472
543
|
}
|
|
473
544
|
|
|
474
545
|
export function createMiddleware(
|
|
475
546
|
options?: {
|
|
476
547
|
validateClient?: boolean
|
|
477
548
|
},
|
|
478
|
-
__opts?: MiddlewareOptions<
|
|
479
|
-
|
|
549
|
+
__opts?: MiddlewareOptions<
|
|
550
|
+
unknown,
|
|
551
|
+
undefined,
|
|
552
|
+
undefined,
|
|
553
|
+
undefined,
|
|
554
|
+
ServerFnResponseType
|
|
555
|
+
>,
|
|
556
|
+
): Middleware<ServerFnResponseType> {
|
|
480
557
|
// const resolvedOptions = (__opts || options) as MiddlewareOptions<
|
|
481
558
|
const resolvedOptions =
|
|
482
559
|
__opts ||
|
|
@@ -484,7 +561,8 @@ export function createMiddleware(
|
|
|
484
561
|
unknown,
|
|
485
562
|
undefined,
|
|
486
563
|
undefined,
|
|
487
|
-
undefined
|
|
564
|
+
undefined,
|
|
565
|
+
ServerFnResponseType
|
|
488
566
|
>)
|
|
489
567
|
|
|
490
568
|
return {
|
|
@@ -513,5 +591,5 @@ export function createMiddleware(
|
|
|
513
591
|
Object.assign(resolvedOptions, { server }),
|
|
514
592
|
) as any
|
|
515
593
|
},
|
|
516
|
-
} as unknown as Middleware
|
|
594
|
+
} as unknown as Middleware<ServerFnResponseType>
|
|
517
595
|
}
|