@automatons/typescript-client-axios 1.0.257 → 2.0.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.
Files changed (78) hide show
  1. package/index.d.ts +4 -3
  2. package/index.js +107 -5
  3. package/index.js.map +1 -1
  4. package/package.json +51 -49
  5. package/extractors/api.d.ts +0 -7
  6. package/extractors/api.d.ts.map +0 -1
  7. package/extractors/api.js +0 -15
  8. package/extractors/api.js.map +0 -1
  9. package/generator/generate.d.ts +0 -3
  10. package/generator/generate.d.ts.map +0 -1
  11. package/generator/generate.js +0 -31
  12. package/generator/generate.js.map +0 -1
  13. package/generator/index.d.ts +0 -2
  14. package/generator/index.d.ts.map +0 -1
  15. package/generator/index.js +0 -18
  16. package/generator/index.js.map +0 -1
  17. package/generator/register.d.ts +0 -2
  18. package/generator/register.d.ts.map +0 -1
  19. package/generator/register.js +0 -43
  20. package/generator/register.js.map +0 -1
  21. package/generator/setup.d.ts +0 -2
  22. package/generator/setup.d.ts.map +0 -1
  23. package/generator/setup.js +0 -25
  24. package/generator/setup.js.map +0 -1
  25. package/generator/writer.d.ts +0 -2
  26. package/generator/writer.d.ts.map +0 -1
  27. package/generator/writer.js +0 -19
  28. package/generator/writer.js.map +0 -1
  29. package/index.d.ts.map +0 -1
  30. package/paths.d.ts +0 -7
  31. package/paths.d.ts.map +0 -1
  32. package/paths.js +0 -13
  33. package/paths.js.map +0 -1
  34. package/src/src/extractors/api.ts +0 -13
  35. package/src/src/generator/generate.ts +0 -42
  36. package/src/src/generator/index.ts +0 -1
  37. package/src/src/generator/register.ts +0 -23
  38. package/src/src/generator/setup.ts +0 -20
  39. package/src/src/generator/writer.ts +0 -12
  40. package/src/src/index.ts +0 -7
  41. package/src/src/paths.ts +0 -8
  42. package/src/src/templates/apis/abstractApi.hbs +0 -63
  43. package/src/src/templates/apis/api.hbs +0 -17
  44. package/src/src/templates/apis/index.hbs +0 -3
  45. package/src/src/templates/apis/partials/arguments/server.hbs +0 -3
  46. package/src/src/templates/apis/partials/arguments/server_interface.hbs +0 -3
  47. package/src/src/templates/apis/partials/class/arguments.hbs +0 -21
  48. package/src/src/templates/apis/partials/class/arguments_interface.hbs +0 -21
  49. package/src/src/templates/apis/partials/class/path.hbs +0 -4
  50. package/src/src/templates/apis/partials/class/request.hbs +0 -14
  51. package/src/src/templates/apis/partials/class/variables.hbs +0 -4
  52. package/src/src/templates/apis/partials/class.hbs +0 -17
  53. package/src/src/templates/apis/partials/config/arguments.hbs +0 -19
  54. package/src/src/templates/apis/partials/config/request/baseURL.hbs +0 -1
  55. package/src/src/templates/apis/partials/config/request/cookies.hbs +0 -13
  56. package/src/src/templates/apis/partials/config/request/headers.hbs +0 -14
  57. package/src/src/templates/apis/partials/config/request/queries.hbs +0 -11
  58. package/src/src/templates/apis/partials/config/request.hbs +0 -19
  59. package/src/src/templates/apis/partials/config/server.hbs +0 -11
  60. package/src/src/templates/apis/partials/config.hbs +0 -14
  61. package/src/src/templates/config.hbs +0 -19
  62. package/src/src/templates/index.hbs +0 -3
  63. package/src/src/templates/models/index.hbs +0 -3
  64. package/src/src/templates/models/model.hbs +0 -6
  65. package/src/src/templates/models/partials/allOf.hbs +0 -7
  66. package/src/src/templates/models/partials/array.hbs +0 -6
  67. package/src/src/templates/models/partials/boolean.hbs +0 -1
  68. package/src/src/templates/models/partials/nullable.hbs +0 -1
  69. package/src/src/templates/models/partials/number.hbs +0 -6
  70. package/src/src/templates/models/partials/object.hbs +0 -13
  71. package/src/src/templates/models/partials/oneOf.hbs +0 -7
  72. package/src/src/templates/models/partials/string.hbs +0 -10
  73. package/src/src/templates/models/partials/type.hbs +0 -19
  74. package/src/src/templates/partials/comment.hbs +0 -24
  75. package/src/src/templates/utils/formData.hbs +0 -10
  76. package/src/src/templates/utils/index.hbs +0 -3
  77. package/src/src/templates/utils/query.hbs +0 -79
  78. package/src/src/templates/utils/template.hbs +0 -55
package/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { Automaton } from "@automatons/tools";
1
+ import { Automaton } from '@automatons/tools';
2
+
2
3
  declare const generatorTypescriptAxiosClient: Automaton;
3
- export default generatorTypescriptAxiosClient;
4
- //# sourceMappingURL=index.d.ts.map
4
+
5
+ export { generatorTypescriptAxiosClient as default };
package/index.js CHANGED
@@ -1,6 +1,108 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const generator_1 = require("./generator");
4
- const generatorTypescriptAxiosClient = (openapi, settings) => (0, generator_1.generate)(openapi, settings);
5
- exports.default = generatorTypescriptAxiosClient;
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,"file":"index.js","sourceRoot":"src/","sources":["index.ts"],"names":[],"mappings":";;AACA,2CAAqC;AAErC,MAAM,8BAA8B,GAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CACtE,IAAA,oBAAQ,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE9B,kBAAe,8BAA8B,CAAC"}
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":";AACA,SAAQ,cAAa;;;ACDrB,OAAOA,WAAU;AACjB,SAAQ,OAAO,UAAU,iBAAgB;AACzC,SAAQ,cAAa;AACrB,OAAO,gBAAgB;;;ACHvB,OAAO,UAAU;AAEjB,IAAM,QAAQ;AAAA,EACZ,KAAK,KAAK,QAAQ,YAAY,OAAO;AAAA,EACrC,WAAW,KAAK,QAAQ,YAAY,SAAS,WAAW;AAAA,EACxD,KAAK,KAAK,QAAQ,YAAY,SAAS,QAAQ;AACjD;AACA,IAAO,gBAAQ;;;ADDR,IAAM,QAAQ,OAAO,UAAkB,QAA2B,YAAkB;AACzF,QAAM,aAAa,MAAM,QAAQ,MAAM,IAAIC,MAAK,QAAQ,GAAG,MAAM,IAAI;AACrE,QAAM,MAAMA,MAAK,QAAQ,UAAU,GAAG,EAAC,WAAW,KAAI,CAAC;AACvD,QAAM,OAAO,MAAM,SAASA,MAAK,QAAQ,cAAM,WAAW,QAAQ,GAAG,EAAC,UAAU,QAAO,CAAC;AACxF,QAAM,YAAY,MAAM,OAAO,WAAW,QAAQ,IAAI,EAAE,OAAO,GAAG,EAAC,QAAQ,aAAY,CAAC;AACxF,SAAO,UAAU,YAAY,SAAS;AACxC;;;AEZA,OAAO,aAAa;AACpB,OAAO,QAAQ;;;ACDf,SAAQ,YAAAC,iBAAe;AACvB,SAAQ,YAAW;AACnB,OAAOC,iBAAgB;AAGvB,IAAM,UAAUC,YAAW,gBAAgB,KAAKA,WAAU;AAE1D,IAAM,cAAc,CAAC,UACnB,MAAM,QAAQ,GAAG,cAAM,SAAS,KAAK,EAAE,EACpC,QAAQ,aAAa,EAAE,EACvB,QAAQ,QAAQ,EAAE;AAEhB,IAAM,WAAW,MACtB,KAAK,wBAAwB,EAAC,KAAK,cAAM,WAAW,UAAU,KAAI,CAAC,EAChE,KAAK,aAAW,QAAQ,IAAoC,YAC1D,EAAC,MAAM,YAAY,KAAK,GAAG,MAAM,MAAK,EAAE,CAAC,EAC3C;AAAA,EAAK,WAAS,QAAQ;AAAA,IACrB,MAAM,IAAI,CAAC,EAAC,MAAM,MAAAC,MAAI,MAAMC,UAASD,OAAM,EAAC,UAAU,QAAO,CAAC,EAC3D,KAAK,UAAQ,QAAQ,MAAM,IAAI,CAAC,CAAC;AAAA,EAAC;AACvC;;;ADfJ,GAAG,eAAe,SAAS,SAAU,OAAkC,KAAa,MAAgB;AAClG,MAAI,SAAS,QAAW;AACtB,WAAO,MAAM,MAAM,UAAS,KAAK,GAAG,KAAK,SAAY,QAAQ,KAAK,GAAG,CAAE;AAAA,EACzE;AACA,SAAO,MAAM,MAAM,WAAS,KAAK,GAAG,KAAK,SAAY,QAAQ,KAAK,GAAG,OAAO,IAAI;AAClF,CAAC;AAED,GAAG,eAAe,OAAO,SAAU,OAAkC,KAAa,MAAgB;AAChG,MAAI,SAAS,QAAW;AACtB,WAAO,MAAM,KAAK,UAAS,KAAK,GAAG,KAAK,SAAY,QAAQ,KAAK,GAAG,CAAE;AAAA,EACxE;AACA,SAAO,MAAM,KAAK,WAAS,KAAK,GAAG,KAAK,SAAY,QAAQ,KAAK,GAAG,OAAO,IAAI;AACjF,CAAC;AAED,QAAQ,EAAC,YAAY,GAAE,CAAC;AACjB,IAAM,QAAQ,MAAM,SAAS;;;AEjBpC,IAAM,eAAe,CAACE,UAAmC,CAAC,QAAQ,SAAS,KAAK,EAAE,SAASA,MAAK,MAAM;AAE/F,IAAM,iBAAiB,CAAC,QAAa;AAC1C,QAAM,cAAc,IAAI,QAAQ,KAAK,YAAU,OAAO,QAAQ,MAAM,KAC/D,IAAI,MAAM,KAAK,CAAAA,UAAQA,MAAK,YAAY,MAAM,KAC9C,IAAI,MAAM,KAAK,CAAAA,UAAQA,MAAK,SAAS,MAAM;AAChD,QAAM,WAAW,IAAI,MAAM,KAAK,CAAAA,UAAQA,MAAK,SAAS,MAAM,KACvD,IAAI,MAAM,KAAK,CAAAA,UAAQA,MAAK,SAAS,MAAM;AAChD,QAAM,cAAc,IAAI,MAAM,KAAK,CAAAA,UAAQ,aAAaA,KAAI,IAAIA,MAAK,OAAO,SAAS,KAAK;AAC1F,SAAO,EAAC,UAAU,aAAa,YAAW;AAC5C;;;ALLO,IAAM,WAAW,OAAO,SAAkB,aAAgC;AAC/E,QAAM,EAAC,OAAM,IAAI;AACjB,QAAM,WAA4B,CAAC;AACnC,QAAM,MAAM;AAEZ,QAAM,EAAC,QAAQ,MAAM,WAAU,IAAI,MAAM,OAAO,SAAS,QAAQ;AACjE,MAAI,OAAO,QAAQ;AACjB,aAAS,KAAK,MAAM,oBAAoB,CAAC,QAAQ,UAAU,UAAU,GAAG,MAAM,CAAC;AAC/E,UAAM,gBAAgB,OACnB,IAAI,WAAS,MAAM,oBAAoB,CAAC,QAAQ,UAAU,GAAG,MAAM,QAAQ,KAAK,GAAG,KAAK,CAAC;AAC5F,aAAS,KAAK,GAAG,aAAa;AAAA,EAChC;AAEA,MAAI,KAAK,QAAQ;AACf,aAAS;AAAA,MACP,MAAM,kBAAkB,CAAC,QAAQ,QAAQ,UAAU,GAAG,IAAI;AAAA,MAC1D,MAAM,wBAAwB,CAAC,QAAQ,QAAQ,gBAAgB,GAAG,EAAC,WAAU,CAAC;AAAA,IAChF;AACA,aAAS,KAAK,GAAG,KAAK,IAAI,SAAO,MAAM,gBAAgB,CAAC,QAAQ,QAAQ,GAAG,IAAI,QAAQ,KAAK,GAAG;AAAA,MAC7F;AAAA,MACA,MAAM,eAAe,GAAG;AAAA,MACxB;AAAA,IACF,CAAC,CAAC,CAAC;AAAA,EACL;AAEA,WAAS;AAAA,IACP,MAAM,aAAa,CAAC,QAAQ,UAAU,GAAG,EAAC,KAAK,KAAK,QAAQ,OAAO,OAAO,OAAM,CAAC;AAAA,IACjF,MAAM,cAAc,CAAC,QAAQ,WAAW,GAAG,EAAC,WAAU,CAAC;AAAA,IACvD,MAAM,mBAAmB,CAAC,QAAQ,SAAS,UAAU,CAAC;AAAA,IACtD,MAAM,sBAAsB,CAAC,QAAQ,SAAS,aAAa,CAAC;AAAA,IAC5D,MAAM,mBAAmB,CAAC,QAAQ,SAAS,UAAU,CAAC;AAAA,IACtD,MAAM,sBAAsB,CAAC,QAAQ,SAAS,aAAa,CAAC;AAAA,EAC9D;AACA,SAAO,QAAQ,IAAI,QAAQ;AAC7B;;;AMtCA,IAAM,iCAA4C,CAAC,SAAS,aAC1D,SAAS,SAAS,QAAQ;AAE5B,IAAO,gBAAQ;","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": "1.0.257",
4
- "repository": "git@github.com:openapi-automatons/typescript-client-axios.git",
3
+ "version": "2.0.0",
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 && node scripts/prebuild.js",
16
- "build": "tsc && cp -R package.json README.md LICENSE src/templates dist && rsync -a src dist/src --exclude '__tests__' --exclude '*.test.*' --exclude '*.spec.*'",
17
- "lint": "eslint src --ext .ts,.tsx",
18
- "test": "jest",
19
- "test:integration": "ts-node scripts/pretest.ts && jest -c test/jest.config.js",
20
- "postinstall": "husky install && typesync && yarn check --integrity || yarn install --ignore-scripts && yarn-deduplicate",
21
- "postversion": "cp package.json ../package.json"
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.260",
25
- "@automatons/tools": "^1.0.217",
26
- "eslint": "^8.31.0",
27
- "fs-extra": "^10.1.0",
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": "^2.8.1"
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": "^1"
48
+ "openapi-automatons": "^2"
37
49
  },
38
50
  "devDependencies": {
39
- "@commitlint/cli": "^17.4.0",
40
- "@commitlint/config-conventional": "^17.4.0",
41
- "@semantic-release/changelog": "^6.0.2",
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
- "@semantic-release/npm": "^9.0.1",
44
- "@types/eslint": "^8.4.10",
45
- "@types/fs-extra": "^9.0.13",
46
- "@types/glob": "^8.0.0",
47
- "@types/handlebars": "^4.1.0",
48
- "@types/handlebars-helpers": "^0.5.2",
49
- "@types/jest": "^27.5.0",
50
- "@types/js-yaml": "^4.0.5",
51
- "@types/node": "^18.11.18",
52
- "@types/prettier": "^2.7.2",
53
- "@types/semantic-release": "^17.2.4",
54
- "@typescript-eslint/eslint-plugin": "^5.33.1",
55
- "@typescript-eslint/parser": "^5.48.0",
56
- "axios-mock-adapter": "^1.21.2",
57
- "depcheck": "^1.4.3",
58
- "eslint": "^8.31.0",
59
- "eslint-config-google": "^0.14.0",
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": "^9.39.0",
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"
@@ -1,7 +0,0 @@
1
- import { Api } from "@automatons/parser";
2
- export declare const extractApiMeta: (api: Api) => {
3
- hasQuery: boolean;
4
- hasTemplate: boolean;
5
- hasFormData: boolean;
6
- };
7
- //# sourceMappingURL=api.d.ts.map
@@ -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
@@ -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"}
@@ -1,3 +0,0 @@
1
- import { AutomatonSettings, Openapi } from "@automatons/tools";
2
- export declare const generate: (openapi: Openapi, settings: AutomatonSettings) => Promise<void[]>;
3
- //# sourceMappingURL=generate.d.ts.map
@@ -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"}
@@ -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"}
@@ -1,2 +0,0 @@
1
- export * from './generate';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"src/","sources":["generator/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["generator/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
@@ -1,2 +0,0 @@
1
- export declare const register: () => Promise<void[]>;
2
- //# sourceMappingURL=register.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"src/","sources":["generator/register.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,QAAQ,uBAUhB,CAAC"}
@@ -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"}
@@ -1,2 +0,0 @@
1
- export declare const setup: () => Promise<void[]>;
2
- //# sourceMappingURL=setup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"src/","sources":["generator/setup.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,KAAK,uBAAmB,CAAC"}
@@ -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
@@ -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"}
@@ -1,2 +0,0 @@
1
- export declare const write: (template: string, outDir: string | string[], context?: any) => Promise<void>;
2
- //# sourceMappingURL=writer.d.ts.map
@@ -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"}
@@ -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
@@ -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
@@ -1,7 +0,0 @@
1
- declare const paths: {
2
- src: string;
3
- templates: string;
4
- tmp: string;
5
- };
6
- export default paths;
7
- //# sourceMappingURL=paths.d.ts.map
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';