UNPKG

@loona/core

Version:

App State Management done with GraphQL (core package)

40 lines 3.21 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ import { ensureMetadata } from './metadata'; /** * @param {?} proto * @param {?} propName * @param {?} mutation * @return {?} */ export function setUpdateMetadata(proto, propName, mutation) { /** @type {?} */ var constructor = proto.constructor; /** @type {?} */ var meta = ensureMetadata(constructor); meta.updates.push({ propName: propName, mutation: mutation, }); } /** * @param {?} instance * @param {?} meta * @param {?=} transformFn * @return {?} */ export function transformUpdates(instance, meta, transformFn) { if (transformFn === void 0) { transformFn = function (resolver) { return resolver; }; } if (meta.updates) { return meta.updates.map(function (_a) { var propName = _a.propName, mutation = _a.mutation; return ({ mutation: mutation, resolve: transformFn(instance[propName].bind(instance)), }); }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGxvb25hL2NvcmUvIiwic291cmNlcyI6WyJtZXRhZGF0YS91cGRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7QUFFMUMsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixLQUFVLEVBQ1YsUUFBZ0IsRUFDaEIsUUFBZ0I7O1FBRVYsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXOztRQUMvQixJQUFJLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQztJQUV4QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUNoQixRQUFRLFVBQUE7UUFDUixRQUFRLFVBQUE7S0FDVCxDQUFDLENBQUM7QUFDTCxDQUFDOzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixRQUFhLEVBQ2IsSUFBYyxFQUNkLFdBQXdFO0lBQXhFLDRCQUFBLEVBQUEsd0JBQW9ELFFBQVEsSUFBSSxPQUFBLFFBQVEsRUFBUixDQUFRO0lBRXhFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQUMsRUFBb0I7Z0JBQW5CLHNCQUFRLEVBQUUsc0JBQVE7WUFBTSxPQUFBLENBQUM7Z0JBQ2pELFFBQVEsVUFBQTtnQkFDUixPQUFPLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDeEQsQ0FBQztRQUhnRCxDQUdoRCxDQUFDLENBQUM7S0FDTDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1VwZGF0ZURlZiwgVXBkYXRlUmVzb2x2ZUZufSBmcm9tICcuLi90eXBlcy91cGRhdGUnO1xuaW1wb3J0IHtNZXRhZGF0YX0gZnJvbSAnLi4vdHlwZXMvbWV0YWRhdGEnO1xuaW1wb3J0IHtlbnN1cmVNZXRhZGF0YX0gZnJvbSAnLi9tZXRhZGF0YSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRVcGRhdGVNZXRhZGF0YShcbiAgcHJvdG86IGFueSxcbiAgcHJvcE5hbWU6IHN0cmluZyxcbiAgbXV0YXRpb246IHN0cmluZyxcbikge1xuICBjb25zdCBjb25zdHJ1Y3RvciA9IHByb3RvLmNvbnN0cnVjdG9yO1xuICBjb25zdCBtZXRhID0gZW5zdXJlTWV0YWRhdGEoY29uc3RydWN0b3IpO1xuXG4gIG1ldGEudXBkYXRlcy5wdXNoKHtcbiAgICBwcm9wTmFtZSxcbiAgICBtdXRhdGlvbixcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VcGRhdGVzKFxuICBpbnN0YW5jZTogYW55LFxuICBtZXRhOiBNZXRhZGF0YSxcbiAgdHJhbnNmb3JtRm46ICgocmVzb2x2ZXI6IGFueSkgPT4gVXBkYXRlUmVzb2x2ZUZuKSA9IHJlc29sdmVyID0+IHJlc29sdmVyLFxuKTogVXBkYXRlRGVmW10gfCB1bmRlZmluZWQge1xuICBpZiAobWV0YS51cGRhdGVzKSB7XG4gICAgcmV0dXJuIG1ldGEudXBkYXRlcy5tYXAoKHtwcm9wTmFtZSwgbXV0YXRpb259KSA9PiAoe1xuICAgICAgbXV0YXRpb24sXG4gICAgICByZXNvbHZlOiB0cmFuc2Zvcm1GbihpbnN0YW5jZVtwcm9wTmFtZV0uYmluZChpbnN0YW5jZSkpLFxuICAgIH0pKTtcbiAgfVxufVxuIl19