DieselDepot-APP/node_modules/es-toolkit/dist/compat/array/sample.js
SJCoetz def597c157 chore: add generated build artifacts and node module type files
add all Next.js build outputs and third-party dependency type declaration files
2026-07-20 01:18:42 +02:00

21 lines
967 B
JavaScript

const require_sample = require("../../array/sample.js");
const require_toArray = require("../_internal/toArray.js");
const require_isArrayLike = require("../predicate/isArrayLike.js");
//#region src/compat/array/sample.ts
/**
* The implementation for the overloaded sample function.
*
* This function takes an array, string, or object and returns a single element selected randomly.
* If the input is empty, or if it's null or undefined, the function returns `undefined`.
*
* @template T - The type of elements in the collection.
* @param collection - The collection to sample from.
* @returns A random element from the collection, or `undefined` if the collection is empty or invalid.
*/
function sample(collection) {
if (collection == null) return;
if (require_isArrayLike.isArrayLike(collection)) return require_sample.sample(require_toArray.toArray(collection));
return require_sample.sample(Object.values(collection));
}
//#endregion
exports.sample = sample;