@strapi/utils 5.33.2 → 5.33.3
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/env-helper.d.ts +31 -15
- package/dist/env-helper.d.ts.map +1 -1
- package/dist/env-helper.js +68 -64
- package/dist/env-helper.js.map +1 -1
- package/dist/env-helper.mjs +68 -64
- package/dist/env-helper.mjs.map +1 -1
- package/package.json +4 -4
package/dist/env-helper.d.ts
CHANGED
|
@@ -1,20 +1,36 @@
|
|
|
1
1
|
export type Env = typeof envFn & typeof utils;
|
|
2
|
-
declare function envFn
|
|
2
|
+
declare function envFn(key: string): string | undefined;
|
|
3
|
+
declare function envFn(key: string, defaultValue: string): string;
|
|
4
|
+
declare function envFn<T>(key: string, defaultValue: T): string | T;
|
|
5
|
+
declare function int(key: string, defaultValue: number): number;
|
|
6
|
+
declare function int(key: string, defaultValue?: number | undefined): number | undefined;
|
|
7
|
+
declare function float(key: string, defaultValue: number): number;
|
|
8
|
+
declare function float(key: string, defaultValue?: number | undefined): number | undefined;
|
|
9
|
+
declare function bool(key: string, defaultValue: boolean): boolean;
|
|
10
|
+
declare function bool(key: string, defaultValue?: boolean | undefined): boolean | undefined;
|
|
11
|
+
declare function json<T extends object>(key: string, defaultValue: T): T;
|
|
12
|
+
declare function json<T extends object>(key: string, defaultValue?: T | undefined): T | undefined;
|
|
13
|
+
declare function array(key: string, defaultValue: string[]): string[];
|
|
14
|
+
declare function array(key: string, defaultValue?: string[] | undefined): string[] | undefined;
|
|
15
|
+
declare function date(key: string, defaultValue: Date): Date;
|
|
16
|
+
declare function date(key: string, defaultValue?: Date | undefined): Date | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Gets a value from env that matches oneOf provided values
|
|
19
|
+
* @param {string} key
|
|
20
|
+
* @param {string[]} expectedValues
|
|
21
|
+
* @param {string|undefined} defaultValue
|
|
22
|
+
* @returns {string|undefined}
|
|
23
|
+
*/
|
|
24
|
+
declare function oneOf<T extends string, TDefault extends T = T>(key: string, expectedValues: T[], defaultValue: TDefault): T;
|
|
25
|
+
declare function oneOf<T extends string, TDefault extends T = T>(key: string, expectedValues: T[], defaultValue?: TDefault | undefined): T | undefined;
|
|
3
26
|
declare const utils: {
|
|
4
|
-
int
|
|
5
|
-
float
|
|
6
|
-
bool
|
|
7
|
-
json
|
|
8
|
-
array
|
|
9
|
-
date
|
|
10
|
-
|
|
11
|
-
* Gets a value from env that matches oneOf provided values
|
|
12
|
-
* @param {string} key
|
|
13
|
-
* @param {string[]} expectedValues
|
|
14
|
-
* @param {string|undefined} defaultValue
|
|
15
|
-
* @returns {string|undefined}
|
|
16
|
-
*/
|
|
17
|
-
oneOf(key: string, expectedValues?: unknown[], defaultValue?: unknown): unknown;
|
|
27
|
+
int: typeof int;
|
|
28
|
+
float: typeof float;
|
|
29
|
+
bool: typeof bool;
|
|
30
|
+
json: typeof json;
|
|
31
|
+
array: typeof array;
|
|
32
|
+
date: typeof date;
|
|
33
|
+
oneOf: typeof oneOf;
|
|
18
34
|
};
|
|
19
35
|
declare const env: Env;
|
|
20
36
|
export default env;
|
package/dist/env-helper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-helper.d.ts","sourceRoot":"","sources":["../src/env-helper.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,GAAG,OAAO,KAAK,GAAG,OAAO,KAAK,CAAC;AAE9C,iBAAS,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"env-helper.d.ts","sourceRoot":"","sources":["../src/env-helper.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,GAAG,OAAO,KAAK,GAAG,OAAO,KAAK,CAAC;AAE9C,iBAAS,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAChD,iBAAS,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;AAC1D,iBAAS,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AAS5D,iBAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;AACxD,iBAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AASjF,iBAAS,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;AAC1D,iBAAS,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AASnF,iBAAS,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC;AAC3D,iBAAS,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AASpF,iBAAS,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;AACjE,iBAAS,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;AAiB1F,iBAAS,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AAC9D,iBAAS,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAiBvF,iBAAS,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;AACrD,iBAAS,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;AAS9E;;;;;;GAMG;AACH,iBAAS,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,SAAS,CAAC,GAAG,CAAC,EACrD,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,CAAC,EAAE,EACnB,YAAY,EAAE,QAAQ,GACrB,CAAC,CAAC;AACL,iBAAS,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,SAAS,CAAC,GAAG,CAAC,EACrD,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,CAAC,EAAE,EACnB,YAAY,CAAC,EAAE,QAAQ,GAAG,SAAS,GAClC,CAAC,GAAG,SAAS,CAAC;AAkBjB,QAAA,MAAM,KAAK;;;;;;;;CAQV,CAAC;AAEF,QAAA,MAAM,GAAG,EAAE,GAAiC,CAAC;AAE7C,eAAe,GAAG,CAAC"}
|
package/dist/env-helper.js
CHANGED
|
@@ -8,72 +8,76 @@ function envFn(key, defaultValue) {
|
|
|
8
8
|
function getKey(key) {
|
|
9
9
|
return process.env[key] ?? '';
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
throw new Error(`Invalid json environment variable ${key}: ${error.message}`);
|
|
39
|
-
}
|
|
40
|
-
throw error;
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
array (key, defaultValue) {
|
|
44
|
-
if (!_.has(process.env, key)) {
|
|
45
|
-
return defaultValue;
|
|
46
|
-
}
|
|
47
|
-
let value = getKey(key);
|
|
48
|
-
if (value.startsWith('[') && value.endsWith(']')) {
|
|
49
|
-
value = value.substring(1, value.length - 1);
|
|
50
|
-
}
|
|
51
|
-
return value.split(',').map((v)=>{
|
|
52
|
-
return _.trim(_.trim(v, ' '), '"');
|
|
53
|
-
});
|
|
54
|
-
},
|
|
55
|
-
date (key, defaultValue) {
|
|
56
|
-
if (!_.has(process.env, key)) {
|
|
57
|
-
return defaultValue;
|
|
58
|
-
}
|
|
59
|
-
return new Date(getKey(key));
|
|
60
|
-
},
|
|
61
|
-
/**
|
|
62
|
-
* Gets a value from env that matches oneOf provided values
|
|
63
|
-
* @param {string} key
|
|
64
|
-
* @param {string[]} expectedValues
|
|
65
|
-
* @param {string|undefined} defaultValue
|
|
66
|
-
* @returns {string|undefined}
|
|
67
|
-
*/ oneOf (key, expectedValues, defaultValue) {
|
|
68
|
-
if (!expectedValues) {
|
|
69
|
-
throw new Error(`env.oneOf requires expectedValues`);
|
|
70
|
-
}
|
|
71
|
-
if (defaultValue && !expectedValues.includes(defaultValue)) {
|
|
72
|
-
throw new Error(`env.oneOf requires defaultValue to be included in expectedValues`);
|
|
11
|
+
function int(key, defaultValue) {
|
|
12
|
+
if (!_.has(process.env, key)) {
|
|
13
|
+
return defaultValue;
|
|
14
|
+
}
|
|
15
|
+
return parseInt(getKey(key), 10);
|
|
16
|
+
}
|
|
17
|
+
function float(key, defaultValue) {
|
|
18
|
+
if (!_.has(process.env, key)) {
|
|
19
|
+
return defaultValue;
|
|
20
|
+
}
|
|
21
|
+
return parseFloat(getKey(key));
|
|
22
|
+
}
|
|
23
|
+
function bool(key, defaultValue) {
|
|
24
|
+
if (!_.has(process.env, key)) {
|
|
25
|
+
return defaultValue;
|
|
26
|
+
}
|
|
27
|
+
return getKey(key) === 'true';
|
|
28
|
+
}
|
|
29
|
+
function json(key, defaultValue) {
|
|
30
|
+
if (!_.has(process.env, key)) {
|
|
31
|
+
return defaultValue;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
return JSON.parse(getKey(key));
|
|
35
|
+
} catch (error) {
|
|
36
|
+
if (error instanceof Error) {
|
|
37
|
+
throw new Error(`Invalid json environment variable ${key}: ${error.message}`);
|
|
73
38
|
}
|
|
74
|
-
|
|
75
|
-
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function array(key, defaultValue) {
|
|
43
|
+
if (!_.has(process.env, key)) {
|
|
44
|
+
return defaultValue;
|
|
45
|
+
}
|
|
46
|
+
let value = getKey(key);
|
|
47
|
+
if (value.startsWith('[') && value.endsWith(']')) {
|
|
48
|
+
value = value.substring(1, value.length - 1);
|
|
49
|
+
}
|
|
50
|
+
return value.split(',').map((v)=>{
|
|
51
|
+
return _.trim(_.trim(v, ' '), '"');
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function date(key, defaultValue) {
|
|
55
|
+
if (!_.has(process.env, key)) {
|
|
56
|
+
return defaultValue;
|
|
57
|
+
}
|
|
58
|
+
return new Date(getKey(key));
|
|
59
|
+
}
|
|
60
|
+
function oneOf(key, expectedValues, defaultValue) {
|
|
61
|
+
if (!expectedValues) {
|
|
62
|
+
throw new Error(`env.oneOf requires expectedValues`);
|
|
63
|
+
}
|
|
64
|
+
if (defaultValue && !expectedValues.includes(defaultValue)) {
|
|
65
|
+
throw new Error(`env.oneOf requires defaultValue to be included in expectedValues`);
|
|
76
66
|
}
|
|
67
|
+
const rawValue = env(key, defaultValue);
|
|
68
|
+
if (rawValue !== undefined && expectedValues.includes(rawValue)) {
|
|
69
|
+
return rawValue;
|
|
70
|
+
}
|
|
71
|
+
return defaultValue;
|
|
72
|
+
}
|
|
73
|
+
const utils = {
|
|
74
|
+
int,
|
|
75
|
+
float,
|
|
76
|
+
bool,
|
|
77
|
+
json,
|
|
78
|
+
array,
|
|
79
|
+
date,
|
|
80
|
+
oneOf
|
|
77
81
|
};
|
|
78
82
|
const env = Object.assign(envFn, utils);
|
|
79
83
|
|
package/dist/env-helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-helper.js","sources":["../src/env-helper.ts"],"sourcesContent":["import _ from 'lodash';\n\nexport type Env = typeof envFn & typeof utils;\n\nfunction envFn<T>(key: string, defaultValue
|
|
1
|
+
{"version":3,"file":"env-helper.js","sources":["../src/env-helper.ts"],"sourcesContent":["import _ from 'lodash';\n\nexport type Env = typeof envFn & typeof utils;\n\nfunction envFn(key: string): string | undefined;\nfunction envFn(key: string, defaultValue: string): string;\nfunction envFn<T>(key: string, defaultValue: T): string | T;\nfunction envFn(key: string, defaultValue?: any): any {\n return _.has(process.env, key) ? process.env[key] : defaultValue;\n}\n\nfunction getKey(key: string) {\n return process.env[key] ?? '';\n}\n\nfunction int(key: string, defaultValue: number): number;\nfunction int(key: string, defaultValue?: number | undefined): number | undefined;\nfunction int(key: string, defaultValue?: number | undefined): number | undefined {\n if (!_.has(process.env, key)) {\n return defaultValue;\n }\n\n return parseInt(getKey(key), 10);\n}\n\nfunction float(key: string, defaultValue: number): number;\nfunction float(key: string, defaultValue?: number | undefined): number | undefined;\nfunction float(key: string, defaultValue?: number): number | undefined {\n if (!_.has(process.env, key)) {\n return defaultValue;\n }\n\n return parseFloat(getKey(key));\n}\n\nfunction bool(key: string, defaultValue: boolean): boolean;\nfunction bool(key: string, defaultValue?: boolean | undefined): boolean | undefined;\nfunction bool(key: string, defaultValue?: boolean): boolean | undefined {\n if (!_.has(process.env, key)) {\n return defaultValue;\n }\n\n return getKey(key) === 'true';\n}\n\nfunction json<T extends object>(key: string, defaultValue: T): T;\nfunction json<T extends object>(key: string, defaultValue?: T | undefined): T | undefined;\nfunction json(key: string, defaultValue?: object) {\n if (!_.has(process.env, key)) {\n return defaultValue;\n }\n\n try {\n return JSON.parse(getKey(key));\n } catch (error) {\n if (error instanceof Error) {\n throw new Error(`Invalid json environment variable ${key}: ${error.message}`);\n }\n\n throw error;\n }\n}\n\nfunction array(key: string, defaultValue: string[]): string[];\nfunction array(key: string, defaultValue?: string[] | undefined): string[] | undefined;\nfunction array(key: string, defaultValue?: string[]): string[] | undefined {\n if (!_.has(process.env, key)) {\n return defaultValue;\n }\n\n let value = getKey(key);\n\n if (value.startsWith('[') && value.endsWith(']')) {\n value = value.substring(1, value.length - 1);\n }\n\n return value.split(',').map((v) => {\n return _.trim(_.trim(v, ' '), '\"');\n });\n}\n\nfunction date(key: string, defaultValue: Date): Date;\nfunction date(key: string, defaultValue?: Date | undefined): Date | undefined;\nfunction date(key: string, defaultValue?: Date): Date | undefined {\n if (!_.has(process.env, key)) {\n return defaultValue;\n }\n\n return new Date(getKey(key));\n}\n\n/**\n * Gets a value from env that matches oneOf provided values\n * @param {string} key\n * @param {string[]} expectedValues\n * @param {string|undefined} defaultValue\n * @returns {string|undefined}\n */\nfunction oneOf<T extends string, TDefault extends T = T>(\n key: string,\n expectedValues: T[],\n defaultValue: TDefault\n): T;\nfunction oneOf<T extends string, TDefault extends T = T>(\n key: string,\n expectedValues: T[],\n defaultValue?: TDefault | undefined\n): T | undefined;\nfunction oneOf(key: string, expectedValues?: string[], defaultValue?: string) {\n if (!expectedValues) {\n throw new Error(`env.oneOf requires expectedValues`);\n }\n\n if (defaultValue && !expectedValues.includes(defaultValue)) {\n throw new Error(`env.oneOf requires defaultValue to be included in expectedValues`);\n }\n\n const rawValue = env(key, defaultValue);\n if (rawValue !== undefined && expectedValues.includes(rawValue)) {\n return rawValue;\n }\n\n return defaultValue;\n}\n\nconst utils = {\n int,\n float,\n bool,\n json,\n array,\n date,\n oneOf,\n};\n\nconst env: Env = Object.assign(envFn, utils);\n\nexport default env;\n"],"names":["envFn","key","defaultValue","_","has","process","env","getKey","int","parseInt","float","parseFloat","bool","json","JSON","parse","error","Error","message","array","value","startsWith","endsWith","substring","length","split","map","v","trim","date","Date","oneOf","expectedValues","includes","rawValue","undefined","utils","Object","assign"],"mappings":"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"}
|
package/dist/env-helper.mjs
CHANGED
|
@@ -6,72 +6,76 @@ function envFn(key, defaultValue) {
|
|
|
6
6
|
function getKey(key) {
|
|
7
7
|
return process.env[key] ?? '';
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
throw new Error(`Invalid json environment variable ${key}: ${error.message}`);
|
|
37
|
-
}
|
|
38
|
-
throw error;
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
array (key, defaultValue) {
|
|
42
|
-
if (!___default.has(process.env, key)) {
|
|
43
|
-
return defaultValue;
|
|
44
|
-
}
|
|
45
|
-
let value = getKey(key);
|
|
46
|
-
if (value.startsWith('[') && value.endsWith(']')) {
|
|
47
|
-
value = value.substring(1, value.length - 1);
|
|
48
|
-
}
|
|
49
|
-
return value.split(',').map((v)=>{
|
|
50
|
-
return ___default.trim(___default.trim(v, ' '), '"');
|
|
51
|
-
});
|
|
52
|
-
},
|
|
53
|
-
date (key, defaultValue) {
|
|
54
|
-
if (!___default.has(process.env, key)) {
|
|
55
|
-
return defaultValue;
|
|
56
|
-
}
|
|
57
|
-
return new Date(getKey(key));
|
|
58
|
-
},
|
|
59
|
-
/**
|
|
60
|
-
* Gets a value from env that matches oneOf provided values
|
|
61
|
-
* @param {string} key
|
|
62
|
-
* @param {string[]} expectedValues
|
|
63
|
-
* @param {string|undefined} defaultValue
|
|
64
|
-
* @returns {string|undefined}
|
|
65
|
-
*/ oneOf (key, expectedValues, defaultValue) {
|
|
66
|
-
if (!expectedValues) {
|
|
67
|
-
throw new Error(`env.oneOf requires expectedValues`);
|
|
68
|
-
}
|
|
69
|
-
if (defaultValue && !expectedValues.includes(defaultValue)) {
|
|
70
|
-
throw new Error(`env.oneOf requires defaultValue to be included in expectedValues`);
|
|
9
|
+
function int(key, defaultValue) {
|
|
10
|
+
if (!___default.has(process.env, key)) {
|
|
11
|
+
return defaultValue;
|
|
12
|
+
}
|
|
13
|
+
return parseInt(getKey(key), 10);
|
|
14
|
+
}
|
|
15
|
+
function float(key, defaultValue) {
|
|
16
|
+
if (!___default.has(process.env, key)) {
|
|
17
|
+
return defaultValue;
|
|
18
|
+
}
|
|
19
|
+
return parseFloat(getKey(key));
|
|
20
|
+
}
|
|
21
|
+
function bool(key, defaultValue) {
|
|
22
|
+
if (!___default.has(process.env, key)) {
|
|
23
|
+
return defaultValue;
|
|
24
|
+
}
|
|
25
|
+
return getKey(key) === 'true';
|
|
26
|
+
}
|
|
27
|
+
function json(key, defaultValue) {
|
|
28
|
+
if (!___default.has(process.env, key)) {
|
|
29
|
+
return defaultValue;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
return JSON.parse(getKey(key));
|
|
33
|
+
} catch (error) {
|
|
34
|
+
if (error instanceof Error) {
|
|
35
|
+
throw new Error(`Invalid json environment variable ${key}: ${error.message}`);
|
|
71
36
|
}
|
|
72
|
-
|
|
73
|
-
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function array(key, defaultValue) {
|
|
41
|
+
if (!___default.has(process.env, key)) {
|
|
42
|
+
return defaultValue;
|
|
43
|
+
}
|
|
44
|
+
let value = getKey(key);
|
|
45
|
+
if (value.startsWith('[') && value.endsWith(']')) {
|
|
46
|
+
value = value.substring(1, value.length - 1);
|
|
47
|
+
}
|
|
48
|
+
return value.split(',').map((v)=>{
|
|
49
|
+
return ___default.trim(___default.trim(v, ' '), '"');
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function date(key, defaultValue) {
|
|
53
|
+
if (!___default.has(process.env, key)) {
|
|
54
|
+
return defaultValue;
|
|
55
|
+
}
|
|
56
|
+
return new Date(getKey(key));
|
|
57
|
+
}
|
|
58
|
+
function oneOf(key, expectedValues, defaultValue) {
|
|
59
|
+
if (!expectedValues) {
|
|
60
|
+
throw new Error(`env.oneOf requires expectedValues`);
|
|
61
|
+
}
|
|
62
|
+
if (defaultValue && !expectedValues.includes(defaultValue)) {
|
|
63
|
+
throw new Error(`env.oneOf requires defaultValue to be included in expectedValues`);
|
|
74
64
|
}
|
|
65
|
+
const rawValue = env(key, defaultValue);
|
|
66
|
+
if (rawValue !== undefined && expectedValues.includes(rawValue)) {
|
|
67
|
+
return rawValue;
|
|
68
|
+
}
|
|
69
|
+
return defaultValue;
|
|
70
|
+
}
|
|
71
|
+
const utils = {
|
|
72
|
+
int,
|
|
73
|
+
float,
|
|
74
|
+
bool,
|
|
75
|
+
json,
|
|
76
|
+
array,
|
|
77
|
+
date,
|
|
78
|
+
oneOf
|
|
75
79
|
};
|
|
76
80
|
const env = Object.assign(envFn, utils);
|
|
77
81
|
|
package/dist/env-helper.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-helper.mjs","sources":["../src/env-helper.ts"],"sourcesContent":["import _ from 'lodash';\n\nexport type Env = typeof envFn & typeof utils;\n\nfunction envFn<T>(key: string, defaultValue
|
|
1
|
+
{"version":3,"file":"env-helper.mjs","sources":["../src/env-helper.ts"],"sourcesContent":["import _ from 'lodash';\n\nexport type Env = typeof envFn & typeof utils;\n\nfunction envFn(key: string): string | undefined;\nfunction envFn(key: string, defaultValue: string): string;\nfunction envFn<T>(key: string, defaultValue: T): string | T;\nfunction envFn(key: string, defaultValue?: any): any {\n return _.has(process.env, key) ? process.env[key] : defaultValue;\n}\n\nfunction getKey(key: string) {\n return process.env[key] ?? '';\n}\n\nfunction int(key: string, defaultValue: number): number;\nfunction int(key: string, defaultValue?: number | undefined): number | undefined;\nfunction int(key: string, defaultValue?: number | undefined): number | undefined {\n if (!_.has(process.env, key)) {\n return defaultValue;\n }\n\n return parseInt(getKey(key), 10);\n}\n\nfunction float(key: string, defaultValue: number): number;\nfunction float(key: string, defaultValue?: number | undefined): number | undefined;\nfunction float(key: string, defaultValue?: number): number | undefined {\n if (!_.has(process.env, key)) {\n return defaultValue;\n }\n\n return parseFloat(getKey(key));\n}\n\nfunction bool(key: string, defaultValue: boolean): boolean;\nfunction bool(key: string, defaultValue?: boolean | undefined): boolean | undefined;\nfunction bool(key: string, defaultValue?: boolean): boolean | undefined {\n if (!_.has(process.env, key)) {\n return defaultValue;\n }\n\n return getKey(key) === 'true';\n}\n\nfunction json<T extends object>(key: string, defaultValue: T): T;\nfunction json<T extends object>(key: string, defaultValue?: T | undefined): T | undefined;\nfunction json(key: string, defaultValue?: object) {\n if (!_.has(process.env, key)) {\n return defaultValue;\n }\n\n try {\n return JSON.parse(getKey(key));\n } catch (error) {\n if (error instanceof Error) {\n throw new Error(`Invalid json environment variable ${key}: ${error.message}`);\n }\n\n throw error;\n }\n}\n\nfunction array(key: string, defaultValue: string[]): string[];\nfunction array(key: string, defaultValue?: string[] | undefined): string[] | undefined;\nfunction array(key: string, defaultValue?: string[]): string[] | undefined {\n if (!_.has(process.env, key)) {\n return defaultValue;\n }\n\n let value = getKey(key);\n\n if (value.startsWith('[') && value.endsWith(']')) {\n value = value.substring(1, value.length - 1);\n }\n\n return value.split(',').map((v) => {\n return _.trim(_.trim(v, ' '), '\"');\n });\n}\n\nfunction date(key: string, defaultValue: Date): Date;\nfunction date(key: string, defaultValue?: Date | undefined): Date | undefined;\nfunction date(key: string, defaultValue?: Date): Date | undefined {\n if (!_.has(process.env, key)) {\n return defaultValue;\n }\n\n return new Date(getKey(key));\n}\n\n/**\n * Gets a value from env that matches oneOf provided values\n * @param {string} key\n * @param {string[]} expectedValues\n * @param {string|undefined} defaultValue\n * @returns {string|undefined}\n */\nfunction oneOf<T extends string, TDefault extends T = T>(\n key: string,\n expectedValues: T[],\n defaultValue: TDefault\n): T;\nfunction oneOf<T extends string, TDefault extends T = T>(\n key: string,\n expectedValues: T[],\n defaultValue?: TDefault | undefined\n): T | undefined;\nfunction oneOf(key: string, expectedValues?: string[], defaultValue?: string) {\n if (!expectedValues) {\n throw new Error(`env.oneOf requires expectedValues`);\n }\n\n if (defaultValue && !expectedValues.includes(defaultValue)) {\n throw new Error(`env.oneOf requires defaultValue to be included in expectedValues`);\n }\n\n const rawValue = env(key, defaultValue);\n if (rawValue !== undefined && expectedValues.includes(rawValue)) {\n return rawValue;\n }\n\n return defaultValue;\n}\n\nconst utils = {\n int,\n float,\n bool,\n json,\n array,\n date,\n oneOf,\n};\n\nconst env: Env = Object.assign(envFn, utils);\n\nexport default env;\n"],"names":["envFn","key","defaultValue","_","has","process","env","getKey","int","parseInt","float","parseFloat","bool","json","JSON","parse","error","Error","message","array","value","startsWith","endsWith","substring","length","split","map","v","trim","date","Date","oneOf","expectedValues","includes","rawValue","undefined","utils","Object","assign"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/utils",
|
|
3
|
-
"version": "5.33.
|
|
3
|
+
"version": "5.33.3",
|
|
4
4
|
"description": "Shared utilities for the Strapi packages",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"strapi",
|
|
@@ -61,10 +61,10 @@
|
|
|
61
61
|
"@types/http-errors": "2.0.4",
|
|
62
62
|
"@types/koa": "2.13.4",
|
|
63
63
|
"@types/node": "24.10.0",
|
|
64
|
-
"eslint-config-custom": "5.33.
|
|
65
|
-
"koa": "2.16.
|
|
64
|
+
"eslint-config-custom": "5.33.3",
|
|
65
|
+
"koa": "2.16.3",
|
|
66
66
|
"koa-body": "6.0.1",
|
|
67
|
-
"tsconfig": "5.33.
|
|
67
|
+
"tsconfig": "5.33.3"
|
|
68
68
|
},
|
|
69
69
|
"engines": {
|
|
70
70
|
"node": ">=20.0.0 <=24.x.x",
|