From c0327bf8e229cb393d809f72848c651337705fd7 Mon Sep 17 00:00:00 2001 From: Panagiotis Papadopoulos Date: Thu, 23 Jan 2025 20:18:05 +0100 Subject: [PATCH] feat(server/utils): add envToBoolean helper function turns "true" / "false" strings from a process.env property into actual boolean values or undefined --- src/services/utils.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/services/utils.ts b/src/services/utils.ts index 4d4f42936..9b05e2199 100644 --- a/src/services/utils.ts +++ b/src/services/utils.ts @@ -295,6 +295,18 @@ export function isString(x: any) { return Object.prototype.toString.call(x) === "[object String]"; } +// try to turn 'true' and 'false' strings from process.env variables into boolean values or undefined +export function envToBoolean(val: string | undefined) { + if (val === undefined || typeof val !== "string") return undefined; + + const valLc = val.toLowerCase().trim(); + + if (valLc === "true") return true; + if (valLc === "false") return false; + + return undefined; +} + /** * Returns the directory for resources. On Electron builds this corresponds to the `resources` subdirectory inside the distributable package. * On development builds, this simply refers to the root directory of the application. @@ -352,5 +364,6 @@ export default { isString, getResourceDir, isMac, - isWindows + isWindows, + envToBoolean };