@trademe/ensure
Version:
28 lines (27 loc) • 2.3 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { EnsureError } from '../../ensure-error';
/**
* @param {?} value
* @param {?} key
* @return {?}
*/
export function isBool(value, key) {
if (value === true || value === false) {
return value;
}
if (value === 'true' || value === '') {
return true;
}
if (value === 'false') {
return false;
}
throw new EnsureError(`
"${value}" is not a valid value for '${key}'.
The following values will evaluate to true: true, "true", "".
The following values will evaluate to false: false, "false".
`);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0cmFkZW1lL2Vuc3VyZS8iLCJzb3VyY2VzIjpbInZhbHVlL3NldHRlci9ib29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQUVqRCxNQUFNLGlCQUFrQixLQUFVLEVBQUUsR0FBVztJQUMzQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDaEI7SUFDRCxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUM7S0FDZjtJQUNELEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDaEI7SUFFRCxNQUFNLElBQUksV0FBVyxDQUFDO1dBQ2YsS0FBSywrQkFBK0IsR0FBRzs7O0tBRzdDLENBQUMsQ0FBQztDQUNOIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRGVwZW5kZW5jaWVzOlxuaW1wb3J0IHsgRW5zdXJlRXJyb3IgfSBmcm9tICcuLi8uLi9lbnN1cmUtZXJyb3InO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNCb29sICh2YWx1ZTogYW55LCBrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09ICd0cnVlJyB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJ2ZhbHNlJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVuc3VyZUVycm9yKGBcbiAgICAgICAgXCIke3ZhbHVlfVwiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciAnJHtrZXl9Jy5cbiAgICAgICAgICAgIFRoZSBmb2xsb3dpbmcgdmFsdWVzIHdpbGwgZXZhbHVhdGUgdG8gdHJ1ZTogdHJ1ZSwgXCJ0cnVlXCIsIFwiXCIuXG4gICAgICAgICAgICBUaGUgZm9sbG93aW5nIHZhbHVlcyB3aWxsIGV2YWx1YXRlIHRvIGZhbHNlOiBmYWxzZSwgXCJmYWxzZVwiLlxuICAgIGApO1xufVxuIl19