UNPKG

apollo-angular

Version:

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

56 lines 8.21 kB
import { from } from 'rxjs'; import { wrapWithZone, fixObservable } from './utils'; import { startWith } from 'rxjs/operators'; export class QueryRef { constructor(obsQuery, ngZone, options) { this.obsQuery = obsQuery; const wrapped = wrapWithZone(from(fixObservable(this.obsQuery)), ngZone); this.valueChanges = options.useInitialLoading ? wrapped.pipe(startWith(Object.assign(Object.assign({}, this.obsQuery.getCurrentResult(false)), { error: undefined, partial: undefined, stale: true }))) : wrapped; this.queryId = this.obsQuery.queryId; } // ObservableQuery's methods result() { return this.obsQuery.result(); } getCurrentResult() { return this.obsQuery.getCurrentResult(); } getLastResult() { return this.obsQuery.getLastResult(); } getLastError() { return this.obsQuery.getLastError(); } resetLastResults() { return this.obsQuery.resetLastResults(); } refetch(variables) { return this.obsQuery.refetch(variables); } fetchMore(fetchMoreOptions) { return this.obsQuery.fetchMore(fetchMoreOptions); } subscribeToMore(options) { // XXX: there's a bug in apollo-client typings // it should not inherit types from ObservableQuery return this.obsQuery.subscribeToMore(options); } updateQuery(mapFn) { return this.obsQuery.updateQuery(mapFn); } stopPolling() { return this.obsQuery.stopPolling(); } startPolling(pollInterval) { return this.obsQuery.startPolling(pollInterval); } setOptions(opts) { return this.obsQuery.setOptions(opts); } setVariables(variables) { return this.obsQuery.setVariables(variables); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVmLmpzIiwic291cmNlUm9vdCI6Ii93b3Jrc3BhY2VzL2Fwb2xsby1hbmd1bGFyL3BhY2thZ2VzL2Fwb2xsby1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbInF1ZXJ5LXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQWEsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBRXBELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxNQUFNLE9BQU8sUUFBUTtJQU1uQixZQUNVLFFBQStCLEVBQ3ZDLE1BQWMsRUFDZCxPQUFnQztRQUZ4QixhQUFRLEdBQVIsUUFBUSxDQUF1QjtRQUl2QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV6RSxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUI7WUFDM0MsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ1YsU0FBUyxpQ0FDSixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxLQUN4QyxLQUFLLEVBQUUsU0FBUyxFQUNoQixPQUFPLEVBQUUsU0FBUyxFQUNsQixLQUFLLEVBQUUsSUFBSSxJQUNYLENBQ0g7WUFDSCxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBRUQsNEJBQTRCO0lBRXJCLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVNLE9BQU8sQ0FBQyxTQUFhO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLFNBQVMsQ0FDZCxnQkFBc0U7UUFFdEUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxlQUFlLENBQ3BCLE9BQTBDO1FBRTFDLDhDQUE4QztRQUM5QyxtREFBbUQ7UUFDbkQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxPQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ00sV0FBVyxDQUNoQixLQUFvRTtRQUVwRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sWUFBWSxDQUFDLFlBQW9CO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFTO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLFlBQVksQ0FBQyxTQUFZO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXBvbGxvUXVlcnlSZXN1bHQsXG4gIE9ic2VydmFibGVRdWVyeSxcbiAgQXBvbGxvRXJyb3IsXG4gIEZldGNoTW9yZVF1ZXJ5T3B0aW9ucyxcbiAgRmV0Y2hNb3JlT3B0aW9ucyxcbiAgU3Vic2NyaWJlVG9Nb3JlT3B0aW9ucyxcbiAgVXBkYXRlUXVlcnlPcHRpb25zLFxufSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgZnJvbX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7d3JhcFdpdGhab25lLCBmaXhPYnNlcnZhYmxlfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7V2F0Y2hRdWVyeU9wdGlvbnMsIEVtcHR5T2JqZWN0fSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7c3RhcnRXaXRofSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBRdWVyeVJlZjxULCBWID0gRW1wdHlPYmplY3Q+IHtcbiAgcHVibGljIHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxBcG9sbG9RdWVyeVJlc3VsdDxUPj47XG4gIHB1YmxpYyBvcHRpb25zOiBPYnNlcnZhYmxlUXVlcnk8VCwgVj5bJ29wdGlvbnMnXTtcbiAgcHVibGljIHF1ZXJ5SWQ6IE9ic2VydmFibGVRdWVyeTxULCBWPlsncXVlcnlJZCddO1xuICBwdWJsaWMgdmFyaWFibGVzOiBWO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb2JzUXVlcnk6IE9ic2VydmFibGVRdWVyeTxULCBWPixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICBvcHRpb25zOiBXYXRjaFF1ZXJ5T3B0aW9uczxWLCBUPixcbiAgKSB7XG4gICAgY29uc3Qgd3JhcHBlZCA9IHdyYXBXaXRoWm9uZShmcm9tKGZpeE9ic2VydmFibGUodGhpcy5vYnNRdWVyeSkpLCBuZ1pvbmUpO1xuXG4gICAgdGhpcy52YWx1ZUNoYW5nZXMgPSBvcHRpb25zLnVzZUluaXRpYWxMb2FkaW5nXG4gICAgICA/IHdyYXBwZWQucGlwZShcbiAgICAgICAgICBzdGFydFdpdGgoe1xuICAgICAgICAgICAgLi4udGhpcy5vYnNRdWVyeS5nZXRDdXJyZW50UmVzdWx0KGZhbHNlKSxcbiAgICAgICAgICAgIGVycm9yOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBwYXJ0aWFsOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBzdGFsZTogdHJ1ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgOiB3cmFwcGVkO1xuICAgIHRoaXMucXVlcnlJZCA9IHRoaXMub2JzUXVlcnkucXVlcnlJZDtcbiAgfVxuXG4gIC8vIE9ic2VydmFibGVRdWVyeSdzIG1ldGhvZHNcblxuICBwdWJsaWMgcmVzdWx0KCk6IFByb21pc2U8QXBvbGxvUXVlcnlSZXN1bHQ8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5vYnNRdWVyeS5yZXN1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW50UmVzdWx0KCk6IEFwb2xsb1F1ZXJ5UmVzdWx0PFQ+IHtcbiAgICByZXR1cm4gdGhpcy5vYnNRdWVyeS5nZXRDdXJyZW50UmVzdWx0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFzdFJlc3VsdCgpOiBBcG9sbG9RdWVyeVJlc3VsdDxUPiB7XG4gICAgcmV0dXJuIHRoaXMub2JzUXVlcnkuZ2V0TGFzdFJlc3VsdCgpO1xuICB9XG5cbiAgcHVibGljIGdldExhc3RFcnJvcigpOiBBcG9sbG9FcnJvciB7XG4gICAgcmV0dXJuIHRoaXMub2JzUXVlcnkuZ2V0TGFzdEVycm9yKCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRMYXN0UmVzdWx0cygpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5vYnNRdWVyeS5yZXNldExhc3RSZXN1bHRzKCk7XG4gIH1cblxuICBwdWJsaWMgcmVmZXRjaCh2YXJpYWJsZXM/OiBWKTogUHJvbWlzZTxBcG9sbG9RdWVyeVJlc3VsdDxUPj4ge1xuICAgIHJldHVybiB0aGlzLm9ic1F1ZXJ5LnJlZmV0Y2godmFyaWFibGVzKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaE1vcmU8SyBleHRlbmRzIGtleW9mIFY+KFxuICAgIGZldGNoTW9yZU9wdGlvbnM6IEZldGNoTW9yZVF1ZXJ5T3B0aW9uczxWLCBLPiAmIEZldGNoTW9yZU9wdGlvbnM8VCwgVj4sXG4gICk6IFByb21pc2U8QXBvbGxvUXVlcnlSZXN1bHQ8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5vYnNRdWVyeS5mZXRjaE1vcmUoZmV0Y2hNb3JlT3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgc3Vic2NyaWJlVG9Nb3JlPE1UID0gYW55LCBNViA9IEVtcHR5T2JqZWN0PihcbiAgICBvcHRpb25zOiBTdWJzY3JpYmVUb01vcmVPcHRpb25zPFQsIE1WLCBNVD4sXG4gICk6ICgpID0+IHZvaWQge1xuICAgIC8vIFhYWDogdGhlcmUncyBhIGJ1ZyBpbiBhcG9sbG8tY2xpZW50IHR5cGluZ3NcbiAgICAvLyBpdCBzaG91bGQgbm90IGluaGVyaXQgdHlwZXMgZnJvbSBPYnNlcnZhYmxlUXVlcnlcbiAgICByZXR1cm4gdGhpcy5vYnNRdWVyeS5zdWJzY3JpYmVUb01vcmUob3B0aW9ucyBhcyBhbnkpO1xuICB9XG4gIHB1YmxpYyB1cGRhdGVRdWVyeShcbiAgICBtYXBGbjogKHByZXZpb3VzUXVlcnlSZXN1bHQ6IFQsIG9wdGlvbnM6IFVwZGF0ZVF1ZXJ5T3B0aW9uczxWPikgPT4gVCxcbiAgKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMub2JzUXVlcnkudXBkYXRlUXVlcnkobWFwRm4pO1xuICB9XG5cbiAgcHVibGljIHN0b3BQb2xsaW5nKCk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLm9ic1F1ZXJ5LnN0b3BQb2xsaW5nKCk7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRQb2xsaW5nKHBvbGxJbnRlcnZhbDogbnVtYmVyKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMub2JzUXVlcnkuc3RhcnRQb2xsaW5nKHBvbGxJbnRlcnZhbCk7XG4gIH1cblxuICBwdWJsaWMgc2V0T3B0aW9ucyhvcHRzOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5vYnNRdWVyeS5zZXRPcHRpb25zKG9wdHMpO1xuICB9XG5cbiAgcHVibGljIHNldFZhcmlhYmxlcyh2YXJpYWJsZXM6IFYpIHtcbiAgICByZXR1cm4gdGhpcy5vYnNRdWVyeS5zZXRWYXJpYWJsZXModmFyaWFibGVzKTtcbiAgfVxufVxuIl19