PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@celo/base/lib

Просмотр файла: collections.js

"use strict";
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
        if (ar || !(i in from)) {
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
            ar[i] = from[i];
        }
    }
    return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.linkedListChanges = exports.linkedListChange = exports.intersection = exports.notEmpty = exports.zeroRange = exports.zip3 = exports.zip = void 0;
var address_1 = require("./address");
function zip(fn, as, bs) {
    var len = Math.min(as.length, bs.length);
    var res = [];
    for (var i = 0; i < len; i++) {
        res.push(fn(as[i], bs[i]));
    }
    return res;
}
exports.zip = zip;
function zip3(as, bs, cs) {
    var len = Math.min(as.length, bs.length, cs.length);
    var res = [];
    for (var i = 0; i < len; i++) {
        res.push([as[i], bs[i], cs[i]]);
    }
    return res;
}
exports.zip3 = zip3;
function zeroRange(to) {
    return Array.from(Array(to).keys());
}
exports.zeroRange = zeroRange;
// https://stackoverflow.com/questions/43118692/typescript-filter-out-nulls-from-an-array
function notEmpty(value) {
    return value !== null && value !== undefined;
}
exports.notEmpty = notEmpty;
function intersection(arrays) {
    if (arrays.length === 0) {
        return [];
    }
    var sets = arrays.map(function (array) { return new Set(array); });
    var res = [];
    var _loop_1 = function (elem) {
        if (sets.every(function (set) { return set.has(elem); })) {
            res.push(elem);
        }
    };
    for (var _i = 0, _a = arrays[0]; _i < _a.length; _i++) {
        var elem = _a[_i];
        _loop_1(elem);
    }
    return res;
}
exports.intersection = intersection;
function upsert(sortedList, change, comparator) {
    var oldIdx = sortedList.findIndex(function (a) { return (0, address_1.eqAddress)(a.address, change.address); });
    if (oldIdx === -1) {
        throw new Error('');
    }
    sortedList.splice(oldIdx, 1);
    var newIdx = sortedList.findIndex(function (a) { return comparator(a.value, change.value); });
    if (newIdx === -1) {
        sortedList.push(change);
        return sortedList.length - 1;
    }
    else {
        sortedList.splice(newIdx, 0, change);
        return newIdx;
    }
}
// Warning: sortedList is modified
function _linkedListChange(sortedList, change, comparator) {
    var idx = upsert(sortedList, change, comparator);
    var greater = idx === 0 ? address_1.NULL_ADDRESS : sortedList[idx - 1].address;
    var lesser = idx === sortedList.length - 1 ? address_1.NULL_ADDRESS : sortedList[idx + 1].address;
    return { lesser: lesser, greater: greater };
}
function linkedListChange(sortedList, change, comparator) {
    var list = sortedList.concat();
    var _a = _linkedListChange(list, change, comparator), lesser = _a.lesser, greater = _a.greater;
    return { lesser: lesser, greater: greater, list: list };
}
exports.linkedListChange = linkedListChange;
function linkedListChanges(sortedList, changeList, comparator) {
    var listClone = __spreadArray([], sortedList, true);
    var lessers = [];
    var greaters = [];
    for (var _i = 0, changeList_1 = changeList; _i < changeList_1.length; _i++) {
        var it_1 = changeList_1[_i];
        var _a = _linkedListChange(listClone, it_1, comparator), lesser = _a.lesser, greater = _a.greater;
        lessers.push(lesser);
        greaters.push(greater);
    }
    return { lessers: lessers, greaters: greaters, list: listClone };
}
exports.linkedListChanges = linkedListChanges;
//# sourceMappingURL=collections.js.map

Выполнить команду


Для локальной разработки. Не используйте в интернете!