typedash
Version:
modern, type-safe collection of utility functions
32 lines (28 loc) • 752 B
JavaScript
;
// src/functions/createTypeGuard/createTypeGuard.ts
function createTypeGuard(values) {
const setValues = new Set(values);
return function predicate(v) {
return setValues.has(v);
};
}
// src/functions/negate/negate.ts
function negate(func) {
return (...args) => {
const result = func(...args);
return !result;
};
}
// src/functions/difference/difference.ts
function difference(array1, array2, comparator) {
if (!comparator) {
const isArray2Item = createTypeGuard(array2);
return array1.filter(negate(isArray2Item));
}
return array1.filter(
(a1) => !array2.some((a2) => comparator(a1, a2))
);
}
exports.difference = difference;
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.cjs.map