UNPKG

@loona/core

Version:

App State Management done with GraphQL (core package)

38 lines 2.62 kB
/** * @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