@codibre/fluent-iterable
Version:
Provides LINQ-like fluent api operations for iterables and async iterables (ES2018+).
24 lines (23 loc) • 928 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isDescendingOrderAssured = exports.isOrderAssured = exports.orderAssured = void 0;
exports.isAnyOrderAssured = isAnyOrderAssured;
exports.keepOrderAssuring = keepOrderAssuring;
exports.orderAssured = Symbol.for('FluentIterableOrderAssured');
function getIsAssured(direction) {
return function (f, it) {
return (((it && it[exports.orderAssured]) || f[exports.orderAssured]) ===
direction);
};
}
exports.isOrderAssured = getIsAssured(1);
exports.isDescendingOrderAssured = getIsAssured(-1);
function isAnyOrderAssured(f, it) {
return (0, exports.isOrderAssured)(f, it) || (0, exports.isDescendingOrderAssured)(f, it);
}
function keepOrderAssuring(it, reference) {
if (reference.hasOwnProperty(exports.orderAssured)) {
it[exports.orderAssured] = reference[exports.orderAssured];
}
return it;
}