@orpc/client 2.0.0-beta.1 → 2.0.0-beta.11

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.
package/README.md CHANGED
@@ -26,10 +26,10 @@ You can read the documentation [here](https://orpc.dev).
26
26
 
27
27
  **Core**
28
28
 
29
- - [@orpc/contract](https://www.npmjs.com/package/@orpc/contract): Define type-safe contracts for your API.
30
- - [@orpc/server](https://www.npmjs.com/package/@orpc/server): Implement your API or contract on the server.
31
- - [@orpc/client](https://www.npmjs.com/package/@orpc/client): Consume your API from the client with full type safety.
32
- - [@orpc/openapi](https://www.npmjs.com/package/@orpc/openapi): Bring OpenAPI compatibility to your APIs.
29
+ - [@orpc/contract](https://www.npmjs.com/package/@orpc/contract): Define API contract as the single source of truth.
30
+ - [@orpc/server](https://www.npmjs.com/package/@orpc/server): Build APIs or implement contracts.
31
+ - [@orpc/client](https://www.npmjs.com/package/@orpc/client): Consume APIs with end-to-end type safety.
32
+ - [@orpc/openapi](https://www.npmjs.com/package/@orpc/openapi): Add OpenAPI compatibility to APIs.
33
33
 
34
34
  **Schema validation**
35
35
 
@@ -37,23 +37,25 @@ You can read the documentation [here](https://orpc.dev).
37
37
  - [@orpc/valibot](https://www.npmjs.com/package/@orpc/valibot): Integrate with [Valibot](https://valibot.dev/).
38
38
  - [@orpc/arktype](https://www.npmjs.com/package/@orpc/arktype): Integrate with [ArkType](https://arktype.io/).
39
39
 
40
+ **Built-in features**
41
+
42
+ - [@orpc/publisher](https://www.npmjs.com/package/@orpc/publisher): Pub/Sub with memory, Redis, and Upstash adapters.
43
+ - [@orpc/ratelimit](https://www.npmjs.com/package/@orpc/ratelimit): Rate limiting with memory, Redis, and Upstash adapters.
44
+ - [@orpc/json-schema](https://www.npmjs.com/package/@orpc/json-schema): Smart coercion for OpenAPI requests.
45
+
40
46
  **Framework & ecosystem integrations**
41
47
 
42
- - [@orpc/next](https://www.npmjs.com/package/@orpc/react): Use oRPC with [Next.js Server Functions](https://nextjs.org/docs/app/getting-started/mutating-data).
48
+ - [@orpc/next](https://www.npmjs.com/package/@orpc/next): Integrate with [Next.js Server Functions](https://nextjs.org/docs/app/getting-started/mutating-data).
43
49
  - [@orpc/tanstack-query](https://www.npmjs.com/package/@orpc/tanstack-query): Integrate with [TanStack Query](https://tanstack.com/query/latest).
44
50
  - [@orpc/experimental-effect](https://www.npmjs.com/package/@orpc/experimental-effect): Integrate with [Effect](https://effect.website/).
45
-
46
- **Built-in features**
47
-
48
- - [@orpc/publisher](https://www.npmjs.com/package/@orpc/publisher): Pub/Sub.
49
- - [@orpc/ratelimit](https://www.npmjs.com/package/@orpc/ratelimit): Rate limiting.
50
- - [@orpc/json-schema](https://www.npmjs.com/package/@orpc/json-schema): Smart coercion for OpenAPI requests.
51
+ - [@orpc/nest](https://www.npmjs.com/package/@orpc/nest): Implement your contract with [NestJS](https://nestjs.com/).
52
+ - [@orpc/bun](https://www.npmjs.com/package/@orpc/bun): Adapters for [Bun's Redis](https://bun.sh/).
51
53
 
52
54
  **Observability**
53
55
 
54
- - [@orpc/opentelemetry](https://www.npmjs.com/package/@orpc/opentelemetry): Instrument your API with [OpenTelemetry](https://opentelemetry.io/).
55
- - [@orpc/pino](https://www.npmjs.com/package/@orpc/pino): Log with [Pino](https://getpino.io/).
56
- - [@orpc/evlog](https://www.npmjs.com/package/@orpc/evlog): Log with [Evlog](https://evlog.dev/).
56
+ - [@orpc/opentelemetry](https://www.npmjs.com/package/@orpc/opentelemetry): Integrate with [OpenTelemetry](https://opentelemetry.io/) for distributed tracing.
57
+ - [@orpc/pino](https://www.npmjs.com/package/@orpc/pino): Integrate with [Pino](https://getpino.io/) for logging.
58
+ - [@orpc/evlog](https://www.npmjs.com/package/@orpc/evlog): Integrate with [Evlog](https://evlog.dev/) for logging.
57
59
 
58
60
  ## Sponsors
59
61
 
@@ -115,25 +117,25 @@ Like what we build over at [middleapi](https://github.com/middleapi)? You can he
115
117
  <table>
116
118
  <tr>
117
119
  <td align="center"><a href="https://github.com/rhinodavid?ref=orpc" target="_blank" rel="noopener" title="David Walsh"><img src="https://avatars.githubusercontent.com/u/5778036?u=b5521f07d2f88c3db2a0dae62b5f2f8357214af0&amp;v=4" width="119" alt="David Walsh"/><br />David Walsh</a></td>
120
+ <td align="center"><a href="https://github.com/Nic13Gamer?ref=orpc" target="_blank" rel="noopener" title="Nicholas"><img src="https://avatars.githubusercontent.com/u/54724556?u=56a7ab430ce7a80d648ab6eba051d454a818ed0b&amp;v=4" width="119" alt="Nicholas"/><br />Nicholas</a></td>
118
121
  <td align="center"><a href="https://github.com/Robbe95?ref=orpc" target="_blank" rel="noopener" title="Robbe Vaes"><img src="https://avatars.githubusercontent.com/u/44748019?u=e0232402c045ad4eac7cbd217f1f47e083103b89&amp;v=4" width="119" alt="Robbe Vaes"/><br />Robbe Vaes</a></td>
119
122
  <td align="center"><a href="https://github.com/aidansunbury?ref=orpc" target="_blank" rel="noopener" title="Aidan Sunbury"><img src="https://avatars.githubusercontent.com/u/64103161?v=4" width="119" alt="Aidan Sunbury"/><br />Aidan Sunbury</a></td>
120
123
  <td align="center"><a href="https://github.com/soonoo?ref=orpc" target="_blank" rel="noopener" title="soonoo"><img src="https://avatars.githubusercontent.com/u/5436405?u=5d0b4aa955c87e30e6bda7f0cccae5402da99528&amp;v=4" width="119" alt="soonoo"/><br />soonoo</a></td>
121
124
  <td align="center"><a href="https://github.com/kporten?ref=orpc" target="_blank" rel="noopener" title="Kevin Porten"><img src="https://avatars.githubusercontent.com/u/1839345?u=dc2263d5cfe0d927ce1a0be04a1d55dd6b55405c&amp;v=4" width="119" alt="Kevin Porten"/><br />Kevin Porten</a></td>
122
125
  <td align="center"><a href="https://github.com/pumpkinlink?ref=orpc" target="_blank" rel="noopener" title="Denis"><img src="https://avatars.githubusercontent.com/u/11864620?u=5f47bbe6c65d0f6f5cf011021490238e4b0593d0&amp;v=4" width="119" alt="Denis"/><br />Denis</a></td>
123
- <td align="center"><a href="https://github.com/christopher-kapic?ref=orpc" target="_blank" rel="noopener" title="Christopher Kapic"><img src="https://avatars.githubusercontent.com/u/59740769?u=e7ad4b72b5bf6c9eb1644c26dbf3332a8f987377&amp;v=4" width="119" alt="Christopher Kapic"/><br />Christopher Kapic</a></td>
124
126
  </tr>
125
127
  <tr>
128
+ <td align="center"><a href="https://github.com/christopher-kapic?ref=orpc" target="_blank" rel="noopener" title="Christopher Kapic"><img src="https://avatars.githubusercontent.com/u/59740769?u=e7ad4b72b5bf6c9eb1644c26dbf3332a8f987377&amp;v=4" width="119" alt="Christopher Kapic"/><br />Christopher Kapic</a></td>
126
129
  <td align="center"><a href="https://github.com/thomasballinger?ref=orpc" target="_blank" rel="noopener" title="Tom Ballinger"><img src="https://avatars.githubusercontent.com/u/458879?u=4b045ac75d721b6ac2b42a74d7d37f61f0414031&amp;v=4" width="119" alt="Tom Ballinger"/><br />Tom Ballinger</a></td>
127
130
  <td align="center"><a href="https://github.com/SSam0419?ref=orpc" target="_blank" rel="noopener" title="Sam"><img src="https://avatars.githubusercontent.com/u/102863520?u=3c89611f549d5070be232eb4532f690c8f2e7a65&amp;v=4" width="119" alt="Sam"/><br />Sam</a></td>
128
131
  <td align="center"><a href="https://github.com/Titoine?ref=orpc" target="_blank" rel="noopener" title="Titoine"><img src="https://avatars.githubusercontent.com/u/3514286?u=1bb1e86b0c99c8a1121372e56d51a177eea12191&amp;v=4" width="119" alt="Titoine"/><br />Titoine</a></td>
129
132
  <td align="center"><a href="https://github.com/Mnigos?ref=orpc" target="_blank" rel="noopener" title="Igor Makowski"><img src="https://avatars.githubusercontent.com/u/56691628?u=ee8c879478f7c151b9156aef6c74243fa3e247a8&amp;v=4" width="119" alt="Igor Makowski"/><br />Igor Makowski</a></td>
130
133
  <td align="center"><a href="https://github.com/hanayashiki?ref=orpc" target="_blank" rel="noopener" title="hanayashiki"><img src="https://avatars.githubusercontent.com/u/26056783?u=06c3b9205a16fd41a871e82da1cc2a09306d53f5&amp;v=4" width="119" alt="hanayashiki"/><br />hanayashiki</a></td>
131
134
  <td align="center"><a href="https://github.com/ldub?ref=orpc" target="_blank" rel="noopener" title="Lev Dubinets"><img src="https://avatars.githubusercontent.com/u/3114081?u=f547f5d5012cab54851f1b1ad72d10e537f78fc2&amp;v=4" width="119" alt="Lev Dubinets"/><br />Lev Dubinets</a></td>
132
- <td align="center"><a href="https://github.com/mr-kelly?ref=orpc" target="_blank" rel="noopener" title="Kelly Peilin Chan"><img src="https://avatars.githubusercontent.com/u/520852?u=6b0f7105f694e7b5cacf410a3f04c7044b469dc8&amp;v=4" width="119" alt="Kelly Peilin Chan"/><br />Kelly Peilin Chan</a></td>
133
135
  </tr>
134
136
  <tr>
137
+ <td align="center"><a href="https://github.com/mr-kelly?ref=orpc" target="_blank" rel="noopener" title="Kelly Peilin Chan"><img src="https://avatars.githubusercontent.com/u/520852?u=6b0f7105f694e7b5cacf410a3f04c7044b469dc8&amp;v=4" width="119" alt="Kelly Peilin Chan"/><br />Kelly Peilin Chan</a></td>
135
138
  <td align="center"><a href="https://github.com/piscis?ref=orpc" target="_blank" rel="noopener" title="Alex"><img src="https://avatars.githubusercontent.com/u/326163?u=b245f368bd940cf51d08c0b6bf55f8257f359437&amp;v=4" width="119" alt="Alex"/><br />Alex</a></td>
136
- <td align="center"><a href="https://github.com/nattstack?ref=orpc" target="_blank" rel="noopener" title="nattstack"><img src="https://avatars.githubusercontent.com/u/31426677?u=fa9dbb8b3e66eb0ea3c88db5dc07f31c8c5418fe&amp;v=4" width="119" alt="nattstack"/><br />nattstack</a></td>
137
139
  <td align="center"><a href="https://github.com/finom?ref=orpc" target="_blank" rel="noopener" title="Andrey Gubanov"><img src="https://avatars.githubusercontent.com/u/1082083?u=29e91400dbd4a9c217048a8f59562c4f740498e6&amp;v=4" width="119" alt="Andrey Gubanov"/><br />Andrey Gubanov</a></td>
138
140
  </tr>
139
141
  </table>
@@ -150,7 +152,7 @@ Like what we build over at [middleapi](https://github.com/middleapi)? You can he
150
152
  <a href="https://github.com/theoludwig?ref=orpc" target="_blank" rel="noopener" title="Théo LUDWIG"><img src="https://avatars.githubusercontent.com/u/25207499?u=a6a9653725a2f574c07893748806668e0598cdbe&amp;v=4" width="32" height="32" alt="Théo LUDWIG" /></a>
151
153
  <a href="https://github.com/abhay-ramesh?ref=orpc" target="_blank" rel="noopener" title="Abhay Ramesh"><img src="https://avatars.githubusercontent.com/u/66196314?u=c5c2b0327b26606c2efcfaf17046ab18c3d25c57&amp;v=4" width="32" height="32" alt="Abhay Ramesh" /></a>
152
154
  <a href="https://github.com/shr-ink?ref=orpc" target="_blank" rel="noopener" title="shr.ink oü"><img src="https://avatars.githubusercontent.com/u/139700438?v=4" width="32" height="32" alt="shr.ink oü" /></a>
153
- <a href="https://github.com/johngerome?ref=orpc" target="_blank" rel="noopener" title="0x4e32"><img src="https://avatars.githubusercontent.com/u/2002000?u=24e8dd943cfc862aa284d858a023532c75071ade&amp;v=4" width="32" height="32" alt="0x4e32" /></a>
155
+ <a href="https://github.com/johngerome?ref=orpc" target="_blank" rel="noopener" title="0x4e32"><img src="https://avatars.githubusercontent.com/u/2002000?u=505e54608466ab53754f702973687b04c6424c1f&amp;v=4" width="32" height="32" alt="0x4e32" /></a>
154
156
  <a href="https://github.com/yzuyr?ref=orpc" target="_blank" rel="noopener" title="Ryuz"><img src="https://avatars.githubusercontent.com/u/196539378?u=d38374588d219b6748b16406982f6559411466d4&amp;v=4" width="32" height="32" alt="Ryuz" /></a>
155
157
  <a href="https://github.com/happyboy2022?ref=orpc" target="_blank" rel="noopener" title="happyboy"><img src="https://avatars.githubusercontent.com/u/103669586?u=65b49c4b893ed3703909fbb3a7a22313f3f9c121&amp;v=4" width="32" height="32" alt="happyboy" /></a>
156
158
  <a href="https://github.com/YiCChi?ref=orpc" target="_blank" rel="noopener" title="yicchi"><img src="https://avatars.githubusercontent.com/u/86967274?u=6c2756f09fe15dd94d572f560e979cd157982852&amp;v=4" width="32" height="32" alt="yicchi" /></a>
@@ -172,6 +174,7 @@ Like what we build over at [middleapi](https://github.com/middleapi)? You can he
172
174
  <a href="https://github.com/illarionvk?ref=orpc" target="_blank" rel="noopener" title="Illarion Koperski"><img src="https://avatars.githubusercontent.com/u/5012724?u=7cfa13652f7ac5fb3c56d880e3eb3fbe40c3ea34&amp;v=4" width="32" height="32" alt="Illarion Koperski" /></a>
173
175
  <a href="https://github.com/steelbrain?ref=orpc" target="_blank" rel="noopener" title="Anees Iqbal"><img src="https://avatars.githubusercontent.com/u/4278113?u=22b80b5399eed68ac76cd58b02961b0481f1db11&amp;v=4" width="32" height="32" alt="Anees Iqbal" /></a>
174
176
  <a href="https://github.com/Scrumplex?ref=orpc" target="_blank" rel="noopener" title="Sefa Eyeoglu"><img src="https://avatars.githubusercontent.com/u/11587657?u=ab503582165c0bbff0cca47ce31c9450bb1553c9&amp;v=4" width="32" height="32" alt="Sefa Eyeoglu" /></a>
177
+ <a href="https://github.com/nattstack?ref=orpc" target="_blank" rel="noopener" title="Natt"><img src="https://avatars.githubusercontent.com/u/31426677?u=fa9dbb8b3e66eb0ea3c88db5dc07f31c8c5418fe&amp;v=4" width="32" height="32" alt="Natt" /></a>
175
178
  <a href="https://github.com/ChromeGG?ref=orpc" target="_blank" rel="noopener" title="Adam Tkaczyk"><img src="https://avatars.githubusercontent.com/u/39050595?u=a58ca6042a6950e94e6e92442db76ef584279bc0&amp;v=4" width="32" height="32" alt="Adam Tkaczyk" /></a>
176
179
  <a href="https://github.com/plancraft?ref=orpc" target="_blank" rel="noopener" title="plancraft"><img src="https://avatars.githubusercontent.com/u/46482287?v=4" width="32" height="32" alt="plancraft" /></a>
177
180
  </p>
@@ -21,9 +21,9 @@ interface FetchLinkTransportOptions<T extends ClientContext> {
21
21
  */
22
22
  origin?: Value<Promisable<`https://${string}` | `http://${string}` | ({} & string) | undefined>, [options: ClientOptions<T>, path: string[]]>;
23
23
  /**
24
- * Options for how to convert the Standard Request body to a Fetch body, like event iterator options, etc.
24
+ * Options for how to convert the Standard Request to a Fetch Request, like event iterator options, etc.
25
25
  */
26
- toFetchBody?: ToFetchBodyOptions | undefined;
26
+ toFetchRequest?: undefined | ToFetchBodyOptions;
27
27
  /**
28
28
  * Override the default fetch implementation.
29
29
  *
@@ -39,7 +39,7 @@ interface FetchLinkTransportOptions<T extends ClientContext> {
39
39
  declare class FetchLinkTransport<T extends ClientContext> implements StandardLinkTransport<T> {
40
40
  private readonly origin;
41
41
  private readonly fetch;
42
- private readonly toFetchBodyOptions;
42
+ private readonly toFetchRequestOptions;
43
43
  private readonly fetchInterceptors;
44
44
  constructor(options: FetchLinkTransportOptions<T>);
45
45
  send(standardRequest: StandardRequest, path: string[], options: ClientOptions<T>): Promise<StandardLazyResponse>;
@@ -21,9 +21,9 @@ interface FetchLinkTransportOptions<T extends ClientContext> {
21
21
  */
22
22
  origin?: Value<Promisable<`https://${string}` | `http://${string}` | ({} & string) | undefined>, [options: ClientOptions<T>, path: string[]]>;
23
23
  /**
24
- * Options for how to convert the Standard Request body to a Fetch body, like event iterator options, etc.
24
+ * Options for how to convert the Standard Request to a Fetch Request, like event iterator options, etc.
25
25
  */
26
- toFetchBody?: ToFetchBodyOptions | undefined;
26
+ toFetchRequest?: undefined | ToFetchBodyOptions;
27
27
  /**
28
28
  * Override the default fetch implementation.
29
29
  *
@@ -39,7 +39,7 @@ interface FetchLinkTransportOptions<T extends ClientContext> {
39
39
  declare class FetchLinkTransport<T extends ClientContext> implements StandardLinkTransport<T> {
40
40
  private readonly origin;
41
41
  private readonly fetch;
42
- private readonly toFetchBodyOptions;
42
+ private readonly toFetchRequestOptions;
43
43
  private readonly fetchInterceptors;
44
44
  constructor(options: FetchLinkTransportOptions<T>);
45
45
  send(standardRequest: StandardRequest, path: string[], options: ClientOptions<T>): Promise<StandardLazyResponse>;
@@ -1,9 +1,9 @@
1
1
  import { sortPlugins, value, intercept } from '@orpc/shared';
2
2
  import { toFetchBody, toFetchHeaders, toStandardLazyResponse } from '@standardserver/fetch';
3
- import { S as StandardLink, R as RPCLinkCodec } from '../../shared/client.DXhchJ84.mjs';
3
+ import { S as StandardLink, R as RPCLinkCodec } from '../../shared/client.BN52ep3E.mjs';
4
4
  import '@standardserver/core';
5
5
  import '../../shared/client.Dnfj8jnT.mjs';
6
- import '../../shared/client.DMXKFDyV.mjs';
6
+ import '../../shared/client.D3TIIok6.mjs';
7
7
 
8
8
  class CompositeFetchLinkTransportPlugin {
9
9
  constructor(plugins = []) {
@@ -24,13 +24,13 @@ class CompositeFetchLinkTransportPlugin {
24
24
  class FetchLinkTransport {
25
25
  origin;
26
26
  fetch;
27
- toFetchBodyOptions;
27
+ toFetchRequestOptions;
28
28
  fetchInterceptors;
29
29
  constructor(options) {
30
30
  options = new CompositeFetchLinkTransportPlugin(options.plugins).initFetchLinkTransportOptions(options);
31
31
  this.origin = options.origin;
32
32
  this.fetch = options.fetch ?? globalThis.fetch.bind(globalThis);
33
- this.toFetchBodyOptions = options.toFetchBody;
33
+ this.toFetchRequestOptions = options.toFetchRequest;
34
34
  this.fetchInterceptors = options.fetchInterceptors;
35
35
  }
36
36
  async send(standardRequest, path, options) {
@@ -39,7 +39,7 @@ class FetchLinkTransport {
39
39
  origin = origin.slice(0, -1);
40
40
  }
41
41
  const url = `${origin ?? ""}${standardRequest.url}`;
42
- const [body, standardHeaders] = toFetchBody(standardRequest.body, standardRequest.headers, this.toFetchBodyOptions);
42
+ const [body, standardHeaders] = toFetchBody(standardRequest.body, standardRequest.headers, this.toFetchRequestOptions);
43
43
  const init = {
44
44
  body,
45
45
  headers: toFetchHeaders(standardHeaders),
@@ -1,10 +1,10 @@
1
1
  import { value, isPlainObject, toStringOrBytes } from '@orpc/shared';
2
2
  import { ClientPeer, encodePeerMessage, decodePeerMessage, isServerPeerSendMessage } from '@standardserver/peer';
3
- import { S as StandardLink, R as RPCLinkCodec } from '../../shared/client.DXhchJ84.mjs';
3
+ import { S as StandardLink, R as RPCLinkCodec } from '../../shared/client.BN52ep3E.mjs';
4
4
  import '@standardserver/core';
5
5
  import '@standardserver/fetch';
6
6
  import '../../shared/client.Dnfj8jnT.mjs';
7
- import '../../shared/client.DMXKFDyV.mjs';
7
+ import '../../shared/client.D3TIIok6.mjs';
8
8
 
9
9
  function postMessagePortMessage(port, data, transfer) {
10
10
  if (transfer) {
@@ -2,6 +2,7 @@ import { f as StandardLinkCodec, g as StandardLinkCodecDecodedResponse } from '.
2
2
  export { C as CompositeStandardLinkPlugin, a as StandardLink, h as StandardLinkInterceptor, e as StandardLinkInterceptorOptions, b as StandardLinkOptions, c as StandardLinkPlugin, S as StandardLinkTransport, i as StandardLinkTransportInterceptor, d as StandardLinkTransportInterceptorOptions } from '../../shared/client.Cby_-GGh.mjs';
3
3
  import { Value, Promisable } from '@orpc/shared';
4
4
  import { StandardUrl, StandardHeaders, StandardRequest, StandardLazyResponse } from '@standardserver/core';
5
+ export { StandardBody, StandardBodyHint, StandardHeaders, StandardLazyRequest, StandardLazyResponse, StandardMethod, StandardRequest, StandardResponse, StandardUrl } from '@standardserver/core';
5
6
  import { C as ClientContext, a as ClientOptions } from '../../shared/client.8ug8I-zu.mjs';
6
7
  import { e as RPCSerializer } from '../../shared/client.BdItY5DT.mjs';
7
8
 
@@ -2,6 +2,7 @@ import { f as StandardLinkCodec, g as StandardLinkCodecDecodedResponse } from '.
2
2
  export { C as CompositeStandardLinkPlugin, a as StandardLink, h as StandardLinkInterceptor, e as StandardLinkInterceptorOptions, b as StandardLinkOptions, c as StandardLinkPlugin, S as StandardLinkTransport, i as StandardLinkTransportInterceptor, d as StandardLinkTransportInterceptorOptions } from '../../shared/client.CPF3hX6O.js';
3
3
  import { Value, Promisable } from '@orpc/shared';
4
4
  import { StandardUrl, StandardHeaders, StandardRequest, StandardLazyResponse } from '@standardserver/core';
5
+ export { StandardBody, StandardBodyHint, StandardHeaders, StandardLazyRequest, StandardLazyResponse, StandardMethod, StandardRequest, StandardResponse, StandardUrl } from '@standardserver/core';
5
6
  import { C as ClientContext, a as ClientOptions } from '../../shared/client.8ug8I-zu.js';
6
7
  import { e as RPCSerializer } from '../../shared/client.BdItY5DT.js';
7
8
 
@@ -1,6 +1,6 @@
1
- export { C as CompositeStandardLinkPlugin, R as RPCLinkCodec, S as StandardLink } from '../../shared/client.DXhchJ84.mjs';
1
+ export { C as CompositeStandardLinkPlugin, R as RPCLinkCodec, S as StandardLink } from '../../shared/client.BN52ep3E.mjs';
2
2
  import '@orpc/shared';
3
3
  import '@standardserver/core';
4
4
  import '@standardserver/fetch';
5
5
  import '../../shared/client.Dnfj8jnT.mjs';
6
- import '../../shared/client.DMXKFDyV.mjs';
6
+ import '../../shared/client.D3TIIok6.mjs';
@@ -7,7 +7,7 @@ import { RPCLinkCodecOptions } from '../standard/index.mjs';
7
7
  import '../../shared/client.BdItY5DT.mjs';
8
8
 
9
9
  type WebSocketLike = Pick<WebSocket, 'addEventListener' | 'removeEventListener' | 'send' | 'readyState'>;
10
- interface WebsocketLinkTransportAttemptInfo {
10
+ interface WebSocketLinkTransportAttemptInfo {
11
11
  /**
12
12
  * Total number of connection attempts for this transport's lifetime.
13
13
  * Starts at 1 on the first attempt, increments on every subsequent
@@ -21,7 +21,7 @@ interface WebsocketLinkTransportAttemptInfo {
21
21
  */
22
22
  attempt: number;
23
23
  }
24
- interface WebsocketLinkTransportReconnectOptions {
24
+ interface WebSocketLinkTransportReconnectOptions {
25
25
  /**
26
26
  * Whether to automatically reconnect when the connection is lost.
27
27
  *
@@ -33,7 +33,7 @@ interface WebsocketLinkTransportReconnectOptions {
33
33
  *
34
34
  * @default info => info.attempt === 1 ? 0 : 2_000
35
35
  */
36
- delay?: undefined | ((info: WebsocketLinkTransportAttemptInfo) => number);
36
+ delay?: undefined | ((info: WebSocketLinkTransportAttemptInfo) => number);
37
37
  /**
38
38
  * Maximum number of consecutive failed attempts before giving up.
39
39
  * When exceeded, `getConnectedPeer` throws instead of retrying.
@@ -66,12 +66,12 @@ interface WebsocketLinkTransportReconnectOptions {
66
66
  delay?: number;
67
67
  };
68
68
  }
69
- interface WebsocketLinkTransportOptions<_T extends ClientContext> {
69
+ interface WebSocketLinkTransportOptions<_T extends ClientContext> {
70
70
  /**
71
71
  * Returns a WebSocket instance for peer communication.
72
72
  * Can be async for lazy resolution.
73
73
  */
74
- connect: (info: WebsocketLinkTransportAttemptInfo) => Promisable<WebSocketLike>;
74
+ connect: (info: WebSocketLinkTransportAttemptInfo) => Promisable<WebSocketLike>;
75
75
  /**
76
76
  * Whether to connect immediately on initialization, instead of waiting
77
77
  * for the first call. Reduces latency for the first request.
@@ -84,7 +84,7 @@ interface WebsocketLinkTransportOptions<_T extends ClientContext> {
84
84
  *
85
85
  * @default { enabled: false }
86
86
  */
87
- reconnect?: undefined | WebsocketLinkTransportReconnectOptions;
87
+ reconnect?: undefined | WebSocketLinkTransportReconnectOptions;
88
88
  /**
89
89
  * Options for encoding peer messages. such as `prefix` for distinguishing messages on the same channel..
90
90
  */
@@ -94,7 +94,7 @@ interface WebsocketLinkTransportOptions<_T extends ClientContext> {
94
94
  */
95
95
  decodePeerMessage?: DecodePeerMessageOptions | undefined;
96
96
  }
97
- declare class WebsocketLinkTransport<T extends ClientContext> implements StandardLinkTransport<T> {
97
+ declare class WebSocketLinkTransport<T extends ClientContext> implements StandardLinkTransport<T> {
98
98
  private readonly connect;
99
99
  private readonly reconnectEnabled;
100
100
  private readonly reconnectDelay;
@@ -103,7 +103,7 @@ declare class WebsocketLinkTransport<T extends ClientContext> implements Standar
103
103
  private readonly reconnectOnCloseDelay;
104
104
  private readonly encodePeerMessageOptions;
105
105
  private readonly decodePeerMessageOptions;
106
- constructor(options: WebsocketLinkTransportOptions<T>);
106
+ constructor(options: WebSocketLinkTransportOptions<T>);
107
107
  send(standardRequest: StandardRequest, _path: string[], _options: ClientOptions<T>): Promise<StandardLazyResponse>;
108
108
  private totalAttempt;
109
109
  private attempt;
@@ -111,11 +111,11 @@ declare class WebsocketLinkTransport<T extends ClientContext> implements Standar
111
111
  private getConnectedPeer;
112
112
  }
113
113
 
114
- interface RPCLinkOptions<T extends ClientContext> extends StandardLinkOptions<T>, WebsocketLinkTransportOptions<T>, RPCLinkCodecOptions<T> {
114
+ interface RPCLinkOptions<T extends ClientContext> extends StandardLinkOptions<T>, WebSocketLinkTransportOptions<T>, RPCLinkCodecOptions<T> {
115
115
  }
116
116
  declare class RPCLink<T extends ClientContext> extends StandardLink<T> {
117
117
  constructor(options: RPCLinkOptions<T>);
118
118
  }
119
119
 
120
- export { RPCLink, WebsocketLinkTransport };
121
- export type { RPCLinkOptions, WebSocketLike, WebsocketLinkTransportAttemptInfo, WebsocketLinkTransportOptions, WebsocketLinkTransportReconnectOptions };
120
+ export { RPCLink, WebSocketLinkTransport };
121
+ export type { RPCLinkOptions, WebSocketLike, WebSocketLinkTransportAttemptInfo, WebSocketLinkTransportOptions, WebSocketLinkTransportReconnectOptions };
@@ -7,7 +7,7 @@ import { RPCLinkCodecOptions } from '../standard/index.js';
7
7
  import '../../shared/client.BdItY5DT.js';
8
8
 
9
9
  type WebSocketLike = Pick<WebSocket, 'addEventListener' | 'removeEventListener' | 'send' | 'readyState'>;
10
- interface WebsocketLinkTransportAttemptInfo {
10
+ interface WebSocketLinkTransportAttemptInfo {
11
11
  /**
12
12
  * Total number of connection attempts for this transport's lifetime.
13
13
  * Starts at 1 on the first attempt, increments on every subsequent
@@ -21,7 +21,7 @@ interface WebsocketLinkTransportAttemptInfo {
21
21
  */
22
22
  attempt: number;
23
23
  }
24
- interface WebsocketLinkTransportReconnectOptions {
24
+ interface WebSocketLinkTransportReconnectOptions {
25
25
  /**
26
26
  * Whether to automatically reconnect when the connection is lost.
27
27
  *
@@ -33,7 +33,7 @@ interface WebsocketLinkTransportReconnectOptions {
33
33
  *
34
34
  * @default info => info.attempt === 1 ? 0 : 2_000
35
35
  */
36
- delay?: undefined | ((info: WebsocketLinkTransportAttemptInfo) => number);
36
+ delay?: undefined | ((info: WebSocketLinkTransportAttemptInfo) => number);
37
37
  /**
38
38
  * Maximum number of consecutive failed attempts before giving up.
39
39
  * When exceeded, `getConnectedPeer` throws instead of retrying.
@@ -66,12 +66,12 @@ interface WebsocketLinkTransportReconnectOptions {
66
66
  delay?: number;
67
67
  };
68
68
  }
69
- interface WebsocketLinkTransportOptions<_T extends ClientContext> {
69
+ interface WebSocketLinkTransportOptions<_T extends ClientContext> {
70
70
  /**
71
71
  * Returns a WebSocket instance for peer communication.
72
72
  * Can be async for lazy resolution.
73
73
  */
74
- connect: (info: WebsocketLinkTransportAttemptInfo) => Promisable<WebSocketLike>;
74
+ connect: (info: WebSocketLinkTransportAttemptInfo) => Promisable<WebSocketLike>;
75
75
  /**
76
76
  * Whether to connect immediately on initialization, instead of waiting
77
77
  * for the first call. Reduces latency for the first request.
@@ -84,7 +84,7 @@ interface WebsocketLinkTransportOptions<_T extends ClientContext> {
84
84
  *
85
85
  * @default { enabled: false }
86
86
  */
87
- reconnect?: undefined | WebsocketLinkTransportReconnectOptions;
87
+ reconnect?: undefined | WebSocketLinkTransportReconnectOptions;
88
88
  /**
89
89
  * Options for encoding peer messages. such as `prefix` for distinguishing messages on the same channel..
90
90
  */
@@ -94,7 +94,7 @@ interface WebsocketLinkTransportOptions<_T extends ClientContext> {
94
94
  */
95
95
  decodePeerMessage?: DecodePeerMessageOptions | undefined;
96
96
  }
97
- declare class WebsocketLinkTransport<T extends ClientContext> implements StandardLinkTransport<T> {
97
+ declare class WebSocketLinkTransport<T extends ClientContext> implements StandardLinkTransport<T> {
98
98
  private readonly connect;
99
99
  private readonly reconnectEnabled;
100
100
  private readonly reconnectDelay;
@@ -103,7 +103,7 @@ declare class WebsocketLinkTransport<T extends ClientContext> implements Standar
103
103
  private readonly reconnectOnCloseDelay;
104
104
  private readonly encodePeerMessageOptions;
105
105
  private readonly decodePeerMessageOptions;
106
- constructor(options: WebsocketLinkTransportOptions<T>);
106
+ constructor(options: WebSocketLinkTransportOptions<T>);
107
107
  send(standardRequest: StandardRequest, _path: string[], _options: ClientOptions<T>): Promise<StandardLazyResponse>;
108
108
  private totalAttempt;
109
109
  private attempt;
@@ -111,11 +111,11 @@ declare class WebsocketLinkTransport<T extends ClientContext> implements Standar
111
111
  private getConnectedPeer;
112
112
  }
113
113
 
114
- interface RPCLinkOptions<T extends ClientContext> extends StandardLinkOptions<T>, WebsocketLinkTransportOptions<T>, RPCLinkCodecOptions<T> {
114
+ interface RPCLinkOptions<T extends ClientContext> extends StandardLinkOptions<T>, WebSocketLinkTransportOptions<T>, RPCLinkCodecOptions<T> {
115
115
  }
116
116
  declare class RPCLink<T extends ClientContext> extends StandardLink<T> {
117
117
  constructor(options: RPCLinkOptions<T>);
118
118
  }
119
119
 
120
- export { RPCLink, WebsocketLinkTransport };
121
- export type { RPCLinkOptions, WebSocketLike, WebsocketLinkTransportAttemptInfo, WebsocketLinkTransportOptions, WebsocketLinkTransportReconnectOptions };
120
+ export { RPCLink, WebSocketLinkTransport };
121
+ export type { RPCLinkOptions, WebSocketLike, WebSocketLinkTransportAttemptInfo, WebSocketLinkTransportOptions, WebSocketLinkTransportReconnectOptions };
@@ -1,14 +1,14 @@
1
1
  import { runWithSignal, AbortError, sleep, promiseWithResolvers, toStringOrBytes } from '@orpc/shared';
2
2
  import { ClientPeer, encodePeerMessage, decodePeerMessage, isServerPeerSendMessage } from '@standardserver/peer';
3
- import { S as StandardLink, R as RPCLinkCodec } from '../../shared/client.DXhchJ84.mjs';
3
+ import { S as StandardLink, R as RPCLinkCodec } from '../../shared/client.BN52ep3E.mjs';
4
4
  import '@standardserver/core';
5
5
  import '@standardserver/fetch';
6
6
  import '../../shared/client.Dnfj8jnT.mjs';
7
- import '../../shared/client.DMXKFDyV.mjs';
7
+ import '../../shared/client.D3TIIok6.mjs';
8
8
 
9
9
  const WEBSOCKET_CONNECTING = 0;
10
10
  const WEBSOCKET_OPEN = 1;
11
- class WebsocketLinkTransport {
11
+ class WebSocketLinkTransport {
12
12
  connect;
13
13
  reconnectEnabled;
14
14
  reconnectDelay;
@@ -102,9 +102,9 @@ class WebsocketLinkTransport {
102
102
  class RPCLink extends StandardLink {
103
103
  constructor(options) {
104
104
  const codec = new RPCLinkCodec(options);
105
- const transport = new WebsocketLinkTransport(options);
105
+ const transport = new WebSocketLinkTransport(options);
106
106
  super(codec, transport, options);
107
107
  }
108
108
  }
109
109
 
110
- export { RPCLink, WebsocketLinkTransport };
110
+ export { RPCLink, WebSocketLinkTransport };
package/dist/index.d.mts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { O as ORPCErrorCode, c as ORPCError, d as ORPCErrorJSON, A as AnyORPCError, C as ClientContext, a as ClientOptions, e as AnyNestedClient, I as InferClientContext, f as InferClientError, g as Client, b as ClientLink, h as ClientRest, F as FriendlyClientOptions } from './shared/client.8ug8I-zu.mjs';
2
2
  export { i as AnyORPCErrorJSON, j as COMMON_ERROR_STATUS_MAP, k as InferClientBodyInputs, l as InferClientBodyOutputs, m as InferClientErrors, n as InferClientInputs, o as InferClientOutputs, N as NestedClient, p as ORPCErrorOptions } from './shared/client.8ug8I-zu.mjs';
3
3
  import { Interceptor, PromiseWithError, ThrowableError, Promisable, WrapAsyncIteratorOptions, AsyncIteratorClass } from '@orpc/shared';
4
- export { AsyncCleanupFn, AsyncIteratorClass, AsyncIteratorClassNextFn, Registry, ThrowableError, asyncIteratorToStream as eventIteratorToStream, asyncIteratorToUnproxiedDataStream as eventIteratorToUnproxiedDataStream, onError, onFinish, onStart, onSuccess, streamToAsyncIteratorClass as streamToEventIterator } from '@orpc/shared';
4
+ export { AsyncCleanupFn, AsyncIteratorClass, AsyncIteratorClassNextFn, MaybeOptionalOptions, PromiseWithError, Registry, ThrowableError, asyncIteratorToStream as eventIteratorToStream, asyncIteratorToUnproxiedDataStream as eventIteratorToUnproxiedDataStream, onError, onFinish, onStart, onSuccess, streamToAsyncIteratorClass as streamToEventIterator } from '@orpc/shared';
5
5
  export { R as RPCJsonSerialization, a as RPCJsonSerializationMeta, b as RPCJsonSerializer, c as RPCJsonSerializerHandler, d as RPCJsonSerializerOptions, e as RPCSerializer, f as RPCSerializerOptions, g as RPCSerializerSerializeOptions } from './shared/client.BdItY5DT.mjs';
6
- export { ErrorEvent, getEventMeta, unwrapEvent, withEventMeta } from '@standardserver/core';
6
+ export { ErrorEvent, EventMeta, getEventMeta, unwrapEvent, withEventMeta } from '@standardserver/core';
7
7
 
8
8
  declare function isInferableError<T>(error: T): error is Extract<T, AnyORPCError>;
9
9
  declare function toORPCError<T>(error: T): Extract<T, AnyORPCError> | ORPCError<'INTERNAL_SERVER_ERROR', undefined>;
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { O as ORPCErrorCode, c as ORPCError, d as ORPCErrorJSON, A as AnyORPCError, C as ClientContext, a as ClientOptions, e as AnyNestedClient, I as InferClientContext, f as InferClientError, g as Client, b as ClientLink, h as ClientRest, F as FriendlyClientOptions } from './shared/client.8ug8I-zu.js';
2
2
  export { i as AnyORPCErrorJSON, j as COMMON_ERROR_STATUS_MAP, k as InferClientBodyInputs, l as InferClientBodyOutputs, m as InferClientErrors, n as InferClientInputs, o as InferClientOutputs, N as NestedClient, p as ORPCErrorOptions } from './shared/client.8ug8I-zu.js';
3
3
  import { Interceptor, PromiseWithError, ThrowableError, Promisable, WrapAsyncIteratorOptions, AsyncIteratorClass } from '@orpc/shared';
4
- export { AsyncCleanupFn, AsyncIteratorClass, AsyncIteratorClassNextFn, Registry, ThrowableError, asyncIteratorToStream as eventIteratorToStream, asyncIteratorToUnproxiedDataStream as eventIteratorToUnproxiedDataStream, onError, onFinish, onStart, onSuccess, streamToAsyncIteratorClass as streamToEventIterator } from '@orpc/shared';
4
+ export { AsyncCleanupFn, AsyncIteratorClass, AsyncIteratorClassNextFn, MaybeOptionalOptions, PromiseWithError, Registry, ThrowableError, asyncIteratorToStream as eventIteratorToStream, asyncIteratorToUnproxiedDataStream as eventIteratorToUnproxiedDataStream, onError, onFinish, onStart, onSuccess, streamToAsyncIteratorClass as streamToEventIterator } from '@orpc/shared';
5
5
  export { R as RPCJsonSerialization, a as RPCJsonSerializationMeta, b as RPCJsonSerializer, c as RPCJsonSerializerHandler, d as RPCJsonSerializerOptions, e as RPCSerializer, f as RPCSerializerOptions, g as RPCSerializerSerializeOptions } from './shared/client.BdItY5DT.js';
6
- export { ErrorEvent, getEventMeta, unwrapEvent, withEventMeta } from '@standardserver/core';
6
+ export { ErrorEvent, EventMeta, getEventMeta, unwrapEvent, withEventMeta } from '@standardserver/core';
7
7
 
8
8
  declare function isInferableError<T>(error: T): error is Extract<T, AnyORPCError>;
9
9
  declare function toORPCError<T>(error: T): Extract<T, AnyORPCError> | ORPCError<'INTERNAL_SERVER_ERROR', undefined>;
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { a as isInferableError } from './shared/client.DMXKFDyV.mjs';
2
- export { b as RPCJsonSerializer, R as RPCSerializer, d as cloneORPCError, c as createORPCErrorFromJson, i as isORPCErrorJson, t as toORPCError, w as wrapEventIteratorPreservingMeta } from './shared/client.DMXKFDyV.mjs';
1
+ import { a as isInferableError } from './shared/client.D3TIIok6.mjs';
2
+ export { b as RPCJsonSerializer, R as RPCSerializer, d as cloneORPCError, c as createORPCErrorFromJson, i as isORPCErrorJson, t as toORPCError, w as wrapEventIteratorPreservingMeta } from './shared/client.D3TIIok6.mjs';
3
3
  import { getOrBind, toArray, intercept, isTypescriptObject } from '@orpc/shared';
4
4
  export { AsyncIteratorClass, asyncIteratorToStream as eventIteratorToStream, asyncIteratorToUnproxiedDataStream as eventIteratorToUnproxiedDataStream, onError, onFinish, onStart, onSuccess, streamToAsyncIteratorClass as streamToEventIterator } from '@orpc/shared';
5
5
  export { C as COMMON_ERROR_STATUS_MAP, O as ORPCError } from './shared/client.Dnfj8jnT.mjs';
@@ -2,7 +2,7 @@ import { sortPlugins, runWithSpan, ORPC_NAME, isAsyncIteratorObject, override, t
2
2
  import { mergeStandardHeaders, parseStandardUrl } from '@standardserver/core';
3
3
  import { toStandardHeaders } from '@standardserver/fetch';
4
4
  import { O as ORPCError } from './client.Dnfj8jnT.mjs';
5
- import { R as RPCSerializer, i as isORPCErrorJson, c as createORPCErrorFromJson } from './client.DMXKFDyV.mjs';
5
+ import { R as RPCSerializer, i as isORPCErrorJson, c as createORPCErrorFromJson } from './client.D3TIIok6.mjs';
6
6
 
7
7
  class CompositeStandardLinkPlugin {
8
8
  name = "~composite";
@@ -331,7 +331,7 @@ class RPCSerializer {
331
331
  }
332
332
  const serialized = JSON.parse(data.get("data"));
333
333
  const blobs = [];
334
- for (const [key, value] of data.entries()) {
334
+ for (const [key, value] of data) {
335
335
  if (value instanceof Blob) {
336
336
  blobs[Number(key)] = value;
337
337
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orpc/client",
3
3
  "type": "module",
4
- "version": "2.0.0-beta.1",
4
+ "version": "2.0.0-beta.11",
5
5
  "license": "MIT",
6
6
  "homepage": "https://orpc.dev",
7
7
  "repository": {
@@ -50,10 +50,10 @@
50
50
  "dist"
51
51
  ],
52
52
  "dependencies": {
53
- "@standardserver/core": "^0.0.24",
54
- "@standardserver/fetch": "^0.0.24",
55
- "@standardserver/peer": "^0.0.24",
56
- "@orpc/shared": "2.0.0-beta.1"
53
+ "@standardserver/core": "^0.0.25",
54
+ "@standardserver/fetch": "^0.0.25",
55
+ "@standardserver/peer": "^0.0.25",
56
+ "@orpc/shared": "2.0.0-beta.11"
57
57
  },
58
58
  "devDependencies": {
59
59
  "zod": "^4.4.3"