@kibibit/configit 1.0.0-beta.1 → 1.0.0-beta.16

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,255 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
23
  };
5
24
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ConfigService = void 0;
25
+ exports.ConfigService = exports.EFileFormats = void 0;
7
26
  const path_1 = require("path");
8
27
  const class_transformer_1 = require("class-transformer");
9
28
  const class_validator_1 = require("class-validator");
29
+ const colors_1 = require("colors");
10
30
  const find_root_1 = __importDefault(require("find-root"));
11
31
  const fs_extra_1 = require("fs-extra");
32
+ const hjson_1 = require("hjson");
12
33
  const lodash_1 = require("lodash");
13
34
  const nconf_1 = __importDefault(require("nconf"));
35
+ const nconf_yaml_1 = __importDefault(require("nconf-yaml"));
36
+ const yaml_1 = __importDefault(require("yaml"));
37
+ const nconfJsoncFormat = __importStar(require("@kibibit/nconf-jsonc"));
14
38
  const config_errors_1 = require("./config.errors");
15
- const environment = (0, lodash_1.get)(process, 'env.NODE_ENV', 'development');
39
+ const environment_service_1 = require("./environment.service");
40
+ const nconfFormats = nconf_1.default.formats;
41
+ nconfFormats.yaml = nconf_yaml_1.default;
42
+ nconfFormats.jsonc = nconfJsoncFormat;
43
+ var EFileFormats;
44
+ (function (EFileFormats) {
45
+ EFileFormats["json"] = "json";
46
+ EFileFormats["yaml"] = "yaml";
47
+ EFileFormats["jsonc"] = "jsonc";
48
+ EFileFormats["hjson"] = "hjson";
49
+ })(EFileFormats = exports.EFileFormats || (exports.EFileFormats = {}));
16
50
  let configService;
17
51
  class ConfigService {
18
52
  constructor(givenClass, passedConfig, options = {}) {
19
- this.mode = environment;
53
+ this.mode = (0, environment_service_1.getEnvironment)();
20
54
  this.configFileName = '';
21
- this.options = options;
22
- this.appRoot = this.findRoot();
23
55
  if (!passedConfig && configService) {
24
56
  return configService;
25
57
  }
58
+ (0, environment_service_1.setEnvironment)((passedConfig === null || passedConfig === void 0 ? void 0 : passedConfig.NODE_ENV) || (0, environment_service_1.getEnvironment)());
59
+ this.mode = (0, environment_service_1.getEnvironment)();
60
+ this.options = Object.assign({ sharedConfig: [], fileFormat: EFileFormats.json, convertToCamelCase: false, schemaFolderName: '.schemas', showOverrides: false }, options);
61
+ this.appRoot = this.findRoot();
26
62
  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`);
63
+ this.fileExtension = this.options.fileFormat || EFileFormats.json;
64
+ this.config = this.createConfigInstance(this.genericClass, {});
65
+ this.configFileName = this.config.getFileName(this.fileExtension);
66
+ this.configFileRoot = this.findConfigRoot();
67
+ this.configFileFullPath = (0, path_1.join)(this.configFileRoot, this.configFileName);
68
+ this.initializeNconf();
69
+ const config = passedConfig || nconf_1.default.get();
70
+ const pathDoesNotExist = (0, fs_extra_1.pathExistsSync)(this.configFileFullPath) === false;
71
+ if (pathDoesNotExist && (config.saveToFile || config.init)) {
72
+ console.log((0, colors_1.cyan)('Initializing Configuration File'));
73
+ this.config = this.createConfigInstance(this.genericClass, {});
74
+ this.writeConfigToFile();
75
+ this.writeSchema();
76
+ console.log((0, colors_1.cyan)('EXITING'));
77
+ process.exit(0);
78
+ return;
79
+ }
80
+ const envConfig = this.validateInput(config);
81
+ if (!envConfig) {
82
+ return;
83
+ }
84
+ envConfig.NODE_ENV = this.mode;
85
+ this.config = this.createConfigInstance(this.genericClass, envConfig);
86
+ if (config.saveToFile || config.init) {
87
+ if (config.convert) {
88
+ console.log((0, colors_1.cyan)('Converting Configuration File'));
89
+ }
90
+ const fileFormat = config.convert ? config.convert : this.fileExtension;
91
+ const objectWrapper = config.wrapper;
92
+ this.writeConfigToFile({ fileFormat, objectWrapper });
93
+ console.log((0, colors_1.cyan)('EXITING'));
94
+ process.exit(0);
95
+ return;
96
+ }
97
+ this.writeSchema();
98
+ configService = this;
99
+ }
100
+ toPlainObject() {
101
+ return (0, class_transformer_1.classToPlain)(new this.genericClass(this.config));
102
+ }
103
+ writeConfigToFile({ fileFormat, excludeSchema, objectWrapper, outputFolder } = {
104
+ fileFormat: this.options.fileFormat,
105
+ excludeSchema: false
106
+ }) {
107
+ const fileExtension = fileFormat;
108
+ const configFileName = this.config.getFileName(fileExtension);
109
+ const configFileFullPath = (0, path_1.join)(outputFolder || this.configFileRoot, configFileName);
110
+ const plainConfig = (0, class_transformer_1.classToPlain)(this.config);
111
+ const relativePathToSchema = (0, path_1.relative)(outputFolder || this.configFileRoot, (0, path_1.join)(this.appRoot, `/${this.options.schemaFolderName}/${this.config.getSchemaFileName()}`));
112
+ if (!excludeSchema) {
113
+ plainConfig.$schema = relativePathToSchema;
114
+ }
115
+ const orderedKeys = this.orderObjectKeys(plainConfig);
116
+ if (fileFormat === 'yaml') {
117
+ const yamlValues = (0, lodash_1.chain)(orderedKeys)
118
+ .omit(['$schema'])
119
+ .omitBy((value) => value === undefined)
120
+ .value();
121
+ const output = objectWrapper ?
122
+ { [objectWrapper]: yamlValues } :
123
+ yamlValues;
124
+ const yamlString = (0, lodash_1.keys)(yamlValues).length > 0 ? yaml_1.default.stringify(output) : '';
125
+ (0, fs_extra_1.writeFileSync)(configFileFullPath, [
126
+ excludeSchema ? '' : [
127
+ '# yaml-language-server: $schema=',
128
+ relativePathToSchema,
129
+ '\n'
130
+ ].join(''),
131
+ yamlString
132
+ ].join(''));
133
+ return;
134
+ }
135
+ const output = objectWrapper ?
136
+ { [objectWrapper]: orderedKeys } :
137
+ orderedKeys;
138
+ if (fileFormat === 'hjson') {
139
+ (0, fs_extra_1.writeFileSync)(configFileFullPath, (0, hjson_1.stringify)(output, {
140
+ quotes: 'min',
141
+ space: 2
142
+ }));
143
+ return;
144
+ }
145
+ (0, fs_extra_1.writeJSONSync)(configFileFullPath, output, { spaces: 2 });
146
+ for (const sharedConfig of this.options.sharedConfig) {
147
+ this.writeSharedConfigToFile(sharedConfig);
148
+ }
149
+ }
150
+ createConfigInstance(genericClass, data) {
151
+ const configInstance = new genericClass(data);
152
+ configInstance.setName(genericClass);
153
+ return configInstance;
154
+ }
155
+ initializeNconf() {
36
156
  nconf_1.default
37
157
  .argv({
38
158
  parseValues: true
39
159
  })
40
160
  .env({
161
+ separator: '__',
41
162
  parseValues: true,
42
163
  transform: this.options.convertToCamelCase ?
43
164
  transformToCamelCase :
44
165
  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 });
166
+ });
167
+ const nconfFileOptions = {
168
+ format: nconfFormats[this.options.fileFormat]
169
+ };
170
+ if (this.options.encryptConfig) {
171
+ nconfFileOptions.secure = {
172
+ secret: this.options.encryptConfig.secret,
173
+ alg: this.options.encryptConfig.algorithm
174
+ };
175
+ }
176
+ try {
177
+ nconf_1.default
178
+ .file('environment', Object.assign({ file: this.configFileFullPath }, nconfFileOptions));
179
+ }
180
+ catch (error) {
181
+ console.error((0, colors_1.red)(error.message));
182
+ process.exit(1);
183
+ }
184
+ for (const sharedConfig of this.options.sharedConfig) {
185
+ const sharedConfigInstance = this.createConfigInstance(sharedConfig, {});
186
+ const sharedConfigFullPath = (0, path_1.join)(this.configFileRoot, sharedConfigInstance.getFileName(this.fileExtension, true));
187
+ try {
188
+ nconf_1.default.file(sharedConfigInstance.name, Object.assign({ file: sharedConfigFullPath }, nconfFileOptions));
189
+ }
190
+ catch (error) {
191
+ console.error((0, colors_1.red)(error.message));
192
+ process.exit(1);
193
+ }
194
+ }
195
+ }
196
+ writeSchema() {
197
+ (0, fs_extra_1.ensureDirSync)((0, path_1.join)(this.configFileRoot, '/', this.options.schemaFolderName));
198
+ const sharedConfigsSchemas = [];
199
+ for (const sharedConfig of this.options.sharedConfig) {
200
+ const sharedConfigSchema = this.writeSharedSchema(sharedConfig);
201
+ sharedConfigsSchemas.push(sharedConfigSchema);
65
202
  }
66
203
  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;
204
+ const schemaFullPath = (0, path_1.join)(this.configFileRoot, '/', this.options.schemaFolderName, '/', this.config.getSchemaFileName());
205
+ let sharedConfigsProperties = {};
206
+ for (const sharedConfigSchema of sharedConfigsSchemas) {
207
+ (0, lodash_1.mapValues)(sharedConfigSchema.properties, (value) => value.description = `(OVERRIDE SHARED CONFIG)\n${value.description}`);
208
+ sharedConfigsProperties = Object.assign(Object.assign({}, sharedConfigsProperties), sharedConfigSchema.properties);
209
+ }
210
+ if (this.options.showOverrides) {
211
+ schema.properties = Object.assign(Object.assign({}, this.orderObjectKeys(schema.properties)), this.orderObjectKeys(sharedConfigsProperties));
212
+ }
213
+ (0, fs_extra_1.writeJSONSync)(schemaFullPath, schema, { spaces: 2 });
70
214
  }
71
- toPlainObject() {
72
- return (0, class_transformer_1.classToPlain)(this);
215
+ orderObjectKeys(given) {
216
+ return (0, lodash_1.chain)(given)
217
+ .keys()
218
+ .sort()
219
+ .reduce((obj, key) => {
220
+ obj[key] = given[key];
221
+ return obj;
222
+ }, {})
223
+ .value();
224
+ }
225
+ writeSharedSchema(configClass) {
226
+ const config = this.createConfigInstance(configClass, {});
227
+ const schema = config.toJsonSchema();
228
+ const schemaFullPath = (0, path_1.join)(this.configFileRoot, '/', this.options.schemaFolderName, '/', config.getSchemaFileName());
229
+ (0, fs_extra_1.writeJSONSync)(schemaFullPath, schema, { spaces: 2 });
230
+ return schema;
231
+ }
232
+ writeSharedConfigToFile(configClass) {
233
+ const config = this.createConfigInstance(configClass, this.config);
234
+ const plainConfig = (0, class_transformer_1.classToPlain)(config);
235
+ const relativePathToSchema = (0, path_1.relative)(this.configFileRoot, (0, path_1.join)(this.appRoot, `/${this.options.schemaFolderName}/${config.getSchemaFileName()}`));
236
+ plainConfig.$schema = relativePathToSchema;
237
+ const sharedConfigFullPath = (0, path_1.join)(this.configFileRoot, config.getFileName(this.fileExtension, true));
238
+ const orderedKeys = this.orderObjectKeys(plainConfig);
239
+ if (this.options.fileFormat === 'yaml') {
240
+ const yamlValues = (0, lodash_1.chain)(orderedKeys)
241
+ .omit(['$schema'])
242
+ .omitBy((value) => value === undefined)
243
+ .value();
244
+ const yamlString = (0, lodash_1.keys)(yamlValues).length > 0 ? yaml_1.default.stringify(yamlValues) : '';
245
+ (0, fs_extra_1.writeFileSync)(sharedConfigFullPath, [
246
+ '# yaml-language-server: $schema=',
247
+ relativePathToSchema,
248
+ `\n${yamlString}`
249
+ ].join(''));
250
+ return;
251
+ }
252
+ (0, fs_extra_1.writeJSONSync)(sharedConfigFullPath, orderedKeys, { spaces: 2 });
73
253
  }
74
254
  findRoot() {
75
255
  return (0, find_root_1.default)(process.cwd(), (dir) => {
@@ -85,6 +265,11 @@ class ConfigService {
85
265
  });
86
266
  }
87
267
  findConfigRoot() {
268
+ if (this.options.configFolderRelativePath) {
269
+ const fullPath = (0, path_1.join)(this.appRoot, this.options.configFolderRelativePath);
270
+ (0, fs_extra_1.ensureDirSync)(fullPath);
271
+ return fullPath;
272
+ }
88
273
  try {
89
274
  return (0, find_root_1.default)(process.cwd(), (dir) => {
90
275
  const fileNames = (0, fs_extra_1.readdirSync)(dir);
@@ -101,10 +286,49 @@ class ConfigService {
101
286
  throw new Error('something went wrong');
102
287
  const configInstance = new this.genericClass(envConfig);
103
288
  const validationErrors = (0, class_validator_1.validateSync)(configInstance);
289
+ let fullConfig = {};
290
+ let shouldExitProcess = false;
291
+ for (const sharedConfig of this.options.sharedConfig) {
292
+ const validationResult = this.validateSharedInput(envConfig, sharedConfig);
293
+ shouldExitProcess = shouldExitProcess || validationResult.error;
294
+ fullConfig = Object.assign(Object.assign({}, fullConfig), validationResult.configInstance);
295
+ }
104
296
  if (validationErrors.length > 0) {
105
- throw new config_errors_1.ConfigValidationError(validationErrors);
297
+ const validationError = new config_errors_1.ConfigValidationError(validationErrors);
298
+ const errorMessageTitle = `${(0, lodash_1.startCase)(this.config.name)} Configuration Errors`;
299
+ const titleBar = this.generateTerminalTitleBar(errorMessageTitle);
300
+ console.error(titleBar, validationError.message);
301
+ shouldExitProcess = shouldExitProcess || validationErrors.length > 0;
106
302
  }
107
- return (0, class_transformer_1.classToPlain)(configInstance);
303
+ if (shouldExitProcess) {
304
+ process.exit(1);
305
+ return;
306
+ }
307
+ return Object.assign(Object.assign({}, fullConfig), (0, class_transformer_1.classToPlain)(configInstance));
308
+ }
309
+ validateSharedInput(envConfig, configClass) {
310
+ const configInstance = this.createConfigInstance(configClass, envConfig);
311
+ const validationErrors = (0, class_validator_1.validateSync)(configInstance);
312
+ let error = null;
313
+ if (validationErrors.length > 0) {
314
+ const validationError = new config_errors_1.ConfigValidationError(validationErrors);
315
+ const errorMessageTitle = `${(0, lodash_1.startCase)(configInstance.name)} Shared Configuration Errors`;
316
+ const titleBar = this.generateTerminalTitleBar(errorMessageTitle);
317
+ error = { titleBar, message: validationError.message };
318
+ console.error(titleBar, validationError.message);
319
+ }
320
+ return {
321
+ configInstance: (0, class_transformer_1.classToPlain)(configInstance),
322
+ error
323
+ };
324
+ }
325
+ generateTerminalTitleBar(title) {
326
+ const titleBar = (0, colors_1.red)((0, lodash_1.times)(title.length + 4, () => '=').join(''));
327
+ return [
328
+ titleBar,
329
+ (0, colors_1.red)('= ') + title + (0, colors_1.red)(' ='),
330
+ titleBar
331
+ ].join('\n');
108
332
  }
109
333
  }
110
334
  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
@@ -14,4 +14,5 @@ __exportStar(require("./config.service"), exports);
14
14
  __exportStar(require("./config.errors"), exports);
15
15
  __exportStar(require("./config.model"), exports);
16
16
  __exportStar(require("./json-schema.validator"), exports);
17
+ __exportStar(require("./environment.service"), exports);
17
18
  //# 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"}