@n3okill/utils
Version:
Many javascript helpers
18 lines • 705 B
JavaScript
import { uniqueFilter } from "./uniqueFilter";
import { combine } from "./combine";
import { is } from "../type/is";
import { isFunction } from "../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
*/
export function combineUniqueFilter(...arrays) {
let comparator = is;
if (isFunction(arrays[arrays.length - 1])) {
comparator = arrays.pop();
}
return uniqueFilter(combine(...arrays), comparator);
}
//# sourceMappingURL=combineUniqueFilter.js.map