28 lines
1.1 KiB
JavaScript
28 lines
1.1 KiB
JavaScript
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||
|
|
||
|
import assertString from './util/assertString';
|
||
|
import toString from './util/toString';
|
||
|
export default function isIn(str, options) {
|
||
|
assertString(str);
|
||
|
var i;
|
||
|
|
||
|
if (Object.prototype.toString.call(options) === '[object Array]') {
|
||
|
var array = [];
|
||
|
|
||
|
for (i in options) {
|
||
|
// https://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md#ignoring-code-for-coverage-purposes
|
||
|
// istanbul ignore else
|
||
|
if ({}.hasOwnProperty.call(options, i)) {
|
||
|
array[i] = toString(options[i]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return array.indexOf(str) >= 0;
|
||
|
} else if (_typeof(options) === 'object') {
|
||
|
return options.hasOwnProperty(str);
|
||
|
} else if (options && typeof options.indexOf === 'function') {
|
||
|
return options.indexOf(str) >= 0;
|
||
|
}
|
||
|
|
||
|
return false;
|
||
|
}
|