@orpc/client 0.0.0-next.6c1c681 → 0.0.0-next.6d75718
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 +10 -0
- package/dist/adapters/fetch/index.d.mts +7 -6
- package/dist/adapters/fetch/index.d.ts +7 -6
- package/dist/adapters/fetch/index.mjs +2 -2
- package/dist/adapters/standard/index.d.mts +12 -76
- package/dist/adapters/standard/index.d.ts +12 -76
- package/dist/adapters/standard/index.mjs +2 -2
- package/dist/index.d.mts +10 -15
- package/dist/index.d.ts +10 -15
- package/dist/index.mjs +34 -32
- package/dist/plugins/index.d.mts +61 -0
- package/dist/plugins/index.d.ts +61 -0
- package/dist/plugins/index.mjs +126 -0
- package/dist/shared/{client.CPmBUYbj.mjs → client.B1XjLWRe.mjs} +24 -41
- package/dist/shared/{client.XAn8cDTM.mjs → client.BacCdg3F.mjs} +2 -96
- package/dist/shared/client.Bt40CWA-.d.ts +39 -0
- package/dist/shared/client.CKw2tbcl.d.mts +39 -0
- package/dist/shared/client.RZs5Myak.d.mts +30 -0
- package/dist/shared/client.RZs5Myak.d.ts +30 -0
- package/package.json +9 -4
- package/dist/shared/client.D_CzLDyB.d.mts +0 -42
- package/dist/shared/client.D_CzLDyB.d.ts +0 -42
package/README.md
CHANGED
|
@@ -60,6 +60,8 @@ You can find the full documentation [here](https://orpc.unnoq.com).
|
|
|
60
60
|
- [@orpc/vue-colada](https://www.npmjs.com/package/@orpc/vue-colada): Integration with [Pinia Colada](https://pinia-colada.esm.dev/).
|
|
61
61
|
- [@orpc/openapi](https://www.npmjs.com/package/@orpc/openapi): Generate OpenAPI specs and handle OpenAPI requests.
|
|
62
62
|
- [@orpc/zod](https://www.npmjs.com/package/@orpc/zod): More schemas that [Zod](https://zod.dev/) doesn't support yet.
|
|
63
|
+
- [@orpc/valibot](https://www.npmjs.com/package/@orpc/valibot): OpenAPI spec generation from [Valibot](https://valibot.dev/).
|
|
64
|
+
- [@orpc/arktype](https://www.npmjs.com/package/@orpc/arktype): OpenAPI spec generation from [ArkType](https://arktype.io/).
|
|
63
65
|
|
|
64
66
|
## `@orpc/client`
|
|
65
67
|
|
|
@@ -85,6 +87,14 @@ const client: RouterClient<typeof router> = createORPCClient(link)
|
|
|
85
87
|
const client: ContractRouterClient<typeof contract> = createORPCClient(link)
|
|
86
88
|
```
|
|
87
89
|
|
|
90
|
+
## Sponsors
|
|
91
|
+
|
|
92
|
+
<p align="center">
|
|
93
|
+
<a href="https://cdn.jsdelivr.net/gh/unnoq/unnoq/sponsors.svg">
|
|
94
|
+
<img src='https://cdn.jsdelivr.net/gh/unnoq/unnoq/sponsors.svg'/>
|
|
95
|
+
</a>
|
|
96
|
+
</p>
|
|
97
|
+
|
|
88
98
|
## License
|
|
89
99
|
|
|
90
100
|
Distributed under the MIT License. See [LICENSE](https://github.com/unnoq/orpc/blob/main/LICENSE) for more information.
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
|
|
2
2
|
import { ToFetchRequestOptions } from '@orpc/standard-server-fetch';
|
|
3
|
-
import {
|
|
4
|
-
import { StandardLinkClient
|
|
3
|
+
import { a as ClientContext, C as ClientOptions, b as ClientLink } from '../../shared/client.RZs5Myak.mjs';
|
|
4
|
+
import { b as StandardLinkClient } from '../../shared/client.CKw2tbcl.mjs';
|
|
5
|
+
import { StandardRPCLinkOptions } from '../standard/index.mjs';
|
|
5
6
|
import '@orpc/shared';
|
|
6
7
|
|
|
7
8
|
interface LinkFetchClientOptions<T extends ClientContext> extends ToFetchRequestOptions {
|
|
8
|
-
fetch?: (request: Request, init: Record<never, never>, options:
|
|
9
|
+
fetch?: (request: Request, init: Record<never, never>, options: ClientOptions<T>, path: readonly string[], input: unknown) => Promise<Response>;
|
|
9
10
|
}
|
|
10
11
|
declare class LinkFetchClient<T extends ClientContext> implements StandardLinkClient<T> {
|
|
11
12
|
private readonly fetch;
|
|
12
13
|
private readonly toFetchRequestOptions;
|
|
13
14
|
constructor(options: LinkFetchClientOptions<T>);
|
|
14
|
-
call(request: StandardRequest, options:
|
|
15
|
+
call(request: StandardRequest, options: ClientOptions<T>, path: readonly string[], input: unknown): Promise<StandardLazyResponse>;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
interface RPCLinkOptions<T extends ClientContext> extends StandardRPCLinkOptions<T>, LinkFetchClientOptions<T> {
|
|
@@ -19,11 +20,11 @@ interface RPCLinkOptions<T extends ClientContext> extends StandardRPCLinkOptions
|
|
|
19
20
|
declare class RPCLink<T extends ClientContext> implements ClientLink<T> {
|
|
20
21
|
private readonly standardLink;
|
|
21
22
|
constructor(options: RPCLinkOptions<T>);
|
|
22
|
-
call(path: readonly string[], input: unknown, options:
|
|
23
|
+
call(path: readonly string[], input: unknown, options: ClientOptions<T>): Promise<unknown>;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
interface FetchWithContext<TClientContext extends ClientContext> {
|
|
26
|
-
(url: URL, init: RequestInit, options:
|
|
27
|
+
(url: URL, init: RequestInit, options: ClientOptions<TClientContext>, path: readonly string[], input: unknown): Promise<Response>;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export { type FetchWithContext, LinkFetchClient, type LinkFetchClientOptions, RPCLink, type RPCLinkOptions };
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
|
|
2
2
|
import { ToFetchRequestOptions } from '@orpc/standard-server-fetch';
|
|
3
|
-
import {
|
|
4
|
-
import { StandardLinkClient
|
|
3
|
+
import { a as ClientContext, C as ClientOptions, b as ClientLink } from '../../shared/client.RZs5Myak.js';
|
|
4
|
+
import { b as StandardLinkClient } from '../../shared/client.Bt40CWA-.js';
|
|
5
|
+
import { StandardRPCLinkOptions } from '../standard/index.js';
|
|
5
6
|
import '@orpc/shared';
|
|
6
7
|
|
|
7
8
|
interface LinkFetchClientOptions<T extends ClientContext> extends ToFetchRequestOptions {
|
|
8
|
-
fetch?: (request: Request, init: Record<never, never>, options:
|
|
9
|
+
fetch?: (request: Request, init: Record<never, never>, options: ClientOptions<T>, path: readonly string[], input: unknown) => Promise<Response>;
|
|
9
10
|
}
|
|
10
11
|
declare class LinkFetchClient<T extends ClientContext> implements StandardLinkClient<T> {
|
|
11
12
|
private readonly fetch;
|
|
12
13
|
private readonly toFetchRequestOptions;
|
|
13
14
|
constructor(options: LinkFetchClientOptions<T>);
|
|
14
|
-
call(request: StandardRequest, options:
|
|
15
|
+
call(request: StandardRequest, options: ClientOptions<T>, path: readonly string[], input: unknown): Promise<StandardLazyResponse>;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
interface RPCLinkOptions<T extends ClientContext> extends StandardRPCLinkOptions<T>, LinkFetchClientOptions<T> {
|
|
@@ -19,11 +20,11 @@ interface RPCLinkOptions<T extends ClientContext> extends StandardRPCLinkOptions
|
|
|
19
20
|
declare class RPCLink<T extends ClientContext> implements ClientLink<T> {
|
|
20
21
|
private readonly standardLink;
|
|
21
22
|
constructor(options: RPCLinkOptions<T>);
|
|
22
|
-
call(path: readonly string[], input: unknown, options:
|
|
23
|
+
call(path: readonly string[], input: unknown, options: ClientOptions<T>): Promise<unknown>;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
interface FetchWithContext<TClientContext extends ClientContext> {
|
|
26
|
-
(url: URL, init: RequestInit, options:
|
|
27
|
+
(url: URL, init: RequestInit, options: ClientOptions<TClientContext>, path: readonly string[], input: unknown): Promise<Response>;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export { type FetchWithContext, LinkFetchClient, type LinkFetchClientOptions, RPCLink, type RPCLinkOptions };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { toFetchRequest, toStandardLazyResponse } from '@orpc/standard-server-fetch';
|
|
2
|
-
import { b as StandardRPCJsonSerializer, c as StandardRPCLinkCodec, d as StandardRPCSerializer, S as StandardLink } from '../../shared/client.
|
|
2
|
+
import { b as StandardRPCJsonSerializer, c as StandardRPCLinkCodec, d as StandardRPCSerializer, S as StandardLink } from '../../shared/client.B1XjLWRe.mjs';
|
|
3
3
|
import '@orpc/shared';
|
|
4
|
-
import '../../shared/client.
|
|
4
|
+
import '../../shared/client.BacCdg3F.mjs';
|
|
5
5
|
import '@orpc/standard-server';
|
|
6
6
|
|
|
7
7
|
class LinkFetchClient {
|
|
@@ -1,72 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
encode(path: readonly string[], input: unknown, options: ClientOptionsOut<any>): Promise<StandardRequest>;
|
|
7
|
-
decode(response: StandardLazyResponse, options: ClientOptionsOut<T>, path: readonly string[], input: unknown): Promise<unknown>;
|
|
8
|
-
}
|
|
9
|
-
interface StandardLinkClient<T extends ClientContext> {
|
|
10
|
-
call(request: StandardRequest, options: ClientOptionsOut<T>, path: readonly string[], input: unknown): Promise<StandardLazyResponse>;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
declare class InvalidEventIteratorRetryResponse extends Error {
|
|
14
|
-
}
|
|
15
|
-
interface StandardLinkOptions<T extends ClientContext> {
|
|
16
|
-
/**
|
|
17
|
-
* Maximum retry attempts for **consecutive failures** before throwing
|
|
18
|
-
*
|
|
19
|
-
* @default 5
|
|
20
|
-
*/
|
|
21
|
-
eventIteratorMaxRetries?: Value<number, [
|
|
22
|
-
reconnectOptions: EventIteratorReconnectOptions,
|
|
23
|
-
options: ClientOptionsOut<T>,
|
|
24
|
-
path: readonly string[],
|
|
25
|
-
input: unknown
|
|
26
|
-
]>;
|
|
27
|
-
/**
|
|
28
|
-
* Delay (in ms) before retrying an event iterator call.
|
|
29
|
-
*
|
|
30
|
-
* @default (o) => o.lastRetry ?? (1000 * 2 ** o.retryTimes)
|
|
31
|
-
*/
|
|
32
|
-
eventIteratorRetryDelay?: Value<number, [
|
|
33
|
-
reconnectOptions: EventIteratorReconnectOptions,
|
|
34
|
-
options: ClientOptionsOut<T>,
|
|
35
|
-
path: readonly string[],
|
|
36
|
-
input: unknown
|
|
37
|
-
]>;
|
|
38
|
-
/**
|
|
39
|
-
* Function to determine if an error is retryable.
|
|
40
|
-
*
|
|
41
|
-
* @default true
|
|
42
|
-
*/
|
|
43
|
-
eventIteratorShouldRetry?: Value<boolean, [
|
|
44
|
-
reconnectOptions: EventIteratorReconnectOptions,
|
|
45
|
-
options: ClientOptionsOut<T>,
|
|
46
|
-
path: readonly string[],
|
|
47
|
-
input: unknown
|
|
48
|
-
]>;
|
|
49
|
-
interceptors?: Interceptor<{
|
|
50
|
-
path: readonly string[];
|
|
51
|
-
input: unknown;
|
|
52
|
-
options: ClientOptionsOut<T>;
|
|
53
|
-
}, unknown, unknown>[];
|
|
54
|
-
clientInterceptors?: Interceptor<{
|
|
55
|
-
request: StandardRequest;
|
|
56
|
-
}, StandardLazyResponse, unknown>[];
|
|
57
|
-
}
|
|
58
|
-
declare class StandardLink<T extends ClientContext> implements ClientLink<T> {
|
|
59
|
-
#private;
|
|
60
|
-
readonly codec: StandardLinkCodec<T>;
|
|
61
|
-
readonly sender: StandardLinkClient<T>;
|
|
62
|
-
private readonly eventIteratorMaxRetries;
|
|
63
|
-
private readonly eventIteratorRetryDelay;
|
|
64
|
-
private readonly eventIteratorShouldRetry;
|
|
65
|
-
private readonly interceptors;
|
|
66
|
-
private readonly clientInterceptors;
|
|
67
|
-
constructor(codec: StandardLinkCodec<T>, sender: StandardLinkClient<T>, options: StandardLinkOptions<T>);
|
|
68
|
-
call(path: readonly string[], input: unknown, options: ClientOptionsOut<T>): Promise<unknown>;
|
|
69
|
-
}
|
|
1
|
+
import { c as StandardLinkCodec, a as StandardLinkOptions } from '../../shared/client.CKw2tbcl.mjs';
|
|
2
|
+
export { I as InvalidEventIteratorRetryResponse, d as StandardLink, b as StandardLinkClient, S as StandardLinkPlugin } from '../../shared/client.CKw2tbcl.mjs';
|
|
3
|
+
import { Segment, Value } from '@orpc/shared';
|
|
4
|
+
import { a as ClientContext, C as ClientOptions } from '../../shared/client.RZs5Myak.mjs';
|
|
5
|
+
import { StandardHeaders, StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
|
|
70
6
|
|
|
71
7
|
declare const STANDARD_RPC_JSON_SERIALIZER_BUILT_IN_TYPES: {
|
|
72
8
|
readonly BIGINT: 0;
|
|
@@ -101,7 +37,7 @@ declare class StandardRPCSerializer {
|
|
|
101
37
|
#private;
|
|
102
38
|
private readonly jsonSerializer;
|
|
103
39
|
constructor(jsonSerializer: StandardRPCJsonSerializer);
|
|
104
|
-
serialize(data: unknown):
|
|
40
|
+
serialize(data: unknown): object;
|
|
105
41
|
deserialize(data: unknown): unknown;
|
|
106
42
|
}
|
|
107
43
|
|
|
@@ -111,7 +47,7 @@ interface StandardRPCLinkCodecOptions<T extends ClientContext> {
|
|
|
111
47
|
* Base url for all requests.
|
|
112
48
|
*/
|
|
113
49
|
url: Value<string | URL, [
|
|
114
|
-
options:
|
|
50
|
+
options: ClientOptions<T>,
|
|
115
51
|
path: readonly string[],
|
|
116
52
|
input: unknown
|
|
117
53
|
]>;
|
|
@@ -121,7 +57,7 @@ interface StandardRPCLinkCodecOptions<T extends ClientContext> {
|
|
|
121
57
|
* @default 2083
|
|
122
58
|
*/
|
|
123
59
|
maxUrlLength?: Value<number, [
|
|
124
|
-
options:
|
|
60
|
+
options: ClientOptions<T>,
|
|
125
61
|
path: readonly string[],
|
|
126
62
|
input: unknown
|
|
127
63
|
]>;
|
|
@@ -131,7 +67,7 @@ interface StandardRPCLinkCodecOptions<T extends ClientContext> {
|
|
|
131
67
|
* @default 'POST'
|
|
132
68
|
*/
|
|
133
69
|
method?: Value<HTTPMethod, [
|
|
134
|
-
options:
|
|
70
|
+
options: ClientOptions<T>,
|
|
135
71
|
path: readonly string[],
|
|
136
72
|
input: unknown
|
|
137
73
|
]>;
|
|
@@ -146,7 +82,7 @@ interface StandardRPCLinkCodecOptions<T extends ClientContext> {
|
|
|
146
82
|
* Inject headers to the request.
|
|
147
83
|
*/
|
|
148
84
|
headers?: Value<StandardHeaders, [
|
|
149
|
-
options:
|
|
85
|
+
options: ClientOptions<T>,
|
|
150
86
|
path: readonly string[],
|
|
151
87
|
input: unknown
|
|
152
88
|
]>;
|
|
@@ -159,11 +95,11 @@ declare class StandardRPCLinkCodec<T extends ClientContext> implements StandardL
|
|
|
159
95
|
private readonly expectedMethod;
|
|
160
96
|
private readonly headers;
|
|
161
97
|
constructor(serializer: StandardRPCSerializer, options: StandardRPCLinkCodecOptions<T>);
|
|
162
|
-
encode(path: readonly string[], input: unknown, options:
|
|
98
|
+
encode(path: readonly string[], input: unknown, options: ClientOptions<T>): Promise<StandardRequest>;
|
|
163
99
|
decode(response: StandardLazyResponse): Promise<unknown>;
|
|
164
100
|
}
|
|
165
101
|
|
|
166
102
|
interface StandardRPCLinkOptions<T extends ClientContext> extends StandardLinkOptions<T>, StandardRPCLinkCodecOptions<T>, StandardRPCJsonSerializerOptions {
|
|
167
103
|
}
|
|
168
104
|
|
|
169
|
-
export {
|
|
105
|
+
export { STANDARD_RPC_JSON_SERIALIZER_BUILT_IN_TYPES, StandardLinkCodec, StandardLinkOptions, type StandardRPCCustomJsonSerializer, type StandardRPCJsonSerialized, type StandardRPCJsonSerializedMetaItem, StandardRPCJsonSerializer, type StandardRPCJsonSerializerOptions, StandardRPCLinkCodec, type StandardRPCLinkCodecOptions, type StandardRPCLinkOptions, StandardRPCSerializer };
|
|
@@ -1,72 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
encode(path: readonly string[], input: unknown, options: ClientOptionsOut<any>): Promise<StandardRequest>;
|
|
7
|
-
decode(response: StandardLazyResponse, options: ClientOptionsOut<T>, path: readonly string[], input: unknown): Promise<unknown>;
|
|
8
|
-
}
|
|
9
|
-
interface StandardLinkClient<T extends ClientContext> {
|
|
10
|
-
call(request: StandardRequest, options: ClientOptionsOut<T>, path: readonly string[], input: unknown): Promise<StandardLazyResponse>;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
declare class InvalidEventIteratorRetryResponse extends Error {
|
|
14
|
-
}
|
|
15
|
-
interface StandardLinkOptions<T extends ClientContext> {
|
|
16
|
-
/**
|
|
17
|
-
* Maximum retry attempts for **consecutive failures** before throwing
|
|
18
|
-
*
|
|
19
|
-
* @default 5
|
|
20
|
-
*/
|
|
21
|
-
eventIteratorMaxRetries?: Value<number, [
|
|
22
|
-
reconnectOptions: EventIteratorReconnectOptions,
|
|
23
|
-
options: ClientOptionsOut<T>,
|
|
24
|
-
path: readonly string[],
|
|
25
|
-
input: unknown
|
|
26
|
-
]>;
|
|
27
|
-
/**
|
|
28
|
-
* Delay (in ms) before retrying an event iterator call.
|
|
29
|
-
*
|
|
30
|
-
* @default (o) => o.lastRetry ?? (1000 * 2 ** o.retryTimes)
|
|
31
|
-
*/
|
|
32
|
-
eventIteratorRetryDelay?: Value<number, [
|
|
33
|
-
reconnectOptions: EventIteratorReconnectOptions,
|
|
34
|
-
options: ClientOptionsOut<T>,
|
|
35
|
-
path: readonly string[],
|
|
36
|
-
input: unknown
|
|
37
|
-
]>;
|
|
38
|
-
/**
|
|
39
|
-
* Function to determine if an error is retryable.
|
|
40
|
-
*
|
|
41
|
-
* @default true
|
|
42
|
-
*/
|
|
43
|
-
eventIteratorShouldRetry?: Value<boolean, [
|
|
44
|
-
reconnectOptions: EventIteratorReconnectOptions,
|
|
45
|
-
options: ClientOptionsOut<T>,
|
|
46
|
-
path: readonly string[],
|
|
47
|
-
input: unknown
|
|
48
|
-
]>;
|
|
49
|
-
interceptors?: Interceptor<{
|
|
50
|
-
path: readonly string[];
|
|
51
|
-
input: unknown;
|
|
52
|
-
options: ClientOptionsOut<T>;
|
|
53
|
-
}, unknown, unknown>[];
|
|
54
|
-
clientInterceptors?: Interceptor<{
|
|
55
|
-
request: StandardRequest;
|
|
56
|
-
}, StandardLazyResponse, unknown>[];
|
|
57
|
-
}
|
|
58
|
-
declare class StandardLink<T extends ClientContext> implements ClientLink<T> {
|
|
59
|
-
#private;
|
|
60
|
-
readonly codec: StandardLinkCodec<T>;
|
|
61
|
-
readonly sender: StandardLinkClient<T>;
|
|
62
|
-
private readonly eventIteratorMaxRetries;
|
|
63
|
-
private readonly eventIteratorRetryDelay;
|
|
64
|
-
private readonly eventIteratorShouldRetry;
|
|
65
|
-
private readonly interceptors;
|
|
66
|
-
private readonly clientInterceptors;
|
|
67
|
-
constructor(codec: StandardLinkCodec<T>, sender: StandardLinkClient<T>, options: StandardLinkOptions<T>);
|
|
68
|
-
call(path: readonly string[], input: unknown, options: ClientOptionsOut<T>): Promise<unknown>;
|
|
69
|
-
}
|
|
1
|
+
import { c as StandardLinkCodec, a as StandardLinkOptions } from '../../shared/client.Bt40CWA-.js';
|
|
2
|
+
export { I as InvalidEventIteratorRetryResponse, d as StandardLink, b as StandardLinkClient, S as StandardLinkPlugin } from '../../shared/client.Bt40CWA-.js';
|
|
3
|
+
import { Segment, Value } from '@orpc/shared';
|
|
4
|
+
import { a as ClientContext, C as ClientOptions } from '../../shared/client.RZs5Myak.js';
|
|
5
|
+
import { StandardHeaders, StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
|
|
70
6
|
|
|
71
7
|
declare const STANDARD_RPC_JSON_SERIALIZER_BUILT_IN_TYPES: {
|
|
72
8
|
readonly BIGINT: 0;
|
|
@@ -101,7 +37,7 @@ declare class StandardRPCSerializer {
|
|
|
101
37
|
#private;
|
|
102
38
|
private readonly jsonSerializer;
|
|
103
39
|
constructor(jsonSerializer: StandardRPCJsonSerializer);
|
|
104
|
-
serialize(data: unknown):
|
|
40
|
+
serialize(data: unknown): object;
|
|
105
41
|
deserialize(data: unknown): unknown;
|
|
106
42
|
}
|
|
107
43
|
|
|
@@ -111,7 +47,7 @@ interface StandardRPCLinkCodecOptions<T extends ClientContext> {
|
|
|
111
47
|
* Base url for all requests.
|
|
112
48
|
*/
|
|
113
49
|
url: Value<string | URL, [
|
|
114
|
-
options:
|
|
50
|
+
options: ClientOptions<T>,
|
|
115
51
|
path: readonly string[],
|
|
116
52
|
input: unknown
|
|
117
53
|
]>;
|
|
@@ -121,7 +57,7 @@ interface StandardRPCLinkCodecOptions<T extends ClientContext> {
|
|
|
121
57
|
* @default 2083
|
|
122
58
|
*/
|
|
123
59
|
maxUrlLength?: Value<number, [
|
|
124
|
-
options:
|
|
60
|
+
options: ClientOptions<T>,
|
|
125
61
|
path: readonly string[],
|
|
126
62
|
input: unknown
|
|
127
63
|
]>;
|
|
@@ -131,7 +67,7 @@ interface StandardRPCLinkCodecOptions<T extends ClientContext> {
|
|
|
131
67
|
* @default 'POST'
|
|
132
68
|
*/
|
|
133
69
|
method?: Value<HTTPMethod, [
|
|
134
|
-
options:
|
|
70
|
+
options: ClientOptions<T>,
|
|
135
71
|
path: readonly string[],
|
|
136
72
|
input: unknown
|
|
137
73
|
]>;
|
|
@@ -146,7 +82,7 @@ interface StandardRPCLinkCodecOptions<T extends ClientContext> {
|
|
|
146
82
|
* Inject headers to the request.
|
|
147
83
|
*/
|
|
148
84
|
headers?: Value<StandardHeaders, [
|
|
149
|
-
options:
|
|
85
|
+
options: ClientOptions<T>,
|
|
150
86
|
path: readonly string[],
|
|
151
87
|
input: unknown
|
|
152
88
|
]>;
|
|
@@ -159,11 +95,11 @@ declare class StandardRPCLinkCodec<T extends ClientContext> implements StandardL
|
|
|
159
95
|
private readonly expectedMethod;
|
|
160
96
|
private readonly headers;
|
|
161
97
|
constructor(serializer: StandardRPCSerializer, options: StandardRPCLinkCodecOptions<T>);
|
|
162
|
-
encode(path: readonly string[], input: unknown, options:
|
|
98
|
+
encode(path: readonly string[], input: unknown, options: ClientOptions<T>): Promise<StandardRequest>;
|
|
163
99
|
decode(response: StandardLazyResponse): Promise<unknown>;
|
|
164
100
|
}
|
|
165
101
|
|
|
166
102
|
interface StandardRPCLinkOptions<T extends ClientContext> extends StandardLinkOptions<T>, StandardRPCLinkCodecOptions<T>, StandardRPCJsonSerializerOptions {
|
|
167
103
|
}
|
|
168
104
|
|
|
169
|
-
export {
|
|
105
|
+
export { STANDARD_RPC_JSON_SERIALIZER_BUILT_IN_TYPES, StandardLinkCodec, StandardLinkOptions, type StandardRPCCustomJsonSerializer, type StandardRPCJsonSerialized, type StandardRPCJsonSerializedMetaItem, StandardRPCJsonSerializer, type StandardRPCJsonSerializerOptions, StandardRPCLinkCodec, type StandardRPCLinkCodecOptions, type StandardRPCLinkOptions, StandardRPCSerializer };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { I as InvalidEventIteratorRetryResponse, a as STANDARD_RPC_JSON_SERIALIZER_BUILT_IN_TYPES, S as StandardLink, b as StandardRPCJsonSerializer, c as StandardRPCLinkCodec, d as StandardRPCSerializer } from '../../shared/client.
|
|
1
|
+
export { I as InvalidEventIteratorRetryResponse, a as STANDARD_RPC_JSON_SERIALIZER_BUILT_IN_TYPES, S as StandardLink, b as StandardRPCJsonSerializer, c as StandardRPCLinkCodec, d as StandardRPCSerializer } from '../../shared/client.B1XjLWRe.mjs';
|
|
2
2
|
import '@orpc/shared';
|
|
3
|
-
import '../../shared/client.
|
|
3
|
+
import '../../shared/client.BacCdg3F.mjs';
|
|
4
4
|
import '@orpc/standard-server';
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as NestedClient, b as ClientLink, I as InferClientContext,
|
|
2
|
-
export {
|
|
1
|
+
import { N as NestedClient, b as ClientLink, I as InferClientContext, a as ClientContext, C as ClientOptions, c as ClientPromiseResult, F as FriendlyClientOptions } from './shared/client.RZs5Myak.mjs';
|
|
2
|
+
export { e as Client, d as ClientRest } from './shared/client.RZs5Myak.mjs';
|
|
3
3
|
import { Promisable, MaybeOptionalOptions } from '@orpc/shared';
|
|
4
4
|
export { onError, onFinish, onStart, onSuccess } from '@orpc/shared';
|
|
5
5
|
export { ErrorEvent } from '@orpc/standard-server';
|
|
@@ -18,8 +18,8 @@ declare function createORPCClient<T extends NestedClient<any>>(link: ClientLink<
|
|
|
18
18
|
*/
|
|
19
19
|
declare class DynamicLink<TClientContext extends ClientContext> implements ClientLink<TClientContext> {
|
|
20
20
|
private readonly linkResolver;
|
|
21
|
-
constructor(linkResolver: (options:
|
|
22
|
-
call(path: readonly string[], input: unknown, options:
|
|
21
|
+
constructor(linkResolver: (options: ClientOptions<TClientContext>, path: readonly string[], input: unknown) => Promisable<ClientLink<TClientContext>>);
|
|
22
|
+
call(path: readonly string[], input: unknown, options: ClientOptions<TClientContext>): Promise<unknown>;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
declare const COMMON_ORPC_ERROR_DEFS: {
|
|
@@ -127,16 +127,10 @@ type ORPCErrorJSON<TCode extends string, TData> = Pick<ORPCError<TCode, TData>,
|
|
|
127
127
|
declare function isDefinedError<T>(error: T): error is Extract<T, ORPCError<any, any>>;
|
|
128
128
|
declare function toORPCError(error: unknown): ORPCError<any, any>;
|
|
129
129
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
declare function registerEventIteratorState(iterator: AsyncIteratorObject<unknown, unknown, void>, state: EventIteratorState): void;
|
|
136
|
-
declare function updateEventIteratorStatus(state: EventIteratorState, status: ConnectionStatus): void;
|
|
137
|
-
declare function onEventIteratorStatusChange(iterator: AsyncIteratorObject<unknown, unknown, void>, callback: (status: ConnectionStatus) => void, options?: {
|
|
138
|
-
notifyImmediately?: boolean;
|
|
139
|
-
}): () => void;
|
|
130
|
+
declare function mapEventIterator<TYield, TReturn, TNext, TMap = TYield | TReturn>(iterator: AsyncIterator<TYield, TReturn, TNext>, maps: {
|
|
131
|
+
value: (value: NoInfer<TYield | TReturn>, done: boolean | undefined) => Promise<TMap>;
|
|
132
|
+
error: (error: unknown) => Promise<unknown>;
|
|
133
|
+
}): AsyncGenerator<TMap, TMap, TNext>;
|
|
140
134
|
|
|
141
135
|
type SafeResult<TOutput, TError extends Error> = [error: null, data: TOutput, isDefined: false] & {
|
|
142
136
|
error: null;
|
|
@@ -152,5 +146,6 @@ type SafeResult<TOutput, TError extends Error> = [error: null, data: TOutput, is
|
|
|
152
146
|
isDefined: true;
|
|
153
147
|
};
|
|
154
148
|
declare function safe<TOutput, TError extends Error>(promise: ClientPromiseResult<TOutput, TError>): Promise<SafeResult<TOutput, TError>>;
|
|
149
|
+
declare function resolveFriendlyClientOptions<T extends ClientContext>(options: FriendlyClientOptions<T>): ClientOptions<T>;
|
|
155
150
|
|
|
156
|
-
export { COMMON_ORPC_ERROR_DEFS, ClientContext, ClientLink,
|
|
151
|
+
export { COMMON_ORPC_ERROR_DEFS, ClientContext, ClientLink, ClientOptions, ClientPromiseResult, type CommonORPCErrorCode, DynamicLink, FriendlyClientOptions, InferClientContext, NestedClient, ORPCError, type ORPCErrorCode, type ORPCErrorJSON, type ORPCErrorOptions, type SafeResult, createORPCClient, type createORPCClientOptions, fallbackORPCErrorMessage, fallbackORPCErrorStatus, isDefinedError, mapEventIterator, resolveFriendlyClientOptions, safe, toORPCError };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as NestedClient, b as ClientLink, I as InferClientContext,
|
|
2
|
-
export {
|
|
1
|
+
import { N as NestedClient, b as ClientLink, I as InferClientContext, a as ClientContext, C as ClientOptions, c as ClientPromiseResult, F as FriendlyClientOptions } from './shared/client.RZs5Myak.js';
|
|
2
|
+
export { e as Client, d as ClientRest } from './shared/client.RZs5Myak.js';
|
|
3
3
|
import { Promisable, MaybeOptionalOptions } from '@orpc/shared';
|
|
4
4
|
export { onError, onFinish, onStart, onSuccess } from '@orpc/shared';
|
|
5
5
|
export { ErrorEvent } from '@orpc/standard-server';
|
|
@@ -18,8 +18,8 @@ declare function createORPCClient<T extends NestedClient<any>>(link: ClientLink<
|
|
|
18
18
|
*/
|
|
19
19
|
declare class DynamicLink<TClientContext extends ClientContext> implements ClientLink<TClientContext> {
|
|
20
20
|
private readonly linkResolver;
|
|
21
|
-
constructor(linkResolver: (options:
|
|
22
|
-
call(path: readonly string[], input: unknown, options:
|
|
21
|
+
constructor(linkResolver: (options: ClientOptions<TClientContext>, path: readonly string[], input: unknown) => Promisable<ClientLink<TClientContext>>);
|
|
22
|
+
call(path: readonly string[], input: unknown, options: ClientOptions<TClientContext>): Promise<unknown>;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
declare const COMMON_ORPC_ERROR_DEFS: {
|
|
@@ -127,16 +127,10 @@ type ORPCErrorJSON<TCode extends string, TData> = Pick<ORPCError<TCode, TData>,
|
|
|
127
127
|
declare function isDefinedError<T>(error: T): error is Extract<T, ORPCError<any, any>>;
|
|
128
128
|
declare function toORPCError(error: unknown): ORPCError<any, any>;
|
|
129
129
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
declare function registerEventIteratorState(iterator: AsyncIteratorObject<unknown, unknown, void>, state: EventIteratorState): void;
|
|
136
|
-
declare function updateEventIteratorStatus(state: EventIteratorState, status: ConnectionStatus): void;
|
|
137
|
-
declare function onEventIteratorStatusChange(iterator: AsyncIteratorObject<unknown, unknown, void>, callback: (status: ConnectionStatus) => void, options?: {
|
|
138
|
-
notifyImmediately?: boolean;
|
|
139
|
-
}): () => void;
|
|
130
|
+
declare function mapEventIterator<TYield, TReturn, TNext, TMap = TYield | TReturn>(iterator: AsyncIterator<TYield, TReturn, TNext>, maps: {
|
|
131
|
+
value: (value: NoInfer<TYield | TReturn>, done: boolean | undefined) => Promise<TMap>;
|
|
132
|
+
error: (error: unknown) => Promise<unknown>;
|
|
133
|
+
}): AsyncGenerator<TMap, TMap, TNext>;
|
|
140
134
|
|
|
141
135
|
type SafeResult<TOutput, TError extends Error> = [error: null, data: TOutput, isDefined: false] & {
|
|
142
136
|
error: null;
|
|
@@ -152,5 +146,6 @@ type SafeResult<TOutput, TError extends Error> = [error: null, data: TOutput, is
|
|
|
152
146
|
isDefined: true;
|
|
153
147
|
};
|
|
154
148
|
declare function safe<TOutput, TError extends Error>(promise: ClientPromiseResult<TOutput, TError>): Promise<SafeResult<TOutput, TError>>;
|
|
149
|
+
declare function resolveFriendlyClientOptions<T extends ClientContext>(options: FriendlyClientOptions<T>): ClientOptions<T>;
|
|
155
150
|
|
|
156
|
-
export { COMMON_ORPC_ERROR_DEFS, ClientContext, ClientLink,
|
|
151
|
+
export { COMMON_ORPC_ERROR_DEFS, ClientContext, ClientLink, ClientOptions, ClientPromiseResult, type CommonORPCErrorCode, DynamicLink, FriendlyClientOptions, InferClientContext, NestedClient, ORPCError, type ORPCErrorCode, type ORPCErrorJSON, type ORPCErrorOptions, type SafeResult, createORPCClient, type createORPCClientOptions, fallbackORPCErrorMessage, fallbackORPCErrorStatus, isDefinedError, mapEventIterator, resolveFriendlyClientOptions, safe, toORPCError };
|
package/dist/index.mjs
CHANGED
|
@@ -1,17 +1,41 @@
|
|
|
1
|
-
import { i as isDefinedError } from './shared/client.
|
|
2
|
-
export { C as COMMON_ORPC_ERROR_DEFS, O as ORPCError,
|
|
1
|
+
import { i as isDefinedError } from './shared/client.BacCdg3F.mjs';
|
|
2
|
+
export { C as COMMON_ORPC_ERROR_DEFS, O as ORPCError, a as fallbackORPCErrorMessage, f as fallbackORPCErrorStatus, m as mapEventIterator, t as toORPCError } from './shared/client.BacCdg3F.mjs';
|
|
3
3
|
export { onError, onFinish, onStart, onSuccess } from '@orpc/shared';
|
|
4
4
|
export { ErrorEvent } from '@orpc/standard-server';
|
|
5
5
|
|
|
6
|
+
async function safe(promise) {
|
|
7
|
+
try {
|
|
8
|
+
const output = await promise;
|
|
9
|
+
return Object.assign(
|
|
10
|
+
[null, output, false],
|
|
11
|
+
{ error: null, data: output, isDefined: false }
|
|
12
|
+
);
|
|
13
|
+
} catch (e) {
|
|
14
|
+
const error = e;
|
|
15
|
+
if (isDefinedError(error)) {
|
|
16
|
+
return Object.assign(
|
|
17
|
+
[error, void 0, true],
|
|
18
|
+
{ error, data: void 0, isDefined: true }
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
return Object.assign(
|
|
22
|
+
[error, void 0, false],
|
|
23
|
+
{ error, data: void 0, isDefined: false }
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function resolveFriendlyClientOptions(options) {
|
|
28
|
+
return {
|
|
29
|
+
...options,
|
|
30
|
+
context: options?.context ?? {}
|
|
31
|
+
// Context only optional if all fields are optional
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
6
35
|
function createORPCClient(link, options) {
|
|
7
36
|
const path = options?.path ?? [];
|
|
8
|
-
const procedureClient = async (...[input, options2]) => {
|
|
9
|
-
|
|
10
|
-
...options2,
|
|
11
|
-
context: options2?.context ?? {}
|
|
12
|
-
// options.context can be undefined when all field is optional
|
|
13
|
-
};
|
|
14
|
-
return await link.call(path, input, optionsOut);
|
|
37
|
+
const procedureClient = async (...[input, options2 = {}]) => {
|
|
38
|
+
return await link.call(path, input, resolveFriendlyClientOptions(options2));
|
|
15
39
|
};
|
|
16
40
|
const recursive = new Proxy(procedureClient, {
|
|
17
41
|
get(target, key) {
|
|
@@ -38,26 +62,4 @@ class DynamicLink {
|
|
|
38
62
|
}
|
|
39
63
|
}
|
|
40
64
|
|
|
41
|
-
|
|
42
|
-
try {
|
|
43
|
-
const output = await promise;
|
|
44
|
-
return Object.assign(
|
|
45
|
-
[null, output, false],
|
|
46
|
-
{ error: null, data: output, isDefined: false }
|
|
47
|
-
);
|
|
48
|
-
} catch (e) {
|
|
49
|
-
const error = e;
|
|
50
|
-
if (isDefinedError(error)) {
|
|
51
|
-
return Object.assign(
|
|
52
|
-
[error, void 0, true],
|
|
53
|
-
{ error, data: void 0, isDefined: true }
|
|
54
|
-
);
|
|
55
|
-
}
|
|
56
|
-
return Object.assign(
|
|
57
|
-
[error, void 0, false],
|
|
58
|
-
{ error, data: void 0, isDefined: false }
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export { DynamicLink, createORPCClient, isDefinedError, safe };
|
|
65
|
+
export { DynamicLink, createORPCClient, isDefinedError, resolveFriendlyClientOptions, safe };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Value } from '@orpc/shared';
|
|
2
|
+
import { S as StandardLinkPlugin, a as StandardLinkOptions } from '../shared/client.CKw2tbcl.mjs';
|
|
3
|
+
import { C as ClientOptions } from '../shared/client.RZs5Myak.mjs';
|
|
4
|
+
import '@orpc/standard-server';
|
|
5
|
+
|
|
6
|
+
interface ClientRetryPluginAttemptOptions {
|
|
7
|
+
lastEventRetry: number | undefined;
|
|
8
|
+
lastEventId: string | undefined;
|
|
9
|
+
attemptIndex: number;
|
|
10
|
+
error: unknown;
|
|
11
|
+
}
|
|
12
|
+
interface ClientRetryPluginContext {
|
|
13
|
+
/**
|
|
14
|
+
* Maximum retry attempts before throwing
|
|
15
|
+
* Use `Number.POSITIVE_INFINITY` for infinite retries (e.g., when handling Server-Sent Events).
|
|
16
|
+
*
|
|
17
|
+
* @default 0
|
|
18
|
+
*/
|
|
19
|
+
retry?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Delay (in ms) before retrying.
|
|
22
|
+
*
|
|
23
|
+
* @default (o) => o.lastEventRetry ?? 2000
|
|
24
|
+
*/
|
|
25
|
+
retryDelay?: Value<number, [
|
|
26
|
+
attemptOptions: ClientRetryPluginAttemptOptions,
|
|
27
|
+
clientOptions: ClientOptions<ClientRetryPluginContext>,
|
|
28
|
+
path: readonly string[],
|
|
29
|
+
input: unknown
|
|
30
|
+
]>;
|
|
31
|
+
/**
|
|
32
|
+
* Determine should retry or not.
|
|
33
|
+
*
|
|
34
|
+
* @default true
|
|
35
|
+
*/
|
|
36
|
+
shouldRetry?: Value<boolean, [
|
|
37
|
+
attemptOptions: ClientRetryPluginAttemptOptions,
|
|
38
|
+
clientOptions: ClientOptions<ClientRetryPluginContext>,
|
|
39
|
+
path: readonly string[],
|
|
40
|
+
input: unknown
|
|
41
|
+
]>;
|
|
42
|
+
/**
|
|
43
|
+
* The hook called when retrying, and return the unsubscribe function.
|
|
44
|
+
*/
|
|
45
|
+
onRetry?: (options: ClientRetryPluginAttemptOptions, clientOptions: ClientOptions<ClientRetryPluginContext>, path: readonly string[], input: unknown) => void | (() => void);
|
|
46
|
+
}
|
|
47
|
+
declare class ClientRetryPluginInvalidEventIteratorRetryResponse extends Error {
|
|
48
|
+
}
|
|
49
|
+
interface ClientRetryPluginOptions {
|
|
50
|
+
default?: ClientRetryPluginContext;
|
|
51
|
+
}
|
|
52
|
+
declare class ClientRetryPlugin<T extends ClientRetryPluginContext> implements StandardLinkPlugin<T> {
|
|
53
|
+
private readonly defaultRetry;
|
|
54
|
+
private readonly defaultRetryDelay;
|
|
55
|
+
private readonly defaultShouldRetry;
|
|
56
|
+
private readonly defaultOnRetry;
|
|
57
|
+
constructor(options?: ClientRetryPluginOptions);
|
|
58
|
+
init(options: StandardLinkOptions<T>): void;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { ClientRetryPlugin, type ClientRetryPluginAttemptOptions, type ClientRetryPluginContext, ClientRetryPluginInvalidEventIteratorRetryResponse, type ClientRetryPluginOptions };
|