UNPKG

@datorama/akita

Version:

State Management Tailored-Made for JS Applications

44 lines 2.96 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; /** * \@internal * * \@example * setValue(state, 'todos.ui', { filter: {} }) * @param {?} obj * @param {?} prop * @param {?} val * @return {?} */ export function setValue(obj, prop, val) { /** @type {?} */ var split = prop.split('.'); if (split.length === 1) { return val; } obj = tslib_1.__assign({}, obj); /** @type {?} */ var lastIndex = split.length - 2; /** @type {?} */ var removeStoreName = prop.split('.').slice(1); removeStoreName.reduce((/** * @param {?} acc * @param {?} part * @param {?} index * @return {?} */ function (acc, part, index) { if (index === lastIndex) { acc[part] = val; } else { acc[part] = tslib_1.__assign({}, acc[part]); } return acc && acc[part]; }), obj); return obj; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0VmFsdWVCeVN0cmluZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9ha2l0YS8iLCJzb3VyY2VzIjpbInNyYy9zZXRWYWx1ZUJ5U3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQU1BLE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBUSxFQUFFLElBQVksRUFBRSxHQUFROztRQUNqRCxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFFN0IsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN0QixPQUFPLEdBQUcsQ0FBQztLQUNaO0lBRUQsR0FBRyx3QkFBUSxHQUFHLENBQUUsQ0FBQzs7UUFFWCxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDOztRQUM1QixlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBRWhELGVBQWUsQ0FBQyxNQUFNOzs7Ozs7SUFBQyxVQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSztRQUN0QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDdkIsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUNqQjthQUFNO1lBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyx3QkFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUUsQ0FBQztTQUM5QjtRQUVELE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7SUFFUixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICpcbiAqIEBleGFtcGxlXG4gKiBzZXRWYWx1ZShzdGF0ZSwgJ3RvZG9zLnVpJywgeyBmaWx0ZXI6IHt9IH0pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRWYWx1ZShvYmo6IGFueSwgcHJvcDogc3RyaW5nLCB2YWw6IGFueSkge1xuICBjb25zdCBzcGxpdCA9IHByb3Auc3BsaXQoJy4nKTtcblxuICBpZiAoc3BsaXQubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIHZhbDtcbiAgfVxuXG4gIG9iaiA9IHsgLi4ub2JqIH07XG5cbiAgY29uc3QgbGFzdEluZGV4ID0gc3BsaXQubGVuZ3RoIC0gMjtcbiAgY29uc3QgcmVtb3ZlU3RvcmVOYW1lID0gcHJvcC5zcGxpdCgnLicpLnNsaWNlKDEpO1xuXG4gIHJlbW92ZVN0b3JlTmFtZS5yZWR1Y2UoKGFjYywgcGFydCwgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IGxhc3RJbmRleCkge1xuICAgICAgYWNjW3BhcnRdID0gdmFsO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY2NbcGFydF0gPSB7IC4uLmFjY1twYXJ0XSB9O1xuICAgIH1cblxuICAgIHJldHVybiBhY2MgJiYgYWNjW3BhcnRdO1xuICB9LCBvYmopO1xuXG4gIHJldHVybiBvYmo7XG59XG4iXX0=