@automatons/typescript-client-axios 1.0.0 → 1.0.4

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/extractors/api.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractApiMeta = void 0;
4
4
  const isAffectPath = (path) => ['post', 'patch', 'put'].includes(path.method);
5
- exports.extractApiMeta = (api) => {
5
+ const extractApiMeta = (api) => {
6
6
  const hasTemplate = api.servers.some(server => { var _a; return (_a = server.values) === null || _a === void 0 ? void 0 : _a.length; })
7
7
  || api.paths.some(path => { var _a; return (_a = path.parameters) === null || _a === void 0 ? void 0 : _a.length; })
8
8
  || api.paths.some(path => { var _a; return (_a = path.headers) === null || _a === void 0 ? void 0 : _a.length; });
@@ -11,4 +11,5 @@ exports.extractApiMeta = (api) => {
11
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
12
  return { hasQuery, hasTemplate, hasFormData };
13
13
  };
14
+ exports.extractApiMeta = extractApiMeta;
14
15
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/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;AAE3F,QAAA,cAAc,GAAG,CAAC,GAAQ,EAAE,EAAE;IACzC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,wBAAC,MAAM,CAAC,MAAM,0CAAE,MAAM,GAAA,CAAC;WAChE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAC,IAAI,CAAC,UAAU,0CAAE,MAAM,GAAA,CAAC;WAC/C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAC,IAAI,CAAC,OAAO,0CAAE,MAAM,GAAA,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAC,IAAI,CAAC,OAAO,0CAAE,MAAM,GAAA,CAAC;WACxD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,wBAAC,IAAI,CAAC,OAAO,0CAAE,MAAM,GAAA,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,OAAC,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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/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 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generator/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAO7D,eAAO,MAAM,QAAQ,YAAmB,OAAO,YAAY,iBAAiB,oBAiC3E,CAAC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/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"}
@@ -5,25 +5,27 @@ const parser_1 = require("@automatons/parser");
5
5
  const writer_1 = require("./writer");
6
6
  const setup_1 = require("./setup");
7
7
  const api_1 = require("../extractors/api");
8
- exports.generate = async (openapi, settings) => {
8
+ const generate = async (openapi, settings) => {
9
9
  const { outDir } = settings;
10
10
  const promises = [];
11
- await setup_1.setup();
12
- const { models, apis, securities } = await parser_1.parser(openapi, settings);
11
+ await (0, setup_1.setup)();
12
+ const { models, apis, securities } = await (0, parser_1.parser)(openapi, settings);
13
13
  if (models.length) {
14
- promises.push(writer_1.write('models/index.hbs', [outDir, 'models', 'index.ts'], models));
14
+ promises.push((0, writer_1.write)('models/index.hbs', [outDir, 'models', 'index.ts'], models));
15
15
  const modelPromises = models
16
- .map(model => writer_1.write('models/model.hbs', [outDir, 'models', `${model.filename}.ts`], model));
16
+ .map(model => (0, writer_1.write)('models/model.hbs', [outDir, 'models', `${model.filename}.ts`], model));
17
17
  promises.push(...modelPromises);
18
18
  }
19
19
  if (apis.length) {
20
- promises.push(writer_1.write('apis/index.hbs', [outDir, 'apis', 'index.ts'], apis), writer_1.write('apis/abstractApi.hbs', [outDir, 'apis', 'abstractApi.ts'], { securities }));
21
- promises.push(...apis.map(api => writer_1.write('apis/api.hbs', [outDir, 'apis', `${api.filename}.ts`], {
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
22
  api,
23
- meta: api_1.extractApiMeta(api)
23
+ meta: (0, api_1.extractApiMeta)(api),
24
+ securities
24
25
  })));
25
26
  }
26
- promises.push(writer_1.write('index.hbs', [outDir, 'index.ts'], { api: apis.length, model: models.length }), writer_1.write('config.hbs', [outDir, 'config.ts'], { securities }), writer_1.write('utils/index.hbs', [outDir, 'utils', 'index.ts']), writer_1.write('utils/template.hbs', [outDir, 'utils', 'template.ts']), writer_1.write('utils/query.hbs', [outDir, 'utils', 'query.ts']), writer_1.write('utils/formData.hbs', [outDir, 'utils', 'formData.ts']));
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']));
27
28
  return Promise.all(promises);
28
29
  };
30
+ exports.generate = generate;
29
31
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/generator/generate.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAC1C,qCAA+B;AAC/B,mCAA8B;AAC9B,2CAAiD;AAGpC,QAAA,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,aAAK,EAAE,CAAC;IAEd,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAC,GAAG,MAAM,eAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,QAAQ,CAAC,IAAI,CAAC,cAAK,CAAC,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,cAAK,CAAC,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,cAAK,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,EAC3D,cAAK,CAAC,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,cAAK,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE;YAC7F,GAAG;YACH,IAAI,EAAE,oBAAc,CAAC,GAAG,CAAC;SAC1B,CAAC,CAAC,CAAC,CAAC;KACN;IAED,QAAQ,CAAC,IAAI,CACX,cAAK,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAC,CAAC,EAClF,cAAK,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAC,UAAU,EAAC,CAAC,EACxD,cAAK,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,EACvD,cAAK,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAC7D,cAAK,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,EACvD,cAAK,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAC9D,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/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"}
@@ -7,7 +7,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
7
7
  o[k2] = m[k];
8
8
  }));
9
9
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./generate"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/generator/register.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,QAAQ,uBAUhB,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/generator/register.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,QAAQ,uBAUhB,CAAC"}
@@ -1,4 +1,23 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
23
  };
@@ -6,13 +25,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
25
  exports.register = void 0;
7
26
  const fs_extra_1 = require("fs-extra");
8
27
  const glob_1 = require("glob");
9
- const handlebars_1 = require("handlebars");
28
+ const handlebars_1 = __importStar(require("handlebars"));
10
29
  const paths_1 = __importDefault(require("../paths"));
30
+ const partial = handlebars_1.registerPartial.bind(handlebars_1.default);
11
31
  const convertName = (match) => match.replace(`${paths_1.default.templates}/`, '')
12
32
  .replace('partials/', '')
13
33
  .replace('.hbs', '');
14
- exports.register = () => new Promise((resolve, reject) => glob_1.glob('/**/partials/**/*.hbs', { root: paths_1.default.templates }, (err, matches) => err ? reject(err) : resolve(matches)))
34
+ const register = () => new Promise((resolve, reject) => (0, glob_1.glob)('/**/partials/**/*.hbs', { root: paths_1.default.templates }, (err, matches) => err ? reject(err) : resolve(matches)))
15
35
  .then(matches => matches.map(match => ({ name: convertName(match), path: match })))
16
- .then(files => Promise.all(files.map(({ name, path }) => fs_extra_1.readFile(path, { encoding: 'utf-8' })
17
- .then(data => handlebars_1.registerPartial(name, data)))));
36
+ .then(files => Promise.all(files.map(({ name, path }) => (0, fs_extra_1.readFile)(path, { encoding: 'utf-8' })
37
+ .then(data => partial(name, data)))));
38
+ exports.register = register;
18
39
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/generator/register.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAkC;AAClC,+BAA0B;AAC1B,2CAA2C;AAC3C,qDAA6B;AAE7B,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;AAEZ,QAAA,QAAQ,GAAG,GAAG,EAAE,CAC3B,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACxC,WAAI,CAAC,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,mBAAQ,CAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC;KAC5D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,4BAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAC/C,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/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 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/generator/setup.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,KAAK,uBAAmB,CAAC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/generator/setup.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,KAAK,uBAAmB,CAAC"}
@@ -8,11 +8,18 @@ const handlebars_helpers_1 = __importDefault(require("handlebars-helpers"));
8
8
  const handlebars_1 = __importDefault(require("handlebars"));
9
9
  const register_1 = require("./register");
10
10
  handlebars_1.default.registerHelper('every', function (value, key, text) {
11
+ if (!text) {
12
+ return value.every(item => (item[key] == undefined ? false : item[key]));
13
+ }
11
14
  return value.every(item => (item[key] == undefined ? false : item[key]) === text);
12
15
  });
13
- handlebars_1.default.registerHelper('have', function (value, checkers) {
14
- return value.some(item => checkers.every(({ key, text }) => item[key] === text));
16
+ handlebars_1.default.registerHelper('any', function (value, key, text) {
17
+ if (!text) {
18
+ return value.some(item => (item[key] == undefined ? false : item[key]));
19
+ }
20
+ return value.some(item => (item[key] == undefined ? false : item[key]) === text);
15
21
  });
16
- handlebars_helpers_1.default({ handlebars: handlebars_1.default });
17
- exports.setup = () => register_1.register();
22
+ (0, handlebars_helpers_1.default)({ handlebars: handlebars_1.default });
23
+ const setup = () => (0, register_1.register)();
24
+ exports.setup = setup;
18
25
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/generator/setup.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAyC;AACzC,4DAA4B;AAC5B,yCAAoC;AAEpC,oBAAE,CAAC,cAAc,CAAC,OAAO,EAAE,UAA4B,KAAU,EAAE,GAAY,EAAE,IAAgB;IAC/F,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,MAAM,EAAE,UAA4B,KAAU,EAAE,QAAmD;IACnH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAC,GAAG,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC;AAEH,4BAAO,CAAC,EAAC,UAAU,EAAE,oBAAE,EAAC,CAAC,CAAC;AACb,QAAA,KAAK,GAAG,GAAG,EAAE,CAAC,mBAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/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,CAAC,IAAI,EAAE;QACT,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,CAAC,IAAI,EAAE;QACT,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 +1,2 @@
1
- export declare function write(template: string, outDir: string | string[], context?: any): Promise<void>;
1
+ export declare const write: (template: string, outDir: string | string[], context?: any) => Promise<void>;
2
2
  //# sourceMappingURL=writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/generator/writer.ts"],"names":[],"mappings":"AAMA,wBAAsB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,iBAKrF"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/generator/writer.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK,aAAoB,MAAM,UAAU,MAAM,GAAG,MAAM,EAAE,YAAY,GAAG,kBAKrF,CAAC"}
@@ -9,11 +9,11 @@ const fs_extra_1 = require("fs-extra");
9
9
  const prettier_1 = require("prettier");
10
10
  const paths_1 = __importDefault(require("../paths"));
11
11
  const handlebars_1 = require("handlebars");
12
- async function write(template, outDir, context) {
12
+ const write = async (template, outDir, context) => {
13
13
  const outputPath = Array.isArray(outDir) ? path_1.default.resolve(...outDir) : outDir;
14
- await fs_extra_1.ensureDir(path_1.default.dirname(outputPath));
15
- const data = await fs_extra_1.readFile(path_1.default.resolve(paths_1.default.templates, template), { encoding: 'utf-8' });
16
- return fs_extra_1.writeFile(outputPath, prettier_1.format(handlebars_1.compile(data)(context), { parser: 'typescript' }));
17
- }
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
18
  exports.write = write;
19
19
  //# sourceMappingURL=writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/generator/writer.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,uCAAwD;AACxD,uCAAgC;AAChC,qDAA6B;AAC7B,2CAAmC;AAE5B,KAAK,UAAU,KAAK,CAAC,QAAgB,EAAE,MAAyB,EAAE,OAAa;IACpF,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,oBAAS,CAAC,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,mBAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,eAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;IAC1F,OAAO,oBAAS,CAAC,UAAU,EAAE,iBAAM,CAAC,oBAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,EAAC,MAAM,EAAE,YAAY,EAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AALD,sBAKC"}
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/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.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const generator_1 = require("./generator");
4
- const generatorTypescriptAxiosClient = (openapi, settings) => generator_1.generate(openapi, settings);
4
+ const generatorTypescriptAxiosClient = (openapi, settings) => (0, generator_1.generate)(openapi, settings);
5
5
  exports.default = generatorTypescriptAxiosClient;
6
6
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA,2CAAqC;AAErC,MAAM,8BAA8B,GAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CACtE,oBAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE9B,kBAAe,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automatons/typescript-client-axios",
3
- "version": "1.0.0",
3
+ "version": "1.0.4",
4
4
  "repository": "git@github.com:openapi-automatons/typescript-client-axios.git",
5
5
  "author": "tanmen <yt.prog@gmail.com>",
6
6
  "license": "MIT",
@@ -47,7 +47,7 @@
47
47
  "@types/handlebars-helpers": "^0.5.2",
48
48
  "@types/jest": "^27.4.0",
49
49
  "@types/js-yaml": "^4.0.5",
50
- "@types/node": "^17.0.12",
50
+ "@types/node": "^17.0.13",
51
51
  "@types/prettier": "^2.0.0",
52
52
  "@types/semantic-release": "^17.2.3",
53
53
  "@typescript-eslint/eslint-plugin": "^5.10.1",
@@ -62,7 +62,7 @@
62
62
  "object-to-formdata": "^4.4.1",
63
63
  "semantic-release": "^19.0.2",
64
64
  "ts-jest": "^26.0.0",
65
- "typescript": "^3.9.3",
65
+ "typescript": "^4.5.5",
66
66
  "typesync": "^0.8.0",
67
67
  "yarn-deduplicate": "^3.1.0"
68
68
  },
@@ -1,5 +1,5 @@
1
1
  import Axios, { AxiosInstance } from "axios";
2
- import { Config{{#if securities.length}}, Security{{/if}} } from "../config";
2
+ import type { Config{{#if securities}}, Security{{/if}} } from "../config";
3
3
 
4
4
  const DateFormat = /^\d{4}-\d{2}-\d{2}([tT]\d{2}:\d{2}:\d{2}(Z|[+-]\d{2}:\d{2})|Z)?$/;
5
5
  const reviver = (_key: string, value: any) =>
@@ -13,13 +13,13 @@ const BASE_AXIOS = Axios.create({
13
13
  * AbstractConfig
14
14
  */
15
15
  export class AbstractConfig {
16
- {{#if securities.length}}
17
- readonly #security?: Security;
16
+ {{#if securities}}
17
+ readonly #security: Security;
18
18
 
19
19
  /**
20
20
  * constructor
21
21
  */
22
- constructor(security?: Security) {
22
+ constructor(security: Security = {}) {
23
23
  this.#security = security;
24
24
  }
25
25
 
@@ -32,12 +32,16 @@ export class AbstractConfig {
32
32
  protected async security(key: "{{name}}"): Promise<string>;
33
33
  {{/and}}
34
34
  {{/each}}
35
- protected async security(key: keyof Security, scopes?: string[]): Promise<string | {username: string; password: string;}> {
36
- const security = this.#security?.[key];
35
+ protected async security(key: keyof Security{{#or (any securities 'type' 'oauth2') (any securities 'type' 'openIdConnect')}}, scopes?: string[]{{/or}}): Promise<string | {username: string; password: string;}> {
36
+ const security = this.#security[key];
37
37
  if (!security) {
38
38
  throw new Error("Unauthorized user request.");
39
39
  } else if (security instanceof Function) {
40
+ {{#or (any securities 'type' 'oauth2') (any securities 'type' 'openIdConnect')}}
40
41
  return scopes ? security(scopes) : security();
42
+ {{else}}
43
+ return security();
44
+ {{/or}}
41
45
  }
42
46
  return security;
43
47
  }
@@ -1,6 +1,6 @@
1
1
  import { AxiosResponse, AxiosRequestConfig } from "axios";
2
2
  import { AbstractApi, AbstractConfig } from "./abstractApi";
3
- import { Config{{#if securities.length}}, Security{{/if}} } from "../config";
3
+ import { Config{{#if securities}}, Security{{/if}} } from "../config";
4
4
  {{#with meta}}
5
5
  {{#or hasTemplate hasQuery hasFormData ~}}
6
6
  import { {{#if hasTemplate}}template{{#or hasQuery hasFormData}},{{/or}}{{/if}} {{#if hasQuery}}query{{#if hasFormData}},{{/if}}{{/if}} {{#if hasFormData}}formData{{/if}} } from "../utils";
@@ -14,6 +14,6 @@ import { Config{{#if securities.length}}, Security{{/if}} } from "../config";
14
14
  type {{name}}Server = { name: "{{name}}"{{#if values}}; values: { {{#each values}}{{name}}: {{#if enums}}{{#each enums}}'{{this}}'{{#unless @last}} | {{/unless}}{{/each}}{{else}}string{{/if}} {{/each}} }; {{/if}} }
15
15
  {{/each}}
16
16
 
17
- {{> apis/class api }}
17
+ {{> apis/class api=api securities=securities }}
18
18
 
19
- {{> apis/config api }}
19
+ {{> apis/config api=api securities=securities }}
@@ -6,16 +6,16 @@
6
6
  {{/each}}
7
7
  }{{#if (every queries 'required' false)}} = {}{{/if}},
8
8
  {{/if}}
9
- headers: {
10
- 'Content-Type': {{#if forms}}{{#each forms}}{{#unless @first}} | {{/unless}}{{#each types}}{{#unless @first}} | {{/unless}}'{{this}}'{{/each}}{{/each}}{{else}}'application/json'{{/if}},
11
- {{#each headers}}
12
- {{name}}{{#unless required}}?{{/unless}}: {{> models/type schema}},
13
- {{/each}}
14
- }{{#if (every headers 'required' false)}} = { 'Content-Type': 'application/json' }{{/if}},
15
9
  {{~#if cookies}}cookies: {
16
10
  {{~#each cookies}}
17
11
  {{name}}{{#unless required}}?{{/unless}}: {{> models/type schema}},
18
12
  {{/each}}
19
13
  }{{#if (every cookies 'required' false)}} = {}{{/if}},
20
14
  {{/if}}
15
+ headers: {
16
+ 'Content-Type': {{#if forms}}{{#each forms}}{{#unless @first}} | {{/unless}}{{#each types}}{{#unless @first}} | {{/unless}}'{{this}}'{{/each}}{{/each}}{{else}}'application/json'{{/if}},
17
+ {{#each headers}}
18
+ {{name}}{{#unless required}}?{{/unless}}: {{> models/type schema}},
19
+ {{/each}}
20
+ }{{#if (every headers 'required' false)}} = { 'Content-Type': 'application/json' }{{/if}},
21
21
  {{~> apis/arguments/server servers}} config?: AxiosRequestConfig
@@ -1,4 +1,4 @@
1
1
  {{~#if queries}}queries,{{/if}}
2
- headers,
3
2
  {{~#if cookies}}cookies,{{/if}}
3
+ headers,
4
4
  {{~#if servers}}server,{{/if}} config
@@ -1,16 +1,16 @@
1
- {{> comment}}
2
- export class {{title}} extends AbstractApi {
3
- readonly #config: {{title}}Config;
1
+ {{> comment api}}
2
+ export class {{api.title}} extends AbstractApi {
3
+ readonly #config: {{api.title}}Config;
4
4
 
5
5
  /**
6
6
  * constructor
7
7
  * @param {Config} config
8
8
  */
9
- constructor(config: Config) {
9
+ constructor(config: Config = {}) {
10
10
  super(config);
11
- this.#config = new {{title}}Config({{#if securities.length}}config.security{{/if}});
11
+ this.#config = new {{api.title}}Config({{#if securities}}config.security{{/if}});
12
12
  }
13
- {{#each paths}}
13
+ {{#each api.paths}}
14
14
 
15
15
  {{> apis/class/request }}
16
16
  {{/each}}
@@ -4,16 +4,16 @@
4
4
  {{/each}}
5
5
  }{{#if (every queries 'required' false)}} = {}{{/if}},
6
6
  {{/if}}
7
- headers: {
8
- 'Content-Type': {{#if forms}}{{#each forms}}{{#unless @first}} | {{/unless}}{{#each types}}{{#unless @first}} | {{/unless}}'{{this}}'{{/each}}{{/each}}{{else}}'application/json'{{/if}},
9
- {{#each headers}}
10
- {{name}}{{#unless required}}?{{/unless}}: {{> models/type schema}},
11
- {{/each}}
12
- }{{#if (every headers 'required' false)}} = { 'Content-Type': 'application/json' }{{/if}},
13
7
  {{~#if cookies}}cookies: {
14
8
  {{~#each cookies}}
15
9
  {{name}}{{#unless required}}?{{/unless}}: {{> models/type schema}},
16
10
  {{/each}}
17
11
  }{{#if (every cookies 'required' false)}} = {}{{/if}},
18
12
  {{/if}}
13
+ headers: {
14
+ 'Content-Type': {{#if forms}}{{#each forms}}{{#unless @first}} | {{/unless}}{{#each types}}{{#unless @first}} | {{/unless}}'{{this}}'{{/each}}{{/each}}{{else}}'application/json'{{/if}},
15
+ {{#each headers}}
16
+ {{name}}{{#unless required}}?{{/unless}}: {{> models/type schema}},
17
+ {{/each}}
18
+ }{{#if (every headers 'required' false)}} = { 'Content-Type': 'application/json' }{{/if}},
19
19
  {{~> apis/arguments/server servers}} config?: AxiosRequestConfig
@@ -1,10 +1,13 @@
1
1
  {{~#each cookies}}
2
2
  if (cookies.{{name}}) {
3
- _cookies['{{name}}'] = query('{{name}}', cookies.{{name}}, 'form', {{#if explode}}true{{else}}false{{/if}});
3
+ _cookies += Object.entries(query('{{name}}', cookies.{{name}}, 'form', {{#if explode}}true{{else}}false{{/if}})).reduce((pre, [key, value]) => `${pre}${key}=${value};`, '');
4
4
  }
5
5
  {{/each}}
6
6
  {{~#each securities}}
7
7
  {{#and (eq type 'apiKey') (eq in 'cookie')~}}
8
- _cookies['{{key}}'] = await this.security("{{name}}");
8
+ const _cookie{{name}} = await this.security("{{name}}");
9
+ if (_cookie{{name}}) {
10
+ _cookies += `{{key}}=${_cookie{{name~}} };`;
11
+ }
9
12
  {{/and}}
10
13
  {{/each}}
@@ -1,10 +1,10 @@
1
1
  public async {{name}}({{> apis/config/arguments}}): Promise<AxiosRequestConfig> {
2
2
  const params = {{> apis/config/request/queries }};
3
3
 
4
- const _cookies = { ...config?.headers?.Cookie };
4
+ let _cookies = config?.headers?.Cookie ?? '';
5
5
  {{> apis/config/request/cookies }}
6
6
 
7
- const _headers = { ...config?.headers, 'Content-Type': headers['Content-Type'], Cookie: _cookies };
7
+ const _headers = Object.assign({ ...config?.headers, 'Content-Type': headers['Content-Type']}, _cookies && {Cookie: _cookies });
8
8
  {{> apis/config/request/headers }}
9
9
 
10
10
  return {
@@ -1,14 +1,14 @@
1
- class {{title}}Config extends AbstractConfig {
2
- {{#if securities.length}}
3
- constructor(security?: Security) {
1
+ class {{api.title}}Config extends AbstractConfig {
2
+ {{#if securities}}
3
+ constructor(security: Security = {}) {
4
4
  super(security);
5
5
  }
6
6
  {{/if}}
7
7
 
8
- {{> apis/config/server }}
8
+ {{> apis/config/server api }}
9
9
 
10
- {{#each paths}}
10
+ {{#each api.paths}}
11
11
 
12
- {{> apis/config/request title=../title }}
12
+ {{> apis/config/request title=../api.title }}
13
13
  {{/each}}
14
14
  }
@@ -3,11 +3,11 @@ import { AxiosInstance } from "axios";
3
3
  export type Security = {
4
4
  {{#each securities}}
5
5
  {{#and (eq type 'http') (eq scheme 'basic')}}
6
- {{name}}: {username: string; password: string;} | Promise<{username: string; password: string;}> | (() => {username: string; password: string;} | Promise<{username: string; password: string;}>);
6
+ {{name}}?: {username: string; password: string;} | Promise<{username: string; password: string;}> | (() => {username: string; password: string;} | Promise<{username: string; password: string;}>);
7
7
  {{else or (eq type 'oauth2') (eq type 'openIdConnect')}}
8
- {{name}}: string | Promise<string> | ((scopes?: string[]) => string | Promise<string>);
8
+ {{name}}?: string | Promise<string> | ((scopes?: string[]) => string | Promise<string>);
9
9
  {{else}}
10
- {{name}}: string | Promise<string> | (() => string | Promise<string>);
10
+ {{name}}?: string | Promise<string> | (() => string | Promise<string>);
11
11
  {{/and}}
12
12
  {{/each}}
13
13
  };