UNPKG

foop

Version:

interfaces that describe their intentions.

62 lines (58 loc) 5.18 kB
var hasOwnProperty = require('../util/hasOwnProperty') var isEnumerable = require('./enumerable') var toS = require('./toS') /** * @desc check if toString on object is Arguments * @since 4.0.0 * @memberOf is * * @param {Object | *} x value to check if isArguments * @return {boolean} isArguments * * @see is/toS * @name isArguments * @func * * {@link https://tc39.github.io/ecma262/#prod-ArgumentList emca-isarguments} * {@link https://github.com/medikoo/es5-ext/blob/master/function/is-arguments.js es5-ext-is-arguments} * {@link https://github.com/jashkenas/underscore/blob/master/underscore.js#L1325 underscore-is-arguments} * {@link https://github.com/substack/node-deep-equal/blob/master/lib/is_arguments.js node-deep-equals-is-arguments} * {@link https://github.com/lodash/lodash/blob/master/isArguments.js lodash-is-arguments} * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments mozilla-func-arguments} * @see {@link emca-isarguments} * @see {@link mozilla-func-arguments} * @see {@link node-deep-equals-is-arguments} * @see {@link lodash-is-arguments} * @see {@link underscore-is-arguments} * @see {@link es5-ext-is-arguments} * * @example * * isArguments({}) //=> false * * (function() { * isArguments(arguments) * //=> true * })() * */ var isArguments = function (x) { return toS(x) === '[object Arguments]'; } module.exports = isArguments // function unsupported(object) { // return ( // (object && // typeof object === 'object' && // typeof object.length === 'number' && // hasOwnProperty(object, 'callee') && // !isEnumerable.call(object, 'callee')) || // false // ) // } // // const supportsArgumentsClass = // (function() { // return toS(arguments) // })() === '[object Arguments]' // // module.exports = supportsArgumentsClass ? supported : unsupported //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzLmpzIiwic291cmNlcyI6WyJhcmd1bWVudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaGFzT3duUHJvcGVydHkgPSByZXF1aXJlKCcuLi91dGlsL2hhc093blByb3BlcnR5JylcbmNvbnN0IGlzRW51bWVyYWJsZSA9IHJlcXVpcmUoJy4vZW51bWVyYWJsZScpXG5jb25zdCB0b1MgPSByZXF1aXJlKCcuL3RvUycpXG5cbi8qKlxuICogQGRlc2MgY2hlY2sgaWYgdG9TdHJpbmcgb24gb2JqZWN0IGlzIEFyZ3VtZW50c1xuICogQHNpbmNlIDQuMC4wXG4gKiBAbWVtYmVyT2YgaXNcbiAqXG4gKiBAcGFyYW0ge09iamVjdCB8ICp9IHggdmFsdWUgdG8gY2hlY2sgaWYgaXNBcmd1bWVudHNcbiAqIEByZXR1cm4ge2Jvb2xlYW59IGlzQXJndW1lbnRzXG4gKlxuICogQHNlZSBpcy90b1NcbiAqIEBuYW1lIGlzQXJndW1lbnRzXG4gKiBAZnVuY1xuICpcbiAqIHtAbGluayBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3Byb2QtQXJndW1lbnRMaXN0IGVtY2EtaXNhcmd1bWVudHN9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL21lZGlrb28vZXM1LWV4dC9ibG9iL21hc3Rlci9mdW5jdGlvbi9pcy1hcmd1bWVudHMuanMgZXM1LWV4dC1pcy1hcmd1bWVudHN9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2phc2hrZW5hcy91bmRlcnNjb3JlL2Jsb2IvbWFzdGVyL3VuZGVyc2NvcmUuanMjTDEzMjUgdW5kZXJzY29yZS1pcy1hcmd1bWVudHN9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3N1YnN0YWNrL25vZGUtZGVlcC1lcXVhbC9ibG9iL21hc3Rlci9saWIvaXNfYXJndW1lbnRzLmpzIG5vZGUtZGVlcC1lcXVhbHMtaXMtYXJndW1lbnRzfVxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9sb2Rhc2gvbG9kYXNoL2Jsb2IvbWFzdGVyL2lzQXJndW1lbnRzLmpzIGxvZGFzaC1pcy1hcmd1bWVudHN9XG4gKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvRnVuY3Rpb25zL2FyZ3VtZW50cyBtb3ppbGxhLWZ1bmMtYXJndW1lbnRzfVxuICogQHNlZSB7QGxpbmsgZW1jYS1pc2FyZ3VtZW50c31cbiAqIEBzZWUge0BsaW5rIG1vemlsbGEtZnVuYy1hcmd1bWVudHN9XG4gKiBAc2VlIHtAbGluayBub2RlLWRlZXAtZXF1YWxzLWlzLWFyZ3VtZW50c31cbiAqIEBzZWUge0BsaW5rIGxvZGFzaC1pcy1hcmd1bWVudHN9XG4gKiBAc2VlIHtAbGluayB1bmRlcnNjb3JlLWlzLWFyZ3VtZW50c31cbiAqIEBzZWUge0BsaW5rIGVzNS1leHQtaXMtYXJndW1lbnRzfVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogICAgaXNBcmd1bWVudHMoe30pIC8vPT4gZmFsc2VcbiAqXG4gKiAgICAgKGZ1bmN0aW9uKCkge1xuICogICAgICBpc0FyZ3VtZW50cyhhcmd1bWVudHMpXG4gKiAgICAgIC8vPT4gdHJ1ZVxuICogICAgfSkoKVxuICpcbiAqL1xuY29uc3QgaXNBcmd1bWVudHMgPSB4ID0+IHRvUyh4KSA9PT0gJ1tvYmplY3QgQXJndW1lbnRzXSdcblxubW9kdWxlLmV4cG9ydHMgPSBpc0FyZ3VtZW50c1xuXG4vLyBmdW5jdGlvbiB1bnN1cHBvcnRlZChvYmplY3QpIHtcbi8vICAgcmV0dXJuIChcbi8vICAgICAob2JqZWN0ICYmXG4vLyAgICAgICB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJlxuLy8gICAgICAgdHlwZW9mIG9iamVjdC5sZW5ndGggPT09ICdudW1iZXInICYmXG4vLyAgICAgICBoYXNPd25Qcm9wZXJ0eShvYmplY3QsICdjYWxsZWUnKSAmJlxuLy8gICAgICAgIWlzRW51bWVyYWJsZS5jYWxsKG9iamVjdCwgJ2NhbGxlZScpKSB8fFxuLy8gICAgIGZhbHNlXG4vLyAgIClcbi8vIH1cbi8vXG4vLyBjb25zdCBzdXBwb3J0c0FyZ3VtZW50c0NsYXNzID1cbi8vICAgKGZ1bmN0aW9uKCkge1xuLy8gICAgIHJldHVybiB0b1MoYXJndW1lbnRzKVxuLy8gICB9KSgpID09PSAnW29iamVjdCBBcmd1bWVudHNdJ1xuLy9cbi8vIG1vZHVsZS5leHBvcnRzID0gc3VwcG9ydHNBcmd1bWVudHNDbGFzcyA/IHN1cHBvcnRlZCA6IHVuc3VwcG9ydGVkXG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQztBQUN4REEsR0FBSyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO0FBQzVDQSxHQUFLLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQzVCQSxHQUFLLENBQUMsV0FBVyxHQUFHLFVBQUEsQ0FBQyxDQUFBLENBQUMsQUFBRyxTQUFBLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxvQkFBb0IsR0FBQTs7QUFFeEQsTUFBTSxDQUFDLE9BQU8sR0FBRyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9