Your IP : 216.73.216.17


Current Path : /etc/kibana/node_modules/react-apollo/
Upload File :
Current File : //etc/kibana/node_modules/react-apollo/queryRecycler.js

var __assign = (this && this.__assign) || Object.assign || function(t) {
    for (var s, i = 1, n = arguments.length; i < n; i++) {
        s = arguments[i];
        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
            t[p] = s[p];
    }
    return t;
};
var __rest = (this && this.__rest) || function (s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
            t[p[i]] = s[p[i]];
    return t;
};
var shallowEqual = require('fbjs/lib/shallowEqual');
var ObservableQueryRecycler = (function () {
    function ObservableQueryRecycler() {
        this.observableQueries = [];
    }
    ObservableQueryRecycler.prototype.recycle = function (observableQuery) {
        observableQuery.setOptions({
            fetchPolicy: 'standby',
            pollInterval: 0,
            fetchResults: false,
        });
        this.observableQueries.push({
            observableQuery: observableQuery,
            subscription: observableQuery.subscribe({}),
        });
    };
    ObservableQueryRecycler.prototype.reuse = function (options) {
        if (this.observableQueries.length <= 0) {
            return null;
        }
        var item = this.observableQueries.pop();
        if (!item) {
            return null;
        }
        var observableQuery = item.observableQuery, subscription = item.subscription;
        subscription.unsubscribe();
        var ssr = options.ssr, client = options.client, modifiableOpts = __rest(options, ["ssr", "client"]);
        if (!shallowEqual(modifiableOpts.variables || {}, observableQuery.variables))
            return null;
        observableQuery.setOptions(__assign({}, modifiableOpts, { pollInterval: options.pollInterval, fetchPolicy: options.fetchPolicy }));
        return observableQuery;
    };
    return ObservableQueryRecycler;
}());
export { ObservableQueryRecycler };
//# sourceMappingURL=queryRecycler.js.map