24 lines
846 B
JavaScript
24 lines
846 B
JavaScript
//#region src/compat/util/defaultTo.ts
|
|
/**
|
|
* Returns the default value for `null`, `undefined`, and `NaN`.
|
|
*
|
|
* @template T - The type of the value parameter
|
|
* @template D - The type of the defaultValue parameter
|
|
* @param {T | null | undefined} value - The value to check.
|
|
* @param {T | D} defaultValue - The default value to return if the first value is null, undefined, or NaN.
|
|
* @returns {T | D} Returns either the first value or the default value.
|
|
*
|
|
* @example
|
|
* defaultTo(null, 'default') // returns 'default'
|
|
* defaultTo(undefined, 42) // returns 42
|
|
* defaultTo(NaN, 0) // returns 0
|
|
* defaultTo('actual', 'default') // returns 'actual'
|
|
* defaultTo(123, 0) // returns 123
|
|
*/
|
|
function defaultTo(value, defaultValue) {
|
|
if (value == null || Number.isNaN(value)) return defaultValue;
|
|
return value;
|
|
}
|
|
//#endregion
|
|
exports.defaultTo = defaultTo;
|