@sebspark/openapi-typegen 1.7.0 → 1.7.2
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/index.js +18 -19
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -36,9 +36,9 @@ __export(src_exports, {
|
|
|
36
36
|
generateTypescript: () => generateTypescript
|
|
37
37
|
});
|
|
38
38
|
module.exports = __toCommonJS(src_exports);
|
|
39
|
-
var import_path = require("path");
|
|
40
|
-
var import_change_case2 = require("change-case");
|
|
41
39
|
var import_promises = require("fs/promises");
|
|
40
|
+
var import_node_path = require("path");
|
|
41
|
+
var import_change_case2 = require("change-case");
|
|
42
42
|
var YAML = __toESM(require("yaml"));
|
|
43
43
|
|
|
44
44
|
// src/generator/common.ts
|
|
@@ -166,6 +166,10 @@ var generateType = (parsed) => {
|
|
|
166
166
|
type = generateObject(parsed);
|
|
167
167
|
break;
|
|
168
168
|
}
|
|
169
|
+
case "unknown": {
|
|
170
|
+
type = generateUnknown(parsed);
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
169
173
|
case "Date":
|
|
170
174
|
case "bigint":
|
|
171
175
|
case "boolean":
|
|
@@ -236,6 +240,7 @@ var propertyName = (name) => {
|
|
|
236
240
|
var extensions = (type) => (type.allOf || []).map(generateType).concat("").join(AND) + (type.oneOf || []).map(generateType).concat("").join(OR);
|
|
237
241
|
var generatePrimitive = (parsed) => `${preamble(parsed)}${parsed.type}`;
|
|
238
242
|
var generateCustom = (parsed) => `${preamble(parsed)}${typeName(parsed.type)}`;
|
|
243
|
+
var generateUnknown = (parsed) => `${preamble(parsed)}unknown`;
|
|
239
244
|
var generateObject = (parsed) => {
|
|
240
245
|
const lines = [];
|
|
241
246
|
lines.push(`${preamble(parsed)}${extensions(parsed)}{`);
|
|
@@ -399,7 +404,7 @@ var generateCall = (path) => {
|
|
|
399
404
|
url: '${path.url}', ${generateClientArgs(path.args)}opts?: RequestOptions,
|
|
400
405
|
): Promise<${responses}>`;
|
|
401
406
|
};
|
|
402
|
-
var generateResponses = (path) => Object.entries(path.responses).filter(([code]) => parseInt(code, 10) < 400).map(([, type]) => generateResponseBody(type, false)).join(OR);
|
|
407
|
+
var generateResponses = (path) => Object.entries(path.responses).filter(([code]) => Number.parseInt(code, 10) < 400).map(([, type]) => generateResponseBody(type, false)).join(OR);
|
|
403
408
|
|
|
404
409
|
// src/generator/server.ts
|
|
405
410
|
var generateServer = (name, paths) => {
|
|
@@ -431,7 +436,9 @@ var generateMethod = (path) => {
|
|
|
431
436
|
pre?: GenericRouteHandler | GenericRouteHandler[]
|
|
432
437
|
}`;
|
|
433
438
|
};
|
|
434
|
-
var generateResponses2 = (responses) => Object.entries(responses).filter(([code]) => parseInt(code, 10) < 400).map(
|
|
439
|
+
var generateResponses2 = (responses) => Object.entries(responses).filter(([code]) => Number.parseInt(code, 10) < 400).map(
|
|
440
|
+
([code, response]) => generateResponse(Number.parseInt(code, 10), response)
|
|
441
|
+
).join(OR);
|
|
435
442
|
var generateResponse = (code, response) => `[${code}, ${generateResponseBody(response)}]`;
|
|
436
443
|
|
|
437
444
|
// src/generator/generator.ts
|
|
@@ -643,15 +650,7 @@ var parsePropertyType = (property) => {
|
|
|
643
650
|
return { type: "number", ...parseDocumentation(schemaObject) };
|
|
644
651
|
}
|
|
645
652
|
case "string": {
|
|
646
|
-
|
|
647
|
-
case "date":
|
|
648
|
-
case "date-time": {
|
|
649
|
-
return { type: "Date", ...parseDocumentation(schemaObject) };
|
|
650
|
-
}
|
|
651
|
-
default: {
|
|
652
|
-
return { type, ...parseDocumentation(schemaObject) };
|
|
653
|
-
}
|
|
654
|
-
}
|
|
653
|
+
return { type, ...parseDocumentation(schemaObject) };
|
|
655
654
|
}
|
|
656
655
|
default: {
|
|
657
656
|
return { type, ...parseDocumentation(schemaObject) };
|
|
@@ -930,7 +929,7 @@ var parseResponses = (responses) => {
|
|
|
930
929
|
{},
|
|
931
930
|
...Object.entries(responses).map(([code, response]) => {
|
|
932
931
|
return {
|
|
933
|
-
[parseInt(code, 10)]: parseResponseBody(void 0, response)
|
|
932
|
+
[Number.parseInt(code, 10)]: parseResponseBody(void 0, response)
|
|
934
933
|
};
|
|
935
934
|
})
|
|
936
935
|
);
|
|
@@ -1032,18 +1031,18 @@ var generate2 = async (input, output) => {
|
|
|
1032
1031
|
await saveDocs(output, generated);
|
|
1033
1032
|
};
|
|
1034
1033
|
var readDocs = async (input) => {
|
|
1035
|
-
const path = (0,
|
|
1034
|
+
const path = (0, import_node_path.resolve)(input);
|
|
1036
1035
|
const stats = await (0, import_promises.stat)(path);
|
|
1037
1036
|
const filePaths = [];
|
|
1038
1037
|
if (stats.isFile())
|
|
1039
1038
|
filePaths.push(path);
|
|
1040
1039
|
if (stats.isDirectory()) {
|
|
1041
1040
|
const files = await (0, import_promises.readdir)(path);
|
|
1042
|
-
filePaths.push(...files.map((f) => (0,
|
|
1041
|
+
filePaths.push(...files.map((f) => (0, import_node_path.resolve)(path, f)));
|
|
1043
1042
|
}
|
|
1044
1043
|
const readFiles = [];
|
|
1045
1044
|
for (const p of filePaths) {
|
|
1046
|
-
const { name, ext } = (0,
|
|
1045
|
+
const { name, ext } = (0, import_node_path.parse)(p);
|
|
1047
1046
|
let doc;
|
|
1048
1047
|
switch (ext) {
|
|
1049
1048
|
case ".json": {
|
|
@@ -1083,10 +1082,10 @@ var generateDocs = async (files) => {
|
|
|
1083
1082
|
};
|
|
1084
1083
|
var saveDocs = async (output, docs) => {
|
|
1085
1084
|
const stats = await (0, import_promises.stat)(output);
|
|
1086
|
-
const dir = stats.isDirectory() ? output : (0,
|
|
1085
|
+
const dir = stats.isDirectory() ? output : (0, import_node_path.parse)(output).dir;
|
|
1087
1086
|
await (0, import_promises.mkdir)(dir, { recursive: true });
|
|
1088
1087
|
for (const doc of docs) {
|
|
1089
|
-
const path = (0,
|
|
1088
|
+
const path = (0, import_node_path.resolve)(dir, `${filename(doc.name)}.ts`);
|
|
1090
1089
|
console.log(`Writing ${path}`);
|
|
1091
1090
|
await (0, import_promises.writeFile)(path, doc.ts, "utf8");
|
|
1092
1091
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sebspark/openapi-typegen",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"chalk": "<5",
|
|
29
29
|
"change-case": "4.1.2",
|
|
30
30
|
"prettier": "3.2.5",
|
|
31
|
-
"yaml": "2.4.
|
|
31
|
+
"yaml": "2.4.2",
|
|
32
32
|
"yargs": "17.7.2",
|
|
33
|
-
"yarn": "1.22.
|
|
33
|
+
"yarn": "1.22.22"
|
|
34
34
|
}
|
|
35
35
|
}
|