@onesy/utils
Version:
26 lines (25 loc) • 1.05 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getObjectPropertyValue = void 0;
const is_1 = __importDefault(require("./is"));
const castParam_1 = __importDefault(require("./castParam"));
const getObjectPropertyValue = (object, keys) => {
if (!object || !keys)
return;
if ((0, is_1.default)('string', keys)) {
const keys_ = keys.split('.').filter(Boolean).map(key => (0, castParam_1.default)(key));
return (0, exports.getObjectPropertyValue)(object, keys_);
}
if ((0, is_1.default)('array', keys)) {
const key = keys[0];
if (keys.length === 1)
return object[key];
if (object.hasOwnProperty(key))
return (0, exports.getObjectPropertyValue)(object[key], keys.slice(1));
}
};
exports.getObjectPropertyValue = getObjectPropertyValue;
exports.default = exports.getObjectPropertyValue;
;