mirror of https://github.com/requarks/wiki
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
796 B
25 lines
796 B
const isoDurationReg =
|
|
/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/
|
|
|
|
export default {
|
|
/**
|
|
* Parse configuration value for environment vars
|
|
*
|
|
* Replaces `$(ENV_VAR_NAME)` with value of `ENV_VAR_NAME` environment variable.
|
|
*
|
|
* Also supports defaults by if provided as `$(ENV_VAR_NAME:default)`
|
|
*
|
|
* @param cfg Configuration value
|
|
* @returns Parse configuration value
|
|
*/
|
|
parseConfigValue(cfg: string): string {
|
|
return cfg.replaceAll(/\$\(([A-Z0-9_]+)(?::(.+))?\)/g, (fm: string, m: string, d: string) => {
|
|
return process.env[m] || d
|
|
})
|
|
},
|
|
|
|
isValidDurationString(val: string): boolean {
|
|
return isoDurationReg.test(val)
|
|
}
|
|
}
|