INNER CODE UNIT · JavaScript
cast
danburzo/percollate · src/cli-opts.js:94
export function cast(val) {
if (val === 'true') return true;
if (val === 'false') return false;
const num = parseFloat(val);
if (!Number.isNaN(num)) return num;
return val;
}
export function namespacedOptions(options, namespace) {
const matcher = new RegExp(String.raw`${namespace}\.(.+)`);
return Object.keys(options).reduce((obj, k) => {
const m = k.match(matcher);
if (m) {
obj[m[1]] = cast(options[k]);
}
return obj;
}, {});
}