@kibibit/configit 1.0.0-beta.2 → 1.0.0-beta.20

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.
@@ -1,75 +1,261 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ConfigService = void 0;
29
+ exports.ConfigService = exports.EFileFormats = void 0;
7
30
  const path_1 = require("path");
8
31
  const class_transformer_1 = require("class-transformer");
9
32
  const class_validator_1 = require("class-validator");
33
+ const colors_1 = require("colors");
10
34
  const find_root_1 = __importDefault(require("find-root"));
11
35
  const fs_extra_1 = require("fs-extra");
36
+ const hjson_1 = require("hjson");
12
37
  const lodash_1 = require("lodash");
13
38
  const nconf_1 = __importDefault(require("nconf"));
39
+ const nconf_yaml_1 = __importDefault(require("nconf-yaml"));
40
+ const yaml_1 = __importDefault(require("yaml"));
41
+ const nconfJsoncFormat = __importStar(require("@kibibit/nconf-jsonc"));
14
42
  const config_errors_1 = require("./config.errors");
15
- const environment = (0, lodash_1.get)(process, 'env.NODE_ENV', 'development');
43
+ const environment_service_1 = require("./environment.service");
44
+ const nconfFormats = nconf_1.default.formats;
45
+ nconfFormats.yaml = nconf_yaml_1.default;
46
+ nconfFormats.jsonc = nconfJsoncFormat;
47
+ var EFileFormats;
48
+ (function (EFileFormats) {
49
+ EFileFormats["json"] = "json";
50
+ EFileFormats["yaml"] = "yaml";
51
+ EFileFormats["jsonc"] = "jsonc";
52
+ EFileFormats["hjson"] = "hjson";
53
+ })(EFileFormats = exports.EFileFormats || (exports.EFileFormats = {}));
16
54
  let configService;
17
55
  class ConfigService {
18
56
  constructor(givenClass, passedConfig, options = {}) {
19
- this.mode = environment;
57
+ this.mode = (0, environment_service_1.getEnvironment)();
20
58
  this.configFileName = '';
21
- this.options = options;
22
- this.appRoot = this.findRoot();
23
59
  if (!passedConfig && configService) {
24
60
  return configService;
25
61
  }
62
+ (0, environment_service_1.setEnvironment)((passedConfig === null || passedConfig === void 0 ? void 0 : passedConfig.NODE_ENV) || (0, environment_service_1.getEnvironment)());
63
+ this.mode = (0, environment_service_1.getEnvironment)();
64
+ this.options = Object.assign({ sharedConfig: [], fileFormat: EFileFormats.json, convertToCamelCase: false, schemaFolderName: '.schemas', skipSchema: false, showOverrides: false }, options);
65
+ this.appRoot = this.findRoot();
26
66
  this.genericClass = givenClass;
27
- this.fileName = (0, lodash_1.chain)(this.genericClass.name)
28
- .replace(/Config$/i, '')
29
- .kebabCase()
30
- .value();
31
- this.jsonSchemaFullname = `.${this.fileName}.env.schema.json`;
32
- this.configFileName = `${this.fileName}.${environment}.env.json`;
33
- this.configFileRoot = this.findConfigRoot() || this.appRoot;
34
- this.defaultConfigFilePath = (0, path_1.join)(this.configFileRoot, 'defaults.env.json');
35
- this.configFilePath = (0, path_1.join)(this.configFileRoot, `${this.fileName}.${environment}.env.json`);
67
+ this.fileExtension = this.options.fileFormat || EFileFormats.json;
68
+ this.config = this.createConfigInstance(this.genericClass, {});
69
+ this.configFileName = this.config.getFileName(this.fileExtension);
70
+ this.configFileRoot = this.findConfigRoot();
71
+ this.configFileFullPath = (0, path_1.join)(this.configFileRoot, this.configFileName);
72
+ this.initializeNconf();
73
+ const config = passedConfig || nconf_1.default.get();
74
+ const pathDoesNotExist = (0, fs_extra_1.pathExistsSync)(this.configFileFullPath) === false;
75
+ if (pathDoesNotExist && (config.saveToFile || config.init)) {
76
+ console.log((0, colors_1.cyan)('Initializing Configuration File'));
77
+ this.config = this.createConfigInstance(this.genericClass, {});
78
+ this.writeConfigToFile();
79
+ this.writeSchema();
80
+ console.log((0, colors_1.cyan)('EXITING'));
81
+ process.exit(0);
82
+ return;
83
+ }
84
+ if (!this.options.skipSchema) {
85
+ this.writeSchema();
86
+ }
87
+ const envConfig = this.validateInput(config);
88
+ if (!envConfig) {
89
+ return;
90
+ }
91
+ envConfig.NODE_ENV = this.mode;
92
+ this.config = this.createConfigInstance(this.genericClass, envConfig);
93
+ if (config.saveToFile || config.init) {
94
+ if (config.convert) {
95
+ console.log((0, colors_1.cyan)('Converting Configuration File'));
96
+ }
97
+ const fileFormat = config.convert ? config.convert : this.fileExtension;
98
+ const objectWrapper = config.wrapper;
99
+ this.writeConfigToFile({ fileFormat, objectWrapper });
100
+ console.log((0, colors_1.cyan)('EXITING'));
101
+ process.exit(0);
102
+ return;
103
+ }
104
+ configService = this;
105
+ }
106
+ toPlainObject() {
107
+ return (0, class_transformer_1.classToPlain)(new this.genericClass(this.config));
108
+ }
109
+ writeConfigToFile({ fileFormat, excludeSchema, objectWrapper, outputFolder } = {
110
+ fileFormat: this.options.fileFormat,
111
+ excludeSchema: false
112
+ }) {
113
+ const fileExtension = fileFormat;
114
+ const configFileName = this.config.getFileName(fileExtension);
115
+ const configFileFullPath = (0, path_1.join)(outputFolder || this.configFileRoot, configFileName);
116
+ const plainConfig = (0, class_transformer_1.classToPlain)(this.config);
117
+ const relativePathToSchema = (0, path_1.relative)(outputFolder || this.configFileRoot, (0, path_1.join)(this.appRoot, `/${this.options.schemaFolderName}/${this.config.getSchemaFileName()}`));
118
+ if (!excludeSchema) {
119
+ plainConfig.$schema = relativePathToSchema;
120
+ }
121
+ const orderedKeys = this.orderObjectKeys(plainConfig);
122
+ if (fileFormat === 'yaml') {
123
+ const yamlValues = (0, lodash_1.chain)(orderedKeys)
124
+ .omit(['$schema'])
125
+ .omitBy((value) => value === undefined)
126
+ .value();
127
+ const output = objectWrapper ?
128
+ { [objectWrapper]: yamlValues } :
129
+ yamlValues;
130
+ const yamlString = (0, lodash_1.keys)(yamlValues).length > 0 ? yaml_1.default.stringify(output) : '';
131
+ (0, fs_extra_1.writeFileSync)(configFileFullPath, [
132
+ excludeSchema ? '' : [
133
+ '# yaml-language-server: $schema=',
134
+ relativePathToSchema,
135
+ '\n'
136
+ ].join(''),
137
+ yamlString
138
+ ].join(''));
139
+ return;
140
+ }
141
+ const output = objectWrapper ?
142
+ { [objectWrapper]: orderedKeys } :
143
+ orderedKeys;
144
+ if (fileFormat === 'hjson') {
145
+ (0, fs_extra_1.writeFileSync)(configFileFullPath, (0, hjson_1.stringify)(output, {
146
+ quotes: 'min',
147
+ space: 2
148
+ }));
149
+ return;
150
+ }
151
+ (0, fs_extra_1.writeJSONSync)(configFileFullPath, output, { spaces: 2 });
152
+ for (const sharedConfig of this.options.sharedConfig) {
153
+ this.writeSharedConfigToFile(sharedConfig);
154
+ }
155
+ }
156
+ createConfigInstance(genericClass, data) {
157
+ const configInstance = new genericClass(data);
158
+ configInstance.setName(genericClass);
159
+ return configInstance;
160
+ }
161
+ initializeNconf() {
36
162
  nconf_1.default
37
163
  .argv({
38
164
  parseValues: true
39
165
  })
40
166
  .env({
167
+ separator: '__',
41
168
  parseValues: true,
42
169
  transform: this.options.convertToCamelCase ?
43
170
  transformToCamelCase :
44
171
  null
45
- })
46
- .file('defaults', { file: this.defaultConfigFilePath })
47
- .file('environment', { file: this.configFilePath });
48
- const config = passedConfig || nconf_1.default.get();
49
- const envConfig = this.validateInput(config);
50
- this.config = new this.genericClass(envConfig);
51
- if (config.saveToFile || config.init) {
52
- const plainConfig = (0, class_transformer_1.classToPlain)(this.config);
53
- plainConfig.$schema = `./${this.jsonSchemaFullname}`;
54
- const orderedKeys = (0, lodash_1.chain)(plainConfig)
55
- .keys()
56
- .sort()
57
- .without('NODE_ENV')
58
- .reduce((obj, key) => {
59
- obj[key] = plainConfig[key];
60
- return obj;
61
- }, {})
62
- .value();
63
- console.log(orderedKeys);
64
- (0, fs_extra_1.writeJson)(this.configFilePath, orderedKeys, { spaces: 2 });
172
+ });
173
+ const nconfFileOptions = {
174
+ format: nconfFormats[this.options.fileFormat]
175
+ };
176
+ if (this.options.encryptConfig) {
177
+ nconfFileOptions.secure = {
178
+ secret: this.options.encryptConfig.secret,
179
+ alg: this.options.encryptConfig.algorithm
180
+ };
181
+ }
182
+ try {
183
+ nconf_1.default
184
+ .file('environment', Object.assign({ file: this.configFileFullPath }, nconfFileOptions));
185
+ }
186
+ catch (error) {
187
+ console.error((0, colors_1.red)(error.message));
188
+ process.exit(1);
189
+ }
190
+ for (const sharedConfig of this.options.sharedConfig) {
191
+ const sharedConfigInstance = this.createConfigInstance(sharedConfig, {});
192
+ const sharedConfigFullPath = (0, path_1.join)(this.configFileRoot, sharedConfigInstance.getFileName(this.fileExtension, true));
193
+ try {
194
+ nconf_1.default.file(sharedConfigInstance.name, Object.assign({ file: sharedConfigFullPath }, nconfFileOptions));
195
+ }
196
+ catch (error) {
197
+ console.error((0, colors_1.red)(error.message));
198
+ process.exit(1);
199
+ }
200
+ }
201
+ }
202
+ writeSchema() {
203
+ (0, fs_extra_1.ensureDirSync)((0, path_1.join)(this.configFileRoot, '/', this.options.schemaFolderName));
204
+ const sharedConfigsSchemas = [];
205
+ for (const sharedConfig of this.options.sharedConfig) {
206
+ const sharedConfigSchema = this.writeSharedSchema(sharedConfig);
207
+ sharedConfigsSchemas.push(sharedConfigSchema);
65
208
  }
66
209
  const schema = this.config.toJsonSchema();
67
- const schemaFullPath = (0, path_1.join)(this.configFileRoot, '/', this.jsonSchemaFullname);
68
- (0, fs_extra_1.writeJSONSync)(schemaFullPath, schema);
69
- configService = this;
210
+ const schemaFullPath = (0, path_1.join)(this.configFileRoot, '/', this.options.schemaFolderName, '/', this.config.getSchemaFileName());
211
+ let sharedConfigsProperties = {};
212
+ for (const sharedConfigSchema of sharedConfigsSchemas) {
213
+ (0, lodash_1.mapValues)(sharedConfigSchema.properties, (value) => value.description = `(OVERRIDE SHARED CONFIG)\n${value.description}`);
214
+ sharedConfigsProperties = Object.assign(Object.assign({}, sharedConfigsProperties), sharedConfigSchema.properties);
215
+ }
216
+ if (this.options.showOverrides) {
217
+ schema.properties = Object.assign(Object.assign({}, this.orderObjectKeys(schema.properties)), this.orderObjectKeys(sharedConfigsProperties));
218
+ }
219
+ (0, fs_extra_1.writeJSONSync)(schemaFullPath, schema, { spaces: 2 });
70
220
  }
71
- toPlainObject() {
72
- return (0, class_transformer_1.classToPlain)(this);
221
+ orderObjectKeys(given) {
222
+ return (0, lodash_1.chain)(given)
223
+ .keys()
224
+ .sort()
225
+ .reduce((obj, key) => {
226
+ obj[key] = given[key];
227
+ return obj;
228
+ }, {})
229
+ .value();
230
+ }
231
+ writeSharedSchema(configClass) {
232
+ const config = this.createConfigInstance(configClass, {});
233
+ const schema = config.toJsonSchema();
234
+ const schemaFullPath = (0, path_1.join)(this.configFileRoot, '/', this.options.schemaFolderName, '/', config.getSchemaFileName());
235
+ (0, fs_extra_1.writeJSONSync)(schemaFullPath, schema, { spaces: 2 });
236
+ return schema;
237
+ }
238
+ writeSharedConfigToFile(configClass) {
239
+ const config = this.createConfigInstance(configClass, this.config);
240
+ const plainConfig = (0, class_transformer_1.classToPlain)(config);
241
+ const relativePathToSchema = (0, path_1.relative)(this.configFileRoot, (0, path_1.join)(this.appRoot, `/${this.options.schemaFolderName}/${config.getSchemaFileName()}`));
242
+ plainConfig.$schema = relativePathToSchema;
243
+ const sharedConfigFullPath = (0, path_1.join)(this.configFileRoot, config.getFileName(this.fileExtension, true));
244
+ const orderedKeys = this.orderObjectKeys(plainConfig);
245
+ if (this.options.fileFormat === 'yaml') {
246
+ const yamlValues = (0, lodash_1.chain)(orderedKeys)
247
+ .omit(['$schema'])
248
+ .omitBy((value) => value === undefined)
249
+ .value();
250
+ const yamlString = (0, lodash_1.keys)(yamlValues).length > 0 ? yaml_1.default.stringify(yamlValues) : '';
251
+ (0, fs_extra_1.writeFileSync)(sharedConfigFullPath, [
252
+ '# yaml-language-server: $schema=',
253
+ relativePathToSchema,
254
+ `\n${yamlString}`
255
+ ].join(''));
256
+ return;
257
+ }
258
+ (0, fs_extra_1.writeJSONSync)(sharedConfigFullPath, orderedKeys, { spaces: 2 });
73
259
  }
74
260
  findRoot() {
75
261
  return (0, find_root_1.default)(process.cwd(), (dir) => {
@@ -85,6 +271,11 @@ class ConfigService {
85
271
  });
86
272
  }
87
273
  findConfigRoot() {
274
+ if (this.options.configFolderRelativePath) {
275
+ const fullPath = (0, path_1.join)(this.appRoot, this.options.configFolderRelativePath);
276
+ (0, fs_extra_1.ensureDirSync)(fullPath);
277
+ return fullPath;
278
+ }
88
279
  try {
89
280
  return (0, find_root_1.default)(process.cwd(), (dir) => {
90
281
  const fileNames = (0, fs_extra_1.readdirSync)(dir);
@@ -101,10 +292,49 @@ class ConfigService {
101
292
  throw new Error('something went wrong');
102
293
  const configInstance = new this.genericClass(envConfig);
103
294
  const validationErrors = (0, class_validator_1.validateSync)(configInstance);
295
+ let fullConfig = {};
296
+ let shouldExitProcess = false;
297
+ for (const sharedConfig of this.options.sharedConfig) {
298
+ const validationResult = this.validateSharedInput(envConfig, sharedConfig);
299
+ shouldExitProcess = shouldExitProcess || validationResult.error;
300
+ fullConfig = Object.assign(Object.assign({}, fullConfig), validationResult.configInstance);
301
+ }
104
302
  if (validationErrors.length > 0) {
105
- throw new config_errors_1.ConfigValidationError(validationErrors);
303
+ const validationError = new config_errors_1.ConfigValidationError(validationErrors);
304
+ const errorMessageTitle = `${(0, lodash_1.startCase)(this.config.name)} Configuration Errors`;
305
+ const titleBar = this.generateTerminalTitleBar(errorMessageTitle);
306
+ console.error(titleBar, validationError.message);
307
+ shouldExitProcess = shouldExitProcess || validationErrors.length > 0;
308
+ }
309
+ if (shouldExitProcess) {
310
+ process.exit(1);
311
+ return;
106
312
  }
107
- return (0, class_transformer_1.classToPlain)(configInstance);
313
+ return Object.assign(Object.assign({}, fullConfig), (0, class_transformer_1.classToPlain)(configInstance));
314
+ }
315
+ validateSharedInput(envConfig, configClass) {
316
+ const configInstance = this.createConfigInstance(configClass, envConfig);
317
+ const validationErrors = (0, class_validator_1.validateSync)(configInstance);
318
+ let error = null;
319
+ if (validationErrors.length > 0) {
320
+ const validationError = new config_errors_1.ConfigValidationError(validationErrors);
321
+ const errorMessageTitle = `${(0, lodash_1.startCase)(configInstance.name)} Shared Configuration Errors`;
322
+ const titleBar = this.generateTerminalTitleBar(errorMessageTitle);
323
+ error = { titleBar, message: validationError.message };
324
+ console.error(titleBar, validationError.message);
325
+ }
326
+ return {
327
+ configInstance: (0, class_transformer_1.classToPlain)(configInstance),
328
+ error
329
+ };
330
+ }
331
+ generateTerminalTitleBar(title) {
332
+ const titleBar = (0, colors_1.red)((0, lodash_1.times)(title.length + 4, () => '=').join(''));
333
+ return [
334
+ titleBar,
335
+ (0, colors_1.red)('= ') + title + (0, colors_1.red)(' ='),
336
+ titleBar
337
+ ].join('\n');
108
338
  }
109
339
  }
110
340
  exports.ConfigService = ConfigService;
@@ -1 +1 @@
1
- {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../src/config.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../src/config.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function setEnvironment(givenEnvironment: string): void;
2
+ export declare function getEnvironment(): any;
3
+ //# sourceMappingURL=environment.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.service.d.ts","sourceRoot":"","sources":["../src/environment.service.ts"],"names":[],"mappings":"AAMA,wBAAgB,cAAc,CAAC,gBAAgB,EAAE,MAAM,QAEtD;AAED,wBAAgB,cAAc,QAE7B"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEnvironment = exports.setEnvironment = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const realEnvironment = (0, lodash_1.get)(process, 'env.NODE_ENV', 'development');
6
+ let environment;
7
+ function setEnvironment(givenEnvironment) {
8
+ environment = givenEnvironment;
9
+ }
10
+ exports.setEnvironment = setEnvironment;
11
+ function getEnvironment() {
12
+ return environment || realEnvironment;
13
+ }
14
+ exports.getEnvironment = getEnvironment;
15
+ //# sourceMappingURL=environment.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.service.js","sourceRoot":"","sources":["../src/environment.service.ts"],"names":[],"mappings":";;;AAAA,mCAA6B;AAE7B,MAAM,eAAe,GAAG,IAAA,YAAG,EAAC,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;AAEpE,IAAI,WAAmB,CAAC;AAExB,SAAgB,cAAc,CAAC,gBAAwB;IACrD,WAAW,GAAG,gBAAgB,CAAC;AACjC,CAAC;AAFD,wCAEC;AAED,SAAgB,cAAc;IAC5B,OAAO,WAAW,IAAI,eAAe,CAAC;AACxC,CAAC;AAFD,wCAEC"}
package/lib/index.d.ts CHANGED
@@ -2,4 +2,5 @@ export * from './config.service';
2
2
  export * from './config.errors';
3
3
  export * from './config.model';
4
4
  export * from './json-schema.validator';
5
+ export * from './environment.service';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -14,4 +18,5 @@ __exportStar(require("./config.service"), exports);
14
18
  __exportStar(require("./config.errors"), exports);
15
19
  __exportStar(require("./config.model"), exports);
16
20
  __exportStar(require("./json-schema.validator"), exports);
21
+ __exportStar(require("./environment.service"), exports);
17
22
  //# 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":";;;;;;;;;;;;AAAA,mDAAiC;AACjC,kDAAgC;AAChC,iDAA+B;AAC/B,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,kDAAgC;AAChC,iDAA+B;AAC/B,0DAAwC;AACxC,wDAAsC"}
@@ -1,6 +1,6 @@
1
- import { ValidatorConstraintInterface } from 'class-validator';
2
- export declare class JsonSchema implements ValidatorConstraintInterface {
3
- validate(): boolean;
4
- defaultMessage(): string;
1
+ export interface IConfigVariableOptions {
2
+ exclude?: boolean;
5
3
  }
4
+ export declare function Configuration(): ClassDecorator;
5
+ export declare function ConfigVariable(description?: string | string[], options?: IConfigVariableOptions): PropertyDecorator;
6
6
  //# sourceMappingURL=json-schema.validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.validator.d.ts","sourceRoot":"","sources":["../src/json-schema.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,4BAA4B,EAC7B,MAAM,iBAAiB,CAAC;AAEzB,qBACa,UAAW,YAAW,4BAA4B;IAC7D,QAAQ;IAIR,cAAc;CAGf"}
1
+ {"version":3,"file":"json-schema.validator.d.ts","sourceRoot":"","sources":["../src/json-schema.validator.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAaD,wBAAgB,aAAa,IAAI,cAAc,CAM9C;AAED,wBAAgB,cAAc,CAC5B,WAAW,GAAE,MAAM,GAAG,MAAM,EAAO,EACnC,OAAO,GAAE,sBAA2B,GACnC,iBAAiB,CASnB"}
@@ -6,7 +6,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.JsonSchema = void 0;
9
+ exports.ConfigVariable = exports.Configuration = void 0;
10
+ const class_transformer_1 = require("class-transformer");
10
11
  const class_validator_1 = require("class-validator");
11
12
  let JsonSchema = class JsonSchema {
12
13
  validate() {
@@ -19,5 +20,21 @@ let JsonSchema = class JsonSchema {
19
20
  JsonSchema = __decorate([
20
21
  (0, class_validator_1.ValidatorConstraint)({ name: 'JsonSchema', async: false })
21
22
  ], JsonSchema);
22
- exports.JsonSchema = JsonSchema;
23
+ function Configuration() {
24
+ const exposeFn = (0, class_transformer_1.Exclude)();
25
+ return function (target) {
26
+ exposeFn(target);
27
+ };
28
+ }
29
+ exports.Configuration = Configuration;
30
+ function ConfigVariable(description = '', options = {}) {
31
+ description = Array.isArray(description) ? description : [description];
32
+ const exposeFn = options.exclude ? (0, class_transformer_1.Exclude)() : (0, class_transformer_1.Expose)();
33
+ const typeFn = (0, class_validator_1.Validate)(JsonSchema, description);
34
+ return function (target, key) {
35
+ typeFn(target, key);
36
+ exposeFn(target, key);
37
+ };
38
+ }
39
+ exports.ConfigVariable = ConfigVariable;
23
40
  //# sourceMappingURL=json-schema.validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.validator.js","sourceRoot":"","sources":["../src/json-schema.validator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,qDAGyB;AAGzB,IAAa,UAAU,GAAvB,MAAa,UAAU;IACrB,QAAQ;QACN,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAA;AARY,UAAU;IADtB,IAAA,qCAAmB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GAC7C,UAAU,CAQtB;AARY,gCAAU"}
1
+ {"version":3,"file":"json-schema.validator.js","sourceRoot":"","sources":["../src/json-schema.validator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yDAAoD;AACpD,qDAIyB;AAOzB,IAAM,UAAU,GAAhB,MAAM,UAAU;IACd,QAAQ;QACN,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAA;AARK,UAAU;IADf,IAAA,qCAAmB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GACpD,UAAU,CAQf;AAED,SAAgB,aAAa;IAC3B,MAAM,QAAQ,GAAG,IAAA,2BAAO,GAAE,CAAC;IAE3B,OAAO,UAAS,MAAW;QACzB,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AAND,sCAMC;AAED,SAAgB,cAAc,CAC5B,cAAiC,EAAE,EACnC,UAAkC,EAAE;IAEpC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAE,WAAW,CAAE,CAAC;IACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,2BAAO,GAAE,CAAC,CAAC,CAAC,IAAA,0BAAM,GAAE,CAAC;IACxD,MAAM,MAAM,GAAG,IAAA,0BAAQ,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAEjD,OAAO,UAAS,MAAe,EAAE,GAAW;QAC1C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC;AAZD,wCAYC"}