buffered-async-iterable
Version:
Creates a prefetched async iterable
20 lines (17 loc) • 589 B
JavaScript
/**
* @param {unknown} value
* @returns {value is Iterable<unknown>}
*/
export const isIterable = (value) => Boolean(value && typeof value === 'object' && Symbol.iterator in value);
/**
* @param {unknown} value
* @returns {value is AsyncIterable<unknown>}
*/
export const isAsyncIterable = (value) => Boolean(value && typeof value === 'object' && Symbol.asyncIterator in value);
/**
* @template Values
* @param {unknown} value
* @param {Values[]} list
* @returns {value is Values}
*/
export const isPartOfArray = (value, list) => list.includes(/** @type {Values} */ (value));