@orpc/server 0.0.0-next.d53d856 → 0.0.0-next.d53e45e

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 (55) hide show
  1. package/README.md +5 -1
  2. package/dist/adapters/aws-lambda/index.d.mts +5 -5
  3. package/dist/adapters/aws-lambda/index.d.ts +5 -5
  4. package/dist/adapters/aws-lambda/index.mjs +3 -3
  5. package/dist/adapters/bun-ws/index.d.mts +5 -5
  6. package/dist/adapters/bun-ws/index.d.ts +5 -5
  7. package/dist/adapters/bun-ws/index.mjs +2 -2
  8. package/dist/adapters/crossws/index.d.mts +5 -5
  9. package/dist/adapters/crossws/index.d.ts +5 -5
  10. package/dist/adapters/crossws/index.mjs +2 -2
  11. package/dist/adapters/fetch/index.d.mts +11 -10
  12. package/dist/adapters/fetch/index.d.ts +11 -10
  13. package/dist/adapters/fetch/index.mjs +15 -7
  14. package/dist/adapters/message-port/index.d.mts +5 -5
  15. package/dist/adapters/message-port/index.d.ts +5 -5
  16. package/dist/adapters/message-port/index.mjs +2 -2
  17. package/dist/adapters/node/index.d.mts +11 -10
  18. package/dist/adapters/node/index.d.ts +11 -10
  19. package/dist/adapters/node/index.mjs +7 -8
  20. package/dist/adapters/standard/index.d.mts +6 -6
  21. package/dist/adapters/standard/index.d.ts +6 -6
  22. package/dist/adapters/standard/index.mjs +2 -2
  23. package/dist/adapters/standard-peer/index.d.mts +3 -3
  24. package/dist/adapters/standard-peer/index.d.ts +3 -3
  25. package/dist/adapters/websocket/index.d.mts +9 -7
  26. package/dist/adapters/websocket/index.d.ts +9 -7
  27. package/dist/adapters/websocket/index.mjs +2 -2
  28. package/dist/adapters/ws/index.d.mts +5 -5
  29. package/dist/adapters/ws/index.d.ts +5 -5
  30. package/dist/adapters/ws/index.mjs +2 -2
  31. package/dist/helpers/index.d.mts +16 -1
  32. package/dist/helpers/index.d.ts +16 -1
  33. package/dist/helpers/index.mjs +11 -1
  34. package/dist/hibernation/index.d.mts +2 -2
  35. package/dist/hibernation/index.d.ts +2 -2
  36. package/dist/index.d.mts +5 -5
  37. package/dist/index.d.ts +5 -5
  38. package/dist/index.mjs +8 -5
  39. package/dist/plugins/index.d.mts +5 -2
  40. package/dist/plugins/index.d.ts +5 -2
  41. package/dist/plugins/index.mjs +13 -11
  42. package/dist/shared/{server.CYNGeoCm.d.mts → server.B4BGqy3Y.d.mts} +2 -3
  43. package/dist/shared/{server.CYNGeoCm.d.ts → server.B4BGqy3Y.d.ts} +2 -3
  44. package/dist/shared/{server.CYRYFTxo.mjs → server.Bxx6tqNe.mjs} +1 -1
  45. package/dist/shared/{server.D0H-iaY3.d.ts → server.COL12UTb.d.ts} +3 -3
  46. package/dist/shared/{server.BEFBl-Cb.d.mts → server.CVKCo60T.d.mts} +2 -2
  47. package/dist/shared/{server.jMTkVNIb.d.ts → server.Cb6yD7DZ.d.ts} +1 -1
  48. package/dist/shared/{server.BU4WI18A.d.mts → server.Ck-gOLzq.d.mts} +3 -3
  49. package/dist/shared/{server.gqRxT-yN.d.mts → server.DBCUJijK.d.mts} +1 -1
  50. package/dist/shared/{server.B7b2w3_i.d.ts → server.DNtJ-p60.d.ts} +2 -2
  51. package/dist/shared/{server.Bmh5xd4n.d.ts → server.DPIFWpxG.d.ts} +1 -1
  52. package/dist/shared/{server.B_fj3X5m.mjs → server.Ds4HPpvH.mjs} +31 -30
  53. package/dist/shared/{server.DhJj-1X9.d.mts → server.DzV1hr3z.d.mts} +1 -1
  54. package/dist/shared/{server.BW-nUGgA.mjs → server.TEVCLCFC.mjs} +3 -0
  55. package/package.json +12 -11
package/README.md CHANGED
@@ -17,6 +17,9 @@
17
17
  <a href="https://discord.gg/TXEbwRBvQn">
18
18
  <img alt="Discord" src="https://img.shields.io/discord/1308966753044398161?color=7389D8&label&logo=discord&logoColor=ffffff" />
19
19
  </a>
20
+ <a href="https://deepwiki.com/unnoq/orpc">
21
+ <img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki">
22
+ </a>
20
23
  </div>
21
24
 
22
25
  <h3 align="center">Typesafe APIs Made Simple 🪄</h3>
@@ -31,7 +34,7 @@
31
34
  - **📘 First-Class OpenAPI**: Built-in support that fully adheres to the OpenAPI standard.
32
35
  - **📝 Contract-First Development**: Optionally define your API contract before implementation.
33
36
  - **🔍 First-Class OpenTelemetry**: Seamlessly integrate with OpenTelemetry for observability.
34
- - **⚙️ Framework Integrations**: Seamlessly integrate with TanStack Query (React, Vue, Solid, Svelte, Angular), Pinia Colada, and more.
37
+ - **⚙️ Framework Integrations**: Seamlessly integrate with TanStack Query (React, Vue, Solid, Svelte, Angular), SWR, Pinia Colada, and more.
35
38
  - **🚀 Server Actions**: Fully compatible with React Server Actions on Next.js, TanStack Start, and other platforms.
36
39
  - **🔠 Standard Schema Support**: Works out of the box with Zod, Valibot, ArkType, and other schema validators.
37
40
  - **🗃️ Native Types**: Supports native types like Date, File, Blob, BigInt, URL, and more.
@@ -54,6 +57,7 @@ You can find the full documentation [here](https://orpc.unnoq.com).
54
57
  - [@orpc/nest](https://www.npmjs.com/package/@orpc/nest): Deeply integrate oRPC with [NestJS](https://nestjs.com/).
55
58
  - [@orpc/react](https://www.npmjs.com/package/@orpc/react): Utilities for integrating oRPC with React and React Server Actions.
56
59
  - [@orpc/tanstack-query](https://www.npmjs.com/package/@orpc/tanstack-query): [TanStack Query](https://tanstack.com/query/latest) integration.
60
+ - [@orpc/experimental-react-swr](https://www.npmjs.com/package/@orpc/experimental-react-swr): [SWR](https://swr.vercel.app/) integration.
57
61
  - [@orpc/vue-colada](https://www.npmjs.com/package/@orpc/vue-colada): Integration with [Pinia Colada](https://pinia-colada.esm.dev/).
58
62
  - [@orpc/hey-api](https://www.npmjs.com/package/@orpc/hey-api): [Hey API](https://heyapi.dev/) integration.
59
63
  - [@orpc/zod](https://www.npmjs.com/package/@orpc/zod): More schemas that [Zod](https://zod.dev/) doesn't support yet.
@@ -1,14 +1,14 @@
1
1
  import { MaybeOptionalOptions } from '@orpc/shared';
2
2
  import { SendStandardResponseOptions, APIGatewayProxyEventV2, ResponseStream } from '@orpc/standard-server-aws-lambda';
3
- import { C as Context, R as Router } from '../../shared/server.CYNGeoCm.mjs';
4
- import { f as StandardHandler } from '../../shared/server.gqRxT-yN.mjs';
5
- import { F as FriendlyStandardHandleOptions } from '../../shared/server.BEFBl-Cb.mjs';
6
- import { S as StandardRPCHandlerOptions } from '../../shared/server.BU4WI18A.mjs';
3
+ import { C as Context, R as Router } from '../../shared/server.B4BGqy3Y.mjs';
4
+ import { f as StandardHandler } from '../../shared/server.DBCUJijK.mjs';
5
+ import { F as FriendlyStandardHandleOptions } from '../../shared/server.CVKCo60T.mjs';
6
+ import { S as StandardRPCHandlerOptions } from '../../shared/server.Ck-gOLzq.mjs';
7
7
  import '@orpc/client';
8
8
  import '@orpc/contract';
9
9
  import '@orpc/standard-server';
10
10
  import '@orpc/client/standard';
11
- import '../../shared/server.DhJj-1X9.mjs';
11
+ import '../../shared/server.DzV1hr3z.mjs';
12
12
 
13
13
  interface AwsLambdaHandlerOptions extends SendStandardResponseOptions {
14
14
  }
@@ -1,14 +1,14 @@
1
1
  import { MaybeOptionalOptions } from '@orpc/shared';
2
2
  import { SendStandardResponseOptions, APIGatewayProxyEventV2, ResponseStream } from '@orpc/standard-server-aws-lambda';
3
- import { C as Context, R as Router } from '../../shared/server.CYNGeoCm.js';
4
- import { f as StandardHandler } from '../../shared/server.Bmh5xd4n.js';
5
- import { F as FriendlyStandardHandleOptions } from '../../shared/server.B7b2w3_i.js';
6
- import { S as StandardRPCHandlerOptions } from '../../shared/server.D0H-iaY3.js';
3
+ import { C as Context, R as Router } from '../../shared/server.B4BGqy3Y.js';
4
+ import { f as StandardHandler } from '../../shared/server.DPIFWpxG.js';
5
+ import { F as FriendlyStandardHandleOptions } from '../../shared/server.DNtJ-p60.js';
6
+ import { S as StandardRPCHandlerOptions } from '../../shared/server.COL12UTb.js';
7
7
  import '@orpc/client';
8
8
  import '@orpc/contract';
9
9
  import '@orpc/standard-server';
10
10
  import '@orpc/client/standard';
11
- import '../../shared/server.jMTkVNIb.js';
11
+ import '../../shared/server.Cb6yD7DZ.js';
12
12
 
13
13
  interface AwsLambdaHandlerOptions extends SendStandardResponseOptions {
14
14
  }
@@ -5,11 +5,11 @@ import '@orpc/standard-server';
5
5
  import '@orpc/standard-server/batch';
6
6
  import '@orpc/standard-server-fetch';
7
7
  import '@orpc/client';
8
- import { S as StrictGetMethodPlugin } from '../../shared/server.BW-nUGgA.mjs';
8
+ import { S as StrictGetMethodPlugin } from '../../shared/server.TEVCLCFC.mjs';
9
9
  import '@orpc/contract';
10
- import { b as StandardRPCHandler } from '../../shared/server.CYRYFTxo.mjs';
10
+ import { b as StandardRPCHandler } from '../../shared/server.Bxx6tqNe.mjs';
11
11
  import '@orpc/client/standard';
12
- import '../../shared/server.B_fj3X5m.mjs';
12
+ import '../../shared/server.Ds4HPpvH.mjs';
13
13
 
14
14
  class AwsLambdaHandler {
15
15
  constructor(standardHandler, options = {}) {
@@ -1,15 +1,15 @@
1
1
  import { MaybeOptionalOptions } from '@orpc/shared';
2
- import { C as Context, R as Router } from '../../shared/server.CYNGeoCm.mjs';
3
- import { f as StandardHandler } from '../../shared/server.gqRxT-yN.mjs';
2
+ import { C as Context, R as Router } from '../../shared/server.B4BGqy3Y.mjs';
3
+ import { f as StandardHandler } from '../../shared/server.DBCUJijK.mjs';
4
4
  import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.mjs';
5
- import { S as StandardRPCHandlerOptions } from '../../shared/server.BU4WI18A.mjs';
5
+ import { S as StandardRPCHandlerOptions } from '../../shared/server.Ck-gOLzq.mjs';
6
6
  import '@orpc/client';
7
7
  import '@orpc/contract';
8
8
  import '@orpc/standard-server';
9
9
  import '@orpc/standard-server-peer';
10
- import '../../shared/server.BEFBl-Cb.mjs';
10
+ import '../../shared/server.CVKCo60T.mjs';
11
11
  import '@orpc/client/standard';
12
- import '../../shared/server.DhJj-1X9.mjs';
12
+ import '../../shared/server.DzV1hr3z.mjs';
13
13
 
14
14
  interface ServerWebSocket {
15
15
  send(message: string | ArrayBufferLike | Uint8Array): number;
@@ -1,15 +1,15 @@
1
1
  import { MaybeOptionalOptions } from '@orpc/shared';
2
- import { C as Context, R as Router } from '../../shared/server.CYNGeoCm.js';
3
- import { f as StandardHandler } from '../../shared/server.Bmh5xd4n.js';
2
+ import { C as Context, R as Router } from '../../shared/server.B4BGqy3Y.js';
3
+ import { f as StandardHandler } from '../../shared/server.DPIFWpxG.js';
4
4
  import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.js';
5
- import { S as StandardRPCHandlerOptions } from '../../shared/server.D0H-iaY3.js';
5
+ import { S as StandardRPCHandlerOptions } from '../../shared/server.COL12UTb.js';
6
6
  import '@orpc/client';
7
7
  import '@orpc/contract';
8
8
  import '@orpc/standard-server';
9
9
  import '@orpc/standard-server-peer';
10
- import '../../shared/server.B7b2w3_i.js';
10
+ import '../../shared/server.DNtJ-p60.js';
11
11
  import '@orpc/client/standard';
12
- import '../../shared/server.jMTkVNIb.js';
12
+ import '../../shared/server.Cb6yD7DZ.js';
13
13
 
14
14
  interface ServerWebSocket {
15
15
  send(message: string | ArrayBufferLike | Uint8Array): number;
@@ -4,10 +4,10 @@ import { c as createServerPeerHandleRequestFn } from '../../shared/server.UVMTOW
4
4
  import '@orpc/client';
5
5
  import '@orpc/standard-server';
6
6
  import '@orpc/contract';
7
- import { b as StandardRPCHandler } from '../../shared/server.CYRYFTxo.mjs';
7
+ import { b as StandardRPCHandler } from '../../shared/server.Bxx6tqNe.mjs';
8
8
  import '@orpc/client/standard';
9
9
  import '../../shared/server.DZ5BIITo.mjs';
10
- import '../../shared/server.B_fj3X5m.mjs';
10
+ import '../../shared/server.Ds4HPpvH.mjs';
11
11
 
12
12
  class BunWsHandler {
13
13
  constructor(standardHandler) {
@@ -1,16 +1,16 @@
1
1
  import { MaybeOptionalOptions } from '@orpc/shared';
2
2
  import { Peer, Message } from 'crossws';
3
- import { C as Context, R as Router } from '../../shared/server.CYNGeoCm.mjs';
4
- import { f as StandardHandler } from '../../shared/server.gqRxT-yN.mjs';
3
+ import { C as Context, R as Router } from '../../shared/server.B4BGqy3Y.mjs';
4
+ import { f as StandardHandler } from '../../shared/server.DBCUJijK.mjs';
5
5
  import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.mjs';
6
- import { S as StandardRPCHandlerOptions } from '../../shared/server.BU4WI18A.mjs';
6
+ import { S as StandardRPCHandlerOptions } from '../../shared/server.Ck-gOLzq.mjs';
7
7
  import '@orpc/client';
8
8
  import '@orpc/contract';
9
9
  import '@orpc/standard-server';
10
10
  import '@orpc/standard-server-peer';
11
- import '../../shared/server.BEFBl-Cb.mjs';
11
+ import '../../shared/server.CVKCo60T.mjs';
12
12
  import '@orpc/client/standard';
13
- import '../../shared/server.DhJj-1X9.mjs';
13
+ import '../../shared/server.DzV1hr3z.mjs';
14
14
 
15
15
  declare class experimental_CrosswsHandler<T extends Context> {
16
16
  private readonly standardHandler;
@@ -1,16 +1,16 @@
1
1
  import { MaybeOptionalOptions } from '@orpc/shared';
2
2
  import { Peer, Message } from 'crossws';
3
- import { C as Context, R as Router } from '../../shared/server.CYNGeoCm.js';
4
- import { f as StandardHandler } from '../../shared/server.Bmh5xd4n.js';
3
+ import { C as Context, R as Router } from '../../shared/server.B4BGqy3Y.js';
4
+ import { f as StandardHandler } from '../../shared/server.DPIFWpxG.js';
5
5
  import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.js';
6
- import { S as StandardRPCHandlerOptions } from '../../shared/server.D0H-iaY3.js';
6
+ import { S as StandardRPCHandlerOptions } from '../../shared/server.COL12UTb.js';
7
7
  import '@orpc/client';
8
8
  import '@orpc/contract';
9
9
  import '@orpc/standard-server';
10
10
  import '@orpc/standard-server-peer';
11
- import '../../shared/server.B7b2w3_i.js';
11
+ import '../../shared/server.DNtJ-p60.js';
12
12
  import '@orpc/client/standard';
13
- import '../../shared/server.jMTkVNIb.js';
13
+ import '../../shared/server.Cb6yD7DZ.js';
14
14
 
15
15
  declare class experimental_CrosswsHandler<T extends Context> {
16
16
  private readonly standardHandler;
@@ -4,10 +4,10 @@ import { c as createServerPeerHandleRequestFn } from '../../shared/server.UVMTOW
4
4
  import '@orpc/client';
5
5
  import '@orpc/standard-server';
6
6
  import '@orpc/contract';
7
- import { b as StandardRPCHandler } from '../../shared/server.CYRYFTxo.mjs';
7
+ import { b as StandardRPCHandler } from '../../shared/server.Bxx6tqNe.mjs';
8
8
  import '@orpc/client/standard';
9
9
  import '../../shared/server.DZ5BIITo.mjs';
10
- import '../../shared/server.B_fj3X5m.mjs';
10
+ import '../../shared/server.Ds4HPpvH.mjs';
11
11
 
12
12
  class experimental_CrosswsHandler {
13
13
  constructor(standardHandler) {
@@ -1,14 +1,14 @@
1
- import { C as Context, R as Router } from '../../shared/server.CYNGeoCm.mjs';
1
+ import { C as Context, R as Router } from '../../shared/server.B4BGqy3Y.mjs';
2
2
  import { Interceptor, MaybeOptionalOptions } from '@orpc/shared';
3
3
  import { ToFetchResponseOptions } from '@orpc/standard-server-fetch';
4
- import { g as StandardHandlerPlugin, C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, f as StandardHandler } from '../../shared/server.gqRxT-yN.mjs';
5
- import { F as FriendlyStandardHandleOptions } from '../../shared/server.BEFBl-Cb.mjs';
6
- import { S as StandardRPCHandlerOptions } from '../../shared/server.BU4WI18A.mjs';
4
+ import { g as StandardHandlerPlugin, C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, f as StandardHandler } from '../../shared/server.DBCUJijK.mjs';
5
+ import { F as FriendlyStandardHandleOptions } from '../../shared/server.CVKCo60T.mjs';
6
+ import { S as StandardRPCHandlerOptions } from '../../shared/server.Ck-gOLzq.mjs';
7
7
  import '@orpc/client';
8
8
  import '@orpc/contract';
9
9
  import '@orpc/standard-server';
10
10
  import '@orpc/client/standard';
11
- import '../../shared/server.DhJj-1X9.mjs';
11
+ import '../../shared/server.DzV1hr3z.mjs';
12
12
 
13
13
  interface FetchHandlerPlugin<T extends Context> extends StandardHandlerPlugin<T> {
14
14
  initRuntimeAdapter?(options: FetchHandlerOptions<T>): void;
@@ -80,9 +80,10 @@ interface CompressionPluginOptions {
80
80
  */
81
81
  threshold?: number;
82
82
  /**
83
- * A filter function to determine if a response should be compressed.
84
- * This function is called in addition to the default compression checks
85
- * and allows for custom compression logic based on the request and response.
83
+ * Override the default content-type filter used to determine which responses should be compressed.
84
+ *
85
+ * @warning [Event Iterator](https://orpc.unnoq.com/docs/event-iterator) responses are never compressed, regardless of this filter's return value.
86
+ * @default only responses with compressible content types are compressed.
86
87
  */
87
88
  filter?: (request: Request, response: Response) => boolean;
88
89
  }
@@ -101,14 +102,14 @@ declare class CompressionPlugin<T extends Context> implements FetchHandlerPlugin
101
102
  initRuntimeAdapter(options: FetchHandlerOptions<T>): void;
102
103
  }
103
104
 
104
- type RPCHandlerOptions<T extends Context> = FetchHandlerOptions<T> & StandardRPCHandlerOptions<T> & {
105
+ interface RPCHandlerOptions<T extends Context> extends FetchHandlerOptions<T>, Omit<StandardRPCHandlerOptions<T>, 'plugins'> {
105
106
  /**
106
107
  * Enables or disables the StrictGetMethodPlugin.
107
108
  *
108
109
  * @default true
109
110
  */
110
111
  strictGetMethodPluginEnabled?: boolean;
111
- };
112
+ }
112
113
  /**
113
114
  * RPC Handler for Fetch Server
114
115
  *
@@ -1,14 +1,14 @@
1
- import { C as Context, R as Router } from '../../shared/server.CYNGeoCm.js';
1
+ import { C as Context, R as Router } from '../../shared/server.B4BGqy3Y.js';
2
2
  import { Interceptor, MaybeOptionalOptions } from '@orpc/shared';
3
3
  import { ToFetchResponseOptions } from '@orpc/standard-server-fetch';
4
- import { g as StandardHandlerPlugin, C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, f as StandardHandler } from '../../shared/server.Bmh5xd4n.js';
5
- import { F as FriendlyStandardHandleOptions } from '../../shared/server.B7b2w3_i.js';
6
- import { S as StandardRPCHandlerOptions } from '../../shared/server.D0H-iaY3.js';
4
+ import { g as StandardHandlerPlugin, C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, f as StandardHandler } from '../../shared/server.DPIFWpxG.js';
5
+ import { F as FriendlyStandardHandleOptions } from '../../shared/server.DNtJ-p60.js';
6
+ import { S as StandardRPCHandlerOptions } from '../../shared/server.COL12UTb.js';
7
7
  import '@orpc/client';
8
8
  import '@orpc/contract';
9
9
  import '@orpc/standard-server';
10
10
  import '@orpc/client/standard';
11
- import '../../shared/server.jMTkVNIb.js';
11
+ import '../../shared/server.Cb6yD7DZ.js';
12
12
 
13
13
  interface FetchHandlerPlugin<T extends Context> extends StandardHandlerPlugin<T> {
14
14
  initRuntimeAdapter?(options: FetchHandlerOptions<T>): void;
@@ -80,9 +80,10 @@ interface CompressionPluginOptions {
80
80
  */
81
81
  threshold?: number;
82
82
  /**
83
- * A filter function to determine if a response should be compressed.
84
- * This function is called in addition to the default compression checks
85
- * and allows for custom compression logic based on the request and response.
83
+ * Override the default content-type filter used to determine which responses should be compressed.
84
+ *
85
+ * @warning [Event Iterator](https://orpc.unnoq.com/docs/event-iterator) responses are never compressed, regardless of this filter's return value.
86
+ * @default only responses with compressible content types are compressed.
86
87
  */
87
88
  filter?: (request: Request, response: Response) => boolean;
88
89
  }
@@ -101,14 +102,14 @@ declare class CompressionPlugin<T extends Context> implements FetchHandlerPlugin
101
102
  initRuntimeAdapter(options: FetchHandlerOptions<T>): void;
102
103
  }
103
104
 
104
- type RPCHandlerOptions<T extends Context> = FetchHandlerOptions<T> & StandardRPCHandlerOptions<T> & {
105
+ interface RPCHandlerOptions<T extends Context> extends FetchHandlerOptions<T>, Omit<StandardRPCHandlerOptions<T>, 'plugins'> {
105
106
  /**
106
107
  * Enables or disables the StrictGetMethodPlugin.
107
108
  *
108
109
  * @default true
109
110
  */
110
111
  strictGetMethodPluginEnabled?: boolean;
111
- };
112
+ }
112
113
  /**
113
114
  * RPC Handler for Fetch Server
114
115
  *
@@ -4,11 +4,11 @@ import { toStandardLazyRequest, toFetchResponse } from '@orpc/standard-server-fe
4
4
  import { r as resolveFriendlyStandardHandleOptions } from '../../shared/server.DZ5BIITo.mjs';
5
5
  import '@orpc/standard-server';
6
6
  import '@orpc/contract';
7
- import { C as CompositeStandardHandlerPlugin, b as StandardRPCHandler } from '../../shared/server.CYRYFTxo.mjs';
7
+ import { C as CompositeStandardHandlerPlugin, b as StandardRPCHandler } from '../../shared/server.Bxx6tqNe.mjs';
8
8
  import '@orpc/client/standard';
9
9
  import '@orpc/standard-server/batch';
10
- import { S as StrictGetMethodPlugin } from '../../shared/server.BW-nUGgA.mjs';
11
- import '../../shared/server.B_fj3X5m.mjs';
10
+ import { S as StrictGetMethodPlugin } from '../../shared/server.TEVCLCFC.mjs';
11
+ import '../../shared/server.Ds4HPpvH.mjs';
12
12
 
13
13
  class BodyLimitPlugin {
14
14
  maxBodySize;
@@ -64,7 +64,14 @@ class CompressionPlugin {
64
64
  constructor(options = {}) {
65
65
  this.encodings = options.encodings ?? ORDERED_SUPPORTED_ENCODINGS;
66
66
  this.threshold = options.threshold ?? 1024;
67
- this.filter = options.filter;
67
+ this.filter = (request, response) => {
68
+ const hasContentDisposition = response.headers.has("content-disposition");
69
+ const contentType = response.headers.get("content-type");
70
+ if (!hasContentDisposition && contentType?.startsWith("text/event-stream")) {
71
+ return false;
72
+ }
73
+ return options.filter ? options.filter(request, response) : isCompressibleContentType(contentType);
74
+ };
68
75
  }
69
76
  initRuntimeAdapter(options) {
70
77
  options.adapterInterceptors ??= [];
@@ -74,7 +81,7 @@ class CompressionPlugin {
74
81
  return result;
75
82
  }
76
83
  const response = result.response;
77
- if (response.headers.has("content-encoding") || response.headers.has("transfer-encoding") || !isCompressibleContentType(response.headers.get("content-type")) || isNoTransformCacheControl(response.headers.get("cache-control"))) {
84
+ if (response.headers.has("content-encoding") || response.headers.has("transfer-encoding") || isNoTransformCacheControl(response.headers.get("cache-control"))) {
78
85
  return result;
79
86
  }
80
87
  const contentLength = response.headers.get("content-length");
@@ -86,7 +93,7 @@ class CompressionPlugin {
86
93
  if (!response.body || encoding === void 0) {
87
94
  return result;
88
95
  }
89
- if (this.filter && !this.filter(options2.request, response)) {
96
+ if (!this.filter(options2.request, response)) {
90
97
  return result;
91
98
  }
92
99
  const compressedBody = response.body.pipeThrough(new CompressionStream(encoding));
@@ -96,7 +103,8 @@ class CompressionPlugin {
96
103
  return {
97
104
  ...result,
98
105
  response: new Response(compressedBody, {
99
- ...response,
106
+ status: response.status,
107
+ statusText: response.statusText,
100
108
  headers: compressedHeaders
101
109
  })
102
110
  };
@@ -1,16 +1,16 @@
1
1
  import { SupportedMessagePort } from '@orpc/client/message-port';
2
2
  import { MaybeOptionalOptions } from '@orpc/shared';
3
- import { C as Context, R as Router } from '../../shared/server.CYNGeoCm.mjs';
4
- import { f as StandardHandler } from '../../shared/server.gqRxT-yN.mjs';
3
+ import { C as Context, R as Router } from '../../shared/server.B4BGqy3Y.mjs';
4
+ import { f as StandardHandler } from '../../shared/server.DBCUJijK.mjs';
5
5
  import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.mjs';
6
- import { S as StandardRPCHandlerOptions } from '../../shared/server.BU4WI18A.mjs';
6
+ import { S as StandardRPCHandlerOptions } from '../../shared/server.Ck-gOLzq.mjs';
7
7
  import '@orpc/client';
8
8
  import '@orpc/contract';
9
9
  import '@orpc/standard-server';
10
10
  import '@orpc/standard-server-peer';
11
- import '../../shared/server.BEFBl-Cb.mjs';
11
+ import '../../shared/server.CVKCo60T.mjs';
12
12
  import '@orpc/client/standard';
13
- import '../../shared/server.DhJj-1X9.mjs';
13
+ import '../../shared/server.DzV1hr3z.mjs';
14
14
 
15
15
  declare class MessagePortHandler<T extends Context> {
16
16
  private readonly standardHandler;
@@ -1,16 +1,16 @@
1
1
  import { SupportedMessagePort } from '@orpc/client/message-port';
2
2
  import { MaybeOptionalOptions } from '@orpc/shared';
3
- import { C as Context, R as Router } from '../../shared/server.CYNGeoCm.js';
4
- import { f as StandardHandler } from '../../shared/server.Bmh5xd4n.js';
3
+ import { C as Context, R as Router } from '../../shared/server.B4BGqy3Y.js';
4
+ import { f as StandardHandler } from '../../shared/server.DPIFWpxG.js';
5
5
  import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.js';
6
- import { S as StandardRPCHandlerOptions } from '../../shared/server.D0H-iaY3.js';
6
+ import { S as StandardRPCHandlerOptions } from '../../shared/server.COL12UTb.js';
7
7
  import '@orpc/client';
8
8
  import '@orpc/contract';
9
9
  import '@orpc/standard-server';
10
10
  import '@orpc/standard-server-peer';
11
- import '../../shared/server.B7b2w3_i.js';
11
+ import '../../shared/server.DNtJ-p60.js';
12
12
  import '@orpc/client/standard';
13
- import '../../shared/server.jMTkVNIb.js';
13
+ import '../../shared/server.Cb6yD7DZ.js';
14
14
 
15
15
  declare class MessagePortHandler<T extends Context> {
16
16
  private readonly standardHandler;
@@ -5,10 +5,10 @@ import { c as createServerPeerHandleRequestFn } from '../../shared/server.UVMTOW
5
5
  import '@orpc/client';
6
6
  import '@orpc/standard-server';
7
7
  import '@orpc/contract';
8
- import { b as StandardRPCHandler } from '../../shared/server.CYRYFTxo.mjs';
8
+ import { b as StandardRPCHandler } from '../../shared/server.Bxx6tqNe.mjs';
9
9
  import '@orpc/client/standard';
10
10
  import '../../shared/server.DZ5BIITo.mjs';
11
- import '../../shared/server.B_fj3X5m.mjs';
11
+ import '../../shared/server.Ds4HPpvH.mjs';
12
12
 
13
13
  class MessagePortHandler {
14
14
  constructor(standardHandler) {
@@ -1,15 +1,15 @@
1
- import { C as Context, R as Router } from '../../shared/server.CYNGeoCm.mjs';
1
+ import { C as Context, R as Router } from '../../shared/server.B4BGqy3Y.mjs';
2
2
  import { Interceptor, MaybeOptionalOptions } from '@orpc/shared';
3
3
  import { SendStandardResponseOptions, NodeHttpRequest, NodeHttpResponse } from '@orpc/standard-server-node';
4
- import { g as StandardHandlerPlugin, C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, f as StandardHandler } from '../../shared/server.gqRxT-yN.mjs';
5
- import { F as FriendlyStandardHandleOptions } from '../../shared/server.BEFBl-Cb.mjs';
4
+ import { g as StandardHandlerPlugin, C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, f as StandardHandler } from '../../shared/server.DBCUJijK.mjs';
5
+ import { F as FriendlyStandardHandleOptions } from '../../shared/server.CVKCo60T.mjs';
6
6
  import compression from '@orpc/interop/compression';
7
- import { S as StandardRPCHandlerOptions } from '../../shared/server.BU4WI18A.mjs';
7
+ import { S as StandardRPCHandlerOptions } from '../../shared/server.Ck-gOLzq.mjs';
8
8
  import '@orpc/client';
9
9
  import '@orpc/contract';
10
10
  import '@orpc/standard-server';
11
11
  import '@orpc/client/standard';
12
- import '../../shared/server.DhJj-1X9.mjs';
12
+ import '../../shared/server.DzV1hr3z.mjs';
13
13
 
14
14
  interface NodeHttpHandlerPlugin<T extends Context> extends StandardHandlerPlugin<T> {
15
15
  initRuntimeAdapter?(options: NodeHttpHandlerOptions<T>): void;
@@ -59,9 +59,10 @@ declare class BodyLimitPlugin<T extends Context> implements NodeHttpHandlerPlugi
59
59
 
60
60
  interface CompressionPluginOptions extends compression.CompressionOptions {
61
61
  /**
62
- * A filter function to determine if a response should be compressed.
63
- * This function is called in addition to the default compression checks
64
- * and allows for custom compression logic based on the request and response.
62
+ * Override the default content-type filter used to determine which responses should be compressed.
63
+ *
64
+ * @warning [Event Iterator](https://orpc.unnoq.com/docs/event-iterator) responses are never compressed, regardless of this filter's return value.
65
+ * @default only responses with compressible content types are compressed.
65
66
  */
66
67
  filter?: (req: NodeHttpRequest, res: NodeHttpResponse) => boolean;
67
68
  }
@@ -76,14 +77,14 @@ declare class CompressionPlugin<T extends Context> implements NodeHttpHandlerPlu
76
77
  initRuntimeAdapter(options: NodeHttpHandlerOptions<T>): void;
77
78
  }
78
79
 
79
- type RPCHandlerOptions<T extends Context> = NodeHttpHandlerOptions<T> & StandardRPCHandlerOptions<T> & {
80
+ interface RPCHandlerOptions<T extends Context> extends NodeHttpHandlerOptions<T>, Omit<StandardRPCHandlerOptions<T>, 'plugins'> {
80
81
  /**
81
82
  * Enables or disables the StrictGetMethodPlugin.
82
83
  *
83
84
  * @default true
84
85
  */
85
86
  strictGetMethodPluginEnabled?: boolean;
86
- };
87
+ }
87
88
  /**
88
89
  * RPC Handler for Node.js HTTP Server
89
90
  *
@@ -1,15 +1,15 @@
1
- import { C as Context, R as Router } from '../../shared/server.CYNGeoCm.js';
1
+ import { C as Context, R as Router } from '../../shared/server.B4BGqy3Y.js';
2
2
  import { Interceptor, MaybeOptionalOptions } from '@orpc/shared';
3
3
  import { SendStandardResponseOptions, NodeHttpRequest, NodeHttpResponse } from '@orpc/standard-server-node';
4
- import { g as StandardHandlerPlugin, C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, f as StandardHandler } from '../../shared/server.Bmh5xd4n.js';
5
- import { F as FriendlyStandardHandleOptions } from '../../shared/server.B7b2w3_i.js';
4
+ import { g as StandardHandlerPlugin, C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, f as StandardHandler } from '../../shared/server.DPIFWpxG.js';
5
+ import { F as FriendlyStandardHandleOptions } from '../../shared/server.DNtJ-p60.js';
6
6
  import compression from '@orpc/interop/compression';
7
- import { S as StandardRPCHandlerOptions } from '../../shared/server.D0H-iaY3.js';
7
+ import { S as StandardRPCHandlerOptions } from '../../shared/server.COL12UTb.js';
8
8
  import '@orpc/client';
9
9
  import '@orpc/contract';
10
10
  import '@orpc/standard-server';
11
11
  import '@orpc/client/standard';
12
- import '../../shared/server.jMTkVNIb.js';
12
+ import '../../shared/server.Cb6yD7DZ.js';
13
13
 
14
14
  interface NodeHttpHandlerPlugin<T extends Context> extends StandardHandlerPlugin<T> {
15
15
  initRuntimeAdapter?(options: NodeHttpHandlerOptions<T>): void;
@@ -59,9 +59,10 @@ declare class BodyLimitPlugin<T extends Context> implements NodeHttpHandlerPlugi
59
59
 
60
60
  interface CompressionPluginOptions extends compression.CompressionOptions {
61
61
  /**
62
- * A filter function to determine if a response should be compressed.
63
- * This function is called in addition to the default compression checks
64
- * and allows for custom compression logic based on the request and response.
62
+ * Override the default content-type filter used to determine which responses should be compressed.
63
+ *
64
+ * @warning [Event Iterator](https://orpc.unnoq.com/docs/event-iterator) responses are never compressed, regardless of this filter's return value.
65
+ * @default only responses with compressible content types are compressed.
65
66
  */
66
67
  filter?: (req: NodeHttpRequest, res: NodeHttpResponse) => boolean;
67
68
  }
@@ -76,14 +77,14 @@ declare class CompressionPlugin<T extends Context> implements NodeHttpHandlerPlu
76
77
  initRuntimeAdapter(options: NodeHttpHandlerOptions<T>): void;
77
78
  }
78
79
 
79
- type RPCHandlerOptions<T extends Context> = NodeHttpHandlerOptions<T> & StandardRPCHandlerOptions<T> & {
80
+ interface RPCHandlerOptions<T extends Context> extends NodeHttpHandlerOptions<T>, Omit<StandardRPCHandlerOptions<T>, 'plugins'> {
80
81
  /**
81
82
  * Enables or disables the StrictGetMethodPlugin.
82
83
  *
83
84
  * @default true
84
85
  */
85
86
  strictGetMethodPluginEnabled?: boolean;
86
- };
87
+ }
87
88
  /**
88
89
  * RPC Handler for Node.js HTTP Server
89
90
  *
@@ -5,12 +5,12 @@ import { toStandardLazyRequest, sendStandardResponse } from '@orpc/standard-serv
5
5
  import { r as resolveFriendlyStandardHandleOptions } from '../../shared/server.DZ5BIITo.mjs';
6
6
  import '@orpc/standard-server';
7
7
  import '@orpc/contract';
8
- import { C as CompositeStandardHandlerPlugin, b as StandardRPCHandler } from '../../shared/server.CYRYFTxo.mjs';
8
+ import { C as CompositeStandardHandlerPlugin, b as StandardRPCHandler } from '../../shared/server.Bxx6tqNe.mjs';
9
9
  import '@orpc/client/standard';
10
10
  import '@orpc/standard-server/batch';
11
11
  import '@orpc/standard-server-fetch';
12
- import { S as StrictGetMethodPlugin } from '../../shared/server.BW-nUGgA.mjs';
13
- import '../../shared/server.B_fj3X5m.mjs';
12
+ import { S as StrictGetMethodPlugin } from '../../shared/server.TEVCLCFC.mjs';
13
+ import '../../shared/server.Ds4HPpvH.mjs';
14
14
 
15
15
  class BodyLimitPlugin {
16
16
  maxBodySize;
@@ -52,13 +52,12 @@ class CompressionPlugin {
52
52
  this.compressionHandler = compression({
53
53
  ...options,
54
54
  filter: (req, res) => {
55
- if (res.getHeader("content-type")?.toString().startsWith("text/event-stream")) {
55
+ const hasContentDisposition = res.hasHeader("content-disposition");
56
+ const contentType = res.getHeader("content-type")?.toString();
57
+ if (!hasContentDisposition && contentType?.startsWith("text/event-stream")) {
56
58
  return false;
57
59
  }
58
- if (!compression.filter(req, res)) {
59
- return false;
60
- }
61
- return options.filter ? options.filter(req, res) : true;
60
+ return options.filter ? options.filter(req, res) : compression.filter(req, res);
62
61
  }
63
62
  });
64
63
  }
@@ -1,14 +1,14 @@
1
- import { S as StandardCodec, a as StandardParams } from '../../shared/server.gqRxT-yN.mjs';
2
- export { C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, c as StandardHandleResult, f as StandardHandler, d as StandardHandlerInterceptorOptions, e as StandardHandlerOptions, g as StandardHandlerPlugin, h as StandardMatchResult, i as StandardMatcher } from '../../shared/server.gqRxT-yN.mjs';
1
+ import { S as StandardCodec, a as StandardParams } from '../../shared/server.DBCUJijK.mjs';
2
+ export { C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, c as StandardHandleResult, f as StandardHandler, d as StandardHandlerInterceptorOptions, e as StandardHandlerOptions, g as StandardHandlerPlugin, h as StandardMatchResult, i as StandardMatcher } from '../../shared/server.DBCUJijK.mjs';
3
3
  import { ORPCError } from '@orpc/client';
4
4
  import { StandardRPCSerializer } from '@orpc/client/standard';
5
5
  import { StandardLazyRequest, StandardResponse } from '@orpc/standard-server';
6
- import { A as AnyProcedure } from '../../shared/server.CYNGeoCm.mjs';
7
- export { a as StandardRPCHandler, S as StandardRPCHandlerOptions, c as StandardRPCMatcher, b as StandardRPCMatcherOptions } from '../../shared/server.BU4WI18A.mjs';
8
- export { F as FriendlyStandardHandleOptions, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.BEFBl-Cb.mjs';
6
+ import { A as AnyProcedure } from '../../shared/server.B4BGqy3Y.mjs';
7
+ export { a as StandardRPCHandler, S as StandardRPCHandlerOptions, c as StandardRPCMatcher, b as StandardRPCMatcherOptions } from '../../shared/server.Ck-gOLzq.mjs';
8
+ export { F as FriendlyStandardHandleOptions, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.CVKCo60T.mjs';
9
9
  import '@orpc/contract';
10
10
  import '@orpc/shared';
11
- import '../../shared/server.DhJj-1X9.mjs';
11
+ import '../../shared/server.DzV1hr3z.mjs';
12
12
 
13
13
  declare class StandardRPCCodec implements StandardCodec {
14
14
  private readonly serializer;
@@ -1,14 +1,14 @@
1
- import { S as StandardCodec, a as StandardParams } from '../../shared/server.Bmh5xd4n.js';
2
- export { C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, c as StandardHandleResult, f as StandardHandler, d as StandardHandlerInterceptorOptions, e as StandardHandlerOptions, g as StandardHandlerPlugin, h as StandardMatchResult, i as StandardMatcher } from '../../shared/server.Bmh5xd4n.js';
1
+ import { S as StandardCodec, a as StandardParams } from '../../shared/server.DPIFWpxG.js';
2
+ export { C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, c as StandardHandleResult, f as StandardHandler, d as StandardHandlerInterceptorOptions, e as StandardHandlerOptions, g as StandardHandlerPlugin, h as StandardMatchResult, i as StandardMatcher } from '../../shared/server.DPIFWpxG.js';
3
3
  import { ORPCError } from '@orpc/client';
4
4
  import { StandardRPCSerializer } from '@orpc/client/standard';
5
5
  import { StandardLazyRequest, StandardResponse } from '@orpc/standard-server';
6
- import { A as AnyProcedure } from '../../shared/server.CYNGeoCm.js';
7
- export { a as StandardRPCHandler, S as StandardRPCHandlerOptions, c as StandardRPCMatcher, b as StandardRPCMatcherOptions } from '../../shared/server.D0H-iaY3.js';
8
- export { F as FriendlyStandardHandleOptions, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.B7b2w3_i.js';
6
+ import { A as AnyProcedure } from '../../shared/server.B4BGqy3Y.js';
7
+ export { a as StandardRPCHandler, S as StandardRPCHandlerOptions, c as StandardRPCMatcher, b as StandardRPCMatcherOptions } from '../../shared/server.COL12UTb.js';
8
+ export { F as FriendlyStandardHandleOptions, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.DNtJ-p60.js';
9
9
  import '@orpc/contract';
10
10
  import '@orpc/shared';
11
- import '../../shared/server.jMTkVNIb.js';
11
+ import '../../shared/server.Cb6yD7DZ.js';
12
12
 
13
13
  declare class StandardRPCCodec implements StandardCodec {
14
14
  private readonly serializer;