reports/frontend/node_modules/es-toolkit/dist/compat/function/negate.mjs
jtricerolph 1c411e402e Add settings page for managing forecasting API key and URL via UI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-20 14:37:36 +00:00

22 lines
666 B
JavaScript

//#region src/compat/function/negate.ts
/**
* Creates a function that negates the result of the predicate function.
*
* @template F - The type of the function to negate.
* @param func - The function to negate.
* @returns The new negated function, which negates the boolean result of `func`.
*
* @example
* const array = [1, 2, 3, 4, 5, 6];
* const isEven = (n: number) => n % 2 === 0;
* const result = array.filter(negate(isEven));
* // result will be [1, 3, 5]
*/
function negate(func) {
if (typeof func !== "function") throw new TypeError("Expected a function");
return function(...args) {
return !func.apply(this, args);
};
}
//#endregion
export { negate };