UNPKG

is-what

Version:

JS type check (TypeScript supported) functions like `isPlainObject() isArray()` etc. A simple & small integration.

15 lines (14 loc) 603 B
/** Returns whether the payload is an iterable (regular or async) */ export function isIterable(payload) { if (typeof Symbol === 'undefined' || typeof Symbol.iterator === 'undefined') { return false; } if (payload == null) return false; // Strings are iterable, even though they're primitives. if (typeof payload === 'string') return true; // For objects, arrays and functions, check if Symbol.iterator is a function. return ((typeof payload === 'object' || typeof payload === 'function') && typeof payload[Symbol.iterator] === 'function'); }