isBoolean.js 900 B

123456789101112131415161718192021222324
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = isBoolean;
  6. var _assertString = _interopRequireDefault(require("./util/assertString"));
  7. var _includesArray = _interopRequireDefault(require("./util/includesArray"));
  8. function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
  9. var defaultOptions = {
  10. loose: false
  11. };
  12. var strictBooleans = ['true', 'false', '1', '0'];
  13. var looseBooleans = [].concat(strictBooleans, ['yes', 'no']);
  14. function isBoolean(str) {
  15. var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultOptions;
  16. (0, _assertString.default)(str);
  17. if (options.loose) {
  18. return (0, _includesArray.default)(looseBooleans, str.toLowerCase());
  19. }
  20. return (0, _includesArray.default)(strictBooleans, str);
  21. }
  22. module.exports = exports.default;
  23. module.exports.default = exports.default;