@angular-redux/store
Version:
Angular bindings for Redux
17 lines • 2.46 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Sets a deeply-nested property value from an object, given a 'path'
* of property names or array indices. Path elements are created if
* not there already. Does not mutate the given object.
*
* @hidden
* @type {?}
*/
export const setIn = (obj, [firstElem, ...restElems], value) => 'function' === typeof (obj[firstElem] || {}).setIn
? Object.assign({}, obj, { [firstElem]: obj[firstElem].setIn(restElems, value) }) : Object.assign({}, obj, { [firstElem]: restElems.length === 0
? value
: setIn(obj[firstElem] || {}, restElems, value) });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWluLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFuZ3VsYXItcmVkdXgvc3RvcmUvIiwic291cmNlcyI6WyJ1dGlscy9zZXQtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBT0EsTUFBTSxPQUFPLEtBQUssR0FBRyxDQUNuQixHQUFRLEVBQ1IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxTQUFTLENBQXNCLEVBQzlDLEtBQVUsRUFDRixFQUFFLENBQ1YsVUFBVSxLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSztJQUNoRCxDQUFDLG1CQUNNLEdBQUcsSUFDTixDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUV2RCxDQUFDLG1CQUNNLEdBQUcsSUFDTixDQUFDLFNBQVMsQ0FBQyxFQUNULFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUMsS0FBSztRQUNQLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLEdBQ3BEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTZXRzIGEgZGVlcGx5LW5lc3RlZCBwcm9wZXJ0eSB2YWx1ZSBmcm9tIGFuIG9iamVjdCwgZ2l2ZW4gYSAncGF0aCdcbiAqIG9mIHByb3BlcnR5IG5hbWVzIG9yIGFycmF5IGluZGljZXMuIFBhdGggZWxlbWVudHMgYXJlIGNyZWF0ZWQgaWZcbiAqIG5vdCB0aGVyZSBhbHJlYWR5LiBEb2VzIG5vdCBtdXRhdGUgdGhlIGdpdmVuIG9iamVjdC5cbiAqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRJbiA9IChcbiAgb2JqOiBhbnksXG4gIFtmaXJzdEVsZW0sIC4uLnJlc3RFbGVtc106IChzdHJpbmcgfCBudW1iZXIpW10sXG4gIHZhbHVlOiBhbnksXG4pOiBvYmplY3QgPT5cbiAgJ2Z1bmN0aW9uJyA9PT0gdHlwZW9mIChvYmpbZmlyc3RFbGVtXSB8fCB7fSkuc2V0SW5cbiAgICA/IHtcbiAgICAgICAgLi4ub2JqLFxuICAgICAgICBbZmlyc3RFbGVtXTogb2JqW2ZpcnN0RWxlbV0uc2V0SW4ocmVzdEVsZW1zLCB2YWx1ZSksXG4gICAgICB9XG4gICAgOiB7XG4gICAgICAgIC4uLm9iaixcbiAgICAgICAgW2ZpcnN0RWxlbV06XG4gICAgICAgICAgcmVzdEVsZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgICAgOiBzZXRJbihvYmpbZmlyc3RFbGVtXSB8fCB7fSwgcmVzdEVsZW1zLCB2YWx1ZSksXG4gICAgICB9O1xuIl19