@orpc/client 1.1.1 → 1.2.0

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.
@@ -1,8 +1,8 @@
1
1
  import { StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
2
2
  import { ToFetchRequestOptions } from '@orpc/standard-server-fetch';
3
- import { a as ClientContext, b as ClientOptions } from '../../shared/client.CipPQkhk.mjs';
4
- import { f as StandardLinkClient } from '../../shared/client.FXep-a3a.mjs';
5
- import { f as StandardRPCLinkOptions, g as StandardRPCLink } from '../../shared/client.BjJBZryq.mjs';
3
+ import { a as ClientContext, b as ClientOptions } from '../../shared/client.4TS_0JaO.mjs';
4
+ import { f as StandardLinkClient } from '../../shared/client.ds1abV85.mjs';
5
+ import { f as StandardRPCLinkOptions, g as StandardRPCLink } from '../../shared/client.ClwIM_ku.mjs';
6
6
  import '@orpc/shared';
7
7
 
8
8
  interface LinkFetchClientOptions<T extends ClientContext> extends ToFetchRequestOptions {
@@ -1,8 +1,8 @@
1
1
  import { StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
2
2
  import { ToFetchRequestOptions } from '@orpc/standard-server-fetch';
3
- import { a as ClientContext, b as ClientOptions } from '../../shared/client.CipPQkhk.js';
4
- import { f as StandardLinkClient } from '../../shared/client.C9U9n1f3.js';
5
- import { f as StandardRPCLinkOptions, g as StandardRPCLink } from '../../shared/client.8TjrVhkC.js';
3
+ import { a as ClientContext, b as ClientOptions } from '../../shared/client.4TS_0JaO.js';
4
+ import { f as StandardLinkClient } from '../../shared/client.7ZYxJok_.js';
5
+ import { f as StandardRPCLinkOptions, g as StandardRPCLink } from '../../shared/client.B2432-Lu.js';
6
6
  import '@orpc/shared';
7
7
 
8
8
  interface LinkFetchClientOptions<T extends ClientContext> extends ToFetchRequestOptions {
@@ -1,6 +1,6 @@
1
- export { C as CompositeStandardLinkPlugin, d as StandardLink, f as StandardLinkClient, S as StandardLinkClientInterceptorOptions, e as StandardLinkCodec, c as StandardLinkInterceptorOptions, b as StandardLinkOptions, a as StandardLinkPlugin } from '../../shared/client.FXep-a3a.mjs';
2
- export { S as STANDARD_RPC_JSON_SERIALIZER_BUILT_IN_TYPES, c as StandardRPCCustomJsonSerializer, b as StandardRPCJsonSerialized, a as StandardRPCJsonSerializedMetaItem, e as StandardRPCJsonSerializer, d as StandardRPCJsonSerializerOptions, g as StandardRPCLink, i as StandardRPCLinkCodec, h as StandardRPCLinkCodecOptions, f as StandardRPCLinkOptions, j as StandardRPCSerializer } from '../../shared/client.BjJBZryq.mjs';
3
- import { H as HTTPPath } from '../../shared/client.CipPQkhk.mjs';
1
+ export { C as CompositeStandardLinkPlugin, d as StandardLink, f as StandardLinkClient, S as StandardLinkClientInterceptorOptions, e as StandardLinkCodec, c as StandardLinkInterceptorOptions, b as StandardLinkOptions, a as StandardLinkPlugin } from '../../shared/client.ds1abV85.mjs';
2
+ export { S as STANDARD_RPC_JSON_SERIALIZER_BUILT_IN_TYPES, c as StandardRPCCustomJsonSerializer, b as StandardRPCJsonSerialized, a as StandardRPCJsonSerializedMetaItem, e as StandardRPCJsonSerializer, d as StandardRPCJsonSerializerOptions, g as StandardRPCLink, i as StandardRPCLinkCodec, h as StandardRPCLinkCodecOptions, f as StandardRPCLinkOptions, j as StandardRPCSerializer } from '../../shared/client.ClwIM_ku.mjs';
3
+ import { H as HTTPPath } from '../../shared/client.4TS_0JaO.mjs';
4
4
  import '@orpc/shared';
5
5
  import '@orpc/standard-server';
6
6
 
@@ -1,6 +1,6 @@
1
- export { C as CompositeStandardLinkPlugin, d as StandardLink, f as StandardLinkClient, S as StandardLinkClientInterceptorOptions, e as StandardLinkCodec, c as StandardLinkInterceptorOptions, b as StandardLinkOptions, a as StandardLinkPlugin } from '../../shared/client.C9U9n1f3.js';
2
- export { S as STANDARD_RPC_JSON_SERIALIZER_BUILT_IN_TYPES, c as StandardRPCCustomJsonSerializer, b as StandardRPCJsonSerialized, a as StandardRPCJsonSerializedMetaItem, e as StandardRPCJsonSerializer, d as StandardRPCJsonSerializerOptions, g as StandardRPCLink, i as StandardRPCLinkCodec, h as StandardRPCLinkCodecOptions, f as StandardRPCLinkOptions, j as StandardRPCSerializer } from '../../shared/client.8TjrVhkC.js';
3
- import { H as HTTPPath } from '../../shared/client.CipPQkhk.js';
1
+ export { C as CompositeStandardLinkPlugin, d as StandardLink, f as StandardLinkClient, S as StandardLinkClientInterceptorOptions, e as StandardLinkCodec, c as StandardLinkInterceptorOptions, b as StandardLinkOptions, a as StandardLinkPlugin } from '../../shared/client.7ZYxJok_.js';
2
+ export { S as STANDARD_RPC_JSON_SERIALIZER_BUILT_IN_TYPES, c as StandardRPCCustomJsonSerializer, b as StandardRPCJsonSerialized, a as StandardRPCJsonSerializedMetaItem, e as StandardRPCJsonSerializer, d as StandardRPCJsonSerializerOptions, g as StandardRPCLink, i as StandardRPCLinkCodec, h as StandardRPCLinkCodecOptions, f as StandardRPCLinkOptions, j as StandardRPCSerializer } from '../../shared/client.B2432-Lu.js';
3
+ import { H as HTTPPath } from '../../shared/client.4TS_0JaO.js';
4
4
  import '@orpc/shared';
5
5
  import '@orpc/standard-server';
6
6
 
@@ -0,0 +1,29 @@
1
+ import { StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
2
+ import { a as ClientContext, b as ClientOptions } from '../../shared/client.4TS_0JaO.mjs';
3
+ import { f as StandardLinkClient } from '../../shared/client.ds1abV85.mjs';
4
+ import { f as StandardRPCLinkOptions, g as StandardRPCLink } from '../../shared/client.ClwIM_ku.mjs';
5
+ import '@orpc/shared';
6
+
7
+ interface experimental_LinkWebsocketClientOptions {
8
+ websocket: Pick<WebSocket, 'addEventListener' | 'send'>;
9
+ }
10
+ declare class experimental_LinkWebsocketClient<T extends ClientContext> implements StandardLinkClient<T> {
11
+ private readonly peer;
12
+ constructor(options: experimental_LinkWebsocketClientOptions);
13
+ call(request: StandardRequest, _options: ClientOptions<T>, _path: readonly string[], _input: unknown): Promise<StandardLazyResponse>;
14
+ }
15
+
16
+ interface experimental_RPCLinkOptions<T extends ClientContext> extends Omit<StandardRPCLinkOptions<T>, 'url' | 'headers' | 'method' | 'fallbackMethod' | 'maxUrlLength'>, experimental_LinkWebsocketClientOptions {
17
+ }
18
+ /**
19
+ * The RPC Link communicates with the server using the RPC protocol over WebSocket.
20
+ *
21
+ * @see {@link https://orpc.unnoq.com/docs/client/rpc-link RPC Link Docs}
22
+ * @see {@link https://orpc.unnoq.com/docs/adapters/websocket WebSocket Adapter Docs}
23
+ */
24
+ declare class experimental_RPCLink<T extends ClientContext> extends StandardRPCLink<T> {
25
+ constructor(options: experimental_RPCLinkOptions<T>);
26
+ }
27
+
28
+ export { experimental_LinkWebsocketClient, experimental_RPCLink };
29
+ export type { experimental_LinkWebsocketClientOptions, experimental_RPCLinkOptions };
@@ -0,0 +1,29 @@
1
+ import { StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
2
+ import { a as ClientContext, b as ClientOptions } from '../../shared/client.4TS_0JaO.js';
3
+ import { f as StandardLinkClient } from '../../shared/client.7ZYxJok_.js';
4
+ import { f as StandardRPCLinkOptions, g as StandardRPCLink } from '../../shared/client.B2432-Lu.js';
5
+ import '@orpc/shared';
6
+
7
+ interface experimental_LinkWebsocketClientOptions {
8
+ websocket: Pick<WebSocket, 'addEventListener' | 'send'>;
9
+ }
10
+ declare class experimental_LinkWebsocketClient<T extends ClientContext> implements StandardLinkClient<T> {
11
+ private readonly peer;
12
+ constructor(options: experimental_LinkWebsocketClientOptions);
13
+ call(request: StandardRequest, _options: ClientOptions<T>, _path: readonly string[], _input: unknown): Promise<StandardLazyResponse>;
14
+ }
15
+
16
+ interface experimental_RPCLinkOptions<T extends ClientContext> extends Omit<StandardRPCLinkOptions<T>, 'url' | 'headers' | 'method' | 'fallbackMethod' | 'maxUrlLength'>, experimental_LinkWebsocketClientOptions {
17
+ }
18
+ /**
19
+ * The RPC Link communicates with the server using the RPC protocol over WebSocket.
20
+ *
21
+ * @see {@link https://orpc.unnoq.com/docs/client/rpc-link RPC Link Docs}
22
+ * @see {@link https://orpc.unnoq.com/docs/adapters/websocket WebSocket Adapter Docs}
23
+ */
24
+ declare class experimental_RPCLink<T extends ClientContext> extends StandardRPCLink<T> {
25
+ constructor(options: experimental_RPCLinkOptions<T>);
26
+ }
27
+
28
+ export { experimental_LinkWebsocketClient, experimental_RPCLink };
29
+ export type { experimental_LinkWebsocketClientOptions, experimental_RPCLinkOptions };
@@ -0,0 +1,31 @@
1
+ import { ClientPeer } from '@orpc/standard-server-peer';
2
+ import '@orpc/shared';
3
+ import { c as StandardRPCLink } from '../../shared/client.DpICn1BD.mjs';
4
+ import '@orpc/standard-server';
5
+ import '../../shared/client.CRWEpqLB.mjs';
6
+
7
+ class experimental_LinkWebsocketClient {
8
+ peer;
9
+ constructor(options) {
10
+ this.peer = new ClientPeer(options.websocket.send.bind(options.websocket));
11
+ options.websocket.addEventListener("message", (event) => {
12
+ this.peer.message(event.data);
13
+ });
14
+ options.websocket.addEventListener("close", () => {
15
+ this.peer.close();
16
+ });
17
+ }
18
+ async call(request, _options, _path, _input) {
19
+ const response = await this.peer.request(request);
20
+ return { ...response, body: () => Promise.resolve(response.body) };
21
+ }
22
+ }
23
+
24
+ class experimental_RPCLink extends StandardRPCLink {
25
+ constructor(options) {
26
+ const linkClient = new experimental_LinkWebsocketClient(options);
27
+ super(linkClient, { ...options, url: "orpc:/" });
28
+ }
29
+ }
30
+
31
+ export { experimental_LinkWebsocketClient, experimental_RPCLink };
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { N as NestedClient, C as ClientLink, I as InferClientContext, a as ClientContext, b as ClientOptions, c as ClientPromiseResult, F as FriendlyClientOptions } from './shared/client.CipPQkhk.mjs';
2
- export { f as Client, e as ClientRest, d as HTTPMethod, H as HTTPPath } from './shared/client.CipPQkhk.mjs';
1
+ import { N as NestedClient, C as ClientLink, I as InferClientContext, a as ClientContext, b as ClientOptions, c as ClientPromiseResult, F as FriendlyClientOptions } from './shared/client.4TS_0JaO.mjs';
2
+ export { f as Client, e as ClientRest, d as HTTPMethod, H as HTTPPath } from './shared/client.4TS_0JaO.mjs';
3
3
  import { Promisable, MaybeOptionalOptions, ThrowableError } from '@orpc/shared';
4
4
  export { Registry, ThrowableError, onError, onFinish, onStart, onSuccess } from '@orpc/shared';
5
5
  export { ErrorEvent } from '@orpc/standard-server';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { N as NestedClient, C as ClientLink, I as InferClientContext, a as ClientContext, b as ClientOptions, c as ClientPromiseResult, F as FriendlyClientOptions } from './shared/client.CipPQkhk.js';
2
- export { f as Client, e as ClientRest, d as HTTPMethod, H as HTTPPath } from './shared/client.CipPQkhk.js';
1
+ import { N as NestedClient, C as ClientLink, I as InferClientContext, a as ClientContext, b as ClientOptions, c as ClientPromiseResult, F as FriendlyClientOptions } from './shared/client.4TS_0JaO.js';
2
+ export { f as Client, e as ClientRest, d as HTTPMethod, H as HTTPPath } from './shared/client.4TS_0JaO.js';
3
3
  import { Promisable, MaybeOptionalOptions, ThrowableError } from '@orpc/shared';
4
4
  export { Registry, ThrowableError, onError, onFinish, onStart, onSuccess } from '@orpc/shared';
5
5
  export { ErrorEvent } from '@orpc/standard-server';
@@ -1,7 +1,7 @@
1
1
  import { Value } from '@orpc/shared';
2
2
  import { StandardHeaders, StandardRequest } from '@orpc/standard-server';
3
- import { S as StandardLinkClientInterceptorOptions, a as StandardLinkPlugin, b as StandardLinkOptions, c as StandardLinkInterceptorOptions } from '../shared/client.FXep-a3a.mjs';
4
- import { a as ClientContext } from '../shared/client.CipPQkhk.mjs';
3
+ import { S as StandardLinkClientInterceptorOptions, a as StandardLinkPlugin, b as StandardLinkOptions, c as StandardLinkInterceptorOptions } from '../shared/client.ds1abV85.mjs';
4
+ import { a as ClientContext } from '../shared/client.4TS_0JaO.mjs';
5
5
 
6
6
  interface BatchLinkPluginGroup<T extends ClientContext> {
7
7
  condition(options: StandardLinkClientInterceptorOptions<T>): boolean;
@@ -1,7 +1,7 @@
1
1
  import { Value } from '@orpc/shared';
2
2
  import { StandardHeaders, StandardRequest } from '@orpc/standard-server';
3
- import { S as StandardLinkClientInterceptorOptions, a as StandardLinkPlugin, b as StandardLinkOptions, c as StandardLinkInterceptorOptions } from '../shared/client.C9U9n1f3.js';
4
- import { a as ClientContext } from '../shared/client.CipPQkhk.js';
3
+ import { S as StandardLinkClientInterceptorOptions, a as StandardLinkPlugin, b as StandardLinkOptions, c as StandardLinkInterceptorOptions } from '../shared/client.7ZYxJok_.js';
4
+ import { a as ClientContext } from '../shared/client.4TS_0JaO.js';
5
5
 
6
6
  interface BatchLinkPluginGroup<T extends ClientContext> {
7
7
  condition(options: StandardLinkClientInterceptorOptions<T>): boolean;
@@ -1,7 +1,7 @@
1
1
  import { PromiseWithError } from '@orpc/shared';
2
2
 
3
3
  type HTTPPath = `/${string}`;
4
- type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
4
+ type HTTPMethod = 'HEAD' | 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
5
5
  type ClientContext = Record<PropertyKey, any>;
6
6
  interface ClientOptions<T extends ClientContext> {
7
7
  signal?: AbortSignal;
@@ -1,7 +1,7 @@
1
1
  import { PromiseWithError } from '@orpc/shared';
2
2
 
3
3
  type HTTPPath = `/${string}`;
4
- type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
4
+ type HTTPMethod = 'HEAD' | 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
5
5
  type ClientContext = Record<PropertyKey, any>;
6
6
  interface ClientOptions<T extends ClientContext> {
7
7
  signal?: AbortSignal;
@@ -1,6 +1,6 @@
1
1
  import { Interceptor, ThrowableError } from '@orpc/shared';
2
2
  import { StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
3
- import { a as ClientContext, b as ClientOptions, C as ClientLink } from './client.CipPQkhk.js';
3
+ import { a as ClientContext, b as ClientOptions, C as ClientLink } from './client.4TS_0JaO.js';
4
4
 
5
5
  interface StandardLinkPlugin<T extends ClientContext> {
6
6
  order?: number;
@@ -1,5 +1,5 @@
1
- import { a as ClientContext, b as ClientOptions, d as HTTPMethod } from './client.CipPQkhk.js';
2
- import { e as StandardLinkCodec, b as StandardLinkOptions, d as StandardLink, f as StandardLinkClient } from './client.C9U9n1f3.js';
1
+ import { a as ClientContext, b as ClientOptions, d as HTTPMethod } from './client.4TS_0JaO.js';
2
+ import { e as StandardLinkCodec, b as StandardLinkOptions, d as StandardLink, f as StandardLinkClient } from './client.7ZYxJok_.js';
3
3
  import { Segment, Value } from '@orpc/shared';
4
4
  import { StandardHeaders, StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
5
5
 
@@ -56,14 +56,14 @@ interface StandardRPCLinkCodecOptions<T extends ClientContext> {
56
56
  *
57
57
  * @default 'POST'
58
58
  */
59
- method?: Value<HTTPMethod, [options: ClientOptions<T>, path: readonly string[], input: unknown]>;
59
+ method?: Value<Exclude<HTTPMethod, 'HEAD'>, [options: ClientOptions<T>, path: readonly string[], input: unknown]>;
60
60
  /**
61
61
  * The method to use when the payload cannot safely pass to the server with method return from method function.
62
62
  * GET is not allowed, it's very dangerous.
63
63
  *
64
64
  * @default 'POST'
65
65
  */
66
- fallbackMethod?: Exclude<HTTPMethod, 'GET'>;
66
+ fallbackMethod?: Exclude<HTTPMethod, 'HEAD' | 'GET'>;
67
67
  /**
68
68
  * Inject headers to the request.
69
69
  */
@@ -1,5 +1,5 @@
1
- import { a as ClientContext, b as ClientOptions, d as HTTPMethod } from './client.CipPQkhk.mjs';
2
- import { e as StandardLinkCodec, b as StandardLinkOptions, d as StandardLink, f as StandardLinkClient } from './client.FXep-a3a.mjs';
1
+ import { a as ClientContext, b as ClientOptions, d as HTTPMethod } from './client.4TS_0JaO.mjs';
2
+ import { e as StandardLinkCodec, b as StandardLinkOptions, d as StandardLink, f as StandardLinkClient } from './client.ds1abV85.mjs';
3
3
  import { Segment, Value } from '@orpc/shared';
4
4
  import { StandardHeaders, StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
5
5
 
@@ -56,14 +56,14 @@ interface StandardRPCLinkCodecOptions<T extends ClientContext> {
56
56
  *
57
57
  * @default 'POST'
58
58
  */
59
- method?: Value<HTTPMethod, [options: ClientOptions<T>, path: readonly string[], input: unknown]>;
59
+ method?: Value<Exclude<HTTPMethod, 'HEAD'>, [options: ClientOptions<T>, path: readonly string[], input: unknown]>;
60
60
  /**
61
61
  * The method to use when the payload cannot safely pass to the server with method return from method function.
62
62
  * GET is not allowed, it's very dangerous.
63
63
  *
64
64
  * @default 'POST'
65
65
  */
66
- fallbackMethod?: Exclude<HTTPMethod, 'GET'>;
66
+ fallbackMethod?: Exclude<HTTPMethod, 'HEAD' | 'GET'>;
67
67
  /**
68
68
  * Inject headers to the request.
69
69
  */
@@ -1,6 +1,6 @@
1
1
  import { Interceptor, ThrowableError } from '@orpc/shared';
2
2
  import { StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
3
- import { a as ClientContext, b as ClientOptions, C as ClientLink } from './client.CipPQkhk.mjs';
3
+ import { a as ClientContext, b as ClientOptions, C as ClientLink } from './client.4TS_0JaO.mjs';
4
4
 
5
5
  interface StandardLinkPlugin<T extends ClientContext> {
6
6
  order?: number;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orpc/client",
3
3
  "type": "module",
4
- "version": "1.1.1",
4
+ "version": "1.2.0",
5
5
  "license": "MIT",
6
6
  "homepage": "https://orpc.unnoq.com",
7
7
  "repository": {
@@ -33,15 +33,21 @@
33
33
  "types": "./dist/adapters/fetch/index.d.mts",
34
34
  "import": "./dist/adapters/fetch/index.mjs",
35
35
  "default": "./dist/adapters/fetch/index.mjs"
36
+ },
37
+ "./websocket": {
38
+ "types": "./dist/adapters/websocket/index.d.mts",
39
+ "import": "./dist/adapters/websocket/index.mjs",
40
+ "default": "./dist/adapters/websocket/index.mjs"
36
41
  }
37
42
  },
38
43
  "files": [
39
44
  "dist"
40
45
  ],
41
46
  "dependencies": {
42
- "@orpc/shared": "1.1.1",
43
- "@orpc/standard-server": "1.1.1",
44
- "@orpc/standard-server-fetch": "1.1.1"
47
+ "@orpc/shared": "1.2.0",
48
+ "@orpc/standard-server": "1.2.0",
49
+ "@orpc/standard-server-fetch": "1.2.0",
50
+ "@orpc/standard-server-peer": "1.2.0"
45
51
  },
46
52
  "devDependencies": {
47
53
  "zod": "^3.24.2"