@trpc/server 10.19.1 → 10.21.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.
Files changed (47) hide show
  1. package/dist/{TRPCError-98f26ad6.js → TRPCError-16b2e52d.js} +17 -17
  2. package/dist/{TRPCError-226f5343.mjs → TRPCError-2b10c8d2.mjs} +17 -17
  3. package/dist/{TRPCError-92d93cfd.js → TRPCError-61026c9a.js} +18 -16
  4. package/dist/adapters/aws-lambda/index.js +3 -3
  5. package/dist/adapters/aws-lambda/index.mjs +3 -3
  6. package/dist/adapters/express.js +4 -4
  7. package/dist/adapters/express.mjs +4 -4
  8. package/dist/adapters/fastify/index.js +3 -3
  9. package/dist/adapters/fastify/index.mjs +3 -3
  10. package/dist/adapters/fetch/index.js +3 -3
  11. package/dist/adapters/fetch/index.mjs +3 -3
  12. package/dist/adapters/next.js +4 -4
  13. package/dist/adapters/next.mjs +4 -4
  14. package/dist/adapters/node-http/index.js +4 -4
  15. package/dist/adapters/node-http/index.mjs +4 -4
  16. package/dist/adapters/standalone.js +4 -4
  17. package/dist/adapters/standalone.mjs +4 -4
  18. package/dist/adapters/ws.js +2 -2
  19. package/dist/adapters/ws.mjs +2 -2
  20. package/dist/{config-5a160c0a.js → config-2d85b8f0.js} +1 -1
  21. package/dist/{config-ac338fb5.js → config-e6e74385.js} +1 -1
  22. package/dist/{config-e6667f01.mjs → config-f0387de5.mjs} +1 -1
  23. package/dist/core/internals/utils.d.ts +3 -1
  24. package/dist/core/internals/utils.d.ts.map +1 -1
  25. package/dist/error/TRPCError.d.ts.map +1 -1
  26. package/dist/error/utils.d.ts +3 -1
  27. package/dist/error/utils.d.ts.map +1 -1
  28. package/dist/http/index.js +3 -3
  29. package/dist/http/index.mjs +3 -3
  30. package/dist/index.js +2 -2
  31. package/dist/index.mjs +4 -4
  32. package/dist/{nodeHTTPRequestHandler-ce6076c7.mjs → nodeHTTPRequestHandler-2718f9d8.mjs} +2 -2
  33. package/dist/{nodeHTTPRequestHandler-60b0ea51.js → nodeHTTPRequestHandler-64a40c7d.js} +2 -2
  34. package/dist/{nodeHTTPRequestHandler-7ef0430a.js → nodeHTTPRequestHandler-b7fa74a0.js} +2 -2
  35. package/dist/{resolveHTTPResponse-71ebed35.js → resolveHTTPResponse-1fb1d8c3.js} +2 -2
  36. package/dist/{resolveHTTPResponse-ad4ed167.js → resolveHTTPResponse-2a931446.js} +2 -2
  37. package/dist/{resolveHTTPResponse-f10d45af.mjs → resolveHTTPResponse-6c8965e4.mjs} +2 -2
  38. package/dist/shared/internal/serialize.d.ts +2 -1
  39. package/dist/shared/internal/serialize.d.ts.map +1 -1
  40. package/dist/subscription.js +1 -1
  41. package/dist/subscription.mjs +1 -1
  42. package/package.json +2 -2
  43. package/src/core/internals/utils.ts +7 -1
  44. package/src/error/TRPCError.ts +8 -14
  45. package/src/error/utils.ts +12 -9
  46. package/src/observable/operators/map.test.ts +0 -1
  47. package/src/shared/internal/serialize.ts +6 -2
@@ -1,21 +1,22 @@
1
1
  'use strict';
2
2
 
3
- function getMessageFromUnknownError(err, fallback) {
3
+ /**
4
+ * @internal
5
+ */ function isObject(value) {
6
+ // check that value is object
7
+ return !!value && !Array.isArray(value) && typeof value === 'object';
8
+ }
9
+ /**
10
+ * @internal
11
+ */ function getMessageFromUnknownError(err, fallback) {
4
12
  if (typeof err === 'string') {
5
13
  return err;
6
14
  }
7
- if (err instanceof Error && typeof err.message === 'string') {
15
+ if (isObject(err) && typeof err.message === 'string') {
8
16
  return err.message;
9
17
  }
10
18
  return fallback;
11
19
  }
12
- function getErrorFromUnknown(cause) {
13
- if (cause instanceof Error) {
14
- return cause;
15
- }
16
- const message = getMessageFromUnknownError(cause, 'Unknown error');
17
- return new Error(message);
18
- }
19
20
  function getCauseFromUnknown(cause) {
20
21
  if (cause instanceof Error) {
21
22
  return cause;
@@ -24,27 +25,26 @@ function getCauseFromUnknown(cause) {
24
25
  }
25
26
 
26
27
  function getTRPCErrorFromUnknown(cause) {
27
- const error = getErrorFromUnknown(cause);
28
- if (error instanceof TRPCError) {
29
- return error;
28
+ if (cause instanceof TRPCError) {
29
+ return cause;
30
30
  }
31
31
  const trpcError = new TRPCError({
32
32
  code: 'INTERNAL_SERVER_ERROR',
33
- cause: error,
34
- message: error.message
33
+ cause
35
34
  });
36
35
  // Inherit stack from error
37
- trpcError.stack = error.stack;
36
+ if (cause instanceof Error && cause.stack) {
37
+ trpcError.stack = cause.stack;
38
+ }
38
39
  return trpcError;
39
40
  }
40
41
  class TRPCError extends Error {
41
42
  constructor(opts){
42
43
  const message = opts.message ?? getMessageFromUnknownError(opts.cause, opts.code);
43
- const cause = opts.cause !== undefined ? getErrorFromUnknown(opts.cause) : undefined;
44
44
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
45
45
  // @ts-ignore https://github.com/tc39/proposal-error-cause
46
46
  super(message, {
47
- cause
47
+ cause: opts.cause
48
48
  });
49
49
  this.code = opts.code;
50
50
  this.name = this.constructor.name;
@@ -1,19 +1,20 @@
1
- function getMessageFromUnknownError(err, fallback) {
1
+ /**
2
+ * @internal
3
+ */ function isObject(value) {
4
+ // check that value is object
5
+ return !!value && !Array.isArray(value) && typeof value === 'object';
6
+ }
7
+ /**
8
+ * @internal
9
+ */ function getMessageFromUnknownError(err, fallback) {
2
10
  if (typeof err === 'string') {
3
11
  return err;
4
12
  }
5
- if (err instanceof Error && typeof err.message === 'string') {
13
+ if (isObject(err) && typeof err.message === 'string') {
6
14
  return err.message;
7
15
  }
8
16
  return fallback;
9
17
  }
10
- function getErrorFromUnknown(cause) {
11
- if (cause instanceof Error) {
12
- return cause;
13
- }
14
- const message = getMessageFromUnknownError(cause, 'Unknown error');
15
- return new Error(message);
16
- }
17
18
  function getCauseFromUnknown(cause) {
18
19
  if (cause instanceof Error) {
19
20
  return cause;
@@ -22,27 +23,26 @@ function getCauseFromUnknown(cause) {
22
23
  }
23
24
 
24
25
  function getTRPCErrorFromUnknown(cause) {
25
- const error = getErrorFromUnknown(cause);
26
- if (error instanceof TRPCError) {
27
- return error;
26
+ if (cause instanceof TRPCError) {
27
+ return cause;
28
28
  }
29
29
  const trpcError = new TRPCError({
30
30
  code: 'INTERNAL_SERVER_ERROR',
31
- cause: error,
32
- message: error.message
31
+ cause
33
32
  });
34
33
  // Inherit stack from error
35
- trpcError.stack = error.stack;
34
+ if (cause instanceof Error && cause.stack) {
35
+ trpcError.stack = cause.stack;
36
+ }
36
37
  return trpcError;
37
38
  }
38
39
  class TRPCError extends Error {
39
40
  constructor(opts){
40
41
  const message = opts.message ?? getMessageFromUnknownError(opts.cause, opts.code);
41
- const cause = opts.cause !== undefined ? getErrorFromUnknown(opts.cause) : undefined;
42
42
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
43
43
  // @ts-ignore https://github.com/tc39/proposal-error-cause
44
44
  super(message, {
45
- cause
45
+ cause: opts.cause
46
46
  });
47
47
  this.code = opts.code;
48
48
  this.name = this.constructor.name;
@@ -1,19 +1,22 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ function isObject(value) {
5
+ // check that value is object
6
+ return !!value && !Array.isArray(value) && typeof value === 'object';
7
+ }
8
+ /**
9
+ * @internal
10
+ */
1
11
  function getMessageFromUnknownError(err, fallback) {
2
12
  if (typeof err === 'string') {
3
13
  return err;
4
14
  }
5
- if (err instanceof Error && typeof err.message === 'string') {
15
+ if (isObject(err) && typeof err.message === 'string') {
6
16
  return err.message;
7
17
  }
8
18
  return fallback;
9
19
  }
10
- function getErrorFromUnknown(cause) {
11
- if (cause instanceof Error) {
12
- return cause;
13
- }
14
- const message = getMessageFromUnknownError(cause, 'Unknown error');
15
- return new Error(message);
16
- }
17
20
  function getCauseFromUnknown(cause) {
18
21
  if (cause instanceof Error) {
19
22
  return cause;
@@ -22,26 +25,25 @@ function getCauseFromUnknown(cause) {
22
25
  }
23
26
 
24
27
  function getTRPCErrorFromUnknown(cause) {
25
- const error = getErrorFromUnknown(cause);
26
- if (error instanceof TRPCError) {
27
- return error;
28
+ if (cause instanceof TRPCError) {
29
+ return cause;
28
30
  }
29
31
  const trpcError = new TRPCError({
30
32
  code: 'INTERNAL_SERVER_ERROR',
31
- cause: error,
32
- message: error.message,
33
+ cause,
33
34
  });
34
35
  // Inherit stack from error
35
- trpcError.stack = error.stack;
36
+ if (cause instanceof Error && cause.stack) {
37
+ trpcError.stack = cause.stack;
38
+ }
36
39
  return trpcError;
37
40
  }
38
41
  class TRPCError extends Error {
39
42
  constructor(opts) {
40
43
  const message = opts.message ?? getMessageFromUnknownError(opts.cause, opts.code);
41
- const cause = opts.cause !== undefined ? getErrorFromUnknown(opts.cause) : undefined;
42
44
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
43
45
  // @ts-ignore https://github.com/tc39/proposal-error-cause
44
- super(message, { cause });
46
+ super(message, { cause: opts.cause });
45
47
  this.code = opts.code;
46
48
  this.name = this.constructor.name;
47
49
  }
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var TRPCError = require('../../TRPCError-98f26ad6.js');
6
- require('../../config-ac338fb5.js');
5
+ var TRPCError = require('../../TRPCError-16b2e52d.js');
6
+ require('../../config-e6e74385.js');
7
7
  require('../../codes-0a561c20.js');
8
- var resolveHTTPResponse = require('../../resolveHTTPResponse-71ebed35.js');
8
+ var resolveHTTPResponse = require('../../resolveHTTPResponse-1fb1d8c3.js');
9
9
  require('../../index-4d2d31b6.js');
10
10
  require('../../transformTRPCResponse-8afb9a5c.js');
11
11
 
@@ -1,7 +1,7 @@
1
- import { T as TRPCError } from '../../TRPCError-226f5343.mjs';
2
- import '../../config-e6667f01.mjs';
1
+ import { T as TRPCError } from '../../TRPCError-2b10c8d2.mjs';
2
+ import '../../config-f0387de5.mjs';
3
3
  import '../../codes-e5d244b6.mjs';
4
- import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-f10d45af.mjs';
4
+ import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-6c8965e4.mjs';
5
5
  import '../../index-972002da.mjs';
6
6
  import '../../transformTRPCResponse-0ea8c0ca.mjs';
7
7
 
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-7ef0430a.js');
6
- require('../resolveHTTPResponse-71ebed35.js');
7
- require('../config-ac338fb5.js');
8
- require('../TRPCError-98f26ad6.js');
5
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-b7fa74a0.js');
6
+ require('../resolveHTTPResponse-1fb1d8c3.js');
7
+ require('../config-e6e74385.js');
8
+ require('../TRPCError-16b2e52d.js');
9
9
  require('../codes-0a561c20.js');
10
10
  require('../index-4d2d31b6.js');
11
11
  require('../transformTRPCResponse-8afb9a5c.js');
@@ -1,7 +1,7 @@
1
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-ce6076c7.mjs';
2
- import '../resolveHTTPResponse-f10d45af.mjs';
3
- import '../config-e6667f01.mjs';
4
- import '../TRPCError-226f5343.mjs';
1
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-2718f9d8.mjs';
2
+ import '../resolveHTTPResponse-6c8965e4.mjs';
3
+ import '../config-f0387de5.mjs';
4
+ import '../TRPCError-2b10c8d2.mjs';
5
5
  import '../codes-e5d244b6.mjs';
6
6
  import '../index-972002da.mjs';
7
7
  import '../transformTRPCResponse-0ea8c0ca.mjs';
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var resolveHTTPResponse = require('../../resolveHTTPResponse-71ebed35.js');
5
+ var resolveHTTPResponse = require('../../resolveHTTPResponse-1fb1d8c3.js');
6
6
  var adapters_ws = require('../ws.js');
7
- require('../../config-ac338fb5.js');
8
- require('../../TRPCError-98f26ad6.js');
7
+ require('../../config-e6e74385.js');
8
+ require('../../TRPCError-16b2e52d.js');
9
9
  require('../../codes-0a561c20.js');
10
10
  require('../../index-4d2d31b6.js');
11
11
  require('../../transformTRPCResponse-8afb9a5c.js');
@@ -1,7 +1,7 @@
1
- import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-f10d45af.mjs';
1
+ import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-6c8965e4.mjs';
2
2
  import { applyWSSHandler } from '../ws.mjs';
3
- import '../../config-e6667f01.mjs';
4
- import '../../TRPCError-226f5343.mjs';
3
+ import '../../config-f0387de5.mjs';
4
+ import '../../TRPCError-2b10c8d2.mjs';
5
5
  import '../../codes-e5d244b6.mjs';
6
6
  import '../../index-972002da.mjs';
7
7
  import '../../transformTRPCResponse-0ea8c0ca.mjs';
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var resolveHTTPResponse = require('../../resolveHTTPResponse-71ebed35.js');
6
- require('../../config-ac338fb5.js');
7
- require('../../TRPCError-98f26ad6.js');
5
+ var resolveHTTPResponse = require('../../resolveHTTPResponse-1fb1d8c3.js');
6
+ require('../../config-e6e74385.js');
7
+ require('../../TRPCError-16b2e52d.js');
8
8
  require('../../codes-0a561c20.js');
9
9
  require('../../index-4d2d31b6.js');
10
10
  require('../../transformTRPCResponse-8afb9a5c.js');
@@ -1,6 +1,6 @@
1
- import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-f10d45af.mjs';
2
- import '../../config-e6667f01.mjs';
3
- import '../../TRPCError-226f5343.mjs';
1
+ import { r as resolveHTTPResponse } from '../../resolveHTTPResponse-6c8965e4.mjs';
2
+ import '../../config-f0387de5.mjs';
3
+ import '../../TRPCError-2b10c8d2.mjs';
4
4
  import '../../codes-e5d244b6.mjs';
5
5
  import '../../index-972002da.mjs';
6
6
  import '../../transformTRPCResponse-0ea8c0ca.mjs';
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var TRPCError = require('../TRPCError-98f26ad6.js');
6
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-7ef0430a.js');
7
- require('../resolveHTTPResponse-71ebed35.js');
8
- require('../config-ac338fb5.js');
5
+ var TRPCError = require('../TRPCError-16b2e52d.js');
6
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-b7fa74a0.js');
7
+ require('../resolveHTTPResponse-1fb1d8c3.js');
8
+ require('../config-e6e74385.js');
9
9
  require('../codes-0a561c20.js');
10
10
  require('../index-4d2d31b6.js');
11
11
  require('../transformTRPCResponse-8afb9a5c.js');
@@ -1,7 +1,7 @@
1
- import { T as TRPCError } from '../TRPCError-226f5343.mjs';
2
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-ce6076c7.mjs';
3
- import '../resolveHTTPResponse-f10d45af.mjs';
4
- import '../config-e6667f01.mjs';
1
+ import { T as TRPCError } from '../TRPCError-2b10c8d2.mjs';
2
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-2718f9d8.mjs';
3
+ import '../resolveHTTPResponse-6c8965e4.mjs';
4
+ import '../config-f0387de5.mjs';
5
5
  import '../codes-e5d244b6.mjs';
6
6
  import '../index-972002da.mjs';
7
7
  import '../transformTRPCResponse-0ea8c0ca.mjs';
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var nodeHTTPRequestHandler = require('../../nodeHTTPRequestHandler-7ef0430a.js');
6
- require('../../resolveHTTPResponse-71ebed35.js');
7
- require('../../config-ac338fb5.js');
8
- require('../../TRPCError-98f26ad6.js');
5
+ var nodeHTTPRequestHandler = require('../../nodeHTTPRequestHandler-b7fa74a0.js');
6
+ require('../../resolveHTTPResponse-1fb1d8c3.js');
7
+ require('../../config-e6e74385.js');
8
+ require('../../TRPCError-16b2e52d.js');
9
9
  require('../../codes-0a561c20.js');
10
10
  require('../../index-4d2d31b6.js');
11
11
  require('../../transformTRPCResponse-8afb9a5c.js');
@@ -1,7 +1,7 @@
1
- export { n as nodeHTTPRequestHandler } from '../../nodeHTTPRequestHandler-ce6076c7.mjs';
2
- import '../../resolveHTTPResponse-f10d45af.mjs';
3
- import '../../config-e6667f01.mjs';
4
- import '../../TRPCError-226f5343.mjs';
1
+ export { n as nodeHTTPRequestHandler } from '../../nodeHTTPRequestHandler-2718f9d8.mjs';
2
+ import '../../resolveHTTPResponse-6c8965e4.mjs';
3
+ import '../../config-f0387de5.mjs';
4
+ import '../../TRPCError-2b10c8d2.mjs';
5
5
  import '../../codes-e5d244b6.mjs';
6
6
  import '../../index-972002da.mjs';
7
7
  import '../../transformTRPCResponse-0ea8c0ca.mjs';
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var http = require('node:http');
6
- var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-7ef0430a.js');
7
- require('../resolveHTTPResponse-71ebed35.js');
8
- require('../config-ac338fb5.js');
9
- require('../TRPCError-98f26ad6.js');
6
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-b7fa74a0.js');
7
+ require('../resolveHTTPResponse-1fb1d8c3.js');
8
+ require('../config-e6e74385.js');
9
+ require('../TRPCError-16b2e52d.js');
10
10
  require('../codes-0a561c20.js');
11
11
  require('../index-4d2d31b6.js');
12
12
  require('../transformTRPCResponse-8afb9a5c.js');
@@ -1,8 +1,8 @@
1
1
  import http from 'node:http';
2
- import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-ce6076c7.mjs';
3
- import '../resolveHTTPResponse-f10d45af.mjs';
4
- import '../config-e6667f01.mjs';
5
- import '../TRPCError-226f5343.mjs';
2
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-2718f9d8.mjs';
3
+ import '../resolveHTTPResponse-6c8965e4.mjs';
4
+ import '../config-f0387de5.mjs';
5
+ import '../TRPCError-2b10c8d2.mjs';
6
6
  import '../codes-e5d244b6.mjs';
7
7
  import '../index-972002da.mjs';
8
8
  import '../transformTRPCResponse-0ea8c0ca.mjs';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var config = require('../config-ac338fb5.js');
6
- var TRPCError = require('../TRPCError-98f26ad6.js');
5
+ var config = require('../config-e6e74385.js');
6
+ var TRPCError = require('../TRPCError-16b2e52d.js');
7
7
  var transformTRPCResponse = require('../transformTRPCResponse-8afb9a5c.js');
8
8
  var observable = require('../observable-464116ac.js');
9
9
  require('../codes-0a561c20.js');
@@ -1,5 +1,5 @@
1
- import { e as callProcedure } from '../config-e6667f01.mjs';
2
- import { T as TRPCError, g as getCauseFromUnknown, a as getTRPCErrorFromUnknown } from '../TRPCError-226f5343.mjs';
1
+ import { e as callProcedure } from '../config-f0387de5.mjs';
2
+ import { T as TRPCError, g as getCauseFromUnknown, a as getTRPCErrorFromUnknown } from '../TRPCError-2b10c8d2.mjs';
3
3
  import { t as transformTRPCResponse } from '../transformTRPCResponse-0ea8c0ca.mjs';
4
4
  import { i as isObservable } from '../observable-ade1bad8.mjs';
5
5
  import '../codes-e5d244b6.mjs';
@@ -1,4 +1,4 @@
1
- import { T as TRPCError } from './TRPCError-92d93cfd.js';
1
+ import { T as TRPCError } from './TRPCError-61026c9a.js';
2
2
  import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './codes-dddd9731.js';
3
3
  import { a as createRecursiveProxy } from './index-f38f12ba.js';
4
4
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var TRPCError = require('./TRPCError-98f26ad6.js');
3
+ var TRPCError = require('./TRPCError-16b2e52d.js');
4
4
  var codes = require('./codes-0a561c20.js');
5
5
  var index = require('./index-4d2d31b6.js');
6
6
 
@@ -1,4 +1,4 @@
1
- import { T as TRPCError } from './TRPCError-226f5343.mjs';
1
+ import { T as TRPCError } from './TRPCError-2b10c8d2.mjs';
2
2
  import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './codes-e5d244b6.mjs';
3
3
  import { a as createRecursiveProxy } from './index-972002da.mjs';
4
4
 
@@ -3,7 +3,9 @@ import { ProcedureParams } from '../procedure';
3
3
  /**
4
4
  * @internal
5
5
  */
6
- export declare type Overwrite<TType, TWith> = Omit<TType, keyof TWith> & TWith;
6
+ export declare type Overwrite<TType, TWith> = {
7
+ [K in keyof TType | keyof TWith]: K extends keyof TWith ? TWith[K] : K extends keyof TType ? TType[K] : never;
8
+ };
7
9
  /**
8
10
  * @internal
9
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/internals/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,oBAAY,SAAS,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,KAAK,CAAC;AACvE;;GAEG;AACH,oBAAY,cAAc,CAAC,KAAK,EAAE,KAAK,IAAI;KACxC,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,SAAS,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;CAChE,CAAC;AACF;;GAEG;AACH,oBAAY,YAAY,CAAC,MAAM,EAAE,SAAS,IAAI,WAAW,SAAS,MAAM,GACpE,SAAS,GACT,MAAM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;aAClB,kBAAkB;CAC5B,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG,OAAO,gBAAgB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AACjD;;GAEG;AACH,oBAAY,WAAW,GAAG,OAAO,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,eAAe;IAC7D,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,WAAW,GAC5C,SAAS,GACT,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,oBAAY,aAAa,CAAC,YAAY,EAAE,cAAc,IACpD,YAAY,SAAS,cAAc,GAC/B,OAAO,CAAC,MAAM,YAAY,EAAE,MAAM,cAAc,CAAC,SAAS,KAAK,GAC7D,YAAY,GACZ,cAAc,GAChB,KAAK,CAAC;AAEZ;;GAEG;AACH,oBAAY,gBAAgB,CAAC,KAAK,EAAE,KAAK,IAAI,SAAS,SAAS,KAAK,GAChE,SAAS,SAAS,KAAK,GACrB,KAAK,GACL,KAAK,GACP,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/internals/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,oBAAY,SAAS,CAAC,KAAK,EAAE,KAAK,IAAI;KACnC,CAAC,IAAI,MAAM,KAAK,GAAG,MAAM,KAAK,GAAG,CAAC,SAAS,MAAM,KAAK,GACnD,KAAK,CAAC,CAAC,CAAC,GACR,CAAC,SAAS,MAAM,KAAK,GACrB,KAAK,CAAC,CAAC,CAAC,GACR,KAAK;CACV,CAAC;AACF;;GAEG;AACH,oBAAY,cAAc,CAAC,KAAK,EAAE,KAAK,IAAI;KACxC,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC,SAAS,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;CAChE,CAAC;AACF;;GAEG;AACH,oBAAY,YAAY,CAAC,MAAM,EAAE,SAAS,IAAI,WAAW,SAAS,MAAM,GACpE,SAAS,GACT,MAAM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;aAClB,kBAAkB;CAC5B,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG,OAAO,gBAAgB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AACjD;;GAEG;AACH,oBAAY,WAAW,GAAG,OAAO,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,eAAe;IAC7D,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,WAAW,GAC5C,SAAS,GACT,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,oBAAY,aAAa,CAAC,YAAY,EAAE,cAAc,IACpD,YAAY,SAAS,cAAc,GAC/B,OAAO,CAAC,MAAM,YAAY,EAAE,MAAM,cAAc,CAAC,SAAS,KAAK,GAC7D,YAAY,GACZ,cAAc,GAChB,KAAK,CAAC;AAEZ;;GAEG;AACH,oBAAY,gBAAgB,CAAC,KAAK,EAAE,KAAK,IAAI,SAAS,SAAS,KAAK,GAChE,SAAS,SAAS,KAAK,GACrB,KAAK,GACL,KAAK,GACP,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TRPCError.d.ts","sourceRoot":"","sources":["../../src/error/TRPCError.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAiBjE;AAED,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,KAAK,CAAC,EAAE,KAAK,CAAC;IAC9B,SAAgB,IAAI,iRAAC;gBAET,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAaF"}
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,CAgBjE;AAED,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,KAAK,CAAC,EAAE,KAAK,CAAC;IAC9B,SAAgB,IAAI,iRAAC;gBAET,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAWF"}
@@ -1,4 +1,6 @@
1
+ /**
2
+ * @internal
3
+ */
1
4
  export declare function getMessageFromUnknownError(err: unknown, fallback: string): string;
2
- export declare function getErrorFromUnknown(cause: unknown): Error;
3
5
  export declare function getCauseFromUnknown(cause: unknown): Error | undefined;
4
6
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/error/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,CAQR;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAMzD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,qBAMjD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/error/utils.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,CAQR;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,qBAMjD"}
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var config = require('../config-ac338fb5.js');
6
- var resolveHTTPResponse = require('../resolveHTTPResponse-71ebed35.js');
7
- require('../TRPCError-98f26ad6.js');
5
+ var config = require('../config-e6e74385.js');
6
+ var resolveHTTPResponse = require('../resolveHTTPResponse-1fb1d8c3.js');
7
+ require('../TRPCError-16b2e52d.js');
8
8
  require('../codes-0a561c20.js');
9
9
  require('../index-4d2d31b6.js');
10
10
  require('../transformTRPCResponse-8afb9a5c.js');
@@ -1,6 +1,6 @@
1
- export { T as TRPC_ERROR_CODES_BY_NUMBER, f as getHTTPStatusCode, g as getHTTPStatusCodeFromError } from '../config-e6667f01.mjs';
2
- export { r as resolveHTTPResponse } from '../resolveHTTPResponse-f10d45af.mjs';
3
- import '../TRPCError-226f5343.mjs';
1
+ export { T as TRPC_ERROR_CODES_BY_NUMBER, f as getHTTPStatusCode, g as getHTTPStatusCodeFromError } from '../config-f0387de5.mjs';
2
+ export { r as resolveHTTPResponse } from '../resolveHTTPResponse-6c8965e4.mjs';
3
+ import '../TRPCError-2b10c8d2.mjs';
4
4
  import '../codes-e5d244b6.mjs';
5
5
  import '../index-972002da.mjs';
6
6
  import '../transformTRPCResponse-0ea8c0ca.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-ac338fb5.js');
6
- var TRPCError = require('./TRPCError-98f26ad6.js');
5
+ var config = require('./config-e6e74385.js');
6
+ var TRPCError = require('./TRPCError-16b2e52d.js');
7
7
  var codes = require('./codes-0a561c20.js');
8
8
  var index = require('./index-4d2d31b6.js');
9
9
 
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { c as createRouterFactory, d as defaultFormatter, g as getHTTPStatusCodeFromError, a as defaultTransformer, b as getDataTransformer$1, i as isServerDefault } from './config-e6667f01.mjs';
2
- export { e as callProcedure, a as defaultTransformer, b as getDataTransformer, p as procedureTypes } from './config-e6667f01.mjs';
3
- import { T as TRPCError, g as getCauseFromUnknown, a as getTRPCErrorFromUnknown } from './TRPCError-226f5343.mjs';
4
- export { T as TRPCError, a as getTRPCErrorFromUnknown } from './TRPCError-226f5343.mjs';
1
+ import { c as createRouterFactory, d as defaultFormatter, g as getHTTPStatusCodeFromError, a as defaultTransformer, b as getDataTransformer$1, i as isServerDefault } from './config-f0387de5.mjs';
2
+ export { e as callProcedure, a as defaultTransformer, b as getDataTransformer, p as procedureTypes } from './config-f0387de5.mjs';
3
+ import { T as TRPCError, g as getCauseFromUnknown, a as getTRPCErrorFromUnknown } from './TRPCError-2b10c8d2.mjs';
4
+ export { T as TRPCError, a as getTRPCErrorFromUnknown } from './TRPCError-2b10c8d2.mjs';
5
5
  import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-e5d244b6.mjs';
6
6
  import { c as createFlatProxy } from './index-972002da.mjs';
7
7
 
@@ -1,5 +1,5 @@
1
- import { r as resolveHTTPResponse } from './resolveHTTPResponse-f10d45af.mjs';
2
- import { T as TRPCError } from './TRPCError-226f5343.mjs';
1
+ import { r as resolveHTTPResponse } from './resolveHTTPResponse-6c8965e4.mjs';
2
+ import { T as TRPCError } from './TRPCError-2b10c8d2.mjs';
3
3
 
4
4
  async function getPostBody(opts) {
5
5
  const { req , maxBodySize =Infinity } = opts;
@@ -1,5 +1,5 @@
1
- import { r as resolveHTTPResponse } from './resolveHTTPResponse-ad4ed167.js';
2
- import { T as TRPCError } from './TRPCError-92d93cfd.js';
1
+ import { r as resolveHTTPResponse } from './resolveHTTPResponse-2a931446.js';
2
+ import { T as TRPCError } from './TRPCError-61026c9a.js';
3
3
 
4
4
  async function getPostBody(opts) {
5
5
  const { req, maxBodySize = Infinity } = opts;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var resolveHTTPResponse = require('./resolveHTTPResponse-71ebed35.js');
4
- var TRPCError = require('./TRPCError-98f26ad6.js');
3
+ var resolveHTTPResponse = require('./resolveHTTPResponse-1fb1d8c3.js');
4
+ var TRPCError = require('./TRPCError-16b2e52d.js');
5
5
 
6
6
  async function getPostBody(opts) {
7
7
  const { req , maxBodySize =Infinity } = opts;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var config = require('./config-ac338fb5.js');
4
- var TRPCError = require('./TRPCError-98f26ad6.js');
3
+ var config = require('./config-e6e74385.js');
4
+ var TRPCError = require('./TRPCError-16b2e52d.js');
5
5
  var transformTRPCResponse = require('./transformTRPCResponse-8afb9a5c.js');
6
6
 
7
7
  const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
@@ -1,5 +1,5 @@
1
- import { e as callProcedure, f as getHTTPStatusCode } from './config-5a160c0a.js';
2
- import { T as TRPCError, a as getTRPCErrorFromUnknown, g as getCauseFromUnknown } from './TRPCError-92d93cfd.js';
1
+ import { e as callProcedure, f as getHTTPStatusCode } from './config-2d85b8f0.js';
2
+ import { T as TRPCError, a as getTRPCErrorFromUnknown, g as getCauseFromUnknown } from './TRPCError-61026c9a.js';
3
3
  import { t as transformTRPCResponse } from './transformTRPCResponse-560a1eb1.js';
4
4
 
5
5
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
@@ -1,5 +1,5 @@
1
- import { e as callProcedure, f as getHTTPStatusCode } from './config-e6667f01.mjs';
2
- import { T as TRPCError, a as getTRPCErrorFromUnknown, g as getCauseFromUnknown } from './TRPCError-226f5343.mjs';
1
+ import { e as callProcedure, f as getHTTPStatusCode } from './config-f0387de5.mjs';
2
+ import { T as TRPCError, a as getTRPCErrorFromUnknown, g as getCauseFromUnknown } from './TRPCError-2b10c8d2.mjs';
3
3
  import { t as transformTRPCResponse } from './transformTRPCResponse-0ea8c0ca.mjs';
4
4
 
5
5
  const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
@@ -5,7 +5,8 @@ import { FilterKeys } from '../../types';
5
5
  declare type JsonPrimitive = string | number | boolean | String | Number | Boolean | null;
6
6
  declare type NonJsonPrimitive = undefined | Function | symbol;
7
7
  declare type IsAny<T> = 0 extends 1 & T ? true : false;
8
- export declare type Serialize<T> = IsAny<T> extends true ? any : T extends JsonPrimitive ? T : T extends Map<any, any> | Set<any> ? object : T extends NonJsonPrimitive ? never : T extends {
8
+ declare type JsonReturnable = JsonPrimitive | undefined;
9
+ export declare 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
10
  toJSON(): infer U;
10
11
  } ? U : T extends [] ? [] : T extends [unknown, ...unknown[]] ? SerializeTuple<T> : T extends ReadonlyArray<infer U> ? (U extends NonJsonPrimitive ? null : Serialize<U>)[] : T extends object ? SerializeObject<UndefinedToOptional<T>> : never;
11
12
  /** JSON serialize [tuples](https://www.typescriptlang.org/docs/handbook/2/objects.html#tuple-types) */
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/shared/internal/serialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,aAAK,aAAa,GACd,MAAM,GACN,MAAM,GACN,OAAO,GAEP,MAAM,GAEN,MAAM,GAEN,OAAO,GACP,IAAI,CAAC;AAET,aAAK,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAMtD,aAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAG/C,oBAAY,SAAS,CAAC,CAAC,IACtB,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG,GAC3B,CAAC,SAAS,aAAa,GAAG,CAAC,GAC3B,CAAC,SAAS,GAAG,CAAC,GAAG,EAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAC1C,CAAC,SAAS,gBAAgB,GAAG,KAAK,GAClC,CAAC,SAAS;IAAE,MAAM,IAAI,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GACnC,CAAC,SAAS,EAAE,GAAG,EAAE,GACjB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GACrD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GACvF,CAAC,SAAS,MAAM,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAC1D,KAAK,CAAC;AAEP,uGAAuG;AACvG,aAAK,cAAc,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI;KACtD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF;;;IAGI;AACJ,oBAAY,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;KAC7C,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF,aAAK,iBAAiB,CAAC,IAAI,SAAS,MAAM,IAAI,OAAO,CACnD;KACG,IAAI,IAAI,MAAM,IAAI,GAAG,SAAS,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI;CAClE,CAAC,MAAM,IAAI,CAAC,EACb,SAAS,CACV,CAAC;AAQF,aAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAEvC,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG;KAE7B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CACtE,CAAC"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/shared/internal/serialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,aAAK,aAAa,GACd,MAAM,GACN,MAAM,GACN,OAAO,GAEP,MAAM,GAEN,MAAM,GAEN,OAAO,GACP,IAAI,CAAC;AAET,aAAK,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAKtD,aAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAK/C,aAAK,cAAc,GAAG,aAAa,GAAG,SAAS,CAAC;AAGhD,oBAAY,SAAS,CAAC,CAAC,IACtB,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,GAAG,GAC3B,CAAC,SAAS,cAAc,GAAG,CAAC,GAC5B,CAAC,SAAS,GAAG,CAAC,GAAG,EAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAC1C,CAAC,SAAS,gBAAgB,GAAG,KAAK,GAClC,CAAC,SAAS;IAAE,MAAM,IAAI,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GACnC,CAAC,SAAS,EAAE,GAAG,EAAE,GACjB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GACrD,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GACvF,CAAC,SAAS,MAAM,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAC1D,KAAK,CAAC;AAEP,uGAAuG;AACvG,aAAK,cAAc,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI;KACtD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF;;;IAGI;AACJ,oBAAY,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;KAC7C,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF,aAAK,iBAAiB,CAAC,IAAI,SAAS,MAAM,IAAI,OAAO,CACnD;KACG,IAAI,IAAI,MAAM,IAAI,GAAG,SAAS,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI;CAClE,CAAC,MAAM,IAAI,CAAC,EACb,SAAS,CACV,CAAC;AAQF,aAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAEvC,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAG;KAE7B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CACtE,CAAC"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var TRPCError = require('./TRPCError-98f26ad6.js');
5
+ var TRPCError = require('./TRPCError-16b2e52d.js');
6
6
  var observable = require('./observable-464116ac.js');
7
7
 
8
8
  /**
@@ -1,4 +1,4 @@
1
- import { a as getTRPCErrorFromUnknown } from './TRPCError-226f5343.mjs';
1
+ import { a as getTRPCErrorFromUnknown } from './TRPCError-2b10c8d2.mjs';
2
2
  import { o as observable } from './observable-ade1bad8.mjs';
3
3
 
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/server",
3
- "version": "10.19.1",
3
+ "version": "10.21.0",
4
4
  "description": "tRPC Server",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -157,5 +157,5 @@
157
157
  "yup": "^1.0.0",
158
158
  "zod": "^3.0.0"
159
159
  },
160
- "gitHead": "27284a792984d2e84aca165531231484d7d3034b"
160
+ "gitHead": "2a603923838e2ef689ccd0215a48dad487494e60"
161
161
  }
@@ -4,7 +4,13 @@ import { ProcedureParams } from '../procedure';
4
4
  /**
5
5
  * @internal
6
6
  */
7
- export type Overwrite<TType, TWith> = Omit<TType, keyof TWith> & TWith;
7
+ export type Overwrite<TType, TWith> = {
8
+ [K in keyof TType | keyof TWith]: K extends keyof TWith
9
+ ? TWith[K]
10
+ : K extends keyof TType
11
+ ? TType[K]
12
+ : never;
13
+ };
8
14
  /**
9
15
  * @internal
10
16
  */
@@ -1,24 +1,20 @@
1
- import {
2
- getErrorFromUnknown,
3
- getMessageFromUnknownError,
4
- } from '../error/utils';
5
1
  import { TRPC_ERROR_CODE_KEY } from '../rpc/codes';
2
+ import { getMessageFromUnknownError } from './utils';
6
3
 
7
4
  export function getTRPCErrorFromUnknown(cause: unknown): TRPCError {
8
- const error = getErrorFromUnknown(cause);
9
-
10
- if (error instanceof TRPCError) {
11
- return error;
5
+ if (cause instanceof TRPCError) {
6
+ return cause;
12
7
  }
13
8
 
14
9
  const trpcError = new TRPCError({
15
10
  code: 'INTERNAL_SERVER_ERROR',
16
- cause: error,
17
- message: error.message,
11
+ cause,
18
12
  });
19
13
 
20
14
  // Inherit stack from error
21
- trpcError.stack = error.stack;
15
+ if (cause instanceof Error && cause.stack) {
16
+ trpcError.stack = cause.stack;
17
+ }
22
18
 
23
19
  return trpcError;
24
20
  }
@@ -34,12 +30,10 @@ export class TRPCError extends Error {
34
30
  }) {
35
31
  const message =
36
32
  opts.message ?? getMessageFromUnknownError(opts.cause, opts.code);
37
- const cause =
38
- opts.cause !== undefined ? getErrorFromUnknown(opts.cause) : undefined;
39
33
 
40
34
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
41
35
  // @ts-ignore https://github.com/tc39/proposal-error-cause
42
- super(message, { cause });
36
+ super(message, { cause: opts.cause });
43
37
 
44
38
  this.code = opts.code;
45
39
  this.name = this.constructor.name;
@@ -1,3 +1,14 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ function isObject(value: unknown): value is Record<string, unknown> {
5
+ // check that value is object
6
+ return !!value && !Array.isArray(value) && typeof value === 'object';
7
+ }
8
+
9
+ /**
10
+ * @internal
11
+ */
1
12
  export function getMessageFromUnknownError(
2
13
  err: unknown,
3
14
  fallback: string,
@@ -5,20 +16,12 @@ export function getMessageFromUnknownError(
5
16
  if (typeof err === 'string') {
6
17
  return err;
7
18
  }
8
- if (err instanceof Error && typeof err.message === 'string') {
19
+ if (isObject(err) && typeof err.message === 'string') {
9
20
  return err.message;
10
21
  }
11
22
  return fallback;
12
23
  }
13
24
 
14
- export function getErrorFromUnknown(cause: unknown): Error {
15
- if (cause instanceof Error) {
16
- return cause;
17
- }
18
- const message = getMessageFromUnknownError(cause, 'Unknown error');
19
- return new Error(message);
20
- }
21
-
22
25
  export function getCauseFromUnknown(cause: unknown) {
23
26
  if (cause instanceof Error) {
24
27
  return cause;
@@ -1,5 +1,4 @@
1
1
  import { EventEmitter } from 'events';
2
- import { expectTypeOf } from 'expect-type';
3
2
  import { map } from '.';
4
3
  import { observable } from '../observable';
5
4
 
@@ -17,17 +17,21 @@ type JsonPrimitive =
17
17
  | null;
18
18
  // eslint-disable-next-line @typescript-eslint/ban-types
19
19
  type NonJsonPrimitive = undefined | Function | symbol;
20
-
21
20
  /*
22
21
  * `any` is the only type that can let you equate `0` with `1`
23
22
  * See https://stackoverflow.com/a/49928360/1490091
24
23
  */
25
24
  type IsAny<T> = 0 extends 1 & T ? true : false;
26
25
 
26
+ // `undefined` is a weird one that's technically not valid JSON,
27
+ // but the return value of `JSON.parse` can be `undefined` so we
28
+ // support it as both a Primitive and a NonJsonPrimitive
29
+ type JsonReturnable = JsonPrimitive | undefined;
30
+
27
31
  // prettier-ignore
28
32
  export type Serialize<T> =
29
33
  IsAny<T> extends true ? any :
30
- T extends JsonPrimitive ? T :
34
+ T extends JsonReturnable ? T :
31
35
  T extends Map<any,any> | Set<any> ? object :
32
36
  T extends NonJsonPrimitive ? never :
33
37
  T extends { toJSON(): infer U } ? U :