UNPKG

@loona/core

Version:

App State Management done with GraphQL (core package)

60 lines 5.13 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { ApolloLink, } from 'apollo-link'; import { withClientState } from 'apollo-link-state'; import { Manager } from './manager'; import { createMutationSchema } from './internal/mutation'; import { createResolvers } from './internal/resolvers'; /** * @param {?} obj * @return {?} */ function isManager(obj) { return obj instanceof Manager; } var LoonaLink = /** @class */ (function (_super) { tslib_1.__extends(LoonaLink, _super); function LoonaLink(optionsOrManager) { var _this = _super.call(this) || this; if (isManager(optionsOrManager)) { _this.manager = optionsOrManager; } else { _this.manager = new Manager(optionsOrManager); } _this.stateLink = withClientState({ cache: _this.manager.cache, resolvers: function () { return tslib_1.__assign({ Mutation: createMutationSchema(_this.manager) }, createResolvers(_this.manager)); }, defaults: _this.manager.defaults, typeDefs: _this.manager.typeDefs, }); return _this; } /** * @param {?} operation * @param {?} forward * @return {?} */ LoonaLink.prototype.request = /** * @param {?} operation * @param {?} forward * @return {?} */ function (operation, forward) { return (/** @type {?} */ (this.stateLink.request(operation, forward))); }; return LoonaLink; }(ApolloLink)); export { LoonaLink }; if (false) { /** @type {?} */ LoonaLink.prototype.manager; /** @type {?} */ LoonaLink.prototype.stateLink; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bsb29uYS9jb3JlLyIsInNvdXJjZXMiOlsibGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxVQUFVLEdBS1gsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDbEMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7OztBQUdyRCxTQUFTLFNBQVMsQ0FBQyxHQUFRO0lBQ3pCLE9BQU8sR0FBRyxZQUFZLE9BQU8sQ0FBQztBQUNoQyxDQUFDO0FBRUQ7SUFBK0IscUNBQVU7SUFJdkMsbUJBQVksZ0JBQW1DO1FBQS9DLFlBQ0UsaUJBQU8sU0FtQlI7UUFqQkMsSUFBSSxTQUFTLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUMvQixLQUFJLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDO1NBQ2pDO2FBQU07WUFDTCxLQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDOUM7UUFFRCxLQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQztZQUMvQixLQUFLLEVBQUUsS0FBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQ3pCLFNBQVMsRUFBRTtnQkFDVCwwQkFDRSxRQUFRLEVBQUUsb0JBQW9CLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUN6QyxlQUFlLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxFQUNoQztZQUNKLENBQUM7WUFDRCxRQUFRLEVBQUUsS0FBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQy9CLFFBQVEsRUFBRSxLQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7U0FDaEMsQ0FBQyxDQUFDOztJQUNMLENBQUM7Ozs7OztJQUVNLDJCQUFPOzs7OztJQUFkLFVBQ0UsU0FBb0IsRUFDcEIsT0FBaUI7UUFFakIsT0FBTyxtQkFBQSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEVBRWhELENBQUM7SUFDSixDQUFDO0lBQ0gsZ0JBQUM7QUFBRCxDQUFDLEFBbENELENBQStCLFVBQVUsR0FrQ3hDOzs7O0lBakNDLDRCQUF3Qjs7SUFDeEIsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBvbGxvTGluayxcbiAgT3BlcmF0aW9uLFxuICBOZXh0TGluayxcbiAgT2JzZXJ2YWJsZSxcbiAgRmV0Y2hSZXN1bHQsXG59IGZyb20gJ2Fwb2xsby1saW5rJztcbmltcG9ydCB7d2l0aENsaWVudFN0YXRlfSBmcm9tICdhcG9sbG8tbGluay1zdGF0ZSc7XG5cbmltcG9ydCB7TWFuYWdlcn0gZnJvbSAnLi9tYW5hZ2VyJztcbmltcG9ydCB7Y3JlYXRlTXV0YXRpb25TY2hlbWF9IGZyb20gJy4vaW50ZXJuYWwvbXV0YXRpb24nO1xuaW1wb3J0IHtjcmVhdGVSZXNvbHZlcnN9IGZyb20gJy4vaW50ZXJuYWwvcmVzb2x2ZXJzJztcbmltcG9ydCB7T3B0aW9uc30gZnJvbSAnLi90eXBlcy9vcHRpb25zJztcblxuZnVuY3Rpb24gaXNNYW5hZ2VyKG9iajogYW55KTogb2JqIGlzIE1hbmFnZXIge1xuICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTWFuYWdlcjtcbn1cblxuZXhwb3J0IGNsYXNzIExvb25hTGluayBleHRlbmRzIEFwb2xsb0xpbmsge1xuICBwdWJsaWMgbWFuYWdlcjogTWFuYWdlcjtcbiAgcHJpdmF0ZSBzdGF0ZUxpbms6IEFwb2xsb0xpbms7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uc09yTWFuYWdlcjogT3B0aW9ucyB8IE1hbmFnZXIpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKGlzTWFuYWdlcihvcHRpb25zT3JNYW5hZ2VyKSkge1xuICAgICAgdGhpcy5tYW5hZ2VyID0gb3B0aW9uc09yTWFuYWdlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYW5hZ2VyID0gbmV3IE1hbmFnZXIob3B0aW9uc09yTWFuYWdlcik7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZUxpbmsgPSB3aXRoQ2xpZW50U3RhdGUoe1xuICAgICAgY2FjaGU6IHRoaXMubWFuYWdlci5jYWNoZSxcbiAgICAgIHJlc29sdmVyczogKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIE11dGF0aW9uOiBjcmVhdGVNdXRhdGlvblNjaGVtYSh0aGlzLm1hbmFnZXIpLFxuICAgICAgICAgIC4uLmNyZWF0ZVJlc29sdmVycyh0aGlzLm1hbmFnZXIpLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIGRlZmF1bHRzOiB0aGlzLm1hbmFnZXIuZGVmYXVsdHMsXG4gICAgICB0eXBlRGVmczogdGhpcy5tYW5hZ2VyLnR5cGVEZWZzLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3QoXG4gICAgb3BlcmF0aW9uOiBPcGVyYXRpb24sXG4gICAgZm9yd2FyZDogTmV4dExpbmssXG4gICk6IE9ic2VydmFibGU8RmV0Y2hSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZUxpbmsucmVxdWVzdChvcGVyYXRpb24sIGZvcndhcmQpIGFzIE9ic2VydmFibGU8XG4gICAgICBGZXRjaFJlc3VsdFxuICAgID47XG4gIH1cbn1cbiJdfQ==