@trpc/server 10.0.0-alpha.24 → 10.0.0-alpha.27
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/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.d.ts +1 -1
- package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js +100 -20
- package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js +100 -20
- package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js +99 -19
- package/adapters/aws-lambda/index.d.ts +1 -0
- package/adapters/aws-lambda/index.js +1 -0
- package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.d.ts +1 -0
- package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.dev.js +25 -0
- package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.js +7 -0
- package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.prod.js +25 -0
- package/adapters/lambda/dist/trpc-server-adapters-lambda.esm.js +21 -0
- package/dist/{TRPCError-ddec3395.js → TRPCError-9050a68d.js} +0 -0
- package/dist/{TRPCError-7971540a.mjs → TRPCError-b7fa0c31.mjs} +0 -0
- package/dist/adapters/aws-lambda/index.d.ts +14 -0
- package/dist/adapters/aws-lambda/index.d.ts.map +1 -0
- package/dist/adapters/aws-lambda/utils.d.ts +34 -0
- package/dist/adapters/aws-lambda/utils.d.ts.map +1 -0
- package/dist/adapters/express.d.ts +1 -1
- package/dist/adapters/express.d.ts.map +1 -1
- package/dist/adapters/express.js +5 -5
- package/dist/adapters/express.mjs +5 -5
- package/dist/adapters/fastify/fastifyRequestHandler.d.ts +1 -1
- package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +1 -1
- package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
- package/dist/adapters/fastify/index.js +4 -4
- package/dist/adapters/fastify/index.mjs +4 -4
- package/dist/adapters/fetch/fetchRequestHandler.d.ts +1 -1
- package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
- package/dist/adapters/fetch/index.js +4 -4
- package/dist/adapters/fetch/index.mjs +4 -4
- package/dist/adapters/fetch/types.d.ts +1 -1
- package/dist/adapters/fetch/types.d.ts.map +1 -1
- package/dist/adapters/lambda/index.d.ts +12 -0
- package/dist/adapters/lambda/index.d.ts.map +1 -0
- package/dist/adapters/next.d.ts +1 -1
- package/dist/adapters/next.d.ts.map +1 -1
- package/dist/adapters/next.js +5 -5
- package/dist/adapters/next.mjs +5 -5
- package/dist/adapters/node-http/index.js +5 -5
- package/dist/adapters/node-http/index.mjs +5 -5
- package/dist/adapters/node-http/internals/getPostBody.d.ts +1 -1
- package/dist/adapters/node-http/internals/getPostBody.d.ts.map +1 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +1 -1
- package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
- package/dist/adapters/node-http/types.d.ts +3 -2
- package/dist/adapters/node-http/types.d.ts.map +1 -1
- package/dist/adapters/standalone.d.ts +2 -2
- package/dist/adapters/standalone.d.ts.map +1 -1
- package/dist/adapters/standalone.js +5 -5
- package/dist/adapters/standalone.mjs +5 -5
- package/dist/adapters/ws.d.ts +3 -2
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +4 -9
- package/dist/adapters/ws.mjs +4 -9
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/initTRPC.d.ts +82 -0
- package/dist/core/initTRPC.d.ts.map +1 -0
- package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts +262 -0
- package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts.map +1 -0
- package/dist/core/internals/config.d.ts +38 -0
- package/dist/core/internals/config.d.ts.map +1 -0
- package/dist/core/internals/getParseFn.d.ts +9 -0
- package/dist/core/internals/getParseFn.d.ts.map +1 -0
- package/dist/core/internals/internalProcedure.d.ts +61 -0
- package/dist/core/internals/internalProcedure.d.ts.map +1 -0
- package/dist/core/internals/mergeRouters.d.ts +3 -0
- package/dist/core/internals/mergeRouters.d.ts.map +1 -0
- package/dist/core/internals/mergeRoutersGeneric.d.ts +21 -0
- package/dist/core/internals/mergeRoutersGeneric.d.ts.map +1 -0
- package/dist/core/internals/mergeWithoutOverrides.d.ts +5 -0
- package/dist/core/internals/mergeWithoutOverrides.d.ts.map +1 -0
- package/dist/core/internals/omitPrototype.d.ts +6 -0
- package/dist/core/internals/omitPrototype.d.ts.map +1 -0
- package/dist/core/internals/procedureBuilder.d.ts +72 -0
- package/dist/core/internals/procedureBuilder.d.ts.map +1 -0
- package/dist/core/internals/utils.d.ts +44 -0
- package/dist/core/internals/utils.d.ts.map +1 -0
- package/dist/core/middleware.d.ts +78 -0
- package/dist/core/middleware.d.ts.map +1 -0
- package/dist/core/parser.d.ts +25 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/procedure.d.ts +57 -0
- package/dist/core/procedure.d.ts.map +1 -0
- package/dist/core/router.d.ts +122 -0
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/types.d.ts +17 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/{internals → deprecated/internals}/callProcedure.d.ts +4 -1
- package/dist/deprecated/internals/callProcedure.d.ts.map +1 -0
- package/dist/{internals → deprecated/internals}/middlewares.d.ts +16 -1
- package/dist/deprecated/internals/middlewares.d.ts.map +1 -0
- package/dist/{internals → deprecated/internals}/procedure.d.ts +10 -1
- package/dist/deprecated/internals/procedure.d.ts.map +1 -0
- package/dist/deprecated/interop.d.ts +34 -0
- package/dist/deprecated/interop.d.ts.map +1 -0
- package/dist/{router.d.ts → deprecated/router.d.ts} +27 -6
- package/dist/deprecated/router.d.ts.map +1 -0
- package/dist/{envelopes-1deb2fa7.mjs → envelopes-af8c2959.mjs} +12 -1
- package/dist/{envelopes-a953b930.js → envelopes-b6dd0367.js} +11 -1
- package/dist/{TRPCError.d.ts → error/TRPCError.d.ts} +2 -2
- package/dist/error/TRPCError.d.ts.map +1 -0
- package/dist/error/formatter.d.ts +33 -0
- package/dist/error/formatter.d.ts.map +1 -0
- package/dist/{internals/errors.d.ts → error/utils.d.ts} +2 -2
- package/dist/error/utils.d.ts.map +1 -0
- package/dist/http/index.d.ts +1 -1
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/internals/getHTTPStatusCode.d.ts +1 -1
- package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -1
- package/dist/http/internals/types.d.ts +10 -8
- package/dist/http/internals/types.d.ts.map +1 -1
- package/dist/http/resolveHTTPResponse.d.ts +2 -2
- package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
- package/dist/http/{responseMeta.d.ts → types.d.ts} +1 -1
- package/dist/http/types.d.ts.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +711 -30
- package/dist/index.mjs +711 -32
- package/dist/internals/transformTRPCResponse.d.ts +1 -1
- package/dist/internals/transformTRPCResponse.d.ts.map +1 -1
- package/dist/internals/types.d.ts +23 -0
- package/dist/internals/types.d.ts.map +1 -0
- package/dist/{nodeHTTPRequestHandler-1cdb6383.mjs → nodeHTTPRequestHandler-174459c5.mjs} +2 -2
- package/dist/{nodeHTTPRequestHandler-848f07b5.js → nodeHTTPRequestHandler-6b7c8622.js} +2 -2
- package/dist/{resolveHTTPResponse-54a79e6c.mjs → resolveHTTPResponse-8657b8de.mjs} +16 -10
- package/dist/{resolveHTTPResponse-ec3dccaa.js → resolveHTTPResponse-fcc8f644.js} +17 -11
- package/dist/rpc/envelopes.d.ts +1 -1
- package/dist/rpc/envelopes.d.ts.map +1 -1
- package/dist/rpc/index.js +1 -1
- package/dist/rpc/index.mjs +1 -1
- package/dist/rpc/internals/invert.d.ts +18 -0
- package/dist/rpc/internals/invert.d.ts.map +1 -0
- package/dist/subscription.js +1 -1
- package/dist/subscription.mjs +1 -1
- package/dist/{transformTRPCResponse-333bed6c.js → transformTRPCResponse-0c261655.js} +0 -27
- package/dist/{transformTRPCResponse-e0cba527.mjs → transformTRPCResponse-747b9a68.mjs} +1 -27
- package/dist/transformer.d.ts +14 -0
- package/dist/transformer.d.ts.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +12 -4
- package/src/adapters/aws-lambda/index.ts +156 -0
- package/src/adapters/aws-lambda/utils.ts +91 -0
- package/src/adapters/express.ts +1 -1
- package/src/adapters/fastify/fastifyRequestHandler.ts +1 -1
- package/src/adapters/fastify/fastifyTRPCPlugin.ts +2 -2
- package/src/adapters/fetch/fetchRequestHandler.ts +1 -1
- package/src/adapters/fetch/types.ts +1 -1
- package/src/adapters/lambda/index.ts +18 -0
- package/src/adapters/next.ts +2 -2
- package/src/adapters/node-http/internals/getPostBody.ts +1 -1
- package/src/adapters/node-http/nodeHTTPRequestHandler.ts +3 -2
- package/src/adapters/node-http/types.ts +5 -2
- package/src/adapters/standalone.ts +1 -1
- package/src/adapters/ws.ts +7 -12
- package/src/core/index.ts +5 -0
- package/src/core/initTRPC.ts +90 -0
- package/src/core/internals/__generated__/mergeRoutersGeneric.ts +366 -0
- package/src/core/internals/config.ts +44 -0
- package/src/core/internals/getParseFn.ts +47 -0
- package/src/core/internals/internalProcedure.ts +265 -0
- package/src/core/internals/mergeRouters.ts +57 -0
- package/src/core/internals/mergeRoutersGeneric.ts +35 -0
- package/src/core/internals/mergeWithoutOverrides.ts +19 -0
- package/src/core/internals/omitPrototype.ts +9 -0
- package/src/core/internals/procedureBuilder.ts +101 -0
- package/src/core/internals/utils.ts +64 -0
- package/src/core/middleware.ts +93 -0
- package/src/core/parser.ts +45 -0
- package/src/core/procedure.ts +72 -0
- package/src/core/router.ts +358 -0
- package/src/core/types.ts +37 -0
- package/src/{internals → deprecated/internals}/callProcedure.ts +4 -1
- package/src/{internals → deprecated/internals}/middlewares.ts +17 -1
- package/src/{internals → deprecated/internals}/procedure.ts +16 -4
- package/src/deprecated/interop.ts +169 -0
- package/src/{router.ts → deprecated/router.ts} +51 -24
- package/src/{TRPCError.ts → error/TRPCError.ts} +3 -3
- package/src/error/formatter.ts +51 -0
- package/src/{internals/errors.ts → error/utils.ts} +1 -1
- package/src/http/index.ts +1 -1
- package/src/http/internals/getHTTPStatusCode.ts +1 -1
- package/src/http/internals/types.ts +10 -12
- package/src/http/resolveHTTPResponse.ts +7 -12
- package/src/http/{responseMeta.ts → types.ts} +0 -0
- package/src/index.ts +3 -2
- package/src/internals/transformTRPCResponse.ts +1 -1
- package/src/internals/types.ts +24 -0
- package/src/rpc/codes.ts +1 -1
- package/src/rpc/envelopes.ts +1 -1
- package/src/rpc/internals/invert.ts +27 -0
- package/src/subscription.ts +1 -1
- package/src/transformer.ts +28 -0
- package/src/types.ts +12 -0
- package/dist/TRPCError.d.ts.map +0 -1
- package/dist/http/responseMeta.d.ts.map +0 -1
- package/dist/internals/baseHandlerOptions.d.ts +0 -13
- package/dist/internals/baseHandlerOptions.d.ts.map +0 -1
- package/dist/internals/callProcedure.d.ts.map +0 -1
- package/dist/internals/errors.d.ts.map +0 -1
- package/dist/internals/middlewares.d.ts.map +0 -1
- package/dist/internals/onErrorFunction.d.ts +0 -11
- package/dist/internals/onErrorFunction.d.ts.map +0 -1
- package/dist/internals/procedure.d.ts.map +0 -1
- package/dist/router.d.ts.map +0 -1
- package/src/internals/baseHandlerOptions.ts +0 -13
- package/src/internals/onErrorFunction.ts +0 -11
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { getParseFnOrPassThrough } from '../core/internals/getParseFn';
|
|
2
|
+
import {
|
|
3
|
+
createInputMiddleware,
|
|
4
|
+
createInternalBuilder,
|
|
5
|
+
createOutputMiddleware,
|
|
6
|
+
} from '../core/internals/internalProcedure';
|
|
7
|
+
import { Procedure as NewProcedure } from '../core/procedure';
|
|
8
|
+
import { Router as NewRouter, createRouterFactory } from '../core/router';
|
|
9
|
+
import {
|
|
10
|
+
AnyRouter as AnyOldRouter,
|
|
11
|
+
Router as OldRouter,
|
|
12
|
+
} from '../deprecated/router';
|
|
13
|
+
import { TRPCErrorShape } from '../rpc';
|
|
14
|
+
import { CombinedDataTransformer } from '../transformer';
|
|
15
|
+
import { Procedure as OldProcedure } from './internals/procedure';
|
|
16
|
+
import { ProcedureRecord } from './router';
|
|
17
|
+
|
|
18
|
+
type AnyOldProcedure = OldProcedure<any, any, any, any, any, any, any, any>;
|
|
19
|
+
type MigrateProcedure<TProcedure extends AnyOldProcedure> =
|
|
20
|
+
TProcedure extends OldProcedure<
|
|
21
|
+
infer TInputContext,
|
|
22
|
+
infer TContext,
|
|
23
|
+
infer TMeta,
|
|
24
|
+
infer TInput,
|
|
25
|
+
infer TParsedInput,
|
|
26
|
+
infer TOutput,
|
|
27
|
+
infer _TParsedOutput,
|
|
28
|
+
infer TFinalInput
|
|
29
|
+
>
|
|
30
|
+
? NewProcedure<{
|
|
31
|
+
_ctx_in: TInputContext;
|
|
32
|
+
_ctx_out: TContext;
|
|
33
|
+
_meta: TMeta;
|
|
34
|
+
_input_in: TInput;
|
|
35
|
+
_input_out: TParsedInput;
|
|
36
|
+
_output_in: TOutput;
|
|
37
|
+
_output_out: TFinalInput;
|
|
38
|
+
}>
|
|
39
|
+
: never;
|
|
40
|
+
|
|
41
|
+
export type MigrateProcedureRecord<T extends ProcedureRecord<any>> = {
|
|
42
|
+
[K in keyof T]: MigrateProcedure<T[K]>;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export type MigrateRouter<
|
|
46
|
+
TInputContext,
|
|
47
|
+
TContext,
|
|
48
|
+
TMeta extends Record<string, any>,
|
|
49
|
+
TQueries extends ProcedureRecord<
|
|
50
|
+
TInputContext,
|
|
51
|
+
TContext,
|
|
52
|
+
any,
|
|
53
|
+
any,
|
|
54
|
+
any,
|
|
55
|
+
any,
|
|
56
|
+
any
|
|
57
|
+
>,
|
|
58
|
+
TMutations extends ProcedureRecord<
|
|
59
|
+
TInputContext,
|
|
60
|
+
TContext,
|
|
61
|
+
any,
|
|
62
|
+
any,
|
|
63
|
+
any,
|
|
64
|
+
any,
|
|
65
|
+
any
|
|
66
|
+
>,
|
|
67
|
+
TSubscriptions extends ProcedureRecord<
|
|
68
|
+
TInputContext,
|
|
69
|
+
TContext,
|
|
70
|
+
unknown,
|
|
71
|
+
unknown,
|
|
72
|
+
any,
|
|
73
|
+
unknown,
|
|
74
|
+
unknown
|
|
75
|
+
>,
|
|
76
|
+
TErrorShape extends TRPCErrorShape<number>,
|
|
77
|
+
> = NewRouter<{
|
|
78
|
+
_ctx: TInputContext;
|
|
79
|
+
_errorShape: TErrorShape;
|
|
80
|
+
_meta: TMeta;
|
|
81
|
+
errorFormatter: never;
|
|
82
|
+
mutations: MigrateProcedureRecord<TMutations>;
|
|
83
|
+
queries: MigrateProcedureRecord<TQueries>;
|
|
84
|
+
subscriptions: MigrateProcedureRecord<TSubscriptions>;
|
|
85
|
+
transformer: CombinedDataTransformer;
|
|
86
|
+
}>;
|
|
87
|
+
|
|
88
|
+
export type MigrateOldRouter<TRouter extends AnyOldRouter> =
|
|
89
|
+
TRouter extends OldRouter<
|
|
90
|
+
infer TInputContext,
|
|
91
|
+
infer TContext,
|
|
92
|
+
infer TMeta,
|
|
93
|
+
infer TQueries,
|
|
94
|
+
infer TMutations,
|
|
95
|
+
infer TSubscriptions,
|
|
96
|
+
infer TErrorShape
|
|
97
|
+
>
|
|
98
|
+
? MigrateRouter<
|
|
99
|
+
TInputContext,
|
|
100
|
+
TContext,
|
|
101
|
+
TMeta,
|
|
102
|
+
TQueries,
|
|
103
|
+
TMutations,
|
|
104
|
+
TSubscriptions,
|
|
105
|
+
TErrorShape
|
|
106
|
+
>
|
|
107
|
+
: never;
|
|
108
|
+
|
|
109
|
+
function migrateProcedure<TProcedure extends AnyOldProcedure>(
|
|
110
|
+
oldProc: TProcedure,
|
|
111
|
+
): MigrateProcedure<TProcedure> {
|
|
112
|
+
const def = oldProc._def();
|
|
113
|
+
|
|
114
|
+
const inputParser = getParseFnOrPassThrough(def.inputParser);
|
|
115
|
+
const outputParser = getParseFnOrPassThrough(def.outputParser);
|
|
116
|
+
|
|
117
|
+
const inputMiddleware = createInputMiddleware(inputParser);
|
|
118
|
+
|
|
119
|
+
const builder = createInternalBuilder({
|
|
120
|
+
input: def.inputParser,
|
|
121
|
+
middlewares: [
|
|
122
|
+
...(def.middlewares as any),
|
|
123
|
+
inputMiddleware,
|
|
124
|
+
createOutputMiddleware(outputParser),
|
|
125
|
+
],
|
|
126
|
+
meta: def.meta,
|
|
127
|
+
output: def.outputParser,
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
const proc = builder.resolve((opts) => def.resolver(opts as any));
|
|
131
|
+
|
|
132
|
+
return proc as any;
|
|
133
|
+
}
|
|
134
|
+
export function migrateRouter<TOldRouter extends AnyOldRouter>(
|
|
135
|
+
oldRouter: TOldRouter,
|
|
136
|
+
): MigrateOldRouter<TOldRouter> {
|
|
137
|
+
const errorFormatter = oldRouter._def.errorFormatter;
|
|
138
|
+
const transformer = oldRouter._def.transformer;
|
|
139
|
+
|
|
140
|
+
type ProcRecord = Record<string, NewProcedure<any>>;
|
|
141
|
+
|
|
142
|
+
const queries: ProcRecord = {};
|
|
143
|
+
const mutations: ProcRecord = {};
|
|
144
|
+
const subscriptions: ProcRecord = {};
|
|
145
|
+
for (const [name, procedure] of Object.entries(oldRouter._def.queries)) {
|
|
146
|
+
queries[name] = migrateProcedure(procedure as any);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
for (const [name, procedure] of Object.entries(oldRouter._def.mutations)) {
|
|
150
|
+
mutations[name] = migrateProcedure(procedure as any);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
for (const [name, procedure] of Object.entries(
|
|
154
|
+
oldRouter._def.subscriptions,
|
|
155
|
+
)) {
|
|
156
|
+
subscriptions[name] = migrateProcedure(procedure as any);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const newRouter = createRouterFactory<any>({
|
|
160
|
+
transformer,
|
|
161
|
+
errorFormatter,
|
|
162
|
+
})({
|
|
163
|
+
mutations,
|
|
164
|
+
queries,
|
|
165
|
+
subscriptions,
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
return newRouter as any;
|
|
169
|
+
}
|
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
2
2
|
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { assertNotBrowser } from '../assertNotBrowser';
|
|
5
|
+
import { TRPCError } from '../error/TRPCError';
|
|
6
|
+
import { defaultFormatter } from '../error/formatter';
|
|
7
|
+
import { getHTTPStatusCodeFromError } from '../http/internals/getHTTPStatusCode';
|
|
8
|
+
import { Observable, inferObservableValue } from '../observable';
|
|
9
|
+
import {
|
|
10
|
+
TRPCErrorShape,
|
|
11
|
+
TRPC_ERROR_CODES_BY_KEY,
|
|
12
|
+
TRPC_ERROR_CODE_KEY,
|
|
13
|
+
TRPC_ERROR_CODE_NUMBER,
|
|
14
|
+
} from '../rpc';
|
|
15
|
+
import {
|
|
16
|
+
CombinedDataTransformer,
|
|
17
|
+
DataTransformerOptions,
|
|
18
|
+
defaultTransformer,
|
|
19
|
+
} from '../transformer';
|
|
20
|
+
import { Prefixer, ThenArg, flatten } from '../types';
|
|
7
21
|
import { MiddlewareFunction } from './internals/middlewares';
|
|
8
22
|
import {
|
|
9
23
|
CreateProcedureOptions,
|
|
@@ -15,25 +29,21 @@ import {
|
|
|
15
29
|
createProcedure,
|
|
16
30
|
inferProcedureFromOptions,
|
|
17
31
|
} from './internals/procedure';
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
TRPCErrorShape,
|
|
21
|
-
TRPC_ERROR_CODES_BY_KEY,
|
|
22
|
-
TRPC_ERROR_CODE_KEY,
|
|
23
|
-
TRPC_ERROR_CODE_NUMBER,
|
|
24
|
-
} from './rpc';
|
|
25
|
-
import { CombinedDataTransformer, DataTransformerOptions } from './transformer';
|
|
26
|
-
import { Prefixer, ThenArg, flatten } from './types';
|
|
32
|
+
import { MigrateRouter, migrateRouter } from './interop';
|
|
27
33
|
|
|
28
34
|
assertNotBrowser();
|
|
29
35
|
|
|
36
|
+
export type { Procedure } from './internals/procedure';
|
|
37
|
+
|
|
30
38
|
/**
|
|
31
39
|
* @public
|
|
40
|
+
* @deprecated
|
|
32
41
|
*/
|
|
33
42
|
export type ProcedureType = 'query' | 'mutation' | 'subscription';
|
|
34
43
|
|
|
35
44
|
/**
|
|
36
45
|
* @internal
|
|
46
|
+
* @deprecated
|
|
37
47
|
*/
|
|
38
48
|
export type ProcedureRecord<
|
|
39
49
|
TInputContext = any,
|
|
@@ -58,6 +68,7 @@ export type ProcedureRecord<
|
|
|
58
68
|
|
|
59
69
|
/**
|
|
60
70
|
* @public
|
|
71
|
+
* @deprecated
|
|
61
72
|
*/
|
|
62
73
|
export type inferProcedureInput<
|
|
63
74
|
TProcedure extends Procedure<any, any, any, any, any, any, any>,
|
|
@@ -69,12 +80,14 @@ export type inferProcedureInput<
|
|
|
69
80
|
|
|
70
81
|
/**
|
|
71
82
|
* @public
|
|
83
|
+
* @deprecated
|
|
72
84
|
*/
|
|
73
85
|
export type inferAsyncReturnType<TFunction extends (...args: any) => any> =
|
|
74
86
|
ThenArg<ReturnType<TFunction>>;
|
|
75
87
|
|
|
76
88
|
/**
|
|
77
89
|
* @public
|
|
90
|
+
* @deprecated
|
|
78
91
|
*/
|
|
79
92
|
export type inferProcedureOutput<
|
|
80
93
|
TProcedure extends Procedure<any, any, any, any, any, any, any>,
|
|
@@ -83,6 +96,7 @@ export type inferProcedureOutput<
|
|
|
83
96
|
/**
|
|
84
97
|
* @public
|
|
85
98
|
* @beta
|
|
99
|
+
* @deprecated
|
|
86
100
|
*/
|
|
87
101
|
export type inferSubscriptionOutput<
|
|
88
102
|
TRouter extends AnyRouter,
|
|
@@ -101,6 +115,7 @@ function getDataTransformer(
|
|
|
101
115
|
}
|
|
102
116
|
/**
|
|
103
117
|
* @internal
|
|
118
|
+
* @deprecated
|
|
104
119
|
*/
|
|
105
120
|
export type inferHandlerInput<
|
|
106
121
|
TProcedure extends Procedure<any, any, any, any, any, any, any>,
|
|
@@ -122,6 +137,7 @@ type inferHandlerFn<TProcedures extends ProcedureRecord> = <
|
|
|
122
137
|
|
|
123
138
|
/**
|
|
124
139
|
* @internal
|
|
140
|
+
* @deprecated
|
|
125
141
|
*/
|
|
126
142
|
export type inferRouterContext<TRouter extends AnyRouter> = Parameters<
|
|
127
143
|
TRouter['createCaller']
|
|
@@ -144,6 +160,7 @@ export type inferRouterMeta<TRouter extends AnyRouter> = TRouter extends Router<
|
|
|
144
160
|
|
|
145
161
|
/**
|
|
146
162
|
* @public
|
|
163
|
+
* @deprecated
|
|
147
164
|
*/
|
|
148
165
|
export type AnyRouter<TContext = any> = Router<
|
|
149
166
|
any,
|
|
@@ -157,6 +174,7 @@ export type AnyRouter<TContext = any> = Router<
|
|
|
157
174
|
|
|
158
175
|
/**
|
|
159
176
|
* @internal
|
|
177
|
+
* @deprecated
|
|
160
178
|
*/
|
|
161
179
|
export type inferRouterError<TRouter extends AnyRouter> = ReturnType<
|
|
162
180
|
TRouter['getErrorShape']
|
|
@@ -172,6 +190,7 @@ const PROCEDURE_DEFINITION_MAP: Record<
|
|
|
172
190
|
|
|
173
191
|
/**
|
|
174
192
|
* @internal
|
|
193
|
+
* @deprecated
|
|
175
194
|
*/
|
|
176
195
|
export type ErrorFormatter<TContext, TShape extends TRPCErrorShape<number>> = ({
|
|
177
196
|
error,
|
|
@@ -193,6 +212,7 @@ type DefaultErrorData = {
|
|
|
193
212
|
|
|
194
213
|
/**
|
|
195
214
|
* @internal
|
|
215
|
+
* @deprecated
|
|
196
216
|
*/
|
|
197
217
|
export interface DefaultErrorShape
|
|
198
218
|
extends TRPCErrorShape<TRPC_ERROR_CODE_NUMBER, DefaultErrorData> {
|
|
@@ -217,18 +237,6 @@ function safeObject<TObj1, TObj2>(obj1: TObj1, obj2: TObj2): TObj1 & TObj2;
|
|
|
217
237
|
function safeObject(...args: unknown[]) {
|
|
218
238
|
return Object.assign(Object.create(null), ...args);
|
|
219
239
|
}
|
|
220
|
-
const defaultFormatter: ErrorFormatter<any, any> = ({
|
|
221
|
-
shape,
|
|
222
|
-
}: {
|
|
223
|
-
shape: DefaultErrorShape;
|
|
224
|
-
}) => {
|
|
225
|
-
return shape;
|
|
226
|
-
};
|
|
227
|
-
const defaultTransformer: CombinedDataTransformer = {
|
|
228
|
-
input: { serialize: (obj) => obj, deserialize: (obj) => obj },
|
|
229
|
-
output: { serialize: (obj) => obj, deserialize: (obj) => obj },
|
|
230
|
-
};
|
|
231
|
-
|
|
232
240
|
type SwapProcedureContext<
|
|
233
241
|
TProcedure extends Procedure<any, any, any, any, any, any, any>,
|
|
234
242
|
TNewContext,
|
|
@@ -262,6 +270,7 @@ type SwapContext<
|
|
|
262
270
|
|
|
263
271
|
/**
|
|
264
272
|
* @internal The type signature of this class may change without warning.
|
|
273
|
+
* @deprecated
|
|
265
274
|
*/
|
|
266
275
|
export class Router<
|
|
267
276
|
TInputContext,
|
|
@@ -852,8 +861,26 @@ export class Router<
|
|
|
852
861
|
> {
|
|
853
862
|
return this as any;
|
|
854
863
|
}
|
|
864
|
+
|
|
865
|
+
/**
|
|
866
|
+
* Interop mode for v9.x -> v10.x
|
|
867
|
+
*/
|
|
868
|
+
public interop(): MigrateRouter<
|
|
869
|
+
TInputContext,
|
|
870
|
+
TContext,
|
|
871
|
+
TMeta,
|
|
872
|
+
TQueries,
|
|
873
|
+
TMutations,
|
|
874
|
+
TSubscriptions,
|
|
875
|
+
TErrorShape
|
|
876
|
+
> {
|
|
877
|
+
return migrateRouter(this);
|
|
878
|
+
}
|
|
855
879
|
}
|
|
856
880
|
|
|
881
|
+
/**
|
|
882
|
+
* @deprecated
|
|
883
|
+
*/
|
|
857
884
|
export function router<TContext, TMeta extends Record<string, any> = {}>() {
|
|
858
885
|
return new Router<TContext, TContext, TMeta, {}, {}, {}, DefaultErrorShape>();
|
|
859
886
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { getMessageFromUnkownError } from '
|
|
2
|
-
import { TRPC_ERROR_CODE_KEY } from '
|
|
1
|
+
import { getMessageFromUnkownError } from '../error/utils';
|
|
2
|
+
import { TRPC_ERROR_CODE_KEY } from '../rpc/codes';
|
|
3
3
|
|
|
4
4
|
export class TRPCError extends Error {
|
|
5
|
-
public readonly cause
|
|
5
|
+
public readonly cause?;
|
|
6
6
|
public readonly code;
|
|
7
7
|
|
|
8
8
|
constructor(opts: {
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ProcedureType } from '../core';
|
|
2
|
+
import {
|
|
3
|
+
TRPCErrorShape,
|
|
4
|
+
TRPC_ERROR_CODE_KEY,
|
|
5
|
+
TRPC_ERROR_CODE_NUMBER,
|
|
6
|
+
} from '../rpc';
|
|
7
|
+
import { TRPCError } from './TRPCError';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export type ErrorFormatter<TContext, TShape extends TRPCErrorShape<number>> = ({
|
|
13
|
+
error,
|
|
14
|
+
}: {
|
|
15
|
+
error: TRPCError;
|
|
16
|
+
type: ProcedureType | 'unknown';
|
|
17
|
+
path: string | undefined;
|
|
18
|
+
input: unknown;
|
|
19
|
+
ctx: undefined | TContext;
|
|
20
|
+
shape: DefaultErrorShape;
|
|
21
|
+
}) => TShape;
|
|
22
|
+
|
|
23
|
+
export type ErrorFormatterShape<T> = T extends ErrorFormatter<any, infer TShape>
|
|
24
|
+
? TShape
|
|
25
|
+
: DefaultErrorShape;
|
|
26
|
+
/**
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export type DefaultErrorData = {
|
|
30
|
+
code: TRPC_ERROR_CODE_KEY;
|
|
31
|
+
httpStatus: number;
|
|
32
|
+
path?: string;
|
|
33
|
+
stack?: string;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
export interface DefaultErrorShape
|
|
40
|
+
extends TRPCErrorShape<TRPC_ERROR_CODE_NUMBER, DefaultErrorData> {
|
|
41
|
+
message: string;
|
|
42
|
+
code: TRPC_ERROR_CODE_NUMBER;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export const defaultFormatter: ErrorFormatter<any, any> = ({
|
|
46
|
+
shape,
|
|
47
|
+
}: {
|
|
48
|
+
shape: DefaultErrorShape;
|
|
49
|
+
}) => {
|
|
50
|
+
return shape;
|
|
51
|
+
};
|
package/src/http/index.ts
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
AnyRouter,
|
|
5
|
-
ProcedureType,
|
|
6
|
-
inferRouterContext,
|
|
7
|
-
inferRouterError,
|
|
8
|
-
} from '../../router';
|
|
1
|
+
import { AnyRouter, ProcedureType, inferRouterParams } from '../../core';
|
|
2
|
+
import { TRPCError } from '../../error/TRPCError';
|
|
3
|
+
import { BaseHandlerOptions } from '../../internals/types';
|
|
9
4
|
import { TRPCResponse } from '../../rpc';
|
|
10
5
|
import { Dict } from '../../types';
|
|
11
|
-
import { ResponseMeta } from '../
|
|
6
|
+
import { ResponseMeta } from '../types';
|
|
12
7
|
|
|
13
8
|
export type HTTPHeaders = Dict<string | string[]>;
|
|
14
9
|
|
|
@@ -25,9 +20,12 @@ export interface HTTPRequest {
|
|
|
25
20
|
body: unknown;
|
|
26
21
|
}
|
|
27
22
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
/**
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export type ResponseMetaFn<TRouter extends AnyRouter> = (opts: {
|
|
27
|
+
data: TRPCResponse<unknown, inferRouterParams<TRouter>['_error']>[];
|
|
28
|
+
ctx?: inferRouterParams<TRouter>['_ctx'];
|
|
31
29
|
/**
|
|
32
30
|
* The different tRPC paths requested
|
|
33
31
|
**/
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
|
-
import { TRPCError } from '../TRPCError';
|
|
3
|
-
import { callProcedure } from '../internals/callProcedure';
|
|
4
|
-
import { getCauseFromUnknown, getErrorFromUnknown } from '../internals/errors';
|
|
5
|
-
import { transformTRPCResponse } from '../internals/transformTRPCResponse';
|
|
6
2
|
import {
|
|
7
3
|
AnyRouter,
|
|
8
4
|
ProcedureType,
|
|
9
5
|
inferRouterContext,
|
|
10
6
|
inferRouterError,
|
|
11
|
-
} from '../
|
|
7
|
+
} from '../core';
|
|
8
|
+
import { TRPCError } from '../error/TRPCError';
|
|
9
|
+
import { getCauseFromUnknown, getErrorFromUnknown } from '../error/utils';
|
|
10
|
+
import { transformTRPCResponse } from '../internals/transformTRPCResponse';
|
|
12
11
|
import { TRPCResponse } from '../rpc';
|
|
13
12
|
import { Maybe } from '../types';
|
|
14
13
|
import { getHTTPStatusCode } from './internals/getHTTPStatusCode';
|
|
@@ -170,14 +169,10 @@ export async function resolveHTTPResponse<
|
|
|
170
169
|
const rawResults = await Promise.all(
|
|
171
170
|
paths.map(async (path, index) => {
|
|
172
171
|
const input = inputs[index];
|
|
172
|
+
|
|
173
173
|
try {
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
router,
|
|
177
|
-
path,
|
|
178
|
-
input,
|
|
179
|
-
type,
|
|
180
|
-
});
|
|
174
|
+
const caller = router.createCaller(ctx);
|
|
175
|
+
const output = await caller[type](path, input as any);
|
|
181
176
|
return {
|
|
182
177
|
input,
|
|
183
178
|
path,
|
|
File without changes
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './assertNotBrowser';
|
|
2
2
|
export * from './http';
|
|
3
3
|
export * from './transformer';
|
|
4
|
-
export * from './TRPCError';
|
|
4
|
+
export * from './error/TRPCError';
|
|
5
5
|
export * from './types';
|
|
6
|
-
export
|
|
6
|
+
export { router } from './deprecated/router';
|
|
7
|
+
export * from './core';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { inferRouterParams } from '../core';
|
|
2
|
+
import { ProcedureType } from '../core';
|
|
3
|
+
import { AnyRouter } from '../core/router';
|
|
4
|
+
import { TRPCError } from '../error/TRPCError';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Base interface for any response handler
|
|
8
|
+
*/
|
|
9
|
+
export interface BaseHandlerOptions<TRouter extends AnyRouter, TRequest> {
|
|
10
|
+
onError?: OnErrorFunction<TRouter, TRequest>;
|
|
11
|
+
batching?: {
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
};
|
|
14
|
+
router: TRouter;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export type OnErrorFunction<TRouter extends AnyRouter, TRequest> = (opts: {
|
|
18
|
+
error: TRPCError;
|
|
19
|
+
type: ProcedureType | 'unknown';
|
|
20
|
+
path: string | undefined;
|
|
21
|
+
req: TRequest;
|
|
22
|
+
input: unknown;
|
|
23
|
+
ctx: undefined | inferRouterParams<TRouter>['_ctx'];
|
|
24
|
+
}) => void;
|
package/src/rpc/codes.ts
CHANGED
package/src/rpc/envelopes.ts
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*/
|
|
4
|
+
type KeyFromValue<V, T extends Record<PropertyKey, PropertyKey>> = {
|
|
5
|
+
[K in keyof T]: V extends T[K] ? K : never;
|
|
6
|
+
}[keyof T];
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
type Invert<T extends Record<PropertyKey, PropertyKey>> = {
|
|
12
|
+
[V in T[keyof T]]: KeyFromValue<V, T>;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export function invert<T extends Record<PropertyKey, PropertyKey>>(
|
|
19
|
+
obj: T,
|
|
20
|
+
): Invert<T> {
|
|
21
|
+
const newObj = Object.create(null) as any;
|
|
22
|
+
for (const key in obj) {
|
|
23
|
+
const v = obj[key];
|
|
24
|
+
newObj[v] = key;
|
|
25
|
+
}
|
|
26
|
+
return newObj;
|
|
27
|
+
}
|
package/src/subscription.ts
CHANGED
package/src/transformer.ts
CHANGED
|
@@ -35,3 +35,31 @@ export type DataTransformerOptions = DataTransformer | CombinedDataTransformer;
|
|
|
35
35
|
export type ClientDataTransformerOptions =
|
|
36
36
|
| DataTransformer
|
|
37
37
|
| CombinedDataTransformerClient;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
export function getDataTransformer(
|
|
43
|
+
transformer: DataTransformerOptions,
|
|
44
|
+
): CombinedDataTransformer {
|
|
45
|
+
if ('input' in transformer) {
|
|
46
|
+
return transformer;
|
|
47
|
+
}
|
|
48
|
+
return { input: transformer, output: transformer };
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
export type DefaultDataTransformer = CombinedDataTransformer & {
|
|
55
|
+
_default: true;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
export const defaultTransformer: DefaultDataTransformer = {
|
|
62
|
+
_default: true,
|
|
63
|
+
input: { serialize: (obj) => obj, deserialize: (obj) => obj },
|
|
64
|
+
output: { serialize: (obj) => obj, deserialize: (obj) => obj },
|
|
65
|
+
};
|
package/src/types.ts
CHANGED
|
@@ -47,9 +47,21 @@ export type ThenArg<T> = T extends PromiseLike<infer U> ? ThenArg<U> : T;
|
|
|
47
47
|
*/
|
|
48
48
|
export type Dict<T> = Record<string, T | undefined>;
|
|
49
49
|
|
|
50
|
+
/**
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
export type MaybePromise<T> = T | Promise<T>;
|
|
54
|
+
|
|
50
55
|
/**
|
|
51
56
|
* @internal
|
|
57
|
+
*
|
|
52
58
|
* Creates a "lower-priority" type inference.
|
|
53
59
|
* https://github.com/microsoft/TypeScript/issues/14829#issuecomment-322267089
|
|
54
60
|
*/
|
|
55
61
|
export type InferLast<T> = T & { [K in keyof T]: T[K] };
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @public
|
|
65
|
+
*/
|
|
66
|
+
export type inferAsyncReturnType<TFunction extends (...args: any) => any> =
|
|
67
|
+
ThenArg<ReturnType<TFunction>>;
|
package/dist/TRPCError.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TRPCError.d.ts","sourceRoot":"","sources":["../src/TRPCError.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1C,SAAgB,IAAI,iOAAC;gBAET,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,CAAC,EAAE,KAAK,CAAC;KACf;CAeF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"responseMeta.d.ts","sourceRoot":"","sources":["../../src/http/responseMeta.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { AnyRouter } from '../router';
|
|
2
|
-
import { OnErrorFunction } from './onErrorFunction';
|
|
3
|
-
/**
|
|
4
|
-
* Base interface for any response handler
|
|
5
|
-
*/
|
|
6
|
-
export interface BaseHandlerOptions<TRouter extends AnyRouter, TRequest> {
|
|
7
|
-
onError?: OnErrorFunction<TRouter, TRequest>;
|
|
8
|
-
batching?: {
|
|
9
|
-
enabled: boolean;
|
|
10
|
-
};
|
|
11
|
-
router: TRouter;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=baseHandlerOptions.d.ts.map
|