@trademe/ensure
Version:
20 lines (19 loc) • 2.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { EnsureError } from '../ensure-error';
import { ensure } from '../guard/guard';
export var /** @type {?} */ isBool = ensure(function (value, key) {
if (value === true || value === false) {
return value;
}
if (value === 'true' || value === '') {
return true;
}
if (value === 'false') {
return false;
}
throw new EnsureError("\n \"" + value + "\" is not a valid value for '" + key + "'.\n The following values will evaluate to true: true, \"true\", \"\".\n The following values will evaluate to false: false, \"false\".\n ");
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0cmFkZW1lL2Vuc3VyZS8iLCJzb3VyY2VzIjpbImd1YXJkcy9ib29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE1BQU0sQ0FBQyxxQkFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQUMsS0FBVSxFQUFFLEdBQVc7SUFDakQsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwQyxNQUFNLENBQUMsS0FBSyxDQUFDO0tBQ2hCO0lBQ0QsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLE1BQU0sSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuQyxNQUFNLENBQUMsSUFBSSxDQUFDO0tBQ2Y7SUFDRCxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNwQixNQUFNLENBQUMsS0FBSyxDQUFDO0tBQ2hCO0lBRUQsTUFBTSxJQUFJLFdBQVcsQ0FBQyxpQkFDZixLQUFLLHFDQUErQixHQUFHLHdLQUc3QyxDQUFDLENBQUM7Q0FDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBEZXBlbmRlbmNpZXM6XG5pbXBvcnQgeyBFbnN1cmVFcnJvciB9IGZyb20gJy4uL2Vuc3VyZS1lcnJvcic7XG5pbXBvcnQgeyBlbnN1cmUgfSBmcm9tICcuLi9ndWFyZC9ndWFyZCc7XG5cbmV4cG9ydCBjb25zdCBpc0Jvb2wgPSBlbnN1cmUoKHZhbHVlOiBhbnksIGtleTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gICAgaWYgKHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJ3RydWUnIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHZhbHVlID09PSAnZmFsc2UnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRW5zdXJlRXJyb3IoYFxuICAgICAgICBcIiR7dmFsdWV9XCIgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yICcke2tleX0nLlxuICAgICAgICAgICAgVGhlIGZvbGxvd2luZyB2YWx1ZXMgd2lsbCBldmFsdWF0ZSB0byB0cnVlOiB0cnVlLCBcInRydWVcIiwgXCJcIi5cbiAgICAgICAgICAgIFRoZSBmb2xsb3dpbmcgdmFsdWVzIHdpbGwgZXZhbHVhdGUgdG8gZmFsc2U6IGZhbHNlLCBcImZhbHNlXCIuXG4gICAgYCk7XG59KTtcbiJdfQ==