/
githubmirror
/
ionic
Обзор
Документация
Войти
/
githubmirror
/
ionic
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
core/src/components/datetime/utils/comparison.ts
59 строк
2 KB
Brandy Smith
fix(config): allow LogLevel to work with isolatedModules and update all warns and errors to respect logLevel (#30350)
16 апр 2025, 19:23
Не верифицирован
16 апр 2025, 19:23
d52fca0
Код
Авторство
О чём код?
import { printIonWarning } from '@utils/logging'; import type { DatetimeParts } from '../datetime-interface'; /** * Returns true if the selected day is equal to the reference day */ export const isSameDay = (baseParts: DatetimeParts, compareParts: DatetimeParts) => { return ( baseParts.month === compareParts.month && baseParts.day === compareParts.day && baseParts.year === compareParts.year ); }; /** * Returns true is the selected day is before the reference day. */ export const isBefore = (baseParts: DatetimeParts, compareParts: DatetimeParts) => { return !!( baseParts.year < compareParts.year || (baseParts.year === compareParts.year && baseParts.month < compareParts.month) || (baseParts.year === compareParts.year && baseParts.month === compareParts.month && baseParts.day !== null && baseParts.day < compareParts.day!) ); }; /** * Returns true is the selected day is after the reference day. */ export const isAfter = (baseParts: DatetimeParts, compareParts: DatetimeParts) => { return !!( baseParts.year > compareParts.year || (baseParts.year === compareParts.year && baseParts.month > compareParts.month) || (baseParts.year === compareParts.year && baseParts.month === compareParts.month && baseParts.day !== null && baseParts.day > compareParts.day!) ); }; export const warnIfValueOutOfBounds = ( value: DatetimeParts | DatetimeParts[], min: DatetimeParts, max: DatetimeParts ) => { const valueArray = Array.isArray(value) ? value : [value]; for (const val of valueArray) { if ((min !== undefined && isBefore(val, min)) || (max !== undefined && isAfter(val, max))) { printIonWarning( '[ion-datetime] - The value provided to ion-datetime is out of bounds.\n\n' + `Min: ${JSON.stringify(min)}\n` + `Max: ${JSON.stringify(max)}\n` + `Value: ${JSON.stringify(value)}` ); break; } } };