UNPKG

@yookue/ts-lang-utils

Version:

Common lang utilities for typescript

22 lines 856 B
import _typeof from "@babel/runtime/helpers/esm/typeof"; export function getProp(object, prop, defaultValue) { var _props$reduce; if (_typeof(object) !== 'object' || !prop) { return defaultValue; } if (!prop.includes('.')) { var _object$prop; return (_object$prop = object[prop]) !== null && _object$prop !== void 0 ? _object$prop : defaultValue; } var props = prop.replace(/\[/g, '.').replace(/]/g, '').split('.'); if (!props || !props.length) { return defaultValue; } if (props.length === 1) { var _object$props$; return (_object$props$ = object[props[0]]) !== null && _object$props$ !== void 0 ? _object$props$ : defaultValue; } return (_props$reduce = props.reduce(function (value, name) { return (value || {})[name]; }, object)) !== null && _props$reduce !== void 0 ? _props$reduce : defaultValue; }