@angular-redux/store
Version:
Angular bindings for Redux
22 lines • 2.62 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
/**
* 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 var setIn = function (obj, _a, value) {
var _b = tslib_1.__read(_a), firstElem = _b[0], restElems = _b.slice(1);
var _c, _d;
return 'function' === typeof (obj[firstElem] || {}).setIn
? tslib_1.__assign({}, obj, (_c = {}, _c[firstElem] = obj[firstElem].setIn(restElems, value), _c)) : tslib_1.__assign({}, obj, (_d = {}, _d[firstElem] = restElems.length === 0
? value
: setIn(obj[firstElem] || {}, restElems, value), _d));
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWluLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFuZ3VsYXItcmVkdXgvc3RvcmUvIiwic291cmNlcyI6WyJ1dGlscy9zZXQtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQU9BLE1BQU0sS0FBTyxLQUFLLEdBQUcsVUFDbkIsR0FBUSxFQUNSLEVBQThDLEVBQzlDLEtBQVU7UUFEVix1QkFBOEMsRUFBN0MsaUJBQVMsRUFBRSx1QkFBWTs7SUFHeEIsT0FBQSxVQUFVLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLO1FBQ2hELENBQUMsc0JBQ00sR0FBRyxlQUNMLFNBQVMsSUFBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsT0FFdkQsQ0FBQyxzQkFDTSxHQUFHLGVBQ0wsU0FBUyxJQUNSLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUMsS0FBSztRQUNQLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQ3BEO0FBWEwsQ0FXSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2V0cyBhIGRlZXBseS1uZXN0ZWQgcHJvcGVydHkgdmFsdWUgZnJvbSBhbiBvYmplY3QsIGdpdmVuIGEgJ3BhdGgnXG4gKiBvZiBwcm9wZXJ0eSBuYW1lcyBvciBhcnJheSBpbmRpY2VzLiBQYXRoIGVsZW1lbnRzIGFyZSBjcmVhdGVkIGlmXG4gKiBub3QgdGhlcmUgYWxyZWFkeS4gRG9lcyBub3QgbXV0YXRlIHRoZSBnaXZlbiBvYmplY3QuXG4gKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgY29uc3Qgc2V0SW4gPSAoXG4gIG9iajogYW55LFxuICBbZmlyc3RFbGVtLCAuLi5yZXN0RWxlbXNdOiAoc3RyaW5nIHwgbnVtYmVyKVtdLFxuICB2YWx1ZTogYW55LFxuKTogb2JqZWN0ID0+XG4gICdmdW5jdGlvbicgPT09IHR5cGVvZiAob2JqW2ZpcnN0RWxlbV0gfHwge30pLnNldEluXG4gICAgPyB7XG4gICAgICAgIC4uLm9iaixcbiAgICAgICAgW2ZpcnN0RWxlbV06IG9ialtmaXJzdEVsZW1dLnNldEluKHJlc3RFbGVtcywgdmFsdWUpLFxuICAgICAgfVxuICAgIDoge1xuICAgICAgICAuLi5vYmosXG4gICAgICAgIFtmaXJzdEVsZW1dOlxuICAgICAgICAgIHJlc3RFbGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgID8gdmFsdWVcbiAgICAgICAgICAgIDogc2V0SW4ob2JqW2ZpcnN0RWxlbV0gfHwge30sIHJlc3RFbGVtcywgdmFsdWUpLFxuICAgICAgfTtcbiJdfQ==