@n3okill/utils
Version:
Many javascript helpers
21 lines • 896 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.combineUniqueFilter = combineUniqueFilter;
const uniqueFilter_1 = require("./uniqueFilter");
const combine_1 = require("./combine");
const is_1 = require("../type/is");
const isFunction_1 = require("../type/isFunction");
/**
* Combine multiple arrays into a single with unique items based on filter
* @param arrays Arrays to be combined
* @param filter The filter function to be applied to arrays, default `Type.is`, `(obj1, obj2)=>boolean`
* @returns {Array<T>} The combined array
*/
function combineUniqueFilter(...arrays) {
let comparator = is_1.is;
if ((0, isFunction_1.isFunction)(arrays[arrays.length - 1])) {
comparator = arrays.pop();
}
return (0, uniqueFilter_1.uniqueFilter)((0, combine_1.combine)(...arrays), comparator);
}
//# sourceMappingURL=combineUniqueFilter.js.map
;