UNPKG

ix

Version:

The Interactive Extensions for JavaScript

22 lines (20 loc) 961 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.iif = void 0; const defer_js_1 = require("./defer.js"); const empty_js_1 = require("./empty.js"); /** * If the specified condition evaluates true, select the thenSource sequence. * Otherwise, select the elseSource sequence. * * @template TSource The type of the elements in the result sequence. * @param {(() => boolean)} condition Condition evaluated to decide which sequence to return. * @param {Iterable<TSource>} thenSource Sequence returned in case evaluates true. * @param {Iterable<TSource>} [elseSource=empty()] Sequence returned in case condition evaluates false. * @returns {IterableX<TSource>} thenSource if condition evaluates true; elseSource otherwise. */ function iif(fn, thenSource, elseSource = (0, empty_js_1.empty)()) { return (0, defer_js_1.defer)(() => (fn() ? thenSource : elseSource)); } exports.iif = iif; //# sourceMappingURL=iif.js.map