@trpc/server 11.0.0-rc.643 → 11.0.0-rc.648

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 (107) 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.d.ts.map +1 -1
  22. package/dist/adapters/node-http/writeResponse.js +3 -1
  23. package/dist/adapters/node-http/writeResponse.mjs +3 -1
  24. package/dist/adapters/standalone.js +1 -1
  25. package/dist/adapters/standalone.mjs +1 -1
  26. package/dist/adapters/ws.d.ts.map +1 -1
  27. package/dist/adapters/ws.js +145 -66
  28. package/dist/adapters/ws.mjs +145 -66
  29. package/dist/bundle-analysis.json +194 -201
  30. package/dist/http.js +1 -1
  31. package/dist/http.mjs +1 -1
  32. package/dist/index.js +1 -1
  33. package/dist/index.mjs +1 -1
  34. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.1_rollup@4.27.4_tslib@2.8.1_typescript@5.6.2/node_modules/tslib/tslib.es6.js +73 -0
  35. package/dist/observable/observable.d.ts +1 -1
  36. package/dist/observable/observable.d.ts.map +1 -1
  37. package/dist/observable/observable.js +16 -4
  38. package/dist/observable/observable.mjs +16 -4
  39. package/dist/rpc.js +1 -1
  40. package/dist/rpc.mjs +1 -1
  41. package/dist/shared.js +1 -1
  42. package/dist/shared.mjs +1 -1
  43. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts +1 -1
  44. package/dist/unstable-core-do-not-import/error/TRPCError.js +14 -2
  45. package/dist/unstable-core-do-not-import/error/TRPCError.mjs +13 -1
  46. package/dist/unstable-core-do-not-import/http/resolveResponse.d.ts.map +1 -1
  47. package/dist/unstable-core-do-not-import/http/resolveResponse.js +7 -18
  48. package/dist/unstable-core-do-not-import/http/resolveResponse.mjs +8 -19
  49. package/dist/unstable-core-do-not-import/stream/jsonl.d.ts +15 -4
  50. package/dist/unstable-core-do-not-import/stream/jsonl.d.ts.map +1 -1
  51. package/dist/unstable-core-do-not-import/stream/jsonl.js +430 -291
  52. package/dist/unstable-core-do-not-import/stream/jsonl.mjs +428 -289
  53. package/dist/unstable-core-do-not-import/stream/sse.d.ts +1 -1
  54. package/dist/unstable-core-do-not-import/stream/sse.d.ts.map +1 -1
  55. package/dist/unstable-core-do-not-import/stream/sse.js +183 -122
  56. package/dist/unstable-core-do-not-import/stream/sse.mjs +183 -122
  57. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts +1 -0
  58. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts.map +1 -1
  59. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.js +103 -10
  60. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.mjs +104 -12
  61. package/dist/unstable-core-do-not-import/stream/utils/disposable.d.ts +17 -0
  62. package/dist/unstable-core-do-not-import/stream/utils/disposable.d.ts.map +1 -0
  63. package/dist/unstable-core-do-not-import/stream/utils/disposable.js +44 -0
  64. package/dist/unstable-core-do-not-import/stream/utils/disposable.mjs +41 -0
  65. package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.d.ts +8 -0
  66. package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.d.ts.map +1 -0
  67. package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.js +25 -0
  68. package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.mjs +23 -0
  69. package/dist/unstable-core-do-not-import/stream/utils/timerResource.d.ts +1 -2
  70. package/dist/unstable-core-do-not-import/stream/utils/timerResource.d.ts.map +1 -1
  71. package/dist/unstable-core-do-not-import/stream/utils/timerResource.js +8 -10
  72. package/dist/unstable-core-do-not-import/stream/utils/timerResource.mjs +8 -10
  73. package/dist/unstable-core-do-not-import/stream/utils/withPing.d.ts.map +1 -1
  74. package/dist/unstable-core-do-not-import/stream/utils/withPing.js +113 -24
  75. package/dist/unstable-core-do-not-import/stream/utils/withPing.mjs +114 -25
  76. package/dist/unstable-core-do-not-import/transformer.d.ts +1 -1
  77. package/dist/unstable-core-do-not-import.d.ts +1 -0
  78. package/dist/unstable-core-do-not-import.d.ts.map +1 -1
  79. package/dist/unstable-core-do-not-import.js +3 -0
  80. package/dist/unstable-core-do-not-import.mjs +1 -0
  81. package/dist/vendor/unpromise/unpromise.js +17 -6
  82. package/dist/vendor/unpromise/unpromise.mjs +13 -2
  83. package/package.json +2 -3
  84. package/src/adapters/node-http/writeResponse.ts +3 -0
  85. package/src/adapters/ws.ts +8 -9
  86. package/src/observable/observable.ts +17 -2
  87. package/src/unstable-core-do-not-import/http/resolveResponse.ts +8 -21
  88. package/src/unstable-core-do-not-import/stream/jsonl.ts +236 -216
  89. package/src/unstable-core-do-not-import/stream/sse.ts +112 -132
  90. package/src/unstable-core-do-not-import/stream/utils/asyncIterable.ts +50 -48
  91. package/src/unstable-core-do-not-import/stream/utils/disposable.ts +52 -0
  92. package/src/unstable-core-do-not-import/stream/utils/readableStreamFrom.ts +28 -0
  93. package/src/unstable-core-do-not-import/stream/utils/timerResource.ts +17 -15
  94. package/src/unstable-core-do-not-import/stream/utils/withPing.ts +18 -19
  95. package/src/unstable-core-do-not-import.ts +1 -0
  96. package/dist/node_modules/.pnpm/@swc_helpers@0.5.13/node_modules/@swc/helpers/esm/_define_property.js +0 -11
  97. package/dist/node_modules/.pnpm/@swc_helpers@0.5.13/node_modules/@swc/helpers/esm/_define_property.mjs +0 -9
  98. package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.d.ts +0 -9
  99. package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.d.ts.map +0 -1
  100. package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.js +0 -25
  101. package/dist/unstable-core-do-not-import/stream/utils/createReadableStream.mjs +0 -23
  102. package/dist/unstable-core-do-not-import/stream/utils/withRefCount.d.ts +0 -17
  103. package/dist/unstable-core-do-not-import/stream/utils/withRefCount.d.ts.map +0 -1
  104. package/dist/unstable-core-do-not-import/stream/utils/withRefCount.js +0 -59
  105. package/dist/unstable-core-do-not-import/stream/utils/withRefCount.mjs +0 -57
  106. package/src/unstable-core-do-not-import/stream/utils/createReadableStream.ts +0 -25
  107. package/src/unstable-core-do-not-import/stream/utils/withRefCount.ts +0 -93
@@ -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
 
@@ -1 +1 @@
1
- {"version":3,"file":"writeResponse.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/writeResponse.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAyBhD;;GAEG;AAEH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,GAAG,EAAE,gBAAgB,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;CACrC,iBAoBA;AACD;;GAEG;AAEH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,gBAAgB,CAAC;CAC/B,iBA0BA"}
1
+ {"version":3,"file":"writeResponse.d.ts","sourceRoot":"","sources":["../../../src/adapters/node-http/writeResponse.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AA4BhD;;GAEG;AAEH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,GAAG,EAAE,gBAAgB,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;CACrC,iBAoBA;AACD;;GAEG;AAEH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,gBAAgB,CAAC;CAC/B,iBA0BA"}
@@ -2,11 +2,13 @@
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
9
9
  async function writeResponseBodyChunk(res, chunk) {
10
+ // useful for debugging 🙃
11
+ // console.debug('writing', new TextDecoder().decode(chunk));
10
12
  if (res.write(chunk) === false) {
11
13
  await new Promise((resolve, reject)=>{
12
14
  const onError = (err)=>{
@@ -1,10 +1,12 @@
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
7
7
  async function writeResponseBodyChunk(res, chunk) {
8
+ // useful for debugging 🙃
9
+ // console.debug('writing', new TextDecoder().decode(chunk));
8
10
  if (res.write(chunk) === false) {
9
11
  await new Promise((resolve, reject)=>{
10
12
  const onError = (err)=>{
@@ -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
@@ -157,82 +223,95 @@ function getWSConnectionHandler(opts) {
157
223
  code: 'BAD_REQUEST'
158
224
  });
159
225
  }
160
- const iterable = observable.isObservable(result) ? observable.observableToAsyncIterable(result) : result;
161
- const iterator = iterable[Symbol.asyncIterator]();
162
- const abortPromise = new Promise((resolve)=>{
163
- abortController.signal.onabort = ()=>resolve('abort');
164
- });
226
+ const iterable = observable.isObservable(result) ? observable.observableToAsyncIterable(result, abortController.signal) : result;
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?.({