UNPKG

1.68 kBJavaScriptView Raw
1/** @ignore */
2const isNumber = (x) => typeof x === 'number';
3/** @ignore */
4const isBoolean = (x) => typeof x === 'boolean';
5/** @ignore */
6const isFunction = (x) => typeof x === 'function';
7/** @ignore */
8const isObject = (x) => x != null && Object(x) === x;
9/** @ignore */
10export const isPromise = (x) => {
11 return isObject(x) && isFunction(x.then);
12};
13/** @ignore */
14export function isArrayLike(x) {
15 return isObject(x) && isNumber(x['length']);
16}
17/** @ignore */
18export function isIterable(x) {
19 return isObject(x) && isFunction(x[Symbol.iterator]);
20}
21/** @ignore */
22export function isAsyncIterable(x) {
23 return isObject(x) && isFunction(x[Symbol.asyncIterator]);
24}
25/** @ignore */
26export const isReadableNodeStream = (x) => {
27 return (isObject(x) &&
28 isFunction(x['pipe']) &&
29 isFunction(x['_read']) &&
30 isBoolean(x['readable']) &&
31 isObject(x['_readableState']));
32};
33/** @ignore */
34export const isWritableNodeStream = (x) => {
35 return (isObject(x) &&
36 isFunction(x['end']) &&
37 isFunction(x['_write']) &&
38 isBoolean(x['writable']) &&
39 isObject(x['_writableState']));
40};
41/** @ignore */
42export const isReadableDOMStream = (x) => {
43 return (isObject(x) &&
44 isFunction(x['tee']) &&
45 isFunction(x['cancel']) &&
46 isFunction(x['pipeTo']) &&
47 isFunction(x['getReader']));
48};
49/** @ignore */
50export const isWritableDOMStream = (x) => {
51 return isObject(x) && isFunction(x['abort']) && isFunction(x['getWriter']);
52};
53/** @ignore */
54export const isFetchResponse = (x) => {
55 return isObject(x) && isReadableDOMStream(x['body']);
56};
57
58//# sourceMappingURL=isiterable.mjs.map