@looker/sdk-codegen-scripts 21.4.8 → 21.5.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 (82) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/lib/convert.js +0 -10
  3. package/lib/convert.js.map +1 -1
  4. package/lib/declarationMiner.js +11 -37
  5. package/lib/declarationMiner.js.map +1 -1
  6. package/lib/esm/convert.js +20 -18
  7. package/lib/esm/convert.js.map +1 -1
  8. package/lib/esm/declarationMiner.js +32 -41
  9. package/lib/esm/declarationMiner.js.map +1 -1
  10. package/lib/esm/exampleMiner.js +52 -77
  11. package/lib/esm/exampleMiner.js.map +1 -1
  12. package/lib/esm/fetchSpec.js +65 -83
  13. package/lib/esm/fetchSpec.js.map +1 -1
  14. package/lib/esm/index.js +93 -8
  15. package/lib/esm/index.js.map +1 -1
  16. package/lib/esm/languages.js +16 -11
  17. package/lib/esm/languages.js.map +1 -1
  18. package/lib/esm/legacy.js +8 -9
  19. package/lib/esm/legacy.js.map +1 -1
  20. package/lib/esm/legacyGenerator.js +19 -22
  21. package/lib/esm/legacyGenerator.js.map +1 -1
  22. package/lib/esm/nodeUtils.js +39 -22
  23. package/lib/esm/nodeUtils.js.map +1 -1
  24. package/lib/esm/prettify.js +15 -9
  25. package/lib/esm/prettify.js.map +1 -1
  26. package/lib/esm/reformatter.js +53 -102
  27. package/lib/esm/reformatter.js.map +1 -1
  28. package/lib/esm/sdkConfig.js +19 -13
  29. package/lib/esm/sdkConfig.js.map +1 -1
  30. package/lib/esm/sdkGen.js +43 -59
  31. package/lib/esm/sdkGen.js.map +1 -1
  32. package/lib/esm/sdkGenerator.js +34 -47
  33. package/lib/esm/sdkGenerator.js.map +1 -1
  34. package/lib/esm/specConvert.js +20 -27
  35. package/lib/esm/specConvert.js.map +1 -1
  36. package/lib/esm/testUtils/index.js +28 -0
  37. package/lib/esm/testUtils/index.js.map +1 -0
  38. package/lib/esm/testUtils/mocks.js +16 -0
  39. package/lib/esm/testUtils/mocks.js.map +1 -0
  40. package/lib/esm/testUtils/testUtils.js +66 -0
  41. package/lib/esm/testUtils/testUtils.js.map +1 -0
  42. package/lib/esm/utils.js +43 -60
  43. package/lib/esm/utils.js.map +1 -1
  44. package/lib/esm/yamlToJson.js +8 -6
  45. package/lib/esm/yamlToJson.js.map +1 -1
  46. package/lib/exampleMiner.js +4 -89
  47. package/lib/exampleMiner.js.map +1 -1
  48. package/lib/fetchSpec.js +6 -76
  49. package/lib/fetchSpec.js.map +1 -1
  50. package/lib/index.js +0 -16
  51. package/lib/index.js.map +1 -1
  52. package/lib/languages.js +0 -11
  53. package/lib/languages.js.map +1 -1
  54. package/lib/legacy.js +0 -5
  55. package/lib/legacy.js.map +1 -1
  56. package/lib/legacyGenerator.js +0 -15
  57. package/lib/legacyGenerator.js.map +1 -1
  58. package/lib/nodeUtils.js +1 -34
  59. package/lib/nodeUtils.js.map +1 -1
  60. package/lib/prettify.js +5 -14
  61. package/lib/prettify.js.map +1 -1
  62. package/lib/reformatter.js +3 -70
  63. package/lib/reformatter.js.map +1 -1
  64. package/lib/sdkConfig.js +0 -16
  65. package/lib/sdkConfig.js.map +1 -1
  66. package/lib/sdkGen.js +0 -41
  67. package/lib/sdkGen.js.map +1 -1
  68. package/lib/sdkGenerator.js +4 -52
  69. package/lib/sdkGenerator.js.map +1 -1
  70. package/lib/specConvert.js +0 -19
  71. package/lib/specConvert.js.map +1 -1
  72. package/lib/testUtils/index.js +0 -4
  73. package/lib/testUtils/index.js.map +1 -1
  74. package/lib/testUtils/mocks.js +0 -4
  75. package/lib/testUtils/mocks.js.map +1 -1
  76. package/lib/testUtils/testUtils.js +1 -17
  77. package/lib/testUtils/testUtils.js.map +1 -1
  78. package/lib/utils.js +6 -48
  79. package/lib/utils.js.map +1 -1
  80. package/lib/yamlToJson.js +0 -7
  81. package/lib/yamlToJson.js.map +1 -1
  82. package/package.json +6 -6
package/lib/fetchSpec.js CHANGED
@@ -3,30 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.logConvertSpec = exports.getVersionInfo = exports.logFetchSpec = exports.fetchSpec = exports.fetchLookerVersion = exports.fetchLookerVersions = exports.authGetUrl = exports.getUrl = exports.login = exports.logout = exports.openApiFileName = exports.swaggerFileName = exports.specPath = exports.supportedVersion = exports.specTransport = void 0;
7
-
6
+ exports.swaggerFileName = exports.supportedVersion = exports.specTransport = exports.specPath = exports.openApiFileName = exports.logout = exports.login = exports.logFetchSpec = exports.logConvertSpec = exports.getVersionInfo = exports.getUrl = exports.fetchSpec = exports.fetchLookerVersions = exports.fetchLookerVersion = exports.authGetUrl = void 0;
8
7
  var _sdkCodegenUtils = require("@looker/sdk-codegen-utils");
9
-
10
8
  var _sdkRtl = require("@looker/sdk-rtl");
11
-
12
9
  var _sdkNode = require("@looker/sdk-node");
13
-
14
10
  var _nodeUtils = require("./nodeUtils");
15
-
16
11
  var _convert = require("./convert");
17
-
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
19
-
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
21
-
22
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
-
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
16
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
24
17
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
25
-
26
18
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
27
-
28
19
  var transport;
29
-
30
20
  var specTransport = props => {
31
21
  if (transport) return transport;
32
22
  var options = {
@@ -38,19 +28,14 @@ var specTransport = props => {
38
28
  transport = new _sdkNode.NodeTransport(options);
39
29
  return transport;
40
30
  };
41
-
42
31
  exports.specTransport = specTransport;
43
-
44
32
  var loginUrl = props => "".concat(props.base_url, "/api/").concat(props.api_version, "/login");
45
-
46
33
  var logoutUrl = props => "".concat(props.base_url, "/api/").concat(props.api_version, "/logout");
47
-
48
34
  var supportedVersion = (version, versions) => {
49
35
  if (!('supported_versions' in versions)) {
50
36
  (0, _sdkCodegenUtils.danger)('Could not find supported versions');
51
37
  return undefined;
52
38
  }
53
-
54
39
  var found = Object.entries(versions.supported_versions).find(_ref => {
55
40
  var [, value] = _ref;
56
41
  return value.version === version;
@@ -58,24 +43,17 @@ var supportedVersion = (version, versions) => {
58
43
  if (found) return found[1];
59
44
  return undefined;
60
45
  };
61
-
62
46
  exports.supportedVersion = supportedVersion;
63
47
  var specPath = 'spec';
64
48
  exports.specPath = specPath;
65
-
66
49
  var swaggerFileName = (name, specKey) => "".concat(specPath, "/").concat(name, ".").concat(specKey, ".json");
67
-
68
50
  exports.swaggerFileName = swaggerFileName;
69
-
70
51
  var openApiFileName = (name, specKey) => "".concat(specPath, "/").concat(name, ".").concat(specKey, ".oas.json");
71
-
72
52
  exports.openApiFileName = openApiFileName;
73
-
74
53
  var badAuth = content => {
75
54
  var text = typeof content === 'object' ? JSON.stringify(content) : content;
76
55
  return text.indexOf('Requires authentication') > 0;
77
56
  };
78
-
79
57
  var logout = function () {
80
58
  var _ref2 = _asyncToGenerator(function* (props, token) {
81
59
  var xp = specTransport(props);
@@ -85,18 +63,14 @@ var logout = function () {
85
63
  }
86
64
  }));
87
65
  });
88
-
89
66
  return function logout(_x, _x2) {
90
67
  return _ref2.apply(this, arguments);
91
68
  };
92
69
  }();
93
-
94
70
  exports.logout = logout;
95
-
96
71
  var login = function () {
97
72
  var _ref3 = _asyncToGenerator(function* (props) {
98
73
  var _props$client_id, _props$client_secret;
99
-
100
74
  var xp = specTransport(props);
101
75
  var creds = {
102
76
  client_id: (_props$client_id = props.client_id) !== null && _props$client_id !== void 0 ? _props$client_id : process.env.LOOKERSDK_CLIENT_ID,
@@ -105,7 +79,6 @@ var login = function () {
105
79
  var url = loginUrl(props);
106
80
  var response = yield (0, _sdkRtl.sdkOk)(xp.request('POST', url, creds, undefined, undefined, undefined));
107
81
  var accessToken = yield response.access_token;
108
-
109
82
  if (accessToken) {
110
83
  return accessToken;
111
84
  } else {
@@ -113,56 +86,44 @@ var login = function () {
113
86
  throw new Error('Access token could not be retrieved.');
114
87
  }
115
88
  });
116
-
117
89
  return function login(_x3) {
118
90
  return _ref3.apply(this, arguments);
119
91
  };
120
92
  }();
121
-
122
93
  exports.login = login;
123
-
124
94
  var checkCertError = err => {
125
95
  if (err.message && err.message.match(/self signed certificate/gi)) {
126
96
  (0, _sdkCodegenUtils.warn)("\nNOTE! Certificate validation can be disabled with:\n NODE_TLS_REJECT_UNAUTHORIZED=\"0\" {original command}\n");
127
97
  return true;
128
98
  }
129
-
130
99
  return false;
131
100
  };
132
-
133
101
  var getUrl = function () {
134
102
  var _ref4 = _asyncToGenerator(function* (props, url, options) {
135
103
  var ref = new URL(url);
136
-
137
104
  if (ref.protocol === 'file:') {
138
105
  return (0, _nodeUtils.readFileSync)(ref.pathname);
139
106
  }
140
-
141
107
  var xp = specTransport(props);
142
108
  return yield (0, _sdkRtl.sdkOk)(xp.request('GET', url, undefined, undefined, undefined, options));
143
109
  });
144
-
145
110
  return function getUrl(_x4, _x5, _x6) {
146
111
  return _ref4.apply(this, arguments);
147
112
  };
148
113
  }();
149
-
150
114
  exports.getUrl = getUrl;
151
-
152
115
  var authGetUrl = function () {
153
116
  var _ref5 = _asyncToGenerator(function* (props, url) {
154
117
  var failQuits = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
155
118
  var options = arguments.length > 3 ? arguments[3] : undefined;
156
119
  var token = null;
157
120
  var content = null;
158
-
159
121
  try {
160
122
  content = yield getUrl(props, url, options);
161
123
  } catch (err) {
162
124
  if (err.message.indexOf('ETIMEDOUT') > 0) {
163
125
  throw err;
164
126
  }
165
-
166
127
  token = yield login(props);
167
128
  options = _objectSpread({
168
129
  options
@@ -172,44 +133,34 @@ var authGetUrl = function () {
172
133
  }
173
134
  });
174
135
  content = yield getUrl(props, url, options);
175
-
176
136
  if (token) {
177
137
  yield logout(props, token);
178
138
  }
179
139
  }
180
-
181
140
  if (badAuth(content)) {
182
141
  var authFailed = 'Authentication failed';
183
-
184
142
  if (failQuits) {
185
143
  return (0, _nodeUtils.quit)(authFailed);
186
144
  } else {
187
145
  throw new Error(authFailed);
188
146
  }
189
147
  }
190
-
191
148
  return content;
192
149
  });
193
-
194
150
  return function authGetUrl(_x7, _x8) {
195
151
  return _ref5.apply(this, arguments);
196
152
  };
197
153
  }();
198
-
199
154
  exports.authGetUrl = authGetUrl;
200
-
201
155
  var fetchLookerVersions = function () {
202
156
  var _ref6 = _asyncToGenerator(function* (props, options) {
203
157
  return yield authGetUrl(props, "".concat(props.base_url, "/versions"), false, options);
204
158
  });
205
-
206
159
  return function fetchLookerVersions(_x9, _x10) {
207
160
  return _ref6.apply(this, arguments);
208
161
  };
209
162
  }();
210
-
211
163
  exports.fetchLookerVersions = fetchLookerVersions;
212
-
213
164
  var fetchLookerVersion = function () {
214
165
  var _ref7 = _asyncToGenerator(function* (props, versions, options) {
215
166
  if (!versions) {
@@ -220,23 +171,18 @@ var fetchLookerVersion = function () {
220
171
  return '';
221
172
  }
222
173
  }
223
-
224
174
  var matches = versions.looker_release_version.match(/^\d+\.\d+/i);
225
175
  return matches[0];
226
176
  });
227
-
228
177
  return function fetchLookerVersion(_x11, _x12, _x13) {
229
178
  return _ref7.apply(this, arguments);
230
179
  };
231
180
  }();
232
-
233
181
  exports.fetchLookerVersion = fetchLookerVersion;
234
-
235
182
  var fetchSpec = function () {
236
183
  var _ref8 = _asyncToGenerator(function* (name, spec, props) {
237
184
  var fileName = swaggerFileName(name, spec.key);
238
185
  if ((0, _nodeUtils.isFileSync)(fileName)) return fileName;
239
-
240
186
  try {
241
187
  var content = yield authGetUrl(props, spec.specURL || 'missing spec url');
242
188
  (0, _nodeUtils.createJsonFile)(fileName, content);
@@ -246,32 +192,24 @@ var fetchSpec = function () {
246
192
  return (0, _nodeUtils.quit)(err);
247
193
  }
248
194
  });
249
-
250
195
  return function fetchSpec(_x14, _x15, _x16) {
251
196
  return _ref8.apply(this, arguments);
252
197
  };
253
198
  }();
254
-
255
199
  exports.fetchSpec = fetchSpec;
256
-
257
200
  var logFetchSpec = function () {
258
201
  var _ref9 = _asyncToGenerator(function* (name, spec, props) {
259
202
  var specFile = yield fetchSpec(name, spec, props);
260
-
261
203
  if (!specFile) {
262
204
  return (0, _nodeUtils.fail)('fetchSpec', 'No specification file name returned');
263
205
  }
264
-
265
206
  return specFile;
266
207
  });
267
-
268
208
  return function logFetchSpec(_x17, _x18, _x19) {
269
209
  return _ref9.apply(this, arguments);
270
210
  };
271
211
  }();
272
-
273
212
  exports.logFetchSpec = logFetchSpec;
274
-
275
213
  var getVersionInfo = function () {
276
214
  var _ref10 = _asyncToGenerator(function* (props) {
277
215
  try {
@@ -292,17 +230,13 @@ var getVersionInfo = function () {
292
230
  e
293
231
  });
294
232
  }
295
-
296
233
  return undefined;
297
234
  });
298
-
299
235
  return function getVersionInfo(_x20) {
300
236
  return _ref10.apply(this, arguments);
301
237
  };
302
238
  }();
303
-
304
239
  exports.getVersionInfo = getVersionInfo;
305
-
306
240
  var logConvertSpec = function () {
307
241
  var _ref11 = _asyncToGenerator(function* (name, spec, props) {
308
242
  var force = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
@@ -311,18 +245,14 @@ var logConvertSpec = function () {
311
245
  if ((0, _nodeUtils.isFileSync)(oaFile) && !force) return oaFile;
312
246
  var specFile = yield logFetchSpec(name, spec, props);
313
247
  result = (0, _convert.convertSpec)(specFile, oaFile, force);
314
-
315
248
  if (!result) {
316
249
  return (0, _nodeUtils.fail)('logConvert', 'No file name returned for openAPI upgrade');
317
250
  }
318
-
319
251
  return result;
320
252
  });
321
-
322
253
  return function logConvertSpec(_x21, _x22, _x23) {
323
254
  return _ref11.apply(this, arguments);
324
255
  };
325
256
  }();
326
-
327
257
  exports.logConvertSpec = logConvertSpec;
328
258
  //# sourceMappingURL=fetchSpec.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/fetchSpec.ts"],"names":["transport","specTransport","props","options","agentTag","base_url","timeout","defaultTimeout","verify_ssl","NodeTransport","loginUrl","api_version","logoutUrl","supportedVersion","version","versions","undefined","found","Object","entries","supported_versions","find","value","specPath","swaggerFileName","name","specKey","openApiFileName","badAuth","content","text","JSON","stringify","indexOf","logout","token","xp","request","headers","Authorization","login","creds","client_id","process","env","LOOKERSDK_CLIENT_ID","client_secret","LOOKERSDK_CLIENT_SECRET","url","response","accessToken","access_token","Error","checkCertError","err","message","match","getUrl","ref","URL","protocol","pathname","authGetUrl","failQuits","authFailed","fetchLookerVersions","fetchLookerVersion","e","matches","looker_release_version","fetchSpec","spec","fileName","key","specURL","logFetchSpec","specFile","getVersionInfo","lookerVersion","isDefault","status","console","error","logConvertSpec","force","result","oaFile"],"mappings":"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","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport { danger, log, warn } from '@looker/sdk-codegen-utils'\nimport type { IVersionInfo, SpecItem } from '@looker/sdk-codegen'\nimport type { ITransportSettings } from '@looker/sdk-rtl'\nimport { defaultTimeout, sdkOk } from '@looker/sdk-rtl'\nimport { NodeTransport } from '@looker/sdk-node'\nimport {\n fail,\n quit,\n isFileSync,\n readFileSync,\n createJsonFile,\n} from './nodeUtils'\nimport type { ISDKConfigProps } from './sdkConfig'\nimport { convertSpec } from './convert'\n\nlet transport: NodeTransport\n\n/**\n * Customize request transport properties for SDK codegen\n * @param props SDK configuration properties\n * @returns {NodeTransport} codegen-specific overrides\n * @constructor\n */\nexport const specTransport = (props: ISDKConfigProps) => {\n if (transport) return transport\n const options: ITransportSettings = {\n agentTag: 'SDK Codegen',\n base_url: props.base_url,\n timeout: (props as unknown as any).timeout || defaultTimeout,\n verify_ssl: props.verify_ssl,\n }\n transport = new NodeTransport(options)\n return transport\n}\n\nconst loginUrl = (props: ISDKConfigProps) =>\n `${props.base_url}/api/${props.api_version}/login`\n\nconst logoutUrl = (props: ISDKConfigProps) =>\n `${props.base_url}/api/${props.api_version}/logout`\n\nexport const supportedVersion = (version: string, versions: any) => {\n if (!('supported_versions' in versions)) {\n danger('Could not find supported versions')\n return undefined\n }\n const found = Object.entries(versions.supported_versions).find(\n ([, value]) => (value as any).version === version\n )\n if (found) return found[1]\n return undefined\n}\n\nexport const specPath = 'spec'\n\nexport const swaggerFileName = (name: string, specKey: string) =>\n `${specPath}/${name}.${specKey}.json`\n\nexport const openApiFileName = (name: string, specKey: string) =>\n `${specPath}/${name}.${specKey}.oas.json`\n\n/**\n * Is there an authentication error?\n * @param content response to check\n * @returns True if there's an authentication error\n */\nconst badAuth = (content: string | Record<string, unknown>) => {\n const text = typeof content === 'object' ? JSON.stringify(content) : content\n return text.indexOf('Requires authentication') > 0\n}\n\nexport const logout = async (props: ISDKConfigProps, token: string) => {\n const xp = specTransport(props)\n\n return sdkOk<string, Error>(\n xp.request<string, Error>(\n 'DELETE',\n logoutUrl(props),\n undefined,\n undefined,\n undefined,\n { headers: { Authorization: `Bearer ${token}` } }\n )\n )\n}\n\nexport const login = async (props: ISDKConfigProps) => {\n const xp = specTransport(props)\n const creds = {\n client_id: props.client_id ?? process.env.LOOKERSDK_CLIENT_ID,\n client_secret: props.client_secret ?? process.env.LOOKERSDK_CLIENT_SECRET,\n }\n const url = loginUrl(props)\n\n const response = await sdkOk<any, Error>(\n xp.request<any, Error>('POST', url, creds, undefined, undefined, undefined)\n )\n const accessToken = await response.access_token\n\n if (accessToken) {\n return accessToken\n } else {\n log(`Server Response: ${JSON.stringify(response)}`)\n throw new Error('Access token could not be retrieved.')\n }\n}\n\nconst checkCertError = (err: Error): boolean => {\n if (err.message && err.message.match(/self signed certificate/gi)) {\n warn(`\nNOTE! Certificate validation can be disabled with:\n NODE_TLS_REJECT_UNAUTHORIZED=\"0\" {original command}\n`)\n return true\n }\n return false\n}\n\n/**\n * gets either an http(s) url, or a file URL by reading directly if it's a file url\n * @param props SDK configuration props\n * @param url to fetch\n * @param options for transport call\n */\nexport const getUrl = async (\n props: ISDKConfigProps,\n url: string,\n options?: Partial<ITransportSettings>\n) => {\n const ref = new URL(url)\n\n if (ref.protocol === 'file:') {\n return readFileSync(ref.pathname)\n }\n const xp = specTransport(props)\n return await sdkOk<string, Error>(\n xp.request('GET', url, undefined, undefined, undefined, options)\n )\n}\n\nexport const authGetUrl = async (\n props: ISDKConfigProps,\n url: string,\n failQuits = true,\n options?: Partial<ITransportSettings>\n) => {\n let token = null\n let content: any = null\n try {\n // Try first without login. Most Looker instances don't require auth for spec retrieval\n content = await getUrl(props, url, options)\n } catch (err: any) {\n if (err.message.indexOf('ETIMEDOUT') > 0) {\n throw err\n }\n // Whoops! Ok, try again with login\n token = await login(props)\n options = { options, ...{ headers: { Authorization: `Bearer ${token}` } } }\n content = await getUrl(props, url, options)\n if (token) {\n await logout(props, token)\n }\n }\n\n if (badAuth(content)) {\n const authFailed = 'Authentication failed'\n if (failQuits) {\n return quit(authFailed)\n } else {\n throw new Error(authFailed)\n }\n }\n return content\n}\n\nexport const fetchLookerVersions = async (\n props: ISDKConfigProps,\n options?: Partial<ITransportSettings>\n) => {\n return await authGetUrl(props, `${props.base_url}/versions`, false, options)\n}\n\nexport const fetchLookerVersion = async (\n props: ISDKConfigProps,\n versions?: any,\n options?: Partial<ITransportSettings>\n) => {\n if (!versions) {\n try {\n versions = await fetchLookerVersions(props, options)\n } catch (e: any) {\n warn(\n `Could not retrieve looker release version from \"${props.base_url}/versions\": ${e.message}`\n )\n return ''\n }\n }\n const matches = versions.looker_release_version.match(/^\\d+\\.\\d+/i)\n return matches[0]\n}\n\nexport const fetchSpec = async (\n name: string,\n spec: SpecItem,\n props: ISDKConfigProps\n) => {\n const fileName = swaggerFileName(name, spec.key)\n // No need to fetch if the file already exists\n // TODO make this a switch or remove caching?\n if (isFileSync(fileName)) return fileName\n\n try {\n const content = await authGetUrl(props, spec.specURL || 'missing spec url')\n\n createJsonFile(fileName, content)\n\n return fileName\n } catch (err: any) {\n checkCertError(err)\n return quit(err)\n }\n}\n\nexport const logFetchSpec = async (\n name: string,\n spec: SpecItem,\n props: ISDKConfigProps\n) => {\n const specFile = await fetchSpec(name, spec, props)\n if (!specFile) {\n return fail('fetchSpec', 'No specification file name returned')\n }\n return specFile\n}\n\nexport const getVersionInfo = async (\n props: ISDKConfigProps\n): Promise<IVersionInfo | undefined> => {\n try {\n const lookerVersion = await fetchLookerVersion(props)\n return {\n spec: {\n key: props.api_version,\n version: props.api_version,\n isDefault: false,\n status: 'mocked',\n },\n lookerVersion,\n }\n } catch (e: any) {\n warn(\n `Could not retrieve version information. Is ${props.base_url} running?`\n )\n checkCertError(e)\n console.error({ e })\n }\n return undefined\n}\n\n/**\n * Fetch (if needed) and convert a Swagger API specification to OpenAPI\n * @param name base name of the target file\n * @param spec specification derived\n * @param props SDK configuration properties to use\n * @param force true to force re-conversion of the spec\n * @returns {Promise<string>} name of converted OpenAPI file\n */\nexport const logConvertSpec = async (\n name: string,\n spec: SpecItem,\n props: ISDKConfigProps,\n force = false\n) => {\n // if openApiFile is resolved correctly, this value will be the file name\n let result = ''\n const oaFile = openApiFileName(name, spec.key)\n if (isFileSync(oaFile) && !force) return oaFile\n\n const specFile = await logFetchSpec(name, spec, props)\n result = convertSpec(specFile, oaFile, force)\n if (!result) {\n return fail('logConvert', 'No file name returned for openAPI upgrade')\n }\n\n return result\n}\n"],"file":"fetchSpec.js"}
1
+ {"version":3,"file":"fetchSpec.js","names":["transport","specTransport","props","options","agentTag","base_url","timeout","defaultTimeout","verify_ssl","NodeTransport","loginUrl","api_version","logoutUrl","supportedVersion","version","versions","danger","undefined","found","Object","entries","supported_versions","find","value","specPath","swaggerFileName","name","specKey","openApiFileName","badAuth","content","text","JSON","stringify","indexOf","logout","token","xp","sdkOk","request","headers","Authorization","login","creds","client_id","process","env","LOOKERSDK_CLIENT_ID","client_secret","LOOKERSDK_CLIENT_SECRET","url","response","accessToken","access_token","log","Error","checkCertError","err","message","match","warn","getUrl","ref","URL","protocol","readFileSync","pathname","authGetUrl","failQuits","authFailed","quit","fetchLookerVersions","fetchLookerVersion","e","matches","looker_release_version","fetchSpec","spec","fileName","key","isFileSync","specURL","createJsonFile","logFetchSpec","specFile","fail","getVersionInfo","lookerVersion","isDefault","status","console","error","logConvertSpec","force","result","oaFile","convertSpec"],"sources":["../src/fetchSpec.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport { danger, log, warn } from '@looker/sdk-codegen-utils'\nimport type { IVersionInfo, SpecItem } from '@looker/sdk-codegen'\nimport type { ITransportSettings } from '@looker/sdk-rtl'\nimport { defaultTimeout, sdkOk } from '@looker/sdk-rtl'\nimport { NodeTransport } from '@looker/sdk-node'\nimport {\n fail,\n quit,\n isFileSync,\n readFileSync,\n createJsonFile,\n} from './nodeUtils'\nimport type { ISDKConfigProps } from './sdkConfig'\nimport { convertSpec } from './convert'\n\nlet transport: NodeTransport\n\n/**\n * Customize request transport properties for SDK codegen\n * @param props SDK configuration properties\n * @returns {NodeTransport} codegen-specific overrides\n * @constructor\n */\nexport const specTransport = (props: ISDKConfigProps) => {\n if (transport) return transport\n const options: ITransportSettings = {\n agentTag: 'SDK Codegen',\n base_url: props.base_url,\n timeout: (props as unknown as any).timeout || defaultTimeout,\n verify_ssl: props.verify_ssl,\n }\n transport = new NodeTransport(options)\n return transport\n}\n\nconst loginUrl = (props: ISDKConfigProps) =>\n `${props.base_url}/api/${props.api_version}/login`\n\nconst logoutUrl = (props: ISDKConfigProps) =>\n `${props.base_url}/api/${props.api_version}/logout`\n\nexport const supportedVersion = (version: string, versions: any) => {\n if (!('supported_versions' in versions)) {\n danger('Could not find supported versions')\n return undefined\n }\n const found = Object.entries(versions.supported_versions).find(\n ([, value]) => (value as any).version === version\n )\n if (found) return found[1]\n return undefined\n}\n\nexport const specPath = 'spec'\n\nexport const swaggerFileName = (name: string, specKey: string) =>\n `${specPath}/${name}.${specKey}.json`\n\nexport const openApiFileName = (name: string, specKey: string) =>\n `${specPath}/${name}.${specKey}.oas.json`\n\n/**\n * Is there an authentication error?\n * @param content response to check\n * @returns True if there's an authentication error\n */\nconst badAuth = (content: string | Record<string, unknown>) => {\n const text = typeof content === 'object' ? JSON.stringify(content) : content\n return text.indexOf('Requires authentication') > 0\n}\n\nexport const logout = async (props: ISDKConfigProps, token: string) => {\n const xp = specTransport(props)\n\n return sdkOk<string, Error>(\n xp.request<string, Error>(\n 'DELETE',\n logoutUrl(props),\n undefined,\n undefined,\n undefined,\n { headers: { Authorization: `Bearer ${token}` } }\n )\n )\n}\n\nexport const login = async (props: ISDKConfigProps) => {\n const xp = specTransport(props)\n const creds = {\n client_id: props.client_id ?? process.env.LOOKERSDK_CLIENT_ID,\n client_secret: props.client_secret ?? process.env.LOOKERSDK_CLIENT_SECRET,\n }\n const url = loginUrl(props)\n\n const response = await sdkOk<any, Error>(\n xp.request<any, Error>('POST', url, creds, undefined, undefined, undefined)\n )\n const accessToken = await response.access_token\n\n if (accessToken) {\n return accessToken\n } else {\n log(`Server Response: ${JSON.stringify(response)}`)\n throw new Error('Access token could not be retrieved.')\n }\n}\n\nconst checkCertError = (err: Error): boolean => {\n if (err.message && err.message.match(/self signed certificate/gi)) {\n warn(`\nNOTE! Certificate validation can be disabled with:\n NODE_TLS_REJECT_UNAUTHORIZED=\"0\" {original command}\n`)\n return true\n }\n return false\n}\n\n/**\n * gets either an http(s) url, or a file URL by reading directly if it's a file url\n * @param props SDK configuration props\n * @param url to fetch\n * @param options for transport call\n */\nexport const getUrl = async (\n props: ISDKConfigProps,\n url: string,\n options?: Partial<ITransportSettings>\n) => {\n const ref = new URL(url)\n\n if (ref.protocol === 'file:') {\n return readFileSync(ref.pathname)\n }\n const xp = specTransport(props)\n return await sdkOk<string, Error>(\n xp.request('GET', url, undefined, undefined, undefined, options)\n )\n}\n\nexport const authGetUrl = async (\n props: ISDKConfigProps,\n url: string,\n failQuits = true,\n options?: Partial<ITransportSettings>\n) => {\n let token = null\n let content: any = null\n try {\n // Try first without login. Most Looker instances don't require auth for spec retrieval\n content = await getUrl(props, url, options)\n } catch (err: any) {\n if (err.message.indexOf('ETIMEDOUT') > 0) {\n throw err\n }\n // Whoops! Ok, try again with login\n token = await login(props)\n options = { options, ...{ headers: { Authorization: `Bearer ${token}` } } }\n content = await getUrl(props, url, options)\n if (token) {\n await logout(props, token)\n }\n }\n\n if (badAuth(content)) {\n const authFailed = 'Authentication failed'\n if (failQuits) {\n return quit(authFailed)\n } else {\n throw new Error(authFailed)\n }\n }\n return content\n}\n\nexport const fetchLookerVersions = async (\n props: ISDKConfigProps,\n options?: Partial<ITransportSettings>\n) => {\n return await authGetUrl(props, `${props.base_url}/versions`, false, options)\n}\n\nexport const fetchLookerVersion = async (\n props: ISDKConfigProps,\n versions?: any,\n options?: Partial<ITransportSettings>\n) => {\n if (!versions) {\n try {\n versions = await fetchLookerVersions(props, options)\n } catch (e: any) {\n warn(\n `Could not retrieve looker release version from \"${props.base_url}/versions\": ${e.message}`\n )\n return ''\n }\n }\n const matches = versions.looker_release_version.match(/^\\d+\\.\\d+/i)\n return matches[0]\n}\n\nexport const fetchSpec = async (\n name: string,\n spec: SpecItem,\n props: ISDKConfigProps\n) => {\n const fileName = swaggerFileName(name, spec.key)\n // No need to fetch if the file already exists\n // TODO make this a switch or remove caching?\n if (isFileSync(fileName)) return fileName\n\n try {\n const content = await authGetUrl(props, spec.specURL || 'missing spec url')\n\n createJsonFile(fileName, content)\n\n return fileName\n } catch (err: any) {\n checkCertError(err)\n return quit(err)\n }\n}\n\nexport const logFetchSpec = async (\n name: string,\n spec: SpecItem,\n props: ISDKConfigProps\n) => {\n const specFile = await fetchSpec(name, spec, props)\n if (!specFile) {\n return fail('fetchSpec', 'No specification file name returned')\n }\n return specFile\n}\n\nexport const getVersionInfo = async (\n props: ISDKConfigProps\n): Promise<IVersionInfo | undefined> => {\n try {\n const lookerVersion = await fetchLookerVersion(props)\n return {\n spec: {\n key: props.api_version,\n version: props.api_version,\n isDefault: false,\n status: 'mocked',\n },\n lookerVersion,\n }\n } catch (e: any) {\n warn(\n `Could not retrieve version information. Is ${props.base_url} running?`\n )\n checkCertError(e)\n console.error({ e })\n }\n return undefined\n}\n\n/**\n * Fetch (if needed) and convert a Swagger API specification to OpenAPI\n * @param name base name of the target file\n * @param spec specification derived\n * @param props SDK configuration properties to use\n * @param force true to force re-conversion of the spec\n * @returns {Promise<string>} name of converted OpenAPI file\n */\nexport const logConvertSpec = async (\n name: string,\n spec: SpecItem,\n props: ISDKConfigProps,\n force = false\n) => {\n // if openApiFile is resolved correctly, this value will be the file name\n let result = ''\n const oaFile = openApiFileName(name, spec.key)\n if (isFileSync(oaFile) && !force) return oaFile\n\n const specFile = await logFetchSpec(name, spec, props)\n result = convertSpec(specFile, oaFile, force)\n if (!result) {\n return fail('logConvert', 'No file name returned for openAPI upgrade')\n }\n\n return result\n}\n"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _convert = require("./convert");
8
-
9
7
  Object.keys(_convert).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _convert[key]) return;
@@ -16,9 +14,7 @@ Object.keys(_convert).forEach(function (key) {
16
14
  }
17
15
  });
18
16
  });
19
-
20
17
  var _fetchSpec = require("./fetchSpec");
21
-
22
18
  Object.keys(_fetchSpec).forEach(function (key) {
23
19
  if (key === "default" || key === "__esModule") return;
24
20
  if (key in exports && exports[key] === _fetchSpec[key]) return;
@@ -29,9 +25,7 @@ Object.keys(_fetchSpec).forEach(function (key) {
29
25
  }
30
26
  });
31
27
  });
32
-
33
28
  var _languages = require("./languages");
34
-
35
29
  Object.keys(_languages).forEach(function (key) {
36
30
  if (key === "default" || key === "__esModule") return;
37
31
  if (key in exports && exports[key] === _languages[key]) return;
@@ -42,9 +36,7 @@ Object.keys(_languages).forEach(function (key) {
42
36
  }
43
37
  });
44
38
  });
45
-
46
39
  var _nodeUtils = require("./nodeUtils");
47
-
48
40
  Object.keys(_nodeUtils).forEach(function (key) {
49
41
  if (key === "default" || key === "__esModule") return;
50
42
  if (key in exports && exports[key] === _nodeUtils[key]) return;
@@ -55,9 +47,7 @@ Object.keys(_nodeUtils).forEach(function (key) {
55
47
  }
56
48
  });
57
49
  });
58
-
59
50
  var _reformatter = require("./reformatter");
60
-
61
51
  Object.keys(_reformatter).forEach(function (key) {
62
52
  if (key === "default" || key === "__esModule") return;
63
53
  if (key in exports && exports[key] === _reformatter[key]) return;
@@ -68,9 +58,7 @@ Object.keys(_reformatter).forEach(function (key) {
68
58
  }
69
59
  });
70
60
  });
71
-
72
61
  var _sdkConfig = require("./sdkConfig");
73
-
74
62
  Object.keys(_sdkConfig).forEach(function (key) {
75
63
  if (key === "default" || key === "__esModule") return;
76
64
  if (key in exports && exports[key] === _sdkConfig[key]) return;
@@ -81,9 +69,7 @@ Object.keys(_sdkConfig).forEach(function (key) {
81
69
  }
82
70
  });
83
71
  });
84
-
85
72
  var _sdkGenerator = require("./sdkGenerator");
86
-
87
73
  Object.keys(_sdkGenerator).forEach(function (key) {
88
74
  if (key === "default" || key === "__esModule") return;
89
75
  if (key in exports && exports[key] === _sdkGenerator[key]) return;
@@ -94,9 +80,7 @@ Object.keys(_sdkGenerator).forEach(function (key) {
94
80
  }
95
81
  });
96
82
  });
97
-
98
83
  var _prettify = require("./prettify");
99
-
100
84
  Object.keys(_prettify).forEach(function (key) {
101
85
  if (key === "default" || key === "__esModule") return;
102
86
  if (key in exports && exports[key] === _prettify[key]) return;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AA0BA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nexport * from './convert'\nexport * from './fetchSpec'\nexport * from './languages'\nexport * from './nodeUtils'\nexport * from './reformatter'\nexport * from './sdkConfig'\nexport * from './sdkGenerator'\nexport * from './prettify'\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nexport * from './convert'\nexport * from './fetchSpec'\nexport * from './languages'\nexport * from './nodeUtils'\nexport * from './reformatter'\nexport * from './sdkConfig'\nexport * from './sdkGenerator'\nexport * from './prettify'\n"],"mappings":";;;;;AA0BA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
package/lib/languages.js CHANGED
@@ -4,37 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getGenerator = void 0;
7
-
8
7
  var _config = _interopRequireDefault(require("config"));
9
-
10
8
  var _sdkCodegen = require("@looker/sdk-codegen");
11
-
12
9
  var _nodeUtils = require("./nodeUtils");
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  var getGenerator = (language, api, versions) => {
17
12
  var gen = (0, _sdkCodegen.getCodeGenerator)(language, api, versions);
18
-
19
13
  if (!gen) {
20
14
  var langs = _sdkCodegen.codeGenerators.map(item => item.language);
21
-
22
15
  (0, _nodeUtils.quit)("\"".concat(language, "\" is not a recognized language. Supported languages are: all, ").concat(langs.join(', ')));
23
16
  return undefined;
24
17
  }
25
-
26
18
  if (_config.default.has(language)) {
27
19
  var overrides = _config.default.get(language);
28
-
29
20
  Object.keys(overrides).forEach(key => {
30
21
  if (key in gen) {
31
22
  gen[key] = overrides[key];
32
23
  }
33
24
  });
34
25
  }
35
-
36
26
  return gen;
37
27
  };
38
-
39
28
  exports.getGenerator = getGenerator;
40
29
  //# sourceMappingURL=languages.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/languages.ts"],"names":["getGenerator","language","api","versions","gen","langs","codeGenerators","map","item","join","undefined","config","has","overrides","get","Object","keys","forEach","key"],"mappings":";;;;;;;AA0BA;;AAEA;;AACA;;;;AAcO,IAAMA,YAAY,GAAG,CAC1BC,QAD0B,EAE1BC,GAF0B,EAG1BC,QAH0B,KAID;AACzB,MAAMC,GAAG,GAAG,kCAAiBH,QAAjB,EAA2BC,GAA3B,EAAgCC,QAAhC,CAAZ;;AACA,MAAI,CAACC,GAAL,EAAU;AACR,QAAMC,KAAK,GAAGC,2BAAeC,GAAf,CAAoBC,IAAD,IAAUA,IAAI,CAACP,QAAlC,CAAd;;AACA,qCACMA,QADN,4EAC+EI,KAAK,CAACI,IAAN,CAC3E,IAD2E,CAD/E;AAMA,WAAOC,SAAP;AACD;;AAED,MAAIC,gBAAOC,GAAP,CAAWX,QAAX,CAAJ,EAA0B;AACxB,QAAMY,SAAS,GAAGF,gBAAOG,GAAP,CAAqBb,QAArB,CAAlB;;AAGAc,IAAAA,MAAM,CAACC,IAAP,CAAYH,SAAZ,EAAuBI,OAAvB,CAAgCC,GAAD,IAAS;AACtC,UAAIA,GAAG,IAAId,GAAX,EAAgB;AACdA,QAAAA,GAAG,CAACc,GAAD,CAAH,GAAWL,SAAS,CAACK,GAAD,CAApB;AACD;AACF,KAJD;AAKD;;AACD,SAAOd,GAAP;AACD,CA5BM","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport config from 'config'\nimport type { ApiModel, ICodeGen, IVersionInfo } from '@looker/sdk-codegen'\nimport { codeGenerators, getCodeGenerator } from '@looker/sdk-codegen'\nimport { quit } from './nodeUtils'\n\n/**\n * constructs a language generator by name\n *\n * CodeGenerator settings can be overridden by creating a config file and adding an entry for the desired language\n *\n * See the `config` folder in this package for more sample config files\n *\n * @param language name or alias of code language to generate\n * @param api API specification\n * @param versions version info to use for stamping the agentTag\n * @returns either an ICodeGen implementation or undefined\n */\nexport const getGenerator = (\n language: string,\n api: ApiModel,\n versions?: IVersionInfo\n): ICodeGen | undefined => {\n const gen = getCodeGenerator(language, api, versions)\n if (!gen) {\n const langs = codeGenerators.map((item) => item.language)\n quit(\n `\"${language}\" is not a recognized language. Supported languages are: all, ${langs.join(\n ', '\n )}`\n )\n // TS doesn't know quit() exits the program\n return undefined\n }\n\n if (config.has(language)) {\n const overrides = config.get<ICodeGen>(language)\n // Spread operator loses class functions\n // gen = { ...gen, ...overrides }\n Object.keys(overrides).forEach((key) => {\n if (key in gen) {\n gen[key] = overrides[key]\n }\n })\n }\n return gen\n}\n"],"file":"languages.js"}
1
+ {"version":3,"file":"languages.js","names":["getGenerator","language","api","versions","gen","getCodeGenerator","langs","codeGenerators","map","item","quit","join","undefined","config","has","overrides","get","Object","keys","forEach","key"],"sources":["../src/languages.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport config from 'config'\nimport type { ApiModel, ICodeGen, IVersionInfo } from '@looker/sdk-codegen'\nimport { codeGenerators, getCodeGenerator } from '@looker/sdk-codegen'\nimport { quit } from './nodeUtils'\n\n/**\n * constructs a language generator by name\n *\n * CodeGenerator settings can be overridden by creating a config file and adding an entry for the desired language\n *\n * See the `config` folder in this package for more sample config files\n *\n * @param language name or alias of code language to generate\n * @param api API specification\n * @param versions version info to use for stamping the agentTag\n * @returns either an ICodeGen implementation or undefined\n */\nexport const getGenerator = (\n language: string,\n api: ApiModel,\n versions?: IVersionInfo\n): ICodeGen | undefined => {\n const gen = getCodeGenerator(language, api, versions)\n if (!gen) {\n const langs = codeGenerators.map((item) => item.language)\n quit(\n `\"${language}\" is not a recognized language. Supported languages are: all, ${langs.join(\n ', '\n )}`\n )\n // TS doesn't know quit() exits the program\n return undefined\n }\n\n if (config.has(language)) {\n const overrides = config.get<ICodeGen>(language)\n // Spread operator loses class functions\n // gen = { ...gen, ...overrides }\n Object.keys(overrides).forEach((key) => {\n if (key in gen) {\n gen[key] = overrides[key]\n }\n })\n }\n return gen\n}\n"],"mappings":";;;;;;AA0BA;AAEA;AACA;AAAkC;AAc3B,IAAMA,YAAY,GAAG,CAC1BC,QAAgB,EAChBC,GAAa,EACbC,QAAuB,KACE;EACzB,IAAMC,GAAG,GAAG,IAAAC,4BAAgB,EAACJ,QAAQ,EAAEC,GAAG,EAAEC,QAAQ,CAAC;EACrD,IAAI,CAACC,GAAG,EAAE;IACR,IAAME,KAAK,GAAGC,0BAAc,CAACC,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACR,QAAQ,CAAC;IACzD,IAAAS,eAAI,cACET,QAAQ,4EAAiEK,KAAK,CAACK,IAAI,CACrF,IAAI,CACL,EACF;IAED,OAAOC,SAAS;EAClB;EAEA,IAAIC,eAAM,CAACC,GAAG,CAACb,QAAQ,CAAC,EAAE;IACxB,IAAMc,SAAS,GAAGF,eAAM,CAACG,GAAG,CAAWf,QAAQ,CAAC;IAGhDgB,MAAM,CAACC,IAAI,CAACH,SAAS,CAAC,CAACI,OAAO,CAAEC,GAAG,IAAK;MACtC,IAAIA,GAAG,IAAIhB,GAAG,EAAE;QACdA,GAAG,CAACgB,GAAG,CAAC,GAAGL,SAAS,CAACK,GAAG,CAAC;MAC3B;IACF,CAAC,CAAC;EACJ;EACA,OAAOhB,GAAG;AACZ,CAAC;AAAA"}
package/lib/legacy.js CHANGED
@@ -1,15 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _legacyGenerator = require("./legacyGenerator");
4
-
5
4
  var _sdkConfig = require("./sdkConfig");
6
-
7
5
  var _nodeUtils = require("./nodeUtils");
8
-
9
6
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
10
-
11
7
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
12
-
13
8
  _asyncToGenerator(function* () {
14
9
  try {
15
10
  var config = (0, _sdkConfig.SDKConfig)();
package/lib/legacy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/legacy.ts"],"names":["config","name","props","args","process","argv","slice","e"],"mappings":";;AA0BA;;AACA;;AACA;;;;;;AACC,kBAAC,aAAY;AACZ,MAAI;AACF,QAAMA,MAAM,GAAG,2BAAf;AAEA,QAAMC,IAAI,GAAG,QAAb;AACA,QAAMC,KAAK,GAAGF,MAAM,CAACC,IAAD,CAApB;AACA,QAAME,IAAI,GAAGC,OAAO,CAACC,IAAR,CAAaC,KAAb,CAAmB,CAAnB,CAAb;AAEA,UAAM,gCAAUL,IAAV,EAAgBC,KAAhB,EAAuBC,IAAvB,CAAN;AACD,GARD,CAQE,OAAOI,CAAP,EAAe;AACf,yBAAKA,CAAL;AACD;AACF,CAZA","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport { runConfig } from './legacyGenerator'\nimport { SDKConfig } from './sdkConfig'\nimport { quit } from './nodeUtils'\n;(async () => {\n try {\n const config = SDKConfig()\n // Look for the Looker config section and only run that one\n const name = 'Looker'\n const props = config[name]\n const args = process.argv.slice(2)\n\n await runConfig(name, props, args)\n } catch (e: any) {\n quit(e)\n }\n})()\n"],"file":"legacy.js"}
1
+ {"version":3,"file":"legacy.js","names":["config","SDKConfig","name","props","args","process","argv","slice","runConfig","e","quit"],"sources":["../src/legacy.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport { runConfig } from './legacyGenerator'\nimport { SDKConfig } from './sdkConfig'\nimport { quit } from './nodeUtils'\n;(async () => {\n try {\n const config = SDKConfig()\n // Look for the Looker config section and only run that one\n const name = 'Looker'\n const props = config[name]\n const args = process.argv.slice(2)\n\n await runConfig(name, props, args)\n } catch (e: any) {\n quit(e)\n }\n})()\n"],"mappings":";;AA0BA;AACA;AACA;AACC;AAAA;AAAA,kBAAC,aAAY;EACZ,IAAI;IACF,IAAMA,MAAM,GAAG,IAAAC,oBAAS,GAAE;IAE1B,IAAMC,IAAI,GAAG,QAAQ;IACrB,IAAMC,KAAK,GAAGH,MAAM,CAACE,IAAI,CAAC;IAC1B,IAAME,IAAI,GAAGC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC;IAElC,MAAM,IAAAC,0BAAS,EAACN,IAAI,EAAEC,KAAK,EAAEC,IAAI,CAAC;EACpC,CAAC,CAAC,OAAOK,CAAM,EAAE;IACf,IAAAC,eAAI,EAACD,CAAC,CAAC;EACT;AACF,CAAC,GAAG"}
@@ -4,24 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.runConfig = void 0;
7
-
8
7
  var _sdkCodegenUtils = require("@looker/sdk-codegen-utils");
9
-
10
8
  var _sdkCodegen = require("@looker/sdk-codegen");
11
-
12
9
  var _nodeUtils = require("./nodeUtils");
13
-
14
10
  var _fetchSpec = require("./fetchSpec");
15
-
16
11
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
17
-
18
12
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
19
-
20
13
  var defaultApiVersion = props => {
21
14
  var versions = (props.api_versions || '4.0').split(',');
22
15
  return versions[versions.length - 1];
23
16
  };
24
-
25
17
  var generate = function () {
26
18
  var _ref = _asyncToGenerator(function* (fileName, spec, props) {
27
19
  var path = spec.path ? spec.path : spec.language;
@@ -31,12 +23,10 @@ var generate = function () {
31
23
  var options = spec.options || '';
32
24
  return (0, _nodeUtils.run)('openapi-generator-cli', ['generate', '-i', fileName, '-g', language, '-o', apiPath, '--enable-post-process-file', options]);
33
25
  });
34
-
35
26
  return function generate(_x, _x2, _x3) {
36
27
  return _ref.apply(this, arguments);
37
28
  };
38
29
  }();
39
-
40
30
  var runConfig = function () {
41
31
  var _ref2 = _asyncToGenerator(function* (name, props) {
42
32
  var targets = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
@@ -48,7 +38,6 @@ var runConfig = function () {
48
38
  var openApiFile = yield (0, _fetchSpec.logConvertSpec)(name, specs[apiVersion], props);
49
39
  var languages = (0, _sdkCodegen.legacyLanguages)();
50
40
  var results = [];
51
-
52
41
  var _loop = function* _loop(language) {
53
42
  if (targets.length === 0 || targets.find(t => t.localeCompare(language.language) === 0)) {
54
43
  var tag = "".concat(name, " API ").concat(language.language, " version ").concat(apiVersion);
@@ -56,18 +45,14 @@ var runConfig = function () {
56
45
  results.push(yield generate(openApiFile, language, props));
57
46
  }
58
47
  };
59
-
60
48
  for (var language of languages) {
61
49
  yield* _loop(language);
62
50
  }
63
-
64
51
  return results;
65
52
  });
66
-
67
53
  return function runConfig(_x4, _x5) {
68
54
  return _ref2.apply(this, arguments);
69
55
  };
70
56
  }();
71
-
72
57
  exports.runConfig = runConfig;
73
58
  //# sourceMappingURL=legacyGenerator.js.map