@trpc/server 10.9.1 → 10.10.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/dist/core/initTRPC.d.ts +1 -1
- package/dist/core/internals/procedureBuilder.d.ts +2 -2
- package/dist/core/internals/procedureBuilder.d.ts.map +1 -1
- package/dist/core/internals/utils.d.ts +2 -1
- package/dist/core/internals/utils.d.ts.map +1 -1
- package/dist/core/middleware.d.ts +50 -19
- package/dist/core/middleware.d.ts.map +1 -1
- package/dist/index.js +27 -9
- package/dist/index.mjs +27 -9
- package/dist/shared/internal/serialize.d.ts.map +1 -1
- package/dist/types.d.ts +8 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/core/internals/procedureBuilder.ts +12 -3
- package/src/core/internals/utils.ts +2 -1
- package/src/core/middleware.ts +104 -18
- package/src/shared/internal/serialize.ts +6 -7
- package/src/types.ts +11 -1
package/dist/core/initTRPC.d.ts
CHANGED
|
@@ -68,7 +68,7 @@ declare class TRPCBuilder<TParams extends PartialRootConfigTypes = object> {
|
|
|
68
68
|
_output_in: unknown;
|
|
69
69
|
_output_out: unknown;
|
|
70
70
|
_meta: TParams["meta"] extends object ? TParams["meta"] : object;
|
|
71
|
-
}, TNewParams>) => import("./middleware").
|
|
71
|
+
}, TNewParams>) => import("./middleware").MiddlewareBuilder<{
|
|
72
72
|
_config: RootConfig<{
|
|
73
73
|
ctx: TParams["ctx"] extends object ? TParams["ctx"] : object;
|
|
74
74
|
meta: TParams["meta"] extends object ? TParams["meta"] : object;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InferOptional, MaybePromise, Simplify, UndefinedKeys } from '../../types';
|
|
2
|
-
import { MiddlewareFunction } from '../middleware';
|
|
2
|
+
import { MiddlewareBuilder, MiddlewareFunction } from '../middleware';
|
|
3
3
|
import { Parser, inferParser } from '../parser';
|
|
4
4
|
import { Procedure, ProcedureParams } from '../procedure';
|
|
5
5
|
import { ProcedureType } from '../types';
|
|
@@ -70,7 +70,7 @@ export interface ProcedureBuilder<TParams extends ProcedureParams> {
|
|
|
70
70
|
/**
|
|
71
71
|
* Add a middleware to the procedure.
|
|
72
72
|
*/
|
|
73
|
-
use<$Params extends ProcedureParams>(fn: MiddlewareFunction<TParams, $Params>): CreateProcedureReturnInput<TParams, $Params>;
|
|
73
|
+
use<$Params extends ProcedureParams>(fn: MiddlewareBuilder<TParams, $Params> | MiddlewareFunction<TParams, $Params>): CreateProcedureReturnInput<TParams, $Params>;
|
|
74
74
|
/**
|
|
75
75
|
* Extend the procedure with another procedure.
|
|
76
76
|
* @warning The TypeScript inference fails when chaining concatenated procedures.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procedureBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/internals/procedureBuilder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"procedureBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/internals/procedureBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Simplify } from '../../types';
|
|
1
2
|
import { ProcedureParams } from '../procedure';
|
|
2
3
|
/**
|
|
3
4
|
* @internal
|
|
@@ -35,7 +36,7 @@ export declare type UnsetMarker = typeof unsetMarker;
|
|
|
35
36
|
* @internal
|
|
36
37
|
*/
|
|
37
38
|
export interface ResolveOptions<TParams extends ProcedureParams> {
|
|
38
|
-
ctx: TParams['_ctx_out']
|
|
39
|
+
ctx: Simplify<TParams['_ctx_out']>;
|
|
39
40
|
input: TParams['_input_out'] extends UnsetMarker ? undefined : TParams['_input_out'];
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/internals/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,oBAAY,SAAS,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,KAAK,CAAC;AACvE;;GAEG;AACH,oBAAY,cAAc,CAAC,KAAK,EAAE,KAAK,IAAI;KACxC,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,SAAS,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;CAChE,CAAC;AACF;;GAEG;AACH,oBAAY,YAAY,CAAC,MAAM,EAAE,SAAS,IAAI,WAAW,SAAS,MAAM,GACpE,SAAS,GACT,MAAM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;aAClB,kBAAkB;CAC5B,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG,OAAO,gBAAgB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AACjD;;GAEG;AACH,oBAAY,WAAW,GAAG,OAAO,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,eAAe;IAC7D,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/internals/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,oBAAY,SAAS,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,KAAK,CAAC;AACvE;;GAEG;AACH,oBAAY,cAAc,CAAC,KAAK,EAAE,KAAK,IAAI;KACxC,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,SAAS,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;CAChE,CAAC;AACF;;GAEG;AACH,oBAAY,YAAY,CAAC,MAAM,EAAE,SAAS,IAAI,WAAW,SAAS,MAAM,GACpE,SAAS,GACT,MAAM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;aAClB,kBAAkB;CAC5B,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG,OAAO,gBAAgB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AACjD;;GAEG;AACH,oBAAY,WAAW,GAAG,OAAO,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,eAAe;IAC7D,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,WAAW,GAC5C,SAAS,GACT,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,oBAAY,aAAa,CAAC,YAAY,EAAE,cAAc,IACpD,YAAY,SAAS,cAAc,GAC/B,OAAO,CAAC,MAAM,YAAY,EAAE,MAAM,cAAc,CAAC,SAAS,KAAK,GAC7D,YAAY,GACZ,cAAc,GAChB,KAAK,CAAC;AAEZ;;GAEG;AACH,oBAAY,gBAAgB,CAAC,KAAK,EAAE,KAAK,IAAI,SAAS,SAAS,KAAK,GAChE,SAAS,SAAS,KAAK,GACrB,KAAK,GACL,KAAK,GACP,KAAK,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { TRPCError } from '../error/TRPCError';
|
|
2
|
+
import { Simplify } from '../types';
|
|
2
3
|
import { AnyRootConfig } from './internals/config';
|
|
3
4
|
import { ParseFn } from './internals/getParseFn';
|
|
4
5
|
import { ProcedureBuilderMiddleware } from './internals/procedureBuilder';
|
|
5
|
-
import { MiddlewareMarker } from './internals/utils';
|
|
6
|
+
import { DefaultValue as FallbackValue, MiddlewareMarker, Overwrite } from './internals/utils';
|
|
6
7
|
import { ProcedureParams } from './procedure';
|
|
7
8
|
import { ProcedureType } from './types';
|
|
8
9
|
/**
|
|
@@ -33,12 +34,58 @@ interface MiddlewareErrorResult<_TParams extends ProcedureParams> extends Middle
|
|
|
33
34
|
* @internal
|
|
34
35
|
*/
|
|
35
36
|
export declare type MiddlewareResult<TParams extends ProcedureParams> = MiddlewareOKResult<TParams> | MiddlewareErrorResult<TParams>;
|
|
37
|
+
/**
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export interface MiddlewareBuilder<TRoot extends ProcedureParams, TNewParams extends ProcedureParams> {
|
|
41
|
+
/**
|
|
42
|
+
* Create a new builder based on the current middleware builder
|
|
43
|
+
*/
|
|
44
|
+
unstable_pipe<$Params extends ProcedureParams>(fn: {
|
|
45
|
+
_config: TRoot['_config'];
|
|
46
|
+
_meta: TRoot['_meta'];
|
|
47
|
+
_ctx_out: Overwrite<TRoot['_ctx_out'], TNewParams['_ctx_out']>;
|
|
48
|
+
_input_in: FallbackValue<TRoot['_input_in'], TNewParams['_input_in']>;
|
|
49
|
+
_input_out: FallbackValue<TRoot['_input_out'], TNewParams['_input_out']>;
|
|
50
|
+
_output_in: FallbackValue<TRoot['_output_in'], TNewParams['_output_in']>;
|
|
51
|
+
_output_out: FallbackValue<TRoot['_output_out'], TNewParams['_output_out']>;
|
|
52
|
+
} extends infer OParams extends ProcedureParams ? MiddlewareBuilder<OParams, $Params> | MiddlewareFunction<OParams, $Params> : never): CreateMiddlewareReturnInput<TRoot, TNewParams, Overwrite<TNewParams, $Params>>;
|
|
53
|
+
/**
|
|
54
|
+
* List of middlewares within this middleware builder
|
|
55
|
+
*/
|
|
56
|
+
_middlewares: MiddlewareFunction<TRoot, TNewParams>[];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @internal
|
|
60
|
+
* FIXME: there must be a nicer way of doing this, it's hard to maintain when we have several structures like this
|
|
61
|
+
*/
|
|
62
|
+
declare type CreateMiddlewareReturnInput<TRoot extends ProcedureParams, TPrev extends ProcedureParams, TNext extends ProcedureParams> = MiddlewareBuilder<TRoot, {
|
|
63
|
+
_config: TPrev['_config'];
|
|
64
|
+
_meta: TPrev['_meta'];
|
|
65
|
+
_ctx_out: Overwrite<TPrev['_ctx_out'], TNext['_ctx_out']>;
|
|
66
|
+
_input_in: FallbackValue<TNext['_input_in'], TPrev['_input_in']>;
|
|
67
|
+
_input_out: FallbackValue<TNext['_input_out'], TPrev['_input_out']>;
|
|
68
|
+
_output_in: FallbackValue<TNext['_output_in'], TPrev['_output_in']>;
|
|
69
|
+
_output_out: FallbackValue<TNext['_output_out'], TPrev['_output_out']>;
|
|
70
|
+
}>;
|
|
71
|
+
/**
|
|
72
|
+
* @internal
|
|
73
|
+
*/
|
|
74
|
+
declare type deriveParamsFromConfig<TConfig extends AnyRootConfig> = {
|
|
75
|
+
_config: TConfig;
|
|
76
|
+
_ctx_out: TConfig['$types']['ctx'];
|
|
77
|
+
_input_out: unknown;
|
|
78
|
+
_input_in: unknown;
|
|
79
|
+
_output_in: unknown;
|
|
80
|
+
_output_out: unknown;
|
|
81
|
+
_meta: TConfig['$types']['meta'];
|
|
82
|
+
};
|
|
36
83
|
/**
|
|
37
84
|
* @internal
|
|
38
85
|
*/
|
|
39
86
|
export declare type MiddlewareFunction<TParams extends ProcedureParams, TParamsAfter extends ProcedureParams> = {
|
|
40
87
|
(opts: {
|
|
41
|
-
ctx: TParams['_ctx_out']
|
|
88
|
+
ctx: Simplify<TParams['_ctx_out']>;
|
|
42
89
|
type: ProcedureType;
|
|
43
90
|
path: string;
|
|
44
91
|
input: TParams['_input_out'];
|
|
@@ -64,23 +111,7 @@ export declare type MiddlewareFunction<TParams extends ProcedureParams, TParamsA
|
|
|
64
111
|
/**
|
|
65
112
|
* @internal
|
|
66
113
|
*/
|
|
67
|
-
export declare function createMiddlewareFactory<TConfig extends AnyRootConfig>(): <TNewParams extends ProcedureParams<AnyRootConfig, unknown, unknown, unknown, unknown, unknown, unknown>>(fn: MiddlewareFunction<
|
|
68
|
-
_config: TConfig;
|
|
69
|
-
_ctx_out: TConfig['$types']['ctx'];
|
|
70
|
-
_input_out: unknown;
|
|
71
|
-
_input_in: unknown;
|
|
72
|
-
_output_in: unknown;
|
|
73
|
-
_output_out: unknown;
|
|
74
|
-
_meta: TConfig['$types']['meta'];
|
|
75
|
-
}, TNewParams>) => MiddlewareFunction<{
|
|
76
|
-
_config: TConfig;
|
|
77
|
-
_ctx_out: TConfig['$types']['ctx'];
|
|
78
|
-
_input_out: unknown;
|
|
79
|
-
_input_in: unknown;
|
|
80
|
-
_output_in: unknown;
|
|
81
|
-
_output_out: unknown;
|
|
82
|
-
_meta: TConfig['$types']['meta'];
|
|
83
|
-
}, TNewParams>;
|
|
114
|
+
export declare function createMiddlewareFactory<TConfig extends AnyRootConfig>(): <TNewParams extends ProcedureParams<AnyRootConfig, unknown, unknown, unknown, unknown, unknown, unknown>>(fn: MiddlewareFunction<deriveParamsFromConfig<TConfig>, TNewParams>) => MiddlewareBuilder<deriveParamsFromConfig<TConfig>, TNewParams>;
|
|
84
115
|
/**
|
|
85
116
|
* @internal
|
|
86
117
|
* Please note, `trpc-openapi` uses this function.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -233,11 +233,27 @@ function getParseFn(procedureParser) {
|
|
|
233
233
|
|
|
234
234
|
/**
|
|
235
235
|
* @internal
|
|
236
|
-
*/
|
|
237
|
-
function
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
236
|
+
*/ function createMiddlewareFactory() {
|
|
237
|
+
function createMiddlewareInner(middlewares) {
|
|
238
|
+
return {
|
|
239
|
+
_middlewares: middlewares,
|
|
240
|
+
unstable_pipe (middlewareBuilderOrFn) {
|
|
241
|
+
const pipedMiddleware = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
|
|
242
|
+
middlewareBuilderOrFn
|
|
243
|
+
];
|
|
244
|
+
return createMiddlewareInner([
|
|
245
|
+
...middlewares,
|
|
246
|
+
...pipedMiddleware
|
|
247
|
+
]);
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
function createMiddleware(fn) {
|
|
252
|
+
return createMiddlewareInner([
|
|
253
|
+
fn
|
|
254
|
+
]);
|
|
255
|
+
}
|
|
256
|
+
return createMiddleware;
|
|
241
257
|
}
|
|
242
258
|
function isPlainObject(obj) {
|
|
243
259
|
return obj && typeof obj === 'object' && !Array.isArray(obj);
|
|
@@ -353,11 +369,13 @@ function createBuilder(initDef) {
|
|
|
353
369
|
*/ unstable_concat (builder) {
|
|
354
370
|
return createNewBuilder(_def, builder._def);
|
|
355
371
|
},
|
|
356
|
-
use (
|
|
372
|
+
use (middlewareBuilderOrFn) {
|
|
373
|
+
// Distinguish between a middleware builder and a middleware function
|
|
374
|
+
const middlewares = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
|
|
375
|
+
middlewareBuilderOrFn
|
|
376
|
+
];
|
|
357
377
|
return createNewBuilder(_def, {
|
|
358
|
-
middlewares
|
|
359
|
-
middleware
|
|
360
|
-
]
|
|
378
|
+
middlewares
|
|
361
379
|
});
|
|
362
380
|
},
|
|
363
381
|
query (resolver) {
|
package/dist/index.mjs
CHANGED
|
@@ -231,11 +231,27 @@ function getParseFn(procedureParser) {
|
|
|
231
231
|
|
|
232
232
|
/**
|
|
233
233
|
* @internal
|
|
234
|
-
*/
|
|
235
|
-
function
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
234
|
+
*/ function createMiddlewareFactory() {
|
|
235
|
+
function createMiddlewareInner(middlewares) {
|
|
236
|
+
return {
|
|
237
|
+
_middlewares: middlewares,
|
|
238
|
+
unstable_pipe (middlewareBuilderOrFn) {
|
|
239
|
+
const pipedMiddleware = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
|
|
240
|
+
middlewareBuilderOrFn
|
|
241
|
+
];
|
|
242
|
+
return createMiddlewareInner([
|
|
243
|
+
...middlewares,
|
|
244
|
+
...pipedMiddleware
|
|
245
|
+
]);
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
function createMiddleware(fn) {
|
|
250
|
+
return createMiddlewareInner([
|
|
251
|
+
fn
|
|
252
|
+
]);
|
|
253
|
+
}
|
|
254
|
+
return createMiddleware;
|
|
239
255
|
}
|
|
240
256
|
function isPlainObject(obj) {
|
|
241
257
|
return obj && typeof obj === 'object' && !Array.isArray(obj);
|
|
@@ -351,11 +367,13 @@ function createBuilder(initDef) {
|
|
|
351
367
|
*/ unstable_concat (builder) {
|
|
352
368
|
return createNewBuilder(_def, builder._def);
|
|
353
369
|
},
|
|
354
|
-
use (
|
|
370
|
+
use (middlewareBuilderOrFn) {
|
|
371
|
+
// Distinguish between a middleware builder and a middleware function
|
|
372
|
+
const middlewares = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
|
|
373
|
+
middlewareBuilderOrFn
|
|
374
|
+
];
|
|
355
375
|
return createNewBuilder(_def, {
|
|
356
|
-
middlewares
|
|
357
|
-
middleware
|
|
358
|
-
]
|
|
376
|
+
middlewares
|
|
359
377
|
});
|
|
360
378
|
},
|
|
361
379
|
query (resolver) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/shared/internal/serialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,aAAK,aAAa,GACd,MAAM,GACN,MAAM,GACN,OAAO,GAEP,MAAM,GAEN,MAAM,GAEN,OAAO,GACP,IAAI,CAAC;AAET,aAAK,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAMtD,aAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAG/C,oBAAY,SAAS,CAAC,CAAC,IACtB,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG,GAC3B,CAAC,SAAS,aAAa,GAAG,CAAC,GAC3B,CAAC,SAAS,GAAG,CAAC,GAAG,EAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAC1C,CAAC,SAAS,gBAAgB,GAAG,KAAK,GAClC,CAAC,SAAS;IAAE,MAAM,IAAI,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GACnC,CAAC,SAAS,EAAE,GAAG,EAAE,GACjB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GACrD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GACvF,CAAC,SAAS,MAAM,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAC1D,KAAK,CAAC;AAEP,uGAAuG;AACvG,aAAK,cAAc,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI;KACtD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF,gEAAgE;AAChE,aAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;KACtC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/shared/internal/serialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,aAAK,aAAa,GACd,MAAM,GACN,MAAM,GACN,OAAO,GAEP,MAAM,GAEN,MAAM,GAEN,OAAO,GACP,IAAI,CAAC;AAET,aAAK,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAMtD,aAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAG/C,oBAAY,SAAS,CAAC,CAAC,IACtB,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG,GAC3B,CAAC,SAAS,aAAa,GAAG,CAAC,GAC3B,CAAC,SAAS,GAAG,CAAC,GAAG,EAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAC1C,CAAC,SAAS,gBAAgB,GAAG,KAAK,GAClC,CAAC,SAAS;IAAE,MAAM,IAAI,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GACnC,CAAC,SAAS,EAAE,GAAG,EAAE,GACjB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GACrD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GACvF,CAAC,SAAS,MAAM,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAC1D,KAAK,CAAC;AAEP,uGAAuG;AACvG,aAAK,cAAc,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI;KACtD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF,gEAAgE;AAChE,aAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;KACtC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF,aAAK,iBAAiB,CAAC,IAAI,SAAS,MAAM,IAAI,OAAO,CACnD;KACG,IAAI,IAAI,MAAM,IAAI,GAAG,SAAS,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI;CAClE,CAAC,MAAM,IAAI,CAAC,EACb,SAAS,CACV,CAAC;AAQF,aAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAEvC,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG;KAE7B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CACtE,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare type FlatOverwrite<TType, TWith> = InferOptional<{
|
|
|
15
15
|
/**
|
|
16
16
|
* @internal
|
|
17
17
|
*/
|
|
18
|
-
export declare type IntersectionError<TKey extends string> =
|
|
18
|
+
export declare type IntersectionError<TKey extends string> = `The property '${TKey}' in your router collides with a built-in method, rename this router or procedure on your backend.`;
|
|
19
19
|
/**
|
|
20
20
|
* @internal
|
|
21
21
|
*/
|
|
@@ -68,4 +68,11 @@ export declare type Filter<TObj extends object, TFilter> = Pick<TObj, FilterKeys
|
|
|
68
68
|
* @internal
|
|
69
69
|
*/
|
|
70
70
|
export declare type Unwrap<TType> = TType extends (...args: any[]) => infer R ? ThenArg<R> : TType;
|
|
71
|
+
/**
|
|
72
|
+
* Makes the object recursively optional
|
|
73
|
+
* @internal
|
|
74
|
+
*/
|
|
75
|
+
export declare type DeepPartial<TObject> = TObject extends object ? {
|
|
76
|
+
[P in keyof TObject]?: DeepPartial<TObject[P]>;
|
|
77
|
+
} : TObject;
|
|
71
78
|
//# 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":"AAAA;;GAEG;AACH,oBAAY,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;AAEpC,oBAAY,aAAa,CAAC,KAAK,EAAE,KAAK,SAAS,MAAM,KAAK,IAAI,OAAO,CACnE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CACnB,GACC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAErB,oBAAY,aAAa,CAAC,KAAK,IAAI;KAChC,CAAC,IAAI,MAAM,KAAK,GAAG,SAAS,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAC3D,CAAC,MAAM,KAAK,CAAC,CAAC;AAEf;;GAEG;AACH,oBAAY,aAAa,CAAC,KAAK,EAAE,KAAK,IAAI,aAAa,CACrD;KACG,IAAI,IAAI,MAAM,KAAK,GAAG,MAAM,KAAK,GAAG,IAAI,SAAS,MAAM,KAAK,GACzD,KAAK,CAAC,IAAI,CAAC,GACX,IAAI,SAAS,MAAM,KAAK,GACxB,KAAK,CAAC,IAAI,CAAC,GACX,KAAK;CACV,EACD,aAAa,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAC5C,CAAC;AAEF;;GAEG;AACH,oBAAY,iBAAiB,CAAC,IAAI,SAAS,MAAM,IAC/C,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/server",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.10.0",
|
|
4
4
|
"description": "tRPC Server",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -162,5 +162,5 @@
|
|
|
162
162
|
"yup": "^0.32.8",
|
|
163
163
|
"zod": "^3.0.0"
|
|
164
164
|
},
|
|
165
|
-
"gitHead": "
|
|
165
|
+
"gitHead": "ca69d4acfe7be286afcd06a39b652194ca6a87d9"
|
|
166
166
|
}
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
UndefinedKeys,
|
|
8
8
|
} from '../../types';
|
|
9
9
|
import {
|
|
10
|
+
MiddlewareBuilder,
|
|
10
11
|
MiddlewareFunction,
|
|
11
12
|
MiddlewareResult,
|
|
12
13
|
createInputMiddleware,
|
|
@@ -146,7 +147,9 @@ export interface ProcedureBuilder<TParams extends ProcedureParams> {
|
|
|
146
147
|
* Add a middleware to the procedure.
|
|
147
148
|
*/
|
|
148
149
|
use<$Params extends ProcedureParams>(
|
|
149
|
-
fn:
|
|
150
|
+
fn:
|
|
151
|
+
| MiddlewareBuilder<TParams, $Params>
|
|
152
|
+
| MiddlewareFunction<TParams, $Params>,
|
|
150
153
|
): CreateProcedureReturnInput<TParams, $Params>;
|
|
151
154
|
/**
|
|
152
155
|
* Extend the procedure with another procedure.
|
|
@@ -255,9 +258,15 @@ export function createBuilder<TConfig extends AnyRootConfig>(
|
|
|
255
258
|
unstable_concat(builder) {
|
|
256
259
|
return createNewBuilder(_def, builder._def) as any;
|
|
257
260
|
},
|
|
258
|
-
use(
|
|
261
|
+
use(middlewareBuilderOrFn) {
|
|
262
|
+
// Distinguish between a middleware builder and a middleware function
|
|
263
|
+
const middlewares =
|
|
264
|
+
'_middlewares' in middlewareBuilderOrFn
|
|
265
|
+
? middlewareBuilderOrFn._middlewares
|
|
266
|
+
: [middlewareBuilderOrFn];
|
|
267
|
+
|
|
259
268
|
return createNewBuilder(_def, {
|
|
260
|
-
middlewares
|
|
269
|
+
middlewares,
|
|
261
270
|
}) as AnyProcedureBuilder;
|
|
262
271
|
},
|
|
263
272
|
query(resolver) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Simplify } from '../../types';
|
|
1
2
|
import { ProcedureParams } from '../procedure';
|
|
2
3
|
|
|
3
4
|
/**
|
|
@@ -42,7 +43,7 @@ export type UnsetMarker = typeof unsetMarker;
|
|
|
42
43
|
* @internal
|
|
43
44
|
*/
|
|
44
45
|
export interface ResolveOptions<TParams extends ProcedureParams> {
|
|
45
|
-
ctx: TParams['_ctx_out']
|
|
46
|
+
ctx: Simplify<TParams['_ctx_out']>;
|
|
46
47
|
input: TParams['_input_out'] extends UnsetMarker
|
|
47
48
|
? undefined
|
|
48
49
|
: TParams['_input_out'];
|
package/src/core/middleware.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { TRPCError } from '../error/TRPCError';
|
|
2
2
|
import { getCauseFromUnknown } from '../error/utils';
|
|
3
|
+
import { Simplify } from '../types';
|
|
3
4
|
import { AnyRootConfig } from './internals/config';
|
|
4
5
|
import { ParseFn } from './internals/getParseFn';
|
|
5
6
|
import { ProcedureBuilderMiddleware } from './internals/procedureBuilder';
|
|
6
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
DefaultValue as FallbackValue,
|
|
9
|
+
MiddlewareMarker,
|
|
10
|
+
Overwrite,
|
|
11
|
+
} from './internals/utils';
|
|
7
12
|
import { ProcedureParams } from './procedure';
|
|
8
13
|
import { ProcedureType } from './types';
|
|
9
14
|
|
|
@@ -44,6 +49,78 @@ export type MiddlewareResult<TParams extends ProcedureParams> =
|
|
|
44
49
|
| MiddlewareOKResult<TParams>
|
|
45
50
|
| MiddlewareErrorResult<TParams>;
|
|
46
51
|
|
|
52
|
+
/**
|
|
53
|
+
* @internal
|
|
54
|
+
*/
|
|
55
|
+
export interface MiddlewareBuilder<
|
|
56
|
+
TRoot extends ProcedureParams,
|
|
57
|
+
TNewParams extends ProcedureParams,
|
|
58
|
+
> {
|
|
59
|
+
/**
|
|
60
|
+
* Create a new builder based on the current middleware builder
|
|
61
|
+
*/
|
|
62
|
+
unstable_pipe<$Params extends ProcedureParams>(
|
|
63
|
+
fn: {
|
|
64
|
+
_config: TRoot['_config'];
|
|
65
|
+
_meta: TRoot['_meta'];
|
|
66
|
+
_ctx_out: Overwrite<TRoot['_ctx_out'], TNewParams['_ctx_out']>;
|
|
67
|
+
_input_in: FallbackValue<TRoot['_input_in'], TNewParams['_input_in']>;
|
|
68
|
+
_input_out: FallbackValue<TRoot['_input_out'], TNewParams['_input_out']>;
|
|
69
|
+
_output_in: FallbackValue<TRoot['_output_in'], TNewParams['_output_in']>;
|
|
70
|
+
_output_out: FallbackValue<
|
|
71
|
+
TRoot['_output_out'],
|
|
72
|
+
TNewParams['_output_out']
|
|
73
|
+
>;
|
|
74
|
+
} extends infer OParams extends ProcedureParams
|
|
75
|
+
?
|
|
76
|
+
| MiddlewareBuilder<OParams, $Params>
|
|
77
|
+
| MiddlewareFunction<OParams, $Params>
|
|
78
|
+
: never,
|
|
79
|
+
): CreateMiddlewareReturnInput<
|
|
80
|
+
TRoot,
|
|
81
|
+
TNewParams,
|
|
82
|
+
Overwrite<TNewParams, $Params>
|
|
83
|
+
>;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* List of middlewares within this middleware builder
|
|
87
|
+
*/
|
|
88
|
+
_middlewares: MiddlewareFunction<TRoot, TNewParams>[];
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* @internal
|
|
93
|
+
* FIXME: there must be a nicer way of doing this, it's hard to maintain when we have several structures like this
|
|
94
|
+
*/
|
|
95
|
+
type CreateMiddlewareReturnInput<
|
|
96
|
+
TRoot extends ProcedureParams,
|
|
97
|
+
TPrev extends ProcedureParams,
|
|
98
|
+
TNext extends ProcedureParams,
|
|
99
|
+
> = MiddlewareBuilder<
|
|
100
|
+
TRoot,
|
|
101
|
+
{
|
|
102
|
+
_config: TPrev['_config'];
|
|
103
|
+
_meta: TPrev['_meta'];
|
|
104
|
+
_ctx_out: Overwrite<TPrev['_ctx_out'], TNext['_ctx_out']>;
|
|
105
|
+
_input_in: FallbackValue<TNext['_input_in'], TPrev['_input_in']>;
|
|
106
|
+
_input_out: FallbackValue<TNext['_input_out'], TPrev['_input_out']>;
|
|
107
|
+
_output_in: FallbackValue<TNext['_output_in'], TPrev['_output_in']>;
|
|
108
|
+
_output_out: FallbackValue<TNext['_output_out'], TPrev['_output_out']>;
|
|
109
|
+
}
|
|
110
|
+
>;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* @internal
|
|
114
|
+
*/
|
|
115
|
+
type deriveParamsFromConfig<TConfig extends AnyRootConfig> = {
|
|
116
|
+
_config: TConfig;
|
|
117
|
+
_ctx_out: TConfig['$types']['ctx'];
|
|
118
|
+
_input_out: unknown;
|
|
119
|
+
_input_in: unknown;
|
|
120
|
+
_output_in: unknown;
|
|
121
|
+
_output_out: unknown;
|
|
122
|
+
_meta: TConfig['$types']['meta'];
|
|
123
|
+
};
|
|
47
124
|
/**
|
|
48
125
|
* @internal
|
|
49
126
|
*/
|
|
@@ -52,7 +129,7 @@ export type MiddlewareFunction<
|
|
|
52
129
|
TParamsAfter extends ProcedureParams,
|
|
53
130
|
> = {
|
|
54
131
|
(opts: {
|
|
55
|
-
ctx: TParams['_ctx_out']
|
|
132
|
+
ctx: Simplify<TParams['_ctx_out']>;
|
|
56
133
|
type: ProcedureType;
|
|
57
134
|
path: string;
|
|
58
135
|
input: TParams['_input_out'];
|
|
@@ -79,24 +156,33 @@ export type MiddlewareFunction<
|
|
|
79
156
|
/**
|
|
80
157
|
* @internal
|
|
81
158
|
*/
|
|
82
|
-
// FIXME this should use RootConfig
|
|
83
159
|
export function createMiddlewareFactory<TConfig extends AnyRootConfig>() {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
160
|
+
function createMiddlewareInner<TNewParams extends ProcedureParams>(
|
|
161
|
+
middlewares: MiddlewareFunction<any, any>[],
|
|
162
|
+
): MiddlewareBuilder<deriveParamsFromConfig<TConfig>, TNewParams> {
|
|
163
|
+
return {
|
|
164
|
+
_middlewares: middlewares,
|
|
165
|
+
unstable_pipe(middlewareBuilderOrFn) {
|
|
166
|
+
const pipedMiddleware =
|
|
167
|
+
'_middlewares' in middlewareBuilderOrFn
|
|
168
|
+
? middlewareBuilderOrFn._middlewares
|
|
169
|
+
: [middlewareBuilderOrFn];
|
|
170
|
+
|
|
171
|
+
return createMiddlewareInner([
|
|
172
|
+
...(middlewares as any),
|
|
173
|
+
...pipedMiddleware,
|
|
174
|
+
]);
|
|
94
175
|
},
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
function createMiddleware<TNewParams extends ProcedureParams>(
|
|
180
|
+
fn: MiddlewareFunction<deriveParamsFromConfig<TConfig>, TNewParams>,
|
|
181
|
+
): MiddlewareBuilder<deriveParamsFromConfig<TConfig>, TNewParams> {
|
|
182
|
+
return createMiddlewareInner([fn]);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
return createMiddleware;
|
|
100
186
|
}
|
|
101
187
|
|
|
102
188
|
function isPlainObject(obj: unknown) {
|
|
@@ -47,13 +47,6 @@ type SerializeObject<T extends object> = {
|
|
|
47
47
|
[k in keyof Omit<T, FilterKeys<T, NonJsonPrimitive>>]: Serialize<T[k]>;
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
/*
|
|
51
|
-
* For an object T, if it has any properties that are a union with `undefined`,
|
|
52
|
-
* make those into optional properties instead.
|
|
53
|
-
*
|
|
54
|
-
* Example: { a: string | undefined} --> { a?: string}
|
|
55
|
-
*/
|
|
56
|
-
|
|
57
50
|
type FilterDefinedKeys<TObj extends object> = Exclude<
|
|
58
51
|
{
|
|
59
52
|
[TKey in keyof TObj]: undefined extends TObj[TKey] ? never : TKey;
|
|
@@ -61,6 +54,12 @@ type FilterDefinedKeys<TObj extends object> = Exclude<
|
|
|
61
54
|
undefined
|
|
62
55
|
>;
|
|
63
56
|
|
|
57
|
+
/*
|
|
58
|
+
* For an object T, if it has any properties that are a union with `undefined`,
|
|
59
|
+
* make those into optional properties instead.
|
|
60
|
+
*
|
|
61
|
+
* Example: { a: string | undefined} --> { a?: string}
|
|
62
|
+
*/
|
|
64
63
|
type UndefinedToOptional<T extends object> =
|
|
65
64
|
// Property is not a union with `undefined`, keep as-is
|
|
66
65
|
Pick<T, FilterDefinedKeys<T>> & {
|
package/src/types.ts
CHANGED
|
@@ -30,7 +30,7 @@ export type FlatOverwrite<TType, TWith> = InferOptional<
|
|
|
30
30
|
* @internal
|
|
31
31
|
*/
|
|
32
32
|
export type IntersectionError<TKey extends string> =
|
|
33
|
-
|
|
33
|
+
`The property '${TKey}' in your router collides with a built-in method, rename this router or procedure on your backend.`;
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* @internal
|
|
@@ -104,3 +104,13 @@ export type Filter<TObj extends object, TFilter> = Pick<
|
|
|
104
104
|
export type Unwrap<TType> = TType extends (...args: any[]) => infer R
|
|
105
105
|
? ThenArg<R>
|
|
106
106
|
: TType;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Makes the object recursively optional
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
112
|
+
export type DeepPartial<TObject> = TObject extends object
|
|
113
|
+
? {
|
|
114
|
+
[P in keyof TObject]?: DeepPartial<TObject[P]>;
|
|
115
|
+
}
|
|
116
|
+
: TObject;
|