@apollo-orbit/angular
Version:
A fully-featured GraphQL client for Angular with modular state management.
41 lines • 6.67 kB
JavaScript
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==