parse
Version:
Parse JavaScript SDK
45 lines • 1.91 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _CoreManager = _interopRequireDefault(require("./CoreManager"));
var _promiseUtils = require("./promiseUtils");
var LiveQuerySubscription = function () {
function LiveQuerySubscription(id, query, sessionToken) {
var _this = this;
(0, _classCallCheck2.default)(this, LiveQuerySubscription);
this.id = id;
this.query = query;
this.sessionToken = sessionToken;
this.subscribePromise = (0, _promiseUtils.resolvingPromise)();
this.unsubscribePromise = (0, _promiseUtils.resolvingPromise)();
this.subscribed = false;
var Emitter = _CoreManager.default.getEventEmitter();
this.emitter = new Emitter();
this.on = function (eventName, listener) {
return _this.emitter.on(eventName, listener);
};
this.emit = function (eventName) {
var _this$emitter;
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
return (_this$emitter = _this.emitter).emit.apply(_this$emitter, [eventName].concat(args));
};
this.on('error', function () {});
}
return (0, _createClass2.default)(LiveQuerySubscription, [{
key: "unsubscribe",
value: function () {
var _this2 = this;
return _CoreManager.default.getLiveQueryController().getDefaultLiveQueryClient().then(function (liveQueryClient) {
_this2.emit('close');
return liveQueryClient.unsubscribe(_this2);
});
}
}]);
}();
var _default = exports.default = LiveQuerySubscription;