nhb-toolbox
Version:
A versatile collection of smart, efficient, and reusable utility functions, classes and types for everyday development needs.
21 lines (20 loc) • 741 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports._resolveNestedKey = _resolveNestedKey;
exports._getNumericProp = _getNumericProp;
const non_primitives_1 = require("../guards/non-primitives");
const utilities_1 = require("../number/utilities");
function _resolveNestedKey(obj, path) {
if ((0, non_primitives_1.isNotEmptyObject)(obj)) {
return path?.split('.').reduce((acc, key) => {
if ((0, non_primitives_1.isNotEmptyObject)(acc)) {
return acc[key];
}
return undefined;
}, obj);
}
}
function _getNumericProp(obj, path) {
const value = _resolveNestedKey(obj, path);
return (0, utilities_1.normalizeNumber)(value) ?? 0;
}