@orpc/openapi 0.43.0 → 0.45.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/README.md +1 -1
- package/dist/adapters/fetch/index.d.mts +14 -0
- package/dist/adapters/fetch/index.d.ts +14 -0
- package/dist/adapters/fetch/index.mjs +10 -0
- package/dist/adapters/hono/index.d.mts +7 -0
- package/dist/adapters/hono/index.d.ts +7 -0
- package/dist/adapters/hono/index.mjs +10 -0
- package/dist/adapters/next/index.d.mts +7 -0
- package/dist/adapters/next/index.d.ts +7 -0
- package/dist/adapters/next/index.mjs +10 -0
- package/dist/adapters/node/index.d.mts +14 -0
- package/dist/adapters/node/index.d.ts +14 -0
- package/dist/adapters/node/index.mjs +29 -0
- package/dist/adapters/standard/index.d.mts +24 -0
- package/dist/adapters/standard/index.d.ts +24 -0
- package/dist/adapters/standard/index.mjs +7 -0
- package/dist/index.d.mts +169 -0
- package/dist/index.d.ts +169 -0
- package/dist/{index.js → index.mjs} +46 -86
- package/dist/{chunk-XGHV4TH3.js → shared/openapi.BHG_gu5Z.mjs} +1 -6
- package/dist/{chunk-LTTK3H5J.js → shared/openapi.CDsfPHgw.mjs} +12 -21
- package/dist/{chunk-PW7RAFQQ.js → shared/openapi.D0VMNR6V.mjs} +9 -16
- package/dist/shared/openapi.Dz_6xooR.d.mts +7 -0
- package/dist/shared/openapi.Dz_6xooR.d.ts +7 -0
- package/package.json +28 -32
- package/dist/fetch.js +0 -9
- package/dist/hono.js +0 -9
- package/dist/next.js +0 -9
- package/dist/node.js +0 -30
- package/dist/src/adapters/fetch/index.d.ts +0 -2
- package/dist/src/adapters/fetch/openapi-handler.d.ts +0 -11
- package/dist/src/adapters/hono/index.d.ts +0 -2
- package/dist/src/adapters/next/index.d.ts +0 -2
- package/dist/src/adapters/node/index.d.ts +0 -2
- package/dist/src/adapters/node/openapi-handler.d.ts +0 -11
- package/dist/src/adapters/standard/index.d.ts +0 -4
- package/dist/src/adapters/standard/openapi-codec.d.ts +0 -13
- package/dist/src/adapters/standard/openapi-handler.d.ts +0 -5
- package/dist/src/adapters/standard/openapi-matcher.d.ts +0 -10
- package/dist/src/index.d.ts +0 -16
- package/dist/src/openapi-content-builder.d.ts +0 -10
- package/dist/src/openapi-error.d.ts +0 -3
- package/dist/src/openapi-generator.d.ts +0 -67
- package/dist/src/openapi-input-structure-parser.d.ts +0 -22
- package/dist/src/openapi-operation-extender.d.ts +0 -7
- package/dist/src/openapi-output-structure-parser.d.ts +0 -18
- package/dist/src/openapi-parameters-builder.d.ts +0 -12
- package/dist/src/openapi-path-parser.d.ts +0 -8
- package/dist/src/openapi.d.ts +0 -3
- package/dist/src/schema-converter.d.ts +0 -16
- package/dist/src/schema-utils.d.ts +0 -11
- package/dist/src/schema.d.ts +0 -12
- package/dist/src/utils.d.ts +0 -4
- package/dist/standard.js +0 -10
@@ -1,11 +1,17 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
} from
|
1
|
+
import { isProcedure, eachAllContractProcedure } from '@orpc/server';
|
2
|
+
import { OpenApiBuilder } from 'openapi3-ts/oas31';
|
3
|
+
export { OpenApiBuilder } from 'openapi3-ts/oas31';
|
4
|
+
import { findDeepMatches, isObject, get, omit, group } from '@orpc/shared';
|
5
|
+
import { fallbackORPCErrorStatus } from '@orpc/client';
|
6
|
+
import { fallbackContractConfig, getEventIteratorSchemaDetails } from '@orpc/contract';
|
7
|
+
import { OpenAPIJsonSerializer } from '@orpc/openapi-client/standard';
|
8
|
+
import * as draft202012 from 'json-schema-typed/draft-2020-12';
|
9
|
+
export { draft202012 as JSONSchema };
|
10
|
+
export { Format as JSONSchemaFormat } from 'json-schema-typed/draft-2020-12';
|
11
|
+
import { t as toOpenAPI31RoutePattern } from './shared/openapi.BHG_gu5Z.mjs';
|
12
|
+
export { s as standardizeHTTPPath } from './shared/openapi.BHG_gu5Z.mjs';
|
5
13
|
|
6
|
-
|
7
|
-
import { isProcedure } from "@orpc/server";
|
8
|
-
var OPERATION_EXTENDER_SYMBOL = Symbol("ORPC_OPERATION_EXTENDER");
|
14
|
+
const OPERATION_EXTENDER_SYMBOL = Symbol("ORPC_OPERATION_EXTENDER");
|
9
15
|
function setOperationExtender(o, extend) {
|
10
16
|
return new Proxy(o, {
|
11
17
|
get(target, prop, receiver) {
|
@@ -49,12 +55,7 @@ function extendOperation(operation, procedure) {
|
|
49
55
|
return currentOperation;
|
50
56
|
}
|
51
57
|
|
52
|
-
|
53
|
-
import { OpenApiBuilder } from "openapi3-ts/oas31";
|
54
|
-
|
55
|
-
// src/openapi-content-builder.ts
|
56
|
-
import { findDeepMatches } from "@orpc/shared";
|
57
|
-
var OpenAPIContentBuilder = class {
|
58
|
+
class OpenAPIContentBuilder {
|
58
59
|
constructor(schemaUtils) {
|
59
60
|
this.schemaUtils = schemaUtils;
|
60
61
|
}
|
@@ -77,22 +78,12 @@ var OpenAPIContentBuilder = class {
|
|
77
78
|
}
|
78
79
|
return content;
|
79
80
|
}
|
80
|
-
}
|
81
|
-
|
82
|
-
// src/openapi-generator.ts
|
83
|
-
import { fallbackORPCErrorStatus } from "@orpc/client";
|
84
|
-
import { OpenAPIJsonSerializer } from "@orpc/client/openapi";
|
85
|
-
import { fallbackContractConfig as fallbackContractConfig2, getEventIteratorSchemaDetails } from "@orpc/contract";
|
86
|
-
import { eachAllContractProcedure } from "@orpc/server";
|
87
|
-
import { group } from "@orpc/shared";
|
81
|
+
}
|
88
82
|
|
89
|
-
|
90
|
-
|
91
|
-
};
|
83
|
+
class OpenAPIError extends Error {
|
84
|
+
}
|
92
85
|
|
93
|
-
|
94
|
-
import { fallbackContractConfig } from "@orpc/contract";
|
95
|
-
var OpenAPIInputStructureParser = class {
|
86
|
+
class OpenAPIInputStructureParser {
|
96
87
|
constructor(schemaConverter, schemaUtils, pathParser) {
|
97
88
|
this.schemaConverter = schemaConverter;
|
98
89
|
this.schemaUtils = schemaUtils;
|
@@ -183,10 +174,9 @@ var OpenAPIInputStructureParser = class {
|
|
183
174
|
bodySchema: method !== "GET" ? rest : void 0
|
184
175
|
};
|
185
176
|
}
|
186
|
-
}
|
177
|
+
}
|
187
178
|
|
188
|
-
|
189
|
-
var OpenAPIOutputStructureParser = class {
|
179
|
+
class OpenAPIOutputStructureParser {
|
190
180
|
constructor(schemaConverter, schemaUtils) {
|
191
181
|
this.schemaConverter = schemaConverter;
|
192
182
|
this.schemaUtils = schemaUtils;
|
@@ -228,11 +218,9 @@ var OpenAPIOutputStructureParser = class {
|
|
228
218
|
bodySchema: outputSchema
|
229
219
|
};
|
230
220
|
}
|
231
|
-
}
|
221
|
+
}
|
232
222
|
|
233
|
-
|
234
|
-
import { get, isObject, omit } from "@orpc/shared";
|
235
|
-
var OpenAPIParametersBuilder = class {
|
223
|
+
class OpenAPIParametersBuilder {
|
236
224
|
build(paramIn, jsonSchema, options) {
|
237
225
|
const parameters = [];
|
238
226
|
for (const name in jsonSchema.properties) {
|
@@ -266,10 +254,9 @@ var OpenAPIParametersBuilder = class {
|
|
266
254
|
}
|
267
255
|
return headersObject;
|
268
256
|
}
|
269
|
-
}
|
257
|
+
}
|
270
258
|
|
271
|
-
|
272
|
-
var OpenAPIPathParser = class {
|
259
|
+
class OpenAPIPathParser {
|
273
260
|
parseDynamicParams(path) {
|
274
261
|
const raws = path.match(/\{([^}]+)\}/g) ?? [];
|
275
262
|
return raws.map((raw) => {
|
@@ -277,10 +264,9 @@ var OpenAPIPathParser = class {
|
|
277
264
|
return { name, raw };
|
278
265
|
});
|
279
266
|
}
|
280
|
-
}
|
267
|
+
}
|
281
268
|
|
282
|
-
|
283
|
-
var CompositeSchemaConverter = class {
|
269
|
+
class CompositeSchemaConverter {
|
284
270
|
converters;
|
285
271
|
constructor(converters) {
|
286
272
|
this.converters = converters;
|
@@ -296,15 +282,9 @@ var CompositeSchemaConverter = class {
|
|
296
282
|
}
|
297
283
|
return {};
|
298
284
|
}
|
299
|
-
}
|
300
|
-
|
301
|
-
// src/schema-utils.ts
|
302
|
-
import { isObject as isObject2 } from "@orpc/shared";
|
285
|
+
}
|
303
286
|
|
304
|
-
|
305
|
-
import * as JSONSchema from "json-schema-typed/draft-2020-12";
|
306
|
-
import { Format } from "json-schema-typed/draft-2020-12";
|
307
|
-
var NON_LOGIC_KEYWORDS = [
|
287
|
+
const NON_LOGIC_KEYWORDS = [
|
308
288
|
// Core Documentation Keywords
|
309
289
|
"$anchor",
|
310
290
|
"$comment",
|
@@ -332,13 +312,12 @@ var NON_LOGIC_KEYWORDS = [
|
|
332
312
|
"$dynamicRef"
|
333
313
|
];
|
334
314
|
|
335
|
-
|
336
|
-
var SchemaUtils = class {
|
315
|
+
class SchemaUtils {
|
337
316
|
isFileSchema(schema) {
|
338
|
-
return
|
317
|
+
return isObject(schema) && schema.type === "string" && typeof schema.contentMediaType === "string";
|
339
318
|
}
|
340
319
|
isObjectSchema(schema) {
|
341
|
-
return
|
320
|
+
return isObject(schema) && schema.type === "object";
|
342
321
|
}
|
343
322
|
isAnySchema(schema) {
|
344
323
|
return schema === true || Object.keys(schema).filter((key) => !NON_LOGIC_KEYWORDS.includes(key)).length === 0;
|
@@ -361,7 +340,7 @@ var SchemaUtils = class {
|
|
361
340
|
}, {});
|
362
341
|
matched.required = schema.required?.filter((key) => separatedProperties.includes(key));
|
363
342
|
matched.examples = schema.examples?.map((example) => {
|
364
|
-
if (!
|
343
|
+
if (!isObject(example)) {
|
365
344
|
return example;
|
366
345
|
}
|
367
346
|
return Object.entries(example).reduce((acc, [key, value]) => {
|
@@ -377,7 +356,7 @@ var SchemaUtils = class {
|
|
377
356
|
}, {});
|
378
357
|
rest.required = schema.required?.filter((key) => !separatedProperties.includes(key));
|
379
358
|
rest.examples = schema.examples?.map((example) => {
|
380
|
-
if (!
|
359
|
+
if (!isObject(example)) {
|
381
360
|
return example;
|
382
361
|
}
|
383
362
|
return Object.entries(example).reduce((acc, [key, value]) => {
|
@@ -417,10 +396,9 @@ var SchemaUtils = class {
|
|
417
396
|
}
|
418
397
|
return [matches, schema];
|
419
398
|
}
|
420
|
-
}
|
399
|
+
}
|
421
400
|
|
422
|
-
|
423
|
-
var OpenAPIGenerator = class {
|
401
|
+
class OpenAPIGenerator {
|
424
402
|
contentBuilder;
|
425
403
|
parametersBuilder;
|
426
404
|
schemaConverter;
|
@@ -462,7 +440,7 @@ var OpenAPIGenerator = class {
|
|
462
440
|
if (this.ignoreUndefinedPathProcedures && def.route?.path === void 0) {
|
463
441
|
return;
|
464
442
|
}
|
465
|
-
const method =
|
443
|
+
const method = fallbackContractConfig("defaultMethod", def.route?.method);
|
466
444
|
const httpPath = def.route?.path ? toOpenAPI31RoutePattern(def.route?.path) : `/${path.map(encodeURIComponent).join("/")}`;
|
467
445
|
const { parameters, requestBody } = (() => {
|
468
446
|
const eventIteratorSchemaDetails = getEventIteratorSchemaDetails(def.inputSchema);
|
@@ -510,7 +488,7 @@ var OpenAPIGenerator = class {
|
|
510
488
|
};
|
511
489
|
return { requestBody: requestBody3, parameters: [] };
|
512
490
|
}
|
513
|
-
const inputStructure =
|
491
|
+
const inputStructure = fallbackContractConfig("defaultInputStructure", def.route?.inputStructure);
|
514
492
|
const { paramsSchema, querySchema, headersSchema, bodySchema } = this.inputStructureParser.parse(contract, inputStructure);
|
515
493
|
const params = paramsSchema ? this.parametersBuilder.build("path", paramsSchema, {
|
516
494
|
required: true
|
@@ -528,8 +506,8 @@ var OpenAPIGenerator = class {
|
|
528
506
|
const eventIteratorSchemaDetails = getEventIteratorSchemaDetails(def.outputSchema);
|
529
507
|
if (eventIteratorSchemaDetails) {
|
530
508
|
const responses3 = {};
|
531
|
-
responses3[
|
532
|
-
description:
|
509
|
+
responses3[fallbackContractConfig("defaultSuccessStatus", def.route?.successStatus)] = {
|
510
|
+
description: fallbackContractConfig("defaultSuccessDescription", def.route?.successDescription),
|
533
511
|
content: {
|
534
512
|
"text/event-stream": {
|
535
513
|
schema: {
|
@@ -571,11 +549,11 @@ var OpenAPIGenerator = class {
|
|
571
549
|
};
|
572
550
|
return { responses: responses3 };
|
573
551
|
}
|
574
|
-
const outputStructure =
|
552
|
+
const outputStructure = fallbackContractConfig("defaultOutputStructure", def.route?.outputStructure);
|
575
553
|
const { headersSchema: resHeadersSchema, bodySchema: resBodySchema } = this.outputStructureParser.parse(contract, outputStructure);
|
576
554
|
const responses2 = {};
|
577
|
-
responses2[
|
578
|
-
description:
|
555
|
+
responses2[fallbackContractConfig("defaultSuccessStatus", def.route?.successStatus)] = {
|
556
|
+
description: fallbackContractConfig("defaultSuccessDescription", def.route?.successDescription),
|
579
557
|
content: resBodySchema !== void 0 ? this.contentBuilder.build(resBodySchema) : void 0,
|
580
558
|
headers: resHeadersSchema !== void 0 ? this.parametersBuilder.buildHeadersObject(resHeadersSchema) : void 0
|
581
559
|
};
|
@@ -674,28 +652,10 @@ var OpenAPIGenerator = class {
|
|
674
652
|
});
|
675
653
|
return this.jsonSerializer.serialize(builder.getSpec())[0];
|
676
654
|
}
|
677
|
-
}
|
655
|
+
}
|
678
656
|
|
679
|
-
|
680
|
-
var oo = {
|
657
|
+
const oo = {
|
681
658
|
spec: setOperationExtender
|
682
659
|
};
|
683
|
-
|
684
|
-
|
685
|
-
JSONSchema,
|
686
|
-
Format as JSONSchemaFormat,
|
687
|
-
NON_LOGIC_KEYWORDS,
|
688
|
-
OpenAPIContentBuilder,
|
689
|
-
OpenAPIGenerator,
|
690
|
-
OpenAPIParametersBuilder,
|
691
|
-
OpenAPIPathParser,
|
692
|
-
OpenApiBuilder,
|
693
|
-
SchemaUtils,
|
694
|
-
extendOperation,
|
695
|
-
getOperationExtender,
|
696
|
-
oo,
|
697
|
-
setOperationExtender,
|
698
|
-
standardizeHTTPPath,
|
699
|
-
toOpenAPI31RoutePattern
|
700
|
-
};
|
701
|
-
//# sourceMappingURL=index.js.map
|
660
|
+
|
661
|
+
export { CompositeSchemaConverter, NON_LOGIC_KEYWORDS, OpenAPIContentBuilder, OpenAPIGenerator, OpenAPIParametersBuilder, OpenAPIPathParser, SchemaUtils, extendOperation, getOperationExtender, oo, setOperationExtender, toOpenAPI31RoutePattern };
|
@@ -1,4 +1,3 @@
|
|
1
|
-
// src/utils.ts
|
2
1
|
function standardizeHTTPPath(path) {
|
3
2
|
return `/${path.replace(/\/{2,}/g, "/").replace(/^\/|\/$/g, "")}`;
|
4
3
|
}
|
@@ -6,8 +5,4 @@ function toOpenAPI31RoutePattern(path) {
|
|
6
5
|
return standardizeHTTPPath(path).replace(/\{\+([^}]+)\}/g, "{$1}");
|
7
6
|
}
|
8
7
|
|
9
|
-
export {
|
10
|
-
standardizeHTTPPath,
|
11
|
-
toOpenAPI31RoutePattern
|
12
|
-
};
|
13
|
-
//# sourceMappingURL=chunk-XGHV4TH3.js.map
|
8
|
+
export { standardizeHTTPPath as s, toOpenAPI31RoutePattern as t };
|
@@ -1,12 +1,11 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
} from
|
1
|
+
import { fallbackContractConfig } from '@orpc/contract';
|
2
|
+
import { OpenAPISerializer } from '@orpc/openapi-client/standard';
|
3
|
+
import { isObject } from '@orpc/shared';
|
4
|
+
import { eachContractProcedure, convertPathToHttpPath, isProcedure, getLazyRouterPrefix, unlazy, getRouterChild, createContractedProcedure } from '@orpc/server';
|
5
|
+
import { createRouter, addRoute, findRoute } from 'rou3';
|
6
|
+
import { s as standardizeHTTPPath } from './openapi.BHG_gu5Z.mjs';
|
4
7
|
|
5
|
-
|
6
|
-
import { OpenAPISerializer } from "@orpc/client/openapi";
|
7
|
-
import { fallbackContractConfig } from "@orpc/contract";
|
8
|
-
import { isObject } from "@orpc/shared";
|
9
|
-
var OpenAPICodec = class {
|
8
|
+
class OpenAPICodec {
|
10
9
|
constructor(serializer = new OpenAPISerializer()) {
|
11
10
|
this.serializer = serializer;
|
12
11
|
}
|
@@ -70,13 +69,9 @@ var OpenAPICodec = class {
|
|
70
69
|
body: this.serializer.serialize(error.toJSON())
|
71
70
|
};
|
72
71
|
}
|
73
|
-
}
|
72
|
+
}
|
74
73
|
|
75
|
-
|
76
|
-
import { fallbackContractConfig as fallbackContractConfig2 } from "@orpc/contract";
|
77
|
-
import { convertPathToHttpPath, createContractedProcedure, eachContractProcedure, getLazyRouterPrefix, getRouterChild, isProcedure, unlazy } from "@orpc/server";
|
78
|
-
import { addRoute, createRouter, findRoute } from "rou3";
|
79
|
-
var OpenAPIMatcher = class {
|
74
|
+
class OpenAPIMatcher {
|
80
75
|
tree = createRouter();
|
81
76
|
pendingRouters = [];
|
82
77
|
init(router, path = []) {
|
@@ -84,7 +79,7 @@ var OpenAPIMatcher = class {
|
|
84
79
|
router,
|
85
80
|
path
|
86
81
|
}, ({ path: path2, contract }) => {
|
87
|
-
const method =
|
82
|
+
const method = fallbackContractConfig("defaultMethod", contract["~orpc"].route.method);
|
88
83
|
const httpPath = contract["~orpc"].route.path ? toRou3Pattern(contract["~orpc"].route.path) : convertPathToHttpPath(path2);
|
89
84
|
if (isProcedure(contract)) {
|
90
85
|
addRoute(this.tree, method, httpPath, {
|
@@ -142,7 +137,7 @@ var OpenAPIMatcher = class {
|
|
142
137
|
params: match.params ? decodeParams(match.params) : void 0
|
143
138
|
};
|
144
139
|
}
|
145
|
-
}
|
140
|
+
}
|
146
141
|
function toRou3Pattern(path) {
|
147
142
|
return standardizeHTTPPath(path).replace(/\{\+([^}]+)\}/g, "**:$1").replace(/\{([^}]+)\}/g, ":$1");
|
148
143
|
}
|
@@ -150,8 +145,4 @@ function decodeParams(params) {
|
|
150
145
|
return Object.fromEntries(Object.entries(params).map(([key, value]) => [key, decodeURIComponent(value)]));
|
151
146
|
}
|
152
147
|
|
153
|
-
export {
|
154
|
-
OpenAPICodec,
|
155
|
-
OpenAPIMatcher
|
156
|
-
};
|
157
|
-
//# sourceMappingURL=chunk-LTTK3H5J.js.map
|
148
|
+
export { OpenAPICodec as O, OpenAPIMatcher as a };
|
@@ -1,32 +1,25 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
} from "./chunk-LTTK3H5J.js";
|
1
|
+
import { StandardHandler } from '@orpc/server/standard';
|
2
|
+
import { toStandardRequest, toFetchResponse } from '@orpc/standard-server-fetch';
|
3
|
+
import { a as OpenAPIMatcher, O as OpenAPICodec } from './openapi.CDsfPHgw.mjs';
|
5
4
|
|
6
|
-
|
7
|
-
import { StandardHandler } from "@orpc/server/standard";
|
8
|
-
import { toFetchResponse, toStandardRequest } from "@orpc/standard-server-fetch";
|
9
|
-
var OpenAPIHandler = class {
|
5
|
+
class OpenAPIHandler {
|
10
6
|
standardHandler;
|
11
7
|
constructor(router, options) {
|
12
8
|
const matcher = options?.matcher ?? new OpenAPIMatcher();
|
13
9
|
const codec = options?.codec ?? new OpenAPICodec();
|
14
10
|
this.standardHandler = new StandardHandler(router, matcher, codec, options);
|
15
11
|
}
|
16
|
-
async handle(request, ...
|
12
|
+
async handle(request, ...[options]) {
|
17
13
|
const standardRequest = toStandardRequest(request);
|
18
|
-
const result = await this.standardHandler.handle(standardRequest,
|
14
|
+
const result = await this.standardHandler.handle(standardRequest, options);
|
19
15
|
if (!result.matched) {
|
20
16
|
return result;
|
21
17
|
}
|
22
18
|
return {
|
23
19
|
matched: true,
|
24
|
-
response: toFetchResponse(result.response)
|
20
|
+
response: toFetchResponse(result.response, options)
|
25
21
|
};
|
26
22
|
}
|
27
|
-
}
|
23
|
+
}
|
28
24
|
|
29
|
-
export {
|
30
|
-
OpenAPIHandler
|
31
|
-
};
|
32
|
-
//# sourceMappingURL=chunk-PW7RAFQQ.js.map
|
25
|
+
export { OpenAPIHandler as O };
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@orpc/openapi",
|
3
3
|
"type": "module",
|
4
|
-
"version": "0.
|
4
|
+
"version": "0.45.0",
|
5
5
|
"license": "MIT",
|
6
6
|
"homepage": "https://orpc.unnoq.com",
|
7
7
|
"repository": {
|
@@ -15,61 +15,57 @@
|
|
15
15
|
],
|
16
16
|
"exports": {
|
17
17
|
".": {
|
18
|
-
"types": "./dist/
|
19
|
-
"import": "./dist/index.
|
20
|
-
"default": "./dist/index.
|
18
|
+
"types": "./dist/index.d.mts",
|
19
|
+
"import": "./dist/index.mjs",
|
20
|
+
"default": "./dist/index.mjs"
|
21
21
|
},
|
22
22
|
"./standard": {
|
23
|
-
"types": "./dist/
|
24
|
-
"import": "./dist/standard.
|
25
|
-
"default": "./dist/standard.
|
23
|
+
"types": "./dist/adapters/standard/index.d.mts",
|
24
|
+
"import": "./dist/adapters/standard/index.mjs",
|
25
|
+
"default": "./dist/adapters/standard/index.mjs"
|
26
26
|
},
|
27
27
|
"./fetch": {
|
28
|
-
"types": "./dist/
|
29
|
-
"import": "./dist/fetch.
|
30
|
-
"default": "./dist/fetch.
|
28
|
+
"types": "./dist/adapters/fetch/index.d.mts",
|
29
|
+
"import": "./dist/adapters/fetch/index.mjs",
|
30
|
+
"default": "./dist/adapters/fetch/index.mjs"
|
31
31
|
},
|
32
32
|
"./hono": {
|
33
|
-
"types": "./dist/
|
34
|
-
"import": "./dist/hono.
|
35
|
-
"default": "./dist/hono.
|
33
|
+
"types": "./dist/adapters/hono/index.d.mts",
|
34
|
+
"import": "./dist/adapters/hono/index.mjs",
|
35
|
+
"default": "./dist/adapters/hono/index.mjs"
|
36
36
|
},
|
37
37
|
"./next": {
|
38
|
-
"types": "./dist/
|
39
|
-
"import": "./dist/next.
|
40
|
-
"default": "./dist/next.
|
38
|
+
"types": "./dist/adapters/next/index.d.mts",
|
39
|
+
"import": "./dist/adapters/next/index.mjs",
|
40
|
+
"default": "./dist/adapters/next/index.mjs"
|
41
41
|
},
|
42
42
|
"./node": {
|
43
|
-
"types": "./dist/
|
44
|
-
"import": "./dist/node.
|
45
|
-
"default": "./dist/node.
|
46
|
-
},
|
47
|
-
"./🔒/*": {
|
48
|
-
"types": "./dist/src/*.d.ts"
|
43
|
+
"types": "./dist/adapters/node/index.d.mts",
|
44
|
+
"import": "./dist/adapters/node/index.mjs",
|
45
|
+
"default": "./dist/adapters/node/index.mjs"
|
49
46
|
}
|
50
47
|
},
|
51
48
|
"files": [
|
52
|
-
"!**/*.map",
|
53
|
-
"!**/*.tsbuildinfo",
|
54
49
|
"dist"
|
55
50
|
],
|
56
51
|
"dependencies": {
|
57
52
|
"json-schema-typed": "^8.0.1",
|
58
53
|
"openapi3-ts": "^4.4.0",
|
59
54
|
"rou3": "^0.5.1",
|
60
|
-
"@orpc/client": "0.
|
61
|
-
"@orpc/
|
62
|
-
"@orpc/
|
63
|
-
"@orpc/
|
64
|
-
"@orpc/
|
65
|
-
"@orpc/server": "0.
|
66
|
-
"@orpc/standard-server-
|
55
|
+
"@orpc/client": "0.45.0",
|
56
|
+
"@orpc/openapi-client": "0.45.0",
|
57
|
+
"@orpc/server": "0.45.0",
|
58
|
+
"@orpc/shared": "0.45.0",
|
59
|
+
"@orpc/contract": "0.45.0",
|
60
|
+
"@orpc/standard-server": "0.45.0",
|
61
|
+
"@orpc/standard-server-fetch": "0.45.0",
|
62
|
+
"@orpc/standard-server-node": "0.45.0"
|
67
63
|
},
|
68
64
|
"devDependencies": {
|
69
65
|
"zod": "^3.24.1"
|
70
66
|
},
|
71
67
|
"scripts": {
|
72
|
-
"build": "
|
68
|
+
"build": "unbuild",
|
73
69
|
"build:watch": "pnpm run build --watch",
|
74
70
|
"type:check": "tsc -b"
|
75
71
|
}
|
package/dist/fetch.js
DELETED
package/dist/hono.js
DELETED
package/dist/next.js
DELETED
package/dist/node.js
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
import {
|
2
|
-
OpenAPICodec,
|
3
|
-
OpenAPIMatcher
|
4
|
-
} from "./chunk-LTTK3H5J.js";
|
5
|
-
import "./chunk-XGHV4TH3.js";
|
6
|
-
|
7
|
-
// src/adapters/node/openapi-handler.ts
|
8
|
-
import { StandardHandler } from "@orpc/server/standard";
|
9
|
-
import { sendStandardResponse, toStandardRequest } from "@orpc/standard-server-node";
|
10
|
-
var OpenAPIHandler = class {
|
11
|
-
standardHandler;
|
12
|
-
constructor(router, options) {
|
13
|
-
const matcher = options?.matcher ?? new OpenAPIMatcher();
|
14
|
-
const codec = options?.codec ?? new OpenAPICodec();
|
15
|
-
this.standardHandler = new StandardHandler(router, matcher, codec, { ...options });
|
16
|
-
}
|
17
|
-
async handle(req, res, ...rest) {
|
18
|
-
const standardRequest = toStandardRequest(req, res);
|
19
|
-
const result = await this.standardHandler.handle(standardRequest, ...rest);
|
20
|
-
if (!result.matched) {
|
21
|
-
return { matched: false };
|
22
|
-
}
|
23
|
-
await sendStandardResponse(res, result.response);
|
24
|
-
return { matched: true };
|
25
|
-
}
|
26
|
-
};
|
27
|
-
export {
|
28
|
-
OpenAPIHandler
|
29
|
-
};
|
30
|
-
//# sourceMappingURL=node.js.map
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import type { Context, Router } from '@orpc/server';
|
2
|
-
import type { FetchHandler, FetchHandleResult } from '@orpc/server/fetch';
|
3
|
-
import type { StandardHandleOptions } from '@orpc/server/standard';
|
4
|
-
import type { MaybeOptionalOptions } from '@orpc/shared';
|
5
|
-
import type { OpenAPIHandlerOptions } from '../standard';
|
6
|
-
export declare class OpenAPIHandler<T extends Context> implements FetchHandler<T> {
|
7
|
-
private readonly standardHandler;
|
8
|
-
constructor(router: Router<T, any>, options?: NoInfer<OpenAPIHandlerOptions<T>>);
|
9
|
-
handle(request: Request, ...rest: MaybeOptionalOptions<StandardHandleOptions<T>>): Promise<FetchHandleResult>;
|
10
|
-
}
|
11
|
-
//# sourceMappingURL=openapi-handler.d.ts.map
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import type { Context, Router } from '@orpc/server';
|
2
|
-
import type { NodeHttpHandler, NodeHttpHandleResult, NodeHttpRequest, NodeHttpResponse } from '@orpc/server/node';
|
3
|
-
import type { StandardHandleOptions } from '@orpc/server/standard';
|
4
|
-
import type { MaybeOptionalOptions } from '@orpc/shared';
|
5
|
-
import type { OpenAPIHandlerOptions } from '../standard';
|
6
|
-
export declare class OpenAPIHandler<T extends Context> implements NodeHttpHandler<T> {
|
7
|
-
private readonly standardHandler;
|
8
|
-
constructor(router: Router<T, any>, options?: NoInfer<OpenAPIHandlerOptions<T>>);
|
9
|
-
handle(req: NodeHttpRequest, res: NodeHttpResponse, ...rest: MaybeOptionalOptions<StandardHandleOptions<T>>): Promise<NodeHttpHandleResult>;
|
10
|
-
}
|
11
|
-
//# sourceMappingURL=openapi-handler.d.ts.map
|
@@ -1,13 +0,0 @@
|
|
1
|
-
import type { ORPCError } from '@orpc/client';
|
2
|
-
import type { AnyProcedure } from '@orpc/server';
|
3
|
-
import type { StandardCodec, StandardParams } from '@orpc/server/standard';
|
4
|
-
import type { StandardRequest, StandardResponse } from '@orpc/standard-server';
|
5
|
-
import { OpenAPISerializer } from '@orpc/client/openapi';
|
6
|
-
export declare class OpenAPICodec implements StandardCodec {
|
7
|
-
private readonly serializer;
|
8
|
-
constructor(serializer?: OpenAPISerializer);
|
9
|
-
decode(request: StandardRequest, params: StandardParams | undefined, procedure: AnyProcedure): Promise<unknown>;
|
10
|
-
encode(output: unknown, procedure: AnyProcedure): StandardResponse;
|
11
|
-
encodeError(error: ORPCError<any, any>): StandardResponse;
|
12
|
-
}
|
13
|
-
//# sourceMappingURL=openapi-codec.d.ts.map
|
@@ -1,10 +0,0 @@
|
|
1
|
-
import type { AnyRouter } from '@orpc/server';
|
2
|
-
import type { StandardMatcher, StandardMatchResult } from '@orpc/server/standard';
|
3
|
-
import { type HTTPPath } from '@orpc/contract';
|
4
|
-
export declare class OpenAPIMatcher implements StandardMatcher {
|
5
|
-
private readonly tree;
|
6
|
-
private pendingRouters;
|
7
|
-
init(router: AnyRouter, path?: string[]): void;
|
8
|
-
match(method: string, pathname: HTTPPath): Promise<StandardMatchResult>;
|
9
|
-
}
|
10
|
-
//# sourceMappingURL=openapi-matcher.d.ts.map
|
package/dist/src/index.d.ts
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
/** unnoq */
|
2
|
-
import { setOperationExtender } from './openapi-operation-extender';
|
3
|
-
export * from './openapi';
|
4
|
-
export * from './openapi-content-builder';
|
5
|
-
export * from './openapi-generator';
|
6
|
-
export * from './openapi-operation-extender';
|
7
|
-
export * from './openapi-parameters-builder';
|
8
|
-
export * from './openapi-path-parser';
|
9
|
-
export * from './schema';
|
10
|
-
export * from './schema-converter';
|
11
|
-
export * from './schema-utils';
|
12
|
-
export * from './utils';
|
13
|
-
export declare const oo: {
|
14
|
-
spec: typeof setOperationExtender;
|
15
|
-
};
|
16
|
-
//# sourceMappingURL=index.d.ts.map
|