nhb-toolbox
Version:
A versatile collection of smart, efficient, and reusable utility functions, classes and types for everyday development needs.
17 lines (16 loc) • 535 B
JavaScript
import { isNotEmptyObject } from '../guards/non-primitives.js';
import { normalizeNumber } from '../number/utilities.js';
export function _resolveNestedKey(obj, path) {
if (isNotEmptyObject(obj)) {
return path?.split('.').reduce((acc, key) => {
if (isNotEmptyObject(acc)) {
return acc[key];
}
return undefined;
}, obj);
}
}
export function _getNumericProp(obj, path) {
const value = _resolveNestedKey(obj, path);
return normalizeNumber(value) ?? 0;
}