LiveQuerySubscription.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
  7. var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
  8. var _CoreManager = _interopRequireDefault(require("./CoreManager"));
  9. var _promiseUtils = require("./promiseUtils");
  10. var Subscription = function () {
  11. function Subscription(id, query, sessionToken) {
  12. var _this = this;
  13. (0, _classCallCheck2.default)(this, Subscription);
  14. this.id = id;
  15. this.query = query;
  16. this.sessionToken = sessionToken;
  17. this.subscribePromise = (0, _promiseUtils.resolvingPromise)();
  18. this.unsubscribePromise = (0, _promiseUtils.resolvingPromise)();
  19. this.subscribed = false;
  20. var EventEmitter = _CoreManager.default.getEventEmitter();
  21. this.emitter = new EventEmitter();
  22. this.on = function (eventName, listener) {
  23. return _this.emitter.on(eventName, listener);
  24. };
  25. this.emit = function (eventName) {
  26. var _this$emitter;
  27. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  28. args[_key - 1] = arguments[_key];
  29. }
  30. return (_this$emitter = _this.emitter).emit.apply(_this$emitter, [eventName].concat(args));
  31. };
  32. this.on('error', function () {});
  33. }
  34. return (0, _createClass2.default)(Subscription, [{
  35. key: "unsubscribe",
  36. value: function () {
  37. var _this2 = this;
  38. return _CoreManager.default.getLiveQueryController().getDefaultLiveQueryClient().then(function (liveQueryClient) {
  39. _this2.emit('close');
  40. return liveQueryClient.unsubscribe(_this2);
  41. });
  42. }
  43. }]);
  44. }();
  45. var _default = exports.default = Subscription;