@technobuddha/library
Version: 
A large library of useful functions
24 lines • 1.6 kB
JavaScript
import { toEnumeration } from "./to-enumeration.js";
/**
 * List of string values interpreted as boolean true.
 * @internal
 */
const defaultTrue = ['true', 'yes', 'y', 'on', '1'];
/**
 * List of string values interpreted as boolean false.
 * @internal
 */
const defaultFalse = ['false', 'no', 'n', 'off', '0'];
/**
 * Convert a string to a boolean value
 * @param input - The string to convert
 * @param options - see {@link BooleanOptions}
 * @defaultValue trueValues 'true', 'yes', 'y', 'on', or '1'
 * @defaultValue falseValues 'false', 'no', 'n', 'off', '0'
 * @group Object
 * @category Conversion
 */
export function toBoolean(input, { trueValues = defaultTrue, falseValues = defaultFalse } = {}) {
    return [true, false, undefined][toEnumeration(input, trueValues, falseValues) ?? 2];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tYm9vbGVhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90by1ib29sZWFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQWNwRDs7O0dBR0c7QUFDSCxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztBQUVwRDs7O0dBR0c7QUFDSCxNQUFNLFlBQVksR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztBQUV0RDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQ3ZCLEtBQWEsRUFDYixFQUFFLFVBQVUsR0FBRyxXQUFXLEVBQUUsV0FBVyxHQUFHLFlBQVksS0FBcUIsRUFBRTtJQUU3RSxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN0RixDQUFDIn0=