UNPKG

@codibre/fluent-iterable

Version:

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

26 lines (25 loc) 1.05 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.f = f; const EventEmitter = require("events"); const fluent_1 = __importDefault(require("./fluent")); const fluent_async_1 = require("./fluent-async"); const fluent_async_func_1 = require("./fluent-async-func"); 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_func_1.fluentAsync)(iterable); } else if (iterable instanceof EventEmitter) { return (0, fluent_async_1.fluentEmit)(iterable, options); } return (0, fluent_object_1.fluentObject)(iterable); }