🚧️ How to cast string to boolean - Booleanify
typescriptbooleanifyjavascript
- Published on •2 min read
Sometime we need to cast string into boolean but with got some unexpected behavior in javascript and typescript. For example suppose that you have a environment variable in .env.
ENABLE_SOME_CONDITIONALLY=false
const isEnableSomeConditionally = process.env.ENABLE_SOME_CONDITIONALLY
console.log(isEnableSomeConditionally) // "false" *obviously a string
// Now we want to cast to boolean
const boolean = Boolean(isEnableSomeConditionally)
console.log(boolean) // Suprise! we got a "true". that means that boolean can't cast value
To solve this tortuous problem we can define the next utility function and use every time that we need to cast a value to a boolean
const booleanify = (value: string): boolean => {
const truthy: string[] = ['true', 'True', '1'];
return truthy.includes(value);
};
export default booleanify;
I saw some special and creative solutions for this issue, but I feel comfortable with this way to solve that