UNPKG

fast-iterable

Version:

Provides LINQ-like fluent api operations for iterables and async iterables (ES2018+).

23 lines (22 loc) 847 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.f = void 0; const EventEmitter = require("events"); const fluent_1 = require("./fluent"); const fluent_async_1 = require("./fluent-async"); const fluent_object_1 = require("./fluent-object"); const is_async_iterable_1 = require("./is-async-iterable"); const is_iterable_1 = require("./is-iterable"); function f(iterable, options) { if ((0, is_iterable_1.isIterable)(iterable)) { return (0, fluent_1.default)(iterable); } else if ((0, is_async_iterable_1.isAsyncIterable)(iterable)) { return (0, fluent_async_1.fluentAsync)(iterable); } else if (iterable instanceof EventEmitter) { return (0, fluent_async_1.fluentEmit)(iterable, options); } return (0, fluent_object_1.fluentObject)(iterable); } exports.f = f;