@lokalise/node-core 5.13.0 → 6.0.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/README.md +125 -117
- package/dist/src/config/ConfigScope.d.ts +1 -0
- package/dist/src/config/ConfigScope.js +13 -3
- package/dist/src/config/ConfigScope.js.map +1 -1
- package/dist/src/config/ConfigScope.spec.js +51 -0
- package/dist/src/config/ConfigScope.spec.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Core libraries for Node.js backend services.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
- [Overview](#overview)
|
|
6
|
+
- [HTTP Client](#http-client)
|
|
7
|
+
- [Default Logging Configuration](#default-logging-configuration)
|
|
8
|
+
- [ConfigScope](#configscope)
|
|
9
|
+
- [Error Handling](#error-handling)
|
|
10
10
|
|
|
11
11
|
See [docs](/docs) for further instructions on how to use.
|
|
12
12
|
|
|
@@ -14,61 +14,63 @@ See [docs](/docs) for further instructions on how to use.
|
|
|
14
14
|
|
|
15
15
|
### Dependencies
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
- `pino`;
|
|
18
|
+
- `unidici`;
|
|
19
|
+
- `unidici-retry`.
|
|
20
20
|
|
|
21
21
|
## HTTP Client
|
|
22
22
|
|
|
23
23
|
The library provides methods to implement the client side of HTTP protocols. Public methods available are:
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
25
|
+
- `buildClient()`, which returns a [Client](https://undici.nodejs.org/#/docs/api/Client) instance and should be called before any of the following methods with parameters:
|
|
26
|
+
- `baseUrl`;
|
|
27
|
+
- `clientOptions` – set of [ClientOptions](https://undici.nodejs.org/#/docs/api/Client?id=parameter-clientoptions) (optional). If none are provided, the following default options will be used to instantiate the client:
|
|
28
|
+
```ts
|
|
29
|
+
keepAliveMaxTimeout: 300_000,
|
|
30
|
+
keepAliveTimeout: 4000,
|
|
31
|
+
```
|
|
32
|
+
- `sendGet()`;
|
|
33
|
+
- `sendPost()`;
|
|
34
|
+
- `sendPut()`;
|
|
35
|
+
- `sendPutBinary()`;
|
|
36
|
+
- `sendDelete()`;
|
|
37
|
+
- `sendPatch()`.
|
|
38
38
|
|
|
39
39
|
All _send_ methods accept a type parameter and the following arguments:
|
|
40
|
-
* `client`, the return value of `buildClient()`;
|
|
41
|
-
* `path`;
|
|
42
|
-
* `options` – (optional). Possible values are:
|
|
43
|
-
* `headers`;
|
|
44
|
-
* `query`, query string params to be embedded in the request URL;
|
|
45
|
-
* `timeout`, the timeout after which a request will time out, in milliseconds;
|
|
46
|
-
* `throwOnError`;`
|
|
47
|
-
* `reqContext`;
|
|
48
|
-
* `safeParseJson`, used when the response content-type is `application/json`. If `true`, the response body will be parsed as JSON and a `ResponseError` will be thrown in case of syntax errors. If `false`, errors are not handled;
|
|
49
|
-
* `disableKeepAlive`;`
|
|
50
|
-
* `retryConfig`, defined by:
|
|
51
|
-
* `maxAttempts`, the maximum number of times a request should be retried;
|
|
52
|
-
* `delayBetweenAttemptsInMsecs`;
|
|
53
|
-
* `statusCodesToRetry`, the status codes that trigger a retry;
|
|
54
|
-
* `retryOnTimeout`;
|
|
55
|
-
* `clientOptions`;
|
|
56
|
-
* `responseSchema`, used both for inferring the response type of the call, and also (if `validateResponse` is `true`) for validating the response structure;
|
|
57
|
-
* `validateResponse`;
|
|
58
|
-
|
|
59
|
-
The following options are applied by default:
|
|
60
40
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
41
|
+
- `client`, the return value of `buildClient()`;
|
|
42
|
+
- `path`;
|
|
43
|
+
- `options` – (optional). Possible values are:
|
|
44
|
+
|
|
45
|
+
- `headers`;
|
|
46
|
+
- `query`, query string params to be embedded in the request URL;
|
|
47
|
+
- `timeout`, the timeout after which a request will time out, in milliseconds;
|
|
48
|
+
- `throwOnError`;`
|
|
49
|
+
- `reqContext`;
|
|
50
|
+
- `safeParseJson`, used when the response content-type is `application/json`. If `true`, the response body will be parsed as JSON and a `ResponseError` will be thrown in case of syntax errors. If `false`, errors are not handled;
|
|
51
|
+
- `disableKeepAlive`;`
|
|
52
|
+
- `retryConfig`, defined by:
|
|
53
|
+
- `maxAttempts`, the maximum number of times a request should be retried;
|
|
54
|
+
- `delayBetweenAttemptsInMsecs`;
|
|
55
|
+
- `statusCodesToRetry`, the status codes that trigger a retry;
|
|
56
|
+
- `retryOnTimeout`;
|
|
57
|
+
- `clientOptions`;
|
|
58
|
+
- `responseSchema`, used both for inferring the response type of the call, and also (if `validateResponse` is `true`) for validating the response structure;
|
|
59
|
+
- `validateResponse`;
|
|
60
|
+
|
|
61
|
+
The following options are applied by default:
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
validateResponse: true,
|
|
65
|
+
throwOnError: true,
|
|
66
|
+
timeout: 30000,
|
|
67
|
+
retryConfig: {
|
|
68
|
+
maxAttemps: 1,
|
|
69
|
+
delayBetweenAttemptsInMsecs: 0,
|
|
70
|
+
statusCodesToRetry: [],
|
|
71
|
+
retryOnTimeout: false,
|
|
72
|
+
}
|
|
73
|
+
```
|
|
72
74
|
|
|
73
75
|
Additionally, `sendPost()`, `sendPut()`, `sendPutBinary()`, and `sendPatch()` also accept a `body` parameter.
|
|
74
76
|
|
|
@@ -78,18 +80,18 @@ The response of any _send_ method will be resolved to always have `result` set,
|
|
|
78
80
|
|
|
79
81
|
The library provides methods to resolve the default logging configuration. Public methods available are:
|
|
80
82
|
|
|
81
|
-
|
|
83
|
+
- `resolveLoggerConfiguration()`, which accepts as parameter an `appConfig`, defined by the `logLevel` and the `nodeEnv`. If the environment is production, the output will be logged in JSON format to be friendly with any data storage. Otherwise, the output will be logged with coloring and formatting to be visible for debugging purposes and help developers.
|
|
82
84
|
|
|
83
|
-
|
|
85
|
+
The method returns a logger configuration that should be used with `pino` library as in the following example:
|
|
84
86
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
```ts
|
|
88
|
+
const loggerConfig = resolveLoggerConfiguration({
|
|
89
|
+
logLevel: 'warn',
|
|
90
|
+
nodeEnv: 'production',
|
|
91
|
+
})
|
|
90
92
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
const logger = pino(loggerConfig)
|
|
94
|
+
```
|
|
93
95
|
|
|
94
96
|
## ConfigScope
|
|
95
97
|
|
|
@@ -99,52 +101,55 @@ Once the class is instantiated, you can leverage the following `ConfigScope` met
|
|
|
99
101
|
|
|
100
102
|
### Mandatory Configuration Parameters
|
|
101
103
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
104
|
+
- `getMandatory()`, returns the value of a mandatory configuration parameter. If the value is missing, an `InternalError` is thrown. Parameters are:
|
|
105
|
+
- `param`, the configuration parameter name;
|
|
106
|
+
- `getMandatoryInteger()`, returns the value of a mandatory configuration parameter and validates that it is a number. If the value is missing or is not a number, an `InternalError` is thrown. Parameters are:
|
|
107
|
+
- `param`, the configuration parameter name;
|
|
108
|
+
- `getMandatoryOneOf()`, returns the value a mandatory configuration parameter and validates that it is one of the supported values. If the value is missing or is not supported, an `InternalError` is thrown. The method also serves as a type guard, narrowing the type of the passed value down to one of the supported options. Parameters are:
|
|
109
|
+
- `param`, the configuration parameter name;
|
|
110
|
+
- `supportedValues`;
|
|
111
|
+
- `getMandatoryValidatedInteger()`, similar to `getMandatoryInteger()`, but also takes a `validator` in input and will throw an `InternalError` if the number is not valid. See [Validators and Transformers](#validators-and-transformers) for more information. Parameters are:
|
|
112
|
+
- `param`, the configuration parameter name;
|
|
113
|
+
- `validator`;
|
|
114
|
+
- `getMandatoryTransformed()`, calls `getMandatory()` and returns the result of the `transformer` function applied to the configuration parameter value. See [Validators and Transformers](#validators-and-transformers) for more information. Parameters are:
|
|
115
|
+
- `param`, the configuration parameter name;
|
|
116
|
+
- `transformer`.
|
|
115
117
|
|
|
116
118
|
### Optional Configuration Parameters
|
|
117
119
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
120
|
+
- `getOptionalNullable()`, returns the value of an optional configuration parameter. If the value is missing, it is set to the provided default value.Parameters are:
|
|
121
|
+
- `param`, the configuration parameter name;
|
|
122
|
+
- `defaultValue`, which can be nullable;
|
|
123
|
+
- `getOptional()`, similar to `getOptionalNullable()`, but `defaultValue` cannot be nullable. The return value is always a string;
|
|
124
|
+
- `getOptionalIntegerNullable()`, returns the value of an optional configuration parameter and validates that it is a number. If the value is missing, it is set to the provided default value. If it is not a number, an `InternalError` is thrown. Parameters are:
|
|
125
|
+
- `param`, the configuration parameter name;
|
|
126
|
+
- `defaultValue`, which can be nullable;
|
|
127
|
+
- `getOptionalInteger`, similar to `getOptionalIntegerNullable()`, but `defaultValue` cannot be nullable. The return value is always a number;
|
|
128
|
+
- `getOptionalValidated()`, similar to `getOptional()`, but also takes a `validator` in input and will throw an `InternalError` if the value is not valid. See [Validators and Transformers](#validators-and-transformers) for more information. Parameters are:
|
|
129
|
+
- `param`, the configuration parameter name;
|
|
130
|
+
- `validator`;
|
|
131
|
+
- `getOptionalValidatedInteger()`, similar to `getOptionalValidated()`, but expects and returns `number` instead. See [Validators and Transformers](#validators-and-transformers) for more information. Parameters are:
|
|
132
|
+
- `param`, the configuration parameter name;
|
|
133
|
+
- `validator`;
|
|
134
|
+
- `getOptionalTransformed()`, similar to `getOptional()`, but also takes a `transformer` in input and the result of the `transformer` function applied to the configuration parameter value. See [Validators and Transformers](#validators-and-transformers) for more information. Parameters are:
|
|
135
|
+
- `param`, the configuration parameter name;
|
|
136
|
+
- `defaultValue`,
|
|
137
|
+
- `transformer`;
|
|
138
|
+
- `getOptionalBoolean()`, returns the value of an optional configuration parameter and validates that it is a boolean. It the value is missing, it is assigned the `defaultValue`. If it is not a boolean, an `InternalError` is thrown. Parameters are:
|
|
139
|
+
- `param`, the configuration parameter name;
|
|
140
|
+
- `defaultValue`.
|
|
141
|
+
- `getOptionalOneOf()`, returns the value of an optional configuration parameter, if the value is missing, it falls back to the specified default value, and validates that it is one of the supported values. If the value is not supported, an `InternalError` is thrown. Parameters are:
|
|
142
|
+
- `param`, the configuration parameter name;
|
|
143
|
+
- `defaultValue`
|
|
144
|
+
- `supportedValues`;
|
|
140
145
|
|
|
141
146
|
### Environment Configuration Parameter
|
|
142
147
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
148
|
+
- `isProduction()`, returns true if the environment is production;
|
|
149
|
+
- `isDevelopment()`, returns true if the environment is **not** production;
|
|
150
|
+
- `isTest()`, returns true if the environment is test.
|
|
146
151
|
|
|
147
|
-
|
|
152
|
+
---
|
|
148
153
|
|
|
149
154
|
### Validators and Transformers
|
|
150
155
|
|
|
@@ -152,11 +157,11 @@ Ad-hoc validators and transformers can be built leveraging the `EnvValueValidato
|
|
|
152
157
|
|
|
153
158
|
#### Validators
|
|
154
159
|
|
|
155
|
-
|
|
160
|
+
- `createRangeValidator()`, which accepts `greaterOrEqualThan` and `lessOrEqualThan` and validates that a numeric value ranges between those numbers.
|
|
156
161
|
|
|
157
162
|
#### Transformers
|
|
158
163
|
|
|
159
|
-
|
|
164
|
+
- `ensureClosingSlashTransformer()`, which accepts a `value` as parameter, that can be a string or nullable, and adds a closing slash if it is missing and the value is defined.
|
|
160
165
|
|
|
161
166
|
## Error Handling
|
|
162
167
|
|
|
@@ -165,31 +170,34 @@ The library provides classes and methods for error handling.
|
|
|
165
170
|
### Global Error Handler
|
|
166
171
|
|
|
167
172
|
Public methods to leverage a global error handler are provided to be used when the process is run outside of the context of the request (e. g. in a queue where no one would catch an error if thrown):
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
173
|
+
|
|
174
|
+
- `resolveGlobalErrorLogObject()`, which accepts `err` and optionally `correlationID` as parameters and converts the plain error into a serializable object. If the error is not a built-in `Error` type and doesn't have any message, a fixed string is returned instead;
|
|
175
|
+
- `executeAndHandleGlobalErrors()`, which accepts the `operation` parameter and will return the result of executing such operation. If an error is thrown during the execution of the operation, `resolveGlobalErrorLogObject()` is called to log the error and the process is terminated;
|
|
176
|
+
- `executeAsyncAndHandleGlobalErrors()`, which accepts `operation` and optionally `stopOnError` as parameters and will return the result of executing such operation **asynchronously**. If an error is thrown during the execution of the operation, `resolveGlobalErrorLogObject()` is called to log the error and the process is terminated only if `stopOnError` is `true`. `stopOnError` defaults to `true` if not provided.
|
|
171
177
|
|
|
172
178
|
### Errors
|
|
173
179
|
|
|
174
180
|
The library exposes classes for the following errors:
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
181
|
+
|
|
182
|
+
- `InternalError`, which issues a `500` status code and is not exposed in the global error handler. It expects the following parameters:
|
|
183
|
+
- `message`;
|
|
184
|
+
- `errorCode`;
|
|
185
|
+
- `details` – (optional).
|
|
186
|
+
- `PublicNonRecoverableError`, which issues the HTTP status code provided and signals that the user did something wrong, hence the error is returned to the consumer of the API. It expects the following parameters:
|
|
187
|
+
- `message`;
|
|
188
|
+
- `errorCode`;
|
|
189
|
+
- `details` – (optional);
|
|
190
|
+
- `httpStatusCode` – (optional). Defaults to `500`;
|
|
184
191
|
|
|
185
192
|
### Either
|
|
186
193
|
|
|
187
194
|
The library provides the type `Either` for error handling in the functional paradigm. The two possible values are:
|
|
188
|
-
|
|
189
|
-
|
|
195
|
+
|
|
196
|
+
- `result` is defined, `error` is undefined;
|
|
197
|
+
- `error` is defined, `result` is undefined.
|
|
190
198
|
|
|
191
199
|
It's up to the caller of the function to handle the received error or throw an error.
|
|
192
200
|
|
|
193
201
|
Read [this article](https://antman-does-software.com/stop-catching-errors-in-typescript-use-the-either-type-to-make-your-code-predictable) for more information on how `Either` works and its benefits.
|
|
194
202
|
|
|
195
|
-
Additionally, `DefineEither` is also provided. It is a variation of the aforementioned `Either`, which may or may not have `error` set, but always has `result`.
|
|
203
|
+
Additionally, `DefineEither` is also provided. It is a variation of the aforementioned `Either`, which may or may not have `error` set, but always has `result`.
|
|
@@ -16,6 +16,7 @@ export declare class ConfigScope {
|
|
|
16
16
|
getOptionalNullableInteger<T extends number | null | undefined>(param: string, defaultValue: T): T | number;
|
|
17
17
|
getOptionalOneOf<const T extends string>(param: string, defaultValue: T, supportedValues: T[]): T;
|
|
18
18
|
getOptionalValidated(param: string, defaultValue: string, validator: EnvValueValidator<string>): string;
|
|
19
|
+
getOptionalValidatedInteger(param: string, defaultValue: number, validator: EnvValueValidator<number>): number;
|
|
19
20
|
getOptionalTransformed(param: string, defaultValue: string, transformer: (value: string) => string): string;
|
|
20
21
|
getMandatoryTransformed(param: string, transformer: (value: string) => string): string;
|
|
21
22
|
getOptionalBoolean(param: string, defaultValue: boolean): boolean;
|
|
@@ -46,7 +46,7 @@ class ConfigScope {
|
|
|
46
46
|
return value;
|
|
47
47
|
}
|
|
48
48
|
getOptionalNullable(param, defaultValue) {
|
|
49
|
-
return this.env[param]
|
|
49
|
+
return this.env[param] || defaultValue;
|
|
50
50
|
}
|
|
51
51
|
getOptional(param, defaultValue) {
|
|
52
52
|
// Using the `||` operator instead of `??`, since '' is not a valid value, and 0 (number) is not expected here
|
|
@@ -71,7 +71,17 @@ class ConfigScope {
|
|
|
71
71
|
return validateOneOf(result, supportedValues, `Unsupported ${param}: ${result}. Supported values: ${supportedValues.toString()}`);
|
|
72
72
|
}
|
|
73
73
|
getOptionalValidated(param, defaultValue, validator) {
|
|
74
|
-
const value = this.env[param]
|
|
74
|
+
const value = this.env[param] || defaultValue;
|
|
75
|
+
if (!validator(value)) {
|
|
76
|
+
throw new InternalError_1.InternalError({
|
|
77
|
+
message: `Value ${value} is invalid for parameter ${param}`,
|
|
78
|
+
errorCode: 'CONFIGURATION_ERROR',
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return value;
|
|
82
|
+
}
|
|
83
|
+
getOptionalValidatedInteger(param, defaultValue, validator) {
|
|
84
|
+
const value = this.getOptionalInteger(param, defaultValue);
|
|
75
85
|
if (!validator(value)) {
|
|
76
86
|
throw new InternalError_1.InternalError({
|
|
77
87
|
message: `Value ${value} is invalid for parameter ${param}`,
|
|
@@ -81,7 +91,7 @@ class ConfigScope {
|
|
|
81
91
|
return value;
|
|
82
92
|
}
|
|
83
93
|
getOptionalTransformed(param, defaultValue, transformer) {
|
|
84
|
-
const value = this.env[param]
|
|
94
|
+
const value = this.env[param] || defaultValue;
|
|
85
95
|
return transformer(value);
|
|
86
96
|
}
|
|
87
97
|
getMandatoryTransformed(param, transformer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigScope.js","sourceRoot":"","sources":["../../../src/config/ConfigScope.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ConfigScope.js","sourceRoot":"","sources":["../../../src/config/ConfigScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,6 +98,12 @@ describe('ConfigScope', () => {
|
|
|
98
98
|
const resolvedValue = configScope.getOptionalNullable('value', null);
|
|
99
99
|
expect(resolvedValue).toBeNull();
|
|
100
100
|
});
|
|
101
|
+
it('uses default on empty string', () => {
|
|
102
|
+
process.env.value = '';
|
|
103
|
+
const configScope = new ConfigScope_1.ConfigScope();
|
|
104
|
+
const resolvedValue = configScope.getOptionalNullable('value', 'def');
|
|
105
|
+
expect(resolvedValue).toBe('def');
|
|
106
|
+
});
|
|
101
107
|
});
|
|
102
108
|
describe('getOptional', () => {
|
|
103
109
|
it('accepts value', () => {
|
|
@@ -190,6 +196,39 @@ describe('ConfigScope', () => {
|
|
|
190
196
|
const resolvedValue = configScope.getOptionalInteger('value', 1);
|
|
191
197
|
expect(resolvedValue).toBe(1);
|
|
192
198
|
});
|
|
199
|
+
it('uses default value on empty string', () => {
|
|
200
|
+
process.env.value = '';
|
|
201
|
+
const configScope = new ConfigScope_1.ConfigScope();
|
|
202
|
+
const resolvedValue = configScope.getOptionalInteger('value', 3);
|
|
203
|
+
expect(resolvedValue).toBe(3);
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
describe('getOptionalValidatedInteger', () => {
|
|
207
|
+
const validator = (val) => {
|
|
208
|
+
return val > 2;
|
|
209
|
+
};
|
|
210
|
+
it('accepts value', () => {
|
|
211
|
+
process.env.value = '3';
|
|
212
|
+
const configScope = new ConfigScope_1.ConfigScope();
|
|
213
|
+
const resolvedValue = configScope.getOptionalValidatedInteger('value', 4, validator);
|
|
214
|
+
expect(resolvedValue).toBe(3);
|
|
215
|
+
});
|
|
216
|
+
it('uses default value if not set', () => {
|
|
217
|
+
delete process.env.value;
|
|
218
|
+
const configScope = new ConfigScope_1.ConfigScope();
|
|
219
|
+
const resolvedValue = configScope.getOptionalValidatedInteger('value', 4, validator);
|
|
220
|
+
expect(resolvedValue).toBe(4);
|
|
221
|
+
});
|
|
222
|
+
it('throws when real value fails validation', () => {
|
|
223
|
+
process.env.value = '2';
|
|
224
|
+
const configScope = new ConfigScope_1.ConfigScope();
|
|
225
|
+
expect(() => configScope.getOptionalValidatedInteger('value', 4, validator)).toThrow(/Value 2 is invalid for parameter value/);
|
|
226
|
+
});
|
|
227
|
+
it('throws when default value fails validation', () => {
|
|
228
|
+
delete process.env.value;
|
|
229
|
+
const configScope = new ConfigScope_1.ConfigScope();
|
|
230
|
+
expect(() => configScope.getOptionalValidatedInteger('value', 2, validator)).toThrow(/Value 2 is invalid for parameter value/);
|
|
231
|
+
});
|
|
193
232
|
});
|
|
194
233
|
describe('getOptionalNullableInteger', () => {
|
|
195
234
|
it('accepts value', () => {
|
|
@@ -233,6 +272,12 @@ describe('ConfigScope', () => {
|
|
|
233
272
|
const resolvedValue = configScope.getOptionalValidated('value', 'def', validator);
|
|
234
273
|
expect(resolvedValue).toBe('def');
|
|
235
274
|
});
|
|
275
|
+
it('uses default value on empty string', () => {
|
|
276
|
+
process.env.value = '';
|
|
277
|
+
const configScope = new ConfigScope_1.ConfigScope();
|
|
278
|
+
const resolvedValue = configScope.getOptionalValidated('value', 'def', validator);
|
|
279
|
+
expect(resolvedValue).toBe('def');
|
|
280
|
+
});
|
|
236
281
|
it('throws an error if failing validation', () => {
|
|
237
282
|
process.env.value = '12345678900';
|
|
238
283
|
const configScope = new ConfigScope_1.ConfigScope();
|
|
@@ -252,6 +297,12 @@ describe('ConfigScope', () => {
|
|
|
252
297
|
const resolvedValue = configScope.getOptionalTransformed('value', 'def', configTransformers_1.ensureClosingSlashTransformer);
|
|
253
298
|
expect(resolvedValue).toBe('def/');
|
|
254
299
|
});
|
|
300
|
+
it('uses default value on empty string', () => {
|
|
301
|
+
process.env.value = '';
|
|
302
|
+
const configScope = new ConfigScope_1.ConfigScope();
|
|
303
|
+
const resolvedValue = configScope.getOptionalTransformed('value', 'def', configTransformers_1.ensureClosingSlashTransformer);
|
|
304
|
+
expect(resolvedValue).toBe('def/');
|
|
305
|
+
});
|
|
255
306
|
});
|
|
256
307
|
describe('getMandatoryTransformed', () => {
|
|
257
308
|
it('transforms value', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigScope.spec.js","sourceRoot":"","sources":["../../../src/config/ConfigScope.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigScope.spec.js","sourceRoot":"","sources":["../../../src/config/ConfigScope.spec.ts"],"names":[],"mappings":"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"}
|