/
kaws
/
ui-kit-ce
Обзор
Документация
Войти
/
kaws
/
ui-kit-ce
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/utils/src/getPathValue/getPathValue.ts
35 строк
1 KB
Denis Svyatovets
style: добавлен плагин eslint для jsDoc
27 янв 2025, 17:06
27 янв 2025, 17:06
6287359
Код
Авторство
О чём код?
/** * Получаем вложенное поле в объекте по переданному массиву ключей (пути). * * @param record Объект из которого будем получать данные по пути. * @param path Путь, или путь через точку, или массив ключей (в последовательности вложенности). * * @returns Возвращает полученные по пути данные. */ /** * */ export function getPathValue<ValueType, ObjectType>( record: ObjectType, path: string[] | string ): ValueType | null { if (!path) { return record as unknown as ValueType } const pathList = Array.isArray(path) ? path : path.split('.') let current: ValueType | ObjectType = record for (let i = 0; i < pathList.length; i += 1) { if (!current) { return null } const prop = pathList[i] current = current[prop as keyof typeof current] as unknown as ValueType } return current as ValueType }