@loona/core
Version:
App State Management done with GraphQL (core package)
38 lines • 2.62 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import { Store } from './internal/store';
export class UpdateManager extends Store {
/**
* @param {?=} defs
*/
constructor(defs) {
super();
if (defs) {
this.add(defs);
}
}
/**
* @param {?} defs
* @return {?}
*/
add(defs) {
if (!Array.isArray(defs)) {
defs = [defs];
}
defs.forEach(def => {
/** @type {?} */
const all = this.get(def.mutation) || [];
all.push(def);
super.set(def.mutation, all);
});
}
/**
* @return {?}
*/
set() {
console.error('Use add() instead');
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGxvb25hL2NvcmUvIiwic291cmNlcyI6WyJ1cGRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUd2QyxNQUFNLE9BQU8sYUFBYyxTQUFRLEtBQWtCOzs7O0lBQ25ELFlBQVksSUFBa0I7UUFDNUIsS0FBSyxFQUFFLENBQUM7UUFFUixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEI7SUFDSCxDQUFDOzs7OztJQUVELEdBQUcsQ0FBQyxJQUE2QjtRQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QixJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNmO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTs7a0JBQ1gsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7WUFFeEMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVkLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxHQUFHO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3RvcmV9IGZyb20gJy4vaW50ZXJuYWwvc3RvcmUnO1xuaW1wb3J0IHtVcGRhdGVEZWZ9IGZyb20gJy4vdHlwZXMvdXBkYXRlJztcblxuZXhwb3J0IGNsYXNzIFVwZGF0ZU1hbmFnZXIgZXh0ZW5kcyBTdG9yZTxVcGRhdGVEZWZbXT4ge1xuICBjb25zdHJ1Y3RvcihkZWZzPzogVXBkYXRlRGVmW10pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKGRlZnMpIHtcbiAgICAgIHRoaXMuYWRkKGRlZnMpO1xuICAgIH1cbiAgfVxuXG4gIGFkZChkZWZzOiBVcGRhdGVEZWZbXSB8IFVwZGF0ZURlZik6IHZvaWQge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShkZWZzKSkge1xuICAgICAgZGVmcyA9IFtkZWZzXTtcbiAgICB9XG5cbiAgICBkZWZzLmZvckVhY2goZGVmID0+IHtcbiAgICAgIGNvbnN0IGFsbCA9IHRoaXMuZ2V0KGRlZi5tdXRhdGlvbikgfHwgW107XG5cbiAgICAgIGFsbC5wdXNoKGRlZik7XG5cbiAgICAgIHN1cGVyLnNldChkZWYubXV0YXRpb24sIGFsbCk7XG4gICAgfSk7XG4gIH1cblxuICBzZXQoKSB7XG4gICAgY29uc29sZS5lcnJvcignVXNlIGFkZCgpIGluc3RlYWQnKTtcbiAgfVxufVxuIl19