fast-iterable
Version:
Provides LINQ-like fluent api operations for iterables and async iterables (ES2018+).
26 lines (25 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const fluent_symbol_1 = require("./types-internal/fluent-symbol");
const mounters_1 = require("./mounters");
const mounters_2 = require("./mounters");
const types_internal_1 = require("./types-internal");
const internal_wrapper_1 = require("./internal-wrapper");
const sync_handler_1 = require("./sync-handler");
/**
* Tranforms an iterable into a [[FluentIterable]].
* @typeparam T The type of the items in the iterable.
* @param iterable The iterable instance.
* @returns The [[FluentIterable]] instance.
*/
function fluent(iterable) {
return (0, types_internal_1.getFluent)(iterable, sync_handler_1.syncHandler, fluent_symbol_1.fluentSymbol);
}
Object.assign(sync_handler_1.proxyReference, {
...(0, mounters_2.mountIterableFunctions)(mounters_1.iterableFuncs, internal_wrapper_1.internalWrapper),
...(0, mounters_2.mountIterableFunctions)(mounters_1.iterableAsyncFuncs, internal_wrapper_1.internalAsyncWrapper, true),
...mounters_1.resolvingFuncs,
...(0, mounters_2.mountSpecial)(mounters_1.special, internal_wrapper_1.internalWrapper, internal_wrapper_1.internalAsyncWrapper),
fluent: fluent_symbol_1.fluentSymbol,
});
exports.default = fluent;