//#region src/Array/randomOrElse.d.ts /** * # randomOrElse * * ```ts * function Array.randomOrElse( * target: readonly T[], * orElse: (target: readonly NoInfer[]) => U, * ): T | U * ``` * * Returns a random element from `array`, or the result of calling `callback` with the array if the array is empty. * * ## Example * * ```ts [data-first] * import { Array } from "@monstermann/array"; * * Array.randomOrElse([1, 2, 3, 4], (arr) => arr.length); // 2 (random) * ``` * * ```ts [data-last] * import { Array } from "@monstermann/array"; * * pipe( * [1, 2, 3, 4], * Array.randomOrElse((arr) => arr.length), * ); // 2 (random) * ``` * */ declare const randomOrElse: { (orElse: (target: readonly NoInfer[]) => U): (target: readonly T[]) => T | U; (target: readonly T[], orElse: (target: readonly NoInfer[]) => U): T | U; }; //#endregion export { randomOrElse };