@pristine-ts/configuration 0.0.125 → 0.0.129
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/dist/lib/cjs/errors/configuration-definition-already-exists.error.js +3 -0
- package/dist/lib/cjs/errors/configuration-definition-already-exists.error.js.map +1 -1
- package/dist/lib/cjs/errors/configuration-resolver.error.js +3 -0
- package/dist/lib/cjs/errors/configuration-resolver.error.js.map +1 -1
- package/dist/lib/cjs/errors/configuration-validation.error.js +3 -0
- package/dist/lib/cjs/errors/configuration-validation.error.js.map +1 -1
- package/dist/lib/cjs/managers/configuration.manager.js +2 -0
- package/dist/lib/cjs/managers/configuration.manager.js.map +1 -1
- package/dist/lib/cjs/parsers/configuration.parser.js +13 -0
- package/dist/lib/cjs/parsers/configuration.parser.js.map +1 -1
- package/dist/lib/cjs/resolvers/enum.resolver.js +6 -0
- package/dist/lib/cjs/resolvers/enum.resolver.js.map +1 -1
- package/dist/lib/cjs/resolvers/environment-variable.resolver.js +6 -0
- package/dist/lib/cjs/resolvers/environment-variable.resolver.js.map +1 -1
- package/dist/lib/esm/errors/configuration-definition-already-exists.error.js +3 -0
- package/dist/lib/esm/errors/configuration-definition-already-exists.error.js.map +1 -1
- package/dist/lib/esm/errors/configuration-resolver.error.js +3 -0
- package/dist/lib/esm/errors/configuration-resolver.error.js.map +1 -1
- package/dist/lib/esm/errors/configuration-validation.error.js +3 -0
- package/dist/lib/esm/errors/configuration-validation.error.js.map +1 -1
- package/dist/lib/esm/managers/configuration.manager.js +2 -0
- package/dist/lib/esm/managers/configuration.manager.js.map +1 -1
- package/dist/lib/esm/parsers/configuration.parser.js +13 -0
- package/dist/lib/esm/parsers/configuration.parser.js.map +1 -1
- package/dist/lib/esm/resolvers/enum.resolver.js +6 -0
- package/dist/lib/esm/resolvers/enum.resolver.js.map +1 -1
- package/dist/lib/esm/resolvers/environment-variable.resolver.js +6 -0
- package/dist/lib/esm/resolvers/environment-variable.resolver.js.map +1 -1
- package/dist/types/errors/configuration-definition-already-exists.error.d.ts +3 -0
- package/dist/types/errors/configuration-resolver.error.d.ts +3 -0
- package/dist/types/errors/configuration-validation.error.d.ts +3 -0
- package/dist/types/interfaces/configuration-parameter.interface.d.ts +3 -0
- package/dist/types/parsers/configuration.parser.d.ts +6 -0
- package/dist/types/resolvers/enum.resolver.d.ts +5 -0
- package/dist/types/resolvers/environment-variable.resolver.d.ts +7 -1
- package/dist/types/types/module-configuration.value.d.ts +3 -0
- package/package.json +3 -3
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConfigurationDefinitionAlreadyExistsError = void 0;
|
|
4
4
|
const common_1 = require("@pristine-ts/common");
|
|
5
|
+
/**
|
|
6
|
+
* This Error represents a configuration error when a configuration definition already exists.
|
|
7
|
+
*/
|
|
5
8
|
class ConfigurationDefinitionAlreadyExistsError extends common_1.LoggableError {
|
|
6
9
|
constructor(message, parameterName) {
|
|
7
10
|
super(message, { parameterName });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-definition-already-exists.error.js","sourceRoot":"","sources":["../../../../src/errors/configuration-definition-already-exists.error.ts"],"names":[],"mappings":";;;AAAA,gDAAkD;AAElD,MAAa,yCAA0C,SAAQ,sBAAa;IACxE,YAAmB,OAAe,EAAE,aAAqB;QACrD,KAAK,CAAC,OAAO,EAAE,EAAC,aAAa,EAAC,CAAC,CAAC;QAEhC,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yCAAyC,CAAC,SAAS,CAAC,CAAC;IACrF,CAAC;CACJ;AATD,8FASC"}
|
|
1
|
+
{"version":3,"file":"configuration-definition-already-exists.error.js","sourceRoot":"","sources":["../../../../src/errors/configuration-definition-already-exists.error.ts"],"names":[],"mappings":";;;AAAA,gDAAkD;AAElD;;GAEG;AACH,MAAa,yCAA0C,SAAQ,sBAAa;IACxE,YAAmB,OAAe,EAAE,aAAqB;QACrD,KAAK,CAAC,OAAO,EAAE,EAAC,aAAa,EAAC,CAAC,CAAC;QAEhC,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yCAAyC,CAAC,SAAS,CAAC,CAAC;IACrF,CAAC;CACJ;AATD,8FASC"}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConfigurationResolverError = void 0;
|
|
4
4
|
const common_1 = require("@pristine-ts/common");
|
|
5
|
+
/**
|
|
6
|
+
* This Error represents a configuration error when an error occurs in a resolver.
|
|
7
|
+
*/
|
|
5
8
|
class ConfigurationResolverError extends common_1.LoggableError {
|
|
6
9
|
constructor(message, value) {
|
|
7
10
|
super(message, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-resolver.error.js","sourceRoot":"","sources":["../../../../src/errors/configuration-resolver.error.ts"],"names":[],"mappings":";;;AAAA,gDAAkD;AAElD,MAAa,0BAA2B,SAAQ,sBAAa;IACzD,YAAmB,OAAe,EAAE,KAAK;QACrC,KAAK,CAAC,OAAO,EAAE;YACX,KAAK;YACL,IAAI,EAAE,OAAM,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;CACJ;AAZD,gEAYC"}
|
|
1
|
+
{"version":3,"file":"configuration-resolver.error.js","sourceRoot":"","sources":["../../../../src/errors/configuration-resolver.error.ts"],"names":[],"mappings":";;;AAAA,gDAAkD;AAElD;;GAEG;AACH,MAAa,0BAA2B,SAAQ,sBAAa;IACzD,YAAmB,OAAe,EAAE,KAAK;QACrC,KAAK,CAAC,OAAO,EAAE;YACX,KAAK;YACL,IAAI,EAAE,OAAM,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;CACJ;AAZD,gEAYC"}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConfigurationValidationError = void 0;
|
|
4
4
|
const common_1 = require("@pristine-ts/common");
|
|
5
|
+
/**
|
|
6
|
+
* This Error represents a configuration error when a validation fails.
|
|
7
|
+
*/
|
|
5
8
|
class ConfigurationValidationError extends common_1.LoggableError {
|
|
6
9
|
constructor(messages) {
|
|
7
10
|
super(messages.join("\n"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-validation.error.js","sourceRoot":"","sources":["../../../../src/errors/configuration-validation.error.ts"],"names":[],"mappings":";;;AAAA,gDAAkD;AAElD,MAAa,4BAA6B,SAAQ,sBAAa;IAC3D,YAAmB,QAAkB;QACjC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3B,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxE,CAAC;CACJ;AATD,oEASC"}
|
|
1
|
+
{"version":3,"file":"configuration-validation.error.js","sourceRoot":"","sources":["../../../../src/errors/configuration-validation.error.ts"],"names":[],"mappings":";;;AAAA,gDAAkD;AAElD;;GAEG;AACH,MAAa,4BAA6B,SAAQ,sBAAa;IAC3D,YAAmB,QAAkB;QACjC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3B,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxE,CAAC;CACJ;AATD,oEASC"}
|
|
@@ -83,6 +83,8 @@ let ConfigurationManager = class ConfigurationManager {
|
|
|
83
83
|
const resolvedConfigurationValue = yield this.configurationParser.resolve(defaultResolver, container);
|
|
84
84
|
this.registerConfigurationValue(key, resolvedConfigurationValue, container);
|
|
85
85
|
isConfigurationResolvedByDefaultResolver = true;
|
|
86
|
+
// As soon as we find a default resolver that works we stop.
|
|
87
|
+
break;
|
|
86
88
|
}
|
|
87
89
|
catch (e) {
|
|
88
90
|
// Simply ignore and continue
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.manager.js","sourceRoot":"","sources":["../../../../src/managers/configuration.manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,uCAAiE;AACjE,2HAAkH;AAElH,0EAAoE;AACpE,6FAAsF;AAItF,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAG7B,YAAoC,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAFrE,6BAAwB,GAA+C,EAAE,CAAC;IAGjF,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,uBAAgD;QAC5D,IAAI,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE;YACrF,MAAM,IAAI,yFAAyC,CAAC,iFAAiF,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;SACjL;QAED,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,aAAa,CAAC,GAAG,uBAAuB,CAAC;IACnG,CAAC;IAED;;;;;;;;;OASG;IACU,IAAI,CAAC,yBAAsE,EAAE,SAA8B;;YACpH,MAAM,gBAAgB,GAAa,EAAE,CAAC;YAEtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE;gBACtD,IAAI,yBAAyB,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oBACzD,SAAS;iBACZ;gBAED,IAAI,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oBAC7D,gBAAgB,CAAC,IAAI,CAAC,qFAAqF,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;oBAC1H,SAAS;iBACZ;gBAED,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;gBAEhE,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;gBAE/G,8CAA8C;gBAC9C,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,0BAA0B,EAAE,SAAS,CAAC,CAAC;gBAE5E,iDAAiD;gBACjD,OAAO,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;aAC7C;YAED,4HAA4H;YAC5H,mEAAmE;YACnE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;gBAC1D,IAAI,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oBAC7D,SAAS;iBACZ;gBAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;gBAEnE,kHAAkH;gBAClH,IAAI,uBAAuB,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,EAAE;oBACrG,IAAI,wCAAwC,GAAG,KAAK,CAAC;oBAErD,KAAK,IAAI,eAAe,IAAI,uBAAuB,CAAC,gBAAgB,EAAE;wBAClE,IAAI;4BACA,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;4BAEtG,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,0BAA0B,EAAE,SAAS,CAAC,CAAC;4BAE5E,wCAAwC,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"configuration.manager.js","sourceRoot":"","sources":["../../../../src/managers/configuration.manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,21 +19,34 @@ exports.ConfigurationParser = void 0;
|
|
|
19
19
|
const configuration_validation_error_1 = require("../errors/configuration-validation.error");
|
|
20
20
|
const tsyringe_1 = require("tsyringe");
|
|
21
21
|
let ConfigurationParser = class ConfigurationParser {
|
|
22
|
+
/**
|
|
23
|
+
* This method resolves the value for the configuration value.
|
|
24
|
+
* The configuration value can either be a basic type, that we return right away, a promise, a DynamicConfigurationResolverInterface or a ResolverInterface that we have to resolve.
|
|
25
|
+
* @param moduleConfigurationValue
|
|
26
|
+
* @param container
|
|
27
|
+
*/
|
|
22
28
|
resolve(moduleConfigurationValue, container) {
|
|
23
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
// No need to check if the value is a promise. https://stackoverflow.com/a/27760489/684101
|
|
24
31
|
const resolvedValue = yield Promise.resolve(moduleConfigurationValue);
|
|
32
|
+
// If the value is already a base type or a promise that resolves to a base type we return the value right away.
|
|
25
33
|
if (typeof resolvedValue === "boolean" || typeof resolvedValue === "number" || typeof resolvedValue === "string") {
|
|
26
34
|
return resolvedValue;
|
|
27
35
|
}
|
|
36
|
+
// If the value is an object it's either a DynamicConfigurationResolverInterface or a ResolverInterface we need to resolve the proper value.
|
|
28
37
|
if (typeof resolvedValue === "object") {
|
|
29
38
|
const dynamicConfigurationResolver = resolvedValue;
|
|
39
|
+
// If the object is DynamicConfigurationResolverInterface
|
|
30
40
|
if (dynamicConfigurationResolver.dynamicResolve !== undefined && typeof dynamicConfigurationResolver.dynamicResolve === "function") {
|
|
31
41
|
let instantiatedClass;
|
|
42
|
+
// Resolve the instantiated class from the dependency container based on the injection token provided.
|
|
32
43
|
if (dynamicConfigurationResolver.injectionToken) {
|
|
33
44
|
instantiatedClass = container.resolve(dynamicConfigurationResolver.injectionToken);
|
|
34
45
|
}
|
|
46
|
+
// Execute the dynamicResolve function of the DynamicConfigurationResolverInterface with the instantiatedClass.
|
|
35
47
|
return Promise.resolve(dynamicConfigurationResolver.dynamicResolve(instantiatedClass));
|
|
36
48
|
}
|
|
49
|
+
// If the object is a ResolverInterface, we resolve the resolver and return the value.
|
|
37
50
|
else if (typeof resolvedValue.resolve === "function") {
|
|
38
51
|
return Promise.resolve(resolvedValue.resolve());
|
|
39
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.parser.js","sourceRoot":"","sources":["../../../../src/parsers/configuration.parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,6FAAsF;AACtF,uCAAyD;AAMzD,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"configuration.parser.js","sourceRoot":"","sources":["../../../../src/parsers/configuration.parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,6FAAsF;AACtF,uCAAyD;AAMzD,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAE5B;;;;;OAKG;IACG,OAAO,CAAC,wBAAkD,EAAE,SAA8B;;YAC5F,0FAA0F;YAC1F,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAA;YAErE,gHAAgH;YAChH,IAAG,OAAO,aAAa,KAAK,SAAS,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;gBAC7G,OAAO,aAAa,CAAC;aACxB;YAED,4IAA4I;YAC5I,IAAG,OAAO,aAAa,KAAK,QAAQ,EAAE;gBAClC,MAAM,4BAA4B,GAAI,aAA4D,CAAA;gBAElG,0DAA0D;gBAC1D,IAAK,4BAA4B,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,4BAA4B,CAAC,cAAc,KAAK,UAAU,EAAE;oBACjI,IAAI,iBAAiB,CAAC;oBAEtB,sGAAsG;oBACtG,IAAG,4BAA4B,CAAC,cAAc,EAAE;wBAC5C,iBAAiB,GAAG,SAAS,CAAC,OAAO,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC;qBACtF;oBAED,+GAA+G;oBAC/G,OAAO,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBAC1F;gBACD,sFAAsF;qBACjF,IAAG,OAAQ,aAAwC,CAAC,OAAO,KAAK,UAAU,EAAE;oBAC7E,OAAO,OAAO,CAAC,OAAO,CAAE,aAAwC,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC/E;aACJ;YAED,MAAM,IAAI,6DAA4B,CAAC,CAAC,kFAAkF,GAAG,OAAO,aAAa,GAAE,GAAG,CAAC,CAAC,CAAA;QAC5J,CAAC;KAAA;CACJ,CAAA;AAzCY,mBAAmB;IAD/B,qBAAU,EAAE;GACA,mBAAmB,CAyC/B;AAzCY,kDAAmB"}
|
|
@@ -15,6 +15,11 @@ const configuration_resolver_error_1 = require("../errors/configuration-resolver
|
|
|
15
15
|
* This class takes either another resolver or a scalar (number or string) and returns an enum value.
|
|
16
16
|
*/
|
|
17
17
|
class EnumResolver {
|
|
18
|
+
/**
|
|
19
|
+
* The constructor for the enum resolver.
|
|
20
|
+
* @param valueOrResolver The value or resolver.
|
|
21
|
+
* @param enumClass The enum class to which the resolved value needs to be mapped.
|
|
22
|
+
*/
|
|
18
23
|
constructor(valueOrResolver, enumClass) {
|
|
19
24
|
this.valueOrResolver = valueOrResolver;
|
|
20
25
|
this.enumClass = enumClass;
|
|
@@ -30,6 +35,7 @@ class EnumResolver {
|
|
|
30
35
|
const normalizedValue = value.toLowerCase();
|
|
31
36
|
const keys = Object.keys(enumClass).filter(key => isNaN(Number(key)));
|
|
32
37
|
for (const key of keys) {
|
|
38
|
+
// Verifies if the value is either equal to a key or a value of the enum.
|
|
33
39
|
if (key.toLowerCase() === normalizedValue || enumClass[key] === value) {
|
|
34
40
|
return enumClass[key];
|
|
35
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.resolver.js","sourceRoot":"","sources":["../../../../src/resolvers/enum.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yFAAkF;AAElF;;GAEG;AACH,MAAa,YAAY;IACrB,YACqB,eAAwF,EACxF,SAAc;QADd,oBAAe,GAAf,eAAe,CAAyE;QACxF,cAAS,GAAT,SAAS,CAAK;IAEnC,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAE,KAAa,EAAE,SAAc;QAChD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAE5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtE,KAAI,MAAM,GAAG,IAAI,IAAI,EAAC;YAClB,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,eAAe,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAC;gBAClE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;aACzB;SACJ;QAED,MAAM,IAAI,yDAA0B,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;IACnG,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CAAE,KAAa,EAAE,SAAc;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,KAAI,MAAM,GAAG,IAAI,IAAI,EAAC;YAClB,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAC;gBACzB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;aACzB;SACJ;QAED,MAAM,IAAI,yDAA0B,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;IACrG,CAAC;IAED;;;;;;OAMG;IACW,sBAAsB,CAAC,KAA+E,EAAE,SAAc;;YAChI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACrE,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aAC/C;YAED,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aAC/C;YAED,IAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;gBACjE,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;aACxE;YAED,MAAM,IAAI,yDAA0B,CAAC,wFAAwF,EAAE,KAAK,CAAC,CAAC;QAC1I,CAAC;KAAA;IAED;;OAEG;IACG,OAAO;;YACT,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;KAAA;CAEJ;
|
|
1
|
+
{"version":3,"file":"enum.resolver.js","sourceRoot":"","sources":["../../../../src/resolvers/enum.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yFAAkF;AAElF;;GAEG;AACH,MAAa,YAAY;IACrB;;;;OAIG;IACH,YACqB,eAAwF,EACxF,SAAc;QADd,oBAAe,GAAf,eAAe,CAAyE;QACxF,cAAS,GAAT,SAAS,CAAK;IAEnC,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAE,KAAa,EAAE,SAAc;QAChD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAE5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtE,KAAI,MAAM,GAAG,IAAI,IAAI,EAAC;YAClB,yEAAyE;YACzE,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,eAAe,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAC;gBAClE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;aACzB;SACJ;QAED,MAAM,IAAI,yDAA0B,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;IACnG,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CAAE,KAAa,EAAE,SAAc;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,KAAI,MAAM,GAAG,IAAI,IAAI,EAAC;YAClB,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAC;gBACzB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;aACzB;SACJ;QAED,MAAM,IAAI,yDAA0B,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;IACrG,CAAC;IAED;;;;;;OAMG;IACW,sBAAsB,CAAC,KAA+E,EAAE,SAAc;;YAChI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACrE,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aAC/C;YAED,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aAC/C;YAED,IAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;gBACjE,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;aACxE;YAED,MAAM,IAAI,yDAA0B,CAAC,wFAAwF,EAAE,KAAK,CAAC,CAAC;QAC1I,CAAC;KAAA;IAED;;OAEG;IACG,OAAO;;YACT,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;KAAA;CAEJ;AAnFD,oCAmFC"}
|
|
@@ -11,10 +11,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.EnvironmentVariableResolver = void 0;
|
|
13
13
|
const configuration_resolver_error_1 = require("../errors/configuration-resolver.error");
|
|
14
|
+
/**
|
|
15
|
+
* This class takes the name of the environment variable and returns the value.
|
|
16
|
+
*/
|
|
14
17
|
class EnvironmentVariableResolver {
|
|
15
18
|
constructor(environmentVariableName) {
|
|
16
19
|
this.environmentVariableName = environmentVariableName;
|
|
17
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Resolves the value of the environment variable.
|
|
23
|
+
*/
|
|
18
24
|
resolve() {
|
|
19
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20
26
|
if (process.env[this.environmentVariableName] === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-variable.resolver.js","sourceRoot":"","sources":["../../../../src/resolvers/environment-variable.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yFAAkF;AAElF,MAAa,2BAA2B;IACpC,YAAoC,
|
|
1
|
+
{"version":3,"file":"environment-variable.resolver.js","sourceRoot":"","sources":["../../../../src/resolvers/environment-variable.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yFAAkF;AAElF;;GAEG;AACH,MAAa,2BAA2B;IACpC,YAAoC,uBAA+B;QAA/B,4BAAuB,GAAvB,uBAAuB,CAAQ;IACnE,CAAC;IAED;;OAEG;IACG,OAAO;;YACT,IAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,SAAS,EAAE;gBACxD,MAAM,IAAI,yDAA0B,CAAC,uCAAuC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;aAC/G;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAW,CAAC,CAAC;QAChF,CAAC;KAAA;CACJ;AAdD,kEAcC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { LoggableError } from "@pristine-ts/common";
|
|
2
|
+
/**
|
|
3
|
+
* This Error represents a configuration error when a configuration definition already exists.
|
|
4
|
+
*/
|
|
2
5
|
export class ConfigurationDefinitionAlreadyExistsError extends LoggableError {
|
|
3
6
|
constructor(message, parameterName) {
|
|
4
7
|
super(message, { parameterName });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-definition-already-exists.error.js","sourceRoot":"","sources":["../../../../src/errors/configuration-definition-already-exists.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD,MAAM,OAAO,yCAA0C,SAAQ,aAAa;IACxE,YAAmB,OAAe,EAAE,aAAqB;QACrD,KAAK,CAAC,OAAO,EAAE,EAAC,aAAa,EAAC,CAAC,CAAC;QAEhC,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yCAAyC,CAAC,SAAS,CAAC,CAAC;IACrF,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"configuration-definition-already-exists.error.js","sourceRoot":"","sources":["../../../../src/errors/configuration-definition-already-exists.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,yCAA0C,SAAQ,aAAa;IACxE,YAAmB,OAAe,EAAE,aAAqB;QACrD,KAAK,CAAC,OAAO,EAAE,EAAC,aAAa,EAAC,CAAC,CAAC;QAEhC,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yCAAyC,CAAC,SAAS,CAAC,CAAC;IACrF,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-resolver.error.js","sourceRoot":"","sources":["../../../../src/errors/configuration-resolver.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD,MAAM,OAAO,0BAA2B,SAAQ,aAAa;IACzD,YAAmB,OAAe,EAAE,KAAK;QACrC,KAAK,CAAC,OAAO,EAAE;YACX,KAAK;YACL,IAAI,EAAE,OAAM,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"configuration-resolver.error.js","sourceRoot":"","sources":["../../../../src/errors/configuration-resolver.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,aAAa;IACzD,YAAmB,OAAe,EAAE,KAAK;QACrC,KAAK,CAAC,OAAO,EAAE;YACX,KAAK;YACL,IAAI,EAAE,OAAM,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QAEH,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-validation.error.js","sourceRoot":"","sources":["../../../../src/errors/configuration-validation.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD,MAAM,OAAO,4BAA6B,SAAQ,aAAa;IAC3D,YAAmB,QAAkB;QACjC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3B,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxE,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"configuration-validation.error.js","sourceRoot":"","sources":["../../../../src/errors/configuration-validation.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,aAAa;IAC3D,YAAmB,QAAkB;QACjC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3B,gCAAgC;QAChC,kDAAkD;QAClD,gIAAgI;QAChI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxE,CAAC;CACJ"}
|
|
@@ -80,6 +80,8 @@ let ConfigurationManager = class ConfigurationManager {
|
|
|
80
80
|
const resolvedConfigurationValue = yield this.configurationParser.resolve(defaultResolver, container);
|
|
81
81
|
this.registerConfigurationValue(key, resolvedConfigurationValue, container);
|
|
82
82
|
isConfigurationResolvedByDefaultResolver = true;
|
|
83
|
+
// As soon as we find a default resolver that works we stop.
|
|
84
|
+
break;
|
|
83
85
|
}
|
|
84
86
|
catch (e) {
|
|
85
87
|
// Simply ignore and continue
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.manager.js","sourceRoot":"","sources":["../../../../src/managers/configuration.manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,UAAU,EAA8B,MAAM,UAAU,CAAC;AACjE,OAAO,EAAC,yCAAyC,EAAC,MAAM,yDAAyD,CAAC;AAElH,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAC,4BAA4B,EAAC,MAAM,0CAA0C,CAAC;AAItF,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAG7B,YAAoC,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAFrE,6BAAwB,GAA+C,EAAE,CAAC;IAGjF,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,uBAAgD;QAC5D,IAAI,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,uBAAuB,CAAC,aAAa,CAAC,EAAE;YACrF,MAAM,IAAI,yCAAyC,CAAC,iFAAiF,EAAE,uBAAuB,CAAC,aAAa,CAAC,CAAC;SACjL;QAED,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,aAAa,CAAC,GAAG,uBAAuB,CAAC;IACnG,CAAC;IAED;;;;;;;;;OASG;IACU,IAAI,CAAC,yBAAsE,EAAE,SAA8B;;YACpH,MAAM,gBAAgB,GAAa,EAAE,CAAC;YAEtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE;gBACtD,IAAI,yBAAyB,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oBACzD,SAAS;iBACZ;gBAED,IAAI,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oBAC7D,gBAAgB,CAAC,IAAI,CAAC,qFAAqF,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;oBAC1H,SAAS;iBACZ;gBAED,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;gBAEhE,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;gBAE/G,8CAA8C;gBAC9C,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,0BAA0B,EAAE,SAAS,CAAC,CAAC;gBAE5E,iDAAiD;gBACjD,OAAO,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;aAC7C;YAED,4HAA4H;YAC5H,mEAAmE;YACnE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;gBAC1D,IAAI,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;oBAC7D,SAAS;iBACZ;gBAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;gBAEnE,kHAAkH;gBAClH,IAAI,uBAAuB,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,EAAE;oBACrG,IAAI,wCAAwC,GAAG,KAAK,CAAC;oBAErD,KAAK,IAAI,eAAe,IAAI,uBAAuB,CAAC,gBAAgB,EAAE;wBAClE,IAAI;4BACA,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;4BAEtG,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,0BAA0B,EAAE,SAAS,CAAC,CAAC;4BAE5E,wCAAwC,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"configuration.manager.js","sourceRoot":"","sources":["../../../../src/managers/configuration.manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,21 +16,34 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
16
16
|
import { ConfigurationValidationError } from "../errors/configuration-validation.error";
|
|
17
17
|
import { injectable } from "tsyringe";
|
|
18
18
|
let ConfigurationParser = class ConfigurationParser {
|
|
19
|
+
/**
|
|
20
|
+
* This method resolves the value for the configuration value.
|
|
21
|
+
* The configuration value can either be a basic type, that we return right away, a promise, a DynamicConfigurationResolverInterface or a ResolverInterface that we have to resolve.
|
|
22
|
+
* @param moduleConfigurationValue
|
|
23
|
+
* @param container
|
|
24
|
+
*/
|
|
19
25
|
resolve(moduleConfigurationValue, container) {
|
|
20
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
// No need to check if the value is a promise. https://stackoverflow.com/a/27760489/684101
|
|
21
28
|
const resolvedValue = yield Promise.resolve(moduleConfigurationValue);
|
|
29
|
+
// If the value is already a base type or a promise that resolves to a base type we return the value right away.
|
|
22
30
|
if (typeof resolvedValue === "boolean" || typeof resolvedValue === "number" || typeof resolvedValue === "string") {
|
|
23
31
|
return resolvedValue;
|
|
24
32
|
}
|
|
33
|
+
// If the value is an object it's either a DynamicConfigurationResolverInterface or a ResolverInterface we need to resolve the proper value.
|
|
25
34
|
if (typeof resolvedValue === "object") {
|
|
26
35
|
const dynamicConfigurationResolver = resolvedValue;
|
|
36
|
+
// If the object is DynamicConfigurationResolverInterface
|
|
27
37
|
if (dynamicConfigurationResolver.dynamicResolve !== undefined && typeof dynamicConfigurationResolver.dynamicResolve === "function") {
|
|
28
38
|
let instantiatedClass;
|
|
39
|
+
// Resolve the instantiated class from the dependency container based on the injection token provided.
|
|
29
40
|
if (dynamicConfigurationResolver.injectionToken) {
|
|
30
41
|
instantiatedClass = container.resolve(dynamicConfigurationResolver.injectionToken);
|
|
31
42
|
}
|
|
43
|
+
// Execute the dynamicResolve function of the DynamicConfigurationResolverInterface with the instantiatedClass.
|
|
32
44
|
return Promise.resolve(dynamicConfigurationResolver.dynamicResolve(instantiatedClass));
|
|
33
45
|
}
|
|
46
|
+
// If the object is a ResolverInterface, we resolve the resolver and return the value.
|
|
34
47
|
else if (typeof resolvedValue.resolve === "function") {
|
|
35
48
|
return Promise.resolve(resolvedValue.resolve());
|
|
36
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.parser.js","sourceRoot":"","sources":["../../../../src/parsers/configuration.parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAC,4BAA4B,EAAC,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAC,UAAU,EAAsB,MAAM,UAAU,CAAC;AAMzD,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"configuration.parser.js","sourceRoot":"","sources":["../../../../src/parsers/configuration.parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAC,4BAA4B,EAAC,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAC,UAAU,EAAsB,MAAM,UAAU,CAAC;AAMzD,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAE5B;;;;;OAKG;IACG,OAAO,CAAC,wBAAkD,EAAE,SAA8B;;YAC5F,0FAA0F;YAC1F,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAA;YAErE,gHAAgH;YAChH,IAAG,OAAO,aAAa,KAAK,SAAS,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;gBAC7G,OAAO,aAAa,CAAC;aACxB;YAED,4IAA4I;YAC5I,IAAG,OAAO,aAAa,KAAK,QAAQ,EAAE;gBAClC,MAAM,4BAA4B,GAAI,aAA4D,CAAA;gBAElG,0DAA0D;gBAC1D,IAAK,4BAA4B,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,4BAA4B,CAAC,cAAc,KAAK,UAAU,EAAE;oBACjI,IAAI,iBAAiB,CAAC;oBAEtB,sGAAsG;oBACtG,IAAG,4BAA4B,CAAC,cAAc,EAAE;wBAC5C,iBAAiB,GAAG,SAAS,CAAC,OAAO,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC;qBACtF;oBAED,+GAA+G;oBAC/G,OAAO,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBAC1F;gBACD,sFAAsF;qBACjF,IAAG,OAAQ,aAAwC,CAAC,OAAO,KAAK,UAAU,EAAE;oBAC7E,OAAO,OAAO,CAAC,OAAO,CAAE,aAAwC,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC/E;aACJ;YAED,MAAM,IAAI,4BAA4B,CAAC,CAAC,kFAAkF,GAAG,OAAO,aAAa,GAAE,GAAG,CAAC,CAAC,CAAA;QAC5J,CAAC;KAAA;CACJ,CAAA;AAzCY,mBAAmB;IAD/B,UAAU,EAAE;GACA,mBAAmB,CAyC/B;SAzCY,mBAAmB"}
|
|
@@ -12,6 +12,11 @@ import { ConfigurationResolverError } from "../errors/configuration-resolver.err
|
|
|
12
12
|
* This class takes either another resolver or a scalar (number or string) and returns an enum value.
|
|
13
13
|
*/
|
|
14
14
|
export class EnumResolver {
|
|
15
|
+
/**
|
|
16
|
+
* The constructor for the enum resolver.
|
|
17
|
+
* @param valueOrResolver The value or resolver.
|
|
18
|
+
* @param enumClass The enum class to which the resolved value needs to be mapped.
|
|
19
|
+
*/
|
|
15
20
|
constructor(valueOrResolver, enumClass) {
|
|
16
21
|
this.valueOrResolver = valueOrResolver;
|
|
17
22
|
this.enumClass = enumClass;
|
|
@@ -27,6 +32,7 @@ export class EnumResolver {
|
|
|
27
32
|
const normalizedValue = value.toLowerCase();
|
|
28
33
|
const keys = Object.keys(enumClass).filter(key => isNaN(Number(key)));
|
|
29
34
|
for (const key of keys) {
|
|
35
|
+
// Verifies if the value is either equal to a key or a value of the enum.
|
|
30
36
|
if (key.toLowerCase() === normalizedValue || enumClass[key] === value) {
|
|
31
37
|
return enumClass[key];
|
|
32
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.resolver.js","sourceRoot":"","sources":["../../../../src/resolvers/enum.resolver.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAElF;;GAEG;AACH,MAAM,OAAO,YAAY;IACrB,YACqB,eAAwF,EACxF,SAAc;QADd,oBAAe,GAAf,eAAe,CAAyE;QACxF,cAAS,GAAT,SAAS,CAAK;IAEnC,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAE,KAAa,EAAE,SAAc;QAChD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAE5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtE,KAAI,MAAM,GAAG,IAAI,IAAI,EAAC;YAClB,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,eAAe,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAC;gBAClE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;aACzB;SACJ;QAED,MAAM,IAAI,0BAA0B,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;IACnG,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CAAE,KAAa,EAAE,SAAc;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,KAAI,MAAM,GAAG,IAAI,IAAI,EAAC;YAClB,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAC;gBACzB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;aACzB;SACJ;QAED,MAAM,IAAI,0BAA0B,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;IACrG,CAAC;IAED;;;;;;OAMG;IACW,sBAAsB,CAAC,KAA+E,EAAE,SAAc;;YAChI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACrE,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aAC/C;YAED,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aAC/C;YAED,IAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;gBACjE,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;aACxE;YAED,MAAM,IAAI,0BAA0B,CAAC,wFAAwF,EAAE,KAAK,CAAC,CAAC;QAC1I,CAAC;KAAA;IAED;;OAEG;IACG,OAAO;;YACT,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;KAAA;CAEJ"}
|
|
1
|
+
{"version":3,"file":"enum.resolver.js","sourceRoot":"","sources":["../../../../src/resolvers/enum.resolver.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAElF;;GAEG;AACH,MAAM,OAAO,YAAY;IACrB;;;;OAIG;IACH,YACqB,eAAwF,EACxF,SAAc;QADd,oBAAe,GAAf,eAAe,CAAyE;QACxF,cAAS,GAAT,SAAS,CAAK;IAEnC,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAE,KAAa,EAAE,SAAc;QAChD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAE5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtE,KAAI,MAAM,GAAG,IAAI,IAAI,EAAC;YAClB,yEAAyE;YACzE,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,eAAe,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAC;gBAClE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;aACzB;SACJ;QAED,MAAM,IAAI,0BAA0B,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;IACnG,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CAAE,KAAa,EAAE,SAAc;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,KAAI,MAAM,GAAG,IAAI,IAAI,EAAC;YAClB,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAC;gBACzB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;aACzB;SACJ;QAED,MAAM,IAAI,0BAA0B,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;IACrG,CAAC;IAED;;;;;;OAMG;IACW,sBAAsB,CAAC,KAA+E,EAAE,SAAc;;YAChI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YACrE,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aAC/C;YAED,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aAC/C;YAED,IAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;gBACjE,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;aACxE;YAED,MAAM,IAAI,0BAA0B,CAAC,wFAAwF,EAAE,KAAK,CAAC,CAAC;QAC1I,CAAC;KAAA;IAED;;OAEG;IACG,OAAO;;YACT,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;KAAA;CAEJ"}
|
|
@@ -8,10 +8,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import { ConfigurationResolverError } from "../errors/configuration-resolver.error";
|
|
11
|
+
/**
|
|
12
|
+
* This class takes the name of the environment variable and returns the value.
|
|
13
|
+
*/
|
|
11
14
|
export class EnvironmentVariableResolver {
|
|
12
15
|
constructor(environmentVariableName) {
|
|
13
16
|
this.environmentVariableName = environmentVariableName;
|
|
14
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Resolves the value of the environment variable.
|
|
20
|
+
*/
|
|
15
21
|
resolve() {
|
|
16
22
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17
23
|
if (process.env[this.environmentVariableName] === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-variable.resolver.js","sourceRoot":"","sources":["../../../../src/resolvers/environment-variable.resolver.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAElF,MAAM,OAAO,2BAA2B;IACpC,YAAoC,
|
|
1
|
+
{"version":3,"file":"environment-variable.resolver.js","sourceRoot":"","sources":["../../../../src/resolvers/environment-variable.resolver.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAC,0BAA0B,EAAC,MAAM,wCAAwC,CAAC;AAElF;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACpC,YAAoC,uBAA+B;QAA/B,4BAAuB,GAAvB,uBAAuB,CAAQ;IACnE,CAAC;IAED;;OAEG;IACG,OAAO;;YACT,IAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,SAAS,EAAE;gBACxD,MAAM,IAAI,0BAA0B,CAAC,uCAAuC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;aAC/G;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAW,CAAC,CAAC;QAChF,CAAC;KAAA;CACJ"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { LoggableError } from "@pristine-ts/common";
|
|
2
|
+
/**
|
|
3
|
+
* This Error represents a configuration error when a configuration definition already exists.
|
|
4
|
+
*/
|
|
2
5
|
export declare class ConfigurationDefinitionAlreadyExistsError extends LoggableError {
|
|
3
6
|
constructor(message: string, parameterName: string);
|
|
4
7
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { LoggableError } from "@pristine-ts/common";
|
|
2
|
+
/**
|
|
3
|
+
* This Error represents a configuration error when an error occurs in a resolver.
|
|
4
|
+
*/
|
|
2
5
|
export declare class ConfigurationResolverError extends LoggableError {
|
|
3
6
|
constructor(message: string, value: any);
|
|
4
7
|
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { DependencyContainer } from "tsyringe";
|
|
2
2
|
import { ModuleConfigurationValue } from "../types/module-configuration.value";
|
|
3
3
|
export declare class ConfigurationParser {
|
|
4
|
+
/**
|
|
5
|
+
* This method resolves the value for the configuration value.
|
|
6
|
+
* The configuration value can either be a basic type, that we return right away, a promise, a DynamicConfigurationResolverInterface or a ResolverInterface that we have to resolve.
|
|
7
|
+
* @param moduleConfigurationValue
|
|
8
|
+
* @param container
|
|
9
|
+
*/
|
|
4
10
|
resolve(moduleConfigurationValue: ModuleConfigurationValue, container: DependencyContainer): Promise<number | boolean | string>;
|
|
5
11
|
}
|
|
@@ -5,6 +5,11 @@ import { ResolverInterface } from "@pristine-ts/common";
|
|
|
5
5
|
export declare class EnumResolver<E> implements ResolverInterface<E> {
|
|
6
6
|
private readonly valueOrResolver;
|
|
7
7
|
private readonly enumClass;
|
|
8
|
+
/**
|
|
9
|
+
* The constructor for the enum resolver.
|
|
10
|
+
* @param valueOrResolver The value or resolver.
|
|
11
|
+
* @param enumClass The enum class to which the resolved value needs to be mapped.
|
|
12
|
+
*/
|
|
8
13
|
constructor(valueOrResolver: string | number | ResolverInterface<string> | ResolverInterface<number>, enumClass: any);
|
|
9
14
|
/**
|
|
10
15
|
* This method takes a string and transforms it into an enum value. This is useful in configurations when the system, for example environment variables, only
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { ResolverInterface } from "@pristine-ts/common";
|
|
2
|
+
/**
|
|
3
|
+
* This class takes the name of the environment variable and returns the value.
|
|
4
|
+
*/
|
|
2
5
|
export declare class EnvironmentVariableResolver implements ResolverInterface<string> {
|
|
3
6
|
private readonly environmentVariableName;
|
|
4
|
-
constructor(environmentVariableName:
|
|
7
|
+
constructor(environmentVariableName: string);
|
|
8
|
+
/**
|
|
9
|
+
* Resolves the value of the environment variable.
|
|
10
|
+
*/
|
|
5
11
|
resolve(): Promise<string>;
|
|
6
12
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { DynamicConfigurationResolverInterface } from "@pristine-ts/common";
|
|
2
2
|
import { ResolverInterface } from "@pristine-ts/common";
|
|
3
|
+
/**
|
|
4
|
+
* This type defines what types a ModuleConfigurationValue can be.
|
|
5
|
+
*/
|
|
3
6
|
export declare type ModuleConfigurationValue = boolean | number | string | DynamicConfigurationResolverInterface<any> | Promise<boolean | number | string> | ResolverInterface<string | boolean | number>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pristine-ts/configuration",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.129",
|
|
4
4
|
"description": "",
|
|
5
5
|
"module": "dist/lib/esm/configuration.module.js",
|
|
6
6
|
"main": "dist/lib/cjs/configuration.module.js",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"dist"
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@pristine-ts/common": "^0.0.
|
|
17
|
+
"@pristine-ts/common": "^0.0.129"
|
|
18
18
|
},
|
|
19
19
|
"author": "",
|
|
20
20
|
"license": "ISC",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"src/*.{js,ts}"
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "df5e5bb88ba2c520186cff3ade627cb5143f2ae7"
|
|
59
59
|
}
|