@trpc/server 11.0.0-rc.645 → 11.0.0-rc.657

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 (85) hide show
  1. package/dist/adapters/aws-lambda/index.js +1 -1
  2. package/dist/adapters/aws-lambda/index.mjs +1 -1
  3. package/dist/adapters/express.js +1 -1
  4. package/dist/adapters/express.mjs +1 -1
  5. package/dist/adapters/fastify/fastifyRequestHandler.js +1 -1
  6. package/dist/adapters/fastify/fastifyRequestHandler.mjs +1 -1
  7. package/dist/adapters/fetch/fetchRequestHandler.js +1 -1
  8. package/dist/adapters/fetch/fetchRequestHandler.mjs +1 -1
  9. package/dist/adapters/next-app-dir/nextAppDirCaller.js +1 -1
  10. package/dist/adapters/next-app-dir/nextAppDirCaller.mjs +1 -1
  11. package/dist/adapters/next-app-dir/notFound.js +1 -1
  12. package/dist/adapters/next-app-dir/notFound.mjs +1 -1
  13. package/dist/adapters/next-app-dir/redirect.js +15 -3
  14. package/dist/adapters/next-app-dir/redirect.mjs +14 -2
  15. package/dist/adapters/next.js +1 -1
  16. package/dist/adapters/next.mjs +1 -1
  17. package/dist/adapters/node-http/incomingMessageToRequest.js +1 -1
  18. package/dist/adapters/node-http/incomingMessageToRequest.mjs +1 -1
  19. package/dist/adapters/node-http/nodeHTTPRequestHandler.js +1 -1
  20. package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +1 -1
  21. package/dist/adapters/node-http/writeResponse.js +1 -1
  22. package/dist/adapters/node-http/writeResponse.mjs +1 -1
  23. package/dist/adapters/standalone.js +1 -1
  24. package/dist/adapters/standalone.mjs +1 -1
  25. package/dist/adapters/ws.d.ts.map +1 -1
  26. package/dist/adapters/ws.js +144 -65
  27. package/dist/adapters/ws.mjs +144 -65
  28. package/dist/bundle-analysis.json +190 -183
  29. package/dist/http.js +1 -1
  30. package/dist/http.mjs +1 -1
  31. package/dist/index.js +1 -1
  32. package/dist/index.mjs +1 -1
  33. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.1_rollup@4.27.4_tslib@2.8.1_typescript@5.7.2/node_modules/tslib/tslib.es6.js +73 -0
  34. package/dist/rpc.js +1 -1
  35. package/dist/rpc.mjs +1 -1
  36. package/dist/shared.js +1 -1
  37. package/dist/shared.mjs +1 -1
  38. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts +1 -1
  39. package/dist/unstable-core-do-not-import/error/TRPCError.js +14 -2
  40. package/dist/unstable-core-do-not-import/error/TRPCError.mjs +13 -1
  41. package/dist/unstable-core-do-not-import/http/resolveResponse.d.ts.map +1 -1
  42. package/dist/unstable-core-do-not-import/http/resolveResponse.js +3 -9
  43. package/dist/unstable-core-do-not-import/http/resolveResponse.mjs +3 -9
  44. package/dist/unstable-core-do-not-import/middleware.d.ts.map +1 -1
  45. package/dist/unstable-core-do-not-import/stream/jsonl.d.ts +8 -34
  46. package/dist/unstable-core-do-not-import/stream/jsonl.d.ts.map +1 -1
  47. package/dist/unstable-core-do-not-import/stream/jsonl.js +338 -209
  48. package/dist/unstable-core-do-not-import/stream/jsonl.mjs +337 -208
  49. package/dist/unstable-core-do-not-import/stream/sse.d.ts.map +1 -1
  50. package/dist/unstable-core-do-not-import/stream/sse.js +143 -74
  51. package/dist/unstable-core-do-not-import/stream/sse.mjs +144 -75
  52. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts +1 -0
  53. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts.map +1 -1
  54. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.js +103 -10
  55. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.mjs +104 -12
  56. package/dist/unstable-core-do-not-import/stream/utils/disposable.d.ts +17 -0
  57. package/dist/unstable-core-do-not-import/stream/utils/disposable.d.ts.map +1 -0
  58. package/dist/unstable-core-do-not-import/stream/utils/disposable.js +44 -0
  59. package/dist/unstable-core-do-not-import/stream/utils/disposable.mjs +41 -0
  60. package/dist/unstable-core-do-not-import/stream/utils/timerResource.d.ts +1 -2
  61. package/dist/unstable-core-do-not-import/stream/utils/timerResource.d.ts.map +1 -1
  62. package/dist/unstable-core-do-not-import/stream/utils/timerResource.js +8 -10
  63. package/dist/unstable-core-do-not-import/stream/utils/timerResource.mjs +8 -10
  64. package/dist/unstable-core-do-not-import/stream/utils/withPing.d.ts.map +1 -1
  65. package/dist/unstable-core-do-not-import/stream/utils/withPing.js +113 -24
  66. package/dist/unstable-core-do-not-import/stream/utils/withPing.mjs +114 -25
  67. package/dist/unstable-core-do-not-import/transformer.d.ts +1 -1
  68. package/dist/unstable-core-do-not-import.d.ts +1 -0
  69. package/dist/unstable-core-do-not-import.d.ts.map +1 -1
  70. package/dist/unstable-core-do-not-import.js +3 -0
  71. package/dist/unstable-core-do-not-import.mjs +1 -0
  72. package/dist/vendor/unpromise/unpromise.js +17 -6
  73. package/dist/vendor/unpromise/unpromise.mjs +13 -2
  74. package/package.json +3 -4
  75. package/src/adapters/ws.ts +7 -8
  76. package/src/unstable-core-do-not-import/http/resolveResponse.ts +3 -9
  77. package/src/unstable-core-do-not-import/stream/jsonl.ts +128 -153
  78. package/src/unstable-core-do-not-import/stream/sse.ts +64 -79
  79. package/src/unstable-core-do-not-import/stream/utils/asyncIterable.ts +50 -48
  80. package/src/unstable-core-do-not-import/stream/utils/disposable.ts +52 -0
  81. package/src/unstable-core-do-not-import/stream/utils/timerResource.ts +17 -15
  82. package/src/unstable-core-do-not-import/stream/utils/withPing.ts +18 -19
  83. package/src/unstable-core-do-not-import.ts +1 -0
  84. package/dist/node_modules/.pnpm/@swc_helpers@0.5.13/node_modules/@swc/helpers/esm/_define_property.js +0 -11
  85. package/dist/node_modules/.pnpm/@swc_helpers@0.5.13/node_modules/@swc/helpers/esm/_define_property.mjs +0 -9
@@ -3,7 +3,7 @@
3
3
  var resolveResponse = require('../../unstable-core-do-not-import/http/resolveResponse.js');
4
4
  require('../../unstable-core-do-not-import/rootConfig.js');
5
5
  require('../../vendor/unpromise/unpromise.js');
6
- require('../../unstable-core-do-not-import/stream/utils/timerResource.js');
6
+ require('../../unstable-core-do-not-import/stream/utils/disposable.js');
7
7
  var getPlanner = require('./getPlanner.js');
8
8
 
9
9
  function awsLambdaRequestHandler(opts) {
@@ -1,7 +1,7 @@
1
1
  import { resolveResponse } from '../../unstable-core-do-not-import/http/resolveResponse.mjs';
2
2
  import '../../unstable-core-do-not-import/rootConfig.mjs';
3
3
  import '../../vendor/unpromise/unpromise.mjs';
4
- import '../../unstable-core-do-not-import/stream/utils/timerResource.mjs';
4
+ import '../../unstable-core-do-not-import/stream/utils/disposable.mjs';
5
5
  import { getPlanner } from './getPlanner.mjs';
6
6
 
7
7
  function awsLambdaRequestHandler(opts) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  var utils = require('../unstable-core-do-not-import/utils.js');
4
4
  require('../vendor/unpromise/unpromise.js');
5
- require('../unstable-core-do-not-import/stream/utils/timerResource.js');
5
+ require('../unstable-core-do-not-import/stream/utils/disposable.js');
6
6
  require('../unstable-core-do-not-import/rootConfig.js');
7
7
  var nodeHTTPRequestHandler = require('./node-http/nodeHTTPRequestHandler.js');
8
8
 
@@ -1,6 +1,6 @@
1
1
  import { run } from '../unstable-core-do-not-import/utils.mjs';
2
2
  import '../vendor/unpromise/unpromise.mjs';
3
- import '../unstable-core-do-not-import/stream/utils/timerResource.mjs';
3
+ import '../unstable-core-do-not-import/stream/utils/disposable.mjs';
4
4
  import '../unstable-core-do-not-import/rootConfig.mjs';
5
5
  import { nodeHTTPRequestHandler, internal_exceptionHandler } from './node-http/nodeHTTPRequestHandler.mjs';
6
6
 
@@ -3,7 +3,7 @@
3
3
  var resolveResponse = require('../../unstable-core-do-not-import/http/resolveResponse.js');
4
4
  require('../../unstable-core-do-not-import/rootConfig.js');
5
5
  require('../../vendor/unpromise/unpromise.js');
6
- require('../../unstable-core-do-not-import/stream/utils/timerResource.js');
6
+ require('../../unstable-core-do-not-import/stream/utils/disposable.js');
7
7
  var incomingMessageToRequest = require('../node-http/incomingMessageToRequest.js');
8
8
 
9
9
  /**
@@ -1,7 +1,7 @@
1
1
  import { resolveResponse } from '../../unstable-core-do-not-import/http/resolveResponse.mjs';
2
2
  import '../../unstable-core-do-not-import/rootConfig.mjs';
3
3
  import '../../vendor/unpromise/unpromise.mjs';
4
- import '../../unstable-core-do-not-import/stream/utils/timerResource.mjs';
4
+ import '../../unstable-core-do-not-import/stream/utils/disposable.mjs';
5
5
  import { incomingMessageToRequest } from '../node-http/incomingMessageToRequest.mjs';
6
6
 
7
7
  /**
@@ -3,7 +3,7 @@
3
3
  var resolveResponse = require('../../unstable-core-do-not-import/http/resolveResponse.js');
4
4
  require('../../unstable-core-do-not-import/rootConfig.js');
5
5
  require('../../vendor/unpromise/unpromise.js');
6
- require('../../unstable-core-do-not-import/stream/utils/timerResource.js');
6
+ require('../../unstable-core-do-not-import/stream/utils/disposable.js');
7
7
 
8
8
  /**
9
9
  * If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
@@ -1,7 +1,7 @@
1
1
  import { resolveResponse } from '../../unstable-core-do-not-import/http/resolveResponse.mjs';
2
2
  import '../../unstable-core-do-not-import/rootConfig.mjs';
3
3
  import '../../vendor/unpromise/unpromise.mjs';
4
- import '../../unstable-core-do-not-import/stream/utils/timerResource.mjs';
4
+ import '../../unstable-core-do-not-import/stream/utils/disposable.mjs';
5
5
 
6
6
  /**
7
7
  * If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
@@ -3,7 +3,7 @@
3
3
  var TRPCError = require('../../unstable-core-do-not-import/error/TRPCError.js');
4
4
  var formDataToObject = require('../../unstable-core-do-not-import/http/formDataToObject.js');
5
5
  require('../../vendor/unpromise/unpromise.js');
6
- require('../../unstable-core-do-not-import/stream/utils/timerResource.js');
6
+ require('../../unstable-core-do-not-import/stream/utils/disposable.js');
7
7
  require('../../unstable-core-do-not-import/rootConfig.js');
8
8
  var redirect = require('./redirect.js');
9
9
  var rethrowNextErrors = require('./rethrowNextErrors.js');
@@ -1,7 +1,7 @@
1
1
  import { TRPCError, getTRPCErrorFromUnknown } from '../../unstable-core-do-not-import/error/TRPCError.mjs';
2
2
  import { formDataToObject } from '../../unstable-core-do-not-import/http/formDataToObject.mjs';
3
3
  import '../../vendor/unpromise/unpromise.mjs';
4
- import '../../unstable-core-do-not-import/stream/utils/timerResource.mjs';
4
+ import '../../unstable-core-do-not-import/stream/utils/disposable.mjs';
5
5
  import '../../unstable-core-do-not-import/rootConfig.mjs';
6
6
  import { TRPCRedirectError } from './redirect.mjs';
7
7
  import { rethrowNextErrors } from './rethrowNextErrors.mjs';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var TRPCError = require('../../unstable-core-do-not-import/error/TRPCError.js');
4
4
  require('../../vendor/unpromise/unpromise.js');
5
- require('../../unstable-core-do-not-import/stream/utils/timerResource.js');
5
+ require('../../unstable-core-do-not-import/stream/utils/disposable.js');
6
6
  require('../../unstable-core-do-not-import/rootConfig.js');
7
7
 
8
8
  /**
@@ -1,6 +1,6 @@
1
1
  import { TRPCError } from '../../unstable-core-do-not-import/error/TRPCError.mjs';
2
2
  import '../../vendor/unpromise/unpromise.mjs';
3
- import '../../unstable-core-do-not-import/stream/utils/timerResource.mjs';
3
+ import '../../unstable-core-do-not-import/stream/utils/disposable.mjs';
4
4
  import '../../unstable-core-do-not-import/rootConfig.mjs';
5
5
 
6
6
  /**
@@ -1,11 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var _define_property = require('../../node_modules/.pnpm/@swc_helpers@0.5.13/node_modules/@swc/helpers/esm/_define_property.js');
4
3
  var TRPCError = require('../../unstable-core-do-not-import/error/TRPCError.js');
5
4
  require('../../vendor/unpromise/unpromise.js');
6
- require('../../unstable-core-do-not-import/stream/utils/timerResource.js');
5
+ require('../../unstable-core-do-not-import/stream/utils/disposable.js');
7
6
  require('../../unstable-core-do-not-import/rootConfig.js');
8
7
 
8
+ function _define_property(obj, key, value) {
9
+ if (key in obj) {
10
+ Object.defineProperty(obj, key, {
11
+ value: value,
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true
15
+ });
16
+ } else {
17
+ obj[key] = value;
18
+ }
19
+ return obj;
20
+ }
9
21
  /**
10
22
  * @internal
11
23
  */ class TRPCRedirectError extends TRPCError.TRPCError {
@@ -14,7 +26,7 @@ require('../../unstable-core-do-not-import/rootConfig.js');
14
26
  // TODO(?): This should maybe a custom error code
15
27
  code: 'UNPROCESSABLE_CONTENT',
16
28
  message: `Redirect error to "${url}" that will be handled by Next.js`
17
- }), _define_property._(this, "args", void 0);
29
+ }), _define_property(this, "args", void 0);
18
30
  this.args = [
19
31
  url.toString(),
20
32
  redirectType
@@ -1,9 +1,21 @@
1
- import { _ as _define_property } from '../../node_modules/.pnpm/@swc_helpers@0.5.13/node_modules/@swc/helpers/esm/_define_property.mjs';
2
1
  import { TRPCError } from '../../unstable-core-do-not-import/error/TRPCError.mjs';
3
2
  import '../../vendor/unpromise/unpromise.mjs';
4
- import '../../unstable-core-do-not-import/stream/utils/timerResource.mjs';
3
+ import '../../unstable-core-do-not-import/stream/utils/disposable.mjs';
5
4
  import '../../unstable-core-do-not-import/rootConfig.mjs';
6
5
 
6
+ function _define_property(obj, key, value) {
7
+ if (key in obj) {
8
+ Object.defineProperty(obj, key, {
9
+ value: value,
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true
13
+ });
14
+ } else {
15
+ obj[key] = value;
16
+ }
17
+ return obj;
18
+ }
7
19
  /**
8
20
  * @internal
9
21
  */ class TRPCRedirectError extends TRPCError {
@@ -3,7 +3,7 @@
3
3
  var utils = require('../unstable-core-do-not-import/utils.js');
4
4
  var TRPCError = require('../unstable-core-do-not-import/error/TRPCError.js');
5
5
  require('../vendor/unpromise/unpromise.js');
6
- require('../unstable-core-do-not-import/stream/utils/timerResource.js');
6
+ require('../unstable-core-do-not-import/stream/utils/disposable.js');
7
7
  require('../unstable-core-do-not-import/rootConfig.js');
8
8
  var nodeHTTPRequestHandler = require('./node-http/nodeHTTPRequestHandler.js');
9
9
 
@@ -1,7 +1,7 @@
1
1
  import { run } from '../unstable-core-do-not-import/utils.mjs';
2
2
  import { TRPCError } from '../unstable-core-do-not-import/error/TRPCError.mjs';
3
3
  import '../vendor/unpromise/unpromise.mjs';
4
- import '../unstable-core-do-not-import/stream/utils/timerResource.mjs';
4
+ import '../unstable-core-do-not-import/stream/utils/disposable.mjs';
5
5
  import '../unstable-core-do-not-import/rootConfig.mjs';
6
6
  import { nodeHTTPRequestHandler, internal_exceptionHandler } from './node-http/nodeHTTPRequestHandler.mjs';
7
7
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  var TRPCError = require('../../unstable-core-do-not-import/error/TRPCError.js');
4
4
  require('../../vendor/unpromise/unpromise.js');
5
- require('../../unstable-core-do-not-import/stream/utils/timerResource.js');
5
+ require('../../unstable-core-do-not-import/stream/utils/disposable.js');
6
6
  require('../../unstable-core-do-not-import/rootConfig.js');
7
7
 
8
8
  function createBody(req, opts) {
@@ -1,6 +1,6 @@
1
1
  import { TRPCError } from '../../unstable-core-do-not-import/error/TRPCError.mjs';
2
2
  import '../../vendor/unpromise/unpromise.mjs';
3
- import '../../unstable-core-do-not-import/stream/utils/timerResource.mjs';
3
+ import '../../unstable-core-do-not-import/stream/utils/disposable.mjs';
4
4
  import '../../unstable-core-do-not-import/rootConfig.mjs';
5
5
 
6
6
  function createBody(req, opts) {
@@ -7,7 +7,7 @@ var resolveResponse = require('../../unstable-core-do-not-import/http/resolveRes
7
7
  require('../../unstable-core-do-not-import/rootConfig.js');
8
8
  var transformer = require('../../unstable-core-do-not-import/transformer.js');
9
9
  require('../../vendor/unpromise/unpromise.js');
10
- require('../../unstable-core-do-not-import/stream/utils/timerResource.js');
10
+ require('../../unstable-core-do-not-import/stream/utils/disposable.js');
11
11
  var incomingMessageToRequest = require('./incomingMessageToRequest.js');
12
12
  var writeResponse = require('./writeResponse.js');
13
13
 
@@ -5,7 +5,7 @@ import { resolveResponse } from '../../unstable-core-do-not-import/http/resolveR
5
5
  import '../../unstable-core-do-not-import/rootConfig.mjs';
6
6
  import { transformTRPCResponse } from '../../unstable-core-do-not-import/transformer.mjs';
7
7
  import '../../vendor/unpromise/unpromise.mjs';
8
- import '../../unstable-core-do-not-import/stream/utils/timerResource.mjs';
8
+ import '../../unstable-core-do-not-import/stream/utils/disposable.mjs';
9
9
  import { incomingMessageToRequest } from './incomingMessageToRequest.mjs';
10
10
  import { writeResponse } from './writeResponse.mjs';
11
11
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  var isAbortError = require('../../unstable-core-do-not-import/http/isAbortError.js');
4
4
  require('../../vendor/unpromise/unpromise.js');
5
- require('../../unstable-core-do-not-import/stream/utils/timerResource.js');
5
+ require('../../unstable-core-do-not-import/stream/utils/disposable.js');
6
6
  require('../../unstable-core-do-not-import/rootConfig.js');
7
7
 
8
8
  // eslint-disable-next-line no-restricted-imports
@@ -1,6 +1,6 @@
1
1
  import { isAbortError } from '../../unstable-core-do-not-import/http/isAbortError.mjs';
2
2
  import '../../vendor/unpromise/unpromise.mjs';
3
- import '../../unstable-core-do-not-import/stream/utils/timerResource.mjs';
3
+ import '../../unstable-core-do-not-import/stream/utils/disposable.mjs';
4
4
  import '../../unstable-core-do-not-import/rootConfig.mjs';
5
5
 
6
6
  // eslint-disable-next-line no-restricted-imports
@@ -3,7 +3,7 @@
3
3
  var http = require('node:http');
4
4
  var utils = require('../unstable-core-do-not-import/utils.js');
5
5
  require('../vendor/unpromise/unpromise.js');
6
- require('../unstable-core-do-not-import/stream/utils/timerResource.js');
6
+ require('../unstable-core-do-not-import/stream/utils/disposable.js');
7
7
  require('../unstable-core-do-not-import/rootConfig.js');
8
8
  var nodeHTTPRequestHandler = require('./node-http/nodeHTTPRequestHandler.js');
9
9
  var incomingMessageToRequest = require('./node-http/incomingMessageToRequest.js');
@@ -1,7 +1,7 @@
1
1
  import http from 'node:http';
2
2
  import { run } from '../unstable-core-do-not-import/utils.mjs';
3
3
  import '../vendor/unpromise/unpromise.mjs';
4
- import '../unstable-core-do-not-import/stream/utils/timerResource.mjs';
4
+ import '../unstable-core-do-not-import/stream/utils/disposable.mjs';
5
5
  import '../unstable-core-do-not-import/rootConfig.mjs';
6
6
  import { nodeHTTPRequestHandler, internal_exceptionHandler } from './node-http/nodeHTTPRequestHandler.mjs';
7
7
  import { createURL } from './node-http/incomingMessageToRequest.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/adapters/ws.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAa/D,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAa,KAAK,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAQ7E;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,8BAA8B,CACpE,eAAe,EACf,EAAE,CAAC,SAAS,CACb,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,SAAS,IAAI,CAC1D,IAAI,EAAE,yBAAyB,KAC5B,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,0BAA0B,CAAC,OAAO,SAAS,SAAS,IAC9D,kBAAkB,CAAC,OAAO,EAAE,eAAe,CAAC,GAC1C,qBAAqB,CACnB,kBAAkB,CAAC,OAAO,CAAC,EAC3B,kBAAkB,CAAC,OAAO,CAAC,CAC5B,CAAC;AAEN;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,SAAS,IACrD,0BAA0B,CAAC,OAAO,CAAC,GAAG;IACpC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE;QACV;;;WAGG;QACH,OAAO,EAAE,OAAO,CAAC;QACjB;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAGJ,wBAAgB,sBAAsB,CAAC,OAAO,SAAS,SAAS,EAC9D,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,YAKV,EAAE,CAAC,SAAS,OAAO,eAAe,mBAqYzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,EAAE,CAAC,SAAS,EACpB,MAAM,SAAS,EACf,UAAU,SAAQ,QAiCnB;AAED,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,EACvD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;;EAwCjC"}
1
+ {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../src/adapters/ws.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAa/D,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAa,KAAK,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAQ7E;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,8BAA8B,CACpE,eAAe,EACf,EAAE,CAAC,SAAS,CACb,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,SAAS,IAAI,CAC1D,IAAI,EAAE,yBAAyB,KAC5B,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,0BAA0B,CAAC,OAAO,SAAS,SAAS,IAC9D,kBAAkB,CAAC,OAAO,EAAE,eAAe,CAAC,GAC1C,qBAAqB,CACnB,kBAAkB,CAAC,OAAO,CAAC,EAC3B,kBAAkB,CAAC,OAAO,CAAC,CAC5B,CAAC;AAEN;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,SAAS,IACrD,0BAA0B,CAAC,OAAO,CAAC,GAAG;IACpC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE;QACV;;;WAGG;QACH,OAAO,EAAE,OAAO,CAAC;QACjB;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAGJ,wBAAgB,sBAAsB,CAAC,OAAO,SAAS,SAAS,EAC9D,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,YAKV,EAAE,CAAC,SAAS,OAAO,eAAe,mBAkYzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,EAAE,CAAC,SAAS,EACpB,MAAM,SAAS,EACf,UAAU,SAAQ,QAiCnB;AAED,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,EACvD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC;;EAwCjC"}
@@ -7,13 +7,79 @@ var parseConnectionParams = require('../unstable-core-do-not-import/http/parseCo
7
7
  var parseTRPCMessage = require('../unstable-core-do-not-import/rpc/parseTRPCMessage.js');
8
8
  var observable = require('../observable/observable.js');
9
9
  var unpromise = require('../vendor/unpromise/unpromise.js');
10
+ var asyncIterable = require('../unstable-core-do-not-import/stream/utils/asyncIterable.js');
11
+ require('../unstable-core-do-not-import/stream/utils/disposable.js');
10
12
  var tracked = require('../unstable-core-do-not-import/stream/tracked.js');
11
- require('../unstable-core-do-not-import/stream/utils/timerResource.js');
12
13
  var transformer = require('../unstable-core-do-not-import/transformer.js');
13
14
  require('../unstable-core-do-not-import/rootConfig.js');
14
15
  var router = require('../unstable-core-do-not-import/router.js');
15
16
  var incomingMessageToRequest = require('./node-http/incomingMessageToRequest.js');
16
17
 
18
+ function _ts_add_disposable_resource(env, value, async) {
19
+ if (value !== null && value !== void 0) {
20
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
21
+ var dispose, inner;
22
+ {
23
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
24
+ dispose = value[Symbol.asyncDispose];
25
+ }
26
+ if (dispose === void 0) {
27
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
28
+ dispose = value[Symbol.dispose];
29
+ inner = dispose;
30
+ }
31
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
32
+ if (inner) dispose = function() {
33
+ try {
34
+ inner.call(this);
35
+ } catch (e) {
36
+ return Promise.reject(e);
37
+ }
38
+ };
39
+ env.stack.push({
40
+ value: value,
41
+ dispose: dispose,
42
+ async: async
43
+ });
44
+ } else {
45
+ env.stack.push({
46
+ async: true
47
+ });
48
+ }
49
+ return value;
50
+ }
51
+ function _ts_dispose_resources(env) {
52
+ var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
53
+ var e = new Error(message);
54
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
55
+ };
56
+ return (_ts_dispose_resources = function _ts_dispose_resources(env) {
57
+ function fail(e) {
58
+ env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
59
+ env.hasError = true;
60
+ }
61
+ var r, s = 0;
62
+ function next() {
63
+ while(r = env.stack.pop()){
64
+ try {
65
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
66
+ if (r.dispose) {
67
+ var result = r.dispose.call(r.value);
68
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
69
+ fail(e);
70
+ return next();
71
+ });
72
+ } else s |= 1;
73
+ } catch (e) {
74
+ fail(e);
75
+ }
76
+ }
77
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
78
+ if (env.hasError) throw env.error;
79
+ }
80
+ return next();
81
+ })(env);
82
+ }
17
83
  /**
18
84
  * Importing ws causes a build error
19
85
  * @see https://github.com/trpc/trpc/pull/5279
@@ -158,81 +224,94 @@ function getWSConnectionHandler(opts) {
158
224
  });
159
225
  }
160
226
  const iterable = observable.isObservable(result) ? observable.observableToAsyncIterable(result, abortController.signal) : result;
161
- const iterator = iterable[Symbol.asyncIterator]();
162
- const abortPromise = new Promise((resolve)=>{
163
- abortController.signal.onabort = ()=>resolve('abort');
164
- });
165
227
  utils.run(async ()=>{
166
- // We need those declarations outside the loop for garbage collection reasons. If they
167
- // were declared inside, they would not be freed until the next value is present.
168
- let next;
169
- let result;
170
- while(true){
171
- next = await unpromise.Unpromise.race([
172
- iterator.next().catch(TRPCError.getTRPCErrorFromUnknown),
173
- abortPromise
174
- ]);
175
- if (next === 'abort') {
176
- await iterator.return?.();
177
- break;
178
- }
179
- if (next instanceof Error) {
180
- const error = TRPCError.getTRPCErrorFromUnknown(next);
181
- opts.onError?.({
182
- error,
183
- path,
184
- type,
185
- ctx,
186
- req,
187
- input
188
- });
228
+ const env = {
229
+ stack: [],
230
+ error: void 0,
231
+ hasError: false
232
+ };
233
+ try {
234
+ const iterator = _ts_add_disposable_resource(env, asyncIterable.iteratorResource(iterable), true);
235
+ ;
236
+ const abortPromise = new Promise((resolve)=>{
237
+ abortController.signal.onabort = ()=>resolve('abort');
238
+ });
239
+ // We need those declarations outside the loop for garbage collection reasons. If they
240
+ // were declared inside, they would not be freed until the next value is present.
241
+ let next;
242
+ let result;
243
+ while(true){
244
+ next = await unpromise.Unpromise.race([
245
+ iterator.next().catch(TRPCError.getTRPCErrorFromUnknown),
246
+ abortPromise
247
+ ]);
248
+ if (next === 'abort') {
249
+ await iterator.return?.();
250
+ break;
251
+ }
252
+ if (next instanceof Error) {
253
+ const error = TRPCError.getTRPCErrorFromUnknown(next);
254
+ opts.onError?.({
255
+ error,
256
+ path,
257
+ type,
258
+ ctx,
259
+ req,
260
+ input
261
+ });
262
+ respond({
263
+ id,
264
+ jsonrpc,
265
+ error: getErrorShape.getErrorShape({
266
+ config: router$1._def._config,
267
+ error,
268
+ type,
269
+ path,
270
+ input,
271
+ ctx
272
+ })
273
+ });
274
+ break;
275
+ }
276
+ if (next.done) {
277
+ break;
278
+ }
279
+ result = {
280
+ type: 'data',
281
+ data: next.value
282
+ };
283
+ if (tracked.isTrackedEnvelope(next.value)) {
284
+ const [id, data] = next.value;
285
+ result.id = id;
286
+ result.data = {
287
+ id,
288
+ data
289
+ };
290
+ }
189
291
  respond({
190
292
  id,
191
293
  jsonrpc,
192
- error: getErrorShape.getErrorShape({
193
- config: router$1._def._config,
194
- error,
195
- type,
196
- path,
197
- input,
198
- ctx
199
- })
294
+ result
200
295
  });
201
- break;
202
- }
203
- if (next.done) {
204
- break;
205
- }
206
- result = {
207
- type: 'data',
208
- data: next.value
209
- };
210
- if (tracked.isTrackedEnvelope(next.value)) {
211
- const [id, data] = next.value;
212
- result.id = id;
213
- result.data = {
214
- id,
215
- data
216
- };
296
+ // free up references for garbage collection
297
+ next = null;
298
+ result = null;
217
299
  }
218
300
  respond({
219
301
  id,
220
302
  jsonrpc,
221
- result
303
+ result: {
304
+ type: 'stopped'
305
+ }
222
306
  });
223
- // free up references for garbage collection
224
- next = null;
225
- result = null;
307
+ clientSubscriptions.delete(id);
308
+ } catch (e) {
309
+ env.error = e;
310
+ env.hasError = true;
311
+ } finally{
312
+ const result = _ts_dispose_resources(env);
313
+ if (result) await result;
226
314
  }
227
- await iterator.return?.();
228
- respond({
229
- id,
230
- jsonrpc,
231
- result: {
232
- type: 'stopped'
233
- }
234
- });
235
- clientSubscriptions.delete(id);
236
315
  }).catch((cause)=>{
237
316
  const error = TRPCError.getTRPCErrorFromUnknown(cause);
238
317
  opts.onError?.({