UNPKG

apollo-angular

Version:

Use your GraphQL data in your Angular app, with the Apollo Client

90 lines 11.2 kB
import { ApolloModule } from 'apollo-angular'; import { ApolloLink, InMemoryCache, } from '@apollo/client/core'; import { NgModule, InjectionToken, Inject, Optional } from '@angular/core'; import { ApolloTestingController } from './controller'; import { ApolloTestingBackend } from './backend'; import * as i0 from "@angular/core"; import * as i1 from "apollo-angular"; import * as i2 from "./backend"; import * as i3 from "@apollo/client/core"; export const APOLLO_TESTING_CACHE = new InjectionToken('apollo-angular/testing cache'); export const APOLLO_TESTING_NAMED_CACHE = new InjectionToken('apollo-angular/testing named cache'); export const APOLLO_TESTING_CLIENTS = new InjectionToken('apollo-angular/testing named clients'); function addClient(name, op) { op.clientName = name; return op; } export class ApolloTestingModuleCore { constructor(apollo, backend, namedClients, cache, namedCaches) { function createOptions(name, c) { return { link: new ApolloLink((operation) => backend.handle(addClient(name, operation))), cache: c || new InMemoryCache({ addTypename: false, }), }; } apollo.create(createOptions('default', cache)); if (namedClients && namedClients.length) { namedClients.forEach((name) => { const caches = namedCaches && typeof namedCaches === 'object' ? namedCaches : {}; apollo.createNamed(name, createOptions(name, caches[name])); }); } } } ApolloTestingModuleCore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ApolloTestingModuleCore, deps: [{ token: i1.Apollo }, { token: i2.ApolloTestingBackend }, { token: APOLLO_TESTING_CLIENTS, optional: true }, { token: APOLLO_TESTING_CACHE, optional: true }, { token: APOLLO_TESTING_NAMED_CACHE, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); ApolloTestingModuleCore.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: ApolloTestingModuleCore, imports: [ApolloModule] }); ApolloTestingModuleCore.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ApolloTestingModuleCore, providers: [ ApolloTestingBackend, { provide: ApolloTestingController, useExisting: ApolloTestingBackend }, ], imports: [ApolloModule] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ApolloTestingModuleCore, decorators: [{ type: NgModule, args: [{ imports: [ApolloModule], providers: [ ApolloTestingBackend, { provide: ApolloTestingController, useExisting: ApolloTestingBackend }, ], }] }], ctorParameters: function () { return [{ type: i1.Apollo }, { type: i2.ApolloTestingBackend }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APOLLO_TESTING_CLIENTS] }] }, { type: i3.ApolloCache, decorators: [{ type: Optional }, { type: Inject, args: [APOLLO_TESTING_CACHE] }] }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APOLLO_TESTING_NAMED_CACHE] }] }]; } }); export class ApolloTestingModule { static withClients(names) { return { ngModule: ApolloTestingModuleCore, providers: [ { provide: APOLLO_TESTING_CLIENTS, useValue: names, }, ], }; } } ApolloTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ApolloTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); ApolloTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: ApolloTestingModule, imports: [ApolloTestingModuleCore] }); ApolloTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ApolloTestingModule, imports: [ApolloTestingModuleCore] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ApolloTestingModule, decorators: [{ type: NgModule, args: [{ imports: [ApolloTestingModuleCore], }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdGluZy9zcmMvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsVUFBVSxFQUVWLGFBQWEsR0FFZCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFLL0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQ3BELDhCQUE4QixDQUMvQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQzFELG9DQUFvQyxDQUNyQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3RELHNDQUFzQyxDQUN2QyxDQUFDO0FBRUYsU0FBUyxTQUFTLENBQUMsSUFBWSxFQUFFLEVBQWlCO0lBQy9DLEVBQWdCLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUVwQyxPQUFPLEVBQWUsQ0FBQztBQUN6QixDQUFDO0FBU0QsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUNFLE1BQWMsRUFDZCxPQUE2QixFQUc3QixZQUF1QixFQUd2QixLQUF3QixFQUd4QixXQUFpQjtRQUVqQixTQUFTLGFBQWEsQ0FBQyxJQUFZLEVBQUUsQ0FBMkI7WUFDOUQsT0FBTztnQkFDTCxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUNqQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FDM0M7Z0JBQ0QsS0FBSyxFQUNILENBQUM7b0JBQ0QsSUFBSSxhQUFhLENBQUM7d0JBQ2hCLFdBQVcsRUFBRSxLQUFLO3FCQUNuQixDQUFDO2FBQ0wsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUUvQyxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDNUIsTUFBTSxNQUFNLEdBQ1YsV0FBVyxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBRXBFLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7b0hBckNVLHVCQUF1Qiw0RUFLeEIsc0JBQXNCLDZCQUd0QixvQkFBb0IsNkJBR3BCLDBCQUEwQjtxSEFYekIsdUJBQXVCLFlBTnhCLFlBQVk7cUhBTVgsdUJBQXVCLGFBTHZCO1FBQ1Qsb0JBQW9CO1FBQ3BCLEVBQUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBQztLQUN0RSxZQUpTLFlBQVk7MkZBTVgsdUJBQXVCO2tCQVBuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsU0FBUyxFQUFFO3dCQUNULG9CQUFvQjt3QkFDcEIsRUFBQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFDO3FCQUN0RTtpQkFDRjs7MEJBS0ksUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUU3QixRQUFROzswQkFDUixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBRTNCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsMEJBQTBCOztBQWdDdEMsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWU7UUFDaEMsT0FBTztZQUNMLFFBQVEsRUFBRSx1QkFBdUI7WUFDakMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxzQkFBc0I7b0JBQy9CLFFBQVEsRUFBRSxLQUFLO2lCQUNoQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O2dIQVhVLG1CQUFtQjtpSEFBbkIsbUJBQW1CLFlBM0NuQix1QkFBdUI7aUhBMkN2QixtQkFBbUIsWUFGcEIsdUJBQXVCOzJGQUV0QixtQkFBbUI7a0JBSC9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcG9sbG9Nb2R1bGUsIEFwb2xsb30gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHtcbiAgQXBvbGxvTGluayxcbiAgT3BlcmF0aW9uIGFzIExpbmtPcGVyYXRpb24sXG4gIEluTWVtb3J5Q2FjaGUsXG4gIEFwb2xsb0NhY2hlLFxufSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7TmdNb2R1bGUsIEluamVjdGlvblRva2VuLCBJbmplY3QsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtBcG9sbG9UZXN0aW5nQ29udHJvbGxlcn0gZnJvbSAnLi9jb250cm9sbGVyJztcbmltcG9ydCB7QXBvbGxvVGVzdGluZ0JhY2tlbmR9IGZyb20gJy4vYmFja2VuZCc7XG5pbXBvcnQge09wZXJhdGlvbn0gZnJvbSAnLi9vcGVyYXRpb24nO1xuXG5leHBvcnQgdHlwZSBOYW1lZENhY2hlcyA9IFJlY29yZDxzdHJpbmcsIEFwb2xsb0NhY2hlPGFueT4gfCB1bmRlZmluZWQgfCBudWxsPjtcblxuZXhwb3J0IGNvbnN0IEFQT0xMT19URVNUSU5HX0NBQ0hFID0gbmV3IEluamVjdGlvblRva2VuPEFwb2xsb0NhY2hlPGFueT4+KFxuICAnYXBvbGxvLWFuZ3VsYXIvdGVzdGluZyBjYWNoZScsXG4pO1xuXG5leHBvcnQgY29uc3QgQVBPTExPX1RFU1RJTkdfTkFNRURfQ0FDSEUgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmFtZWRDYWNoZXM+KFxuICAnYXBvbGxvLWFuZ3VsYXIvdGVzdGluZyBuYW1lZCBjYWNoZScsXG4pO1xuXG5leHBvcnQgY29uc3QgQVBPTExPX1RFU1RJTkdfQ0xJRU5UUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmdbXT4oXG4gICdhcG9sbG8tYW5ndWxhci90ZXN0aW5nIG5hbWVkIGNsaWVudHMnLFxuKTtcblxuZnVuY3Rpb24gYWRkQ2xpZW50KG5hbWU6IHN0cmluZywgb3A6IExpbmtPcGVyYXRpb24pOiBPcGVyYXRpb24ge1xuICAob3AgYXMgT3BlcmF0aW9uKS5jbGllbnROYW1lID0gbmFtZTtcblxuICByZXR1cm4gb3AgYXMgT3BlcmF0aW9uO1xufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQXBvbGxvTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQXBvbGxvVGVzdGluZ0JhY2tlbmQsXG4gICAge3Byb3ZpZGU6IEFwb2xsb1Rlc3RpbmdDb250cm9sbGVyLCB1c2VFeGlzdGluZzogQXBvbGxvVGVzdGluZ0JhY2tlbmR9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBcG9sbG9UZXN0aW5nTW9kdWxlQ29yZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGFwb2xsbzogQXBvbGxvLFxuICAgIGJhY2tlbmQ6IEFwb2xsb1Rlc3RpbmdCYWNrZW5kLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChBUE9MTE9fVEVTVElOR19DTElFTlRTKVxuICAgIG5hbWVkQ2xpZW50cz86IHN0cmluZ1tdLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChBUE9MTE9fVEVTVElOR19DQUNIRSlcbiAgICBjYWNoZT86IEFwb2xsb0NhY2hlPGFueT4sXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEFQT0xMT19URVNUSU5HX05BTUVEX0NBQ0hFKVxuICAgIG5hbWVkQ2FjaGVzPzogYW55LCAvLyBGSVg6IHVzaW5nIE5hbWVkQ2FjaGVzIGhlcmUgbWFrZXMgbmdjIGZhaWxcbiAgKSB7XG4gICAgZnVuY3Rpb24gY3JlYXRlT3B0aW9ucyhuYW1lOiBzdHJpbmcsIGM/OiBBcG9sbG9DYWNoZTxhbnk+IHwgbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGluazogbmV3IEFwb2xsb0xpbmsoKG9wZXJhdGlvbikgPT5cbiAgICAgICAgICBiYWNrZW5kLmhhbmRsZShhZGRDbGllbnQobmFtZSwgb3BlcmF0aW9uKSksXG4gICAgICAgICksXG4gICAgICAgIGNhY2hlOlxuICAgICAgICAgIGMgfHxcbiAgICAgICAgICBuZXcgSW5NZW1vcnlDYWNoZSh7XG4gICAgICAgICAgICBhZGRUeXBlbmFtZTogZmFsc2UsXG4gICAgICAgICAgfSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIGFwb2xsby5jcmVhdGUoY3JlYXRlT3B0aW9ucygnZGVmYXVsdCcsIGNhY2hlKSk7XG5cbiAgICBpZiAobmFtZWRDbGllbnRzICYmIG5hbWVkQ2xpZW50cy5sZW5ndGgpIHtcbiAgICAgIG5hbWVkQ2xpZW50cy5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhY2hlcyA9XG4gICAgICAgICAgbmFtZWRDYWNoZXMgJiYgdHlwZW9mIG5hbWVkQ2FjaGVzID09PSAnb2JqZWN0JyA/IG5hbWVkQ2FjaGVzIDoge307XG5cbiAgICAgICAgYXBvbGxvLmNyZWF0ZU5hbWVkKG5hbWUsIGNyZWF0ZU9wdGlvbnMobmFtZSwgY2FjaGVzW25hbWVdKSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0Fwb2xsb1Rlc3RpbmdNb2R1bGVDb3JlXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBvbGxvVGVzdGluZ01vZHVsZSB7XG4gIHN0YXRpYyB3aXRoQ2xpZW50cyhuYW1lczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFwb2xsb1Rlc3RpbmdNb2R1bGVDb3JlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUE9MTE9fVEVTVElOR19DTElFTlRTLFxuICAgICAgICAgIHVzZVZhbHVlOiBuYW1lcyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19