Files
pole-book/server/node_modules/@formatjs/ecma402-abstract/GetStringOrBooleanOption.js

36 lines
984 B
JavaScript

"use strict";
/**
* https://tc39.es/ecma402/#sec-getstringorbooleanoption
* @param opts
* @param prop
* @param values
* @param trueValue
* @param falsyValue
* @param fallback
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetStringOrBooleanOption = void 0;
var _262_1 = require("./262");
function GetStringOrBooleanOption(opts, prop, values, trueValue, falsyValue, fallback) {
var value = opts[prop];
if (value === undefined) {
return fallback;
}
if (value === true) {
return trueValue;
}
var valueBoolean = Boolean(value);
if (valueBoolean === false) {
return falsyValue;
}
value = (0, _262_1.ToString)(value);
if (value === 'true' || value === 'false') {
return fallback;
}
if ((values || []).indexOf(value) === -1) {
throw new RangeError("Invalid value ".concat(value));
}
return value;
}
exports.GetStringOrBooleanOption = GetStringOrBooleanOption;