UNPKG

7.8 kBJavaScriptView Raw
1import { from } from 'rxjs';
2import { wrapWithZone, fixObservable } from './utils';
3import { startWith } from 'rxjs/operators';
4export class QueryRef {
5 constructor(obsQuery, ngZone, options) {
6 this.obsQuery = obsQuery;
7 const wrapped = wrapWithZone(from(fixObservable(this.obsQuery)), ngZone);
8 this.valueChanges = options.useInitialLoading
9 ? wrapped.pipe(startWith(Object.assign(Object.assign({}, this.obsQuery.getCurrentResult()), { error: undefined, partial: undefined, stale: true })))
10 : wrapped;
11 this.queryId = this.obsQuery.queryId;
12 }
13 // ObservableQuery's methods
14 result() {
15 return this.obsQuery.result();
16 }
17 getLastResult() {
18 return this.obsQuery.getLastResult();
19 }
20 getLastError() {
21 return this.obsQuery.getLastError();
22 }
23 resetLastResults() {
24 return this.obsQuery.resetLastResults();
25 }
26 refetch(variables) {
27 return this.obsQuery.refetch(variables);
28 }
29 fetchMore(fetchMoreOptions) {
30 return this.obsQuery.fetchMore(fetchMoreOptions);
31 }
32 subscribeToMore(options) {
33 // XXX: there's a bug in apollo-client typings
34 // it should not inherit types from ObservableQuery
35 return this.obsQuery.subscribeToMore(options);
36 }
37 updateQuery(mapFn) {
38 return this.obsQuery.updateQuery(mapFn);
39 }
40 stopPolling() {
41 return this.obsQuery.stopPolling();
42 }
43 startPolling(pollInterval) {
44 return this.obsQuery.startPolling(pollInterval);
45 }
46 setOptions(opts) {
47 return this.obsQuery.setOptions(opts);
48 }
49 setVariables(variables) {
50 return this.obsQuery.setVariables(variables);
51 }
52}
53//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5LXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQWEsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBRXBELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxNQUFNLE9BQU8sUUFBUTtJQU1uQixZQUNVLFFBQStCLEVBQ3ZDLE1BQWMsRUFDZCxPQUE2QjtRQUZyQixhQUFRLEdBQVIsUUFBUSxDQUF1QjtRQUl2QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV6RSxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUI7WUFDM0MsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ1YsU0FBUyxpQ0FDSixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEtBQ25DLEtBQUssRUFBRSxTQUFTLEVBQ2hCLE9BQU8sRUFBRSxTQUFTLEVBQ2xCLEtBQUssRUFBRSxJQUFJLElBQ1gsQ0FDSDtZQUNILENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDWixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCw0QkFBNEI7SUFFckIsTUFBTTtRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVNLE9BQU8sQ0FBQyxTQUFhO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLFNBQVMsQ0FDZCxnQkFBc0U7UUFFdEUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxlQUFlLENBQ3BCLE9BQTBDO1FBRTFDLDhDQUE4QztRQUM5QyxtREFBbUQ7UUFDbkQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxPQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ00sV0FBVyxDQUNoQixLQUFvRTtRQUVwRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sWUFBWSxDQUFDLFlBQW9CO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFTO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLFlBQVksQ0FBQyxTQUFZO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ1pvbmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXBvbGxvUXVlcnlSZXN1bHQsXG4gIE9ic2VydmFibGVRdWVyeSxcbiAgQXBvbGxvRXJyb3IsXG4gIEZldGNoTW9yZVF1ZXJ5T3B0aW9ucyxcbiAgRmV0Y2hNb3JlT3B0aW9ucyxcbiAgU3Vic2NyaWJlVG9Nb3JlT3B0aW9ucyxcbiAgVXBkYXRlUXVlcnlPcHRpb25zLFxufSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgZnJvbX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7d3JhcFdpdGhab25lLCBmaXhPYnNlcnZhYmxlfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7V2F0Y2hRdWVyeU9wdGlvbnMsIEVtcHR5T2JqZWN0fSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7c3RhcnRXaXRofSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBRdWVyeVJlZjxULCBWID0gRW1wdHlPYmplY3Q+IHtcbiAgcHVibGljIHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxBcG9sbG9RdWVyeVJlc3VsdDxUPj47XG4gIHB1YmxpYyBvcHRpb25zOiBPYnNlcnZhYmxlUXVlcnk8VCwgVj5bJ29wdGlvbnMnXTtcbiAgcHVibGljIHF1ZXJ5SWQ6IE9ic2VydmFibGVRdWVyeTxULCBWPlsncXVlcnlJZCddO1xuICBwdWJsaWMgdmFyaWFibGVzOiBWO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb2JzUXVlcnk6IE9ic2VydmFibGVRdWVyeTxULCBWPixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICBvcHRpb25zOiBXYXRjaFF1ZXJ5T3B0aW9uczxWPixcbiAgKSB7XG4gICAgY29uc3Qgd3JhcHBlZCA9IHdyYXBXaXRoWm9uZShmcm9tKGZpeE9ic2VydmFibGUodGhpcy5vYnNRdWVyeSkpLCBuZ1pvbmUpO1xuXG4gICAgdGhpcy52YWx1ZUNoYW5nZXMgPSBvcHRpb25zLnVzZUluaXRpYWxMb2FkaW5nXG4gICAgICA/IHdyYXBwZWQucGlwZShcbiAgICAgICAgICBzdGFydFdpdGgoe1xuICAgICAgICAgICAgLi4udGhpcy5vYnNRdWVyeS5nZXRDdXJyZW50UmVzdWx0KCksXG4gICAgICAgICAgICBlcnJvcjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgcGFydGlhbDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgc3RhbGU6IHRydWUsXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgIDogd3JhcHBlZDtcbiAgICB0aGlzLnF1ZXJ5SWQgPSB0aGlzLm9ic1F1ZXJ5LnF1ZXJ5SWQ7XG4gIH1cblxuICAvLyBPYnNlcnZhYmxlUXVlcnkncyBtZXRob2RzXG5cbiAgcHVibGljIHJlc3VsdCgpOiBQcm9taXNlPEFwb2xsb1F1ZXJ5UmVzdWx0PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMub2JzUXVlcnkucmVzdWx0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFzdFJlc3VsdCgpOiBBcG9sbG9RdWVyeVJlc3VsdDxUPiB7XG4gICAgcmV0dXJuIHRoaXMub2JzUXVlcnkuZ2V0TGFzdFJlc3VsdCgpO1xuICB9XG5cbiAgcHVibGljIGdldExhc3RFcnJvcigpOiBBcG9sbG9FcnJvciB7XG4gICAgcmV0dXJuIHRoaXMub2JzUXVlcnkuZ2V0TGFzdEVycm9yKCk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRMYXN0UmVzdWx0cygpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5vYnNRdWVyeS5yZXNldExhc3RSZXN1bHRzKCk7XG4gIH1cblxuICBwdWJsaWMgcmVmZXRjaCh2YXJpYWJsZXM/OiBWKTogUHJvbWlzZTxBcG9sbG9RdWVyeVJlc3VsdDxUPj4ge1xuICAgIHJldHVybiB0aGlzLm9ic1F1ZXJ5LnJlZmV0Y2godmFyaWFibGVzKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaE1vcmU8SyBleHRlbmRzIGtleW9mIFY+KFxuICAgIGZldGNoTW9yZU9wdGlvbnM6IEZldGNoTW9yZVF1ZXJ5T3B0aW9uczxWLCBLPiAmIEZldGNoTW9yZU9wdGlvbnM8VCwgVj4sXG4gICk6IFByb21pc2U8QXBvbGxvUXVlcnlSZXN1bHQ8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5vYnNRdWVyeS5mZXRjaE1vcmUoZmV0Y2hNb3JlT3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgc3Vic2NyaWJlVG9Nb3JlPE1UID0gYW55LCBNViA9IEVtcHR5T2JqZWN0PihcbiAgICBvcHRpb25zOiBTdWJzY3JpYmVUb01vcmVPcHRpb25zPFQsIE1WLCBNVD4sXG4gICk6ICgpID0+IHZvaWQge1xuICAgIC8vIFhYWDogdGhlcmUncyBhIGJ1ZyBpbiBhcG9sbG8tY2xpZW50IHR5cGluZ3NcbiAgICAvLyBpdCBzaG91bGQgbm90IGluaGVyaXQgdHlwZXMgZnJvbSBPYnNlcnZhYmxlUXVlcnlcbiAgICByZXR1cm4gdGhpcy5vYnNRdWVyeS5zdWJzY3JpYmVUb01vcmUob3B0aW9ucyBhcyBhbnkpO1xuICB9XG4gIHB1YmxpYyB1cGRhdGVRdWVyeShcbiAgICBtYXBGbjogKHByZXZpb3VzUXVlcnlSZXN1bHQ6IFQsIG9wdGlvbnM6IFVwZGF0ZVF1ZXJ5T3B0aW9uczxWPikgPT4gVCxcbiAgKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMub2JzUXVlcnkudXBkYXRlUXVlcnkobWFwRm4pO1xuICB9XG5cbiAgcHVibGljIHN0b3BQb2xsaW5nKCk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLm9ic1F1ZXJ5LnN0b3BQb2xsaW5nKCk7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRQb2xsaW5nKHBvbGxJbnRlcnZhbDogbnVtYmVyKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMub2JzUXVlcnkuc3RhcnRQb2xsaW5nKHBvbGxJbnRlcnZhbCk7XG4gIH1cblxuICBwdWJsaWMgc2V0T3B0aW9ucyhvcHRzOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5vYnNRdWVyeS5zZXRPcHRpb25zKG9wdHMpO1xuICB9XG5cbiAgcHVibGljIHNldFZhcmlhYmxlcyh2YXJpYWJsZXM6IFYpIHtcbiAgICByZXR1cm4gdGhpcy5vYnNRdWVyeS5zZXRWYXJpYWJsZXModmFyaWFibGVzKTtcbiAgfVxufVxuIl19
\No newline at end of file