@trpc/server 11.0.0-rc.452 → 11.0.0-rc.456

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 (45) hide show
  1. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  2. package/dist/adapters/node-http/nodeHTTPRequestHandler.js +3 -1
  3. package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +3 -1
  4. package/dist/adapters/ws.d.ts.map +1 -1
  5. package/dist/adapters/ws.js +4 -1
  6. package/dist/adapters/ws.mjs +4 -1
  7. package/dist/bundle-analysis.json +107 -106
  8. package/dist/observable/observable.d.ts +1 -4
  9. package/dist/observable/observable.d.ts.map +1 -1
  10. package/dist/observable/observable.js +6 -18
  11. package/dist/observable/observable.mjs +6 -18
  12. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts +1 -1
  13. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts.map +1 -1
  14. package/dist/unstable-core-do-not-import/http/contentType.d.ts.map +1 -1
  15. package/dist/unstable-core-do-not-import/http/contentType.js +6 -3
  16. package/dist/unstable-core-do-not-import/http/contentType.mjs +6 -3
  17. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +1 -1
  18. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.js +5 -2
  19. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +5 -2
  20. package/dist/unstable-core-do-not-import/http/types.d.ts +5 -0
  21. package/dist/unstable-core-do-not-import/http/types.d.ts.map +1 -1
  22. package/dist/unstable-core-do-not-import/rpc/codes.d.ts +4 -1
  23. package/dist/unstable-core-do-not-import/rpc/codes.d.ts.map +1 -1
  24. package/dist/unstable-core-do-not-import/rpc/codes.js +4 -1
  25. package/dist/unstable-core-do-not-import/rpc/codes.mjs +4 -1
  26. package/dist/unstable-core-do-not-import/stream/jsonl.d.ts +8 -3
  27. package/dist/unstable-core-do-not-import/stream/jsonl.d.ts.map +1 -1
  28. package/dist/unstable-core-do-not-import/stream/jsonl.js +66 -32
  29. package/dist/unstable-core-do-not-import/stream/jsonl.mjs +66 -32
  30. package/dist/unstable-core-do-not-import/stream/utils/createServer.d.ts.map +1 -1
  31. package/dist/unstable-core-do-not-import.d.ts +1 -0
  32. package/dist/unstable-core-do-not-import.d.ts.map +1 -1
  33. package/dist/unstable-core-do-not-import.js +3 -0
  34. package/dist/unstable-core-do-not-import.mjs +1 -0
  35. package/package.json +2 -2
  36. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +3 -1
  37. package/src/adapters/ws.ts +3 -0
  38. package/src/observable/observable.ts +6 -19
  39. package/src/unstable-core-do-not-import/http/contentType.ts +3 -0
  40. package/src/unstable-core-do-not-import/http/getHTTPStatusCode.ts +4 -1
  41. package/src/unstable-core-do-not-import/http/types.ts +5 -0
  42. package/src/unstable-core-do-not-import/rpc/codes.ts +6 -3
  43. package/src/unstable-core-do-not-import/stream/jsonl.ts +88 -43
  44. package/src/unstable-core-do-not-import/stream/utils/createServer.ts +1 -3
  45. package/src/unstable-core-do-not-import.ts +1 -0
@@ -63,15 +63,8 @@
63
63
  function pipeReducer(prev, fn) {
64
64
  return fn(prev);
65
65
  }
66
- class ObservableAbortError extends Error {
67
- constructor(message){
68
- super(message);
69
- this.name = 'ObservableAbortError';
70
- Object.setPrototypeOf(this, ObservableAbortError.prototype);
71
- }
72
- }
73
66
  /** @internal */ function observableToPromise(observable) {
74
- let abort;
67
+ const ac = new AbortController();
75
68
  const promise = new Promise((resolve, reject)=>{
76
69
  let isDone = false;
77
70
  function onDone() {
@@ -79,9 +72,11 @@ class ObservableAbortError extends Error {
79
72
  return;
80
73
  }
81
74
  isDone = true;
82
- reject(new ObservableAbortError('This operation was aborted.'));
83
75
  obs$.unsubscribe();
84
76
  }
77
+ ac.signal.addEventListener('abort', ()=>{
78
+ reject(ac.signal.reason);
79
+ });
85
80
  const obs$ = observable.subscribe({
86
81
  next (data) {
87
82
  isDone = true;
@@ -89,22 +84,15 @@ class ObservableAbortError extends Error {
89
84
  onDone();
90
85
  },
91
86
  error (data) {
92
- isDone = true;
93
87
  reject(data);
94
- onDone();
95
88
  },
96
89
  complete () {
97
- isDone = true;
90
+ ac.abort();
98
91
  onDone();
99
92
  }
100
93
  });
101
- abort = onDone;
102
94
  });
103
- return {
104
- promise,
105
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
106
- abort: abort
107
- };
95
+ return promise;
108
96
  }
109
97
  /**
110
98
  * @internal
@@ -3,7 +3,7 @@ export declare function getCauseFromUnknown(cause: unknown): Error | undefined;
3
3
  export declare function getTRPCErrorFromUnknown(cause: unknown): TRPCError;
4
4
  export declare class TRPCError extends Error {
5
5
  readonly cause?: Error;
6
- readonly code: "INTERNAL_SERVER_ERROR" | "PARSE_ERROR" | "BAD_REQUEST" | "NOT_IMPLEMENTED" | "UNAUTHORIZED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "UNSUPPORTED_MEDIA_TYPE" | "PAYLOAD_TOO_LARGE" | "UNPROCESSABLE_CONTENT" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
6
+ readonly code: "INTERNAL_SERVER_ERROR" | "PARSE_ERROR" | "BAD_REQUEST" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
7
7
  constructor(opts: {
8
8
  message?: string;
9
9
  code: TRPC_ERROR_CODE_KEY;
@@ -1 +1 @@
1
- {"version":3,"file":"TRPCError.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/error/TRPCError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAMxD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAyBrE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAoBjE;AAED,qBAAa,SAAU,SAAQ,KAAK;IAGlC,SAAyB,KAAK,CAAC,EAAE,KAAK,CAAC;IACvC,SAAgB,IAAI,gUAAC;gBAET,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAgBF"}
1
+ {"version":3,"file":"TRPCError.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/error/TRPCError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAMxD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAyBrE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAoBjE;AAED,qBAAa,SAAU,SAAQ,KAAK;IAGlC,SAAyB,KAAK,CAAC,EAAE,KAAK,CAAC;IACvC,SAAgB,IAAI,4XAAC;gBAET,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAgBF"}
@@ -1 +1 @@
1
- {"version":3,"file":"contentType.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/contentType.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG3C,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,SAAS,CAAC;AAEjE,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,YAAY,EAAE,eAAe,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAqQF,wBAAgB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe,CAG3E"}
1
+ {"version":3,"file":"contentType.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/contentType.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG3C,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,SAAS,CAAC;AAEjE,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,YAAY,EAAE,eAAe,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAwQF,wBAAgB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,eAAe,CAG3E"}
@@ -128,7 +128,8 @@ const jsonContentTypeHandler = {
128
128
  accept: req.headers.get('trpc-accept'),
129
129
  calls,
130
130
  type,
131
- connectionParams: connectionParamsStr === null ? null : parseConnectionParams.parseConnectionParamsFromString(connectionParamsStr)
131
+ connectionParams: connectionParamsStr === null ? null : parseConnectionParams.parseConnectionParamsFromString(connectionParamsStr),
132
+ signal: req.signal
132
133
  };
133
134
  return info;
134
135
  }
@@ -161,7 +162,8 @@ const formDataContentTypeHandler = {
161
162
  ],
162
163
  isBatchCall: false,
163
164
  type: 'mutation',
164
- connectionParams: null
165
+ connectionParams: null,
166
+ signal: req.signal
165
167
  };
166
168
  }
167
169
  };
@@ -192,7 +194,8 @@ const octetStreamContentTypeHandler = {
192
194
  isBatchCall: false,
193
195
  accept: null,
194
196
  type: 'mutation',
195
- connectionParams: null
197
+ connectionParams: null,
198
+ signal: req.signal
196
199
  };
197
200
  }
198
201
  };
@@ -126,7 +126,8 @@ const jsonContentTypeHandler = {
126
126
  accept: req.headers.get('trpc-accept'),
127
127
  calls,
128
128
  type,
129
- connectionParams: connectionParamsStr === null ? null : parseConnectionParamsFromString(connectionParamsStr)
129
+ connectionParams: connectionParamsStr === null ? null : parseConnectionParamsFromString(connectionParamsStr),
130
+ signal: req.signal
130
131
  };
131
132
  return info;
132
133
  }
@@ -159,7 +160,8 @@ const formDataContentTypeHandler = {
159
160
  ],
160
161
  isBatchCall: false,
161
162
  type: 'mutation',
162
- connectionParams: null
163
+ connectionParams: null,
164
+ signal: req.signal
163
165
  };
164
166
  }
165
167
  };
@@ -190,7 +192,8 @@ const octetStreamContentTypeHandler = {
190
192
  isBatchCall: false,
191
193
  accept: null,
192
194
  type: 'mutation',
193
- connectionParams: null
195
+ connectionParams: null,
196
+ signal: req.signal
194
197
  };
195
198
  }
196
199
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getHTTPStatusCode.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/getHTTPStatusCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAA2B,YAAY,EAAE,MAAM,QAAQ,CAAC;AA8BpE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,MAAM,CAsB7E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,UAE1D"}
1
+ {"version":3,"file":"getHTTPStatusCode.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/getHTTPStatusCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAA2B,YAAY,EAAE,MAAM,QAAQ,CAAC;AAiCpE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,MAAM,CAsB7E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,UAE1D"}
@@ -7,8 +7,8 @@ const JSONRPC2_TO_HTTP_CODE = {
7
7
  PARSE_ERROR: 400,
8
8
  BAD_REQUEST: 400,
9
9
  UNAUTHORIZED: 401,
10
- NOT_FOUND: 404,
11
10
  FORBIDDEN: 403,
11
+ NOT_FOUND: 404,
12
12
  METHOD_NOT_SUPPORTED: 405,
13
13
  TIMEOUT: 408,
14
14
  CONFLICT: 409,
@@ -19,7 +19,10 @@ const JSONRPC2_TO_HTTP_CODE = {
19
19
  TOO_MANY_REQUESTS: 429,
20
20
  CLIENT_CLOSED_REQUEST: 499,
21
21
  INTERNAL_SERVER_ERROR: 500,
22
- NOT_IMPLEMENTED: 501
22
+ NOT_IMPLEMENTED: 501,
23
+ BAD_GATEWAY: 502,
24
+ SERVICE_UNAVAILABLE: 503,
25
+ GATEWAY_TIMEOUT: 504
23
26
  };
24
27
  function getStatusCodeFromKey(code) {
25
28
  return JSONRPC2_TO_HTTP_CODE[code] ?? 500;
@@ -5,8 +5,8 @@ const JSONRPC2_TO_HTTP_CODE = {
5
5
  PARSE_ERROR: 400,
6
6
  BAD_REQUEST: 400,
7
7
  UNAUTHORIZED: 401,
8
- NOT_FOUND: 404,
9
8
  FORBIDDEN: 403,
9
+ NOT_FOUND: 404,
10
10
  METHOD_NOT_SUPPORTED: 405,
11
11
  TIMEOUT: 408,
12
12
  CONFLICT: 409,
@@ -17,7 +17,10 @@ const JSONRPC2_TO_HTTP_CODE = {
17
17
  TOO_MANY_REQUESTS: 429,
18
18
  CLIENT_CLOSED_REQUEST: 499,
19
19
  INTERNAL_SERVER_ERROR: 500,
20
- NOT_IMPLEMENTED: 501
20
+ NOT_IMPLEMENTED: 501,
21
+ BAD_GATEWAY: 502,
22
+ SERVICE_UNAVAILABLE: 503,
23
+ GATEWAY_TIMEOUT: 504
21
24
  };
22
25
  function getStatusCodeFromKey(code) {
23
26
  return JSONRPC2_TO_HTTP_CODE[code] ?? 500;
@@ -83,6 +83,11 @@ export interface TRPCRequestInfo {
83
83
  * Connection params when using `httpSubscriptionLink` or `createWSClient`
84
84
  */
85
85
  connectionParams: Dict<string> | null;
86
+ /**
87
+ * Signal when the request is aborted
88
+ * Can be used to abort async operations during the request, e.g. `fetch()`-requests
89
+ */
90
+ signal: AbortSignal;
86
91
  }
87
92
  /**
88
93
  * Inner createContext function for `resolveResponse` used to forward `TRPCRequestInfo` to `createContext`
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/http/types.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,9 @@ export declare const TRPC_ERROR_CODES_BY_KEY: {
17
17
  readonly BAD_REQUEST: -32600;
18
18
  readonly INTERNAL_SERVER_ERROR: -32603;
19
19
  readonly NOT_IMPLEMENTED: -32603;
20
+ readonly BAD_GATEWAY: -32603;
21
+ readonly SERVICE_UNAVAILABLE: -32603;
22
+ readonly GATEWAY_TIMEOUT: -32603;
20
23
  readonly UNAUTHORIZED: -32001;
21
24
  readonly FORBIDDEN: -32003;
22
25
  readonly NOT_FOUND: -32004;
@@ -24,8 +27,8 @@ export declare const TRPC_ERROR_CODES_BY_KEY: {
24
27
  readonly TIMEOUT: -32008;
25
28
  readonly CONFLICT: -32009;
26
29
  readonly PRECONDITION_FAILED: -32012;
27
- readonly UNSUPPORTED_MEDIA_TYPE: -32015;
28
30
  readonly PAYLOAD_TOO_LARGE: -32013;
31
+ readonly UNSUPPORTED_MEDIA_TYPE: -32015;
29
32
  readonly UNPROCESSABLE_CONTENT: -32022;
30
33
  readonly TOO_MANY_REQUESTS: -32029;
31
34
  readonly CLIENT_CLOSED_REQUEST: -32099;
@@ -1 +1 @@
1
- {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/rpc/codes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAIxC;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH;;OAEG;;;;;;;;;;;;;;;;CAoBK,CAAC;AAEX,KAAK,YAAY,CAAC,MAAM,EAAE,KAAK,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KACzE,CAAC,IAAI,MAAM,KAAK,GAAG,MAAM,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACxD,CAAC,MAAM,KAAK,CAAC,CAAC;AAEf,KAAK,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KAC3D,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;CAC5D,CAAC;AAGF,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAC7C,OAAO,uBAAuB,CAiB/B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,uBAAuB,CAAC"}
1
+ {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/rpc/codes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAIxC;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH;;OAEG;;;;;;;;;;;;;;;;;;;CAuBK,CAAC;AAEX,KAAK,YAAY,CAAC,MAAM,EAAE,KAAK,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KACzE,CAAC,IAAI,MAAM,KAAK,GAAG,MAAM,SAAS,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACxD,CAAC,MAAM,KAAK,CAAC,CAAC;AAEf,KAAK,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI;KAC3D,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;CAC5D,CAAC;AAGF,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAC7C,OAAO,uBAAuB,CAiB/B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,uBAAuB,CAAC"}
@@ -17,6 +17,9 @@
17
17
  // Internal JSON-RPC error
18
18
  INTERNAL_SERVER_ERROR: -32603,
19
19
  NOT_IMPLEMENTED: -32603,
20
+ BAD_GATEWAY: -32603,
21
+ SERVICE_UNAVAILABLE: -32603,
22
+ GATEWAY_TIMEOUT: -32603,
20
23
  // Implementation specific errors
21
24
  UNAUTHORIZED: -32001,
22
25
  FORBIDDEN: -32003,
@@ -25,8 +28,8 @@
25
28
  TIMEOUT: -32008,
26
29
  CONFLICT: -32009,
27
30
  PRECONDITION_FAILED: -32012,
28
- UNSUPPORTED_MEDIA_TYPE: -32015,
29
31
  PAYLOAD_TOO_LARGE: -32013,
32
+ UNSUPPORTED_MEDIA_TYPE: -32015,
30
33
  UNPROCESSABLE_CONTENT: -32022,
31
34
  TOO_MANY_REQUESTS: -32029,
32
35
  CLIENT_CLOSED_REQUEST: -32099
@@ -15,6 +15,9 @@
15
15
  // Internal JSON-RPC error
16
16
  INTERNAL_SERVER_ERROR: -32603,
17
17
  NOT_IMPLEMENTED: -32603,
18
+ BAD_GATEWAY: -32603,
19
+ SERVICE_UNAVAILABLE: -32603,
20
+ GATEWAY_TIMEOUT: -32603,
18
21
  // Implementation specific errors
19
22
  UNAUTHORIZED: -32001,
20
23
  FORBIDDEN: -32003,
@@ -23,8 +26,8 @@
23
26
  TIMEOUT: -32008,
24
27
  CONFLICT: -32009,
25
28
  PRECONDITION_FAILED: -32012,
26
- UNSUPPORTED_MEDIA_TYPE: -32015,
27
29
  PAYLOAD_TOO_LARGE: -32013,
30
+ UNSUPPORTED_MEDIA_TYPE: -32015,
28
31
  UNPROCESSABLE_CONTENT: -32022,
29
32
  TOO_MANY_REQUESTS: -32029,
30
33
  CLIENT_CLOSED_REQUEST: -32099
@@ -56,9 +56,10 @@ type ChunkData = PromiseChunk | IterableChunk;
56
56
  export declare function isPromise(value: unknown): value is Promise<unknown>;
57
57
  type Serialize = (value: any) => any;
58
58
  type Deserialize = (value: any) => any;
59
+ type PathArray = readonly (string | number)[];
59
60
  export type ProducerOnError = (opts: {
60
61
  error: unknown;
61
- path: (string | number)[];
62
+ path: PathArray;
62
63
  }) => void;
63
64
  export interface ProducerOptions {
64
65
  serialize?: Serialize;
@@ -66,7 +67,7 @@ export interface ProducerOptions {
66
67
  onError?: ProducerOnError;
67
68
  formatError?: (opts: {
68
69
  error: unknown;
69
- path: (string | number)[];
70
+ path: PathArray;
70
71
  }) => unknown;
71
72
  maxDepth?: number;
72
73
  }
@@ -92,8 +93,12 @@ export declare function jsonlStreamConsumer<THead>(opts: {
92
93
  formatError?: (opts: {
93
94
  error: unknown;
94
95
  }) => Error;
96
+ abortController: AbortController | null;
95
97
  }): Promise<readonly [Awaited<THead>, {
96
- readonly controllers: Map<ChunkIndex, ReadableStreamDefaultController<ChunkData | StreamInterruptedError>>;
98
+ readonly controllers: Map<ChunkIndex, {
99
+ controller: ReadableStreamDefaultController<ChunkData | StreamInterruptedError>;
100
+ returned: boolean;
101
+ }>;
97
102
  }]>;
98
103
  export {};
99
104
  //# sourceMappingURL=jsonl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/stream/jsonl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../../src/unstable-core-do-not-import/stream/jsonl.ts"],"names":[],"mappings":"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"}
@@ -332,14 +332,24 @@ function createConsumerStream(from) {
332
332
  let headDeferred = createDeferred.createDeferred();
333
333
  const chunkDeferred = new Map();
334
334
  const controllers = new Map();
335
+ const maybeAbort = ()=>{
336
+ if (chunkDeferred.size === 0 && Array.from(controllers.values()).every((it)=>it.returned)) {
337
+ // nothing is listening to the stream anymore
338
+ opts.abortController?.abort();
339
+ }
340
+ };
335
341
  function hydrateChunkDefinition(value) {
336
342
  const [_path, type, chunkId] = value;
337
343
  const { readable , controller } = createReadableStream.createReadableStream();
338
- controllers.set(chunkId, controller);
344
+ const wrapper = {
345
+ controller,
346
+ returned: false
347
+ };
348
+ controllers.set(chunkId, wrapper);
339
349
  // resolve chunk deferred if it exists
340
350
  const deferred = chunkDeferred.get(chunkId);
341
351
  if (deferred) {
342
- deferred.resolve(controller);
352
+ deferred.resolve(wrapper);
343
353
  chunkDeferred.delete(chunkId);
344
354
  }
345
355
  switch(type){
@@ -372,37 +382,61 @@ function createConsumerStream(from) {
372
382
  }).catch(reject).finally(()=>{
373
383
  // reader.releaseLock();
374
384
  controllers.delete(chunkId);
385
+ maybeAbort();
375
386
  });
376
387
  });
377
388
  }
378
389
  case CHUNK_VALUE_TYPE_ASYNC_ITERABLE:
379
390
  {
380
391
  return {
381
- [Symbol.asyncIterator]: async function*() {
392
+ [Symbol.asyncIterator]: ()=>{
382
393
  const reader = readable.getReader();
383
- while(true){
384
- const { done , value } = await reader.read();
385
- if (done) {
386
- break;
387
- }
388
- if (value instanceof StreamInterruptedError) {
389
- throw value;
390
- }
391
- const [_chunkId, status, data] = value;
392
- switch(status){
393
- case ASYNC_ITERABLE_STATUS_VALUE:
394
- yield hydrate(data);
395
- break;
396
- case ASYNC_ITERABLE_STATUS_DONE:
397
- controllers.delete(chunkId);
398
- return;
399
- case ASYNC_ITERABLE_STATUS_ERROR:
394
+ const iterator = {
395
+ next: async ()=>{
396
+ const { done , value } = await reader.read();
397
+ if (value instanceof StreamInterruptedError) {
398
+ throw value;
399
+ }
400
+ if (done) {
400
401
  controllers.delete(chunkId);
401
- throw opts.formatError?.({
402
- error: data
403
- }) ?? new AsyncError(data);
402
+ maybeAbort();
403
+ return {
404
+ done: true,
405
+ value: undefined
406
+ };
407
+ }
408
+ const [_chunkId, status, data] = value;
409
+ switch(status){
410
+ case ASYNC_ITERABLE_STATUS_VALUE:
411
+ return {
412
+ done: false,
413
+ value: hydrate(data)
414
+ };
415
+ case ASYNC_ITERABLE_STATUS_DONE:
416
+ controllers.delete(chunkId);
417
+ maybeAbort();
418
+ return {
419
+ done: true,
420
+ value: undefined
421
+ };
422
+ case ASYNC_ITERABLE_STATUS_ERROR:
423
+ controllers.delete(chunkId);
424
+ maybeAbort();
425
+ throw opts.formatError?.({
426
+ error: data
427
+ }) ?? new AsyncError(data);
428
+ }
429
+ },
430
+ return: async ()=>{
431
+ wrapper.returned = true;
432
+ maybeAbort();
433
+ return {
434
+ done: true,
435
+ value: undefined
436
+ };
404
437
  }
405
- }
438
+ };
439
+ return iterator;
406
440
  }
407
441
  };
408
442
  }
@@ -411,12 +445,12 @@ function createConsumerStream(from) {
411
445
  function hydrate(value) {
412
446
  const [[data], ...asyncProps] = value;
413
447
  for (const value1 of asyncProps){
448
+ const [key] = value1;
414
449
  const hydrated = hydrateChunkDefinition(value1);
415
- const [path] = value1;
416
- if (path === null) {
450
+ if (key === null) {
417
451
  return hydrated;
418
452
  }
419
- data[path] = hydrated;
453
+ data[key] = hydrated;
420
454
  }
421
455
  return data;
422
456
  }
@@ -427,7 +461,7 @@ function createConsumerStream(from) {
427
461
  deferred.reject(error);
428
462
  }
429
463
  chunkDeferred.clear();
430
- for (const controller of controllers.values()){
464
+ for (const { controller } of controllers.values()){
431
465
  controller.enqueue(error);
432
466
  controller.close();
433
467
  }
@@ -447,16 +481,16 @@ function createConsumerStream(from) {
447
481
  }
448
482
  const chunk = chunkOrHead;
449
483
  const [idx] = chunk;
450
- let controller = controllers.get(idx);
451
- if (!controller) {
484
+ let wrapper = controllers.get(idx);
485
+ if (!wrapper) {
452
486
  let deferred = chunkDeferred.get(idx);
453
487
  if (!deferred) {
454
488
  deferred = createDeferred.createDeferred();
455
489
  chunkDeferred.set(idx, deferred);
456
490
  }
457
- controller = await deferred.promise;
491
+ wrapper = await deferred.promise;
458
492
  }
459
- controller.enqueue(chunk);
493
+ wrapper.controller.enqueue(chunk);
460
494
  },
461
495
  close: closeOrAbort,
462
496
  abort: closeOrAbort
@@ -330,14 +330,24 @@ function createConsumerStream(from) {
330
330
  let headDeferred = createDeferred();
331
331
  const chunkDeferred = new Map();
332
332
  const controllers = new Map();
333
+ const maybeAbort = ()=>{
334
+ if (chunkDeferred.size === 0 && Array.from(controllers.values()).every((it)=>it.returned)) {
335
+ // nothing is listening to the stream anymore
336
+ opts.abortController?.abort();
337
+ }
338
+ };
333
339
  function hydrateChunkDefinition(value) {
334
340
  const [_path, type, chunkId] = value;
335
341
  const { readable , controller } = createReadableStream();
336
- controllers.set(chunkId, controller);
342
+ const wrapper = {
343
+ controller,
344
+ returned: false
345
+ };
346
+ controllers.set(chunkId, wrapper);
337
347
  // resolve chunk deferred if it exists
338
348
  const deferred = chunkDeferred.get(chunkId);
339
349
  if (deferred) {
340
- deferred.resolve(controller);
350
+ deferred.resolve(wrapper);
341
351
  chunkDeferred.delete(chunkId);
342
352
  }
343
353
  switch(type){
@@ -370,37 +380,61 @@ function createConsumerStream(from) {
370
380
  }).catch(reject).finally(()=>{
371
381
  // reader.releaseLock();
372
382
  controllers.delete(chunkId);
383
+ maybeAbort();
373
384
  });
374
385
  });
375
386
  }
376
387
  case CHUNK_VALUE_TYPE_ASYNC_ITERABLE:
377
388
  {
378
389
  return {
379
- [Symbol.asyncIterator]: async function*() {
390
+ [Symbol.asyncIterator]: ()=>{
380
391
  const reader = readable.getReader();
381
- while(true){
382
- const { done , value } = await reader.read();
383
- if (done) {
384
- break;
385
- }
386
- if (value instanceof StreamInterruptedError) {
387
- throw value;
388
- }
389
- const [_chunkId, status, data] = value;
390
- switch(status){
391
- case ASYNC_ITERABLE_STATUS_VALUE:
392
- yield hydrate(data);
393
- break;
394
- case ASYNC_ITERABLE_STATUS_DONE:
395
- controllers.delete(chunkId);
396
- return;
397
- case ASYNC_ITERABLE_STATUS_ERROR:
392
+ const iterator = {
393
+ next: async ()=>{
394
+ const { done , value } = await reader.read();
395
+ if (value instanceof StreamInterruptedError) {
396
+ throw value;
397
+ }
398
+ if (done) {
398
399
  controllers.delete(chunkId);
399
- throw opts.formatError?.({
400
- error: data
401
- }) ?? new AsyncError(data);
400
+ maybeAbort();
401
+ return {
402
+ done: true,
403
+ value: undefined
404
+ };
405
+ }
406
+ const [_chunkId, status, data] = value;
407
+ switch(status){
408
+ case ASYNC_ITERABLE_STATUS_VALUE:
409
+ return {
410
+ done: false,
411
+ value: hydrate(data)
412
+ };
413
+ case ASYNC_ITERABLE_STATUS_DONE:
414
+ controllers.delete(chunkId);
415
+ maybeAbort();
416
+ return {
417
+ done: true,
418
+ value: undefined
419
+ };
420
+ case ASYNC_ITERABLE_STATUS_ERROR:
421
+ controllers.delete(chunkId);
422
+ maybeAbort();
423
+ throw opts.formatError?.({
424
+ error: data
425
+ }) ?? new AsyncError(data);
426
+ }
427
+ },
428
+ return: async ()=>{
429
+ wrapper.returned = true;
430
+ maybeAbort();
431
+ return {
432
+ done: true,
433
+ value: undefined
434
+ };
402
435
  }
403
- }
436
+ };
437
+ return iterator;
404
438
  }
405
439
  };
406
440
  }
@@ -409,12 +443,12 @@ function createConsumerStream(from) {
409
443
  function hydrate(value) {
410
444
  const [[data], ...asyncProps] = value;
411
445
  for (const value1 of asyncProps){
446
+ const [key] = value1;
412
447
  const hydrated = hydrateChunkDefinition(value1);
413
- const [path] = value1;
414
- if (path === null) {
448
+ if (key === null) {
415
449
  return hydrated;
416
450
  }
417
- data[path] = hydrated;
451
+ data[key] = hydrated;
418
452
  }
419
453
  return data;
420
454
  }
@@ -425,7 +459,7 @@ function createConsumerStream(from) {
425
459
  deferred.reject(error);
426
460
  }
427
461
  chunkDeferred.clear();
428
- for (const controller of controllers.values()){
462
+ for (const { controller } of controllers.values()){
429
463
  controller.enqueue(error);
430
464
  controller.close();
431
465
  }
@@ -445,16 +479,16 @@ function createConsumerStream(from) {
445
479
  }
446
480
  const chunk = chunkOrHead;
447
481
  const [idx] = chunk;
448
- let controller = controllers.get(idx);
449
- if (!controller) {
482
+ let wrapper = controllers.get(idx);
483
+ if (!wrapper) {
450
484
  let deferred = chunkDeferred.get(idx);
451
485
  if (!deferred) {
452
486
  deferred = createDeferred();
453
487
  chunkDeferred.set(idx, deferred);
454
488
  }
455
- controller = await deferred.promise;
489
+ wrapper = await deferred.promise;
456
490
  }
457
- controller.enqueue(chunk);
491
+ wrapper.controller.enqueue(chunk);
458
492
  },
459
493
  close: closeOrAbort,
460
494
  abort: closeOrAbort
@@ -1 +1 @@
1
- {"version":3,"file":"createServer.d.ts","sourceRoot":"","sources":["../../../../src/unstable-core-do-not-import/stream/utils/createServer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,wBAAgB,YAAY,CAC1B,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;;;;EAyCvE"}
1
+ {"version":3,"file":"createServer.d.ts","sourceRoot":"","sources":["../../../../src/unstable-core-do-not-import/stream/utils/createServer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,wBAAgB,YAAY,CAC1B,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;;;;EAuCvE"}