UNPKG

@e-group/utils

Version:

eGroup team utils that share across projects.

39 lines (31 loc) 803 B
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getIn; var _lodash = _interopRequireDefault(require("lodash.clonedeep")); /** * get value in object */ function getIn(obj, paths, defaultValue) { let copy = obj; let result; for (let i = 0; i < paths.length; i++) { const key = paths[i]; if (i === paths.length - 1) { if (copy[key] != null) { result = (0, _lodash.default)(copy[key]); } else { result = (0, _lodash.default)(defaultValue); } } else { if (copy[key] == null) { result = (0, _lodash.default)(defaultValue); break; } copy = copy[key]; } } return result; }