@trpc/server 10.25.1 → 10.27.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/adapters/aws-lambda/index.js +5 -5
- package/dist/adapters/aws-lambda/index.mjs +5 -5
- package/dist/adapters/express.js +6 -6
- package/dist/adapters/express.mjs +6 -6
- package/dist/adapters/fastify/index.js +5 -5
- package/dist/adapters/fastify/index.mjs +5 -5
- package/dist/adapters/fetch/index.js +5 -5
- package/dist/adapters/fetch/index.mjs +5 -5
- package/dist/adapters/next.d.ts.map +1 -1
- package/dist/adapters/next.js +8 -7
- package/dist/adapters/next.mjs +8 -7
- package/dist/adapters/node-http/index.js +6 -6
- package/dist/adapters/node-http/index.mjs +6 -6
- package/dist/adapters/standalone.js +6 -6
- package/dist/adapters/standalone.mjs +6 -6
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +13 -9
- package/dist/adapters/ws.mjs +13 -9
- package/dist/{codes-0a561c20.js → codes-0eeb600d.js} +3 -1
- package/dist/{codes-e5d244b6.mjs → codes-24aa1ce1.mjs} +3 -1
- package/dist/{codes-dddd9731.js → codes-b3c262d8.js} +3 -0
- package/dist/{config-2d85b8f0.js → config-91ab0b1d.js} +3 -47
- package/dist/{config-f0387de5.mjs → config-d1cf9de0.mjs} +3 -49
- package/dist/{config-e6e74385.js → config-f355c4d8.js} +3 -52
- package/dist/core/router.d.ts +4 -0
- package/dist/core/router.d.ts.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/http/index.js +8 -8
- package/dist/http/index.mjs +5 -5
- package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
- package/dist/index-315a9f08.mjs +96 -0
- package/dist/index-8e243a74.js +102 -0
- package/dist/index-cddfa242.js +93 -0
- package/dist/index.js +4 -4
- package/dist/index.mjs +4 -4
- package/dist/internals/invert.d.ts +3 -0
- package/dist/internals/invert.d.ts.map +1 -1
- package/dist/internals/types.d.ts +4 -0
- package/dist/internals/types.d.ts.map +1 -1
- package/dist/{nodeHTTPRequestHandler-ace6dac5.js → nodeHTTPRequestHandler-7762c7d4.js} +1 -1
- package/dist/{nodeHTTPRequestHandler-f0efcff4.mjs → nodeHTTPRequestHandler-8a261b10.mjs} +1 -1
- package/dist/{nodeHTTPRequestHandler-54aea883.js → nodeHTTPRequestHandler-fc509b47.js} +1 -1
- package/dist/{resolveHTTPResponse-a7abb046.js → resolveHTTPResponse-27fe1108.js} +9 -6
- package/dist/{resolveHTTPResponse-e1286cb3.mjs → resolveHTTPResponse-36f4e729.mjs} +8 -5
- package/dist/{resolveHTTPResponse-9a9f3436.js → resolveHTTPResponse-5f8945d7.js} +8 -5
- package/dist/rpc/index.js +1 -1
- package/dist/rpc/index.mjs +1 -1
- package/dist/shared/getErrorShape.d.ts +15 -0
- package/dist/shared/getErrorShape.d.ts.map +1 -0
- package/dist/shared/index.d.ts +2 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +4 -2
- package/dist/shared/index.mjs +3 -2
- package/dist/shared/transformTRPCResponse.d.ts +2 -2
- package/dist/shared/transformTRPCResponse.d.ts.map +1 -1
- package/dist/transformTRPCResponse-6887ae6d.mjs +53 -0
- package/dist/transformTRPCResponse-8cb7e890.js +54 -0
- package/dist/transformTRPCResponse-f7b2ffd1.js +56 -0
- package/package.json +3 -3
- package/src/adapters/next.ts +3 -1
- package/src/adapters/ws.ts +12 -5
- package/src/core/initTRPC.ts +1 -1
- package/src/core/router.ts +6 -2
- package/src/core/types.ts +1 -1
- package/src/http/resolveHTTPResponse.ts +10 -4
- package/src/internals/invert.ts +3 -0
- package/src/internals/types.ts +4 -0
- package/src/shared/getErrorShape.ts +35 -0
- package/src/shared/index.ts +3 -1
- package/src/shared/transformTRPCResponse.ts +7 -9
- package/dist/index-4d2d31b6.js +0 -51
- package/dist/index-972002da.mjs +0 -48
- package/dist/index-f38f12ba.js +0 -47
- package/dist/transformTRPCResponse-0ea8c0ca.mjs +0 -25
- package/dist/transformTRPCResponse-560a1eb1.js +0 -28
- package/dist/transformTRPCResponse-8afb9a5c.js +0 -27
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var TRPCError = require('./TRPCError-16b2e52d.js');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var index = require('./index-8e243a74.js');
|
|
5
|
+
var codes = require('./codes-0eeb600d.js');
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @public
|
|
@@ -35,52 +35,6 @@ const defaultFormatter = ({ shape })=>{
|
|
|
35
35
|
return shape;
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
-
const TRPC_ERROR_CODES_BY_NUMBER = codes.invert(codes.TRPC_ERROR_CODES_BY_KEY);
|
|
39
|
-
const JSONRPC2_TO_HTTP_CODE = {
|
|
40
|
-
PARSE_ERROR: 400,
|
|
41
|
-
BAD_REQUEST: 400,
|
|
42
|
-
NOT_FOUND: 404,
|
|
43
|
-
INTERNAL_SERVER_ERROR: 500,
|
|
44
|
-
UNAUTHORIZED: 401,
|
|
45
|
-
FORBIDDEN: 403,
|
|
46
|
-
TIMEOUT: 408,
|
|
47
|
-
CONFLICT: 409,
|
|
48
|
-
CLIENT_CLOSED_REQUEST: 499,
|
|
49
|
-
PRECONDITION_FAILED: 412,
|
|
50
|
-
PAYLOAD_TOO_LARGE: 413,
|
|
51
|
-
METHOD_NOT_SUPPORTED: 405,
|
|
52
|
-
UNPROCESSABLE_CONTENT: 422,
|
|
53
|
-
TOO_MANY_REQUESTS: 429
|
|
54
|
-
};
|
|
55
|
-
function getStatusCodeFromKey(code) {
|
|
56
|
-
return JSONRPC2_TO_HTTP_CODE[code] ?? 500;
|
|
57
|
-
}
|
|
58
|
-
function getHTTPStatusCode(json) {
|
|
59
|
-
const arr = Array.isArray(json) ? json : [
|
|
60
|
-
json
|
|
61
|
-
];
|
|
62
|
-
const httpStatuses = new Set(arr.map((res)=>{
|
|
63
|
-
if ('error' in res) {
|
|
64
|
-
const data = res.error.data;
|
|
65
|
-
if (typeof data.httpStatus === 'number') {
|
|
66
|
-
return data.httpStatus;
|
|
67
|
-
}
|
|
68
|
-
const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];
|
|
69
|
-
return getStatusCodeFromKey(code);
|
|
70
|
-
}
|
|
71
|
-
return 200;
|
|
72
|
-
}));
|
|
73
|
-
if (httpStatuses.size !== 1) {
|
|
74
|
-
return 207;
|
|
75
|
-
}
|
|
76
|
-
const httpStatus = httpStatuses.values().next().value;
|
|
77
|
-
return httpStatus;
|
|
78
|
-
}
|
|
79
|
-
function getHTTPStatusCodeFromError(error) {
|
|
80
|
-
const { code } = error;
|
|
81
|
-
return getStatusCodeFromKey(code);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
38
|
/**
|
|
85
39
|
* Create an object without inheriting anything from `Object.prototype`
|
|
86
40
|
* @internal
|
|
@@ -220,7 +174,7 @@ const emptyRouter = {
|
|
|
220
174
|
code: codes.TRPC_ERROR_CODES_BY_KEY[code],
|
|
221
175
|
data: {
|
|
222
176
|
code,
|
|
223
|
-
httpStatus: getHTTPStatusCodeFromError(error)
|
|
177
|
+
httpStatus: index.getHTTPStatusCodeFromError(error)
|
|
224
178
|
}
|
|
225
179
|
};
|
|
226
180
|
if (config.isDev && typeof opts.error.stack === 'string') {
|
|
@@ -256,13 +210,10 @@ const emptyRouter = {
|
|
|
256
210
|
* The default check to see if we're in a server
|
|
257
211
|
*/ const isServerDefault = typeof window === 'undefined' || 'Deno' in window || globalThis.process?.env?.NODE_ENV === 'test' || !!globalThis.process?.env?.JEST_WORKER_ID || !!globalThis.process?.env?.VITEST_WORKER_ID;
|
|
258
212
|
|
|
259
|
-
exports.TRPC_ERROR_CODES_BY_NUMBER = TRPC_ERROR_CODES_BY_NUMBER;
|
|
260
213
|
exports.callProcedure = callProcedure;
|
|
261
214
|
exports.createRouterFactory = createRouterFactory;
|
|
262
215
|
exports.defaultFormatter = defaultFormatter;
|
|
263
216
|
exports.defaultTransformer = defaultTransformer;
|
|
264
217
|
exports.getDataTransformer = getDataTransformer;
|
|
265
|
-
exports.getHTTPStatusCode = getHTTPStatusCode;
|
|
266
|
-
exports.getHTTPStatusCodeFromError = getHTTPStatusCodeFromError;
|
|
267
218
|
exports.isServerDefault = isServerDefault;
|
|
268
219
|
exports.procedureTypes = procedureTypes;
|
package/dist/core/router.d.ts
CHANGED
|
@@ -77,6 +77,10 @@ declare type RouterCaller<TDef extends AnyRouterDef> = (ctx: TDef['_config']['$t
|
|
|
77
77
|
export interface Router<TDef extends AnyRouterDef> {
|
|
78
78
|
_def: TDef;
|
|
79
79
|
createCaller: RouterCaller<TDef>;
|
|
80
|
+
/**
|
|
81
|
+
* @deprecated
|
|
82
|
+
* FIXME: use the new standalone `getErrorShape` instead
|
|
83
|
+
*/
|
|
80
84
|
getErrorShape(opts: {
|
|
81
85
|
error: TRPCError;
|
|
82
86
|
type: ProcedureType | 'unknown';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { inferObservableValue } from '../observable';
|
|
2
|
-
import { inferTransformedProcedureOutput } from '../shared';
|
|
2
|
+
import { inferTransformedProcedureOutput } from '../shared/jsonify';
|
|
3
3
|
import { AnyProcedure, ProcedureArgs } from './procedure';
|
|
4
4
|
import { AnyRouter, AnyRouterDef, Router } from './router';
|
|
5
5
|
export declare type inferRouterDef<TRouter extends AnyRouter> = TRouter extends Router<infer TParams> ? TParams extends AnyRouterDef<any> ? TParams : never : never;
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE3D,oBAAY,cAAc,CAAC,OAAO,SAAS,SAAS,IAAI,OAAO,SAAS,MAAM,CAC5E,MAAM,OAAO,CACd,GACG,OAAO,SAAS,YAAY,CAAC,GAAG,CAAC,GAC/B,OAAO,GACP,KAAK,GACP,KAAK,CAAC;AAEV,oBAAY,kBAAkB,CAAC,OAAO,SAAS,SAAS,IACtD,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;AACtD,oBAAY,gBAAgB,CAAC,OAAO,SAAS,SAAS,IACpD,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;AAC7D,oBAAY,eAAe,CAAC,OAAO,SAAS,SAAS,IACnD,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,eAAO,MAAM,cAAc,gDAAiD,CAAC;AAC7E;;GAEG;AACH,oBAAY,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,oBAAY,iBAAiB,CAAC,UAAU,SAAS,YAAY,IAAI,aAAa,CAC5E,oBAAoB,CAAC,UAAU,CAAC,CACjC,CAAC;AAEF,oBAAY,mBAAmB,CAAC,UAAU,SAAS,YAAY,IAC7D,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnC,oBAAY,oBAAoB,CAAC,UAAU,IAAI,UAAU,SAAS,YAAY,GAC1E,UAAU,CAAC,MAAM,CAAC,GAClB,KAAK,CAAC;AACV,oBAAY,oBAAoB,CAAC,UAAU,IACzC,oBAAoB,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC;AAElD;;GAEG;AACH,oBAAY,uBAAuB,CACjC,OAAO,SAAS,SAAS,EACzB,KAAK,SAAS,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,GAAG,MAAM,IAC3D,oBAAoB,CACtB,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAC9D,CAAC;AAEF,oBAAY,yBAAyB,CAAC,UAAU,SAAS,YAAY,IACnE,oBAAoB,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;AAE5D,aAAK,mBAAmB,CACtB,KAAK,SAAS,OAAO,GAAG,QAAQ,EAChC,OAAO,SAAS,SAAS,IACvB;KACD,IAAI,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,kBAAkB,GACvG,kBAAkB,SAAS,SAAS,GAClC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,CAAC,GAC9C,kBAAkB,SAAS,YAAY,GACvC,KAAK,SAAS,OAAO,GACnB,mBAAmB,CAAC,kBAAkB,CAAC,GACvC,+BAA+B,CAAC,kBAAkB,CAAC,GACrD,KAAK,GACP,KAAK;CACV,CAAC;AAEF,oBAAY,iBAAiB,CAAC,OAAO,SAAS,SAAS,IAAI,mBAAmB,CAC5E,OAAO,EACP,OAAO,CACR,CAAC;AAEF,oBAAY,kBAAkB,CAAC,OAAO,SAAS,SAAS,IAAI,mBAAmB,CAC7E,QAAQ,EACR,OAAO,CACR,CAAC"}
|
package/dist/http/index.js
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var resolveHTTPResponse = require('../resolveHTTPResponse-
|
|
5
|
+
var index = require('../index-8e243a74.js');
|
|
6
|
+
var resolveHTTPResponse = require('../resolveHTTPResponse-27fe1108.js');
|
|
7
|
+
require('../codes-0eeb600d.js');
|
|
8
|
+
require('../config-f355c4d8.js');
|
|
7
9
|
require('../TRPCError-16b2e52d.js');
|
|
8
|
-
require('../
|
|
9
|
-
require('../index-4d2d31b6.js');
|
|
10
|
-
require('../transformTRPCResponse-8afb9a5c.js');
|
|
10
|
+
require('../transformTRPCResponse-f7b2ffd1.js');
|
|
11
11
|
require('../contentType-8356d528.js');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
exports.TRPC_ERROR_CODES_BY_NUMBER =
|
|
16
|
-
exports.getHTTPStatusCode =
|
|
17
|
-
exports.getHTTPStatusCodeFromError =
|
|
15
|
+
exports.TRPC_ERROR_CODES_BY_NUMBER = index.TRPC_ERROR_CODES_BY_NUMBER;
|
|
16
|
+
exports.getHTTPStatusCode = index.getHTTPStatusCode;
|
|
17
|
+
exports.getHTTPStatusCodeFromError = index.getHTTPStatusCodeFromError;
|
|
18
18
|
exports.resolveHTTPResponse = resolveHTTPResponse.resolveHTTPResponse;
|
package/dist/http/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { T as TRPC_ERROR_CODES_BY_NUMBER,
|
|
2
|
-
export { r as resolveHTTPResponse } from '../resolveHTTPResponse-
|
|
1
|
+
export { T as TRPC_ERROR_CODES_BY_NUMBER, b as getHTTPStatusCode, g as getHTTPStatusCodeFromError } from '../index-315a9f08.mjs';
|
|
2
|
+
export { r as resolveHTTPResponse } from '../resolveHTTPResponse-36f4e729.mjs';
|
|
3
|
+
import '../codes-24aa1ce1.mjs';
|
|
4
|
+
import '../config-d1cf9de0.mjs';
|
|
3
5
|
import '../TRPCError-2b10c8d2.mjs';
|
|
4
|
-
import '../
|
|
5
|
-
import '../index-972002da.mjs';
|
|
6
|
-
import '../transformTRPCResponse-0ea8c0ca.mjs';
|
|
6
|
+
import '../transformTRPCResponse-6887ae6d.mjs';
|
|
7
7
|
import '../contentType-acc3be52.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveHTTPResponse.d.ts","sourceRoot":"","sources":["../../src/http/resolveHTTPResponse.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EAGT,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAA2B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolveHTTPResponse.d.ts","sourceRoot":"","sources":["../../src/http/resolveHTTPResponse.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EAGT,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAA2B,MAAM,oBAAoB,CAAC;AAIxE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EACL,sBAAsB,EAEvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAe,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAc9D,UAAU,yBAAyB,CACjC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,CAC5B,SAAQ,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACjD,aAAa,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,mBAAmB,CACvC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,EAC5B,IAAI,EAAE,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAmL3E"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './codes-24aa1ce1.mjs';
|
|
2
|
+
|
|
3
|
+
const TRPC_ERROR_CODES_BY_NUMBER = invert(TRPC_ERROR_CODES_BY_KEY);
|
|
4
|
+
const JSONRPC2_TO_HTTP_CODE = {
|
|
5
|
+
PARSE_ERROR: 400,
|
|
6
|
+
BAD_REQUEST: 400,
|
|
7
|
+
NOT_FOUND: 404,
|
|
8
|
+
INTERNAL_SERVER_ERROR: 500,
|
|
9
|
+
UNAUTHORIZED: 401,
|
|
10
|
+
FORBIDDEN: 403,
|
|
11
|
+
TIMEOUT: 408,
|
|
12
|
+
CONFLICT: 409,
|
|
13
|
+
CLIENT_CLOSED_REQUEST: 499,
|
|
14
|
+
PRECONDITION_FAILED: 412,
|
|
15
|
+
PAYLOAD_TOO_LARGE: 413,
|
|
16
|
+
METHOD_NOT_SUPPORTED: 405,
|
|
17
|
+
UNPROCESSABLE_CONTENT: 422,
|
|
18
|
+
TOO_MANY_REQUESTS: 429
|
|
19
|
+
};
|
|
20
|
+
function getStatusCodeFromKey(code) {
|
|
21
|
+
return JSONRPC2_TO_HTTP_CODE[code] ?? 500;
|
|
22
|
+
}
|
|
23
|
+
function getHTTPStatusCode(json) {
|
|
24
|
+
const arr = Array.isArray(json) ? json : [
|
|
25
|
+
json
|
|
26
|
+
];
|
|
27
|
+
const httpStatuses = new Set(arr.map((res)=>{
|
|
28
|
+
if ('error' in res) {
|
|
29
|
+
const data = res.error.data;
|
|
30
|
+
if (typeof data.httpStatus === 'number') {
|
|
31
|
+
return data.httpStatus;
|
|
32
|
+
}
|
|
33
|
+
const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];
|
|
34
|
+
return getStatusCodeFromKey(code);
|
|
35
|
+
}
|
|
36
|
+
return 200;
|
|
37
|
+
}));
|
|
38
|
+
if (httpStatuses.size !== 1) {
|
|
39
|
+
return 207;
|
|
40
|
+
}
|
|
41
|
+
const httpStatus = httpStatuses.values().next().value;
|
|
42
|
+
return httpStatus;
|
|
43
|
+
}
|
|
44
|
+
function getHTTPStatusCodeFromError(error) {
|
|
45
|
+
const { code } = error;
|
|
46
|
+
return getStatusCodeFromKey(code);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const noop = ()=>{
|
|
50
|
+
// noop
|
|
51
|
+
};
|
|
52
|
+
function createInnerProxy(callback, path) {
|
|
53
|
+
const proxy = new Proxy(noop, {
|
|
54
|
+
get (_obj, key) {
|
|
55
|
+
if (typeof key !== 'string' || key === 'then') {
|
|
56
|
+
// special case for if the proxy is accidentally treated
|
|
57
|
+
// like a PromiseLike (like in `Promise.resolve(proxy)`)
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
return createInnerProxy(callback, [
|
|
61
|
+
...path,
|
|
62
|
+
key
|
|
63
|
+
]);
|
|
64
|
+
},
|
|
65
|
+
apply (_1, _2, args) {
|
|
66
|
+
return callback({
|
|
67
|
+
args,
|
|
68
|
+
path
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
return proxy;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Creates a proxy that calls the callback with the path and arguments
|
|
76
|
+
*
|
|
77
|
+
* @internal
|
|
78
|
+
*/ const createRecursiveProxy = (callback)=>createInnerProxy(callback, []);
|
|
79
|
+
/**
|
|
80
|
+
* Used in place of `new Proxy` where each handler will map 1 level deep to another value.
|
|
81
|
+
*
|
|
82
|
+
* @internal
|
|
83
|
+
*/ const createFlatProxy = (callback)=>{
|
|
84
|
+
return new Proxy(noop, {
|
|
85
|
+
get (_obj, name) {
|
|
86
|
+
if (typeof name !== 'string' || name === 'then') {
|
|
87
|
+
// special case for if the proxy is accidentally treated
|
|
88
|
+
// like a PromiseLike (like in `Promise.resolve(proxy)`)
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
return callback(name);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
export { TRPC_ERROR_CODES_BY_NUMBER as T, createRecursiveProxy as a, getHTTPStatusCode as b, createFlatProxy as c, getHTTPStatusCodeFromError as g };
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var codes = require('./codes-0eeb600d.js');
|
|
4
|
+
|
|
5
|
+
const TRPC_ERROR_CODES_BY_NUMBER = codes.invert(codes.TRPC_ERROR_CODES_BY_KEY);
|
|
6
|
+
const JSONRPC2_TO_HTTP_CODE = {
|
|
7
|
+
PARSE_ERROR: 400,
|
|
8
|
+
BAD_REQUEST: 400,
|
|
9
|
+
NOT_FOUND: 404,
|
|
10
|
+
INTERNAL_SERVER_ERROR: 500,
|
|
11
|
+
UNAUTHORIZED: 401,
|
|
12
|
+
FORBIDDEN: 403,
|
|
13
|
+
TIMEOUT: 408,
|
|
14
|
+
CONFLICT: 409,
|
|
15
|
+
CLIENT_CLOSED_REQUEST: 499,
|
|
16
|
+
PRECONDITION_FAILED: 412,
|
|
17
|
+
PAYLOAD_TOO_LARGE: 413,
|
|
18
|
+
METHOD_NOT_SUPPORTED: 405,
|
|
19
|
+
UNPROCESSABLE_CONTENT: 422,
|
|
20
|
+
TOO_MANY_REQUESTS: 429
|
|
21
|
+
};
|
|
22
|
+
function getStatusCodeFromKey(code) {
|
|
23
|
+
return JSONRPC2_TO_HTTP_CODE[code] ?? 500;
|
|
24
|
+
}
|
|
25
|
+
function getHTTPStatusCode(json) {
|
|
26
|
+
const arr = Array.isArray(json) ? json : [
|
|
27
|
+
json
|
|
28
|
+
];
|
|
29
|
+
const httpStatuses = new Set(arr.map((res)=>{
|
|
30
|
+
if ('error' in res) {
|
|
31
|
+
const data = res.error.data;
|
|
32
|
+
if (typeof data.httpStatus === 'number') {
|
|
33
|
+
return data.httpStatus;
|
|
34
|
+
}
|
|
35
|
+
const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];
|
|
36
|
+
return getStatusCodeFromKey(code);
|
|
37
|
+
}
|
|
38
|
+
return 200;
|
|
39
|
+
}));
|
|
40
|
+
if (httpStatuses.size !== 1) {
|
|
41
|
+
return 207;
|
|
42
|
+
}
|
|
43
|
+
const httpStatus = httpStatuses.values().next().value;
|
|
44
|
+
return httpStatus;
|
|
45
|
+
}
|
|
46
|
+
function getHTTPStatusCodeFromError(error) {
|
|
47
|
+
const { code } = error;
|
|
48
|
+
return getStatusCodeFromKey(code);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const noop = ()=>{
|
|
52
|
+
// noop
|
|
53
|
+
};
|
|
54
|
+
function createInnerProxy(callback, path) {
|
|
55
|
+
const proxy = new Proxy(noop, {
|
|
56
|
+
get (_obj, key) {
|
|
57
|
+
if (typeof key !== 'string' || key === 'then') {
|
|
58
|
+
// special case for if the proxy is accidentally treated
|
|
59
|
+
// like a PromiseLike (like in `Promise.resolve(proxy)`)
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
return createInnerProxy(callback, [
|
|
63
|
+
...path,
|
|
64
|
+
key
|
|
65
|
+
]);
|
|
66
|
+
},
|
|
67
|
+
apply (_1, _2, args) {
|
|
68
|
+
return callback({
|
|
69
|
+
args,
|
|
70
|
+
path
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return proxy;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Creates a proxy that calls the callback with the path and arguments
|
|
78
|
+
*
|
|
79
|
+
* @internal
|
|
80
|
+
*/ const createRecursiveProxy = (callback)=>createInnerProxy(callback, []);
|
|
81
|
+
/**
|
|
82
|
+
* Used in place of `new Proxy` where each handler will map 1 level deep to another value.
|
|
83
|
+
*
|
|
84
|
+
* @internal
|
|
85
|
+
*/ const createFlatProxy = (callback)=>{
|
|
86
|
+
return new Proxy(noop, {
|
|
87
|
+
get (_obj, name) {
|
|
88
|
+
if (typeof name !== 'string' || name === 'then') {
|
|
89
|
+
// special case for if the proxy is accidentally treated
|
|
90
|
+
// like a PromiseLike (like in `Promise.resolve(proxy)`)
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
return callback(name);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
exports.TRPC_ERROR_CODES_BY_NUMBER = TRPC_ERROR_CODES_BY_NUMBER;
|
|
99
|
+
exports.createFlatProxy = createFlatProxy;
|
|
100
|
+
exports.createRecursiveProxy = createRecursiveProxy;
|
|
101
|
+
exports.getHTTPStatusCode = getHTTPStatusCode;
|
|
102
|
+
exports.getHTTPStatusCodeFromError = getHTTPStatusCodeFromError;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './codes-b3c262d8.js';
|
|
2
|
+
|
|
3
|
+
const TRPC_ERROR_CODES_BY_NUMBER = invert(TRPC_ERROR_CODES_BY_KEY);
|
|
4
|
+
const JSONRPC2_TO_HTTP_CODE = {
|
|
5
|
+
PARSE_ERROR: 400,
|
|
6
|
+
BAD_REQUEST: 400,
|
|
7
|
+
NOT_FOUND: 404,
|
|
8
|
+
INTERNAL_SERVER_ERROR: 500,
|
|
9
|
+
UNAUTHORIZED: 401,
|
|
10
|
+
FORBIDDEN: 403,
|
|
11
|
+
TIMEOUT: 408,
|
|
12
|
+
CONFLICT: 409,
|
|
13
|
+
CLIENT_CLOSED_REQUEST: 499,
|
|
14
|
+
PRECONDITION_FAILED: 412,
|
|
15
|
+
PAYLOAD_TOO_LARGE: 413,
|
|
16
|
+
METHOD_NOT_SUPPORTED: 405,
|
|
17
|
+
UNPROCESSABLE_CONTENT: 422,
|
|
18
|
+
TOO_MANY_REQUESTS: 429,
|
|
19
|
+
};
|
|
20
|
+
function getStatusCodeFromKey(code) {
|
|
21
|
+
return JSONRPC2_TO_HTTP_CODE[code] ?? 500;
|
|
22
|
+
}
|
|
23
|
+
function getHTTPStatusCode(json) {
|
|
24
|
+
const arr = Array.isArray(json) ? json : [json];
|
|
25
|
+
const httpStatuses = new Set(arr.map((res) => {
|
|
26
|
+
if ('error' in res) {
|
|
27
|
+
const data = res.error.data;
|
|
28
|
+
if (typeof data.httpStatus === 'number') {
|
|
29
|
+
return data.httpStatus;
|
|
30
|
+
}
|
|
31
|
+
const code = TRPC_ERROR_CODES_BY_NUMBER[res.error.code];
|
|
32
|
+
return getStatusCodeFromKey(code);
|
|
33
|
+
}
|
|
34
|
+
return 200;
|
|
35
|
+
}));
|
|
36
|
+
if (httpStatuses.size !== 1) {
|
|
37
|
+
return 207;
|
|
38
|
+
}
|
|
39
|
+
const httpStatus = httpStatuses.values().next().value;
|
|
40
|
+
return httpStatus;
|
|
41
|
+
}
|
|
42
|
+
function getHTTPStatusCodeFromError(error) {
|
|
43
|
+
const { code } = error;
|
|
44
|
+
return getStatusCodeFromKey(code);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const noop = () => {
|
|
48
|
+
// noop
|
|
49
|
+
};
|
|
50
|
+
function createInnerProxy(callback, path) {
|
|
51
|
+
const proxy = new Proxy(noop, {
|
|
52
|
+
get(_obj, key) {
|
|
53
|
+
if (typeof key !== 'string' || key === 'then') {
|
|
54
|
+
// special case for if the proxy is accidentally treated
|
|
55
|
+
// like a PromiseLike (like in `Promise.resolve(proxy)`)
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
return createInnerProxy(callback, [...path, key]);
|
|
59
|
+
},
|
|
60
|
+
apply(_1, _2, args) {
|
|
61
|
+
return callback({
|
|
62
|
+
args,
|
|
63
|
+
path,
|
|
64
|
+
});
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
return proxy;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Creates a proxy that calls the callback with the path and arguments
|
|
71
|
+
*
|
|
72
|
+
* @internal
|
|
73
|
+
*/
|
|
74
|
+
const createRecursiveProxy = (callback) => createInnerProxy(callback, []);
|
|
75
|
+
/**
|
|
76
|
+
* Used in place of `new Proxy` where each handler will map 1 level deep to another value.
|
|
77
|
+
*
|
|
78
|
+
* @internal
|
|
79
|
+
*/
|
|
80
|
+
const createFlatProxy = (callback) => {
|
|
81
|
+
return new Proxy(noop, {
|
|
82
|
+
get(_obj, name) {
|
|
83
|
+
if (typeof name !== 'string' || name === 'then') {
|
|
84
|
+
// special case for if the proxy is accidentally treated
|
|
85
|
+
// like a PromiseLike (like in `Promise.resolve(proxy)`)
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
return callback(name);
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export { TRPC_ERROR_CODES_BY_NUMBER as T, createRecursiveProxy as a, getHTTPStatusCode as b, createFlatProxy as c, getHTTPStatusCodeFromError as g };
|
package/dist/index.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var config = require('./config-
|
|
5
|
+
var config = require('./config-f355c4d8.js');
|
|
6
6
|
var TRPCError = require('./TRPCError-16b2e52d.js');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
7
|
+
var index = require('./index-8e243a74.js');
|
|
8
|
+
var codes = require('./codes-0eeb600d.js');
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* @deprecated
|
|
@@ -710,7 +710,7 @@ function safeObject(...args) {
|
|
|
710
710
|
code: codes.TRPC_ERROR_CODES_BY_KEY[code],
|
|
711
711
|
data: {
|
|
712
712
|
code,
|
|
713
|
-
httpStatus:
|
|
713
|
+
httpStatus: index.getHTTPStatusCodeFromError(error)
|
|
714
714
|
}
|
|
715
715
|
};
|
|
716
716
|
if (globalThis.process?.env?.NODE_ENV !== 'production' && typeof opts.error.stack === 'string') {
|
package/dist/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as createRouterFactory, d as defaultFormatter,
|
|
2
|
-
export {
|
|
1
|
+
import { c as createRouterFactory, d as defaultFormatter, a as defaultTransformer, g as getDataTransformer$1, i as isServerDefault } from './config-d1cf9de0.mjs';
|
|
2
|
+
export { b as callProcedure, a as defaultTransformer, g as getDataTransformer, p as procedureTypes } from './config-d1cf9de0.mjs';
|
|
3
3
|
import { T as TRPCError, g as getCauseFromUnknown, a as getTRPCErrorFromUnknown } from './TRPCError-2b10c8d2.mjs';
|
|
4
4
|
export { T as TRPCError, a as getTRPCErrorFromUnknown } from './TRPCError-2b10c8d2.mjs';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { g as getHTTPStatusCodeFromError, c as createFlatProxy } from './index-315a9f08.mjs';
|
|
6
|
+
import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-24aa1ce1.mjs';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @deprecated
|
|
@@ -4,6 +4,9 @@ declare type KeyFromValue<TValue, TType extends Record<PropertyKey, PropertyKey>
|
|
|
4
4
|
declare type Invert<TType extends Record<PropertyKey, PropertyKey>> = {
|
|
5
5
|
[TValue in TType[keyof TType]]: KeyFromValue<TValue, TType>;
|
|
6
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
7
10
|
export declare function invert<TRecord extends Record<PropertyKey, PropertyKey>>(obj: TRecord): Invert<TRecord>;
|
|
8
11
|
export {};
|
|
9
12
|
//# sourceMappingURL=invert.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invert.d.ts","sourceRoot":"","sources":["../../src/internals/invert.ts"],"names":[],"mappings":"AAAA,aAAK,YAAY,CAAC,MAAM,EAAE,KAAK,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KACzE,CAAC,IAAI,MAAM,KAAK,GAAG,MAAM,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACxD,CAAC,MAAM,KAAK,CAAC,CAAC;AAEf,aAAK,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KAC3D,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;CAC5D,CAAC;AAEF,wBAAgB,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EACrE,GAAG,EAAE,OAAO,GACX,MAAM,CAAC,OAAO,CAAC,CAOjB"}
|
|
1
|
+
{"version":3,"file":"invert.d.ts","sourceRoot":"","sources":["../../src/internals/invert.ts"],"names":[],"mappings":"AAAA,aAAK,YAAY,CAAC,MAAM,EAAE,KAAK,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KACzE,CAAC,IAAI,MAAM,KAAK,GAAG,MAAM,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACxD,CAAC,MAAM,KAAK,CAAC,CAAC;AAEf,aAAK,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KAC3D,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;CAC5D,CAAC;AAEF;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EACrE,GAAG,EAAE,OAAO,GACX,MAAM,CAAC,OAAO,CAAC,CAOjB"}
|
|
@@ -3,6 +3,7 @@ import { AnyRouter } from '../core/router';
|
|
|
3
3
|
import { TRPCError } from '../error/TRPCError';
|
|
4
4
|
/**
|
|
5
5
|
* Base interface for any response handler
|
|
6
|
+
* @internal
|
|
6
7
|
*/
|
|
7
8
|
export interface BaseHandlerOptions<TRouter extends AnyRouter, TRequest> {
|
|
8
9
|
onError?: OnErrorFunction<TRouter, TRequest>;
|
|
@@ -11,6 +12,9 @@ export interface BaseHandlerOptions<TRouter extends AnyRouter, TRequest> {
|
|
|
11
12
|
};
|
|
12
13
|
router: TRouter;
|
|
13
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
14
18
|
export declare type OnErrorFunction<TRouter extends AnyRouter, TRequest> = (opts: {
|
|
15
19
|
error: TRPCError;
|
|
16
20
|
type: ProcedureType | 'unknown';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/internals/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/internals/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ;IACrE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,oBAAY,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;IACxE,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;CAC9C,KAAK,IAAI,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var resolveHTTPResponse = require('./resolveHTTPResponse-
|
|
3
|
+
var resolveHTTPResponse = require('./resolveHTTPResponse-27fe1108.js');
|
|
4
4
|
var adapters_nodeHttp_contentType_json_index = require('./adapters/node-http/content-type/json/index.js');
|
|
5
5
|
|
|
6
6
|
const defaultJSONContentTypeHandler = adapters_nodeHttp_contentType_json_index.nodeHTTPJSONContentTypeHandler();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as resolveHTTPResponse } from './resolveHTTPResponse-
|
|
1
|
+
import { r as resolveHTTPResponse } from './resolveHTTPResponse-36f4e729.mjs';
|
|
2
2
|
import { nodeHTTPJSONContentTypeHandler } from './adapters/node-http/content-type/json/index.mjs';
|
|
3
3
|
|
|
4
4
|
const defaultJSONContentTypeHandler = nodeHTTPJSONContentTypeHandler();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as resolveHTTPResponse } from './resolveHTTPResponse-
|
|
1
|
+
import { r as resolveHTTPResponse } from './resolveHTTPResponse-5f8945d7.js';
|
|
2
2
|
import { nodeHTTPJSONContentTypeHandler } from './adapters/node-http/content-type/json/index.js';
|
|
3
3
|
|
|
4
4
|
const defaultJSONContentTypeHandler = nodeHTTPJSONContentTypeHandler();
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var config = require('./config-
|
|
3
|
+
var config = require('./config-f355c4d8.js');
|
|
4
4
|
var TRPCError = require('./TRPCError-16b2e52d.js');
|
|
5
|
-
var transformTRPCResponse = require('./transformTRPCResponse-
|
|
5
|
+
var transformTRPCResponse = require('./transformTRPCResponse-f7b2ffd1.js');
|
|
6
6
|
var contentType = require('./contentType-8356d528.js');
|
|
7
|
+
var index = require('./index-8e243a74.js');
|
|
7
8
|
|
|
8
9
|
const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
|
|
9
10
|
GET: 'query',
|
|
@@ -27,7 +28,7 @@ async function resolveHTTPResponse(opts) {
|
|
|
27
28
|
let paths = undefined;
|
|
28
29
|
const isBatchCall = !!req.query.get('batch');
|
|
29
30
|
function endResponse(untransformedJSON, errors) {
|
|
30
|
-
let status =
|
|
31
|
+
let status = index.getHTTPStatusCode(untransformedJSON);
|
|
31
32
|
const headers = {
|
|
32
33
|
'Content-Type': 'application/json'
|
|
33
34
|
};
|
|
@@ -46,7 +47,7 @@ async function resolveHTTPResponse(opts) {
|
|
|
46
47
|
if (meta.status) {
|
|
47
48
|
status = meta.status;
|
|
48
49
|
}
|
|
49
|
-
const transformedJSON = transformTRPCResponse.transformTRPCResponse(router, untransformedJSON);
|
|
50
|
+
const transformedJSON = transformTRPCResponse.transformTRPCResponse(router._def._config, untransformedJSON);
|
|
50
51
|
const body = JSON.stringify(transformedJSON);
|
|
51
52
|
return {
|
|
52
53
|
body,
|
|
@@ -122,7 +123,8 @@ async function resolveHTTPResponse(opts) {
|
|
|
122
123
|
const { path , input } = obj;
|
|
123
124
|
if (obj.error) {
|
|
124
125
|
return {
|
|
125
|
-
error:
|
|
126
|
+
error: transformTRPCResponse.getErrorShape({
|
|
127
|
+
config: router._def._config,
|
|
126
128
|
error: obj.error,
|
|
127
129
|
type,
|
|
128
130
|
path,
|
|
@@ -157,7 +159,8 @@ async function resolveHTTPResponse(opts) {
|
|
|
157
159
|
req
|
|
158
160
|
});
|
|
159
161
|
return endResponse({
|
|
160
|
-
error:
|
|
162
|
+
error: transformTRPCResponse.getErrorShape({
|
|
163
|
+
config: router._def._config,
|
|
161
164
|
error,
|
|
162
165
|
type,
|
|
163
166
|
path: undefined,
|