@looker/sdk-codegen-scripts 0.3.1-alpha.7 → 0.3.1-alpha.849

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 (100) hide show
  1. package/CHANGELOG.md +602 -0
  2. package/README.md +4 -2
  3. package/lib/convert.d.ts +1 -9
  4. package/lib/convert.js +30 -119
  5. package/lib/convert.js.map +1 -1
  6. package/lib/declarationMiner.d.ts +28 -0
  7. package/lib/declarationMiner.js +112 -0
  8. package/lib/declarationMiner.js.map +1 -0
  9. package/lib/esm/convert.js +33 -0
  10. package/lib/esm/convert.js.map +1 -0
  11. package/lib/esm/declarationMiner.js +112 -0
  12. package/lib/esm/declarationMiner.js.map +1 -0
  13. package/lib/esm/exampleMiner.js +286 -0
  14. package/lib/esm/exampleMiner.js.map +1 -0
  15. package/lib/esm/fetchSpec.js +258 -0
  16. package/lib/esm/fetchSpec.js.map +1 -0
  17. package/lib/esm/index.js +94 -0
  18. package/lib/esm/index.js.map +1 -0
  19. package/lib/esm/languages.js +29 -0
  20. package/lib/esm/languages.js.map +1 -0
  21. package/lib/esm/legacy.js +19 -0
  22. package/lib/esm/legacy.js.map +1 -0
  23. package/lib/esm/legacyGenerator.js +58 -0
  24. package/lib/esm/legacyGenerator.js.map +1 -0
  25. package/lib/esm/nodeUtils.js +119 -0
  26. package/lib/esm/nodeUtils.js.map +1 -0
  27. package/lib/esm/prettify.js +34 -0
  28. package/lib/esm/prettify.js.map +1 -0
  29. package/lib/esm/reformatter.js +233 -0
  30. package/lib/esm/reformatter.js.map +1 -0
  31. package/lib/esm/sdkConfig.js +44 -0
  32. package/lib/esm/sdkConfig.js.map +1 -0
  33. package/lib/esm/sdkGen.js +112 -0
  34. package/lib/esm/sdkGen.js.map +1 -0
  35. package/lib/esm/sdkGenerator.js +168 -0
  36. package/lib/esm/sdkGenerator.js.map +1 -0
  37. package/lib/esm/specConvert.js +59 -0
  38. package/lib/esm/specConvert.js.map +1 -0
  39. package/lib/esm/testUtils/index.js +28 -0
  40. package/lib/esm/testUtils/index.js.map +1 -0
  41. package/lib/esm/testUtils/mocks.js +16 -0
  42. package/lib/esm/testUtils/mocks.js.map +1 -0
  43. package/lib/esm/testUtils/testUtils.js +66 -0
  44. package/lib/esm/testUtils/testUtils.js.map +1 -0
  45. package/lib/esm/utils.js +183 -0
  46. package/lib/esm/utils.js.map +1 -0
  47. package/lib/esm/yamlToJson.js +19 -0
  48. package/lib/esm/yamlToJson.js.map +1 -0
  49. package/lib/exampleMiner.d.ts +53 -0
  50. package/lib/exampleMiner.js +286 -0
  51. package/lib/exampleMiner.js.map +1 -0
  52. package/lib/fetchSpec.d.ts +12 -15
  53. package/lib/fetchSpec.js +229 -189
  54. package/lib/fetchSpec.js.map +1 -1
  55. package/lib/index.d.ts +1 -4
  56. package/lib/index.js +92 -22
  57. package/lib/index.js.map +1 -1
  58. package/lib/languages.d.ts +2 -11
  59. package/lib/languages.js +25 -47
  60. package/lib/languages.js.map +1 -1
  61. package/lib/legacy.d.ts +0 -1
  62. package/lib/legacy.js +16 -54
  63. package/lib/legacy.js.map +1 -1
  64. package/lib/legacyGenerator.d.ts +2 -0
  65. package/lib/legacyGenerator.js +58 -0
  66. package/lib/legacyGenerator.js.map +1 -0
  67. package/lib/nodeUtils.d.ts +7 -3
  68. package/lib/nodeUtils.js +106 -85
  69. package/lib/nodeUtils.js.map +1 -1
  70. package/lib/prettify.d.ts +2 -0
  71. package/lib/prettify.js +34 -0
  72. package/lib/prettify.js.map +1 -0
  73. package/lib/reformatter.d.ts +5 -1
  74. package/lib/reformatter.js +220 -185
  75. package/lib/reformatter.js.map +1 -1
  76. package/lib/sdkConfig.d.ts +1 -1
  77. package/lib/sdkConfig.js +38 -29
  78. package/lib/sdkConfig.js.map +1 -1
  79. package/lib/sdkGen.d.ts +1 -2
  80. package/lib/sdkGen.js +104 -101
  81. package/lib/sdkGen.js.map +1 -1
  82. package/lib/sdkGenerator.d.ts +21 -8
  83. package/lib/sdkGenerator.js +150 -126
  84. package/lib/sdkGenerator.js.map +1 -1
  85. package/lib/specConvert.d.ts +0 -1
  86. package/lib/specConvert.js +53 -66
  87. package/lib/specConvert.js.map +1 -1
  88. package/lib/testUtils/index.js +28 -0
  89. package/lib/testUtils/index.js.map +1 -0
  90. package/lib/testUtils/mocks.js +16 -0
  91. package/lib/testUtils/mocks.js.map +1 -0
  92. package/lib/testUtils/testUtils.js +66 -0
  93. package/lib/testUtils/testUtils.js.map +1 -0
  94. package/lib/utils.d.ts +24 -0
  95. package/lib/utils.js +183 -0
  96. package/lib/utils.js.map +1 -0
  97. package/lib/yamlToJson.d.ts +0 -1
  98. package/lib/yamlToJson.js +14 -32
  99. package/lib/yamlToJson.js.map +1 -1
  100. package/package.json +24 -23
package/lib/index.js CHANGED
@@ -1,24 +1,94 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./convert"), exports);
14
- __exportStar(require("./fetchSpec"), exports);
15
- __exportStar(require("./languages"), exports);
16
- __exportStar(require("./legacy"), exports);
17
- __exportStar(require("./nodeUtils"), exports);
18
- __exportStar(require("./reformatter"), exports);
19
- __exportStar(require("./sdkConfig"), exports);
20
- __exportStar(require("./sdkGen"), exports);
21
- __exportStar(require("./sdkGenerator"), exports);
22
- __exportStar(require("./specConvert"), exports);
23
- __exportStar(require("./yamlToJson"), exports);
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _convert = require("./convert");
7
+ Object.keys(_convert).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _convert[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _convert[key];
14
+ }
15
+ });
16
+ });
17
+ var _fetchSpec = require("./fetchSpec");
18
+ Object.keys(_fetchSpec).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _fetchSpec[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function get() {
24
+ return _fetchSpec[key];
25
+ }
26
+ });
27
+ });
28
+ var _languages = require("./languages");
29
+ Object.keys(_languages).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _languages[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _languages[key];
36
+ }
37
+ });
38
+ });
39
+ var _nodeUtils = require("./nodeUtils");
40
+ Object.keys(_nodeUtils).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _nodeUtils[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function get() {
46
+ return _nodeUtils[key];
47
+ }
48
+ });
49
+ });
50
+ var _reformatter = require("./reformatter");
51
+ Object.keys(_reformatter).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _reformatter[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _reformatter[key];
58
+ }
59
+ });
60
+ });
61
+ var _sdkConfig = require("./sdkConfig");
62
+ Object.keys(_sdkConfig).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _sdkConfig[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function get() {
68
+ return _sdkConfig[key];
69
+ }
70
+ });
71
+ });
72
+ var _sdkGenerator = require("./sdkGenerator");
73
+ Object.keys(_sdkGenerator).forEach(function (key) {
74
+ if (key === "default" || key === "__esModule") return;
75
+ if (key in exports && exports[key] === _sdkGenerator[key]) return;
76
+ Object.defineProperty(exports, key, {
77
+ enumerable: true,
78
+ get: function get() {
79
+ return _sdkGenerator[key];
80
+ }
81
+ });
82
+ });
83
+ var _prettify = require("./prettify");
84
+ Object.keys(_prettify).forEach(function (key) {
85
+ if (key === "default" || key === "__esModule") return;
86
+ if (key in exports && exports[key] === _prettify[key]) return;
87
+ Object.defineProperty(exports, key, {
88
+ enumerable: true,
89
+ get: function get() {
90
+ return _prettify[key];
91
+ }
92
+ });
93
+ });
24
94
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AA0BA,4CAAyB;AACzB,8CAA2B;AAC3B,8CAA2B;AAC3B,2CAAwB;AACxB,8CAA2B;AAC3B,gDAA6B;AAC7B,8CAA2B;AAC3B,2CAAwB;AACxB,iDAA8B;AAC9B,gDAA6B;AAC7B,+CAA4B"}
1
+ {"version":3,"file":"index.js","names":["_convert","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_fetchSpec","_languages","_nodeUtils","_reformatter","_sdkConfig","_sdkGenerator","_prettify"],"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":"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"}
@@ -1,11 +1,2 @@
1
- import { ICodeGen, ApiModel, IVersionInfo } from '@looker/sdk-codegen';
2
- export interface IGeneratorSpec {
3
- language: string;
4
- path?: string;
5
- factory?: (api: ApiModel, versions?: IVersionInfo) => ICodeGen;
6
- options?: string;
7
- legacy?: string;
8
- }
9
- export declare const Languages: Array<IGeneratorSpec>;
10
- export declare const getFormatter: (format: string, api: ApiModel, versions?: IVersionInfo | undefined) => ICodeGen | undefined;
11
- export declare const legacyLanguages: () => Array<IGeneratorSpec>;
1
+ import type { ApiModel, ICodeGen, IVersionInfo } from '@looker/sdk-codegen';
2
+ export declare const getGenerator: (language: string, api: ApiModel, versions?: IVersionInfo | undefined) => ICodeGen | undefined;
package/lib/languages.js CHANGED
@@ -1,51 +1,29 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.legacyLanguages = exports.getFormatter = exports.Languages = void 0;
4
- const sdk_codegen_1 = require("@looker/sdk-codegen");
5
- const nodeUtils_1 = require("./nodeUtils");
6
- exports.Languages = [
7
- {
8
- factory: undefined,
9
- language: 'csharp',
10
- legacy: 'csharp',
11
- options: '-papiPackage=Looker -ppackageName=looker',
12
- },
13
- {
14
- factory: undefined,
15
- language: 'go',
16
- legacy: 'go',
17
- options: '-papiPackage=Looker -ppackageName=looker',
18
- },
19
- {
20
- factory: (api, versions) => new sdk_codegen_1.KotlinGen(api, versions),
21
- language: 'kotlin',
22
- },
23
- {
24
- factory: (api, versions) => new sdk_codegen_1.SwiftGen(api, versions),
25
- language: 'swift',
26
- },
27
- {
28
- factory: (api, versions) => new sdk_codegen_1.PythonGen(api, versions),
29
- language: 'python',
30
- },
31
- {
32
- factory: (api, versions) => new sdk_codegen_1.TypescriptGen(api, versions),
33
- language: 'typescript',
34
- },
35
- ];
36
- exports.getFormatter = (format, api, versions) => {
37
- const generators = exports.Languages.filter((x) => x.factory !== undefined);
38
- const language = generators.find((item) => item.language.toLowerCase() === format.toLowerCase());
39
- if (!language) {
40
- const langs = generators.map((item) => item.language);
41
- nodeUtils_1.quit(`"${format}" is not a recognized language. Supported languages are: all, ${langs.join(', ')}`);
42
- }
43
- if (language && language.factory) {
44
- return language.factory(api, versions);
45
- }
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getGenerator = void 0;
7
+ var _config = _interopRequireDefault(require("config"));
8
+ var _sdkCodegen = require("@looker/sdk-codegen");
9
+ var _nodeUtils = require("./nodeUtils");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ var getGenerator = (language, api, versions) => {
12
+ var gen = (0, _sdkCodegen.getCodeGenerator)(language, api, versions);
13
+ if (!gen) {
14
+ var langs = _sdkCodegen.codeGenerators.map(item => item.language);
15
+ (0, _nodeUtils.quit)("\"".concat(language, "\" is not a recognized language. Supported languages are: all, ").concat(langs.join(', ')));
46
16
  return undefined;
17
+ }
18
+ if (_config.default.has(language)) {
19
+ var overrides = _config.default.get(language);
20
+ Object.keys(overrides).forEach(key => {
21
+ if (key in gen) {
22
+ gen[key] = overrides[key];
23
+ }
24
+ });
25
+ }
26
+ return gen;
47
27
  };
48
- exports.legacyLanguages = () => {
49
- return exports.Languages.filter((x) => !!x.legacy);
50
- };
28
+ exports.getGenerator = getGenerator;
51
29
  //# sourceMappingURL=languages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":";;;AA0BA,qDAQ4B;AAC5B,2CAAkC;AAWrB,QAAA,SAAS,GAA0B;IAC9C;QACE,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,0CAA0C;KACpD;IACD;QACE,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,0CAA0C;KACpD;IACD;QACE,OAAO,EAAE,CAAC,GAAa,EAAE,QAAuB,EAAE,EAAE,CAClD,IAAI,uBAAS,CAAC,GAAG,EAAE,QAAQ,CAAC;QAC9B,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,OAAO,EAAE,CAAC,GAAa,EAAE,QAAuB,EAAE,EAAE,CAClD,IAAI,sBAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;QAC7B,QAAQ,EAAE,OAAO;KAClB;IAMD;QACE,OAAO,EAAE,CAAC,GAAa,EAAE,QAAuB,EAAE,EAAE,CAClD,IAAI,uBAAS,CAAC,GAAG,EAAE,QAAQ,CAAC;QAC9B,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,OAAO,EAAE,CAAC,GAAa,EAAE,QAAuB,EAAE,EAAE,CAClD,IAAI,2BAAa,CAAC,GAAG,EAAE,QAAQ,CAAC;QAClC,QAAQ,EAAE,YAAY;KACvB;CAwBF,CAAA;AAEY,QAAA,YAAY,GAAG,CAC1B,MAAc,EACd,GAAa,EACb,QAAuB,EACD,EAAE;IACxB,MAAM,UAAU,GAAG,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAA;IACnE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAC/D,CAAA;IACD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrD,gBAAI,CACF,IAAI,MAAM,iEAAiE,KAAK,CAAC,IAAI,CACnF,IAAI,CACL,EAAE,CACJ,CAAA;KACF;IACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;QAChC,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;KACvC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAEY,QAAA,eAAe,GAAG,GAA0B,EAAE;IACzD,OAAO,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAC5C,CAAC,CAAA"}
1
+ {"version":3,"file":"languages.js","names":["_config","_interopRequireDefault","require","_sdkCodegen","_nodeUtils","obj","__esModule","default","getGenerator","language","api","versions","gen","getCodeGenerator","langs","codeGenerators","map","item","quit","concat","join","undefined","config","has","overrides","get","Object","keys","forEach","key","exports"],"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,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAAkC,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAc3B,IAAMG,YAAY,GAAGA,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,OAAAC,MAAA,CACEV,QAAQ,qEAAAU,MAAA,CAAiEL,KAAK,CAACM,IAAI,CACrF,IAAI,CACL,EACF;IAED,OAAOC,SAAS;EAClB;EAEA,IAAIC,eAAM,CAACC,GAAG,CAACd,QAAQ,CAAC,EAAE;IACxB,IAAMe,SAAS,GAAGF,eAAM,CAACG,GAAG,CAAWhB,QAAQ,CAAC;IAGhDiB,MAAM,CAACC,IAAI,CAACH,SAAS,CAAC,CAACI,OAAO,CAAEC,GAAG,IAAK;MACtC,IAAIA,GAAG,IAAIjB,GAAG,EAAE;QACdA,GAAG,CAACiB,GAAG,CAAC,GAAGL,SAAS,CAACK,GAAG,CAAC;MAC3B;IACF,CAAC,CAAC;EACJ;EACA,OAAOjB,GAAG;AACZ,CAAC;AAAAkB,OAAA,CAAAtB,YAAA,GAAAA,YAAA"}
package/lib/legacy.d.ts CHANGED
@@ -1,2 +1 @@
1
- #!/usr/bin/env node
2
1
  export {};
package/lib/legacy.js CHANGED
@@ -1,57 +1,19 @@
1
- #!/usr/bin/env node
2
1
  "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- const sdk_codegen_utils_1 = require("@looker/sdk-codegen-utils");
5
- const languages_1 = require("./languages");
6
- const sdkConfig_1 = require("./sdkConfig");
7
- const nodeUtils_1 = require("./nodeUtils");
8
- const fetchSpec_1 = require("./fetchSpec");
9
- const defaultApiVersion = (props) => {
10
- const versions = (props.api_versions || '4.0').split(',');
11
- return versions[versions.length - 1];
12
- };
13
- const generate = async (fileName, spec, props) => {
14
- const path = spec.path ? spec.path : spec.language;
15
- const language = spec.legacy ? spec.legacy : spec.language;
16
- const apiVersion = defaultApiVersion(props);
17
- const apiPath = `./api/${apiVersion}/${path}`;
18
- const options = spec.options || '';
19
- return nodeUtils_1.run('openapi-generator', [
20
- 'generate',
21
- '-i',
22
- fileName,
23
- '-g',
24
- language,
25
- '-o',
26
- apiPath,
27
- '--enable-post-process-file',
28
- options,
29
- ]);
30
- };
31
- const runConfig = async (name, props) => {
32
- sdk_codegen_utils_1.log(`processing ${name} configuration ...`);
33
- const apiVersion = defaultApiVersion(props);
34
- props.api_version = apiVersion;
35
- const lookerVersions = fetchSpec_1.fetchLookerVersions(props);
36
- const openApiFile = await fetchSpec_1.logConvertSpec(name, props, lookerVersions);
37
- const languages = languages_1.legacyLanguages();
38
- const results = [];
39
- for (const language of languages) {
40
- const tag = `${name} API ${language.language} version ${apiVersion}`;
41
- sdk_codegen_utils_1.log(`generating ${tag} ...`);
42
- results.push(await generate(openApiFile, language, props));
43
- }
44
- return results;
45
- };
46
- (async () => {
47
- try {
48
- const config = sdkConfig_1.SDKConfig();
49
- const name = 'Looker';
50
- const props = config[name];
51
- void (await runConfig(name, props));
52
- }
53
- catch (e) {
54
- nodeUtils_1.quit(e);
55
- }
2
+
3
+ var _legacyGenerator = require("./legacyGenerator");
4
+ var _sdkConfig = require("./sdkConfig");
5
+ var _nodeUtils = require("./nodeUtils");
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); } }
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); }); }; }
8
+ _asyncToGenerator(function* () {
9
+ try {
10
+ var config = (0, _sdkConfig.SDKConfig)();
11
+ var name = 'Looker';
12
+ var props = config[name];
13
+ var args = process.argv.slice(2);
14
+ yield (0, _legacyGenerator.runConfig)(name, props, args);
15
+ } catch (e) {
16
+ (0, _nodeUtils.quit)(e);
17
+ }
56
18
  })();
57
19
  //# sourceMappingURL=legacy.js.map
package/lib/legacy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../src/legacy.ts"],"names":[],"mappings":";;;AA4BA,iEAA+C;AAC/C,2CAA6E;AAC7E,2CAAwD;AACxD,2CAAuC;AACvC,2CAAiE;AAOjE,MAAM,iBAAiB,GAAG,CAAC,KAAsB,EAAE,EAAE;IACnD,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACzD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACtC,CAAC,CAAA;AAYD,MAAM,QAAQ,GAAG,KAAK,EACpB,QAAgB,EAChB,IAAkB,EAClB,KAAsB,EACtB,EAAE;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAA;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAA;IAC1D,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,SAAS,UAAU,IAAI,IAAI,EAAE,CAAA;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;IAClC,OAAO,eAAG,CAAC,mBAAmB,EAAE;QAC9B,UAAU;QACV,IAAI;QACJ,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,4BAA4B;QAC5B,OAAO;KACR,CAAC,CAAA;AACJ,CAAC,CAAA;AAQD,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAE,KAAsB,EAAE,EAAE;IAC/D,uBAAG,CAAC,cAAc,IAAI,oBAAoB,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC3C,KAAK,CAAC,WAAW,GAAG,UAAU,CAAA;IAC9B,MAAM,cAAc,GAAG,+BAAmB,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,MAAM,0BAAc,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;IACrE,MAAM,SAAS,GAAG,2BAAe,EAAE,CAAA;IAEnC,MAAM,OAAO,GAAU,EAAE,CAAA;IACzB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,MAAM,GAAG,GAAG,GAAG,IAAI,QAAQ,QAAQ,CAAC,QAAQ,YAAY,UAAU,EAAE,CAAA;QACpE,uBAAG,CAAC,cAAc,GAAG,MAAM,CAAC,CAAA;QAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;KAC3D;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CACA;AAAA,CAAC,KAAK,IAAI,EAAE;IACX,IAAI;QACF,MAAM,MAAM,GAAG,qBAAS,EAAE,CAAA;QAE1B,MAAM,IAAI,GAAG,QAAQ,CAAA;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1B,KAAK,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;KACpC;IAAC,OAAO,CAAC,EAAE;QACV,gBAAI,CAAC,CAAC,CAAC,CAAA;KACR;AACH,CAAC,CAAC,EAAE,CAAA"}
1
+ {"version":3,"file":"legacy.js","names":["_legacyGenerator","require","_sdkConfig","_nodeUtils","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","config","SDKConfig","name","props","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,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACC,SAAAG,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,GAAA,cAAAC,IAAA,GAAAP,GAAA,CAAAK,GAAA,EAAAC,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAT,OAAA,CAAAO,KAAA,YAAAG,OAAA,CAAAV,OAAA,CAAAO,KAAA,EAAAI,IAAA,CAAAT,KAAA,EAAAC,MAAA;AAAA,SAAAS,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAV,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAc,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAb,MAAAK,KAAA,IAAAT,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAI,KAAA,cAAAJ,OAAAe,GAAA,IAAApB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAe,GAAA,KAAAhB,KAAA,CAAAiB,SAAA;AAAAP,iBAAA,CAAC,aAAY;EACZ,IAAI;IACF,IAAMQ,MAAM,GAAG,IAAAC,oBAAS,GAAE;IAE1B,IAAMC,IAAI,GAAG,QAAQ;IACrB,IAAMC,KAAK,GAAGH,MAAM,CAACE,IAAI,CAAC;IAC1B,IAAMP,IAAI,GAAGS,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC;IAElC,MAAM,IAAAC,0BAAS,EAACL,IAAI,EAAEC,KAAK,EAAER,IAAI,CAAC;EACpC,CAAC,CAAC,OAAOa,CAAM,EAAE;IACf,IAAAC,eAAI,EAACD,CAAC,CAAC;EACT;AACF,CAAC,GAAG"}
@@ -0,0 +1,2 @@
1
+ import type { ISDKConfigProps } from './sdkConfig';
2
+ export declare const runConfig: (name: string, props: ISDKConfigProps, targets?: string[]) => Promise<any[]>;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.runConfig = void 0;
7
+ var _sdkCodegenUtils = require("@looker/sdk-codegen-utils");
8
+ var _sdkCodegen = require("@looker/sdk-codegen");
9
+ var _nodeUtils = require("./nodeUtils");
10
+ var _fetchSpec = require("./fetchSpec");
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); } }
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); }); }; }
13
+ var defaultApiVersion = props => {
14
+ var versions = (props.api_versions || '4.0').split(',');
15
+ return versions[versions.length - 1];
16
+ };
17
+ var generate = function () {
18
+ var _ref = _asyncToGenerator(function* (fileName, spec, props) {
19
+ var path = spec.path ? spec.path : spec.language;
20
+ var language = spec.legacy ? spec.legacy : spec.language;
21
+ var apiVersion = defaultApiVersion(props);
22
+ var apiPath = "./api/".concat(apiVersion, "/").concat(path);
23
+ var options = spec.options || '';
24
+ return (0, _nodeUtils.run)('openapi-generator-cli', ['generate', '-i', fileName, '-g', language, '-o', apiPath, '--enable-post-process-file', options]);
25
+ });
26
+ return function generate(_x, _x2, _x3) {
27
+ return _ref.apply(this, arguments);
28
+ };
29
+ }();
30
+ var runConfig = function () {
31
+ var _ref2 = _asyncToGenerator(function* (name, props) {
32
+ var targets = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
33
+ (0, _sdkCodegenUtils.log)("processing ".concat(name, " configuration ..."));
34
+ var apiVersion = defaultApiVersion(props);
35
+ props.api_version = apiVersion;
36
+ var lookerVersions = yield (0, _fetchSpec.fetchLookerVersions)(props);
37
+ var specs = yield (0, _sdkCodegen.getSpecsFromVersions)(lookerVersions);
38
+ var openApiFile = yield (0, _fetchSpec.logConvertSpec)(name, specs[apiVersion], props);
39
+ var languages = (0, _sdkCodegen.legacyLanguages)();
40
+ var results = [];
41
+ var _loop = function* _loop(language) {
42
+ if (targets.length === 0 || targets.find(t => t.localeCompare(language.language) === 0)) {
43
+ var tag = "".concat(name, " API ").concat(language.language, " version ").concat(apiVersion);
44
+ (0, _sdkCodegenUtils.log)("generating ".concat(tag, " ..."));
45
+ results.push(yield generate(openApiFile, language, props));
46
+ }
47
+ };
48
+ for (var language of languages) {
49
+ yield* _loop(language);
50
+ }
51
+ return results;
52
+ });
53
+ return function runConfig(_x4, _x5) {
54
+ return _ref2.apply(this, arguments);
55
+ };
56
+ }();
57
+ exports.runConfig = runConfig;
58
+ //# sourceMappingURL=legacyGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacyGenerator.js","names":["_sdkCodegenUtils","require","_sdkCodegen","_nodeUtils","_fetchSpec","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","defaultApiVersion","props","versions","api_versions","split","length","generate","_ref","fileName","spec","path","language","legacy","apiVersion","apiPath","concat","options","run","_x","_x2","_x3","runConfig","_ref2","name","targets","log","api_version","lookerVersions","fetchLookerVersions","specs","getSpecsFromVersions","openApiFile","logConvertSpec","languages","legacyLanguages","results","_loop","find","t","localeCompare","tag","push","_x4","_x5","exports"],"sources":["../src/legacyGenerator.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 { log } from '@looker/sdk-codegen-utils'\nimport type { IGeneratorSpec, IApiVersion } from '@looker/sdk-codegen'\nimport { getSpecsFromVersions, legacyLanguages } from '@looker/sdk-codegen'\nimport type { ISDKConfigProps } from './sdkConfig'\nimport { run } from './nodeUtils'\nimport { fetchLookerVersions, logConvertSpec } from './fetchSpec'\n\n/**\n * Returns the last version in the .ini api_versions comma-delimited list\n * @param {ISDKConfigProps} props\n * @returns {string}\n */\nconst defaultApiVersion = (props: ISDKConfigProps) => {\n const versions = (props.api_versions || '4.0').split(',')\n return versions[versions.length - 1]\n}\n\n/**\n * Generate API bindings with the OpenAPI legacy code generator\n * DEPRECATED: This is using the legacy code generator perform the generation for specific API version, configuration,\n * and language\n *\n * @param {string} fileName specification file name\n * @param {IGeneratorSpec} spec for language generator options\n * @param {ISDKConfigProps} props SDK configuration properties\n * @returns {Promise<Buffer | string>}\n */\nconst generate = async (\n fileName: string,\n spec: IGeneratorSpec,\n props: ISDKConfigProps\n) => {\n const path = spec.path ? spec.path : spec.language\n const language = spec.legacy ? spec.legacy : spec.language\n const apiVersion = defaultApiVersion(props)\n const apiPath = `./api/${apiVersion}/${path}`\n const options = spec.options || ''\n return run('openapi-generator-cli', [\n 'generate',\n '-i',\n fileName,\n '-g',\n language,\n '-o',\n apiPath,\n '--enable-post-process-file',\n options,\n ])\n}\n\n/**\n * Generate all languages for the specified configuration\n * @param name configuration name\n * @param props SDK configuration properties\n * @param targets Optional array of languages to generate\n * @returns generation promises\n */\nexport const runConfig = async (\n name: string,\n props: ISDKConfigProps,\n targets: string[] = []\n) => {\n log(`processing ${name} configuration ...`)\n const apiVersion = defaultApiVersion(props)\n props.api_version = apiVersion\n const lookerVersions = await fetchLookerVersions(props)\n const specs = await getSpecsFromVersions(lookerVersions as IApiVersion)\n const openApiFile = await logConvertSpec(name, specs[apiVersion], props)\n const languages = legacyLanguages()\n\n const results: any[] = []\n for (const language of languages) {\n if (\n targets.length === 0 ||\n targets.find((t) => t.localeCompare(language.language) === 0)\n ) {\n const tag = `${name} API ${language.language} version ${apiVersion}`\n log(`generating ${tag} ...`)\n results.push(await generate(openApiFile, language, props))\n }\n }\n\n return results\n}\n"],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  export declare const utf8Encoding: {
3
- encoding: string;
3
+ encoding: "utf-8";
4
4
  };
5
- export declare const readFileSync: (filePath: string, encoding?: string) => string;
5
+ export declare const readFileSync: (filePath: string, encoding?: BufferEncoding) => string;
6
+ export declare const writeFileSync: (filePath: string, data: any, encoding?: BufferEncoding) => void;
6
7
  export declare const isDirSync: (filePath: string) => boolean;
8
+ export declare const getRootPath: () => string;
9
+ export declare const rootFile: (fileName?: string) => string;
10
+ export declare const createJsonFile: (fileName: string, content: Record<string, unknown> | string) => string;
7
11
  export declare const isFileSync: (filePath: string) => boolean;
8
12
  export declare const quit: (err?: string | Error | undefined) => string;
9
13
  export declare const fail: (name: string, message: string) => string;
10
- export declare const run: (command: string, args: string[], errMsg?: string | undefined, warning?: boolean) => string | Buffer;
14
+ export declare const run: (command: string, args: string[], errMsg?: string | undefined, warning?: boolean) => string;