UNPKG

@apollo-orbit/angular

Version:

A fully-featured GraphQL client for Angular with modular state management.

41 lines 6.67 kB
import { Injectable } from '@angular/core'; import { Apollo as ApolloBase } from '@apollo-orbit/angular/core'; import { resolveDispatchResults } from '@apollo-orbit/core'; import { Subject, from } from 'rxjs'; import { tap } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "@apollo/client/core"; import * as i2 from "@apollo-orbit/core"; export class Apollo extends ApolloBase { actions; manager; _actions; constructor(client, manager, defaultOptions) { super(client, defaultOptions); this.manager = manager; this._actions = new Subject(); this.actions = this._actions.asObservable(); } mutate(options) { const { manager } = this; return super.mutate(manager.wrapMutationOptions(options)).pipe(tap({ next: result => manager.runEffects(options, result, undefined), error: error => manager.runEffects(options, undefined, error) })); } dispatch(action) { this._actions.next({ action, status: 'dispatched' }); return from(this.manager .dispatch({ cache: this.cache, dispatch: this.dispatch.bind(this) }, action) .then(results => { results.forEach(result => this._actions.next(result)); return resolveDispatchResults(results); })); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: Apollo, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: Apollo }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: Apollo, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.ApolloClient }, { type: i2.MutationManager }, { type: undefined }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBvbGxvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VmZmVjdHMvYXBvbGxvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sSUFBSSxVQUFVLEVBQWtDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEcsT0FBTyxFQUEyQyxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJHLE9BQU8sRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUlyQyxNQUFNLE9BQU8sTUFBMEIsU0FBUSxVQUF1QjtJQUNwRCxPQUFPLENBQThCO0lBRXBDLE9BQU8sQ0FBa0I7SUFDekIsUUFBUSxDQUEyQjtJQUVwRCxZQUFtQixNQUFpQyxFQUFFLE9BQXdCLEVBQUUsY0FBK0I7UUFDN0csS0FBSyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU0sTUFBTSxDQUEyQyxPQUE4QjtRQUNwRixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBTyxPQUFPLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3ZFLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQU8sT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7WUFDcEUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBTyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQztTQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTSxRQUFRLENBQTBDLE1BQWU7UUFDdEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLE9BQU87YUFDVCxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUM7YUFDM0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDdEQsT0FBTyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ0osQ0FBQzt1R0EvQlUsTUFBTTsyR0FBTixNQUFNOzsyRkFBTixNQUFNO2tCQURsQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcG9sbG8gYXMgQXBvbGxvQmFzZSwgRGVmYXVsdE9wdGlvbnMsIE11dGF0aW9uUmVzdWx0IH0gZnJvbSAnQGFwb2xsby1vcmJpdC9hbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3Rpb24sIEFjdGlvbkluc3RhbmNlLCBNdXRhdGlvbk1hbmFnZXIsIHJlc29sdmVEaXNwYXRjaFJlc3VsdHMgfSBmcm9tICdAYXBvbGxvLW9yYml0L2NvcmUnO1xyXG5pbXBvcnQgeyBBcG9sbG9DbGllbnQsIE11dGF0aW9uT3B0aW9ucywgT3BlcmF0aW9uVmFyaWFibGVzIGFzIFZhcmlhYmxlcyB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQWN0aW9uRXhlY3V0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFwb2xsbzxUQ2FjaGVTaGFwZSA9IGFueT4gZXh0ZW5kcyBBcG9sbG9CYXNlPFRDYWNoZVNoYXBlPiB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGFjdGlvbnM6IE9ic2VydmFibGU8QWN0aW9uRXhlY3V0aW9uPjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBtYW5hZ2VyOiBNdXRhdGlvbk1hbmFnZXI7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aW9uczogU3ViamVjdDxBY3Rpb25FeGVjdXRpb24+O1xyXG5cclxuICBwdWJsaWMgY29uc3RydWN0b3IoY2xpZW50OiBBcG9sbG9DbGllbnQ8VENhY2hlU2hhcGU+LCBtYW5hZ2VyOiBNdXRhdGlvbk1hbmFnZXIsIGRlZmF1bHRPcHRpb25zPzogRGVmYXVsdE9wdGlvbnMpIHtcclxuICAgIHN1cGVyKGNsaWVudCwgZGVmYXVsdE9wdGlvbnMpO1xyXG4gICAgdGhpcy5tYW5hZ2VyID0gbWFuYWdlcjtcclxuICAgIHRoaXMuX2FjdGlvbnMgPSBuZXcgU3ViamVjdDxBY3Rpb25FeGVjdXRpb24+KCk7XHJcbiAgICB0aGlzLmFjdGlvbnMgPSB0aGlzLl9hY3Rpb25zLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG11dGF0ZTxUID0gYW55LCBWIGV4dGVuZHMgVmFyaWFibGVzID0gVmFyaWFibGVzPihvcHRpb25zOiBNdXRhdGlvbk9wdGlvbnM8VCwgVj4pOiBPYnNlcnZhYmxlPE11dGF0aW9uUmVzdWx0PFQ+PiB7XHJcbiAgICBjb25zdCB7IG1hbmFnZXIgfSA9IHRoaXM7XHJcbiAgICByZXR1cm4gc3VwZXIubXV0YXRlPFQsIFY+KG1hbmFnZXIud3JhcE11dGF0aW9uT3B0aW9ucyhvcHRpb25zKSkucGlwZSh0YXAoe1xyXG4gICAgICBuZXh0OiByZXN1bHQgPT4gbWFuYWdlci5ydW5FZmZlY3RzPFQsIFY+KG9wdGlvbnMsIHJlc3VsdCwgdW5kZWZpbmVkKSxcclxuICAgICAgZXJyb3I6IGVycm9yID0+IG1hbmFnZXIucnVuRWZmZWN0czxULCBWPihvcHRpb25zLCB1bmRlZmluZWQsIGVycm9yKVxyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc3BhdGNoPFRBY3Rpb24gZXh0ZW5kcyBBY3Rpb24gfCBBY3Rpb25JbnN0YW5jZT4oYWN0aW9uOiBUQWN0aW9uKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9hY3Rpb25zLm5leHQoeyBhY3Rpb24sIHN0YXR1czogJ2Rpc3BhdGNoZWQnIH0pO1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubWFuYWdlclxyXG4gICAgICAgIC5kaXNwYXRjaCh7IGNhY2hlOiB0aGlzLmNhY2hlLCBkaXNwYXRjaDogdGhpcy5kaXNwYXRjaC5iaW5kKHRoaXMpIH0sIGFjdGlvbilcclxuICAgICAgICAudGhlbihyZXN1bHRzID0+IHtcclxuICAgICAgICAgIHJlc3VsdHMuZm9yRWFjaChyZXN1bHQgPT4gdGhpcy5fYWN0aW9ucy5uZXh0KHJlc3VsdCkpO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc29sdmVEaXNwYXRjaFJlc3VsdHMocmVzdWx0cyk7XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==