@automatons/typescript-client-axios 1.0.258 → 2.0.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/index.d.ts +4 -3
- package/index.js +107 -5
- package/index.js.map +1 -1
- package/package.json +51 -49
- package/extractors/api.d.ts +0 -7
- package/extractors/api.d.ts.map +0 -1
- package/extractors/api.js +0 -15
- package/extractors/api.js.map +0 -1
- package/generator/generate.d.ts +0 -3
- package/generator/generate.d.ts.map +0 -1
- package/generator/generate.js +0 -31
- package/generator/generate.js.map +0 -1
- package/generator/index.d.ts +0 -2
- package/generator/index.d.ts.map +0 -1
- package/generator/index.js +0 -18
- package/generator/index.js.map +0 -1
- package/generator/register.d.ts +0 -2
- package/generator/register.d.ts.map +0 -1
- package/generator/register.js +0 -43
- package/generator/register.js.map +0 -1
- package/generator/setup.d.ts +0 -2
- package/generator/setup.d.ts.map +0 -1
- package/generator/setup.js +0 -25
- package/generator/setup.js.map +0 -1
- package/generator/writer.d.ts +0 -2
- package/generator/writer.d.ts.map +0 -1
- package/generator/writer.js +0 -19
- package/generator/writer.js.map +0 -1
- package/index.d.ts.map +0 -1
- package/paths.d.ts +0 -7
- package/paths.d.ts.map +0 -1
- package/paths.js +0 -13
- package/paths.js.map +0 -1
- package/src/src/extractors/api.ts +0 -13
- package/src/src/generator/generate.ts +0 -42
- package/src/src/generator/index.ts +0 -1
- package/src/src/generator/register.ts +0 -23
- package/src/src/generator/setup.ts +0 -20
- package/src/src/generator/writer.ts +0 -12
- package/src/src/index.ts +0 -7
- package/src/src/paths.ts +0 -8
- package/src/src/templates/apis/abstractApi.hbs +0 -63
- package/src/src/templates/apis/api.hbs +0 -17
- package/src/src/templates/apis/index.hbs +0 -3
- package/src/src/templates/apis/partials/arguments/server.hbs +0 -3
- package/src/src/templates/apis/partials/arguments/server_interface.hbs +0 -3
- package/src/src/templates/apis/partials/class/arguments.hbs +0 -21
- package/src/src/templates/apis/partials/class/arguments_interface.hbs +0 -21
- package/src/src/templates/apis/partials/class/path.hbs +0 -4
- package/src/src/templates/apis/partials/class/request.hbs +0 -14
- package/src/src/templates/apis/partials/class/variables.hbs +0 -4
- package/src/src/templates/apis/partials/class.hbs +0 -17
- package/src/src/templates/apis/partials/config/arguments.hbs +0 -19
- package/src/src/templates/apis/partials/config/request/baseURL.hbs +0 -1
- package/src/src/templates/apis/partials/config/request/cookies.hbs +0 -13
- package/src/src/templates/apis/partials/config/request/headers.hbs +0 -14
- package/src/src/templates/apis/partials/config/request/queries.hbs +0 -11
- package/src/src/templates/apis/partials/config/request.hbs +0 -19
- package/src/src/templates/apis/partials/config/server.hbs +0 -11
- package/src/src/templates/apis/partials/config.hbs +0 -14
- package/src/src/templates/config.hbs +0 -19
- package/src/src/templates/index.hbs +0 -3
- package/src/src/templates/models/index.hbs +0 -3
- package/src/src/templates/models/model.hbs +0 -6
- package/src/src/templates/models/partials/allOf.hbs +0 -7
- package/src/src/templates/models/partials/array.hbs +0 -6
- package/src/src/templates/models/partials/boolean.hbs +0 -1
- package/src/src/templates/models/partials/nullable.hbs +0 -1
- package/src/src/templates/models/partials/number.hbs +0 -6
- package/src/src/templates/models/partials/object.hbs +0 -13
- package/src/src/templates/models/partials/oneOf.hbs +0 -7
- package/src/src/templates/models/partials/string.hbs +0 -10
- package/src/src/templates/models/partials/type.hbs +0 -19
- package/src/src/templates/partials/comment.hbs +0 -24
- package/src/src/templates/utils/formData.hbs +0 -10
- package/src/src/templates/utils/index.hbs +0 -3
- package/src/src/templates/utils/query.hbs +0 -79
- package/src/src/templates/utils/template.hbs +0 -55
package/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Automaton } from
|
|
1
|
+
import { Automaton } from '@automatons/tools';
|
|
2
|
+
|
|
2
3
|
declare const generatorTypescriptAxiosClient: Automaton;
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
export { generatorTypescriptAxiosClient as default };
|
package/index.js
CHANGED
|
@@ -1,6 +1,108 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
// src/generator/generate.ts
|
|
2
|
+
import { parser } from "@automatons/parser";
|
|
3
|
+
|
|
4
|
+
// src/generator/writer.ts
|
|
5
|
+
import path2 from "path";
|
|
6
|
+
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
7
|
+
import { format } from "prettier";
|
|
8
|
+
import Handlebars from "handlebars";
|
|
9
|
+
|
|
10
|
+
// src/paths.ts
|
|
11
|
+
import path from "path";
|
|
12
|
+
var paths = {
|
|
13
|
+
src: path.resolve(import.meta.dirname),
|
|
14
|
+
templates: path.resolve(import.meta.dirname, "templates"),
|
|
15
|
+
tmp: path.resolve(import.meta.dirname, "../tmp")
|
|
16
|
+
};
|
|
17
|
+
var paths_default = paths;
|
|
18
|
+
|
|
19
|
+
// src/generator/writer.ts
|
|
20
|
+
var write = async (template, outDir, context) => {
|
|
21
|
+
const outputPath = Array.isArray(outDir) ? path2.resolve(...outDir) : outDir;
|
|
22
|
+
await mkdir(path2.dirname(outputPath), { recursive: true });
|
|
23
|
+
const data = await readFile(path2.resolve(paths_default.templates, template), { encoding: "utf-8" });
|
|
24
|
+
const formatted = await format(Handlebars.compile(data)(context), { parser: "typescript" });
|
|
25
|
+
return writeFile(outputPath, formatted);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// src/generator/setup.ts
|
|
29
|
+
import helpers from "handlebars-helpers";
|
|
30
|
+
import HB from "handlebars";
|
|
31
|
+
|
|
32
|
+
// src/generator/register.ts
|
|
33
|
+
import { readFile as readFile2 } from "fs/promises";
|
|
34
|
+
import { glob } from "glob";
|
|
35
|
+
import Handlebars2 from "handlebars";
|
|
36
|
+
var partial = Handlebars2.registerPartial.bind(Handlebars2);
|
|
37
|
+
var convertName = (match) => match.replace(`${paths_default.templates}/`, "").replace("partials/", "").replace(".hbs", "");
|
|
38
|
+
var register = () => glob("**/partials/**/*.hbs", { cwd: paths_default.templates, absolute: true }).then((matches) => matches.map((match) => ({ name: convertName(match), path: match }))).then(
|
|
39
|
+
(files) => Promise.all(
|
|
40
|
+
files.map(({ name, path: path3 }) => readFile2(path3, { encoding: "utf-8" }).then((data) => partial(name, data)))
|
|
41
|
+
)
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
// src/generator/setup.ts
|
|
45
|
+
HB.registerHelper("every", function(value, key, text) {
|
|
46
|
+
if (text === void 0) {
|
|
47
|
+
return value.every((item) => item[key] == void 0 ? false : item[key]);
|
|
48
|
+
}
|
|
49
|
+
return value.every((item) => (item[key] == void 0 ? false : item[key]) === text);
|
|
50
|
+
});
|
|
51
|
+
HB.registerHelper("any", function(value, key, text) {
|
|
52
|
+
if (text === void 0) {
|
|
53
|
+
return value.some((item) => item[key] == void 0 ? false : item[key]);
|
|
54
|
+
}
|
|
55
|
+
return value.some((item) => (item[key] == void 0 ? false : item[key]) === text);
|
|
56
|
+
});
|
|
57
|
+
helpers({ handlebars: HB });
|
|
58
|
+
var setup = () => register();
|
|
59
|
+
|
|
60
|
+
// src/extractors/api.ts
|
|
61
|
+
var isAffectPath = (path3) => ["post", "patch", "put"].includes(path3.method);
|
|
62
|
+
var extractApiMeta = (api) => {
|
|
63
|
+
const hasTemplate = api.servers.some((server) => server.values?.length) || api.paths.some((path3) => path3.parameters?.length) || api.paths.some((path3) => path3.headers?.length);
|
|
64
|
+
const hasQuery = api.paths.some((path3) => path3.queries?.length) || api.paths.some((path3) => path3.cookies?.length);
|
|
65
|
+
const hasFormData = api.paths.some((path3) => isAffectPath(path3) ? path3.forms?.length : false);
|
|
66
|
+
return { hasQuery, hasTemplate, hasFormData };
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
// src/generator/generate.ts
|
|
70
|
+
var generate = async (openapi, settings) => {
|
|
71
|
+
const { outDir } = settings;
|
|
72
|
+
const promises = [];
|
|
73
|
+
await setup();
|
|
74
|
+
const { models, apis, securities } = await parser(openapi, settings);
|
|
75
|
+
if (models.length) {
|
|
76
|
+
promises.push(write("models/index.hbs", [outDir, "models", "index.ts"], models));
|
|
77
|
+
const modelPromises = models.map((model) => write("models/model.hbs", [outDir, "models", `${model.filename}.ts`], model));
|
|
78
|
+
promises.push(...modelPromises);
|
|
79
|
+
}
|
|
80
|
+
if (apis.length) {
|
|
81
|
+
promises.push(
|
|
82
|
+
write("apis/index.hbs", [outDir, "apis", "index.ts"], apis),
|
|
83
|
+
write("apis/abstractApi.hbs", [outDir, "apis", "abstractApi.ts"], { securities })
|
|
84
|
+
);
|
|
85
|
+
promises.push(...apis.map((api) => write("apis/api.hbs", [outDir, "apis", `${api.filename}.ts`], {
|
|
86
|
+
api,
|
|
87
|
+
meta: extractApiMeta(api),
|
|
88
|
+
securities
|
|
89
|
+
})));
|
|
90
|
+
}
|
|
91
|
+
promises.push(
|
|
92
|
+
write("index.hbs", [outDir, "index.ts"], { api: apis.length, model: models.length }),
|
|
93
|
+
write("config.hbs", [outDir, "config.ts"], { securities }),
|
|
94
|
+
write("utils/index.hbs", [outDir, "utils", "index.ts"]),
|
|
95
|
+
write("utils/template.hbs", [outDir, "utils", "template.ts"]),
|
|
96
|
+
write("utils/query.hbs", [outDir, "utils", "query.ts"]),
|
|
97
|
+
write("utils/formData.hbs", [outDir, "utils", "formData.ts"])
|
|
98
|
+
);
|
|
99
|
+
return Promise.all(promises);
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// src/index.ts
|
|
103
|
+
var generatorTypescriptAxiosClient = (openapi, settings) => generate(openapi, settings);
|
|
104
|
+
var index_default = generatorTypescriptAxiosClient;
|
|
105
|
+
export {
|
|
106
|
+
index_default as default
|
|
107
|
+
};
|
|
6
108
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/generator/generate.ts","../src/generator/writer.ts","../src/paths.ts","../src/generator/setup.ts","../src/generator/register.ts","../src/extractors/api.ts","../src/index.ts"],"sourcesContent":["import {AutomatonSettings, Openapi} from \"@automatons/tools\";\nimport {parser} from \"@automatons/parser\";\nimport {write} from \"./writer\";\nimport {setup} from \"./setup\";\nimport {extractApiMeta} from \"../extractors/api\";\n\n\nexport const generate = async (openapi: Openapi, settings: AutomatonSettings) => {\n const {outDir} = settings;\n const promises: Promise<void>[] = [];\n await setup();\n\n const {models, apis, securities} = await parser(openapi, settings);\n if (models.length) {\n promises.push(write('models/index.hbs', [outDir, 'models', 'index.ts'], models))\n const modelPromises = models\n .map(model => write('models/model.hbs', [outDir, 'models', `${model.filename}.ts`], model));\n promises.push(...modelPromises)\n }\n\n if (apis.length) {\n promises.push(\n write('apis/index.hbs', [outDir, 'apis', 'index.ts'], apis),\n write('apis/abstractApi.hbs', [outDir, 'apis', 'abstractApi.ts'], {securities}),\n );\n promises.push(...apis.map(api => write('apis/api.hbs', [outDir, 'apis', `${api.filename}.ts`], {\n api,\n meta: extractApiMeta(api),\n securities\n })));\n }\n\n promises.push(\n write('index.hbs', [outDir, 'index.ts'], {api: apis.length, model: models.length}),\n write('config.hbs', [outDir, 'config.ts'], {securities}),\n write('utils/index.hbs', [outDir, 'utils', 'index.ts']),\n write('utils/template.hbs', [outDir, 'utils', 'template.ts']),\n write('utils/query.hbs', [outDir, 'utils', 'query.ts']),\n write('utils/formData.hbs', [outDir, 'utils', 'formData.ts'])\n );\n return Promise.all(promises)\n};\n","import path from \"node:path\";\nimport {mkdir, readFile, writeFile} from \"node:fs/promises\";\nimport {format} from \"prettier\";\nimport Handlebars from \"handlebars\";\nimport paths from \"../paths\";\n\nexport const write = async (template: string, outDir: string | string[], context?: any) => {\n const outputPath = Array.isArray(outDir) ? path.resolve(...outDir) : outDir;\n await mkdir(path.dirname(outputPath), {recursive: true});\n const data = await readFile(path.resolve(paths.templates, template), {encoding: 'utf-8'});\n const formatted = await format(Handlebars.compile(data)(context), {parser: 'typescript'});\n return writeFile(outputPath, formatted);\n};\n","import path from 'node:path';\n\nconst paths = {\n src: path.resolve(import.meta.dirname),\n templates: path.resolve(import.meta.dirname, 'templates'),\n tmp: path.resolve(import.meta.dirname, '../tmp')\n};\nexport default paths;\n","import helpers from \"handlebars-helpers\";\nimport HB from \"handlebars\";\nimport {register} from \"./register\";\n\nHB.registerHelper('every', function (value: Record<string, unknown>[], key: string, text?: unknown) {\n if (text === undefined) {\n return value.every(item => (item[key] == undefined ? false : item[key]))\n }\n return value.every(item => (item[key] == undefined ? false : item[key]) === text)\n});\n\nHB.registerHelper('any', function (value: Record<string, unknown>[], key: string, text?: unknown) {\n if (text === undefined) {\n return value.some(item => (item[key] == undefined ? false : item[key]))\n }\n return value.some(item => (item[key] == undefined ? false : item[key]) === text)\n});\n\nhelpers({handlebars: HB});\nexport const setup = () => register();\n","import {readFile} from \"node:fs/promises\";\nimport {glob} from 'glob';\nimport Handlebars from \"handlebars\";\nimport paths from \"../paths\";\n\nconst partial = Handlebars.registerPartial.bind(Handlebars);\n\nconst convertName = (match: string) =>\n match.replace(`${paths.templates}/`, '')\n .replace('partials/', '')\n .replace('.hbs', '');\n\nexport const register = () =>\n glob('**/partials/**/*.hbs', {cwd: paths.templates, absolute: true})\n .then(matches => matches.map<{ name: string, path: string }>(match =>\n ({name: convertName(match), path: match})))\n .then(files => Promise.all(\n files.map(({name, path}) => readFile(path, {encoding: 'utf-8'})\n .then(data => partial(name, data))))\n );\n","import {AffectPath, Api, Path} from \"@automatons/parser\";\n\nconst isAffectPath = (path: Path): path is AffectPath => ['post', 'patch', 'put'].includes(path.method);\n\nexport const extractApiMeta = (api: Api) => {\n const hasTemplate = api.servers.some(server => server.values?.length)\n || api.paths.some(path => path.parameters?.length)\n || api.paths.some(path => path.headers?.length);\n const hasQuery = api.paths.some(path => path.queries?.length)\n || api.paths.some(path => path.cookies?.length);\n const hasFormData = api.paths.some(path => isAffectPath(path) ? path.forms?.length : false);\n return {hasQuery, hasTemplate, hasFormData};\n};\n","import {Automaton} from \"@automatons/tools\";\nimport {generate} from \"./generator\";\n\nconst generatorTypescriptAxiosClient: Automaton = (openapi, settings) =>\n generate(openapi, settings);\n\nexport default generatorTypescriptAxiosClient;\n"],"mappings":"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","names":["path","path","readFile","Handlebars","Handlebars","path","readFile","path"]}
|
package/package.json
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@automatons/typescript-client-axios",
|
|
3
|
-
"version": "
|
|
4
|
-
"repository": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"repository": "https://github.com/openapi-automatons/typescript-client-axios.git",
|
|
5
5
|
"author": "tanmen <yt.prog@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
7
|
+
"packageManager": "yarn@1.22.22",
|
|
8
|
+
"type": "module",
|
|
7
9
|
"keywords": [
|
|
8
10
|
"openapi",
|
|
9
11
|
"openapi-automatons",
|
|
@@ -11,63 +13,63 @@
|
|
|
11
13
|
"axios"
|
|
12
14
|
],
|
|
13
15
|
"main": "index.js",
|
|
16
|
+
"module": "index.js",
|
|
17
|
+
"types": "index.d.ts",
|
|
18
|
+
"exports": {
|
|
19
|
+
".": {
|
|
20
|
+
"types": "./index.d.ts",
|
|
21
|
+
"import": "./index.js"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=22"
|
|
26
|
+
},
|
|
14
27
|
"scripts": {
|
|
15
|
-
"prebuild": "depcheck
|
|
16
|
-
"build": "
|
|
17
|
-
"lint": "eslint src
|
|
18
|
-
"test": "
|
|
19
|
-
"test:
|
|
20
|
-
"
|
|
21
|
-
"
|
|
28
|
+
"prebuild": "depcheck",
|
|
29
|
+
"build": "tsup && cp -R src/templates dist/ && cp package.json README.md LICENSE dist",
|
|
30
|
+
"lint": "eslint src",
|
|
31
|
+
"test": "vitest run",
|
|
32
|
+
"test:watch": "vitest",
|
|
33
|
+
"test:coverage": "vitest run --coverage",
|
|
34
|
+
"test:integration": "tsx scripts/pretest.ts && vitest run --config test/vitest.config.ts",
|
|
35
|
+
"prepare": "husky"
|
|
22
36
|
},
|
|
23
37
|
"dependencies": {
|
|
24
|
-
"@automatons/parser": "^0.0
|
|
25
|
-
"@automatons/tools": "^
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"glob": "^8.0.3",
|
|
29
|
-
"handlebars": "^4.7.6",
|
|
38
|
+
"@automatons/parser": "^1.0.0",
|
|
39
|
+
"@automatons/tools": "^2.0.0",
|
|
40
|
+
"glob": "^13.0.6",
|
|
41
|
+
"handlebars": "^4.7.9",
|
|
30
42
|
"handlebars-helpers": "^0.10.0",
|
|
31
|
-
"prettier": "^
|
|
43
|
+
"prettier": "^3.8.3"
|
|
32
44
|
},
|
|
33
45
|
"peerDependencies": {
|
|
34
|
-
"axios": "^0",
|
|
46
|
+
"axios": "^0 || ^1",
|
|
35
47
|
"object-to-formdata": "^4",
|
|
36
|
-
"openapi-automatons": "^
|
|
48
|
+
"openapi-automatons": "^2"
|
|
37
49
|
},
|
|
38
50
|
"devDependencies": {
|
|
39
|
-
"@commitlint/cli": "^
|
|
40
|
-
"@commitlint/config-conventional": "^
|
|
41
|
-
"@
|
|
51
|
+
"@commitlint/cli": "^21.0.2",
|
|
52
|
+
"@commitlint/config-conventional": "^21.0.2",
|
|
53
|
+
"@eslint/js": "^9.39.0",
|
|
54
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
42
55
|
"@semantic-release/git": "^10.0.1",
|
|
43
|
-
"@
|
|
44
|
-
"@types/
|
|
45
|
-
"@
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"eslint": "^8.
|
|
59
|
-
"
|
|
60
|
-
"eslint-config-prettier": "^8.6.0",
|
|
61
|
-
"husky": "^8.0.3",
|
|
62
|
-
"jest": "^26.0.1",
|
|
63
|
-
"lint-staged": "^13.1.0",
|
|
64
|
-
"object-to-formdata": "^4.4.2",
|
|
65
|
-
"semantic-release": "^19.0.5",
|
|
66
|
-
"ts-jest": "^26.0.0",
|
|
67
|
-
"ts-node": "^10.9.1",
|
|
68
|
-
"typescript": "^4.9.4",
|
|
69
|
-
"typesync": "^0.9.2",
|
|
70
|
-
"yarn-deduplicate": "^6.0.1"
|
|
56
|
+
"@types/handlebars-helpers": "^0.5.6",
|
|
57
|
+
"@types/node": "^24.0.0",
|
|
58
|
+
"@vitest/coverage-v8": "^3.2.0",
|
|
59
|
+
"axios": "^1",
|
|
60
|
+
"axios-mock-adapter": "^2.1.0",
|
|
61
|
+
"depcheck": "^1.4.7",
|
|
62
|
+
"eslint": "^10.4.1",
|
|
63
|
+
"eslint-config-prettier": "^10.1.8",
|
|
64
|
+
"husky": "^9.1.7",
|
|
65
|
+
"lint-staged": "^17.0.7",
|
|
66
|
+
"object-to-formdata": "^4.5.1",
|
|
67
|
+
"semantic-release": "^25.0.3",
|
|
68
|
+
"tsup": "^8.5.0",
|
|
69
|
+
"tsx": "^4.19.0",
|
|
70
|
+
"typescript": "^6.0.3",
|
|
71
|
+
"typescript-eslint": "^8.46.0",
|
|
72
|
+
"vitest": "^3.2.0"
|
|
71
73
|
},
|
|
72
74
|
"publishConfig": {
|
|
73
75
|
"access": "public"
|
package/extractors/api.d.ts
DELETED
package/extractors/api.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"src/","sources":["extractors/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,GAAG,EAAO,MAAM,oBAAoB,CAAC;AAIzD,eAAO,MAAM,cAAc,QAAS,GAAG;;;;CAQtC,CAAC"}
|
package/extractors/api.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractApiMeta = void 0;
|
|
4
|
-
const isAffectPath = (path) => ['post', 'patch', 'put'].includes(path.method);
|
|
5
|
-
const extractApiMeta = (api) => {
|
|
6
|
-
const hasTemplate = api.servers.some(server => { var _a; return (_a = server.values) === null || _a === void 0 ? void 0 : _a.length; })
|
|
7
|
-
|| api.paths.some(path => { var _a; return (_a = path.parameters) === null || _a === void 0 ? void 0 : _a.length; })
|
|
8
|
-
|| api.paths.some(path => { var _a; return (_a = path.headers) === null || _a === void 0 ? void 0 : _a.length; });
|
|
9
|
-
const hasQuery = api.paths.some(path => { var _a; return (_a = path.queries) === null || _a === void 0 ? void 0 : _a.length; })
|
|
10
|
-
|| api.paths.some(path => { var _a; return (_a = path.cookies) === null || _a === void 0 ? void 0 : _a.length; });
|
|
11
|
-
const hasFormData = api.paths.some(path => { var _a; return isAffectPath(path) ? (_a = path.forms) === null || _a === void 0 ? void 0 : _a.length : false; });
|
|
12
|
-
return { hasQuery, hasTemplate, hasFormData };
|
|
13
|
-
};
|
|
14
|
-
exports.extractApiMeta = extractApiMeta;
|
|
15
|
-
//# sourceMappingURL=api.js.map
|
package/extractors/api.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"src/","sources":["extractors/api.ts"],"names":[],"mappings":";;;AAEA,MAAM,YAAY,GAAG,CAAC,IAAU,EAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEjG,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAE,EAAE;IACzC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,MAAM,CAAA,EAAA,CAAC;WAChE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,CAAA,EAAA,CAAC;WAC/C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAA,EAAA,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAA,EAAA,CAAC;WACxD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAA,EAAA,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA,EAAA,CAAC,CAAC;IAC5F,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAC,CAAC;AAC9C,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB"}
|
package/generator/generate.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"src/","sources":["generator/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAO7D,eAAO,MAAM,QAAQ,YAAmB,OAAO,YAAY,iBAAiB,oBAkC3E,CAAC"}
|
package/generator/generate.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generate = void 0;
|
|
4
|
-
const parser_1 = require("@automatons/parser");
|
|
5
|
-
const writer_1 = require("./writer");
|
|
6
|
-
const setup_1 = require("./setup");
|
|
7
|
-
const api_1 = require("../extractors/api");
|
|
8
|
-
const generate = async (openapi, settings) => {
|
|
9
|
-
const { outDir } = settings;
|
|
10
|
-
const promises = [];
|
|
11
|
-
await (0, setup_1.setup)();
|
|
12
|
-
const { models, apis, securities } = await (0, parser_1.parser)(openapi, settings);
|
|
13
|
-
if (models.length) {
|
|
14
|
-
promises.push((0, writer_1.write)('models/index.hbs', [outDir, 'models', 'index.ts'], models));
|
|
15
|
-
const modelPromises = models
|
|
16
|
-
.map(model => (0, writer_1.write)('models/model.hbs', [outDir, 'models', `${model.filename}.ts`], model));
|
|
17
|
-
promises.push(...modelPromises);
|
|
18
|
-
}
|
|
19
|
-
if (apis.length) {
|
|
20
|
-
promises.push((0, writer_1.write)('apis/index.hbs', [outDir, 'apis', 'index.ts'], apis), (0, writer_1.write)('apis/abstractApi.hbs', [outDir, 'apis', 'abstractApi.ts'], { securities }));
|
|
21
|
-
promises.push(...apis.map(api => (0, writer_1.write)('apis/api.hbs', [outDir, 'apis', `${api.filename}.ts`], {
|
|
22
|
-
api,
|
|
23
|
-
meta: (0, api_1.extractApiMeta)(api),
|
|
24
|
-
securities
|
|
25
|
-
})));
|
|
26
|
-
}
|
|
27
|
-
promises.push((0, writer_1.write)('index.hbs', [outDir, 'index.ts'], { api: apis.length, model: models.length }), (0, writer_1.write)('config.hbs', [outDir, 'config.ts'], { securities }), (0, writer_1.write)('utils/index.hbs', [outDir, 'utils', 'index.ts']), (0, writer_1.write)('utils/template.hbs', [outDir, 'utils', 'template.ts']), (0, writer_1.write)('utils/query.hbs', [outDir, 'utils', 'query.ts']), (0, writer_1.write)('utils/formData.hbs', [outDir, 'utils', 'formData.ts']));
|
|
28
|
-
return Promise.all(promises);
|
|
29
|
-
};
|
|
30
|
-
exports.generate = generate;
|
|
31
|
-
//# sourceMappingURL=generate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"src/","sources":["generator/generate.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAC1C,qCAA+B;AAC/B,mCAA8B;AAC9B,2CAAiD;AAG1C,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAgB,EAAE,QAA2B,EAAE,EAAE;IAC9E,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,CAAC;IAC1B,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,IAAA,aAAK,GAAE,CAAC;IAEd,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAC,GAAG,MAAM,IAAA,eAAM,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,QAAQ,CAAC,IAAI,CAAC,IAAA,cAAK,EAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;QAChF,MAAM,aAAa,GAAG,MAAM;aACzB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,cAAK,EAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9F,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;KAChC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,IAAI,CACX,IAAA,cAAK,EAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,EAC3D,IAAA,cAAK,EAAC,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,EAAC,UAAU,EAAC,CAAC,CAChF,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,cAAK,EAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE;YAC7F,GAAG;YACH,IAAI,EAAE,IAAA,oBAAc,EAAC,GAAG,CAAC;YACzB,UAAU;SACX,CAAC,CAAC,CAAC,CAAC;KACN;IAED,QAAQ,CAAC,IAAI,CACX,IAAA,cAAK,EAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAC,CAAC,EAClF,IAAA,cAAK,EAAC,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAC,UAAU,EAAC,CAAC,EACxD,IAAA,cAAK,EAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,EACvD,IAAA,cAAK,EAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAC7D,IAAA,cAAK,EAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,EACvD,IAAA,cAAK,EAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAC9D,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC9B,CAAC,CAAC;AAlCW,QAAA,QAAQ,YAkCnB"}
|
package/generator/index.d.ts
DELETED
package/generator/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"src/","sources":["generator/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
package/generator/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./generate"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
package/generator/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["generator/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
|
package/generator/register.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"src/","sources":["generator/register.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,QAAQ,uBAUhB,CAAC"}
|
package/generator/register.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.register = void 0;
|
|
30
|
-
const fs_extra_1 = require("fs-extra");
|
|
31
|
-
const glob_1 = require("glob");
|
|
32
|
-
const handlebars_1 = __importStar(require("handlebars"));
|
|
33
|
-
const paths_1 = __importDefault(require("../paths"));
|
|
34
|
-
const partial = handlebars_1.registerPartial.bind(handlebars_1.default);
|
|
35
|
-
const convertName = (match) => match.replace(`${paths_1.default.templates}/`, '')
|
|
36
|
-
.replace('partials/', '')
|
|
37
|
-
.replace('.hbs', '');
|
|
38
|
-
const register = () => new Promise((resolve, reject) => (0, glob_1.glob)('/**/partials/**/*.hbs', { root: paths_1.default.templates }, (err, matches) => err ? reject(err) : resolve(matches)))
|
|
39
|
-
.then(matches => matches.map(match => ({ name: convertName(match), path: match })))
|
|
40
|
-
.then(files => Promise.all(files.map(({ name, path }) => (0, fs_extra_1.readFile)(path, { encoding: 'utf-8' })
|
|
41
|
-
.then(data => partial(name, data)))));
|
|
42
|
-
exports.register = register;
|
|
43
|
-
//# sourceMappingURL=register.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"src/","sources":["generator/register.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAkC;AAClC,+BAA0B;AAC1B,yDAAuD;AACvD,qDAA6B;AAE7B,MAAM,OAAO,GAAG,4BAAe,CAAC,IAAI,CAAC,oBAAU,CAAC,CAAC;AAEjD,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,CACpC,KAAK,CAAC,OAAO,CAAC,GAAG,eAAK,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC;KACrC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;KACxB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAElB,MAAM,QAAQ,GAAG,GAAG,EAAE,CAC3B,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACxC,IAAA,WAAI,EAAC,uBAAuB,EAC1B,EAAC,IAAI,EAAE,eAAK,CAAC,SAAS,EAAC,EACvB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KACzD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAiC,KAAK,CAAC,EAAE,CACnE,CAAC,EAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;KAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CACxB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC,IAAA,mBAAQ,EAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC;KAC5D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CACvC,CAAC;AAVO,QAAA,QAAQ,YAUf"}
|
package/generator/setup.d.ts
DELETED
package/generator/setup.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"src/","sources":["generator/setup.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,KAAK,uBAAmB,CAAC"}
|
package/generator/setup.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.setup = void 0;
|
|
7
|
-
const handlebars_helpers_1 = __importDefault(require("handlebars-helpers"));
|
|
8
|
-
const handlebars_1 = __importDefault(require("handlebars"));
|
|
9
|
-
const register_1 = require("./register");
|
|
10
|
-
handlebars_1.default.registerHelper('every', function (value, key, text) {
|
|
11
|
-
if (text === undefined) {
|
|
12
|
-
return value.every(item => (item[key] == undefined ? false : item[key]));
|
|
13
|
-
}
|
|
14
|
-
return value.every(item => (item[key] == undefined ? false : item[key]) === text);
|
|
15
|
-
});
|
|
16
|
-
handlebars_1.default.registerHelper('any', function (value, key, text) {
|
|
17
|
-
if (text === undefined) {
|
|
18
|
-
return value.some(item => (item[key] == undefined ? false : item[key]));
|
|
19
|
-
}
|
|
20
|
-
return value.some(item => (item[key] == undefined ? false : item[key]) === text);
|
|
21
|
-
});
|
|
22
|
-
(0, handlebars_helpers_1.default)({ handlebars: handlebars_1.default });
|
|
23
|
-
const setup = () => (0, register_1.register)();
|
|
24
|
-
exports.setup = setup;
|
|
25
|
-
//# sourceMappingURL=setup.js.map
|
package/generator/setup.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"src/","sources":["generator/setup.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAyC;AACzC,4DAA4B;AAC5B,yCAAoC;AAEpC,oBAAE,CAAC,cAAc,CAAC,OAAO,EAAE,UAA4B,KAAU,EAAE,GAAY,EAAE,IAAiB;IAChG,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;KACzE;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;AACnF,CAAC,CAAC,CAAC;AAEH,oBAAE,CAAC,cAAc,CAAC,KAAK,EAAE,UAA4B,KAAU,EAAE,GAAY,EAAE,IAAiB;IAC9F,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;KACxE;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;AAClF,CAAC,CAAC,CAAC;AAEH,IAAA,4BAAO,EAAC,EAAC,UAAU,EAAE,oBAAE,EAAC,CAAC,CAAC;AACnB,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAA,mBAAQ,GAAE,CAAC;AAAzB,QAAA,KAAK,SAAoB"}
|
package/generator/writer.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"writer.d.ts","sourceRoot":"src/","sources":["generator/writer.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK,aAAoB,MAAM,UAAU,MAAM,GAAG,MAAM,EAAE,YAAY,GAAG,kBAKrF,CAAC"}
|
package/generator/writer.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.write = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const fs_extra_1 = require("fs-extra");
|
|
9
|
-
const prettier_1 = require("prettier");
|
|
10
|
-
const paths_1 = __importDefault(require("../paths"));
|
|
11
|
-
const handlebars_1 = require("handlebars");
|
|
12
|
-
const write = async (template, outDir, context) => {
|
|
13
|
-
const outputPath = Array.isArray(outDir) ? path_1.default.resolve(...outDir) : outDir;
|
|
14
|
-
await (0, fs_extra_1.ensureDir)(path_1.default.dirname(outputPath));
|
|
15
|
-
const data = await (0, fs_extra_1.readFile)(path_1.default.resolve(paths_1.default.templates, template), { encoding: 'utf-8' });
|
|
16
|
-
return (0, fs_extra_1.writeFile)(outputPath, (0, prettier_1.format)((0, handlebars_1.compile)(data)(context), { parser: 'typescript' }));
|
|
17
|
-
};
|
|
18
|
-
exports.write = write;
|
|
19
|
-
//# sourceMappingURL=writer.js.map
|
package/generator/writer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"src/","sources":["generator/writer.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,uCAAwD;AACxD,uCAAgC;AAChC,qDAA6B;AAC7B,2CAAmC;AAE5B,MAAM,KAAK,GAAG,KAAK,EAAE,QAAgB,EAAE,MAAyB,EAAE,OAAa,EAAE,EAAE;IACxF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5E,MAAM,IAAA,oBAAS,EAAC,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC,cAAI,CAAC,OAAO,CAAC,eAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;IAC1F,OAAO,IAAA,oBAAS,EAAC,UAAU,EAAE,IAAA,iBAAM,EAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,EAAC,MAAM,EAAE,YAAY,EAAC,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC;AALW,QAAA,KAAK,SAKhB"}
|
package/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"src/","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAG5C,QAAA,MAAM,8BAA8B,EAAE,SACT,CAAC;AAE9B,eAAe,8BAA8B,CAAC"}
|
package/paths.d.ts
DELETED
package/paths.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"src/","sources":["paths.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,KAAK;;;;CAIV,CAAC;AACF,eAAe,KAAK,CAAC"}
|
package/paths.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const path_1 = __importDefault(require("path"));
|
|
7
|
-
const paths = {
|
|
8
|
-
src: path_1.default.resolve(__dirname),
|
|
9
|
-
templates: path_1.default.resolve(__dirname, 'templates'),
|
|
10
|
-
tmp: path_1.default.resolve(__dirname, '../tmp')
|
|
11
|
-
};
|
|
12
|
-
exports.default = paths;
|
|
13
|
-
//# sourceMappingURL=paths.js.map
|
package/paths.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"src/","sources":["paths.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AAExB,MAAM,KAAK,GAAG;IACZ,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5B,SAAS,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;IAC/C,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;CACvC,CAAC;AACF,kBAAe,KAAK,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import {AffectPath, Api, Path} from "@automatons/parser";
|
|
2
|
-
|
|
3
|
-
const isAffectPath = (path: Path): path is AffectPath => ['post', 'patch', 'put'].includes(path.method);
|
|
4
|
-
|
|
5
|
-
export const extractApiMeta = (api: Api) => {
|
|
6
|
-
const hasTemplate = api.servers.some(server => server.values?.length)
|
|
7
|
-
|| api.paths.some(path => path.parameters?.length)
|
|
8
|
-
|| api.paths.some(path => path.headers?.length);
|
|
9
|
-
const hasQuery = api.paths.some(path => path.queries?.length)
|
|
10
|
-
|| api.paths.some(path => path.cookies?.length);
|
|
11
|
-
const hasFormData = api.paths.some(path => isAffectPath(path) ? path.forms?.length : false);
|
|
12
|
-
return {hasQuery, hasTemplate, hasFormData};
|
|
13
|
-
};
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import {AutomatonSettings, Openapi} from "@automatons/tools";
|
|
2
|
-
import {parser} from "@automatons/parser";
|
|
3
|
-
import {write} from "./writer";
|
|
4
|
-
import {setup} from "./setup";
|
|
5
|
-
import {extractApiMeta} from "../extractors/api";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export const generate = async (openapi: Openapi, settings: AutomatonSettings) => {
|
|
9
|
-
const {outDir} = settings;
|
|
10
|
-
const promises: Promise<void>[] = [];
|
|
11
|
-
await setup();
|
|
12
|
-
|
|
13
|
-
const {models, apis, securities} = await parser(openapi, settings);
|
|
14
|
-
if (models.length) {
|
|
15
|
-
promises.push(write('models/index.hbs', [outDir, 'models', 'index.ts'], models))
|
|
16
|
-
const modelPromises = models
|
|
17
|
-
.map(model => write('models/model.hbs', [outDir, 'models', `${model.filename}.ts`], model));
|
|
18
|
-
promises.push(...modelPromises)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
if (apis.length) {
|
|
22
|
-
promises.push(
|
|
23
|
-
write('apis/index.hbs', [outDir, 'apis', 'index.ts'], apis),
|
|
24
|
-
write('apis/abstractApi.hbs', [outDir, 'apis', 'abstractApi.ts'], {securities}),
|
|
25
|
-
);
|
|
26
|
-
promises.push(...apis.map(api => write('apis/api.hbs', [outDir, 'apis', `${api.filename}.ts`], {
|
|
27
|
-
api,
|
|
28
|
-
meta: extractApiMeta(api),
|
|
29
|
-
securities
|
|
30
|
-
})));
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
promises.push(
|
|
34
|
-
write('index.hbs', [outDir, 'index.ts'], {api: apis.length, model: models.length}),
|
|
35
|
-
write('config.hbs', [outDir, 'config.ts'], {securities}),
|
|
36
|
-
write('utils/index.hbs', [outDir, 'utils', 'index.ts']),
|
|
37
|
-
write('utils/template.hbs', [outDir, 'utils', 'template.ts']),
|
|
38
|
-
write('utils/query.hbs', [outDir, 'utils', 'query.ts']),
|
|
39
|
-
write('utils/formData.hbs', [outDir, 'utils', 'formData.ts'])
|
|
40
|
-
);
|
|
41
|
-
return Promise.all(promises)
|
|
42
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './generate';
|