@technicity/openapi-sdk-generator 5.4.12 → 5.5.1
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/generate-remix.js +47 -14
- package/dist/generate-remix.js.map +1 -1
- package/package.json +1 -1
- package/src/generate-remix.ts +64 -16
package/dist/generate-remix.js
CHANGED
|
@@ -43,6 +43,8 @@ async function generate(input) {
|
|
|
43
43
|
if (api.paths == null || Object.keys(api.paths).length === 0) {
|
|
44
44
|
throw new Error("No paths found.");
|
|
45
45
|
}
|
|
46
|
+
const produces = api.produces;
|
|
47
|
+
const baseUrl = getBaseUrl(api);
|
|
46
48
|
let results = [];
|
|
47
49
|
// Sort
|
|
48
50
|
api.paths = Object.fromEntries(Object.entries(api.paths).sort((a, b) => a[0].localeCompare(b[0])));
|
|
@@ -64,6 +66,7 @@ async function generate(input) {
|
|
|
64
66
|
requestBody,
|
|
65
67
|
responses,
|
|
66
68
|
generateOrThrow,
|
|
69
|
+
produces,
|
|
67
70
|
})),
|
|
68
71
|
});
|
|
69
72
|
}
|
|
@@ -90,8 +93,8 @@ async function generate(input) {
|
|
|
90
93
|
#baseUrl: string;
|
|
91
94
|
#addOperationIdHeader?: boolean;
|
|
92
95
|
|
|
93
|
-
static create(opts: SdkOpts) {
|
|
94
|
-
return new this({ ...opts, httpClient: HttpClient.create() });
|
|
96
|
+
static create(opts${baseUrl === void 0 ? "" : "?"}: SdkOpts) {
|
|
97
|
+
return new this({ ${baseUrl === void 0 ? "" : `baseUrl: "${baseUrl}"`}, ...opts, httpClient: HttpClient.create() });
|
|
95
98
|
}
|
|
96
99
|
|
|
97
100
|
static createNull(opts: SdkOpts & { responses?: NullResponses }) {
|
|
@@ -164,7 +167,7 @@ async function generate(input) {
|
|
|
164
167
|
_interceptors: Interceptors,
|
|
165
168
|
method?: string,
|
|
166
169
|
_query?: { [k: string]: any },
|
|
167
|
-
_headers?: { [k: string]:
|
|
170
|
+
_headers?: { [k: string]: any },
|
|
168
171
|
_body?: unknown,
|
|
169
172
|
reqContentType?: string,
|
|
170
173
|
opts?: { timeout?: number };
|
|
@@ -263,7 +266,7 @@ async function generate(input) {
|
|
|
263
266
|
_interceptors: Interceptors,
|
|
264
267
|
method?: string,
|
|
265
268
|
_query?: { [k: string]: any },
|
|
266
|
-
_headers?: { [k: string]:
|
|
269
|
+
_headers?: { [k: string]: any },
|
|
267
270
|
_body?: unknown,
|
|
268
271
|
reqContentType?: string,
|
|
269
272
|
mapThrow?: (response: Response) => unknown | Promise<unknown>,
|
|
@@ -398,16 +401,20 @@ async function generate(input) {
|
|
|
398
401
|
|
|
399
402
|
${getHttpClientCode(env)}
|
|
400
403
|
`, { parser: "typescript" }));
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
+
const reqBodySchemas = results.map((x) => x.reqBodySchemas);
|
|
405
|
+
if (reqBodySchemas.length > 0) {
|
|
406
|
+
await fs.writeFile(path.join(outdir, `schemas.ts`), prettier.format(reqBodySchemas.join("\n\n"), {
|
|
407
|
+
parser: "typescript",
|
|
408
|
+
}));
|
|
409
|
+
}
|
|
404
410
|
await fs.writeFile(path.join(outdir, "api.json"), JSON.stringify(input.doc, null, 2));
|
|
405
411
|
}
|
|
406
412
|
exports.generate = generate;
|
|
407
413
|
async function getCode(input) {
|
|
408
|
-
const { operationId, path, method, parameters, requestBody, responses, generateOrThrow, } = input;
|
|
414
|
+
const { operationId, path, method, parameters, requestBody, responses, generateOrThrow, produces, } = input;
|
|
409
415
|
const pathParams = (parameters ?? []).filter((x) => x.in === "path");
|
|
410
416
|
const queryParams = (parameters ?? []).filter((x) => x.in === "query");
|
|
417
|
+
const headers = (parameters ?? []).filter((x) => x.in === "header");
|
|
411
418
|
const { contentType: requestBodyContentType, schema: requestBodySchema } = getRequestBodyInfo(requestBody, operationId) ?? {};
|
|
412
419
|
const requestBodySchemaName = `ReqData${(0, pascal_case_1.pascalCase)(operationId)}`;
|
|
413
420
|
if (requestBodySchema?.title) {
|
|
@@ -416,11 +423,17 @@ async function getCode(input) {
|
|
|
416
423
|
let resBodyTypes = [];
|
|
417
424
|
if (responses != null) {
|
|
418
425
|
for (let [status, response] of Object.entries(responses)) {
|
|
419
|
-
if (status === "
|
|
426
|
+
if (status === "default") {
|
|
427
|
+
continue;
|
|
428
|
+
}
|
|
429
|
+
else if (status === "204") {
|
|
420
430
|
resBodyTypes.push({ name: null, status, type: "" });
|
|
421
431
|
}
|
|
422
432
|
else {
|
|
423
|
-
|
|
433
|
+
let schema = response?.content?.["application/json"]?.schema;
|
|
434
|
+
if (schema === void 0 && produces?.[0] === "application/json") {
|
|
435
|
+
schema = response?.schema;
|
|
436
|
+
}
|
|
424
437
|
const name = `ResBody${status}${(0, pascal_case_1.pascalCase)(operationId)}`;
|
|
425
438
|
const type = await getTsInterface(schema, name);
|
|
426
439
|
resBodyTypes.push({ name, status, type });
|
|
@@ -429,12 +442,15 @@ async function getCode(input) {
|
|
|
429
442
|
}
|
|
430
443
|
const pathParamsSchema = getParamsSchema(pathParams);
|
|
431
444
|
const queryParamsSchema = getParamsSchema(queryParams);
|
|
445
|
+
const headersSchema = getParamsSchema(headers, true);
|
|
432
446
|
let methodCode = `async ${operationId}(input: {
|
|
433
447
|
${pathParams.length > 0
|
|
434
448
|
? `params${pathParamsSchema.required.length === 0 ? "?" : ""}: ${await getInlineTypeScriptType(pathParamsSchema)};`
|
|
435
449
|
: ""}${`query${queryParams.length === 0 || queryParamsSchema.required.length === 0
|
|
436
450
|
? "?"
|
|
437
|
-
: ""}: ${await getInlineTypeScriptType(queryParams.length === 0 ? { type: "object" } : queryParamsSchema)};`}${requestBody == null ? "" : `data: ${requestBodySchemaName};`}headers?: {
|
|
451
|
+
: ""}: ${await getInlineTypeScriptType(queryParams.length === 0 ? { type: "object" } : queryParamsSchema)};`}${requestBody == null ? "" : `data: ${requestBodySchemaName};`}headers?: ${headers.length === 0
|
|
452
|
+
? `{ [k: string]: string }`
|
|
453
|
+
: await getInlineTypeScriptType(headersSchema)};
|
|
438
454
|
interceptors: Interceptors;
|
|
439
455
|
opts?: { timeout?: number }
|
|
440
456
|
}): ${resBodyTypes.length === 0
|
|
@@ -479,7 +495,9 @@ async function getCode(input) {
|
|
|
479
495
|
? `params${pathParamsSchema.required.length === 0 ? "?" : ""}: ${await getInlineTypeScriptType(pathParamsSchema)};`
|
|
480
496
|
: ""}${`query${queryParams.length === 0 || queryParamsSchema.required.length === 0
|
|
481
497
|
? "?"
|
|
482
|
-
: ""}: ${await getInlineTypeScriptType(queryParams.length === 0 ? { type: "object" } : queryParamsSchema)};`}${requestBody == null ? "" : `data: ${requestBodySchemaName};`}headers?: {
|
|
498
|
+
: ""}: ${await getInlineTypeScriptType(queryParams.length === 0 ? { type: "object" } : queryParamsSchema)};`}${requestBody == null ? "" : `data: ${requestBodySchemaName};`}headers?: ${headers.length === 0
|
|
499
|
+
? `{ [k: string]: string }`
|
|
500
|
+
: await getInlineTypeScriptType(headersSchema)};
|
|
483
501
|
interceptors: Interceptors;
|
|
484
502
|
opts?: { timeout?: number };
|
|
485
503
|
mapThrow?: (response: Response) => unknown | Promise<unknown>;
|
|
@@ -538,13 +556,13 @@ async function getCode(input) {
|
|
|
538
556
|
resBodyTypes,
|
|
539
557
|
};
|
|
540
558
|
}
|
|
541
|
-
function getParamsSchema(params) {
|
|
559
|
+
function getParamsSchema(params, additionalProperties = false) {
|
|
542
560
|
const properties = params.reduce((acc, v) => {
|
|
543
561
|
acc[v.name] = v.schema ?? { type: v.type };
|
|
544
562
|
return acc;
|
|
545
563
|
}, {});
|
|
546
564
|
const required = params.filter((x) => x.required).map((x) => x.name);
|
|
547
|
-
return { type: "object", properties, additionalProperties
|
|
565
|
+
return { type: "object", properties, additionalProperties, required };
|
|
548
566
|
}
|
|
549
567
|
function getRequestBodyInfo(requestBody, operationId) {
|
|
550
568
|
const content = requestBody?.content;
|
|
@@ -685,4 +703,19 @@ function getHttpClientCode(env) {
|
|
|
685
703
|
}
|
|
686
704
|
`, { parser: "typescript" });
|
|
687
705
|
}
|
|
706
|
+
function getBaseUrl(api) {
|
|
707
|
+
if (Array.isArray(api.servers)) {
|
|
708
|
+
const firstServerUrl = api.servers[0].url;
|
|
709
|
+
if (firstServerUrl === "/") {
|
|
710
|
+
return undefined;
|
|
711
|
+
}
|
|
712
|
+
return firstServerUrl;
|
|
713
|
+
}
|
|
714
|
+
if (api.schemes?.[0] &&
|
|
715
|
+
api.host &&
|
|
716
|
+
api.basePath) {
|
|
717
|
+
return `${api.schemes[0]}://${api.host}${api.basePath}`;
|
|
718
|
+
}
|
|
719
|
+
return undefined;
|
|
720
|
+
}
|
|
688
721
|
//# sourceMappingURL=generate-remix.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-remix.js","sourceRoot":"","sources":["../src/generate-remix.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-remix.js","sourceRoot":"","sources":["../src/generate-remix.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/generate-remix.ts
CHANGED
|
@@ -26,6 +26,9 @@ export async function generate(input: {
|
|
|
26
26
|
throw new Error("No paths found.");
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
const produces = (api as OpenAPIV2.Document).produces;
|
|
30
|
+
const baseUrl = getBaseUrl(api);
|
|
31
|
+
|
|
29
32
|
let results: {
|
|
30
33
|
operationId: string;
|
|
31
34
|
methodCode: string;
|
|
@@ -62,6 +65,7 @@ export async function generate(input: {
|
|
|
62
65
|
requestBody,
|
|
63
66
|
responses,
|
|
64
67
|
generateOrThrow,
|
|
68
|
+
produces,
|
|
65
69
|
})),
|
|
66
70
|
});
|
|
67
71
|
}
|
|
@@ -95,8 +99,10 @@ export async function generate(input: {
|
|
|
95
99
|
#baseUrl: string;
|
|
96
100
|
#addOperationIdHeader?: boolean;
|
|
97
101
|
|
|
98
|
-
static create(opts: SdkOpts) {
|
|
99
|
-
return new this({
|
|
102
|
+
static create(opts${baseUrl === void 0 ? "" : "?"}: SdkOpts) {
|
|
103
|
+
return new this({ ${
|
|
104
|
+
baseUrl === void 0 ? "" : `baseUrl: "${baseUrl}"`
|
|
105
|
+
}, ...opts, httpClient: HttpClient.create() });
|
|
100
106
|
}
|
|
101
107
|
|
|
102
108
|
static createNull(opts: SdkOpts & { responses?: NullResponses }) {
|
|
@@ -171,7 +177,7 @@ export async function generate(input: {
|
|
|
171
177
|
_interceptors: Interceptors,
|
|
172
178
|
method?: string,
|
|
173
179
|
_query?: { [k: string]: any },
|
|
174
|
-
_headers?: { [k: string]:
|
|
180
|
+
_headers?: { [k: string]: any },
|
|
175
181
|
_body?: unknown,
|
|
176
182
|
reqContentType?: string,
|
|
177
183
|
opts?: { timeout?: number };
|
|
@@ -271,7 +277,7 @@ export async function generate(input: {
|
|
|
271
277
|
_interceptors: Interceptors,
|
|
272
278
|
method?: string,
|
|
273
279
|
_query?: { [k: string]: any },
|
|
274
|
-
_headers?: { [k: string]:
|
|
280
|
+
_headers?: { [k: string]: any },
|
|
275
281
|
_body?: unknown,
|
|
276
282
|
reqContentType?: string,
|
|
277
283
|
mapThrow?: (response: Response) => unknown | Promise<unknown>,
|
|
@@ -417,12 +423,16 @@ export async function generate(input: {
|
|
|
417
423
|
)
|
|
418
424
|
);
|
|
419
425
|
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
+
const reqBodySchemas = results.map((x) => x.reqBodySchemas);
|
|
427
|
+
|
|
428
|
+
if (reqBodySchemas.length > 0) {
|
|
429
|
+
await fs.writeFile(
|
|
430
|
+
path.join(outdir, `schemas.ts`),
|
|
431
|
+
prettier.format(reqBodySchemas.join("\n\n"), {
|
|
432
|
+
parser: "typescript",
|
|
433
|
+
})
|
|
434
|
+
);
|
|
435
|
+
}
|
|
426
436
|
|
|
427
437
|
await fs.writeFile(
|
|
428
438
|
path.join(outdir, "api.json"),
|
|
@@ -438,6 +448,7 @@ async function getCode(input: {
|
|
|
438
448
|
requestBody: any;
|
|
439
449
|
responses: OpenAPIV3_1.ResponsesObject | null;
|
|
440
450
|
generateOrThrow: boolean;
|
|
451
|
+
produces: OpenAPIV2.MimeTypes | undefined;
|
|
441
452
|
}) {
|
|
442
453
|
const {
|
|
443
454
|
operationId,
|
|
@@ -447,9 +458,11 @@ async function getCode(input: {
|
|
|
447
458
|
requestBody,
|
|
448
459
|
responses,
|
|
449
460
|
generateOrThrow,
|
|
461
|
+
produces,
|
|
450
462
|
} = input;
|
|
451
463
|
const pathParams = (parameters ?? []).filter((x) => x.in === "path");
|
|
452
464
|
const queryParams = (parameters ?? []).filter((x) => x.in === "query");
|
|
465
|
+
const headers = (parameters ?? []).filter((x) => x.in === "header");
|
|
453
466
|
const { contentType: requestBodyContentType, schema: requestBodySchema } =
|
|
454
467
|
getRequestBodyInfo(requestBody, operationId) ?? {};
|
|
455
468
|
|
|
@@ -461,10 +474,15 @@ async function getCode(input: {
|
|
|
461
474
|
let resBodyTypes: { name: string; status: string; type: string }[] = [];
|
|
462
475
|
if (responses != null) {
|
|
463
476
|
for (let [status, response] of Object.entries(responses)) {
|
|
464
|
-
if (status === "
|
|
477
|
+
if (status === "default") {
|
|
478
|
+
continue;
|
|
479
|
+
} else if (status === "204") {
|
|
465
480
|
resBodyTypes.push({ name: null, status, type: "" });
|
|
466
481
|
} else {
|
|
467
|
-
|
|
482
|
+
let schema = (response as any)?.content?.["application/json"]?.schema;
|
|
483
|
+
if (schema === void 0 && produces?.[0] === "application/json") {
|
|
484
|
+
schema = (response as any)?.schema;
|
|
485
|
+
}
|
|
468
486
|
const name = `ResBody${status}${pascalCase(operationId)}`;
|
|
469
487
|
const type = await getTsInterface(schema, name);
|
|
470
488
|
resBodyTypes.push({ name, status, type });
|
|
@@ -474,6 +492,7 @@ async function getCode(input: {
|
|
|
474
492
|
|
|
475
493
|
const pathParamsSchema = getParamsSchema(pathParams);
|
|
476
494
|
const queryParamsSchema = getParamsSchema(queryParams);
|
|
495
|
+
const headersSchema = getParamsSchema(headers, true);
|
|
477
496
|
|
|
478
497
|
let methodCode = `async ${operationId}(input: {
|
|
479
498
|
${
|
|
@@ -490,7 +509,11 @@ async function getCode(input: {
|
|
|
490
509
|
queryParams.length === 0 ? { type: "object" } : queryParamsSchema
|
|
491
510
|
)};`}${
|
|
492
511
|
requestBody == null ? "" : `data: ${requestBodySchemaName};`
|
|
493
|
-
}headers?: {
|
|
512
|
+
}headers?: ${
|
|
513
|
+
headers.length === 0
|
|
514
|
+
? `{ [k: string]: string }`
|
|
515
|
+
: await getInlineTypeScriptType(headersSchema)
|
|
516
|
+
};
|
|
494
517
|
interceptors: Interceptors;
|
|
495
518
|
opts?: { timeout?: number }
|
|
496
519
|
}): ${
|
|
@@ -565,7 +588,11 @@ async function getCode(input: {
|
|
|
565
588
|
queryParams.length === 0 ? { type: "object" } : queryParamsSchema
|
|
566
589
|
)};`}${
|
|
567
590
|
requestBody == null ? "" : `data: ${requestBodySchemaName};`
|
|
568
|
-
}headers?: {
|
|
591
|
+
}headers?: ${
|
|
592
|
+
headers.length === 0
|
|
593
|
+
? `{ [k: string]: string }`
|
|
594
|
+
: await getInlineTypeScriptType(headersSchema)
|
|
595
|
+
};
|
|
569
596
|
interceptors: Interceptors;
|
|
570
597
|
opts?: { timeout?: number };
|
|
571
598
|
mapThrow?: (response: Response) => unknown | Promise<unknown>;
|
|
@@ -649,14 +676,15 @@ async function getCode(input: {
|
|
|
649
676
|
}
|
|
650
677
|
|
|
651
678
|
function getParamsSchema(
|
|
652
|
-
params: OpenAPIV2.ParameterObject | OpenAPIV3_1.ParameterObject[]
|
|
679
|
+
params: OpenAPIV2.ParameterObject | OpenAPIV3_1.ParameterObject[],
|
|
680
|
+
additionalProperties = false
|
|
653
681
|
) {
|
|
654
682
|
const properties = params.reduce((acc: { [k: string]: any }, v) => {
|
|
655
683
|
acc[v.name] = v.schema ?? { type: v.type };
|
|
656
684
|
return acc;
|
|
657
685
|
}, {});
|
|
658
686
|
const required = params.filter((x) => x.required).map((x) => x.name);
|
|
659
|
-
return { type: "object", properties, additionalProperties
|
|
687
|
+
return { type: "object", properties, additionalProperties, required };
|
|
660
688
|
}
|
|
661
689
|
|
|
662
690
|
function getRequestBodyInfo(requestBody: any, operationId: string) {
|
|
@@ -809,3 +837,23 @@ function getHttpClientCode(env: TEnv) {
|
|
|
809
837
|
{ parser: "typescript" }
|
|
810
838
|
);
|
|
811
839
|
}
|
|
840
|
+
|
|
841
|
+
function getBaseUrl(api: OpenAPI.Document<{}>) {
|
|
842
|
+
if (Array.isArray((api as OpenAPIV3_1.Document).servers)) {
|
|
843
|
+
const firstServerUrl = (api as OpenAPIV3_1.Document).servers[0].url;
|
|
844
|
+
if (firstServerUrl === "/") {
|
|
845
|
+
return undefined;
|
|
846
|
+
}
|
|
847
|
+
return firstServerUrl;
|
|
848
|
+
}
|
|
849
|
+
if (
|
|
850
|
+
(api as OpenAPIV2.Document).schemes?.[0] &&
|
|
851
|
+
(api as OpenAPIV2.Document).host &&
|
|
852
|
+
(api as OpenAPIV2.Document).basePath
|
|
853
|
+
) {
|
|
854
|
+
return `${(api as OpenAPIV2.Document).schemes[0]}://${
|
|
855
|
+
(api as OpenAPIV2.Document).host
|
|
856
|
+
}${(api as OpenAPIV2.Document).basePath}`;
|
|
857
|
+
}
|
|
858
|
+
return undefined;
|
|
859
|
+
}
|