@looker/sdk-codegen-scripts 21.4.7 → 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.
- package/CHANGELOG.md +34 -0
- package/lib/convert.js +0 -10
- package/lib/convert.js.map +1 -1
- package/lib/declarationMiner.js +11 -37
- package/lib/declarationMiner.js.map +1 -1
- package/lib/esm/convert.js +20 -18
- package/lib/esm/convert.js.map +1 -1
- package/lib/esm/declarationMiner.js +32 -41
- package/lib/esm/declarationMiner.js.map +1 -1
- package/lib/esm/exampleMiner.js +52 -77
- package/lib/esm/exampleMiner.js.map +1 -1
- package/lib/esm/fetchSpec.js +65 -83
- package/lib/esm/fetchSpec.js.map +1 -1
- package/lib/esm/index.js +93 -8
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/languages.js +16 -11
- package/lib/esm/languages.js.map +1 -1
- package/lib/esm/legacy.js +8 -9
- package/lib/esm/legacy.js.map +1 -1
- package/lib/esm/legacyGenerator.js +19 -22
- package/lib/esm/legacyGenerator.js.map +1 -1
- package/lib/esm/nodeUtils.js +39 -22
- package/lib/esm/nodeUtils.js.map +1 -1
- package/lib/esm/prettify.js +15 -9
- package/lib/esm/prettify.js.map +1 -1
- package/lib/esm/reformatter.js +53 -102
- package/lib/esm/reformatter.js.map +1 -1
- package/lib/esm/sdkConfig.js +19 -13
- package/lib/esm/sdkConfig.js.map +1 -1
- package/lib/esm/sdkGen.js +43 -59
- package/lib/esm/sdkGen.js.map +1 -1
- package/lib/esm/sdkGenerator.js +34 -47
- package/lib/esm/sdkGenerator.js.map +1 -1
- package/lib/esm/specConvert.js +20 -27
- package/lib/esm/specConvert.js.map +1 -1
- package/lib/esm/testUtils/index.js +28 -0
- package/lib/esm/testUtils/index.js.map +1 -0
- package/lib/esm/testUtils/mocks.js +16 -0
- package/lib/esm/testUtils/mocks.js.map +1 -0
- package/lib/esm/testUtils/testUtils.js +66 -0
- package/lib/esm/testUtils/testUtils.js.map +1 -0
- package/lib/esm/utils.js +43 -60
- package/lib/esm/utils.js.map +1 -1
- package/lib/esm/yamlToJson.js +8 -6
- package/lib/esm/yamlToJson.js.map +1 -1
- package/lib/exampleMiner.js +4 -89
- package/lib/exampleMiner.js.map +1 -1
- package/lib/fetchSpec.js +6 -76
- package/lib/fetchSpec.js.map +1 -1
- package/lib/index.js +0 -16
- package/lib/index.js.map +1 -1
- package/lib/languages.js +0 -11
- package/lib/languages.js.map +1 -1
- package/lib/legacy.js +0 -5
- package/lib/legacy.js.map +1 -1
- package/lib/legacyGenerator.js +0 -15
- package/lib/legacyGenerator.js.map +1 -1
- package/lib/nodeUtils.js +1 -34
- package/lib/nodeUtils.js.map +1 -1
- package/lib/prettify.js +5 -14
- package/lib/prettify.js.map +1 -1
- package/lib/reformatter.js +3 -70
- package/lib/reformatter.js.map +1 -1
- package/lib/sdkConfig.js +0 -16
- package/lib/sdkConfig.js.map +1 -1
- package/lib/sdkGen.js +0 -41
- package/lib/sdkGen.js.map +1 -1
- package/lib/sdkGenerator.js +4 -52
- package/lib/sdkGenerator.js.map +1 -1
- package/lib/specConvert.js +0 -19
- package/lib/specConvert.js.map +1 -1
- package/lib/testUtils/index.js +0 -4
- package/lib/testUtils/index.js.map +1 -1
- package/lib/testUtils/mocks.js +0 -4
- package/lib/testUtils/mocks.js.map +1 -1
- package/lib/testUtils/testUtils.js +1 -17
- package/lib/testUtils/testUtils.js.map +1 -1
- package/lib/utils.js +6 -48
- package/lib/utils.js.map +1 -1
- package/lib/yamlToJson.js +0 -7
- package/lib/yamlToJson.js.map +1 -1
- package/package.json +6 -6
package/lib/esm/reformatter.js
CHANGED
|
@@ -1,142 +1,120 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FilesFormatter = void 0;
|
|
7
|
+
var path = _interopRequireWildcard(require("path"));
|
|
8
|
+
var fs = _interopRequireWildcard(require("fs"));
|
|
9
|
+
var _sdkCodegenUtils = require("@looker/sdk-codegen-utils");
|
|
10
|
+
var _nodeUtils = require("./nodeUtils");
|
|
11
|
+
var _prettify = require("./prettify");
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
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); }
|
|
9
17
|
var writeFile = (fileName, content) => {
|
|
10
|
-
fs.writeFileSync(fileName, content, utf8Encoding);
|
|
18
|
+
fs.writeFileSync(fileName, content, _nodeUtils.utf8Encoding);
|
|
11
19
|
};
|
|
12
|
-
|
|
13
20
|
var noFormatter = (language, files) => {
|
|
14
21
|
var list = files.join('\n ');
|
|
15
|
-
return warn("There is no ".concat(language, " formatter. Skipped reformatting of:\n ").concat(list));
|
|
22
|
+
return (0, _sdkCodegenUtils.warn)("There is no ".concat(language, " formatter. Skipped reformatting of:\n ").concat(list));
|
|
16
23
|
};
|
|
17
|
-
|
|
18
24
|
var fullPath = weirdPath => path.resolve(weirdPath);
|
|
19
|
-
|
|
20
25
|
class BaseFormatter {
|
|
21
26
|
constructor(language) {
|
|
22
27
|
var fileSep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : " \n";
|
|
23
28
|
this.language = language;
|
|
24
29
|
this.fileSep = fileSep;
|
|
25
30
|
}
|
|
26
|
-
|
|
27
31
|
reformat(files) {
|
|
28
32
|
return noFormatter(this.language, files);
|
|
29
33
|
}
|
|
30
|
-
|
|
31
34
|
skipping() {
|
|
32
|
-
return warn("Version information was not retrieved. Skipping ".concat(this.language, " SDK version updating."));
|
|
35
|
+
return (0, _sdkCodegenUtils.warn)("Version information was not retrieved. Skipping ".concat(this.language, " SDK version updating."));
|
|
33
36
|
}
|
|
34
|
-
|
|
35
37
|
reformatted(files) {
|
|
36
|
-
return success("Reformatted ".concat(this.language, " files:\n ").concat(files.join(this.fileSep)));
|
|
38
|
+
return (0, _sdkCodegenUtils.success)("Reformatted ".concat(this.language, " files:\n ").concat(files.join(this.fileSep)));
|
|
37
39
|
}
|
|
38
|
-
|
|
39
40
|
}
|
|
40
|
-
|
|
41
41
|
class PythonFormatter extends BaseFormatter {
|
|
42
42
|
constructor() {
|
|
43
43
|
super('Python');
|
|
44
|
-
|
|
45
44
|
_defineProperty(this, "instructions", 'To reformat Python files, please install pipenv: https://docs.pipenv.org/en/latest/install/#installing-pipenv');
|
|
46
45
|
}
|
|
47
|
-
|
|
48
46
|
reformat(files) {
|
|
49
|
-
var pipEnvExists = run('command', ['-v', 'pipenv'], this.instructions, true);
|
|
50
|
-
|
|
47
|
+
var pipEnvExists = (0, _nodeUtils.run)('command', ['-v', 'pipenv'], this.instructions, true);
|
|
51
48
|
if (pipEnvExists.includes('pipenv')) {
|
|
52
49
|
var list = files.join(' ');
|
|
53
|
-
run('pipenv', ['run', 'black', list], 'Python reformat', true);
|
|
54
|
-
return success(files);
|
|
50
|
+
(0, _nodeUtils.run)('pipenv', ['run', 'black', list], 'Python reformat', true);
|
|
51
|
+
return (0, _sdkCodegenUtils.success)(files);
|
|
55
52
|
} else {
|
|
56
|
-
return danger(this.instructions);
|
|
53
|
+
return (0, _sdkCodegenUtils.danger)(this.instructions);
|
|
57
54
|
}
|
|
58
55
|
}
|
|
59
|
-
|
|
60
56
|
versionStamp(gen) {
|
|
61
57
|
if (gen.versions && gen.versions.lookerVersion) {
|
|
62
58
|
var stampFile = fullPath(gen.fileName('sdk/constants'));
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
warn("".concat(stampFile, " was not found. Skipping version update."));
|
|
59
|
+
if (!(0, _nodeUtils.isFileSync)(stampFile)) {
|
|
60
|
+
(0, _sdkCodegenUtils.warn)("".concat(stampFile, " was not found. Skipping version update."));
|
|
66
61
|
}
|
|
67
|
-
|
|
68
|
-
var content = readFileSync(stampFile);
|
|
62
|
+
var content = (0, _nodeUtils.readFileSync)(stampFile);
|
|
69
63
|
var sdkVersionPattern = /sdk_version = ['"].*['"]/i;
|
|
70
64
|
var envPattern = /environment_prefix = ['"].*['"]/i;
|
|
71
65
|
content = content.replace(sdkVersionPattern, "sdk_version = \"".concat(gen.versions.lookerVersion, "\""));
|
|
72
66
|
content = content.replace(envPattern, "environment_prefix = \"".concat(gen.environmentPrefix, "\""));
|
|
73
67
|
writeFile(stampFile, content);
|
|
74
|
-
return success("updated ".concat(stampFile, " to ").concat(gen.versions.lookerVersion));
|
|
68
|
+
return (0, _sdkCodegenUtils.success)("updated ".concat(stampFile, " to ").concat(gen.versions.lookerVersion));
|
|
75
69
|
}
|
|
76
|
-
|
|
77
70
|
return this.skipping();
|
|
78
71
|
}
|
|
79
|
-
|
|
80
72
|
}
|
|
81
|
-
|
|
82
73
|
class TypescriptFormatter extends BaseFormatter {
|
|
83
74
|
constructor() {
|
|
84
75
|
super('TypeScript');
|
|
85
76
|
}
|
|
86
|
-
|
|
87
77
|
reformat(files) {
|
|
88
78
|
files.forEach(f => {
|
|
89
79
|
this.reformatFile(f);
|
|
90
80
|
});
|
|
91
|
-
return success(files);
|
|
81
|
+
return (0, _sdkCodegenUtils.success)(files);
|
|
92
82
|
}
|
|
93
|
-
|
|
94
83
|
reformatFile(fileName) {
|
|
95
|
-
var source = prettify(readFileSync(fileName));
|
|
96
|
-
|
|
84
|
+
var source = (0, _prettify.prettify)((0, _nodeUtils.readFileSync)(fileName));
|
|
97
85
|
if (source) {
|
|
98
86
|
writeFile(fileName, source);
|
|
99
87
|
}
|
|
100
|
-
|
|
101
88
|
return fileName;
|
|
102
89
|
}
|
|
103
|
-
|
|
104
90
|
versionStamp(gen) {
|
|
105
91
|
if (gen.versions && gen.versions.lookerVersion) {
|
|
106
92
|
var stampFile = fullPath(gen.fileName('../../sdk/src/constants'));
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
warn("".concat(stampFile, " was not found. Skipping version update."));
|
|
93
|
+
if (!(0, _nodeUtils.isFileSync)(stampFile)) {
|
|
94
|
+
(0, _sdkCodegenUtils.warn)("".concat(stampFile, " was not found. Skipping version update."));
|
|
110
95
|
}
|
|
111
|
-
|
|
112
|
-
var content = readFileSync(stampFile);
|
|
96
|
+
var content = (0, _nodeUtils.readFileSync)(stampFile);
|
|
113
97
|
var sdkVersionPattern = /sdkVersion = ['"].*['"]/i;
|
|
114
98
|
var envPattern = /environmentPrefix = ['"].*['"]/i;
|
|
115
99
|
content = content.replace(sdkVersionPattern, "sdkVersion = '".concat(gen.versions.lookerVersion, "'"));
|
|
116
100
|
content = content.replace(envPattern, "environmentPrefix = '".concat(gen.environmentPrefix, "'"));
|
|
117
101
|
writeFile(stampFile, content);
|
|
118
|
-
return success("updated ".concat(stampFile, " to ").concat(gen.versions.lookerVersion));
|
|
102
|
+
return (0, _sdkCodegenUtils.success)("updated ".concat(stampFile, " to ").concat(gen.versions.lookerVersion));
|
|
119
103
|
}
|
|
120
|
-
|
|
121
104
|
return this.skipping();
|
|
122
105
|
}
|
|
123
|
-
|
|
124
106
|
}
|
|
125
|
-
|
|
126
107
|
class KotlinFormatter extends BaseFormatter {
|
|
127
108
|
constructor() {
|
|
128
109
|
super('Kotlin');
|
|
129
110
|
}
|
|
130
|
-
|
|
131
111
|
versionStamp(gen) {
|
|
132
112
|
if (gen.versions && gen.versions.lookerVersion) {
|
|
133
113
|
var stampFile = fullPath(gen.fileName('sdk/Constants'));
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
warn("".concat(stampFile, " was not found. Skipping version update."));
|
|
114
|
+
if (!(0, _nodeUtils.isFileSync)(stampFile)) {
|
|
115
|
+
(0, _sdkCodegenUtils.warn)("".concat(stampFile, " was not found. Skipping version update."));
|
|
137
116
|
}
|
|
138
|
-
|
|
139
|
-
var content = readFileSync(stampFile);
|
|
117
|
+
var content = (0, _nodeUtils.readFileSync)(stampFile);
|
|
140
118
|
var lookerPattern = /\bLOOKER_VERSION = ['"].*['"]/i;
|
|
141
119
|
var apiPattern = /\bAPI_VERSION = ['"].*['"]/i;
|
|
142
120
|
var envPattern = /\bENVIRONMENT_PREFIX = ['"].*['"]/i;
|
|
@@ -144,28 +122,22 @@ class KotlinFormatter extends BaseFormatter {
|
|
|
144
122
|
content = content.replace(apiPattern, "API_VERSION = \"".concat(gen.versions.spec.version, "\""));
|
|
145
123
|
content = content.replace(envPattern, "ENVIRONMENT_PREFIX = \"".concat(gen.environmentPrefix, "\""));
|
|
146
124
|
writeFile(stampFile, content);
|
|
147
|
-
return success("updated ".concat(stampFile, " to ").concat(gen.versions.spec.version, ".").concat(gen.versions.lookerVersion));
|
|
125
|
+
return (0, _sdkCodegenUtils.success)("updated ".concat(stampFile, " to ").concat(gen.versions.spec.version, ".").concat(gen.versions.lookerVersion));
|
|
148
126
|
}
|
|
149
|
-
|
|
150
127
|
return this.skipping();
|
|
151
128
|
}
|
|
152
|
-
|
|
153
129
|
}
|
|
154
|
-
|
|
155
130
|
class SwiftFormatter extends BaseFormatter {
|
|
156
131
|
constructor() {
|
|
157
132
|
super('Swift');
|
|
158
133
|
}
|
|
159
|
-
|
|
160
134
|
versionStamp(gen) {
|
|
161
135
|
if (gen.versions && gen.versions.lookerVersion) {
|
|
162
136
|
var stampFile = fullPath(gen.fileName('rtl/constants'));
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
warn("".concat(stampFile, " was not found. Skipping version update."));
|
|
137
|
+
if (!(0, _nodeUtils.isFileSync)(stampFile)) {
|
|
138
|
+
(0, _sdkCodegenUtils.warn)("".concat(stampFile, " was not found. Skipping version update."));
|
|
166
139
|
}
|
|
167
|
-
|
|
168
|
-
var content = readFileSync(stampFile);
|
|
140
|
+
var content = (0, _nodeUtils.readFileSync)(stampFile);
|
|
169
141
|
var lookerPattern = /lookerVersion = ['"].*['"]/i;
|
|
170
142
|
var apiPattern = /apiVersion = ['"].*['"]/i;
|
|
171
143
|
var envPattern = /environmentPrefix = ['"].*['"]/i;
|
|
@@ -173,28 +145,22 @@ class SwiftFormatter extends BaseFormatter {
|
|
|
173
145
|
content = content.replace(apiPattern, "apiVersion = \"".concat(gen.versions.spec.version, "\""));
|
|
174
146
|
content = content.replace(envPattern, "environmentPrefix = \"".concat(gen.environmentPrefix, "\""));
|
|
175
147
|
writeFile(stampFile, content);
|
|
176
|
-
return success("updated ".concat(stampFile, " to ").concat(gen.versions.spec.version, ".").concat(gen.versions.lookerVersion));
|
|
148
|
+
return (0, _sdkCodegenUtils.success)("updated ".concat(stampFile, " to ").concat(gen.versions.spec.version, ".").concat(gen.versions.lookerVersion));
|
|
177
149
|
}
|
|
178
|
-
|
|
179
150
|
return this.skipping();
|
|
180
151
|
}
|
|
181
|
-
|
|
182
152
|
}
|
|
183
|
-
|
|
184
153
|
class CsharpFormatter extends BaseFormatter {
|
|
185
154
|
constructor() {
|
|
186
155
|
super('C#');
|
|
187
156
|
}
|
|
188
|
-
|
|
189
157
|
versionStamp(gen) {
|
|
190
158
|
if (gen.versions && gen.versions.lookerVersion) {
|
|
191
159
|
var stampFile = fullPath(gen.fileName('rtl/Constants'));
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
warn("".concat(stampFile, " was not found. Skipping version update."));
|
|
160
|
+
if (!(0, _nodeUtils.isFileSync)(stampFile)) {
|
|
161
|
+
(0, _sdkCodegenUtils.warn)("".concat(stampFile, " was not found. Skipping version update."));
|
|
195
162
|
}
|
|
196
|
-
|
|
197
|
-
var content = readFileSync(stampFile);
|
|
163
|
+
var content = (0, _nodeUtils.readFileSync)(stampFile);
|
|
198
164
|
var lookerPattern = /LookerVersion = ['"].*['"]/i;
|
|
199
165
|
var apiPattern = /ApiVersion = ['"].*['"]/i;
|
|
200
166
|
var envPattern = /EnvironmentPrefix = ['"].*['"]/i;
|
|
@@ -202,39 +168,30 @@ class CsharpFormatter extends BaseFormatter {
|
|
|
202
168
|
content = content.replace(apiPattern, "ApiVersion = \"".concat(gen.versions.spec.version, "\""));
|
|
203
169
|
content = content.replace(envPattern, "EnvironmentPrefix = \"".concat(gen.environmentPrefix, "\""));
|
|
204
170
|
writeFile(stampFile, content);
|
|
205
|
-
return success("updated ".concat(stampFile, " to ").concat(gen.versions.spec.version, ".").concat(gen.versions.lookerVersion));
|
|
171
|
+
return (0, _sdkCodegenUtils.success)("updated ".concat(stampFile, " to ").concat(gen.versions.spec.version, ".").concat(gen.versions.lookerVersion));
|
|
206
172
|
}
|
|
207
|
-
|
|
208
173
|
return this.skipping();
|
|
209
174
|
}
|
|
210
|
-
|
|
211
175
|
}
|
|
212
|
-
|
|
213
176
|
class GoFormatter extends BaseFormatter {
|
|
214
177
|
constructor() {
|
|
215
178
|
super('Go');
|
|
216
|
-
|
|
217
179
|
_defineProperty(this, "instructions", 'To reformat Go files, please install gofmt: https://go.dev/blog/gofmt');
|
|
218
180
|
}
|
|
219
|
-
|
|
220
181
|
reformat(files) {
|
|
221
|
-
var gofmtExists = run('command', ['-v', 'gofmt'], this.instructions, true);
|
|
222
|
-
|
|
182
|
+
var gofmtExists = (0, _nodeUtils.run)('command', ['-v', 'gofmt'], this.instructions, true);
|
|
223
183
|
if (gofmtExists.includes('gofmt')) {
|
|
224
184
|
var list = files.join(' ');
|
|
225
|
-
run('gofmt', ['-w', list], 'Go reformat', true);
|
|
226
|
-
return success(files);
|
|
185
|
+
(0, _nodeUtils.run)('gofmt', ['-w', list], 'Go reformat', true);
|
|
186
|
+
return (0, _sdkCodegenUtils.success)(files);
|
|
227
187
|
} else {
|
|
228
|
-
return danger(this.instructions);
|
|
188
|
+
return (0, _sdkCodegenUtils.danger)(this.instructions);
|
|
229
189
|
}
|
|
230
190
|
}
|
|
231
|
-
|
|
232
191
|
versionStamp() {
|
|
233
|
-
return warn('Skipping SDK version updating - not implemented for Go.');
|
|
192
|
+
return (0, _sdkCodegenUtils.warn)('Skipping SDK version updating - not implemented for Go.');
|
|
234
193
|
}
|
|
235
|
-
|
|
236
194
|
}
|
|
237
|
-
|
|
238
195
|
var fileFormatters = {
|
|
239
196
|
'.cs': new CsharpFormatter(),
|
|
240
197
|
'.kt': new KotlinFormatter(),
|
|
@@ -243,40 +200,34 @@ var fileFormatters = {
|
|
|
243
200
|
'.ts': new TypescriptFormatter(),
|
|
244
201
|
'.go': new GoFormatter()
|
|
245
202
|
};
|
|
246
|
-
|
|
203
|
+
class FilesFormatter {
|
|
247
204
|
constructor() {
|
|
248
205
|
_defineProperty(this, "files", {});
|
|
249
206
|
}
|
|
250
|
-
|
|
251
207
|
addFile(fileName) {
|
|
252
208
|
var key = path.extname(fileName);
|
|
253
|
-
|
|
254
209
|
if (key in this.files) {
|
|
255
210
|
this.files[key].push(fileName);
|
|
256
211
|
} else {
|
|
257
212
|
this.files[key] = [fileName];
|
|
258
213
|
}
|
|
259
214
|
}
|
|
260
|
-
|
|
261
215
|
clear() {
|
|
262
216
|
this.files = {};
|
|
263
217
|
}
|
|
264
|
-
|
|
265
218
|
reformat(files) {
|
|
266
219
|
if (files) files.forEach(f => this.addFile(f));
|
|
267
220
|
Object.entries(this.files).forEach(_ref => {
|
|
268
221
|
var [key, list] = _ref;
|
|
269
|
-
|
|
270
222
|
if (key in fileFormatters) {
|
|
271
223
|
fileFormatters[key].reformat(list);
|
|
272
224
|
}
|
|
273
225
|
});
|
|
274
226
|
}
|
|
275
|
-
|
|
276
227
|
versionStamp(gen) {
|
|
277
228
|
var formatter = fileFormatters[gen.fileExtension];
|
|
278
229
|
return formatter.versionStamp(gen);
|
|
279
230
|
}
|
|
280
|
-
|
|
281
231
|
}
|
|
232
|
+
exports.FilesFormatter = FilesFormatter;
|
|
282
233
|
//# sourceMappingURL=reformatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/reformatter.ts"],"names":["path","fs","danger","success","warn","isFileSync","readFileSync","run","utf8Encoding","prettify","writeFile","fileName","content","writeFileSync","noFormatter","language","files","list","join","fullPath","weirdPath","resolve","BaseFormatter","constructor","fileSep","reformat","skipping","reformatted","PythonFormatter","pipEnvExists","instructions","includes","versionStamp","gen","versions","lookerVersion","stampFile","sdkVersionPattern","envPattern","replace","environmentPrefix","TypescriptFormatter","forEach","f","reformatFile","source","KotlinFormatter","lookerPattern","apiPattern","spec","version","SwiftFormatter","CsharpFormatter","GoFormatter","gofmtExists","fileFormatters","FilesFormatter","addFile","key","extname","push","clear","Object","entries","formatter","fileExtension"],"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 * as path from 'path'\nimport * as fs from 'fs'\nimport { danger, success, warn } from '@looker/sdk-codegen-utils'\nimport type { ICodeGen } from '@looker/sdk-codegen'\nimport { isFileSync, readFileSync, run, utf8Encoding } from './nodeUtils'\nimport { prettify } from './prettify'\n\nexport interface IReformat {\n fileSep: string\n language: string\n reformat(files: string[]): string\n versionStamp(gen: ICodeGen): string\n skipping(): string\n reformatted(files: string[]): string\n}\n\n/**\n * wrapper function for writing reformatted files with utf-8 encoding synchronously\n * @param {string} fileName name of file to write\n * @param {string} content content to write\n */\nconst writeFile = (fileName: string, content: string) => {\n fs.writeFileSync(fileName, content, utf8Encoding)\n}\n\nconst noFormatter = (language: string, files: string[]) => {\n const list = files.join('\\n ')\n return warn(\n `There is no ${language} formatter. Skipped reformatting of:\\n ${list}`\n )\n}\n\nconst fullPath = (weirdPath: string) => path.resolve(weirdPath)\n\nabstract class BaseFormatter implements IReformat {\n constructor(public language: string, public fileSep = ` \\n`) {}\n reformat(files: string[]): string {\n return noFormatter(this.language, files)\n }\n\n abstract versionStamp(gen: ICodeGen): string\n\n skipping() {\n return warn(\n `Version information was not retrieved. Skipping ${this.language} SDK version updating.`\n )\n }\n\n reformatted(files: string[]) {\n return success(\n `Reformatted ${this.language} files:\\n ${files.join(this.fileSep)}`\n )\n }\n}\n\nclass PythonFormatter extends BaseFormatter {\n constructor() {\n super('Python')\n }\n\n instructions =\n 'To reformat Python files, please install pipenv: https://docs.pipenv.org/en/latest/install/#installing-pipenv'\n\n reformat(files: string[]): string {\n const pipEnvExists = run(\n 'command',\n ['-v', 'pipenv'],\n this.instructions,\n true\n )\n if (pipEnvExists.includes('pipenv')) {\n const list = files.join(' ')\n // pipenv check completed without error\n run('pipenv', ['run', 'black', list], 'Python reformat', true)\n return success(files)\n } else {\n return danger(this.instructions)\n }\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('sdk/constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const sdkVersionPattern = /sdk_version = ['\"].*['\"]/i\n const envPattern = /environment_prefix = ['\"].*['\"]/i\n content = content.replace(\n sdkVersionPattern,\n `sdk_version = \"${gen.versions.lookerVersion}\"`\n )\n content = content.replace(\n envPattern,\n `environment_prefix = \"${gen.environmentPrefix}\"`\n )\n writeFile(stampFile, content)\n return success(`updated ${stampFile} to ${gen.versions.lookerVersion}`)\n }\n\n return this.skipping()\n }\n}\n\nclass TypescriptFormatter extends BaseFormatter {\n constructor() {\n super('TypeScript')\n }\n\n reformat(files: string[]): string {\n files.forEach((f) => {\n this.reformatFile(f)\n })\n return success(files)\n }\n\n reformatFile(fileName: string) {\n const source = prettify(readFileSync(fileName))\n if (source) {\n writeFile(fileName, source)\n }\n return fileName\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('../../sdk/src/constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const sdkVersionPattern = /sdkVersion = ['\"].*['\"]/i\n const envPattern = /environmentPrefix = ['\"].*['\"]/i\n content = content.replace(\n sdkVersionPattern,\n `sdkVersion = '${gen.versions.lookerVersion}'`\n )\n content = content.replace(\n envPattern,\n `environmentPrefix = '${gen.environmentPrefix}'`\n )\n writeFile(stampFile, content)\n return success(`updated ${stampFile} to ${gen.versions.lookerVersion}`)\n }\n\n return this.skipping()\n }\n}\n\nclass KotlinFormatter extends BaseFormatter {\n // TODO Kotlin formatter\n constructor() {\n super('Kotlin')\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('sdk/Constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const lookerPattern = /\\bLOOKER_VERSION = ['\"].*['\"]/i\n const apiPattern = /\\bAPI_VERSION = ['\"].*['\"]/i\n const envPattern = /\\bENVIRONMENT_PREFIX = ['\"].*['\"]/i\n content = content.replace(\n lookerPattern,\n `LOOKER_VERSION = \"${gen.versions.lookerVersion}\"`\n )\n content = content.replace(\n apiPattern,\n `API_VERSION = \"${gen.versions.spec.version}\"`\n )\n content = content.replace(\n envPattern,\n `ENVIRONMENT_PREFIX = \"${gen.environmentPrefix}\"`\n )\n writeFile(stampFile, content)\n return success(\n `updated ${stampFile} to ${gen.versions.spec.version}.${gen.versions.lookerVersion}`\n )\n }\n return this.skipping()\n }\n}\n\nclass SwiftFormatter extends BaseFormatter {\n // TODO Swift formatter\n constructor() {\n super('Swift')\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('rtl/constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const lookerPattern = /lookerVersion = ['\"].*['\"]/i\n const apiPattern = /apiVersion = ['\"].*['\"]/i\n const envPattern = /environmentPrefix = ['\"].*['\"]/i\n content = content.replace(\n lookerPattern,\n `lookerVersion = \"${gen.versions.lookerVersion}\"`\n )\n content = content.replace(\n apiPattern,\n `apiVersion = \"${gen.versions.spec.version}\"`\n )\n content = content.replace(\n envPattern,\n `environmentPrefix = \"${gen.environmentPrefix}\"`\n )\n writeFile(stampFile, content)\n return success(\n `updated ${stampFile} to ${gen.versions.spec.version}.${gen.versions.lookerVersion}`\n )\n }\n return this.skipping()\n }\n}\n\nclass CsharpFormatter extends BaseFormatter {\n // TODO C# formatter https://github.com/dotnet/format\n constructor() {\n super('C#')\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('rtl/Constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const lookerPattern = /LookerVersion = ['\"].*['\"]/i\n const apiPattern = /ApiVersion = ['\"].*['\"]/i\n const envPattern = /EnvironmentPrefix = ['\"].*['\"]/i\n content = content.replace(\n lookerPattern,\n `LookerVersion = \"${gen.versions.lookerVersion}\"`\n )\n content = content.replace(\n apiPattern,\n `ApiVersion = \"${gen.versions.spec.version}\"`\n )\n content = content.replace(\n envPattern,\n `EnvironmentPrefix = \"${gen.environmentPrefix}\"`\n )\n writeFile(stampFile, content)\n return success(\n `updated ${stampFile} to ${gen.versions.spec.version}.${gen.versions.lookerVersion}`\n )\n }\n return this.skipping()\n }\n}\n\nclass GoFormatter extends BaseFormatter {\n // TODO Go formatter\n constructor() {\n super('Go')\n }\n\n instructions =\n 'To reformat Go files, please install gofmt: https://go.dev/blog/gofmt'\n\n reformat(files: string[]): string {\n const gofmtExists = run('command', ['-v', 'gofmt'], this.instructions, true)\n if (gofmtExists.includes('gofmt')) {\n const list = files.join(' ')\n // gofmt check completed without error\n run('gofmt', ['-w', list], 'Go reformat', true)\n return success(files)\n } else {\n return danger(this.instructions)\n }\n }\n\n versionStamp() {\n return warn('Skipping SDK version updating - not implemented for Go.')\n }\n}\n\ntype IFormatFiles = { [key: string]: string[] }\n\ntype IFormatters = { [key: string]: IReformat }\n\nconst fileFormatters: IFormatters = {\n '.cs': new CsharpFormatter(),\n '.kt': new KotlinFormatter(),\n '.py': new PythonFormatter(),\n '.swift': new SwiftFormatter(),\n '.ts': new TypescriptFormatter(),\n '.go': new GoFormatter(),\n}\n\nexport class FilesFormatter {\n files: IFormatFiles = {}\n\n addFile(fileName: string) {\n const key = path.extname(fileName)\n if (key in this.files) {\n this.files[key].push(fileName)\n } else {\n this.files[key] = [fileName]\n }\n }\n\n clear() {\n this.files = {}\n }\n\n reformat(files?: string[]) {\n if (files) files.forEach((f) => this.addFile(f))\n Object.entries(this.files).forEach(([key, list]) => {\n if (key in fileFormatters) {\n fileFormatters[key].reformat(list)\n }\n })\n }\n\n versionStamp(gen: ICodeGen) {\n const formatter = fileFormatters[gen.fileExtension]\n return formatter.versionStamp(gen)\n }\n}\n"],"file":"reformatter.js"}
|
|
1
|
+
{"version":3,"file":"reformatter.js","names":["writeFile","fileName","content","fs","writeFileSync","utf8Encoding","noFormatter","language","files","list","join","warn","fullPath","weirdPath","path","resolve","BaseFormatter","constructor","fileSep","reformat","skipping","reformatted","success","PythonFormatter","pipEnvExists","run","instructions","includes","danger","versionStamp","gen","versions","lookerVersion","stampFile","isFileSync","readFileSync","sdkVersionPattern","envPattern","replace","environmentPrefix","TypescriptFormatter","forEach","f","reformatFile","source","prettify","KotlinFormatter","lookerPattern","apiPattern","spec","version","SwiftFormatter","CsharpFormatter","GoFormatter","gofmtExists","fileFormatters","FilesFormatter","addFile","key","extname","push","clear","Object","entries","formatter","fileExtension"],"sources":["../../src/reformatter.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 * as path from 'path'\nimport * as fs from 'fs'\nimport { danger, success, warn } from '@looker/sdk-codegen-utils'\nimport type { ICodeGen } from '@looker/sdk-codegen'\nimport { isFileSync, readFileSync, run, utf8Encoding } from './nodeUtils'\nimport { prettify } from './prettify'\n\nexport interface IReformat {\n fileSep: string\n language: string\n reformat(files: string[]): string\n versionStamp(gen: ICodeGen): string\n skipping(): string\n reformatted(files: string[]): string\n}\n\n/**\n * wrapper function for writing reformatted files with utf-8 encoding synchronously\n * @param {string} fileName name of file to write\n * @param {string} content content to write\n */\nconst writeFile = (fileName: string, content: string) => {\n fs.writeFileSync(fileName, content, utf8Encoding)\n}\n\nconst noFormatter = (language: string, files: string[]) => {\n const list = files.join('\\n ')\n return warn(\n `There is no ${language} formatter. Skipped reformatting of:\\n ${list}`\n )\n}\n\nconst fullPath = (weirdPath: string) => path.resolve(weirdPath)\n\nabstract class BaseFormatter implements IReformat {\n constructor(public language: string, public fileSep = ` \\n`) {}\n reformat(files: string[]): string {\n return noFormatter(this.language, files)\n }\n\n abstract versionStamp(gen: ICodeGen): string\n\n skipping() {\n return warn(\n `Version information was not retrieved. Skipping ${this.language} SDK version updating.`\n )\n }\n\n reformatted(files: string[]) {\n return success(\n `Reformatted ${this.language} files:\\n ${files.join(this.fileSep)}`\n )\n }\n}\n\nclass PythonFormatter extends BaseFormatter {\n constructor() {\n super('Python')\n }\n\n instructions =\n 'To reformat Python files, please install pipenv: https://docs.pipenv.org/en/latest/install/#installing-pipenv'\n\n reformat(files: string[]): string {\n const pipEnvExists = run(\n 'command',\n ['-v', 'pipenv'],\n this.instructions,\n true\n )\n if (pipEnvExists.includes('pipenv')) {\n const list = files.join(' ')\n // pipenv check completed without error\n run('pipenv', ['run', 'black', list], 'Python reformat', true)\n return success(files)\n } else {\n return danger(this.instructions)\n }\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('sdk/constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const sdkVersionPattern = /sdk_version = ['\"].*['\"]/i\n const envPattern = /environment_prefix = ['\"].*['\"]/i\n content = content.replace(\n sdkVersionPattern,\n `sdk_version = \"${gen.versions.lookerVersion}\"`\n )\n content = content.replace(\n envPattern,\n `environment_prefix = \"${gen.environmentPrefix}\"`\n )\n writeFile(stampFile, content)\n return success(`updated ${stampFile} to ${gen.versions.lookerVersion}`)\n }\n\n return this.skipping()\n }\n}\n\nclass TypescriptFormatter extends BaseFormatter {\n constructor() {\n super('TypeScript')\n }\n\n reformat(files: string[]): string {\n files.forEach((f) => {\n this.reformatFile(f)\n })\n return success(files)\n }\n\n reformatFile(fileName: string) {\n const source = prettify(readFileSync(fileName))\n if (source) {\n writeFile(fileName, source)\n }\n return fileName\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('../../sdk/src/constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const sdkVersionPattern = /sdkVersion = ['\"].*['\"]/i\n const envPattern = /environmentPrefix = ['\"].*['\"]/i\n content = content.replace(\n sdkVersionPattern,\n `sdkVersion = '${gen.versions.lookerVersion}'`\n )\n content = content.replace(\n envPattern,\n `environmentPrefix = '${gen.environmentPrefix}'`\n )\n writeFile(stampFile, content)\n return success(`updated ${stampFile} to ${gen.versions.lookerVersion}`)\n }\n\n return this.skipping()\n }\n}\n\nclass KotlinFormatter extends BaseFormatter {\n // TODO Kotlin formatter\n constructor() {\n super('Kotlin')\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('sdk/Constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const lookerPattern = /\\bLOOKER_VERSION = ['\"].*['\"]/i\n const apiPattern = /\\bAPI_VERSION = ['\"].*['\"]/i\n const envPattern = /\\bENVIRONMENT_PREFIX = ['\"].*['\"]/i\n content = content.replace(\n lookerPattern,\n `LOOKER_VERSION = \"${gen.versions.lookerVersion}\"`\n )\n content = content.replace(\n apiPattern,\n `API_VERSION = \"${gen.versions.spec.version}\"`\n )\n content = content.replace(\n envPattern,\n `ENVIRONMENT_PREFIX = \"${gen.environmentPrefix}\"`\n )\n writeFile(stampFile, content)\n return success(\n `updated ${stampFile} to ${gen.versions.spec.version}.${gen.versions.lookerVersion}`\n )\n }\n return this.skipping()\n }\n}\n\nclass SwiftFormatter extends BaseFormatter {\n // TODO Swift formatter\n constructor() {\n super('Swift')\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('rtl/constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const lookerPattern = /lookerVersion = ['\"].*['\"]/i\n const apiPattern = /apiVersion = ['\"].*['\"]/i\n const envPattern = /environmentPrefix = ['\"].*['\"]/i\n content = content.replace(\n lookerPattern,\n `lookerVersion = \"${gen.versions.lookerVersion}\"`\n )\n content = content.replace(\n apiPattern,\n `apiVersion = \"${gen.versions.spec.version}\"`\n )\n content = content.replace(\n envPattern,\n `environmentPrefix = \"${gen.environmentPrefix}\"`\n )\n writeFile(stampFile, content)\n return success(\n `updated ${stampFile} to ${gen.versions.spec.version}.${gen.versions.lookerVersion}`\n )\n }\n return this.skipping()\n }\n}\n\nclass CsharpFormatter extends BaseFormatter {\n // TODO C# formatter https://github.com/dotnet/format\n constructor() {\n super('C#')\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('rtl/Constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const lookerPattern = /LookerVersion = ['\"].*['\"]/i\n const apiPattern = /ApiVersion = ['\"].*['\"]/i\n const envPattern = /EnvironmentPrefix = ['\"].*['\"]/i\n content = content.replace(\n lookerPattern,\n `LookerVersion = \"${gen.versions.lookerVersion}\"`\n )\n content = content.replace(\n apiPattern,\n `ApiVersion = \"${gen.versions.spec.version}\"`\n )\n content = content.replace(\n envPattern,\n `EnvironmentPrefix = \"${gen.environmentPrefix}\"`\n )\n writeFile(stampFile, content)\n return success(\n `updated ${stampFile} to ${gen.versions.spec.version}.${gen.versions.lookerVersion}`\n )\n }\n return this.skipping()\n }\n}\n\nclass GoFormatter extends BaseFormatter {\n // TODO Go formatter\n constructor() {\n super('Go')\n }\n\n instructions =\n 'To reformat Go files, please install gofmt: https://go.dev/blog/gofmt'\n\n reformat(files: string[]): string {\n const gofmtExists = run('command', ['-v', 'gofmt'], this.instructions, true)\n if (gofmtExists.includes('gofmt')) {\n const list = files.join(' ')\n // gofmt check completed without error\n run('gofmt', ['-w', list], 'Go reformat', true)\n return success(files)\n } else {\n return danger(this.instructions)\n }\n }\n\n versionStamp() {\n return warn('Skipping SDK version updating - not implemented for Go.')\n }\n}\n\ntype IFormatFiles = { [key: string]: string[] }\n\ntype IFormatters = { [key: string]: IReformat }\n\nconst fileFormatters: IFormatters = {\n '.cs': new CsharpFormatter(),\n '.kt': new KotlinFormatter(),\n '.py': new PythonFormatter(),\n '.swift': new SwiftFormatter(),\n '.ts': new TypescriptFormatter(),\n '.go': new GoFormatter(),\n}\n\nexport class FilesFormatter {\n files: IFormatFiles = {}\n\n addFile(fileName: string) {\n const key = path.extname(fileName)\n if (key in this.files) {\n this.files[key].push(fileName)\n } else {\n this.files[key] = [fileName]\n }\n }\n\n clear() {\n this.files = {}\n }\n\n reformat(files?: string[]) {\n if (files) files.forEach((f) => this.addFile(f))\n Object.entries(this.files).forEach(([key, list]) => {\n if (key in fileFormatters) {\n fileFormatters[key].reformat(list)\n }\n })\n }\n\n versionStamp(gen: ICodeGen) {\n const formatter = fileFormatters[gen.fileExtension]\n return formatter.versionStamp(gen)\n }\n}\n"],"mappings":";;;;;;AA0BA;AACA;AACA;AAEA;AACA;AAAqC;AAAA;AAAA;AAAA;AAAA;AAgBrC,IAAMA,SAAS,GAAG,CAACC,QAAgB,EAAEC,OAAe,KAAK;EACvDC,EAAE,CAACC,aAAa,CAACH,QAAQ,EAAEC,OAAO,EAAEG,uBAAY,CAAC;AACnD,CAAC;AAED,IAAMC,WAAW,GAAG,CAACC,QAAgB,EAAEC,KAAe,KAAK;EACzD,IAAMC,IAAI,GAAGD,KAAK,CAACE,IAAI,CAAC,MAAM,CAAC;EAC/B,OAAO,IAAAC,qBAAI,wBACMJ,QAAQ,qDAA2CE,IAAI,EACvE;AACH,CAAC;AAED,IAAMG,QAAQ,GAAIC,SAAiB,IAAKC,IAAI,CAACC,OAAO,CAACF,SAAS,CAAC;AAE/D,MAAeG,aAAa,CAAsB;EAChDC,WAAW,CAAQV,QAAgB,EAA2B;IAAA,IAAlBW,OAAO;IAAA,KAAhCX,QAAgB,GAAhBA,QAAgB;IAAA,KAASW,OAAO,GAAPA,OAAO;EAAY;EAC/DC,QAAQ,CAACX,KAAe,EAAU;IAChC,OAAOF,WAAW,CAAC,IAAI,CAACC,QAAQ,EAAEC,KAAK,CAAC;EAC1C;EAIAY,QAAQ,GAAG;IACT,OAAO,IAAAT,qBAAI,4DAC0C,IAAI,CAACJ,QAAQ,4BACjE;EACH;EAEAc,WAAW,CAACb,KAAe,EAAE;IAC3B,OAAO,IAAAc,wBAAO,wBACG,IAAI,CAACf,QAAQ,wBAAcC,KAAK,CAACE,IAAI,CAAC,IAAI,CAACQ,OAAO,CAAC,EACnE;EACH;AACF;AAEA,MAAMK,eAAe,SAASP,aAAa,CAAC;EAC1CC,WAAW,GAAG;IACZ,KAAK,CAAC,QAAQ,CAAC;IAAA,sCAIf,+GAA+G;EAHjH;EAKAE,QAAQ,CAACX,KAAe,EAAU;IAChC,IAAMgB,YAAY,GAAG,IAAAC,cAAG,EACtB,SAAS,EACT,CAAC,IAAI,EAAE,QAAQ,CAAC,EAChB,IAAI,CAACC,YAAY,EACjB,IAAI,CACL;IACD,IAAIF,YAAY,CAACG,QAAQ,CAAC,QAAQ,CAAC,EAAE;MACnC,IAAMlB,IAAI,GAAGD,KAAK,CAACE,IAAI,CAAC,GAAG,CAAC;MAE5B,IAAAe,cAAG,EAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAEhB,IAAI,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC;MAC9D,OAAO,IAAAa,wBAAO,EAACd,KAAK,CAAC;IACvB,CAAC,MAAM;MACL,OAAO,IAAAoB,uBAAM,EAAC,IAAI,CAACF,YAAY,CAAC;IAClC;EACF;EAEAG,YAAY,CAACC,GAAa,EAAE;IAC1B,IAAIA,GAAG,CAACC,QAAQ,IAAID,GAAG,CAACC,QAAQ,CAACC,aAAa,EAAE;MAC9C,IAAMC,SAAS,GAAGrB,QAAQ,CAACkB,GAAG,CAAC7B,QAAQ,CAAC,eAAe,CAAC,CAAC;MACzD,IAAI,CAAC,IAAAiC,qBAAU,EAACD,SAAS,CAAC,EAAE;QAC1B,IAAAtB,qBAAI,YAAIsB,SAAS,8CAA2C;MAC9D;MACA,IAAI/B,OAAO,GAAG,IAAAiC,uBAAY,EAACF,SAAS,CAAC;MACrC,IAAMG,iBAAiB,GAAG,2BAA2B;MACrD,IAAMC,UAAU,GAAG,kCAAkC;MACrDnC,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBF,iBAAiB,4BACCN,GAAG,CAACC,QAAQ,CAACC,aAAa,QAC7C;MACD9B,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBD,UAAU,mCACeP,GAAG,CAACS,iBAAiB,QAC/C;MACDvC,SAAS,CAACiC,SAAS,EAAE/B,OAAO,CAAC;MAC7B,OAAO,IAAAoB,wBAAO,oBAAYW,SAAS,iBAAOH,GAAG,CAACC,QAAQ,CAACC,aAAa,EAAG;IACzE;IAEA,OAAO,IAAI,CAACZ,QAAQ,EAAE;EACxB;AACF;AAEA,MAAMoB,mBAAmB,SAASxB,aAAa,CAAC;EAC9CC,WAAW,GAAG;IACZ,KAAK,CAAC,YAAY,CAAC;EACrB;EAEAE,QAAQ,CAACX,KAAe,EAAU;IAChCA,KAAK,CAACiC,OAAO,CAAEC,CAAC,IAAK;MACnB,IAAI,CAACC,YAAY,CAACD,CAAC,CAAC;IACtB,CAAC,CAAC;IACF,OAAO,IAAApB,wBAAO,EAACd,KAAK,CAAC;EACvB;EAEAmC,YAAY,CAAC1C,QAAgB,EAAE;IAC7B,IAAM2C,MAAM,GAAG,IAAAC,kBAAQ,EAAC,IAAAV,uBAAY,EAAClC,QAAQ,CAAC,CAAC;IAC/C,IAAI2C,MAAM,EAAE;MACV5C,SAAS,CAACC,QAAQ,EAAE2C,MAAM,CAAC;IAC7B;IACA,OAAO3C,QAAQ;EACjB;EAEA4B,YAAY,CAACC,GAAa,EAAE;IAC1B,IAAIA,GAAG,CAACC,QAAQ,IAAID,GAAG,CAACC,QAAQ,CAACC,aAAa,EAAE;MAC9C,IAAMC,SAAS,GAAGrB,QAAQ,CAACkB,GAAG,CAAC7B,QAAQ,CAAC,yBAAyB,CAAC,CAAC;MACnE,IAAI,CAAC,IAAAiC,qBAAU,EAACD,SAAS,CAAC,EAAE;QAC1B,IAAAtB,qBAAI,YAAIsB,SAAS,8CAA2C;MAC9D;MACA,IAAI/B,OAAO,GAAG,IAAAiC,uBAAY,EAACF,SAAS,CAAC;MACrC,IAAMG,iBAAiB,GAAG,0BAA0B;MACpD,IAAMC,UAAU,GAAG,iCAAiC;MACpDnC,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBF,iBAAiB,0BACAN,GAAG,CAACC,QAAQ,CAACC,aAAa,OAC5C;MACD9B,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBD,UAAU,iCACcP,GAAG,CAACS,iBAAiB,OAC9C;MACDvC,SAAS,CAACiC,SAAS,EAAE/B,OAAO,CAAC;MAC7B,OAAO,IAAAoB,wBAAO,oBAAYW,SAAS,iBAAOH,GAAG,CAACC,QAAQ,CAACC,aAAa,EAAG;IACzE;IAEA,OAAO,IAAI,CAACZ,QAAQ,EAAE;EACxB;AACF;AAEA,MAAM0B,eAAe,SAAS9B,aAAa,CAAC;EAE1CC,WAAW,GAAG;IACZ,KAAK,CAAC,QAAQ,CAAC;EACjB;EAEAY,YAAY,CAACC,GAAa,EAAE;IAC1B,IAAIA,GAAG,CAACC,QAAQ,IAAID,GAAG,CAACC,QAAQ,CAACC,aAAa,EAAE;MAC9C,IAAMC,SAAS,GAAGrB,QAAQ,CAACkB,GAAG,CAAC7B,QAAQ,CAAC,eAAe,CAAC,CAAC;MACzD,IAAI,CAAC,IAAAiC,qBAAU,EAACD,SAAS,CAAC,EAAE;QAC1B,IAAAtB,qBAAI,YAAIsB,SAAS,8CAA2C;MAC9D;MACA,IAAI/B,OAAO,GAAG,IAAAiC,uBAAY,EAACF,SAAS,CAAC;MACrC,IAAMc,aAAa,GAAG,gCAAgC;MACtD,IAAMC,UAAU,GAAG,6BAA6B;MAChD,IAAMX,UAAU,GAAG,oCAAoC;MACvDnC,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBS,aAAa,+BACQjB,GAAG,CAACC,QAAQ,CAACC,aAAa,QAChD;MACD9B,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBU,UAAU,4BACQlB,GAAG,CAACC,QAAQ,CAACkB,IAAI,CAACC,OAAO,QAC5C;MACDhD,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBD,UAAU,mCACeP,GAAG,CAACS,iBAAiB,QAC/C;MACDvC,SAAS,CAACiC,SAAS,EAAE/B,OAAO,CAAC;MAC7B,OAAO,IAAAoB,wBAAO,oBACDW,SAAS,iBAAOH,GAAG,CAACC,QAAQ,CAACkB,IAAI,CAACC,OAAO,cAAIpB,GAAG,CAACC,QAAQ,CAACC,aAAa,EACnF;IACH;IACA,OAAO,IAAI,CAACZ,QAAQ,EAAE;EACxB;AACF;AAEA,MAAM+B,cAAc,SAASnC,aAAa,CAAC;EAEzCC,WAAW,GAAG;IACZ,KAAK,CAAC,OAAO,CAAC;EAChB;EAEAY,YAAY,CAACC,GAAa,EAAE;IAC1B,IAAIA,GAAG,CAACC,QAAQ,IAAID,GAAG,CAACC,QAAQ,CAACC,aAAa,EAAE;MAC9C,IAAMC,SAAS,GAAGrB,QAAQ,CAACkB,GAAG,CAAC7B,QAAQ,CAAC,eAAe,CAAC,CAAC;MACzD,IAAI,CAAC,IAAAiC,qBAAU,EAACD,SAAS,CAAC,EAAE;QAC1B,IAAAtB,qBAAI,YAAIsB,SAAS,8CAA2C;MAC9D;MACA,IAAI/B,OAAO,GAAG,IAAAiC,uBAAY,EAACF,SAAS,CAAC;MACrC,IAAMc,aAAa,GAAG,6BAA6B;MACnD,IAAMC,UAAU,GAAG,0BAA0B;MAC7C,IAAMX,UAAU,GAAG,iCAAiC;MACpDnC,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBS,aAAa,8BACOjB,GAAG,CAACC,QAAQ,CAACC,aAAa,QAC/C;MACD9B,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBU,UAAU,2BACOlB,GAAG,CAACC,QAAQ,CAACkB,IAAI,CAACC,OAAO,QAC3C;MACDhD,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBD,UAAU,kCACcP,GAAG,CAACS,iBAAiB,QAC9C;MACDvC,SAAS,CAACiC,SAAS,EAAE/B,OAAO,CAAC;MAC7B,OAAO,IAAAoB,wBAAO,oBACDW,SAAS,iBAAOH,GAAG,CAACC,QAAQ,CAACkB,IAAI,CAACC,OAAO,cAAIpB,GAAG,CAACC,QAAQ,CAACC,aAAa,EACnF;IACH;IACA,OAAO,IAAI,CAACZ,QAAQ,EAAE;EACxB;AACF;AAEA,MAAMgC,eAAe,SAASpC,aAAa,CAAC;EAE1CC,WAAW,GAAG;IACZ,KAAK,CAAC,IAAI,CAAC;EACb;EAEAY,YAAY,CAACC,GAAa,EAAE;IAC1B,IAAIA,GAAG,CAACC,QAAQ,IAAID,GAAG,CAACC,QAAQ,CAACC,aAAa,EAAE;MAC9C,IAAMC,SAAS,GAAGrB,QAAQ,CAACkB,GAAG,CAAC7B,QAAQ,CAAC,eAAe,CAAC,CAAC;MACzD,IAAI,CAAC,IAAAiC,qBAAU,EAACD,SAAS,CAAC,EAAE;QAC1B,IAAAtB,qBAAI,YAAIsB,SAAS,8CAA2C;MAC9D;MACA,IAAI/B,OAAO,GAAG,IAAAiC,uBAAY,EAACF,SAAS,CAAC;MACrC,IAAMc,aAAa,GAAG,6BAA6B;MACnD,IAAMC,UAAU,GAAG,0BAA0B;MAC7C,IAAMX,UAAU,GAAG,iCAAiC;MACpDnC,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBS,aAAa,8BACOjB,GAAG,CAACC,QAAQ,CAACC,aAAa,QAC/C;MACD9B,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBU,UAAU,2BACOlB,GAAG,CAACC,QAAQ,CAACkB,IAAI,CAACC,OAAO,QAC3C;MACDhD,OAAO,GAAGA,OAAO,CAACoC,OAAO,CACvBD,UAAU,kCACcP,GAAG,CAACS,iBAAiB,QAC9C;MACDvC,SAAS,CAACiC,SAAS,EAAE/B,OAAO,CAAC;MAC7B,OAAO,IAAAoB,wBAAO,oBACDW,SAAS,iBAAOH,GAAG,CAACC,QAAQ,CAACkB,IAAI,CAACC,OAAO,cAAIpB,GAAG,CAACC,QAAQ,CAACC,aAAa,EACnF;IACH;IACA,OAAO,IAAI,CAACZ,QAAQ,EAAE;EACxB;AACF;AAEA,MAAMiC,WAAW,SAASrC,aAAa,CAAC;EAEtCC,WAAW,GAAG;IACZ,KAAK,CAAC,IAAI,CAAC;IAAA,sCAIX,uEAAuE;EAHzE;EAKAE,QAAQ,CAACX,KAAe,EAAU;IAChC,IAAM8C,WAAW,GAAG,IAAA7B,cAAG,EAAC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,CAACC,YAAY,EAAE,IAAI,CAAC;IAC5E,IAAI4B,WAAW,CAAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE;MACjC,IAAMlB,IAAI,GAAGD,KAAK,CAACE,IAAI,CAAC,GAAG,CAAC;MAE5B,IAAAe,cAAG,EAAC,OAAO,EAAE,CAAC,IAAI,EAAEhB,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC;MAC/C,OAAO,IAAAa,wBAAO,EAACd,KAAK,CAAC;IACvB,CAAC,MAAM;MACL,OAAO,IAAAoB,uBAAM,EAAC,IAAI,CAACF,YAAY,CAAC;IAClC;EACF;EAEAG,YAAY,GAAG;IACb,OAAO,IAAAlB,qBAAI,EAAC,yDAAyD,CAAC;EACxE;AACF;AAMA,IAAM4C,cAA2B,GAAG;EAClC,KAAK,EAAE,IAAIH,eAAe,EAAE;EAC5B,KAAK,EAAE,IAAIN,eAAe,EAAE;EAC5B,KAAK,EAAE,IAAIvB,eAAe,EAAE;EAC5B,QAAQ,EAAE,IAAI4B,cAAc,EAAE;EAC9B,KAAK,EAAE,IAAIX,mBAAmB,EAAE;EAChC,KAAK,EAAE,IAAIa,WAAW;AACxB,CAAC;AAEM,MAAMG,cAAc,CAAC;EAAA;IAAA,+BACJ,CAAC,CAAC;EAAA;EAExBC,OAAO,CAACxD,QAAgB,EAAE;IACxB,IAAMyD,GAAG,GAAG5C,IAAI,CAAC6C,OAAO,CAAC1D,QAAQ,CAAC;IAClC,IAAIyD,GAAG,IAAI,IAAI,CAAClD,KAAK,EAAE;MACrB,IAAI,CAACA,KAAK,CAACkD,GAAG,CAAC,CAACE,IAAI,CAAC3D,QAAQ,CAAC;IAChC,CAAC,MAAM;MACL,IAAI,CAACO,KAAK,CAACkD,GAAG,CAAC,GAAG,CAACzD,QAAQ,CAAC;IAC9B;EACF;EAEA4D,KAAK,GAAG;IACN,IAAI,CAACrD,KAAK,GAAG,CAAC,CAAC;EACjB;EAEAW,QAAQ,CAACX,KAAgB,EAAE;IACzB,IAAIA,KAAK,EAAEA,KAAK,CAACiC,OAAO,CAAEC,CAAC,IAAK,IAAI,CAACe,OAAO,CAACf,CAAC,CAAC,CAAC;IAChDoB,MAAM,CAACC,OAAO,CAAC,IAAI,CAACvD,KAAK,CAAC,CAACiC,OAAO,CAAC,QAAiB;MAAA,IAAhB,CAACiB,GAAG,EAAEjD,IAAI,CAAC;MAC7C,IAAIiD,GAAG,IAAIH,cAAc,EAAE;QACzBA,cAAc,CAACG,GAAG,CAAC,CAACvC,QAAQ,CAACV,IAAI,CAAC;MACpC;IACF,CAAC,CAAC;EACJ;EAEAoB,YAAY,CAACC,GAAa,EAAE;IAC1B,IAAMkC,SAAS,GAAGT,cAAc,CAACzB,GAAG,CAACmC,aAAa,CAAC;IACnD,OAAOD,SAAS,CAACnC,YAAY,CAACC,GAAG,CAAC;EACpC;AACF;AAAC"}
|
package/lib/esm/sdkConfig.js
CHANGED
|
@@ -1,38 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SDKConfig = void 0;
|
|
7
|
+
var fs = _interopRequireWildcard(require("fs"));
|
|
8
|
+
var _dotenv = _interopRequireDefault(require("dotenv"));
|
|
9
|
+
var _sdkRtl = require("@looker/sdk-rtl");
|
|
10
|
+
var _sdkNode = require("@looker/sdk-node");
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
var SDKConfig = function SDKConfig() {
|
|
6
15
|
var fileName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : './looker.ini';
|
|
7
16
|
var envPrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'LOOKERSDK';
|
|
8
17
|
var sectionName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'Looker';
|
|
9
|
-
|
|
10
|
-
|
|
18
|
+
_dotenv.default.config();
|
|
11
19
|
if (process.env.DOT_ENV_FILE) {
|
|
12
20
|
var name = process.env.DOT_ENV_FILE;
|
|
13
|
-
var vals =
|
|
21
|
+
var vals = _dotenv.default.parse(fs.readFileSync(name, 'utf-8'));
|
|
14
22
|
Object.entries(vals).forEach(_ref => {
|
|
15
23
|
var [key, val] = _ref;
|
|
16
24
|
if (val) process.env[key] = val;
|
|
17
25
|
});
|
|
18
26
|
}
|
|
19
|
-
|
|
20
|
-
var section = readIniConfig(fileName, envPrefix, sectionName);
|
|
27
|
+
var section = (0, _sdkNode.readIniConfig)(fileName, envPrefix, sectionName);
|
|
21
28
|
var config = {
|
|
22
29
|
api_version: section.api_version,
|
|
23
30
|
api_versions: section.api_versions,
|
|
24
31
|
base_url: section.base_url,
|
|
25
32
|
client_id: section.client_id,
|
|
26
33
|
client_secret: section.client_secret,
|
|
27
|
-
verify_ssl: boolDefault(section.verify_ssl, true)
|
|
34
|
+
verify_ssl: (0, _sdkRtl.boolDefault)(section.verify_ssl, true)
|
|
28
35
|
};
|
|
29
|
-
|
|
30
36
|
if (!config.base_url) {
|
|
31
37
|
throw Error('Fatal error: base_url is not configured. Exiting.');
|
|
32
38
|
}
|
|
33
|
-
|
|
34
39
|
return {
|
|
35
40
|
[sectionName]: config
|
|
36
41
|
};
|
|
37
42
|
};
|
|
43
|
+
exports.SDKConfig = SDKConfig;
|
|
38
44
|
//# sourceMappingURL=sdkConfig.js.map
|
package/lib/esm/sdkConfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"sdkConfig.js","names":["SDKConfig","fileName","envPrefix","sectionName","dotenv","config","process","env","DOT_ENV_FILE","name","vals","parse","fs","readFileSync","Object","entries","forEach","key","val","section","readIniConfig","api_version","api_versions","base_url","client_id","client_secret","verify_ssl","boolDefault","Error"],"sources":["../../src/sdkConfig.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 * as fs from 'fs'\nimport dotenv from 'dotenv'\nimport { boolDefault } from '@looker/sdk-rtl'\nimport { readIniConfig } from '@looker/sdk-node'\n\nexport interface ISDKConfigProps {\n api_version: string\n api_versions: string\n base_url: string\n client_id: string\n client_secret: string\n verify_ssl: boolean\n}\n\nexport interface ISDKConfigSection {\n [key: string]: ISDKConfigProps\n}\n\nexport const SDKConfig = (\n fileName = './looker.ini',\n envPrefix = 'LOOKERSDK',\n sectionName = 'Looker'\n): ISDKConfigSection => {\n dotenv.config()\n if (process.env.DOT_ENV_FILE) {\n // Load custom env file\n const name = process.env.DOT_ENV_FILE\n const vals = dotenv.parse(fs.readFileSync(name, 'utf-8'))\n Object.entries(vals).forEach(([key, val]) => {\n if (val) process.env[key] = val\n })\n }\n\n const section = readIniConfig(fileName, envPrefix, sectionName)\n const config: ISDKConfigProps = {\n api_version: section.api_version,\n api_versions: section.api_versions,\n base_url: section.base_url,\n client_id: section.client_id,\n client_secret: section.client_secret,\n verify_ssl: boolDefault(section.verify_ssl, true),\n }\n\n if (!config.base_url) {\n throw Error('Fatal error: base_url is not configured. Exiting.')\n }\n return { [sectionName]: config }\n}\n"],"mappings":";;;;;;AA0BA;AACA;AACA;AACA;AAAgD;AAAA;AAAA;AAezC,IAAMA,SAAS,GAAG,SAAZA,SAAS,GAIE;EAAA,IAHtBC,QAAQ,uEAAG,cAAc;EAAA,IACzBC,SAAS,uEAAG,WAAW;EAAA,IACvBC,WAAW,uEAAG,QAAQ;EAEtBC,eAAM,CAACC,MAAM,EAAE;EACf,IAAIC,OAAO,CAACC,GAAG,CAACC,YAAY,EAAE;IAE5B,IAAMC,IAAI,GAAGH,OAAO,CAACC,GAAG,CAACC,YAAY;IACrC,IAAME,IAAI,GAAGN,eAAM,CAACO,KAAK,CAACC,EAAE,CAACC,YAAY,CAACJ,IAAI,EAAE,OAAO,CAAC,CAAC;IACzDK,MAAM,CAACC,OAAO,CAACL,IAAI,CAAC,CAACM,OAAO,CAAC,QAAgB;MAAA,IAAf,CAACC,GAAG,EAAEC,GAAG,CAAC;MACtC,IAAIA,GAAG,EAAEZ,OAAO,CAACC,GAAG,CAACU,GAAG,CAAC,GAAGC,GAAG;IACjC,CAAC,CAAC;EACJ;EAEA,IAAMC,OAAO,GAAG,IAAAC,sBAAa,EAACnB,QAAQ,EAAEC,SAAS,EAAEC,WAAW,CAAC;EAC/D,IAAME,MAAuB,GAAG;IAC9BgB,WAAW,EAAEF,OAAO,CAACE,WAAW;IAChCC,YAAY,EAAEH,OAAO,CAACG,YAAY;IAClCC,QAAQ,EAAEJ,OAAO,CAACI,QAAQ;IAC1BC,SAAS,EAAEL,OAAO,CAACK,SAAS;IAC5BC,aAAa,EAAEN,OAAO,CAACM,aAAa;IACpCC,UAAU,EAAE,IAAAC,mBAAW,EAACR,OAAO,CAACO,UAAU,EAAE,IAAI;EAClD,CAAC;EAED,IAAI,CAACrB,MAAM,CAACkB,QAAQ,EAAE;IACpB,MAAMK,KAAK,CAAC,mDAAmD,CAAC;EAClE;EACA,OAAO;IAAE,CAACzB,WAAW,GAAGE;EAAO,CAAC;AAClC,CAAC;AAAA"}
|