swaggie 0.7.0-alpha.3 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -5,6 +5,7 @@ var _nanocolors = require('nanocolors');
5
5
 
6
6
  var _index = require('./index');
7
7
 
8
+
8
9
  const program = new (0, _commander.Command)();
9
10
  program
10
11
  .version(require('../package.json').version)
@@ -1,4 +1,5 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _lodash = require('lodash');
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _lodashcamelcase = require('lodash.camelcase'); var _lodashcamelcase2 = _interopRequireDefault(_lodashcamelcase);
2
+
2
3
  var _templateManager = require('../templateManager');
3
4
 
4
5
  async function generateBarrelFile(clients, clientOptions) {
@@ -15,7 +16,7 @@ var _templateManager = require('../templateManager');
15
16
  .map((c) => ({
16
17
  fileName: (clientOptions.servicePrefix || '') + c,
17
18
  className: (clientOptions.servicePrefix || '') + c + 'Client',
18
- camelCaseName: _lodash.camelCase.call(void 0, (clientOptions.servicePrefix || '') + c + 'Client'),
19
+ camelCaseName: _lodashcamelcase2.default.call(void 0, (clientOptions.servicePrefix || '') + c + 'Client'),
19
20
  })),
20
21
  };
21
22
 
@@ -1,6 +1,12 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _lodash = require('lodash');
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _lodashcamelcase = require('lodash.camelcase'); var _lodashcamelcase2 = _interopRequireDefault(_lodashcamelcase);
2
2
 
3
3
  var _support = require('./support');
4
+
5
+
6
+
7
+
8
+
9
+
4
10
  var _util = require('../util');
5
11
 
6
12
 
@@ -12,6 +18,7 @@ var _util = require('../util');
12
18
  var _createBarrel = require('./createBarrel');
13
19
  var _templateManager = require('../templateManager');
14
20
 
21
+
15
22
  const MAX_QUERY_PARAMS = 1;
16
23
 
17
24
  async function genOperations(
@@ -20,10 +27,11 @@ const MAX_QUERY_PARAMS = 1;
20
27
  options
21
28
  ) {
22
29
  const groups = _util.groupOperationsByGroupName.call(void 0, operations);
23
- let result = await _templateManager.renderFile.call(void 0, 'baseClient.ejs', {
24
- servicePrefix: options.servicePrefix || '',
25
- baseUrl: options.baseUrl,
26
- }) || '';
30
+ let result =
31
+ (await _templateManager.renderFile.call(void 0, 'baseClient.ejs', {
32
+ servicePrefix: options.servicePrefix || '',
33
+ baseUrl: options.baseUrl,
34
+ })) || '';
27
35
  let queryDefinitions = {} ;
28
36
 
29
37
  for (let name in groups) {
@@ -61,7 +69,7 @@ function prepareClient(
61
69
  return [
62
70
  {
63
71
  clientName: name,
64
- camelCaseName: _lodash.camelCase.call(void 0, name),
72
+ camelCaseName: _lodashcamelcase2.default.call(void 0, name),
65
73
  operations: preparedOperations,
66
74
  baseUrl: options.baseUrl,
67
75
  },
@@ -118,7 +126,7 @@ function prepareClient(
118
126
  }
119
127
 
120
128
  const ops = operations.map((a) => Object.assign({}, a));
121
- const results = _lodash.orderBy.call(void 0, ops, (o) => o.id);
129
+ const results = _util.orderBy.call(void 0, ops, 'id');
122
130
 
123
131
  let inc = 0;
124
132
  let prevOpId = results[0].id;
@@ -142,7 +150,7 @@ function prepareClient(
142
150
  return opId;
143
151
  }
144
152
 
145
- return _lodash.camelCase.call(void 0, opId.replace(group + '_', ''));
153
+ return _lodashcamelcase2.default.call(void 0, opId.replace(group + '_', ''));
146
154
  } exports.getOperationName = getOperationName;
147
155
 
148
156
  function getHeaders(op, options) {
@@ -208,7 +216,7 @@ function getParams(
208
216
  return _util.escapeReservedWords.call(void 0,
209
217
  name
210
218
  .split('.')
211
- .map((x) => _lodash.camelCase.call(void 0, x))
219
+ .map((x) => _lodashcamelcase2.default.call(void 0, x))
212
220
  .join('_')
213
221
  );
214
222
  } exports.getParamName = getParamName;
@@ -248,7 +256,7 @@ function getQueryDefinition(
248
256
  const queryParam = {
249
257
  originalName: `${op.id.replace('_', '')}Query`,
250
258
  name: getParamName(`${op.id.replace('_', '')}Query`),
251
- type: `I${_lodash.upperFirst.call(void 0, getOperationName(op.id, op.group))}From${options.servicePrefix || ''}${
259
+ type: `I${_util.upperFirst.call(void 0, getOperationName(op.id, op.group))}From${options.servicePrefix || ''}${
252
260
  op.group
253
261
  }ServiceQuery`,
254
262
  optional: false,
@@ -1,8 +1,9 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _lodash = require('lodash');
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _lodashset = require('lodash.set'); var _lodashset2 = _interopRequireDefault(_lodashset);
2
2
  var _util = require('../util');
3
3
  var _support = require('./support');
4
4
 
5
5
 
6
+
6
7
  function genTypes(
7
8
  spec,
8
9
  queryDefinitions,
@@ -112,7 +113,7 @@ function renderTsType(name, def, options, typeToBeGeneric) {
112
113
  parts: def.properties[e].name.split('.'),
113
114
  }));
114
115
  const objNotation = {};
115
- props.forEach((p) => _lodash.set.call(void 0, objNotation, p.name, def.properties[p.key]));
116
+ props.forEach((p) => _lodashset2.default.call(void 0, objNotation, p.name, def.properties[p.key]));
116
117
 
117
118
  return processQueryStringParameter(objNotation, null, options);
118
119
  } exports.renderQueryStringParameters = renderQueryStringParameters;
@@ -223,7 +224,7 @@ function verifyAllOf(name, allOf) {
223
224
 
224
225
  function getDistinctGenericTypes(keys) {
225
226
  const sanitizedKeys = keys.map((k) => k.substring(0, k.indexOf('[')));
226
- return _lodash.uniq.call(void 0, sanitizedKeys);
227
+ return _util.uniq.call(void 0, sanitizedKeys);
227
228
  }
228
229
 
229
230
  function unwrapDefinitions(definitions) {
@@ -2,6 +2,7 @@
2
2
  var _genTypes = require('./genTypes'); var _genTypes2 = _interopRequireDefault(_genTypes);
3
3
  var _util = require('../util');
4
4
 
5
+
5
6
  async function genCode(
6
7
  spec,
7
8
  operations,
@@ -1,4 +1,6 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function getTSParamType(param, options) {
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ function getTSParamType(param, options) {
2
4
  const unknownType = options.preferAny ? 'any' : 'unknown';
3
5
 
4
6
  if (!param) {
@@ -2,20 +2,18 @@
2
2
  var _path = require('path'); var _path2 = _interopRequireDefault(_path);
3
3
  var _eta = require('eta'); var Eta = _interopRequireWildcard(_eta);
4
4
 
5
- let templatesDir = null;
6
-
7
5
  function loadAllTemplateFiles(templateName) {
8
6
  if (!templateName) {
9
7
  throw new Error(`No template name was provided`);
10
8
  }
11
9
 
12
- templatesDir = _fs2.default.existsSync(templateName)
10
+ const templatesDir = _fs2.default.existsSync(templateName)
13
11
  ? templateName
14
12
  : _path2.default.join(__dirname, '..', '..', 'templates', templateName);
15
13
 
16
14
  if (!_fs2.default.existsSync(templatesDir)) {
17
15
  throw new Error(
18
- `Could not found directory with the template (we tried ${templatesDir}). Template name is correct?`,
16
+ `Could not found directory with the template (we tried ${templatesDir}). Template name is correct?`
19
17
  );
20
18
  }
21
19
  const templates = _fs2.default.readdirSync(templatesDir);
@@ -28,6 +26,6 @@ let templatesDir = null;
28
26
  } exports.loadAllTemplateFiles = loadAllTemplateFiles;
29
27
 
30
28
  function renderFile(templateFile, data = {}) {
31
- const filePath = _path2.default.join(templatesDir, templateFile);
32
- return Eta.renderFile(filePath, data);
29
+ const template = Eta.templates.get(templateFile);
30
+ return Eta.render(template, data);
33
31
  } exports.renderFile = renderFile;
package/dist/gen/util.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _fs = require('fs');
2
2
  var _path = require('path');
3
- var _mkdirp = require('mkdirp');
3
+
4
+
4
5
 
5
6
  function exists(filePath) {
6
7
  try {
@@ -11,9 +12,12 @@ var _mkdirp = require('mkdirp');
11
12
  } exports.exists = exists;
12
13
 
13
14
  function saveFile(filePath, contents) {
14
- _mkdirp.sync.call(void 0, _path.dirname.call(void 0, filePath));
15
-
16
- _fs.writeFileSync.call(void 0, filePath, contents);
15
+ _fs.mkdir.call(void 0, _path.dirname.call(void 0, filePath), { recursive: true }, (err) => {
16
+ if (err) {
17
+ throw err;
18
+ }
19
+ _fs.writeFileSync.call(void 0, filePath, contents);
20
+ });
17
21
  } exports.saveFile = saveFile;
18
22
 
19
23
  function groupOperationsByGroupName(operations) {
@@ -109,3 +113,25 @@ const reservedWords = [
109
113
  }
110
114
  return out.replace(/[\\]/i, '/') + '.ts';
111
115
  } exports.prepareOutputFilename = prepareOutputFilename;
116
+
117
+ function uniq(arr) {
118
+ if (!arr) {
119
+ return [];
120
+ }
121
+
122
+ return [...new Set(arr)];
123
+ } exports.uniq = uniq;
124
+
125
+ function orderBy(arr, key) {
126
+ if (!arr) {
127
+ return [];
128
+ }
129
+
130
+ return arr.concat().sort(sortByKey(key));
131
+ } exports.orderBy = orderBy;
132
+
133
+ const sortByKey = (key) => (a, b) => a[key] > b[key] ? 1 : b[key] > a[key] ? -1 : 0;
134
+
135
+ function upperFirst(str) {
136
+ return str ? str.charAt(0).toUpperCase() + str.slice(1) : '';
137
+ } exports.upperFirst = upperFirst;
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ var _js = require('./gen/js'); var _js2 = _interopRequireDefault(_js);
6
6
  var _templateManager = require('./gen/templateManager');
7
7
  var _swagger = require('./swagger');
8
8
 
9
+
9
10
  function runCodeGenerator(options) {
10
11
  return verifyOptions(options)
11
12
  .then(applyConfigFile)
@@ -1,4 +1,12 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});const SUPPORTED_METHODS = ['get', 'put', 'post', 'delete', 'options', 'head', 'patch'];
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+ const SUPPORTED_METHODS = ['get', 'put', 'post', 'delete', 'options', 'head', 'patch'];
2
10
 
3
11
  /**
4
12
  * This method converts dictionary-alike operation definition to operation array.
@@ -8,6 +8,7 @@ var _nodefetch = require('node-fetch'); var _nodefetch2 = _interopRequireDefault
8
8
 
9
9
 
10
10
 
11
+
11
12
  function resolveSpec(src, options) {
12
13
  if (!options) {
13
14
  options = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "swaggie",
3
- "version": "0.7.0-alpha.3",
3
+ "version": "0.7.1",
4
4
  "description": "Generate ES6 or TypeScript service integration code from an OpenAPI spec",
5
5
  "author": {
6
6
  "name": "Piotr Dabrowski",
@@ -44,16 +44,16 @@
44
44
  "commander": "^8.3.0",
45
45
  "eta": "^1.12.3",
46
46
  "js-yaml": "^4.1.0",
47
- "lodash": "^4.17.21",
48
- "mkdirp": "^1.0.3",
47
+ "lodash.camelcase": "^4.3.0",
48
+ "lodash.set": "^4.3.2",
49
49
  "nanocolors": "^0.2.0",
50
50
  "node-fetch": "^2.6.3"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/chai": "4.3.0",
54
54
  "@types/js-yaml": "4.0.5",
55
- "@types/lodash": "4.14.178",
56
- "@types/mkdirp": "^1.0.2",
55
+ "@types/lodash.camelcase": "4.3.6",
56
+ "@types/lodash.set": "4.3.6",
57
57
  "@types/mocha": "9.0.0",
58
58
  "@types/node-fetch": "2.5.3",
59
59
  "chai": "4.3.4",