@thisismanta/pessimist
Version:
This is a Node.js library that helps derive `process.argv` array into a flexible, value-strict, TypeScript-friendly object.
23 lines (22 loc) • 600 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseBoolean = parseBoolean;
const FalsyExpression = /^(false|0|n|no|off)$/i;
function parseBoolean(value, defaultValue = false) {
if (value === undefined) {
return defaultValue;
}
if (value === null || value === '') {
return false;
}
if (typeof value === 'boolean') {
return value;
}
if (typeof value === 'number' && isNaN(value)) {
return false;
}
if (FalsyExpression.test(String(value).trim())) {
return false;
}
return true;
}