UNPKG

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
"use strict"; 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; }