@orpc/openapi-client 0.52.0 → 0.54.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.
- package/dist/adapters/fetch/index.d.mts +6 -5
- package/dist/adapters/fetch/index.d.ts +6 -5
- package/dist/adapters/fetch/index.mjs +4 -8
- package/dist/adapters/standard/index.d.mts +1 -1
- package/dist/adapters/standard/index.d.ts +1 -1
- package/dist/adapters/standard/index.mjs +2 -2
- package/dist/shared/{openapi-client.C6BK9Q71.mjs → openapi-client.D89vdV2Y.mjs} +23 -11
- package/dist/shared/{openapi-client.N18yafE2.d.mts → openapi-client.D_hC2pAM.d.mts} +6 -2
- package/dist/shared/{openapi-client.N18yafE2.d.ts → openapi-client.D_hC2pAM.d.ts} +6 -2
- package/package.json +6 -6
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { ClientContext } from '@orpc/client';
|
|
2
|
-
import { AnyContractRouter } from '@orpc/contract';
|
|
3
2
|
import { LinkFetchClientOptions } from '@orpc/client/fetch';
|
|
4
|
-
import {
|
|
5
|
-
import { f as StandardOpenAPILinkOptions } from '../../shared/openapi-client.
|
|
3
|
+
import { AnyContractRouter } from '@orpc/contract';
|
|
4
|
+
import { f as StandardOpenAPILinkOptions, g as StandardOpenAPILink } from '../../shared/openapi-client.D_hC2pAM.mjs';
|
|
5
|
+
import '@orpc/client/standard';
|
|
6
6
|
import '@orpc/shared';
|
|
7
7
|
import '@orpc/standard-server';
|
|
8
8
|
|
|
9
9
|
interface OpenAPILinkOptions<T extends ClientContext> extends StandardOpenAPILinkOptions<T>, LinkFetchClientOptions<T> {
|
|
10
10
|
}
|
|
11
|
-
declare class OpenAPILink<T extends ClientContext> extends
|
|
11
|
+
declare class OpenAPILink<T extends ClientContext> extends StandardOpenAPILink<T> {
|
|
12
12
|
constructor(contract: AnyContractRouter, options: OpenAPILinkOptions<T>);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export { OpenAPILink
|
|
15
|
+
export { OpenAPILink };
|
|
16
|
+
export type { OpenAPILinkOptions };
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { ClientContext } from '@orpc/client';
|
|
2
|
-
import { AnyContractRouter } from '@orpc/contract';
|
|
3
2
|
import { LinkFetchClientOptions } from '@orpc/client/fetch';
|
|
4
|
-
import {
|
|
5
|
-
import { f as StandardOpenAPILinkOptions } from '../../shared/openapi-client.
|
|
3
|
+
import { AnyContractRouter } from '@orpc/contract';
|
|
4
|
+
import { f as StandardOpenAPILinkOptions, g as StandardOpenAPILink } from '../../shared/openapi-client.D_hC2pAM.js';
|
|
5
|
+
import '@orpc/client/standard';
|
|
6
6
|
import '@orpc/shared';
|
|
7
7
|
import '@orpc/standard-server';
|
|
8
8
|
|
|
9
9
|
interface OpenAPILinkOptions<T extends ClientContext> extends StandardOpenAPILinkOptions<T>, LinkFetchClientOptions<T> {
|
|
10
10
|
}
|
|
11
|
-
declare class OpenAPILink<T extends ClientContext> extends
|
|
11
|
+
declare class OpenAPILink<T extends ClientContext> extends StandardOpenAPILink<T> {
|
|
12
12
|
constructor(contract: AnyContractRouter, options: OpenAPILinkOptions<T>);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export { OpenAPILink
|
|
15
|
+
export { OpenAPILink };
|
|
16
|
+
export type { OpenAPILinkOptions };
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import { LinkFetchClient } from '@orpc/client/fetch';
|
|
2
|
-
import { StandardLink } from '@orpc/client/standard';
|
|
3
|
-
import { a as StandardOpenAPIJsonSerializer, b as StandardOpenapiLinkCodec, c as StandardOpenAPISerializer, S as StandardBracketNotationSerializer } from '../../shared/openapi-client.C6BK9Q71.mjs';
|
|
4
2
|
import '@orpc/shared';
|
|
3
|
+
import { b as StandardOpenAPILink } from '../../shared/openapi-client.D89vdV2Y.mjs';
|
|
5
4
|
import '@orpc/client';
|
|
5
|
+
import '@orpc/client/standard';
|
|
6
6
|
import '@orpc/contract';
|
|
7
7
|
import '@orpc/standard-server';
|
|
8
8
|
|
|
9
|
-
class OpenAPILink extends
|
|
9
|
+
class OpenAPILink extends StandardOpenAPILink {
|
|
10
10
|
constructor(contract, options) {
|
|
11
|
-
const jsonSerializer = new StandardOpenAPIJsonSerializer(options);
|
|
12
|
-
const bracketNotationSerializer = new StandardBracketNotationSerializer();
|
|
13
|
-
const serializer = new StandardOpenAPISerializer(jsonSerializer, bracketNotationSerializer);
|
|
14
|
-
const linkCodec = new StandardOpenapiLinkCodec(contract, serializer, options);
|
|
15
11
|
const linkClient = new LinkFetchClient(options);
|
|
16
|
-
super(
|
|
12
|
+
super(contract, linkClient, options);
|
|
17
13
|
}
|
|
18
14
|
}
|
|
19
15
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { S as StandardBracketNotationSerialized, a as StandardBracketNotationSerializer, c as StandardOpenAPICustomJsonSerializer, b as StandardOpenAPIJsonSerialized, e as StandardOpenAPIJsonSerializer, d as StandardOpenAPIJsonSerializerOptions, f as StandardOpenAPILinkOptions,
|
|
1
|
+
export { S as StandardBracketNotationSerialized, a as StandardBracketNotationSerializer, c as StandardOpenAPICustomJsonSerializer, b as StandardOpenAPIJsonSerialized, e as StandardOpenAPIJsonSerializer, d as StandardOpenAPIJsonSerializerOptions, g as StandardOpenAPILink, f as StandardOpenAPILinkOptions, j as StandardOpenAPISerializeOptions, k as StandardOpenAPISerializer, i as StandardOpenapiLinkCodec, h as StandardOpenapiLinkCodecOptions } from '../../shared/openapi-client.D_hC2pAM.mjs';
|
|
2
2
|
import { HTTPPath } from '@orpc/client';
|
|
3
3
|
import '@orpc/client/standard';
|
|
4
4
|
import '@orpc/contract';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { S as StandardBracketNotationSerialized, a as StandardBracketNotationSerializer, c as StandardOpenAPICustomJsonSerializer, b as StandardOpenAPIJsonSerialized, e as StandardOpenAPIJsonSerializer, d as StandardOpenAPIJsonSerializerOptions, f as StandardOpenAPILinkOptions,
|
|
1
|
+
export { S as StandardBracketNotationSerialized, a as StandardBracketNotationSerializer, c as StandardOpenAPICustomJsonSerializer, b as StandardOpenAPIJsonSerialized, e as StandardOpenAPIJsonSerializer, d as StandardOpenAPIJsonSerializerOptions, g as StandardOpenAPILink, f as StandardOpenAPILinkOptions, j as StandardOpenAPISerializeOptions, k as StandardOpenAPISerializer, i as StandardOpenapiLinkCodec, h as StandardOpenapiLinkCodecOptions } from '../../shared/openapi-client.D_hC2pAM.js';
|
|
2
2
|
import { HTTPPath } from '@orpc/client';
|
|
3
3
|
import '@orpc/client/standard';
|
|
4
4
|
import '@orpc/contract';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { S as StandardBracketNotationSerializer, a as StandardOpenAPIJsonSerializer,
|
|
1
|
+
export { S as StandardBracketNotationSerializer, a as StandardOpenAPIJsonSerializer, b as StandardOpenAPILink, d as StandardOpenAPISerializer, c as StandardOpenapiLinkCodec, g as getDynamicParams, s as standardizeHTTPPath } from '../../shared/openapi-client.D89vdV2Y.mjs';
|
|
2
|
+
import '@orpc/client/standard';
|
|
2
3
|
import '@orpc/shared';
|
|
3
4
|
import '@orpc/client';
|
|
4
|
-
import '@orpc/client/standard';
|
|
5
5
|
import '@orpc/contract';
|
|
6
6
|
import '@orpc/standard-server';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { toHttpPath, getMalformedResponseErrorCode, StandardLink } from '@orpc/client/standard';
|
|
1
2
|
import { isObject, value, get, isAsyncIteratorObject } from '@orpc/shared';
|
|
2
|
-
import { isORPCErrorStatus,
|
|
3
|
-
import { toHttpPath, getMalformedResponseErrorCode } from '@orpc/client/standard';
|
|
3
|
+
import { isORPCErrorStatus, isORPCErrorJson, createORPCErrorFromJson, mapEventIterator, toORPCError } from '@orpc/client';
|
|
4
4
|
import { isContractProcedure, fallbackContractConfig, ORPCError } from '@orpc/contract';
|
|
5
5
|
import { mergeStandardHeaders, ErrorEvent } from '@orpc/standard-server';
|
|
6
6
|
|
|
@@ -202,7 +202,7 @@ class StandardOpenapiLinkCodec {
|
|
|
202
202
|
throw new Error(`[StandardOpenapiLinkCodec] expect a contract procedure at ${path.join(".")}`);
|
|
203
203
|
}
|
|
204
204
|
const inputStructure = fallbackContractConfig("defaultInputStructure", procedure["~orpc"].route.inputStructure);
|
|
205
|
-
return inputStructure === "compact" ? this.#encodeCompact(procedure, path, input, options, baseUrl
|
|
205
|
+
return inputStructure === "compact" ? this.#encodeCompact(procedure, path, input, options, baseUrl, headers) : this.#encodeDetailed(procedure, path, input, options, baseUrl, headers);
|
|
206
206
|
}
|
|
207
207
|
#encodeCompact(procedure, path, input, options, baseUrl, headers) {
|
|
208
208
|
let httpPath = standardizeHTTPPath(procedure["~orpc"].route.path ?? toHttpPath(path));
|
|
@@ -221,7 +221,8 @@ class StandardOpenapiLinkCodec {
|
|
|
221
221
|
httpBody = Object.keys(body).length ? body : void 0;
|
|
222
222
|
}
|
|
223
223
|
const method = fallbackContractConfig("defaultMethod", procedure["~orpc"].route.method);
|
|
224
|
-
const url = new URL(
|
|
224
|
+
const url = new URL(baseUrl);
|
|
225
|
+
url.pathname = `${url.pathname.replace(/\/$/, "")}${httpPath}`;
|
|
225
226
|
if (method === "GET") {
|
|
226
227
|
const serialized = this.serializer.serialize(httpBody, { outputFormat: "URLSearchParams" });
|
|
227
228
|
for (const [key, value2] of serialized) {
|
|
@@ -266,7 +267,8 @@ class StandardOpenapiLinkCodec {
|
|
|
266
267
|
mergedHeaders = mergeStandardHeaders(input.headers, headers);
|
|
267
268
|
}
|
|
268
269
|
const method = fallbackContractConfig("defaultMethod", procedure["~orpc"].route.method);
|
|
269
|
-
const url = new URL(
|
|
270
|
+
const url = new URL(baseUrl);
|
|
271
|
+
url.pathname = `${url.pathname.replace(/\/$/, "")}${httpPath}`;
|
|
270
272
|
if (input?.query !== void 0) {
|
|
271
273
|
const query = this.serializer.serialize(input.query, { outputFormat: "URLSearchParams" });
|
|
272
274
|
for (const [key, value2] of query) {
|
|
@@ -310,12 +312,12 @@ class StandardOpenapiLinkCodec {
|
|
|
310
312
|
}
|
|
311
313
|
})();
|
|
312
314
|
if (!isOk) {
|
|
313
|
-
if (
|
|
314
|
-
throw
|
|
315
|
+
if (isORPCErrorJson(deserialized)) {
|
|
316
|
+
throw createORPCErrorFromJson(deserialized);
|
|
315
317
|
}
|
|
316
318
|
throw new ORPCError(getMalformedResponseErrorCode(response.status), {
|
|
317
319
|
status: response.status,
|
|
318
|
-
data: deserialized
|
|
320
|
+
data: { ...response, body: deserialized }
|
|
319
321
|
});
|
|
320
322
|
}
|
|
321
323
|
const procedure = get(this.contract, path);
|
|
@@ -387,8 +389,8 @@ class StandardOpenAPISerializer {
|
|
|
387
389
|
return mapEventIterator(data, {
|
|
388
390
|
value: async (value) => value,
|
|
389
391
|
error: async (e) => {
|
|
390
|
-
if (e instanceof ErrorEvent &&
|
|
391
|
-
return
|
|
392
|
+
if (e instanceof ErrorEvent && isORPCErrorJson(e.data)) {
|
|
393
|
+
return createORPCErrorFromJson(e.data, { cause: e });
|
|
392
394
|
}
|
|
393
395
|
return e;
|
|
394
396
|
}
|
|
@@ -398,4 +400,14 @@ class StandardOpenAPISerializer {
|
|
|
398
400
|
}
|
|
399
401
|
}
|
|
400
402
|
|
|
401
|
-
|
|
403
|
+
class StandardOpenAPILink extends StandardLink {
|
|
404
|
+
constructor(contract, linkClient, options) {
|
|
405
|
+
const jsonSerializer = new StandardOpenAPIJsonSerializer(options);
|
|
406
|
+
const bracketNotationSerializer = new StandardBracketNotationSerializer();
|
|
407
|
+
const serializer = new StandardOpenAPISerializer(jsonSerializer, bracketNotationSerializer);
|
|
408
|
+
const linkCodec = new StandardOpenapiLinkCodec(contract, serializer, options);
|
|
409
|
+
super(linkCodec, linkClient, options);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
export { StandardBracketNotationSerializer as S, StandardOpenAPIJsonSerializer as a, StandardOpenAPILink as b, StandardOpenapiLinkCodec as c, StandardOpenAPISerializer as d, getDynamicParams as g, standardizeHTTPPath as s };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ClientContext, ClientOptions } from '@orpc/client';
|
|
2
|
-
import { StandardLinkCodec, StandardLinkOptions } from '@orpc/client/standard';
|
|
2
|
+
import { StandardLinkCodec, StandardLinkOptions, StandardLink, StandardLinkClient } from '@orpc/client/standard';
|
|
3
3
|
import { AnyContractRouter } from '@orpc/contract';
|
|
4
4
|
import { Segment, Value } from '@orpc/shared';
|
|
5
5
|
import { StandardHeaders, StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
|
|
@@ -71,5 +71,9 @@ declare class StandardOpenapiLinkCodec<T extends ClientContext> implements Stand
|
|
|
71
71
|
|
|
72
72
|
interface StandardOpenAPILinkOptions<T extends ClientContext> extends StandardLinkOptions<T>, StandardOpenapiLinkCodecOptions<T>, StandardOpenAPIJsonSerializerOptions {
|
|
73
73
|
}
|
|
74
|
+
declare class StandardOpenAPILink<T extends ClientContext> extends StandardLink<T> {
|
|
75
|
+
constructor(contract: AnyContractRouter, linkClient: StandardLinkClient<T>, options: StandardOpenAPILinkOptions<T>);
|
|
76
|
+
}
|
|
74
77
|
|
|
75
|
-
export {
|
|
78
|
+
export { StandardBracketNotationSerializer as a, StandardOpenAPIJsonSerializer as e, StandardOpenAPILink as g, StandardOpenapiLinkCodec as i, StandardOpenAPISerializer as k };
|
|
79
|
+
export type { StandardBracketNotationSerialized as S, StandardOpenAPIJsonSerialized as b, StandardOpenAPICustomJsonSerializer as c, StandardOpenAPIJsonSerializerOptions as d, StandardOpenAPILinkOptions as f, StandardOpenapiLinkCodecOptions as h, StandardOpenAPISerializeOptions as j };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ClientContext, ClientOptions } from '@orpc/client';
|
|
2
|
-
import { StandardLinkCodec, StandardLinkOptions } from '@orpc/client/standard';
|
|
2
|
+
import { StandardLinkCodec, StandardLinkOptions, StandardLink, StandardLinkClient } from '@orpc/client/standard';
|
|
3
3
|
import { AnyContractRouter } from '@orpc/contract';
|
|
4
4
|
import { Segment, Value } from '@orpc/shared';
|
|
5
5
|
import { StandardHeaders, StandardRequest, StandardLazyResponse } from '@orpc/standard-server';
|
|
@@ -71,5 +71,9 @@ declare class StandardOpenapiLinkCodec<T extends ClientContext> implements Stand
|
|
|
71
71
|
|
|
72
72
|
interface StandardOpenAPILinkOptions<T extends ClientContext> extends StandardLinkOptions<T>, StandardOpenapiLinkCodecOptions<T>, StandardOpenAPIJsonSerializerOptions {
|
|
73
73
|
}
|
|
74
|
+
declare class StandardOpenAPILink<T extends ClientContext> extends StandardLink<T> {
|
|
75
|
+
constructor(contract: AnyContractRouter, linkClient: StandardLinkClient<T>, options: StandardOpenAPILinkOptions<T>);
|
|
76
|
+
}
|
|
74
77
|
|
|
75
|
-
export {
|
|
78
|
+
export { StandardBracketNotationSerializer as a, StandardOpenAPIJsonSerializer as e, StandardOpenAPILink as g, StandardOpenapiLinkCodec as i, StandardOpenAPISerializer as k };
|
|
79
|
+
export type { StandardBracketNotationSerialized as S, StandardOpenAPIJsonSerialized as b, StandardOpenAPICustomJsonSerializer as c, StandardOpenAPIJsonSerializerOptions as d, StandardOpenAPILinkOptions as f, StandardOpenapiLinkCodecOptions as h, StandardOpenAPISerializeOptions as j };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orpc/openapi-client",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.54.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://orpc.unnoq.com",
|
|
7
7
|
"repository": {
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
"dist"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@orpc/
|
|
38
|
-
"@orpc/
|
|
39
|
-
"@orpc/
|
|
40
|
-
"@orpc/
|
|
37
|
+
"@orpc/standard-server": "0.54.0",
|
|
38
|
+
"@orpc/client": "0.54.0",
|
|
39
|
+
"@orpc/shared": "0.54.0",
|
|
40
|
+
"@orpc/contract": "0.54.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@orpc/server": "0.
|
|
43
|
+
"@orpc/server": "0.54.0"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"build": "unbuild",
|