apollo-link-dedup
Version:
Deduplicates queries that are currently on the wire
1 lines • 5.79 kB
Source Map (JSON)
{"version":3,"file":"bundle.cjs.js","sources":["bundle.esm.js"],"sourcesContent":["import { __extends } from 'tslib';\nimport { Observable, ApolloLink } from 'apollo-link';\n\nvar DedupLink = (function (_super) {\n __extends(DedupLink, _super);\n function DedupLink() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.inFlightRequestObservables = new Map();\n _this.subscribers = new Map();\n return _this;\n }\n DedupLink.prototype.request = function (operation, forward) {\n var _this = this;\n if (operation.getContext().forceFetch) {\n return forward(operation);\n }\n var key = operation.toKey();\n if (!this.inFlightRequestObservables.get(key)) {\n var singleObserver_1 = forward(operation);\n var subscription_1;\n var sharedObserver = new Observable(function (observer) {\n if (!_this.subscribers.has(key))\n _this.subscribers.set(key, new Set());\n _this.subscribers.get(key).add(observer);\n if (!subscription_1) {\n subscription_1 = singleObserver_1.subscribe({\n next: function (result) {\n var subscribers = _this.subscribers.get(key);\n _this.subscribers.delete(key);\n _this.inFlightRequestObservables.delete(key);\n if (subscribers) {\n subscribers.forEach(function (obs) { return obs.next(result); });\n subscribers.forEach(function (obs) { return obs.complete(); });\n }\n },\n error: function (error) {\n var subscribers = _this.subscribers.get(key);\n _this.subscribers.delete(key);\n _this.inFlightRequestObservables.delete(key);\n if (subscribers) {\n subscribers.forEach(function (obs) { return obs.error(error); });\n }\n },\n });\n }\n return function () {\n if (_this.subscribers.has(key)) {\n _this.subscribers.get(key).delete(observer);\n if (_this.subscribers.get(key).size === 0) {\n _this.inFlightRequestObservables.delete(key);\n if (subscription_1)\n subscription_1.unsubscribe();\n }\n }\n };\n });\n this.inFlightRequestObservables.set(key, sharedObserver);\n }\n return this.inFlightRequestObservables.get(key);\n };\n return DedupLink;\n}(ApolloLink));\n\nexport { DedupLink };\n//# sourceMappingURL=bundle.esm.js.map\n"],"names":["__extends","Observable","ApolloLink"],"mappings":"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"}