/
githubmirror
/
gutenberg
Обзор
Документация
Войти
/
githubmirror
/
gutenberg
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
trunk
packages/components/src/utils/values.js
58 строк
2 KB
Andrew Duthie
Testing: Enable no-unused-disable ESLint Comments plugin rule (#72940)
04 ноя 2025, 18:54
Не верифицирован
04 ноя 2025, 18:54
3be8bb2
Код
Авторство
О чём код?
/** * Determines if a value is null or undefined. * * @template T * * @param {T} value The value to check. * @return {value is Exclude<T, null | undefined>} Whether value is not null or undefined. */ export function isValueDefined( value ) { return value !== undefined && value !== null; } /** * Determines if a value is empty, null, or undefined. * * @param {string | number | null | undefined} value The value to check. * @return {value is ("" | null | undefined)} Whether value is empty. */ export function isValueEmpty( value ) { const isEmptyString = value === ''; return ! isValueDefined( value ) || isEmptyString; } /** * Get the first defined/non-null value from an array. * * @template T * * @param {Array<T | null | undefined>} values Values to derive from. * @param {T} fallbackValue Fallback value if there are no defined values. * @return {T} A defined value or the fallback value. */ export function getDefinedValue( values = [], fallbackValue ) { return values.find( isValueDefined ) ?? fallbackValue; } /** * Converts a string to a number. * * @param {string} value * @return {number} String as a number. */ export const stringToNumber = ( value ) => { return parseFloat( value ); }; /** * Regardless of the input being a string or a number, returns a number. * * Returns `undefined` in case the string is `undefined` or not a valid numeric value. * * @param {string | number} value * @return {number} The parsed number. */ export const ensureNumber = ( value ) => { return typeof value === 'string' ? stringToNumber( value ) : value; };