@klayr/utils
Version:
Library containing generic utility functions for use with Klayr-related software
23 lines • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.bufferArrayUniqueItems = exports.isBufferArrayOrdered = exports.bufferArraySubtract = exports.bufferArrayEqual = exports.bufferArrayContainsSome = exports.bufferArrayContains = exports.bufferArrayIncludes = void 0;
const buffer_set_1 = require("../data_structures/buffer_set");
const bufferArrayIncludes = (arr, val) => arr.find(a => a.equals(val)) !== undefined;
exports.bufferArrayIncludes = bufferArrayIncludes;
const bufferArrayContains = (arr1, arr2) => arr2.every(val => (0, exports.bufferArrayIncludes)(arr1, val));
exports.bufferArrayContains = bufferArrayContains;
const bufferArrayContainsSome = (arr1, arr2) => arr2.some(val => (0, exports.bufferArrayIncludes)(arr1, val));
exports.bufferArrayContainsSome = bufferArrayContainsSome;
const bufferArrayEqual = (arr1, arr2) => arr1.length === arr2.length && arr1.every((val, index) => val.equals(arr2[index]));
exports.bufferArrayEqual = bufferArrayEqual;
const bufferArraySubtract = (arr1, arr2) => arr1.filter(a => !(0, exports.bufferArrayIncludes)(arr2, a));
exports.bufferArraySubtract = bufferArraySubtract;
const isBufferArrayOrdered = (arr1) => {
const sortedArray = [...arr1];
sortedArray.sort((a, b) => a.compare(b));
return (0, exports.bufferArrayEqual)(arr1, sortedArray);
};
exports.isBufferArrayOrdered = isBufferArrayOrdered;
const bufferArrayUniqueItems = (arr1) => arr1.length === new buffer_set_1.BufferSet([...arr1]).size;
exports.bufferArrayUniqueItems = bufferArrayUniqueItems;
//# sourceMappingURL=buffer_array.js.map