UNPKG

delphirtl

Version:
65 lines 3.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.haveNoDuplicates = haveNoDuplicates; exports.dedupArray = dedupArray; exports.maxLen = maxLen; exports.sort = sort; /** * Deduplicates the given array * @param values An array containing duplicated elements * @returns The given array, but without duplicates * @category Arrays */ function dedupArray(values) { const result = Array.from(new Set(values)); return result; } /** * Gets the length of the longest string in the given values array. * * @param {string[]} values * @returns {number} The length of the longest string in the given values array. * @category Arrays */ function maxLen(values) { let result = 0; for (const value of values) { if (value.length > result) { result = value.length; } } return result; } /** * Sorts the given values array and returns it * * @param {string[]} values * @param {boolean} [ascending=true] * @returns {string[]} The sorted values array, in a new array. * @category Arrays */ function sort(values, ascending = true) { let result = [...values]; if (ascending) { result.sort((a, b) => a.localeCompare(b)); // descending order } else { result.sort((a, b) => b.localeCompare(a)); // descending order } return result; } /** * Compare all elements of arr1 and arr2 and ensure they have no duplicates * @param arr1 * @param arr2 * @param key * @returns true if there's duplicates, false otherwise * @category Arrays */ function haveNoDuplicates(arr1, arr2, key) { if ((arr1.length === 0) && (arr2.length === 0)) { return true; } return arr1.every(item1 => !arr2.some(item2 => item1[key] === item2[key])); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXl1dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hcnJheXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBK0RJLDRDQUFnQjtBQUNoQixnQ0FBVTtBQUNWLHdCQUFNO0FBQ04sb0JBQUk7QUFsRVI7Ozs7O0dBS0c7QUFDSCxTQUFTLFVBQVUsQ0FBQyxNQUFhO0lBQzdCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMzQyxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBUyxNQUFNLENBQUMsTUFBZ0I7SUFDNUIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN6QixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQVMsSUFBSSxDQUFDLE1BQWdCLEVBQUUsWUFBcUIsSUFBSTtJQUNyRCxJQUFJLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDekIsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUI7SUFDbEUsQ0FBQztTQUFNLENBQUM7UUFDSixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CO0lBQ2xFLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsSUFBVyxFQUFFLElBQVcsRUFBRSxHQUFXO0lBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDIn0=