PHP WebShell
Текущая директория: /opt/BitGoJS/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Выполнить команду
Для локальной разработки. Не используйте в интернете!