@trpc/server 10.42.0 → 10.43.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{TRPCError-816ff32e.mjs → TRPCError-689e79f1.mjs} +4 -0
- package/dist/{TRPCError-ae7b67e8.js → TRPCError-84cb03cf.js} +4 -0
- package/dist/{TRPCError-efecb077.js → TRPCError-962a4050.js} +4 -0
- package/dist/adapters/aws-lambda/index.js +4 -4
- package/dist/adapters/aws-lambda/index.mjs +4 -4
- package/dist/adapters/express.js +5 -5
- package/dist/adapters/express.mjs +5 -5
- package/dist/adapters/fastify/index.js +5 -4
- package/dist/adapters/fastify/index.mjs +5 -4
- package/dist/adapters/fetch/index.js +4 -4
- package/dist/adapters/fetch/index.mjs +4 -4
- package/dist/adapters/next.js +5 -5
- package/dist/adapters/next.mjs +5 -5
- package/dist/adapters/node-http/content-type/json/index.js +2 -2
- package/dist/adapters/node-http/content-type/json/index.mjs +2 -2
- package/dist/adapters/node-http/index.js +5 -5
- package/dist/adapters/node-http/index.mjs +5 -5
- package/dist/adapters/standalone.js +5 -5
- package/dist/adapters/standalone.mjs +5 -5
- package/dist/adapters/ws.d.ts +0 -3
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +5 -57
- package/dist/adapters/ws.mjs +6 -57
- package/dist/{config-4c0f8e88.mjs → config-00ffd309.mjs} +1 -1
- package/dist/{config-3ab6b85e.js → config-5b776b89.js} +1 -1
- package/dist/{config-f356f2fd.js → config-88ea7a88.js} +1 -1
- package/dist/{contentType-90bad7bb.js → contentType-10776292.js} +1 -1
- package/dist/{contentType-9940f5d7.js → contentType-5b6b46af.js} +1 -1
- package/dist/{contentType-93515a46.mjs → contentType-778b33c3.mjs} +1 -1
- package/dist/core/internals/procedureBuilder.d.ts +1 -1
- package/dist/core/internals/procedureBuilder.d.ts.map +1 -1
- package/dist/core/middleware.d.ts +3 -3
- package/dist/core/middleware.d.ts.map +1 -1
- package/dist/error/TRPCError.d.ts.map +1 -1
- package/dist/http/index.js +4 -4
- package/dist/http/index.mjs +4 -4
- package/dist/index.js +2 -2
- package/dist/index.mjs +4 -4
- package/dist/{nodeHTTPRequestHandler-cf01c646.mjs → nodeHTTPRequestHandler-04c42df8.mjs} +1 -1
- package/dist/{nodeHTTPRequestHandler-9781faee.js → nodeHTTPRequestHandler-23a5beed.js} +1 -1
- package/dist/{nodeHTTPRequestHandler-b7d358fe.js → nodeHTTPRequestHandler-477b8bae.js} +1 -1
- package/dist/parseTRPCMessage-1377f305.js +56 -0
- package/dist/parseTRPCMessage-95955211.js +63 -0
- package/dist/parseTRPCMessage-a0f17853.mjs +54 -0
- package/dist/{resolveHTTPResponse-051b3a40.js → resolveHTTPResponse-c4987dce.js} +3 -3
- package/dist/{resolveHTTPResponse-68c8befb.mjs → resolveHTTPResponse-cd1a9112.mjs} +3 -3
- package/dist/{resolveHTTPResponse-79011e44.js → resolveHTTPResponse-d17198ff.js} +3 -3
- package/dist/rpc/index.d.ts +1 -0
- package/dist/rpc/index.d.ts.map +1 -1
- package/dist/rpc/index.js +2 -0
- package/dist/rpc/index.mjs +1 -0
- package/dist/rpc/parseTRPCMessage.d.ts +5 -0
- package/dist/rpc/parseTRPCMessage.d.ts.map +1 -0
- package/dist/shared/internal/serialize.d.ts +4 -3
- package/dist/shared/internal/serialize.d.ts.map +1 -1
- package/dist/subscription.js +1 -1
- package/dist/subscription.mjs +1 -1
- package/package.json +7 -4
- package/src/adapters/ws.ts +3 -79
- package/src/core/internals/procedureBuilder.ts +3 -1
- package/src/core/middleware.ts +2 -7
- package/src/error/TRPCError.ts +5 -0
- package/src/rpc/index.ts +1 -0
- package/src/rpc/parseTRPCMessage.ts +84 -0
- package/src/shared/internal/serialize.ts +15 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EACL,YAAY,IAAI,aAAa,EAC7B,gBAAgB,EAChB,SAAS,
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TRPCError.d.ts","sourceRoot":"","sources":["../../src/error/TRPCError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAoBjE;AAiCD,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,KAAK,CAAC,EAAE,KAAK,CAAC;IAC9B,SAAgB,IAAI,qSAAC;gBAET,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;
|
|
1
|
+
{"version":3,"file":"TRPCError.d.ts","sourceRoot":"","sources":["../../src/error/TRPCError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAoBjE;AAiCD,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,KAAK,CAAC,EAAE,KAAK,CAAC;IAC9B,SAAgB,IAAI,qSAAC;gBAET,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAgBF"}
|
package/dist/http/index.js
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var index = require('../index-784ff647.js');
|
|
6
|
-
var resolveHTTPResponse = require('../resolveHTTPResponse-
|
|
6
|
+
var resolveHTTPResponse = require('../resolveHTTPResponse-d17198ff.js');
|
|
7
7
|
var batchStreamFormatter = require('../batchStreamFormatter-93cdcdd4.js');
|
|
8
8
|
require('../codes-87f6824b.js');
|
|
9
|
-
require('../config-
|
|
10
|
-
require('../TRPCError-
|
|
9
|
+
require('../config-5b776b89.js');
|
|
10
|
+
require('../TRPCError-84cb03cf.js');
|
|
11
11
|
require('../transformTRPCResponse-e65f34e9.js');
|
|
12
|
-
require('../contentType-
|
|
12
|
+
require('../contentType-10776292.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
package/dist/http/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { T as TRPC_ERROR_CODES_BY_NUMBER, b as getHTTPStatusCode, g as getHTTPStatusCodeFromError } from '../index-f91d720c.mjs';
|
|
2
|
-
export { r as resolveHTTPResponse } from '../resolveHTTPResponse-
|
|
2
|
+
export { r as resolveHTTPResponse } from '../resolveHTTPResponse-cd1a9112.mjs';
|
|
3
3
|
export { g as getBatchStreamFormatter } from '../batchStreamFormatter-fc1ffb26.mjs';
|
|
4
4
|
import '../codes-c924c3db.mjs';
|
|
5
|
-
import '../config-
|
|
6
|
-
import '../TRPCError-
|
|
5
|
+
import '../config-00ffd309.mjs';
|
|
6
|
+
import '../TRPCError-689e79f1.mjs';
|
|
7
7
|
import '../transformTRPCResponse-1153b421.mjs';
|
|
8
|
-
import '../contentType-
|
|
8
|
+
import '../contentType-778b33c3.mjs';
|
package/dist/index.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var config = require('./config-
|
|
6
|
-
var TRPCError = require('./TRPCError-
|
|
5
|
+
var config = require('./config-5b776b89.js');
|
|
6
|
+
var TRPCError = require('./TRPCError-84cb03cf.js');
|
|
7
7
|
var index = require('./index-784ff647.js');
|
|
8
8
|
var codes = require('./codes-87f6824b.js');
|
|
9
9
|
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { c as createRouterFactory, d as defaultFormatter, a as defaultTransformer, g as getDataTransformer$1, i as isServerDefault } from './config-
|
|
2
|
-
export { b as callProcedure, a as defaultTransformer, g as getDataTransformer, p as procedureTypes } from './config-
|
|
3
|
-
import { T as TRPCError, g as getTRPCErrorFromUnknown } from './TRPCError-
|
|
4
|
-
export { T as TRPCError, g as getTRPCErrorFromUnknown } from './TRPCError-
|
|
1
|
+
import { c as createRouterFactory, d as defaultFormatter, a as defaultTransformer, g as getDataTransformer$1, i as isServerDefault } from './config-00ffd309.mjs';
|
|
2
|
+
export { b as callProcedure, a as defaultTransformer, g as getDataTransformer, p as procedureTypes } from './config-00ffd309.mjs';
|
|
3
|
+
import { T as TRPCError, g as getTRPCErrorFromUnknown } from './TRPCError-689e79f1.mjs';
|
|
4
|
+
export { T as TRPCError, g as getTRPCErrorFromUnknown } from './TRPCError-689e79f1.mjs';
|
|
5
5
|
import { g as getHTTPStatusCodeFromError, c as createFlatProxy } from './index-f91d720c.mjs';
|
|
6
6
|
import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-c924c3db.mjs';
|
|
7
7
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import './index-f91d720c.mjs';
|
|
2
|
-
import { r as resolveHTTPResponse } from './resolveHTTPResponse-
|
|
2
|
+
import { r as resolveHTTPResponse } from './resolveHTTPResponse-cd1a9112.mjs';
|
|
3
3
|
import { g as getBatchStreamFormatter } from './batchStreamFormatter-fc1ffb26.mjs';
|
|
4
4
|
import { nodeHTTPJSONContentTypeHandler } from './adapters/node-http/content-type/json/index.mjs';
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import './index-46cb3130.js';
|
|
2
|
-
import { r as resolveHTTPResponse } from './resolveHTTPResponse-
|
|
2
|
+
import { r as resolveHTTPResponse } from './resolveHTTPResponse-c4987dce.js';
|
|
3
3
|
import { g as getBatchStreamFormatter } from './batchStreamFormatter-2c1405a1.js';
|
|
4
4
|
import { nodeHTTPJSONContentTypeHandler } from './adapters/node-http/content-type/json/index.js';
|
|
5
5
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('./index-784ff647.js');
|
|
4
|
-
var resolveHTTPResponse = require('./resolveHTTPResponse-
|
|
4
|
+
var resolveHTTPResponse = require('./resolveHTTPResponse-d17198ff.js');
|
|
5
5
|
var batchStreamFormatter = require('./batchStreamFormatter-93cdcdd4.js');
|
|
6
6
|
var adapters_nodeHttp_contentType_json_index = require('./adapters/node-http/content-type/json/index.js');
|
|
7
7
|
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/* istanbul ignore next -- @preserve */ function assertIsObject(obj) {
|
|
4
|
+
if (typeof obj !== 'object' || Array.isArray(obj) || !obj) {
|
|
5
|
+
throw new Error('Not an object');
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/* istanbul ignore next -- @preserve */ function assertIsProcedureType(obj) {
|
|
9
|
+
if (obj !== 'query' && obj !== 'subscription' && obj !== 'mutation') {
|
|
10
|
+
throw new Error('Invalid procedure type');
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/* istanbul ignore next -- @preserve */ function assertIsRequestId(obj) {
|
|
14
|
+
if (obj !== null && typeof obj === 'number' && isNaN(obj) && typeof obj !== 'string') {
|
|
15
|
+
throw new Error('Invalid request id');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/* istanbul ignore next -- @preserve */ function assertIsString(obj) {
|
|
19
|
+
if (typeof obj !== 'string') {
|
|
20
|
+
throw new Error('Invalid string');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/* istanbul ignore next -- @preserve */ function assertIsJSONRPC2OrUndefined(obj) {
|
|
24
|
+
if (typeof obj !== 'undefined' && obj !== '2.0') {
|
|
25
|
+
throw new Error('Must be JSONRPC 2.0');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** @public */ function parseTRPCMessage(obj, transformer) {
|
|
29
|
+
assertIsObject(obj);
|
|
30
|
+
const { id , jsonrpc , method , params } = obj;
|
|
31
|
+
assertIsRequestId(id);
|
|
32
|
+
assertIsJSONRPC2OrUndefined(jsonrpc);
|
|
33
|
+
if (method === 'subscription.stop') {
|
|
34
|
+
return {
|
|
35
|
+
id,
|
|
36
|
+
jsonrpc,
|
|
37
|
+
method
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
assertIsProcedureType(method);
|
|
41
|
+
assertIsObject(params);
|
|
42
|
+
const { input: rawInput , path } = params;
|
|
43
|
+
assertIsString(path);
|
|
44
|
+
const input = transformer.input.deserialize(rawInput);
|
|
45
|
+
return {
|
|
46
|
+
id,
|
|
47
|
+
jsonrpc,
|
|
48
|
+
method,
|
|
49
|
+
params: {
|
|
50
|
+
input,
|
|
51
|
+
path
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
exports.parseTRPCMessage = parseTRPCMessage;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/* istanbul ignore next -- @preserve */
|
|
2
|
+
function assertIsObject(obj) {
|
|
3
|
+
if (typeof obj !== 'object' || Array.isArray(obj) || !obj) {
|
|
4
|
+
throw new Error('Not an object');
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
/* istanbul ignore next -- @preserve */
|
|
8
|
+
function assertIsProcedureType(obj) {
|
|
9
|
+
if (obj !== 'query' && obj !== 'subscription' && obj !== 'mutation') {
|
|
10
|
+
throw new Error('Invalid procedure type');
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/* istanbul ignore next -- @preserve */
|
|
14
|
+
function assertIsRequestId(obj) {
|
|
15
|
+
if (obj !== null &&
|
|
16
|
+
typeof obj === 'number' &&
|
|
17
|
+
isNaN(obj) &&
|
|
18
|
+
typeof obj !== 'string') {
|
|
19
|
+
throw new Error('Invalid request id');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/* istanbul ignore next -- @preserve */
|
|
23
|
+
function assertIsString(obj) {
|
|
24
|
+
if (typeof obj !== 'string') {
|
|
25
|
+
throw new Error('Invalid string');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/* istanbul ignore next -- @preserve */
|
|
29
|
+
function assertIsJSONRPC2OrUndefined(obj) {
|
|
30
|
+
if (typeof obj !== 'undefined' && obj !== '2.0') {
|
|
31
|
+
throw new Error('Must be JSONRPC 2.0');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** @public */
|
|
35
|
+
function parseTRPCMessage(obj, transformer) {
|
|
36
|
+
assertIsObject(obj);
|
|
37
|
+
const { id, jsonrpc, method, params } = obj;
|
|
38
|
+
assertIsRequestId(id);
|
|
39
|
+
assertIsJSONRPC2OrUndefined(jsonrpc);
|
|
40
|
+
if (method === 'subscription.stop') {
|
|
41
|
+
return {
|
|
42
|
+
id,
|
|
43
|
+
jsonrpc,
|
|
44
|
+
method,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
assertIsProcedureType(method);
|
|
48
|
+
assertIsObject(params);
|
|
49
|
+
const { input: rawInput, path } = params;
|
|
50
|
+
assertIsString(path);
|
|
51
|
+
const input = transformer.input.deserialize(rawInput);
|
|
52
|
+
return {
|
|
53
|
+
id,
|
|
54
|
+
jsonrpc,
|
|
55
|
+
method,
|
|
56
|
+
params: {
|
|
57
|
+
input,
|
|
58
|
+
path,
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { parseTRPCMessage as p };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/* istanbul ignore next -- @preserve */ function assertIsObject(obj) {
|
|
2
|
+
if (typeof obj !== 'object' || Array.isArray(obj) || !obj) {
|
|
3
|
+
throw new Error('Not an object');
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
/* istanbul ignore next -- @preserve */ function assertIsProcedureType(obj) {
|
|
7
|
+
if (obj !== 'query' && obj !== 'subscription' && obj !== 'mutation') {
|
|
8
|
+
throw new Error('Invalid procedure type');
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/* istanbul ignore next -- @preserve */ function assertIsRequestId(obj) {
|
|
12
|
+
if (obj !== null && typeof obj === 'number' && isNaN(obj) && typeof obj !== 'string') {
|
|
13
|
+
throw new Error('Invalid request id');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/* istanbul ignore next -- @preserve */ function assertIsString(obj) {
|
|
17
|
+
if (typeof obj !== 'string') {
|
|
18
|
+
throw new Error('Invalid string');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/* istanbul ignore next -- @preserve */ function assertIsJSONRPC2OrUndefined(obj) {
|
|
22
|
+
if (typeof obj !== 'undefined' && obj !== '2.0') {
|
|
23
|
+
throw new Error('Must be JSONRPC 2.0');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** @public */ function parseTRPCMessage(obj, transformer) {
|
|
27
|
+
assertIsObject(obj);
|
|
28
|
+
const { id , jsonrpc , method , params } = obj;
|
|
29
|
+
assertIsRequestId(id);
|
|
30
|
+
assertIsJSONRPC2OrUndefined(jsonrpc);
|
|
31
|
+
if (method === 'subscription.stop') {
|
|
32
|
+
return {
|
|
33
|
+
id,
|
|
34
|
+
jsonrpc,
|
|
35
|
+
method
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
assertIsProcedureType(method);
|
|
39
|
+
assertIsObject(params);
|
|
40
|
+
const { input: rawInput , path } = params;
|
|
41
|
+
assertIsString(path);
|
|
42
|
+
const input = transformer.input.deserialize(rawInput);
|
|
43
|
+
return {
|
|
44
|
+
id,
|
|
45
|
+
jsonrpc,
|
|
46
|
+
method,
|
|
47
|
+
params: {
|
|
48
|
+
input,
|
|
49
|
+
path
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { parseTRPCMessage as p };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { b as callProcedure } from './config-
|
|
2
|
-
import { T as TRPCError, g as getTRPCErrorFromUnknown } from './TRPCError-
|
|
1
|
+
import { b as callProcedure } from './config-88ea7a88.js';
|
|
2
|
+
import { T as TRPCError, g as getTRPCErrorFromUnknown } from './TRPCError-962a4050.js';
|
|
3
3
|
import { t as transformTRPCResponse, g as getErrorShape } from './transformTRPCResponse-20ce3b68.js';
|
|
4
|
-
import { g as getJsonContentTypeInputs } from './contentType-
|
|
4
|
+
import { g as getJsonContentTypeInputs } from './contentType-5b6b46af.js';
|
|
5
5
|
import { b as getHTTPStatusCode } from './index-46cb3130.js';
|
|
6
6
|
|
|
7
7
|
const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { b as callProcedure } from './config-
|
|
2
|
-
import { T as TRPCError, g as getTRPCErrorFromUnknown } from './TRPCError-
|
|
1
|
+
import { b as callProcedure } from './config-00ffd309.mjs';
|
|
2
|
+
import { T as TRPCError, g as getTRPCErrorFromUnknown } from './TRPCError-689e79f1.mjs';
|
|
3
3
|
import { t as transformTRPCResponse, g as getErrorShape } from './transformTRPCResponse-1153b421.mjs';
|
|
4
|
-
import { g as getJsonContentTypeInputs } from './contentType-
|
|
4
|
+
import { g as getJsonContentTypeInputs } from './contentType-778b33c3.mjs';
|
|
5
5
|
import { b as getHTTPStatusCode } from './index-f91d720c.mjs';
|
|
6
6
|
|
|
7
7
|
const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var config = require('./config-
|
|
4
|
-
var TRPCError = require('./TRPCError-
|
|
3
|
+
var config = require('./config-5b776b89.js');
|
|
4
|
+
var TRPCError = require('./TRPCError-84cb03cf.js');
|
|
5
5
|
var transformTRPCResponse = require('./transformTRPCResponse-e65f34e9.js');
|
|
6
|
-
var contentType = require('./contentType-
|
|
6
|
+
var contentType = require('./contentType-10776292.js');
|
|
7
7
|
var index = require('./index-784ff647.js');
|
|
8
8
|
|
|
9
9
|
const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
|
package/dist/rpc/index.d.ts
CHANGED
package/dist/rpc/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
|
package/dist/rpc/index.js
CHANGED
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var codes = require('../codes-87f6824b.js');
|
|
6
|
+
var parseTRPCMessage = require('../parseTRPCMessage-1377f305.js');
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
exports.TRPC_ERROR_CODES_BY_KEY = codes.TRPC_ERROR_CODES_BY_KEY;
|
|
10
11
|
exports.TRPC_ERROR_CODES_BY_NUMBER = codes.TRPC_ERROR_CODES_BY_NUMBER;
|
|
12
|
+
exports.parseTRPCMessage = parseTRPCMessage.parseTRPCMessage;
|
package/dist/rpc/index.mjs
CHANGED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CombinedDataTransformer } from '../transformer';
|
|
2
|
+
import type { TRPCClientOutgoingMessage } from './envelopes';
|
|
3
|
+
/** @public */
|
|
4
|
+
export declare function parseTRPCMessage(obj: unknown, transformer: CombinedDataTransformer): TRPCClientOutgoingMessage;
|
|
5
|
+
//# sourceMappingURL=parseTRPCMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseTRPCMessage.d.ts","sourceRoot":"","sources":["../../src/rpc/parseTRPCMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AA8C7D,cAAc;AACd,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,uBAAuB,GACnC,yBAAyB,CA+B3B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Simplify } from '../../types';
|
|
2
2
|
/**
|
|
3
3
|
* @link https://github.com/remix-run/remix/blob/2248669ed59fd716e267ea41df5d665d4781f4a9/packages/remix-server-runtime/serialize.ts
|
|
4
4
|
*/
|
|
@@ -6,19 +6,20 @@ type JsonPrimitive = boolean | number | string | null;
|
|
|
6
6
|
type NonJsonPrimitive = Function | symbol | undefined;
|
|
7
7
|
type IsAny<T> = 0 extends T & 1 ? true : false;
|
|
8
8
|
type JsonReturnable = JsonPrimitive | undefined;
|
|
9
|
-
export type Serialize<T> = IsAny<T> extends true ? any : T extends JsonReturnable ? T : T extends Map<any, any> | Set<any> ? object : T extends NonJsonPrimitive ? never : T extends {
|
|
9
|
+
export type Serialize<T> = IsAny<T> extends true ? any : unknown extends T ? unknown : T extends JsonReturnable ? T : T extends Map<any, any> | Set<any> ? object : T extends NonJsonPrimitive ? never : T extends {
|
|
10
10
|
toJSON(): infer U;
|
|
11
11
|
} ? U : T extends [] ? [] : T extends [unknown, ...unknown[]] ? SerializeTuple<T> : T extends readonly (infer U)[] ? (U extends NonJsonPrimitive ? null : Serialize<U>)[] : T extends object ? Simplify<SerializeObject<UndefinedToOptional<T>>> : never;
|
|
12
12
|
/** JSON serialize [tuples](https://www.typescriptlang.org/docs/handbook/2/objects.html#tuple-types) */
|
|
13
13
|
type SerializeTuple<T extends [unknown, ...unknown[]]> = {
|
|
14
14
|
[k in keyof T]: T[k] extends NonJsonPrimitive ? null : Serialize<T[k]>;
|
|
15
15
|
};
|
|
16
|
+
type SerializeObjectKey<T extends Record<any, any>, TKey> = TKey extends symbol ? never : IsAny<T[TKey]> extends true ? TKey : unknown extends T[TKey] ? TKey : T[TKey] extends NonJsonPrimitive ? never : TKey;
|
|
16
17
|
/**
|
|
17
18
|
* JSON serialize objects (not including arrays) and classes
|
|
18
19
|
* @internal
|
|
19
20
|
**/
|
|
20
21
|
export type SerializeObject<T extends object> = {
|
|
21
|
-
[
|
|
22
|
+
[$Key in keyof T as SerializeObjectKey<T, $Key>]: Serialize<T[$Key]>;
|
|
22
23
|
};
|
|
23
24
|
type FilterDefinedKeys<TObj extends object> = Exclude<{
|
|
24
25
|
[TKey in keyof TObj]: undefined extends TObj[TKey] ? never : TKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/shared/internal/serialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/shared/internal/serialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;GAEG;AACH,KAAK,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEtD,KAAK,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAKtD,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAK/C,KAAK,cAAc,GAAG,aAAa,GAAG,SAAS,CAAC;AAGhD,MAAM,MAAM,SAAS,CAAC,CAAC,IACrB,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG,GAC3B,OAAO,SAAS,CAAC,GAAG,OAAO,GAC3B,CAAC,SAAS,cAAc,GAAG,CAAC,GAC5B,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAC3C,CAAC,SAAS,gBAAgB,GAAG,KAAK,GAClC,CAAC,SAAS;IAAE,MAAM,IAAI,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GACnC,CAAC,SAAS,EAAE,GAAG,EAAE,GACjB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GACrD,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GACrF,CAAC,SAAS,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GACpE,KAAK,CAAC;AAER,uGAAuG;AACvG,KAAK,cAAc,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI;KACtD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAGF,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,IAEtD,IAAI,SAAS,MAAM,GAAG,KAAK,GAE3B,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,GAElC,OAAO,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAE9B,CAAC,CAAC,IAAI,CAAC,SAAS,gBAAgB,GAAG,KAAK,GAExC,IAAI,CAAC;AACP;;;IAGI;AACJ,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;KAC7C,IAAI,IAAI,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;CACrE,CAAC;AAEF,KAAK,iBAAiB,CAAC,IAAI,SAAS,MAAM,IAAI,OAAO,CACnD;KACG,IAAI,IAAI,MAAM,IAAI,GAAG,SAAS,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI;CAClE,CAAC,MAAM,IAAI,CAAC,EACb,SAAS,CACV,CAAC;AAQF,KAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAEvC,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG;KAE7B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CACtE,CAAC"}
|
package/dist/subscription.js
CHANGED
package/dist/subscription.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/server",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.43.1",
|
|
4
4
|
"description": "The tRPC server library",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -8,6 +8,9 @@
|
|
|
8
8
|
"module": "dist/index.mjs",
|
|
9
9
|
"typings": "dist/index.d.ts",
|
|
10
10
|
"homepage": "https://trpc.io",
|
|
11
|
+
"engines": {
|
|
12
|
+
"node": ">=18.0.0"
|
|
13
|
+
},
|
|
11
14
|
"repository": {
|
|
12
15
|
"type": "git",
|
|
13
16
|
"url": "git+https://github.com/trpc/trpc.git",
|
|
@@ -35,7 +38,7 @@
|
|
|
35
38
|
"codegen-entrypoints": "tsx entrypoints.script.ts",
|
|
36
39
|
"benchmark": "tsc --project tsconfig.benchmark.json",
|
|
37
40
|
"lint": "eslint --cache --ext \".js,.ts,.tsx\" --ignore-path ../../.gitignore --report-unused-disable-directives src",
|
|
38
|
-
"ts-watch": "tsc --
|
|
41
|
+
"ts-watch": "tsc --watch"
|
|
39
42
|
},
|
|
40
43
|
"exports": {
|
|
41
44
|
"./package.json": "./package.json",
|
|
@@ -164,7 +167,7 @@
|
|
|
164
167
|
"tslib": "^2.5.0",
|
|
165
168
|
"tsx": "^3.12.7",
|
|
166
169
|
"typescript": "^5.1.3",
|
|
167
|
-
"valibot": "^0.
|
|
170
|
+
"valibot": "^0.20.0",
|
|
168
171
|
"vitest": "^0.32.0",
|
|
169
172
|
"ws": "^8.0.0",
|
|
170
173
|
"yup": "^1.0.0",
|
|
@@ -173,5 +176,5 @@
|
|
|
173
176
|
"funding": [
|
|
174
177
|
"https://trpc.io/sponsor"
|
|
175
178
|
],
|
|
176
|
-
"gitHead": "
|
|
179
|
+
"gitHead": "c20cff51a2f6391d1b4b584eb4e547d2d5c65f13"
|
|
177
180
|
}
|
package/src/adapters/ws.ts
CHANGED
|
@@ -1,99 +1,23 @@
|
|
|
1
1
|
import { IncomingMessage } from 'http';
|
|
2
2
|
import ws from 'ws';
|
|
3
|
-
import {
|
|
4
|
-
AnyRouter,
|
|
5
|
-
callProcedure,
|
|
6
|
-
inferRouterContext,
|
|
7
|
-
ProcedureType,
|
|
8
|
-
} from '../core';
|
|
3
|
+
import { AnyRouter, callProcedure, inferRouterContext } from '../core';
|
|
9
4
|
import { getTRPCErrorFromUnknown, TRPCError } from '../error/TRPCError';
|
|
10
5
|
import { BaseHandlerOptions } from '../internals/types';
|
|
11
6
|
import { isObservable, Unsubscribable } from '../observable';
|
|
12
7
|
import {
|
|
13
8
|
JSONRPC2,
|
|
9
|
+
parseTRPCMessage,
|
|
14
10
|
TRPCClientOutgoingMessage,
|
|
15
11
|
TRPCReconnectNotification,
|
|
16
12
|
TRPCResponseMessage,
|
|
17
13
|
} from '../rpc';
|
|
18
14
|
import { getErrorShape } from '../shared/getErrorShape';
|
|
19
15
|
import { transformTRPCResponse } from '../shared/transformTRPCResponse';
|
|
20
|
-
import { CombinedDataTransformer } from '../transformer';
|
|
21
16
|
import {
|
|
22
17
|
NodeHTTPCreateContextFnOptions,
|
|
23
18
|
NodeHTTPCreateContextOption,
|
|
24
19
|
} from './node-http';
|
|
25
20
|
|
|
26
|
-
/* istanbul ignore next -- @preserve */
|
|
27
|
-
function assertIsObject(obj: unknown): asserts obj is Record<string, unknown> {
|
|
28
|
-
if (typeof obj !== 'object' || Array.isArray(obj) || !obj) {
|
|
29
|
-
throw new Error('Not an object');
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/* istanbul ignore next -- @preserve */
|
|
33
|
-
function assertIsProcedureType(obj: unknown): asserts obj is ProcedureType {
|
|
34
|
-
if (obj !== 'query' && obj !== 'subscription' && obj !== 'mutation') {
|
|
35
|
-
throw new Error('Invalid procedure type');
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/* istanbul ignore next -- @preserve */
|
|
39
|
-
function assertIsRequestId(
|
|
40
|
-
obj: unknown,
|
|
41
|
-
): asserts obj is number | string | null {
|
|
42
|
-
if (
|
|
43
|
-
obj !== null &&
|
|
44
|
-
typeof obj === 'number' &&
|
|
45
|
-
isNaN(obj) &&
|
|
46
|
-
typeof obj !== 'string'
|
|
47
|
-
) {
|
|
48
|
-
throw new Error('Invalid request id');
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/* istanbul ignore next -- @preserve */
|
|
52
|
-
function assertIsString(obj: unknown): asserts obj is string {
|
|
53
|
-
if (typeof obj !== 'string') {
|
|
54
|
-
throw new Error('Invalid string');
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
/* istanbul ignore next -- @preserve */
|
|
58
|
-
function assertIsJSONRPC2OrUndefined(
|
|
59
|
-
obj: unknown,
|
|
60
|
-
): asserts obj is '2.0' | undefined {
|
|
61
|
-
if (typeof obj !== 'undefined' && obj !== '2.0') {
|
|
62
|
-
throw new Error('Must be JSONRPC 2.0');
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
export function parseMessage(
|
|
66
|
-
obj: unknown,
|
|
67
|
-
transformer: CombinedDataTransformer,
|
|
68
|
-
): TRPCClientOutgoingMessage {
|
|
69
|
-
assertIsObject(obj);
|
|
70
|
-
const { method, params, id, jsonrpc } = obj;
|
|
71
|
-
assertIsRequestId(id);
|
|
72
|
-
assertIsJSONRPC2OrUndefined(jsonrpc);
|
|
73
|
-
if (method === 'subscription.stop') {
|
|
74
|
-
return {
|
|
75
|
-
id,
|
|
76
|
-
jsonrpc,
|
|
77
|
-
method,
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
assertIsProcedureType(method);
|
|
81
|
-
assertIsObject(params);
|
|
82
|
-
|
|
83
|
-
const { input: rawInput, path } = params;
|
|
84
|
-
assertIsString(path);
|
|
85
|
-
const input = transformer.input.deserialize(rawInput);
|
|
86
|
-
return {
|
|
87
|
-
id,
|
|
88
|
-
jsonrpc,
|
|
89
|
-
method,
|
|
90
|
-
params: {
|
|
91
|
-
input,
|
|
92
|
-
path,
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
|
|
97
21
|
/**
|
|
98
22
|
* Web socket server handler
|
|
99
23
|
*/
|
|
@@ -284,7 +208,7 @@ export function applyWSSHandler<TRouter extends AnyRouter>(
|
|
|
284
208
|
const msgJSON: unknown = JSON.parse(message.toString());
|
|
285
209
|
const msgs: unknown[] = Array.isArray(msgJSON) ? msgJSON : [msgJSON];
|
|
286
210
|
const promises = msgs
|
|
287
|
-
.map((raw) =>
|
|
211
|
+
.map((raw) => parseTRPCMessage(raw, transformer))
|
|
288
212
|
.map(handleRequest);
|
|
289
213
|
await Promise.all(promises);
|
|
290
214
|
} catch (cause) {
|
|
@@ -36,7 +36,9 @@ type CreateProcedureReturnInput<
|
|
|
36
36
|
_config: TPrev['_config'];
|
|
37
37
|
_meta: TPrev['_meta'];
|
|
38
38
|
_ctx_out: Overwrite<TPrev['_ctx_out'], TNext['_ctx_out']>;
|
|
39
|
-
_input_in:
|
|
39
|
+
_input_in: UnsetMarker extends TNext['_input_in']
|
|
40
|
+
? TPrev['_input_in']
|
|
41
|
+
: Overwrite<TPrev['_input_in'], TNext['_input_in']>;
|
|
40
42
|
_input_out: UnsetMarker extends TNext['_input_out']
|
|
41
43
|
? TPrev['_input_out']
|
|
42
44
|
: Overwrite<TPrev['_input_out'], TNext['_input_out']>;
|
package/src/core/middleware.ts
CHANGED
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
DefaultValue as FallbackValue,
|
|
8
8
|
MiddlewareMarker,
|
|
9
9
|
Overwrite,
|
|
10
|
-
UnsetMarker,
|
|
11
10
|
} from './internals/utils';
|
|
12
11
|
import { ProcedureParams } from './procedure';
|
|
13
12
|
import { ProcedureType } from './types';
|
|
@@ -65,9 +64,7 @@ export interface MiddlewareBuilder<
|
|
|
65
64
|
_meta: TRoot['_meta'];
|
|
66
65
|
_ctx_out: Overwrite<TRoot['_ctx_out'], TNewParams['_ctx_out']>;
|
|
67
66
|
_input_in: FallbackValue<TRoot['_input_in'], TNewParams['_input_in']>;
|
|
68
|
-
_input_out:
|
|
69
|
-
? TRoot['_input_out']
|
|
70
|
-
: Overwrite<TRoot['_input_out'], TNewParams['_input_out']>;
|
|
67
|
+
_input_out: FallbackValue<TRoot['_input_out'], TNewParams['_input_out']>;
|
|
71
68
|
_output_in: FallbackValue<TRoot['_output_in'], TNewParams['_output_in']>;
|
|
72
69
|
_output_out: FallbackValue<
|
|
73
70
|
TRoot['_output_out'],
|
|
@@ -105,9 +102,7 @@ type CreateMiddlewareReturnInput<
|
|
|
105
102
|
_meta: TPrev['_meta'];
|
|
106
103
|
_ctx_out: Overwrite<TPrev['_ctx_out'], TNext['_ctx_out']>;
|
|
107
104
|
_input_in: FallbackValue<TNext['_input_in'], TPrev['_input_in']>;
|
|
108
|
-
_input_out:
|
|
109
|
-
? TPrev['_input_out']
|
|
110
|
-
: Overwrite<TPrev['_input_out'], TNext['_input_out']>;
|
|
105
|
+
_input_out: FallbackValue<TNext['_input_out'], TPrev['_input_out']>;
|
|
111
106
|
_output_in: FallbackValue<TNext['_output_in'], TPrev['_output_in']>;
|
|
112
107
|
_output_out: FallbackValue<TNext['_output_out'], TPrev['_output_out']>;
|
|
113
108
|
}
|
package/src/error/TRPCError.ts
CHANGED
package/src/rpc/index.ts
CHANGED