UNPKG

@loona/core

Version:

App State Management done with GraphQL (core package)

73 lines 7.61 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ import { MutationManager } from './mutation'; import { UpdateManager } from './update'; import { ResolversManager } from './resolvers'; import { transformMutations } from './metadata/mutation'; import { transformUpdates } from './metadata/update'; import { transformResolvers } from './metadata/resolve'; export class Manager { /** * @param {?} options */ constructor(options) { this.getClient = () => { throw new Error('Manager requires ApolloClient'); }; this.cache = options.cache; this.defaults = options.defaults; this.typeDefs = options.typeDefs; this.resolvers = new ResolversManager(options.resolvers); this.updates = new UpdateManager(options.updates); this.mutations = new MutationManager(options.mutations); if (options.getClient) { this.getClient = options.getClient; } } /** * @param {?} instance * @param {?} meta * @param {?=} transformFn * @return {?} */ addState(instance, meta, transformFn) { this.mutations.add(transformMutations(instance, meta, transformFn)); this.updates.add(transformUpdates(instance, meta, transformFn) || []); this.resolvers.add(transformResolvers(instance, meta, transformFn) || []); if (meta.defaults) { this.cache.writeData({ data: meta.defaults, }); } if (meta.typeDefs) { if (!this.typeDefs) { this.typeDefs = []; } if (typeof this.typeDefs === 'string') { this.typeDefs = [this.typeDefs]; } this.typeDefs.push(...(typeof meta.typeDefs === 'string' ? [meta.typeDefs] : meta.typeDefs)); } } } if (false) { /** @type {?} */ Manager.prototype.cache; /** @type {?} */ Manager.prototype.mutations; /** @type {?} */ Manager.prototype.updates; /** @type {?} */ Manager.prototype.resolvers; /** @type {?} */ Manager.prototype.defaults; /** @type {?} */ Manager.prototype.typeDefs; /** @type {?} */ Manager.prototype.getClient; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bsb29uYS9jb3JlLyIsInNvdXJjZXMiOlsibWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUc3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxNQUFNLE9BQU8sT0FBTzs7OztJQVdsQixZQUFZLE9BQWdCO1FBSjVCLGNBQVMsR0FBb0MsR0FBRyxFQUFFO1lBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUM7UUFHQSxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXhELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7U0FDcEM7SUFDSCxDQUFDOzs7Ozs7O0lBRUQsUUFBUSxDQUNOLFFBQWEsRUFDYixJQUFjLEVBQ2QsV0FBc0M7UUFFdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUxRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7Z0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTthQUNwQixDQUFDLENBQUM7U0FDSjtRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7YUFDcEI7WUFFRCxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDakM7WUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRO2dCQUNuQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUNqQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUNuQixDQUFDO1NBQ0g7SUFDSCxDQUFDO0NBQ0Y7OztJQXREQyx3QkFBd0I7O0lBQ3hCLDRCQUEyQjs7SUFDM0IsMEJBQXVCOztJQUN2Qiw0QkFBNEI7O0lBQzVCLDJCQUFjOztJQUNkLDJCQUF3Qzs7SUFDeEMsNEJBRUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fwb2xsb0NsaWVudH0gZnJvbSAnYXBvbGxvLWNsaWVudCc7XG5pbXBvcnQge0Fwb2xsb0NhY2hlfSBmcm9tICdhcG9sbG8tY2FjaGUnO1xuXG5pbXBvcnQge011dGF0aW9uTWFuYWdlcn0gZnJvbSAnLi9tdXRhdGlvbic7XG5pbXBvcnQge1VwZGF0ZU1hbmFnZXJ9IGZyb20gJy4vdXBkYXRlJztcbmltcG9ydCB7UmVzb2x2ZXJzTWFuYWdlcn0gZnJvbSAnLi9yZXNvbHZlcnMnO1xuaW1wb3J0IHtPcHRpb25zfSBmcm9tICcuL3R5cGVzL29wdGlvbnMnO1xuaW1wb3J0IHtNZXRhZGF0YX0gZnJvbSAnLi90eXBlcy9tZXRhZGF0YSc7XG5pbXBvcnQge3RyYW5zZm9ybU11dGF0aW9uc30gZnJvbSAnLi9tZXRhZGF0YS9tdXRhdGlvbic7XG5pbXBvcnQge3RyYW5zZm9ybVVwZGF0ZXN9IGZyb20gJy4vbWV0YWRhdGEvdXBkYXRlJztcbmltcG9ydCB7dHJhbnNmb3JtUmVzb2x2ZXJzfSBmcm9tICcuL21ldGFkYXRhL3Jlc29sdmUnO1xuXG5leHBvcnQgY2xhc3MgTWFuYWdlciB7XG4gIGNhY2hlOiBBcG9sbG9DYWNoZTxhbnk+O1xuICBtdXRhdGlvbnM6IE11dGF0aW9uTWFuYWdlcjtcbiAgdXBkYXRlczogVXBkYXRlTWFuYWdlcjtcbiAgcmVzb2x2ZXJzOiBSZXNvbHZlcnNNYW5hZ2VyO1xuICBkZWZhdWx0czogYW55O1xuICB0eXBlRGVmczogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gIGdldENsaWVudDogKCkgPT4gQXBvbGxvQ2xpZW50PGFueT4gfCBuZXZlciA9ICgpID0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01hbmFnZXIgcmVxdWlyZXMgQXBvbGxvQ2xpZW50Jyk7XG4gIH07XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogT3B0aW9ucykge1xuICAgIHRoaXMuY2FjaGUgPSBvcHRpb25zLmNhY2hlO1xuICAgIHRoaXMuZGVmYXVsdHMgPSBvcHRpb25zLmRlZmF1bHRzO1xuICAgIHRoaXMudHlwZURlZnMgPSBvcHRpb25zLnR5cGVEZWZzO1xuICAgIHRoaXMucmVzb2x2ZXJzID0gbmV3IFJlc29sdmVyc01hbmFnZXIob3B0aW9ucy5yZXNvbHZlcnMpO1xuICAgIHRoaXMudXBkYXRlcyA9IG5ldyBVcGRhdGVNYW5hZ2VyKG9wdGlvbnMudXBkYXRlcyk7XG4gICAgdGhpcy5tdXRhdGlvbnMgPSBuZXcgTXV0YXRpb25NYW5hZ2VyKG9wdGlvbnMubXV0YXRpb25zKTtcblxuICAgIGlmIChvcHRpb25zLmdldENsaWVudCkge1xuICAgICAgdGhpcy5nZXRDbGllbnQgPSBvcHRpb25zLmdldENsaWVudDtcbiAgICB9XG4gIH1cblxuICBhZGRTdGF0ZShcbiAgICBpbnN0YW5jZTogYW55LFxuICAgIG1ldGE6IE1ldGFkYXRhLFxuICAgIHRyYW5zZm9ybUZuPzogKChyZXNvbHZlcjogYW55KSA9PiBhbnkpLFxuICApIHtcbiAgICB0aGlzLm11dGF0aW9ucy5hZGQodHJhbnNmb3JtTXV0YXRpb25zKGluc3RhbmNlLCBtZXRhLCB0cmFuc2Zvcm1GbikpO1xuICAgIHRoaXMudXBkYXRlcy5hZGQodHJhbnNmb3JtVXBkYXRlcyhpbnN0YW5jZSwgbWV0YSwgdHJhbnNmb3JtRm4pIHx8IFtdKTtcbiAgICB0aGlzLnJlc29sdmVycy5hZGQodHJhbnNmb3JtUmVzb2x2ZXJzKGluc3RhbmNlLCBtZXRhLCB0cmFuc2Zvcm1GbikgfHwgW10pO1xuXG4gICAgaWYgKG1ldGEuZGVmYXVsdHMpIHtcbiAgICAgIHRoaXMuY2FjaGUud3JpdGVEYXRhKHtcbiAgICAgICAgZGF0YTogbWV0YS5kZWZhdWx0cyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChtZXRhLnR5cGVEZWZzKSB7XG4gICAgICBpZiAoIXRoaXMudHlwZURlZnMpIHtcbiAgICAgICAgdGhpcy50eXBlRGVmcyA9IFtdO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHRoaXMudHlwZURlZnMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMudHlwZURlZnMgPSBbdGhpcy50eXBlRGVmc107XG4gICAgICB9XG5cbiAgICAgIHRoaXMudHlwZURlZnMucHVzaChcbiAgICAgICAgLi4uKHR5cGVvZiBtZXRhLnR5cGVEZWZzID09PSAnc3RyaW5nJ1xuICAgICAgICAgID8gW21ldGEudHlwZURlZnNdXG4gICAgICAgICAgOiBtZXRhLnR5cGVEZWZzKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=