UNPKG

@crpt/react-utils

Version:

A useful kit for daily using

28 lines (21 loc) 732 B
import { get, isEmpty } from 'lodash'; /** * @param {Object} target * @param {String|Function} accessor * @param {*} ...args */ var getPropWith = function getPropWith(target, accessor) { for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } var currArgs = isEmpty(args) ? [target] : args; if (typeof accessor === 'function') { return accessor.apply(undefined, currArgs); } if (typeof accessor === 'string') { var currAccessor = get(target, accessor); return typeof currAccessor === 'function' ? currAccessor.apply(undefined, currArgs) : currAccessor; } return undefined; }; export default getPropWith;