@trpc/server 9.21.0 → 9.22.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/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +3 -3
- package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +3 -3
- package/adapters/express/dist/trpc-server-adapters-express.esm.js +3 -3
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +3 -3
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +3 -3
- package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +3 -3
- package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +3 -3
- package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +3 -3
- package/adapters/next/dist/trpc-server-adapters-next.esm.js +3 -3
- package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +3 -3
- package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +3 -3
- package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +3 -3
- package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +3 -3
- package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +3 -3
- package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +3 -3
- package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +2 -2
- package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +2 -2
- package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +2 -2
- package/dist/declarations/src/TRPCError.d.ts.map +1 -1
- package/dist/declarations/src/adapters/fastify/fastifyRequestHandler.d.ts +1 -1
- package/dist/declarations/src/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
- package/dist/declarations/src/adapters/fastify/fastifyTRPCPlugin.d.ts +1 -1
- package/dist/declarations/src/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
- package/dist/declarations/src/adapters/next.d.ts.map +1 -1
- package/dist/declarations/src/adapters/node-http/nodeHTTPRequestHandler.d.ts +1 -1
- package/dist/declarations/src/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
- package/dist/declarations/src/adapters/standalone.d.ts.map +1 -1
- package/dist/declarations/src/adapters/ws.d.ts.map +1 -1
- package/dist/declarations/src/deprecated/createHttpServer.d.ts +1 -1
- package/dist/declarations/src/deprecated/createHttpServer.d.ts.map +1 -1
- package/dist/declarations/src/deprecated/requestHandler.d.ts +1 -1
- package/dist/declarations/src/deprecated/requestHandler.d.ts.map +1 -1
- package/dist/declarations/src/http/internals/getHTTPStatusCode.d.ts +1 -1
- package/dist/declarations/src/http/internals/getHTTPStatusCode.d.ts.map +1 -1
- package/dist/declarations/src/http/internals/types.d.ts +1 -1
- package/dist/declarations/src/http/internals/types.d.ts.map +1 -1
- package/dist/declarations/src/http/resolveHTTPResponse.d.ts +2 -2
- package/dist/declarations/src/http/resolveHTTPResponse.d.ts.map +1 -1
- package/dist/declarations/src/internals/BaseHandlerOptions.d.ts +1 -1
- package/dist/declarations/src/internals/BaseHandlerOptions.d.ts.map +1 -1
- package/dist/declarations/src/internals/OnErrorFunction.d.ts +1 -1
- package/dist/declarations/src/internals/OnErrorFunction.d.ts.map +1 -1
- package/dist/declarations/src/internals/middlewares.d.ts +3 -2
- package/dist/declarations/src/internals/middlewares.d.ts.map +1 -1
- package/dist/declarations/src/internals/procedure.d.ts +16 -11
- package/dist/declarations/src/internals/procedure.d.ts.map +1 -1
- package/dist/declarations/src/router.d.ts +33 -29
- package/dist/declarations/src/router.d.ts.map +1 -1
- package/dist/{nodeHTTPRequestHandler-2cc444d8.cjs.dev.js → nodeHTTPRequestHandler-620da2b7.cjs.dev.js} +2 -2
- package/dist/{nodeHTTPRequestHandler-d00c1126.esm.js → nodeHTTPRequestHandler-87105aef.esm.js} +2 -2
- package/dist/{nodeHTTPRequestHandler-8ddacc19.cjs.prod.js → nodeHTTPRequestHandler-9cfa7523.cjs.prod.js} +2 -2
- package/dist/{resolveHTTPResponse-85f3f5df.esm.js → resolveHTTPResponse-12cc3012.esm.js} +1 -1
- package/dist/{resolveHTTPResponse-3867844c.cjs.dev.js → resolveHTTPResponse-780f5cab.cjs.dev.js} +1 -1
- package/dist/{resolveHTTPResponse-562c3d62.cjs.prod.js → resolveHTTPResponse-d1d2695d.cjs.prod.js} +1 -1
- package/dist/{subscription-a81120d6.esm.js → subscription-2ea469a3.esm.js} +1 -1
- package/dist/{subscription-9e007280.cjs.dev.js → subscription-7de48383.cjs.dev.js} +1 -1
- package/dist/{subscription-12fb50be.cjs.prod.js → subscription-f03bec71.cjs.prod.js} +1 -1
- package/dist/{transformTRPCResponse-8248515e.cjs.dev.js → transformTRPCResponse-1e125b28.cjs.prod.js} +38 -38
- package/dist/{transformTRPCResponse-f73dc4a2.esm.js → transformTRPCResponse-45c225c3.esm.js} +38 -38
- package/dist/{transformTRPCResponse-dcbf66c5.cjs.prod.js → transformTRPCResponse-c654ea92.cjs.dev.js} +38 -38
- package/dist/trpc-server.cjs.dev.js +12 -6
- package/dist/trpc-server.cjs.prod.js +12 -6
- package/dist/trpc-server.esm.js +14 -8
- package/package.json +2 -2
- package/src/TRPCError.ts +1 -1
- package/src/adapters/fastify/fastifyRequestHandler.ts +2 -2
- package/src/adapters/fastify/fastifyTRPCPlugin.ts +3 -3
- package/src/adapters/next.ts +1 -1
- package/src/adapters/node-http/internals/getPostBody.test.ts +2 -1
- package/src/adapters/node-http/nodeHTTPRequestHandler.ts +5 -5
- package/src/adapters/standalone.ts +1 -0
- package/src/adapters/ws.ts +2 -2
- package/src/deprecated/createHttpServer.ts +2 -2
- package/src/deprecated/requestHandler.ts +2 -2
- package/src/http/internals/getHTTPStatusCode.ts +1 -1
- package/src/http/internals/types.ts +2 -2
- package/src/http/resolveHTTPResponse.ts +3 -3
- package/src/internals/BaseHandlerOptions.ts +1 -1
- package/src/internals/OnErrorFunction.ts +1 -1
- package/src/internals/middlewares.ts +3 -2
- package/src/internals/procedure.ts +60 -13
- package/src/router.ts +96 -32
- package/ws/dist/trpc-server-ws.cjs.dev.js +2 -2
- package/ws/dist/trpc-server-ws.cjs.prod.js +2 -2
- package/ws/dist/trpc-server-ws.esm.js +2 -2
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var resolveHTTPResponse = require('./resolveHTTPResponse-
|
|
6
|
-
var subscription = require('./subscription-
|
|
7
|
-
var transformTRPCResponse = require('./transformTRPCResponse-
|
|
5
|
+
var resolveHTTPResponse = require('./resolveHTTPResponse-780f5cab.cjs.dev.js');
|
|
6
|
+
var subscription = require('./subscription-7de48383.cjs.dev.js');
|
|
7
|
+
var transformTRPCResponse = require('./transformTRPCResponse-c654ea92.cjs.dev.js');
|
|
8
8
|
var adapters_standalone_dist_trpcServerAdaptersStandalone = require('../adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js');
|
|
9
|
-
var nodeHTTPRequestHandler = require('./nodeHTTPRequestHandler-
|
|
9
|
+
var nodeHTTPRequestHandler = require('./nodeHTTPRequestHandler-620da2b7.cjs.dev.js');
|
|
10
10
|
var codes = require('./codes-33cef953.cjs.dev.js');
|
|
11
11
|
require('events');
|
|
12
12
|
require('http');
|
|
@@ -32,6 +32,7 @@ const createHttpHandler = adapters_standalone_dist_trpcServerAdaptersStandalone.
|
|
|
32
32
|
/**
|
|
33
33
|
* @deprecated use `nodeHTTPRequestHandler` from `@trpc/server/adapters/node-http`
|
|
34
34
|
*/
|
|
35
|
+
|
|
35
36
|
const requestHandler = nodeHTTPRequestHandler.nodeHTTPRequestHandler;
|
|
36
37
|
/**
|
|
37
38
|
* @deprecated use `NodeHTTPCreateContextFn` from `@trpc/server/adapters/node-http`
|
|
@@ -104,12 +105,14 @@ class Procedure {
|
|
|
104
105
|
this.parseInputFn = void 0;
|
|
105
106
|
this.outputParser = void 0;
|
|
106
107
|
this.parseOutputFn = void 0;
|
|
108
|
+
this.meta = void 0;
|
|
107
109
|
this.middlewares = opts.middlewares;
|
|
108
110
|
this.resolver = opts.resolver;
|
|
109
111
|
this.inputParser = opts.inputParser;
|
|
110
112
|
this.parseInputFn = getParseFn(this.inputParser);
|
|
111
113
|
this.outputParser = opts.outputParser;
|
|
112
114
|
this.parseOutputFn = getParseFn(this.outputParser);
|
|
115
|
+
this.meta = opts.meta;
|
|
113
116
|
}
|
|
114
117
|
|
|
115
118
|
async parseInput(rawInput) {
|
|
@@ -166,6 +169,7 @@ class Procedure {
|
|
|
166
169
|
type: opts.type,
|
|
167
170
|
path: opts.path,
|
|
168
171
|
rawInput: opts.rawInput,
|
|
172
|
+
meta: this.meta,
|
|
169
173
|
next: nextFns[index + 1]
|
|
170
174
|
}));
|
|
171
175
|
|
|
@@ -208,7 +212,8 @@ class Procedure {
|
|
|
208
212
|
middlewares: [...middlewares, ...this.middlewares],
|
|
209
213
|
resolver: this.resolver,
|
|
210
214
|
inputParser: this.inputParser,
|
|
211
|
-
outputParser: this.outputParser
|
|
215
|
+
outputParser: this.outputParser,
|
|
216
|
+
meta: this.meta
|
|
212
217
|
});
|
|
213
218
|
return instance;
|
|
214
219
|
}
|
|
@@ -230,7 +235,8 @@ function createProcedure(opts) {
|
|
|
230
235
|
inputParser: inputParser,
|
|
231
236
|
resolver: opts.resolve,
|
|
232
237
|
middlewares: [],
|
|
233
|
-
outputParser: outputParser
|
|
238
|
+
outputParser: outputParser,
|
|
239
|
+
meta: opts.meta
|
|
234
240
|
});
|
|
235
241
|
}
|
|
236
242
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var resolveHTTPResponse = require('./resolveHTTPResponse-
|
|
6
|
-
var subscription = require('./subscription-
|
|
7
|
-
var transformTRPCResponse = require('./transformTRPCResponse-
|
|
5
|
+
var resolveHTTPResponse = require('./resolveHTTPResponse-d1d2695d.cjs.prod.js');
|
|
6
|
+
var subscription = require('./subscription-f03bec71.cjs.prod.js');
|
|
7
|
+
var transformTRPCResponse = require('./transformTRPCResponse-1e125b28.cjs.prod.js');
|
|
8
8
|
var adapters_standalone_dist_trpcServerAdaptersStandalone = require('../adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js');
|
|
9
|
-
var nodeHTTPRequestHandler = require('./nodeHTTPRequestHandler-
|
|
9
|
+
var nodeHTTPRequestHandler = require('./nodeHTTPRequestHandler-9cfa7523.cjs.prod.js');
|
|
10
10
|
var codes = require('./codes-e0df67c4.cjs.prod.js');
|
|
11
11
|
require('events');
|
|
12
12
|
require('http');
|
|
@@ -32,6 +32,7 @@ const createHttpHandler = adapters_standalone_dist_trpcServerAdaptersStandalone.
|
|
|
32
32
|
/**
|
|
33
33
|
* @deprecated use `nodeHTTPRequestHandler` from `@trpc/server/adapters/node-http`
|
|
34
34
|
*/
|
|
35
|
+
|
|
35
36
|
const requestHandler = nodeHTTPRequestHandler.nodeHTTPRequestHandler;
|
|
36
37
|
/**
|
|
37
38
|
* @deprecated use `NodeHTTPCreateContextFn` from `@trpc/server/adapters/node-http`
|
|
@@ -104,12 +105,14 @@ class Procedure {
|
|
|
104
105
|
this.parseInputFn = void 0;
|
|
105
106
|
this.outputParser = void 0;
|
|
106
107
|
this.parseOutputFn = void 0;
|
|
108
|
+
this.meta = void 0;
|
|
107
109
|
this.middlewares = opts.middlewares;
|
|
108
110
|
this.resolver = opts.resolver;
|
|
109
111
|
this.inputParser = opts.inputParser;
|
|
110
112
|
this.parseInputFn = getParseFn(this.inputParser);
|
|
111
113
|
this.outputParser = opts.outputParser;
|
|
112
114
|
this.parseOutputFn = getParseFn(this.outputParser);
|
|
115
|
+
this.meta = opts.meta;
|
|
113
116
|
}
|
|
114
117
|
|
|
115
118
|
async parseInput(rawInput) {
|
|
@@ -166,6 +169,7 @@ class Procedure {
|
|
|
166
169
|
type: opts.type,
|
|
167
170
|
path: opts.path,
|
|
168
171
|
rawInput: opts.rawInput,
|
|
172
|
+
meta: this.meta,
|
|
169
173
|
next: nextFns[index + 1]
|
|
170
174
|
}));
|
|
171
175
|
|
|
@@ -208,7 +212,8 @@ class Procedure {
|
|
|
208
212
|
middlewares: [...middlewares, ...this.middlewares],
|
|
209
213
|
resolver: this.resolver,
|
|
210
214
|
inputParser: this.inputParser,
|
|
211
|
-
outputParser: this.outputParser
|
|
215
|
+
outputParser: this.outputParser,
|
|
216
|
+
meta: this.meta
|
|
212
217
|
});
|
|
213
218
|
return instance;
|
|
214
219
|
}
|
|
@@ -230,7 +235,8 @@ function createProcedure(opts) {
|
|
|
230
235
|
inputParser: inputParser,
|
|
231
236
|
resolver: opts.resolve,
|
|
232
237
|
middlewares: [],
|
|
233
|
-
outputParser: outputParser
|
|
238
|
+
outputParser: outputParser,
|
|
239
|
+
meta: opts.meta
|
|
234
240
|
});
|
|
235
241
|
}
|
|
236
242
|
|
package/dist/trpc-server.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as assertNotBrowser, g as getHTTPStatusCodeFromError } from './resolveHTTPResponse-
|
|
2
|
-
export { a as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-
|
|
3
|
-
export { S as Subscription, s as subscriptionPullFactory } from './subscription-
|
|
4
|
-
import { T as TRPCError, g as getErrorFromUnknown } from './transformTRPCResponse-
|
|
5
|
-
export { T as TRPCError } from './transformTRPCResponse-
|
|
1
|
+
import { a as assertNotBrowser, g as getHTTPStatusCodeFromError } from './resolveHTTPResponse-12cc3012.esm.js';
|
|
2
|
+
export { a as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-12cc3012.esm.js';
|
|
3
|
+
export { S as Subscription, s as subscriptionPullFactory } from './subscription-2ea469a3.esm.js';
|
|
4
|
+
import { T as TRPCError, g as getErrorFromUnknown } from './transformTRPCResponse-45c225c3.esm.js';
|
|
5
|
+
export { T as TRPCError } from './transformTRPCResponse-45c225c3.esm.js';
|
|
6
6
|
import { createHTTPServer, createHTTPHandler } from '../adapters/standalone/dist/trpc-server-adapters-standalone.esm.js';
|
|
7
|
-
import { n as nodeHTTPRequestHandler } from './nodeHTTPRequestHandler-
|
|
7
|
+
import { n as nodeHTTPRequestHandler } from './nodeHTTPRequestHandler-87105aef.esm.js';
|
|
8
8
|
import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-fe07bf82.esm.js';
|
|
9
9
|
import 'events';
|
|
10
10
|
import 'http';
|
|
@@ -30,6 +30,7 @@ const createHttpHandler = createHTTPHandler;
|
|
|
30
30
|
/**
|
|
31
31
|
* @deprecated use `nodeHTTPRequestHandler` from `@trpc/server/adapters/node-http`
|
|
32
32
|
*/
|
|
33
|
+
|
|
33
34
|
const requestHandler = nodeHTTPRequestHandler;
|
|
34
35
|
/**
|
|
35
36
|
* @deprecated use `NodeHTTPCreateContextFn` from `@trpc/server/adapters/node-http`
|
|
@@ -102,12 +103,14 @@ class Procedure {
|
|
|
102
103
|
this.parseInputFn = void 0;
|
|
103
104
|
this.outputParser = void 0;
|
|
104
105
|
this.parseOutputFn = void 0;
|
|
106
|
+
this.meta = void 0;
|
|
105
107
|
this.middlewares = opts.middlewares;
|
|
106
108
|
this.resolver = opts.resolver;
|
|
107
109
|
this.inputParser = opts.inputParser;
|
|
108
110
|
this.parseInputFn = getParseFn(this.inputParser);
|
|
109
111
|
this.outputParser = opts.outputParser;
|
|
110
112
|
this.parseOutputFn = getParseFn(this.outputParser);
|
|
113
|
+
this.meta = opts.meta;
|
|
111
114
|
}
|
|
112
115
|
|
|
113
116
|
async parseInput(rawInput) {
|
|
@@ -164,6 +167,7 @@ class Procedure {
|
|
|
164
167
|
type: opts.type,
|
|
165
168
|
path: opts.path,
|
|
166
169
|
rawInput: opts.rawInput,
|
|
170
|
+
meta: this.meta,
|
|
167
171
|
next: nextFns[index + 1]
|
|
168
172
|
}));
|
|
169
173
|
|
|
@@ -206,7 +210,8 @@ class Procedure {
|
|
|
206
210
|
middlewares: [...middlewares, ...this.middlewares],
|
|
207
211
|
resolver: this.resolver,
|
|
208
212
|
inputParser: this.inputParser,
|
|
209
|
-
outputParser: this.outputParser
|
|
213
|
+
outputParser: this.outputParser,
|
|
214
|
+
meta: this.meta
|
|
210
215
|
});
|
|
211
216
|
return instance;
|
|
212
217
|
}
|
|
@@ -228,7 +233,8 @@ function createProcedure(opts) {
|
|
|
228
233
|
inputParser: inputParser,
|
|
229
234
|
resolver: opts.resolve,
|
|
230
235
|
middlewares: [],
|
|
231
|
-
outputParser: outputParser
|
|
236
|
+
outputParser: outputParser,
|
|
237
|
+
meta: opts.meta
|
|
232
238
|
});
|
|
233
239
|
}
|
|
234
240
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/server",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.22.0",
|
|
4
4
|
"description": "tRPC Server",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"yup": "^0.32.8",
|
|
71
71
|
"zod": "^3.0.0"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "471a69c2d6997b8d5dfa1887fd62b24ada31a4d3"
|
|
74
74
|
}
|
package/src/TRPCError.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { FastifyReply, FastifyRequest } from 'fastify';
|
|
2
|
+
import { URLSearchParams } from 'url';
|
|
1
3
|
import { assertNotBrowser } from '../../assertNotBrowser';
|
|
2
4
|
import {
|
|
3
5
|
HTTPBaseHandlerOptions,
|
|
@@ -6,8 +8,6 @@ import {
|
|
|
6
8
|
import { resolveHTTPResponse } from '../../http/resolveHTTPResponse';
|
|
7
9
|
import { AnyRouter, inferRouterContext } from '../../router';
|
|
8
10
|
import { NodeHTTPCreateContextOption } from '../node-http';
|
|
9
|
-
import { FastifyReply, FastifyRequest } from 'fastify';
|
|
10
|
-
import { URLSearchParams } from 'url';
|
|
11
11
|
|
|
12
12
|
assertNotBrowser();
|
|
13
13
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="fastify-websocket" />
|
|
2
2
|
import { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify';
|
|
3
|
-
import { fastifyRequestHandler } from './fastifyRequestHandler';
|
|
4
|
-
import { NodeHTTPCreateContextFnOptions } from '../node-http';
|
|
5
|
-
import { applyWSSHandler, WSSHandlerOptions } from '../ws';
|
|
6
3
|
import { FastifyHandlerOptions } from '.';
|
|
7
4
|
import { AnyRouter } from '../..';
|
|
5
|
+
import { NodeHTTPCreateContextFnOptions } from '../node-http';
|
|
6
|
+
import { WSSHandlerOptions, applyWSSHandler } from '../ws';
|
|
7
|
+
import { fastifyRequestHandler } from './fastifyRequestHandler';
|
|
8
8
|
|
|
9
9
|
export interface FastifyTRPCPluginOptions<TRouter extends AnyRouter> {
|
|
10
10
|
prefix?: string;
|
package/src/adapters/next.ts
CHANGED
|
@@ -5,9 +5,9 @@ import type {
|
|
|
5
5
|
NextApiRequest,
|
|
6
6
|
NextApiResponse,
|
|
7
7
|
} from 'next/types';
|
|
8
|
+
import { TRPCError } from '../TRPCError';
|
|
8
9
|
import { AnyRouter } from '../router';
|
|
9
10
|
import { TRPCErrorResponse } from '../rpc';
|
|
10
|
-
import { TRPCError } from '../TRPCError';
|
|
11
11
|
import { nodeHTTPRequestHandler } from './node-http';
|
|
12
12
|
import {
|
|
13
13
|
NodeHTTPCreateContextFnOptions,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
2
|
import { URLSearchParams } from 'url';
|
|
3
3
|
import { assertNotBrowser } from '../../assertNotBrowser';
|
|
4
|
+
import { HTTPRequest } from '../../http/internals/types';
|
|
5
|
+
import { resolveHTTPResponse } from '../../http/resolveHTTPResponse';
|
|
6
|
+
import { AnyRouter, inferRouterContext } from '../../router';
|
|
7
|
+
import { getPostBody } from './internals/getPostBody';
|
|
4
8
|
import {
|
|
9
|
+
NodeHTTPHandlerOptions,
|
|
5
10
|
NodeHTTPRequest,
|
|
6
11
|
NodeHTTPResponse,
|
|
7
|
-
NodeHTTPHandlerOptions,
|
|
8
12
|
} from './types';
|
|
9
|
-
import { AnyRouter, inferRouterContext } from '../../router';
|
|
10
|
-
import { getPostBody } from './internals/getPostBody';
|
|
11
|
-
import { HTTPRequest } from '../../http/internals/types';
|
|
12
|
-
import { resolveHTTPResponse } from '../../http/resolveHTTPResponse';
|
|
13
13
|
|
|
14
14
|
assertNotBrowser();
|
|
15
15
|
|
package/src/adapters/ws.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import http from 'http';
|
|
2
2
|
import ws from 'ws';
|
|
3
|
+
import { TRPCError } from '../TRPCError';
|
|
3
4
|
import { BaseHandlerOptions } from '../internals/BaseHandlerOptions';
|
|
4
5
|
import { callProcedure } from '../internals/callProcedure';
|
|
5
6
|
import { getErrorFromUnknown } from '../internals/errors';
|
|
6
7
|
import { transformTRPCResponse } from '../internals/transformTRPCResponse';
|
|
7
|
-
import { AnyRouter,
|
|
8
|
+
import { AnyRouter, ProcedureType, inferRouterContext } from '../router';
|
|
8
9
|
import {
|
|
9
10
|
TRPCErrorResponse,
|
|
10
11
|
TRPCReconnectNotification,
|
|
@@ -13,7 +14,6 @@ import {
|
|
|
13
14
|
} from '../rpc';
|
|
14
15
|
import { Subscription } from '../subscription';
|
|
15
16
|
import { CombinedDataTransformer } from '../transformer';
|
|
16
|
-
import { TRPCError } from '../TRPCError';
|
|
17
17
|
import { NodeHTTPCreateContextOption } from './node-http';
|
|
18
18
|
|
|
19
19
|
/* istanbul ignore next */
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// this has been moved to separate package
|
|
2
2
|
import {
|
|
3
|
-
|
|
3
|
+
CreateHTTPContextOptions,
|
|
4
4
|
CreateHTTPHandlerOptions,
|
|
5
|
+
createHTTPHandler,
|
|
5
6
|
createHTTPServer,
|
|
6
|
-
CreateHTTPContextOptions,
|
|
7
7
|
} from '../adapters/standalone';
|
|
8
8
|
import { AnyRouter } from '../router';
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import type { AnyRouter } from '../';
|
|
1
2
|
import {
|
|
2
|
-
nodeHTTPRequestHandler as requestHandlerInner,
|
|
3
3
|
NodeHTTPCreateContextFn,
|
|
4
4
|
NodeHTTPCreateContextFnOptions,
|
|
5
|
+
nodeHTTPRequestHandler as requestHandlerInner,
|
|
5
6
|
} from '../adapters/node-http';
|
|
6
|
-
import type { AnyRouter } from '../';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @deprecated use `nodeHTTPRequestHandler` from `@trpc/server/adapters/node-http`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TRPCResponse, TRPC_ERROR_CODES_BY_KEY } from '../../rpc';
|
|
2
1
|
import { TRPCError } from '../../TRPCError';
|
|
3
2
|
import { invert } from '../../internals/invert';
|
|
3
|
+
import { TRPCResponse, TRPC_ERROR_CODES_BY_KEY } from '../../rpc';
|
|
4
4
|
|
|
5
5
|
export const TRPC_ERROR_CODES_BY_NUMBER = invert(TRPC_ERROR_CODES_BY_KEY);
|
|
6
6
|
type ValueOf<T> = T[keyof T];
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AnyRouter,
|
|
3
3
|
Dict,
|
|
4
|
-
inferRouterContext,
|
|
5
|
-
inferRouterError,
|
|
6
4
|
ProcedureType,
|
|
7
5
|
ResponseMeta,
|
|
8
6
|
TRPCError,
|
|
7
|
+
inferRouterContext,
|
|
8
|
+
inferRouterError,
|
|
9
9
|
} from '@trpc/server';
|
|
10
10
|
import { URLSearchParams } from 'url';
|
|
11
11
|
import { BaseHandlerOptions } from '../../internals/BaseHandlerOptions';
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
2
|
import { Maybe } from '@trpc/server';
|
|
3
|
+
import { TRPCError } from '../TRPCError';
|
|
3
4
|
import { callProcedure } from '../internals/callProcedure';
|
|
4
5
|
import { getErrorFromUnknown } from '../internals/errors';
|
|
5
6
|
import { transformTRPCResponse } from '../internals/transformTRPCResponse';
|
|
6
7
|
import {
|
|
7
8
|
AnyRouter,
|
|
9
|
+
ProcedureType,
|
|
8
10
|
inferRouterContext,
|
|
9
11
|
inferRouterError,
|
|
10
|
-
ProcedureType,
|
|
11
12
|
} from '../router';
|
|
12
13
|
import { TRPCErrorResponse, TRPCResponse, TRPCResultResponse } from '../rpc';
|
|
13
|
-
import { TRPCError } from '../TRPCError';
|
|
14
14
|
import { getHTTPStatusCode } from './internals/getHTTPStatusCode';
|
|
15
15
|
import {
|
|
16
|
+
HTTPBaseHandlerOptions,
|
|
16
17
|
HTTPHeaders,
|
|
17
18
|
HTTPRequest,
|
|
18
19
|
HTTPResponse,
|
|
19
|
-
HTTPBaseHandlerOptions,
|
|
20
20
|
} from './internals/types';
|
|
21
21
|
|
|
22
22
|
const HTTP_METHOD_PROCEDURE_TYPE_MAP: Record<
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AnyRouter, inferRouterContext, ProcedureType } from '../router';
|
|
2
1
|
import { TRPCError } from '../TRPCError';
|
|
2
|
+
import { AnyRouter, ProcedureType, inferRouterContext } from '../router';
|
|
3
3
|
|
|
4
4
|
export type OnErrorFunction<TRouter extends AnyRouter, TRequest> = (opts: {
|
|
5
5
|
error: TRPCError;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ProcedureType } from '../router';
|
|
2
1
|
import { TRPCError } from '../TRPCError';
|
|
2
|
+
import { ProcedureType } from '../router';
|
|
3
3
|
|
|
4
4
|
export const middlewareMarker = Symbol('middlewareMarker');
|
|
5
5
|
interface MiddlewareResultBase<TContext> {
|
|
@@ -27,11 +27,12 @@ export type MiddlewareResult<TContext> =
|
|
|
27
27
|
| MiddlewareOKResult<TContext>
|
|
28
28
|
| MiddlewareErrorResult<TContext>;
|
|
29
29
|
|
|
30
|
-
export type MiddlewareFunction<TInputContext, TContext> = (opts: {
|
|
30
|
+
export type MiddlewareFunction<TInputContext, TContext, TMeta> = (opts: {
|
|
31
31
|
ctx: TInputContext;
|
|
32
32
|
type: ProcedureType;
|
|
33
33
|
path: string;
|
|
34
34
|
rawInput: unknown;
|
|
35
|
+
meta?: TMeta;
|
|
35
36
|
next: {
|
|
36
37
|
(): Promise<MiddlewareResult<TInputContext>>;
|
|
37
38
|
<T>(opts: { ctx: T }): Promise<MiddlewareResult<T>>;
|
|
@@ -44,11 +44,12 @@ export type ProcedureResolver<TContext, TInput, TOutput> = (opts: {
|
|
|
44
44
|
type: ProcedureType;
|
|
45
45
|
}) => Promise<TOutput> | TOutput;
|
|
46
46
|
|
|
47
|
-
interface ProcedureOptions<TContext, TInput, TOutput, TParsedOutput> {
|
|
48
|
-
middlewares: Array<MiddlewareFunction<any, any>>;
|
|
47
|
+
interface ProcedureOptions<TContext, TMeta, TInput, TOutput, TParsedOutput> {
|
|
48
|
+
middlewares: Array<MiddlewareFunction<any, any, any>>;
|
|
49
49
|
resolver: ProcedureResolver<TContext, TInput, TOutput>;
|
|
50
50
|
inputParser: ProcedureParser<TInput>;
|
|
51
51
|
outputParser: ProcedureParser<TParsedOutput>;
|
|
52
|
+
meta: TMeta;
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
/**
|
|
@@ -100,21 +101,29 @@ function getParseFn<T>(procedureParser: ProcedureParser<T>): ParseFn<T> {
|
|
|
100
101
|
export class Procedure<
|
|
101
102
|
TInputContext,
|
|
102
103
|
TContext,
|
|
104
|
+
TMeta,
|
|
103
105
|
TInput,
|
|
104
106
|
TParsedInput,
|
|
105
107
|
TOutput,
|
|
106
108
|
TParsedOutput,
|
|
107
109
|
TFinalOutput = unknown extends TParsedOutput ? TOutput : TParsedOutput,
|
|
108
110
|
> {
|
|
109
|
-
private middlewares: Readonly<Array<MiddlewareFunction<any, any>>>;
|
|
111
|
+
private middlewares: Readonly<Array<MiddlewareFunction<any, any, any>>>;
|
|
110
112
|
private resolver: ProcedureResolver<TContext, TParsedInput, TOutput>;
|
|
111
113
|
private readonly inputParser: ProcedureParser<TParsedInput>;
|
|
112
114
|
private parseInputFn: ParseFn<TParsedInput>;
|
|
113
115
|
private readonly outputParser: ProcedureParser<TFinalOutput>;
|
|
114
116
|
private parseOutputFn: ParseFn<TFinalOutput>;
|
|
117
|
+
public readonly meta: TMeta;
|
|
115
118
|
|
|
116
119
|
constructor(
|
|
117
|
-
opts: ProcedureOptions<
|
|
120
|
+
opts: ProcedureOptions<
|
|
121
|
+
TContext,
|
|
122
|
+
TMeta,
|
|
123
|
+
TParsedInput,
|
|
124
|
+
TOutput,
|
|
125
|
+
TFinalOutput
|
|
126
|
+
>,
|
|
118
127
|
) {
|
|
119
128
|
this.middlewares = opts.middlewares;
|
|
120
129
|
this.resolver = opts.resolver;
|
|
@@ -122,6 +131,7 @@ export class Procedure<
|
|
|
122
131
|
this.parseInputFn = getParseFn(this.inputParser);
|
|
123
132
|
this.outputParser = opts.outputParser;
|
|
124
133
|
this.parseOutputFn = getParseFn(this.outputParser);
|
|
134
|
+
this.meta = opts.meta;
|
|
125
135
|
}
|
|
126
136
|
|
|
127
137
|
private async parseInput(rawInput: unknown): Promise<TParsedInput> {
|
|
@@ -158,7 +168,11 @@ export class Procedure<
|
|
|
158
168
|
const middlewaresWithResolver = this.middlewares.concat([
|
|
159
169
|
async ({ ctx }: { ctx: TContext }) => {
|
|
160
170
|
const input = await this.parseInput(opts.rawInput);
|
|
161
|
-
const rawOutput = await this.resolver({
|
|
171
|
+
const rawOutput = await this.resolver({
|
|
172
|
+
...opts,
|
|
173
|
+
ctx,
|
|
174
|
+
input,
|
|
175
|
+
});
|
|
162
176
|
const data = await this.parseOutput(rawOutput);
|
|
163
177
|
return {
|
|
164
178
|
marker: middlewareMarker,
|
|
@@ -178,6 +192,7 @@ export class Procedure<
|
|
|
178
192
|
type: opts.type,
|
|
179
193
|
path: opts.path,
|
|
180
194
|
rawInput: opts.rawInput,
|
|
195
|
+
meta: this.meta,
|
|
181
196
|
next: nextFns[index + 1],
|
|
182
197
|
}),
|
|
183
198
|
);
|
|
@@ -213,14 +228,21 @@ export class Procedure<
|
|
|
213
228
|
* @param middlewares
|
|
214
229
|
*/
|
|
215
230
|
public inheritMiddlewares(
|
|
216
|
-
middlewares: MiddlewareFunction<TInputContext, TContext>[],
|
|
231
|
+
middlewares: MiddlewareFunction<TInputContext, TContext, TMeta>[],
|
|
217
232
|
): this {
|
|
218
233
|
const Constructor: {
|
|
219
234
|
new (
|
|
220
|
-
opts: ProcedureOptions<
|
|
235
|
+
opts: ProcedureOptions<
|
|
236
|
+
TContext,
|
|
237
|
+
TMeta,
|
|
238
|
+
TParsedInput,
|
|
239
|
+
TOutput,
|
|
240
|
+
TFinalOutput
|
|
241
|
+
>,
|
|
221
242
|
): Procedure<
|
|
222
243
|
TInputContext,
|
|
223
244
|
TContext,
|
|
245
|
+
TMeta,
|
|
224
246
|
TInput,
|
|
225
247
|
TParsedInput,
|
|
226
248
|
TOutput,
|
|
@@ -233,20 +255,23 @@ export class Procedure<
|
|
|
233
255
|
resolver: this.resolver,
|
|
234
256
|
inputParser: this.inputParser,
|
|
235
257
|
outputParser: this.outputParser,
|
|
258
|
+
meta: this.meta,
|
|
236
259
|
});
|
|
237
260
|
|
|
238
261
|
return instance as any;
|
|
239
262
|
}
|
|
240
263
|
}
|
|
241
264
|
|
|
242
|
-
export type CreateProcedureWithInput<TContext, TInput, TOutput> = {
|
|
265
|
+
export type CreateProcedureWithInput<TContext, TMeta, TInput, TOutput> = {
|
|
243
266
|
input: ProcedureParser<TInput>;
|
|
244
267
|
output?: ProcedureParser<TOutput>;
|
|
268
|
+
meta?: TMeta;
|
|
245
269
|
resolve: ProcedureResolver<TContext, TInput, TOutput>;
|
|
246
270
|
};
|
|
247
271
|
|
|
248
272
|
export type CreateProcedureWithInputOutputParser<
|
|
249
273
|
TContext,
|
|
274
|
+
TMeta,
|
|
250
275
|
TInput,
|
|
251
276
|
TParsedInput,
|
|
252
277
|
TOutput,
|
|
@@ -254,18 +279,26 @@ export type CreateProcedureWithInputOutputParser<
|
|
|
254
279
|
> = {
|
|
255
280
|
input: ProcedureParserWithInputOutput<TInput, TParsedInput>;
|
|
256
281
|
output?: ProcedureParserWithInputOutput<TOutput, TParsedOutput>;
|
|
282
|
+
meta?: TMeta;
|
|
257
283
|
resolve: ProcedureResolver<TContext, TParsedInput, TOutput>;
|
|
258
284
|
};
|
|
259
285
|
|
|
260
|
-
export type CreateProcedureWithoutInput<
|
|
286
|
+
export type CreateProcedureWithoutInput<
|
|
287
|
+
TContext,
|
|
288
|
+
TMeta,
|
|
289
|
+
TOutput,
|
|
290
|
+
TParsedOutput,
|
|
291
|
+
> = {
|
|
261
292
|
output?:
|
|
262
293
|
| ProcedureParserWithInputOutput<TOutput, TParsedOutput>
|
|
263
294
|
| ProcedureParser<TOutput>;
|
|
295
|
+
meta?: TMeta;
|
|
264
296
|
resolve: ProcedureResolver<TContext, undefined, TOutput>;
|
|
265
297
|
};
|
|
266
298
|
|
|
267
299
|
export type CreateProcedureOptions<
|
|
268
300
|
TContext,
|
|
301
|
+
TMeta = undefined,
|
|
269
302
|
TInput = undefined,
|
|
270
303
|
TParsedInput = undefined,
|
|
271
304
|
TOutput = undefined,
|
|
@@ -273,16 +306,18 @@ export type CreateProcedureOptions<
|
|
|
273
306
|
> =
|
|
274
307
|
| CreateProcedureWithInputOutputParser<
|
|
275
308
|
TContext,
|
|
309
|
+
TMeta,
|
|
276
310
|
TInput,
|
|
277
311
|
TParsedInput,
|
|
278
312
|
TOutput,
|
|
279
313
|
TParsedOutput
|
|
280
314
|
>
|
|
281
|
-
| CreateProcedureWithInput<TContext, TInput, TOutput>
|
|
282
|
-
| CreateProcedureWithoutInput<TContext, TOutput, TParsedOutput>;
|
|
315
|
+
| CreateProcedureWithInput<TContext, TMeta, TInput, TOutput>
|
|
316
|
+
| CreateProcedureWithoutInput<TContext, TMeta, TOutput, TParsedOutput>;
|
|
283
317
|
|
|
284
318
|
export function createProcedure<
|
|
285
319
|
TContext,
|
|
320
|
+
TMeta,
|
|
286
321
|
TInput,
|
|
287
322
|
TParsedInput,
|
|
288
323
|
TOutput,
|
|
@@ -290,12 +325,21 @@ export function createProcedure<
|
|
|
290
325
|
>(
|
|
291
326
|
opts: CreateProcedureOptions<
|
|
292
327
|
TContext,
|
|
328
|
+
TMeta,
|
|
293
329
|
TInput,
|
|
294
330
|
TParsedInput,
|
|
295
331
|
TOutput,
|
|
296
332
|
TParsedOutput
|
|
297
333
|
>,
|
|
298
|
-
): Procedure<
|
|
334
|
+
): Procedure<
|
|
335
|
+
unknown,
|
|
336
|
+
TContext,
|
|
337
|
+
TMeta,
|
|
338
|
+
TInput,
|
|
339
|
+
TParsedInput,
|
|
340
|
+
TOutput,
|
|
341
|
+
TParsedOutput
|
|
342
|
+
> {
|
|
299
343
|
const inputParser =
|
|
300
344
|
'input' in opts
|
|
301
345
|
? opts.input
|
|
@@ -319,14 +363,16 @@ export function createProcedure<
|
|
|
319
363
|
resolver: opts.resolve as any,
|
|
320
364
|
middlewares: [],
|
|
321
365
|
outputParser: outputParser as any,
|
|
366
|
+
meta: opts.meta as any,
|
|
322
367
|
});
|
|
323
368
|
}
|
|
324
369
|
|
|
325
370
|
export type inferProcedureFromOptions<
|
|
326
371
|
TInputContext,
|
|
327
|
-
TOptions extends CreateProcedureOptions<any, any, any, any, any>,
|
|
372
|
+
TOptions extends CreateProcedureOptions<any, any, any, any, any, any>,
|
|
328
373
|
> = TOptions extends CreateProcedureOptions<
|
|
329
374
|
infer TContext,
|
|
375
|
+
infer TMeta,
|
|
330
376
|
infer TInput,
|
|
331
377
|
infer TParsedInput,
|
|
332
378
|
infer TOutput,
|
|
@@ -335,6 +381,7 @@ export type inferProcedureFromOptions<
|
|
|
335
381
|
? Procedure<
|
|
336
382
|
TInputContext,
|
|
337
383
|
TContext,
|
|
384
|
+
TMeta,
|
|
338
385
|
unknown extends TInput ? undefined : TInput,
|
|
339
386
|
unknown extends TParsedInput ? undefined : TParsedInput,
|
|
340
387
|
TOutput,
|