@technobuddha/library
Version: 
A large library of useful functions
23 lines • 1.18 kB
JavaScript
/**
 * Determines if the provided object is iterable.
 *
 * Checks whether the given value is not `null` or `undefined` and has a `[Symbol.iterator]` method,
 * indicating that it implements the `Iterable` interface.
 * @param obj - The value to check for iterability.
 * @returns `true` if the object is iterable, otherwise `false`.
 * @example
 * ```typescript
 * isIterable([1, 2, 3]); // true
 * isIterable('hello');   // true
 * isIterable(new Map()); // true
 * isIterable(123);       // false
 * isIterable(null);      // false
 * ```
 * @group Object
 * @category Type Guards
 */
export function isIterable(obj) {
    // eslint-disable-next-line @typescript-eslint/no-explicit-any
    return obj != null && typeof obj[Symbol.iterator] === 'function';
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtaXRlcmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaXMtaXRlcmFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFZO0lBQ3JDLDhEQUE4RDtJQUM5RCxPQUFPLEdBQUcsSUFBSSxJQUFJLElBQUksT0FBUSxHQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFVBQVUsQ0FBQztBQUM1RSxDQUFDIn0=