/
vshmidt
/
label-studio
Обзор
Документация
Войти
/
vshmidt
/
label-studio
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
web/libs/datamanager/src/utils/utils.ts
60 строк
1 KB
Raul Martin
refactor: echo 27: Introducing biome (#5759)
29 апр 2024, 11:39
Не верифицирован
29 апр 2024, 11:39
2660ec9
Код
Авторство
О чём код?
/** * @todo use [].every() * Returns true if all checks return true * @param {boolean[]} boolArray * @param {(any) => boolean} check */ export const all = <T>(boolArray: T[], check: (item: T) => boolean) => { return boolArray.reduce((res, value) => { return res && !!check(value); }, true); }; /** * Returns true if any of the checks return true * @param {boolean[]} boolArray * @param {(any) => boolean} check */ export const any = <T>(boolArray: T[], check: (item: T) => boolean) => { return boolArray.find((value) => !!check(value)) || false; }; export const randomDate = (start: Date, end: Date) => { return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime())); }; export const groupBy = <T>(list: T[], group: (item: T) => string) => { return list.reduce<Record<string, T[]>>((res, item) => { const property = group(item); if (res[property]) { res[property].push(item); } else { res[property] = [item]; } return res; }, {}); }; export const unique = <T>(list: T[]): T[] => { return Array.from(new Set<T>(list)); }; export const cleanArray = <T>(array: T[]): T[] => { return array.filter((el) => !!el); }; export const isDefined = <T>(value?: T): value is T => { return value !== null && value !== undefined; }; export const isBlank = (value?: string) => { if (!isDefined(value)) return true; if (typeof value === "string") { return value.trim().length === 0; } return false; };