@monstermann/fn
Version:
A utility library for TypeScript.
31 lines (29 loc) • 617 B
JavaScript
import { dfdlT } from "@monstermann/dfdl";
//#region src/array/minOrElse.ts
/**
* `minOrElse(target, orElse)`
*
* Returns the minimum value from `target` array, or calls `orElse` if the array is empty.
*
* ```ts
* minOrElse([5, 2, 8, 1], () => 0); // 1
* minOrElse([], () => 0); // 0
* ```
*
* ```ts
* pipe(
* [5, 2, 8, 1],
* minOrElse(() => 0),
* ); // 1
* pipe(
* [],
* minOrElse(() => 0),
* ); // 0
* ```
*/
const minOrElse = dfdlT((target, orElse) => {
if (target.length === 0) return orElse(target);
return target.reduce((a, b) => Math.min(a, b), 0);
}, 2);
//#endregion
export { minOrElse };