UNPKG

@loona/core

Version:

App State Management done with GraphQL (core package)

58 lines 4.84 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { ensureMetadata } from './metadata'; import { getNameOfMutation, isMutation, mutationToType } from '../mutation'; import { isDocument } from '../helpers'; /** * @param {?} proto * @param {?} propName * @param {?} effects * @return {?} */ export function setEffectMetadata(proto, propName, effects) { var e_1, _a; /** @type {?} */ var constructor = proto.constructor; /** @type {?} */ var meta = ensureMetadata(constructor); try { for (var effects_1 = tslib_1.__values(effects), effects_1_1 = effects_1.next(); !effects_1_1.done; effects_1_1 = effects_1.next()) { var action = effects_1_1.value; /** @type {?} */ var type = undefined; if (typeof action === 'string') { type = action; } else if (isMutation(action)) { type = mutationToType(action); } else if (isDocument(action)) { type = getNameOfMutation(action); } else if (typeof action.type === 'string') { type = action.type; } if (!type) { throw new Error("Loona couldn't figure out the type of the action"); } if (!meta.effects[type]) { meta.effects[type] = []; } meta.effects[type].push({ propName: propName, type: type, }); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (effects_1_1 && !effects_1_1.done && (_a = effects_1.return)) _a.call(effects_1); } finally { if (e_1) throw e_1.error; } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGxvb25hL2NvcmUvIiwic291cmNlcyI6WyJtZXRhZGF0YS9lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBRTFDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQzFFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7QUFFdEMsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixLQUFVLEVBQ1YsUUFBZ0IsRUFDaEIsT0FBb0I7OztRQUVkLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVzs7UUFDL0IsSUFBSSxHQUFHLGNBQWMsQ0FBQyxXQUFXLENBQUM7O1FBRXhDLEtBQXFCLElBQUEsWUFBQSxpQkFBQSxPQUFPLENBQUEsZ0NBQUEscURBQUU7WUFBekIsSUFBTSxNQUFNLG9CQUFBOztnQkFDWCxJQUFJLEdBQXVCLFNBQVM7WUFFeEMsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7Z0JBQzlCLElBQUksR0FBRyxNQUFNLENBQUM7YUFDZjtpQkFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDN0IsSUFBSSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMvQjtpQkFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDN0IsSUFBSSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2xDO2lCQUFNLElBQUksT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDMUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7YUFDcEI7WUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQzthQUNyRTtZQUVELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUN6QjtZQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUN0QixRQUFRLFVBQUE7Z0JBQ1IsSUFBSSxNQUFBO2FBQ0wsQ0FBQyxDQUFDO1NBQ0o7Ozs7Ozs7OztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Vuc3VyZU1ldGFkYXRhfSBmcm9tICcuL21ldGFkYXRhJztcbmltcG9ydCB7RWZmZWN0RGVmfSBmcm9tICcuLi90eXBlcy9lZmZlY3QnO1xuaW1wb3J0IHtnZXROYW1lT2ZNdXRhdGlvbiwgaXNNdXRhdGlvbiwgbXV0YXRpb25Ub1R5cGV9IGZyb20gJy4uL211dGF0aW9uJztcbmltcG9ydCB7aXNEb2N1bWVudH0gZnJvbSAnLi4vaGVscGVycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRFZmZlY3RNZXRhZGF0YShcbiAgcHJvdG86IGFueSxcbiAgcHJvcE5hbWU6IHN0cmluZyxcbiAgZWZmZWN0czogRWZmZWN0RGVmW10sXG4pIHtcbiAgY29uc3QgY29uc3RydWN0b3IgPSBwcm90by5jb25zdHJ1Y3RvcjtcbiAgY29uc3QgbWV0YSA9IGVuc3VyZU1ldGFkYXRhKGNvbnN0cnVjdG9yKTtcblxuICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBlZmZlY3RzKSB7XG4gICAgbGV0IHR5cGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgIGlmICh0eXBlb2YgYWN0aW9uID09PSAnc3RyaW5nJykge1xuICAgICAgdHlwZSA9IGFjdGlvbjtcbiAgICB9IGVsc2UgaWYgKGlzTXV0YXRpb24oYWN0aW9uKSkge1xuICAgICAgdHlwZSA9IG11dGF0aW9uVG9UeXBlKGFjdGlvbik7XG4gICAgfSBlbHNlIGlmIChpc0RvY3VtZW50KGFjdGlvbikpIHtcbiAgICAgIHR5cGUgPSBnZXROYW1lT2ZNdXRhdGlvbihhY3Rpb24pO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGFjdGlvbi50eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgdHlwZSA9IGFjdGlvbi50eXBlO1xuICAgIH1cblxuICAgIGlmICghdHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBMb29uYSBjb3VsZG4ndCBmaWd1cmUgb3V0IHRoZSB0eXBlIG9mIHRoZSBhY3Rpb25gKTtcbiAgICB9XG5cbiAgICBpZiAoIW1ldGEuZWZmZWN0c1t0eXBlXSkge1xuICAgICAgbWV0YS5lZmZlY3RzW3R5cGVdID0gW107XG4gICAgfVxuXG4gICAgbWV0YS5lZmZlY3RzW3R5cGVdLnB1c2goe1xuICAgICAgcHJvcE5hbWUsXG4gICAgICB0eXBlLFxuICAgIH0pO1xuICB9XG59XG4iXX0=