chain-able
Version:
interfaces that describe their intentions.
45 lines (43 loc) • 2.41 kB
JavaScript
var toS = require('./toS')
/**
* @param {*} x value
* @return {boolean} isIterator
*
* @since 3.0.0
* @memberOf is
* @func isIterator
* @see https://github.com/jonschlinkert/kind-of/pull/12
*
* @example
*
* isIterator(new Set().values())
* //=> true
* isIterator(new Map.entries())
* //=> true
* isIterator(new Map())
* //=> false
* isIterator('')
* //=> false
* isIterator(1)
* //=> false
*
* @example
*
* const e = {}
* eh[Symbol.toStringTag] = '[Map Iterator]'
* isIterator(eh)
* //=> true
* eh[Symbol.toStringTag] = '[Set Iterator]'
* isIterator(eh)
* //=> true
*
* @example
*
* class Eh extends Set()
* isIterator(new Eh().values())
* //=> true
*
*/
// eslint-disable-next-line
module.exports = function (x) { return ~toS(x).indexOf('Iterator'); }
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlcmF0b3IuanMiLCJzb3VyY2VzIjpbIml0ZXJhdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHRvUyA9IHJlcXVpcmUoJy4vdG9TJylcblxuLyoqXG4gKiBAcGFyYW0gIHsqfSB4IHZhbHVlXG4gKiBAcmV0dXJuIHtib29sZWFufSBpc0l0ZXJhdG9yXG4gKlxuICogQHNpbmNlIDMuMC4wXG4gKiBAbWVtYmVyT2YgaXNcbiAqIEBmdW5jIGlzSXRlcmF0b3JcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pvbnNjaGxpbmtlcnQva2luZC1vZi9wdWxsLzEyXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgaXNJdGVyYXRvcihuZXcgU2V0KCkudmFsdWVzKCkpXG4gKiAgLy89PiB0cnVlXG4gKiAgaXNJdGVyYXRvcihuZXcgTWFwLmVudHJpZXMoKSlcbiAqICAvLz0+IHRydWVcbiAqICBpc0l0ZXJhdG9yKG5ldyBNYXAoKSlcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNJdGVyYXRvcignJylcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNJdGVyYXRvcigxKVxuICogIC8vPT4gZmFsc2VcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICBjb25zdCBlID0ge31cbiAqICBlaFtTeW1ib2wudG9TdHJpbmdUYWddID0gJ1tNYXAgSXRlcmF0b3JdJ1xuICogIGlzSXRlcmF0b3IoZWgpXG4gKiAgLy89PiB0cnVlXG4gKiAgZWhbU3ltYm9sLnRvU3RyaW5nVGFnXSA9ICdbU2V0IEl0ZXJhdG9yXSdcbiAqICBpc0l0ZXJhdG9yKGVoKVxuICogIC8vPT4gdHJ1ZVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogIGNsYXNzIEVoIGV4dGVuZHMgU2V0KClcbiAqICBpc0l0ZXJhdG9yKG5ldyBFaCgpLnZhbHVlcygpKVxuICogIC8vPT4gdHJ1ZVxuICpcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG5tb2R1bGUuZXhwb3J0cyA9IHggPT4gfnRvUyh4KS5pbmRleE9mKCdJdGVyYXRvcicpXG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTBDNUIsTUFBTSxDQUFDLE9BQU8sR0FBRyxVQUFBLENBQUMsQ0FBQSxDQUFDLEFBQUcsU0FBQSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUE7In0=