twilio-chat
Advanced tools
Comparing version 0.13.0-dev-build.332 to 0.13.0-dev-build.334
@@ -145,2 +145,3 @@ "use strict"; | ||
_this.runtimeId = Math.floor(Math.random() * 10000); | ||
var attributes = descriptor.attributes || {}; | ||
@@ -198,51 +199,22 @@ var createdBy = descriptor.createdBy; | ||
value: function _subscribe() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee() { | ||
var _this2 = this; | ||
var _this2 = this; | ||
return _regenerator2.default.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
if (!this.entityPromise) { | ||
_context.next = 2; | ||
break; | ||
} | ||
return _context.abrupt("return", this.entityPromise); | ||
case 2: | ||
_context.prev = 2; | ||
this.entityPromise = this.services.session.datasync.document({ uniqueName: this.entityName, mode: 'open' }); | ||
_context.next = 6; | ||
return this.entityPromise; | ||
case 6: | ||
this.entity = _context.sent; | ||
this.entity.on('updated', function (value) { | ||
return _this2._update(value); | ||
}); | ||
this._update(this.entity.value); | ||
_context.next = 16; | ||
break; | ||
case 11: | ||
_context.prev = 11; | ||
_context.t0 = _context["catch"](2); | ||
this.entityPromise = null; | ||
log.error('Failed to get channel object', _context.t0); | ||
throw _context.t0; | ||
case 16: | ||
return _context.abrupt("return", this.entityPromise); | ||
case 17: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
}, _callee, this, [[2, 11]]); | ||
})); | ||
if (this.entityPromise) { | ||
return this.entityPromise; | ||
} | ||
return this.entityPromise = this.entityPromise || this.services.session.datasync.document({ uniqueName: this.entityName, mode: 'open' }).then(function (entity) { | ||
_this2.entity = entity; | ||
_this2.entity.on('updated', function (value) { | ||
return _this2._update(value); | ||
}); | ||
_this2.entity.on('removed', function () { | ||
return _this2.emit('removed', _this2); | ||
}); | ||
_this2._update(_this2.entity.value); | ||
return entity; | ||
}).catch(function (err) { | ||
_this2.entityPromise = null; | ||
log.error('Failed to get channel object', err); | ||
throw err; | ||
}); | ||
} | ||
@@ -260,46 +232,39 @@ /** | ||
value: function _subscribeStreams() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee2() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee() { | ||
var messagesObjectName, rosterObjectName; | ||
return _regenerator2.default.wrap(function _callee2$(_context2) { | ||
return _regenerator2.default.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context2.prev = _context2.next) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
_context2.prev = 0; | ||
_context.prev = 0; | ||
_context.next = 3; | ||
return this._subscribe(); | ||
this.subscribePromise = this.subscribePromise || this._subscribe(); | ||
_context2.next = 4; | ||
return this.subscribePromise; | ||
case 4: | ||
this.entity = _context2.sent; | ||
case 3: | ||
messagesObjectName = this.entity.value.messages; | ||
rosterObjectName = this.entity.value.roster; | ||
_context2.next = 9; | ||
_context.next = 7; | ||
return _promise2.default.all([this.messagesEntity.subscribe(messagesObjectName), this.membersEntity.subscribe(rosterObjectName)]); | ||
case 9: | ||
_context2.next = 16; | ||
case 7: | ||
_context.next = 13; | ||
break; | ||
case 11: | ||
_context2.prev = 11; | ||
_context2.t0 = _context2["catch"](0); | ||
case 9: | ||
_context.prev = 9; | ||
_context.t0 = _context["catch"](0); | ||
this.subscribePromise = null; | ||
log.error('Failed to subscribe on channel objects', this.sid, _context2.t0); | ||
throw _context2.t0; | ||
log.error('Failed to subscribe on channel objects', this.sid, _context.t0); | ||
throw _context.t0; | ||
case 16: | ||
return _context2.abrupt("return", this.subscribePromise); | ||
case 17: | ||
case 13: | ||
case "end": | ||
return _context2.stop(); | ||
return _context.stop(); | ||
} | ||
} | ||
}, _callee2, this, [[0, 11]]); | ||
}, _callee, this, [[0, 9]]); | ||
})); | ||
} | ||
/** | ||
* Load the Channel state. | ||
* Stop listening for and firing events on this Channel. | ||
* @returns {Promise} | ||
@@ -310,46 +275,33 @@ * @private | ||
}, { | ||
key: "_fetch", | ||
value: function _fetch() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee3() { | ||
var document; | ||
return _regenerator2.default.wrap(function _callee3$(_context3) { | ||
key: "_unsubscribe", | ||
value: function _unsubscribe() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee2() { | ||
return _regenerator2.default.wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context3.prev = _context3.next) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
_context3.next = 2; | ||
return this.services.session.datasync.document({ uniqueName: this.entityName, mode: 'open' }); | ||
if (!this.entity) { | ||
_context2.next = 5; | ||
break; | ||
} | ||
case 2: | ||
document = _context3.sent; | ||
return _context3.abrupt("return", document.value); | ||
_context2.next = 3; | ||
return this.entity.close(); | ||
case 4: | ||
case 3: | ||
this.entity = null; | ||
this.entityPromise = null; | ||
case 5: | ||
return _context2.abrupt("return", _promise2.default.all([this.membersEntity.unsubscribe(), this.messagesEntity.unsubscribe()])); | ||
case 6: | ||
case "end": | ||
return _context3.stop(); | ||
return _context2.stop(); | ||
} | ||
} | ||
}, _callee3, this); | ||
}, _callee2, this); | ||
})); | ||
} | ||
/** | ||
* Stop listening for and firing events on this Channel. | ||
* @returns {Promise} | ||
* @private | ||
*/ | ||
}, { | ||
key: "_unsubscribe", | ||
value: function _unsubscribe() { | ||
var promises = []; | ||
if (this.entityPromise) { | ||
promises.push(this.entity.close()); | ||
this.entity = null; | ||
} | ||
promises.push(this.membersEntity.unsubscribe()); | ||
promises.push(this.messagesEntity.unsubscribe()); | ||
this.entityPromise = null; | ||
this.subscribePromise = null; | ||
return _promise2.default.all(promises); | ||
} | ||
/** | ||
* Set channel status | ||
@@ -478,9 +430,9 @@ * @private | ||
value: function advanceLastConsumedMessageIndex(index) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee4() { | ||
return _regenerator2.default.wrap(function _callee4$(_context4) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee3() { | ||
return _regenerator2.default.wrap(function _callee3$(_context3) { | ||
while (1) { | ||
switch (_context4.prev = _context4.next) { | ||
switch (_context3.prev = _context3.next) { | ||
case 0: | ||
if ((0, _isInteger2.default)(index)) { | ||
_context4.next = 2; | ||
_context3.next = 2; | ||
break; | ||
@@ -493,10 +445,10 @@ } | ||
if (!(this.lastConsumedMessageIndex !== null && index <= this.lastConsumedMessageIndex || 0)) { | ||
_context4.next = 4; | ||
_context3.next = 4; | ||
break; | ||
} | ||
return _context4.abrupt("return"); | ||
return _context3.abrupt("return"); | ||
case 4: | ||
_context4.next = 6; | ||
_context3.next = 6; | ||
return this._subscribeStreams(); | ||
@@ -506,10 +458,10 @@ | ||
this.services.consumptionHorizon.advanceLastConsumedMessageIndexForChannel(this.sid, index); | ||
return _context4.abrupt("return", this); | ||
return _context3.abrupt("return", this); | ||
case 8: | ||
case "end": | ||
return _context4.stop(); | ||
return _context3.stop(); | ||
} | ||
} | ||
}, _callee4, this); | ||
}, _callee3, this); | ||
})); | ||
@@ -525,8 +477,8 @@ } | ||
value: function decline() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee5() { | ||
return _regenerator2.default.wrap(function _callee5$(_context5) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee4() { | ||
return _regenerator2.default.wrap(function _callee4$(_context4) { | ||
while (1) { | ||
switch (_context5.prev = _context5.next) { | ||
switch (_context4.prev = _context4.next) { | ||
case 0: | ||
_context5.next = 2; | ||
_context4.next = 2; | ||
return this.services.session.addCommand('declineInvitation', { | ||
@@ -537,10 +489,10 @@ channelSid: this.sid | ||
case 2: | ||
return _context5.abrupt("return", this); | ||
return _context4.abrupt("return", this); | ||
case 3: | ||
case "end": | ||
return _context5.stop(); | ||
return _context4.stop(); | ||
} | ||
} | ||
}, _callee5, this); | ||
}, _callee4, this); | ||
})); | ||
@@ -556,8 +508,8 @@ } | ||
value: function _delete() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee6() { | ||
return _regenerator2.default.wrap(function _callee6$(_context6) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee5() { | ||
return _regenerator2.default.wrap(function _callee5$(_context5) { | ||
while (1) { | ||
switch (_context6.prev = _context6.next) { | ||
switch (_context5.prev = _context5.next) { | ||
case 0: | ||
_context6.next = 2; | ||
_context5.next = 2; | ||
return this.services.session.addCommand('destroyChannel', { | ||
@@ -568,10 +520,10 @@ channelSid: this.sid | ||
case 2: | ||
return _context6.abrupt("return", this); | ||
return _context5.abrupt("return", this); | ||
case 3: | ||
case "end": | ||
return _context6.stop(); | ||
return _context5.stop(); | ||
} | ||
} | ||
}, _callee6, this); | ||
}, _callee5, this); | ||
})); | ||
@@ -589,38 +541,19 @@ } | ||
value: function getAttributes() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee7() { | ||
var data; | ||
return _regenerator2.default.wrap(function _callee7$(_context7) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee6() { | ||
return _regenerator2.default.wrap(function _callee6$(_context6) { | ||
while (1) { | ||
switch (_context7.prev = _context7.next) { | ||
switch (_context6.prev = _context6.next) { | ||
case 0: | ||
if (!this.entityPromise) { | ||
_context7.next = 5; | ||
break; | ||
} | ||
_context7.next = 3; | ||
_context6.next = 2; | ||
return this._subscribe(); | ||
case 2: | ||
return _context6.abrupt("return", this.attributes); | ||
case 3: | ||
_context7.next = 9; | ||
break; | ||
case 5: | ||
_context7.next = 7; | ||
return this._fetch(); | ||
case 7: | ||
data = _context7.sent; | ||
this._update(data); | ||
case 9: | ||
return _context7.abrupt("return", this.attributes); | ||
case 10: | ||
case "end": | ||
return _context7.stop(); | ||
return _context6.stop(); | ||
} | ||
} | ||
}, _callee7, this); | ||
}, _callee6, this); | ||
})); | ||
@@ -640,27 +573,27 @@ } | ||
value: function getMessages(count, anchor, direction) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee8() { | ||
return _regenerator2.default.wrap(function _callee8$(_context8) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee7() { | ||
return _regenerator2.default.wrap(function _callee7$(_context7) { | ||
while (1) { | ||
switch (_context8.prev = _context8.next) { | ||
switch (_context7.prev = _context7.next) { | ||
case 0: | ||
if (!(typeof anchor !== 'undefined' && !(0, _isInteger2.default)(anchor))) { | ||
_context8.next = 2; | ||
_context7.next = 2; | ||
break; | ||
} | ||
return _context8.abrupt("return", _promise2.default.reject(new Error('Anchor should be a valid message index'))); | ||
throw new Error('Anchor should be a valid message index'); | ||
case 2: | ||
_context8.next = 4; | ||
_context7.next = 4; | ||
return this._subscribeStreams(); | ||
case 4: | ||
return _context8.abrupt("return", this.messagesEntity.getMessages(count, anchor, direction)); | ||
return _context7.abrupt("return", this.messagesEntity.getMessages(count, anchor, direction)); | ||
case 5: | ||
case "end": | ||
return _context8.stop(); | ||
return _context7.stop(); | ||
} | ||
} | ||
}, _callee8, this); | ||
}, _callee7, this); | ||
})); | ||
@@ -676,19 +609,19 @@ } | ||
value: function getMembers() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee9() { | ||
return _regenerator2.default.wrap(function _callee9$(_context9) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee8() { | ||
return _regenerator2.default.wrap(function _callee8$(_context8) { | ||
while (1) { | ||
switch (_context9.prev = _context9.next) { | ||
switch (_context8.prev = _context8.next) { | ||
case 0: | ||
_context9.next = 2; | ||
_context8.next = 2; | ||
return this._subscribeStreams(); | ||
case 2: | ||
return _context9.abrupt("return", this.membersEntity.getMembers()); | ||
return _context8.abrupt("return", this.membersEntity.getMembers()); | ||
case 3: | ||
case "end": | ||
return _context9.stop(); | ||
return _context8.stop(); | ||
} | ||
} | ||
}, _callee9, this); | ||
}, _callee8, this); | ||
})); | ||
@@ -704,27 +637,27 @@ } | ||
value: function getMembersCount() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee10() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee9() { | ||
var links, url, response; | ||
return _regenerator2.default.wrap(function _callee10$(_context10) { | ||
return _regenerator2.default.wrap(function _callee9$(_context9) { | ||
while (1) { | ||
switch (_context10.prev = _context10.next) { | ||
switch (_context9.prev = _context9.next) { | ||
case 0: | ||
_context10.next = 2; | ||
_context9.next = 2; | ||
return this.services.session.getSessionLinks(); | ||
case 2: | ||
links = _context10.sent; | ||
links = _context9.sent; | ||
url = new util_1.UriBuilder(links.publicChannelsUrl).path(this.sid).build(); | ||
_context10.next = 6; | ||
_context9.next = 6; | ||
return this.services.network.get(url); | ||
case 6: | ||
response = _context10.sent; | ||
return _context10.abrupt("return", response.body.members_count); | ||
response = _context9.sent; | ||
return _context9.abrupt("return", response.body.members_count); | ||
case 8: | ||
case "end": | ||
return _context10.stop(); | ||
return _context9.stop(); | ||
} | ||
} | ||
}, _callee10, this); | ||
}, _callee9, this); | ||
})); | ||
@@ -740,27 +673,27 @@ } | ||
value: function getMessagesCount() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee11() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee10() { | ||
var links, url, response; | ||
return _regenerator2.default.wrap(function _callee11$(_context11) { | ||
return _regenerator2.default.wrap(function _callee10$(_context10) { | ||
while (1) { | ||
switch (_context11.prev = _context11.next) { | ||
switch (_context10.prev = _context10.next) { | ||
case 0: | ||
_context11.next = 2; | ||
_context10.next = 2; | ||
return this.services.session.getSessionLinks(); | ||
case 2: | ||
links = _context11.sent; | ||
links = _context10.sent; | ||
url = new util_1.UriBuilder(links.publicChannelsUrl).path(this.sid).build(); | ||
_context11.next = 6; | ||
_context10.next = 6; | ||
return this.services.network.get(url); | ||
case 6: | ||
response = _context11.sent; | ||
return _context11.abrupt("return", response.body.messages_count); | ||
response = _context10.sent; | ||
return _context10.abrupt("return", response.body.messages_count); | ||
case 8: | ||
case "end": | ||
return _context11.stop(); | ||
return _context10.stop(); | ||
} | ||
} | ||
}, _callee11, this); | ||
}, _callee10, this); | ||
})); | ||
@@ -776,26 +709,26 @@ } | ||
value: function getUnconsumedMessagesCount() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee12() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee11() { | ||
var links, url, response; | ||
return _regenerator2.default.wrap(function _callee12$(_context12) { | ||
return _regenerator2.default.wrap(function _callee11$(_context11) { | ||
while (1) { | ||
switch (_context12.prev = _context12.next) { | ||
switch (_context11.prev = _context11.next) { | ||
case 0: | ||
_context12.next = 2; | ||
_context11.next = 2; | ||
return this.services.session.getSessionLinks(); | ||
case 2: | ||
links = _context12.sent; | ||
links = _context11.sent; | ||
url = new util_1.UriBuilder(links.myChannelsUrl).arg('ChannelSid', this.sid).build(); | ||
_context12.next = 6; | ||
_context11.next = 6; | ||
return this.services.network.get(url); | ||
case 6: | ||
response = _context12.sent; | ||
response = _context11.sent; | ||
if (!response.body.channels.length) { | ||
_context12.next = 9; | ||
_context11.next = 9; | ||
break; | ||
} | ||
return _context12.abrupt("return", response.body.channels[0].unread_messages_count || 0); | ||
return _context11.abrupt("return", response.body.channels[0].unread_messages_count || 0); | ||
@@ -807,6 +740,6 @@ case 9: | ||
case "end": | ||
return _context12.stop(); | ||
return _context11.stop(); | ||
} | ||
} | ||
}, _callee12, this); | ||
}, _callee11, this); | ||
})); | ||
@@ -836,19 +769,19 @@ } | ||
value: function join() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee13() { | ||
return _regenerator2.default.wrap(function _callee13$(_context13) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee12() { | ||
return _regenerator2.default.wrap(function _callee12$(_context12) { | ||
while (1) { | ||
switch (_context13.prev = _context13.next) { | ||
switch (_context12.prev = _context12.next) { | ||
case 0: | ||
_context13.next = 2; | ||
_context12.next = 2; | ||
return this.services.session.addCommand('joinChannel', { channelSid: this.sid }); | ||
case 2: | ||
return _context13.abrupt("return", this); | ||
return _context12.abrupt("return", this); | ||
case 3: | ||
case "end": | ||
return _context13.stop(); | ||
return _context12.stop(); | ||
} | ||
} | ||
}, _callee13, this); | ||
}, _callee12, this); | ||
})); | ||
@@ -864,24 +797,24 @@ } | ||
value: function leave() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee14() { | ||
return _regenerator2.default.wrap(function _callee14$(_context14) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee13() { | ||
return _regenerator2.default.wrap(function _callee13$(_context13) { | ||
while (1) { | ||
switch (_context14.prev = _context14.next) { | ||
switch (_context13.prev = _context13.next) { | ||
case 0: | ||
if (!(this.state.status === 'joined')) { | ||
_context14.next = 3; | ||
_context13.next = 3; | ||
break; | ||
} | ||
_context14.next = 3; | ||
_context13.next = 3; | ||
return this.services.session.addCommand('leaveChannel', { channelSid: this.sid }); | ||
case 3: | ||
return _context14.abrupt("return", this); | ||
return _context13.abrupt("return", this); | ||
case 4: | ||
case "end": | ||
return _context14.stop(); | ||
return _context13.stop(); | ||
} | ||
} | ||
}, _callee14, this); | ||
}, _callee13, this); | ||
})); | ||
@@ -898,9 +831,9 @@ } | ||
value: function removeMember(member) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee15() { | ||
return _regenerator2.default.wrap(function _callee15$(_context15) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee14() { | ||
return _regenerator2.default.wrap(function _callee14$(_context14) { | ||
while (1) { | ||
switch (_context15.prev = _context15.next) { | ||
switch (_context14.prev = _context14.next) { | ||
case 0: | ||
if (!(!member || typeof member !== 'string' && !(member instanceof member_1.Member))) { | ||
_context15.next = 2; | ||
_context14.next = 2; | ||
break; | ||
@@ -912,10 +845,10 @@ } | ||
case 2: | ||
return _context15.abrupt("return", this.membersEntity.remove(typeof member === 'string' ? member : member.identity)); | ||
return _context14.abrupt("return", this.membersEntity.remove(typeof member === 'string' ? member : member.identity)); | ||
case 3: | ||
case "end": | ||
return _context15.stop(); | ||
return _context14.stop(); | ||
} | ||
} | ||
}, _callee15, this); | ||
}, _callee14, this); | ||
})); | ||
@@ -933,21 +866,21 @@ } | ||
value: function sendMessage(messageBody, messageAttributes) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee16() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee15() { | ||
var response; | ||
return _regenerator2.default.wrap(function _callee16$(_context16) { | ||
return _regenerator2.default.wrap(function _callee15$(_context15) { | ||
while (1) { | ||
switch (_context16.prev = _context16.next) { | ||
switch (_context15.prev = _context15.next) { | ||
case 0: | ||
_context16.next = 2; | ||
_context15.next = 2; | ||
return this.messagesEntity.send(messageBody, messageAttributes); | ||
case 2: | ||
response = _context16.sent; | ||
return _context16.abrupt("return", response.messageId); | ||
response = _context15.sent; | ||
return _context15.abrupt("return", response.messageId); | ||
case 4: | ||
case "end": | ||
return _context16.stop(); | ||
return _context15.stop(); | ||
} | ||
} | ||
}, _callee16, this); | ||
}, _callee15, this); | ||
})); | ||
@@ -963,35 +896,35 @@ } | ||
value: function setAllMessagesConsumed() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee17() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee16() { | ||
var messagesPage; | ||
return _regenerator2.default.wrap(function _callee17$(_context17) { | ||
return _regenerator2.default.wrap(function _callee16$(_context16) { | ||
while (1) { | ||
switch (_context17.prev = _context17.next) { | ||
switch (_context16.prev = _context16.next) { | ||
case 0: | ||
_context17.next = 2; | ||
_context16.next = 2; | ||
return this._subscribeStreams(); | ||
case 2: | ||
_context17.next = 4; | ||
_context16.next = 4; | ||
return this.getMessages(1); | ||
case 4: | ||
messagesPage = _context17.sent; | ||
messagesPage = _context16.sent; | ||
if (!(messagesPage.items.length > 0)) { | ||
_context17.next = 8; | ||
_context16.next = 8; | ||
break; | ||
} | ||
_context17.next = 8; | ||
_context16.next = 8; | ||
return this.advanceLastConsumedMessageIndex(messagesPage.items[0].index); | ||
case 8: | ||
return _context17.abrupt("return", this); | ||
return _context16.abrupt("return", this); | ||
case 9: | ||
case "end": | ||
return _context17.stop(); | ||
return _context16.stop(); | ||
} | ||
} | ||
}, _callee17, this); | ||
}, _callee16, this); | ||
})); | ||
@@ -1006,8 +939,8 @@ } | ||
value: function setNoMessagesConsumed() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee18() { | ||
return _regenerator2.default.wrap(function _callee18$(_context18) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee17() { | ||
return _regenerator2.default.wrap(function _callee17$(_context17) { | ||
while (1) { | ||
switch (_context18.prev = _context18.next) { | ||
switch (_context17.prev = _context17.next) { | ||
case 0: | ||
_context18.next = 2; | ||
_context17.next = 2; | ||
return this._subscribeStreams(); | ||
@@ -1017,10 +950,10 @@ | ||
this.services.consumptionHorizon.updateLastConsumedMessageIndexForChannel(this.sid, null); | ||
return _context18.abrupt("return", this); | ||
return _context17.abrupt("return", this); | ||
case 4: | ||
case "end": | ||
return _context18.stop(); | ||
return _context17.stop(); | ||
} | ||
} | ||
}, _callee18, this); | ||
}, _callee17, this); | ||
})); | ||
@@ -1047,11 +980,11 @@ } | ||
value: function updateAttributes(attributes) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee19() { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee18() { | ||
var err, _err; | ||
return _regenerator2.default.wrap(function _callee19$(_context19) { | ||
return _regenerator2.default.wrap(function _callee18$(_context18) { | ||
while (1) { | ||
switch (_context19.prev = _context19.next) { | ||
switch (_context18.prev = _context18.next) { | ||
case 0: | ||
if (attributes) { | ||
_context19.next = 5; | ||
_context18.next = 5; | ||
break; | ||
@@ -1061,7 +994,7 @@ } | ||
err = new Error('Attributes can\'t be null'); | ||
return _context19.abrupt("return", _promise2.default.reject(err)); | ||
return _context18.abrupt("return", _promise2.default.reject(err)); | ||
case 5: | ||
if (!(attributes.constructor !== Object)) { | ||
_context19.next = 8; | ||
_context18.next = 8; | ||
break; | ||
@@ -1071,6 +1004,6 @@ } | ||
_err = new Error('Attributes must be a valid JSON object.'); | ||
return _context19.abrupt("return", _promise2.default.reject(_err)); | ||
return _context18.abrupt("return", _promise2.default.reject(_err)); | ||
case 8: | ||
_context19.next = 10; | ||
_context18.next = 10; | ||
return this.services.session.addCommand('editAttributes', { | ||
@@ -1082,10 +1015,10 @@ channelSid: this.sid, | ||
case 10: | ||
return _context19.abrupt("return", this); | ||
return _context18.abrupt("return", this); | ||
case 11: | ||
case "end": | ||
return _context19.stop(); | ||
return _context18.stop(); | ||
} | ||
} | ||
}, _callee19, this); | ||
}, _callee18, this); | ||
})); | ||
@@ -1102,13 +1035,13 @@ } | ||
value: function updateFriendlyName(name) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee20() { | ||
return _regenerator2.default.wrap(function _callee20$(_context20) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee19() { | ||
return _regenerator2.default.wrap(function _callee19$(_context19) { | ||
while (1) { | ||
switch (_context20.prev = _context20.next) { | ||
switch (_context19.prev = _context19.next) { | ||
case 0: | ||
if (!(this.state.friendlyName !== name)) { | ||
_context20.next = 3; | ||
_context19.next = 3; | ||
break; | ||
} | ||
_context20.next = 3; | ||
_context19.next = 3; | ||
return this.services.session.addCommand('editFriendlyName', { | ||
@@ -1120,10 +1053,10 @@ channelSid: this.sid, | ||
case 3: | ||
return _context20.abrupt("return", this); | ||
return _context19.abrupt("return", this); | ||
case 4: | ||
case "end": | ||
return _context20.stop(); | ||
return _context19.stop(); | ||
} | ||
} | ||
}, _callee20, this); | ||
}, _callee19, this); | ||
})); | ||
@@ -1140,9 +1073,9 @@ } | ||
value: function updateLastConsumedMessageIndex(index) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee21() { | ||
return _regenerator2.default.wrap(function _callee21$(_context21) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee20() { | ||
return _regenerator2.default.wrap(function _callee20$(_context20) { | ||
while (1) { | ||
switch (_context21.prev = _context21.next) { | ||
switch (_context20.prev = _context20.next) { | ||
case 0: | ||
if ((0, _isInteger2.default)(index) || index === null) { | ||
_context21.next = 2; | ||
_context20.next = 2; | ||
break; | ||
@@ -1154,3 +1087,3 @@ } | ||
case 2: | ||
_context21.next = 4; | ||
_context20.next = 4; | ||
return this._subscribeStreams(); | ||
@@ -1160,10 +1093,10 @@ | ||
this.services.consumptionHorizon.updateLastConsumedMessageIndexForChannel(this.sid, index); | ||
return _context21.abrupt("return", this); | ||
return _context20.abrupt("return", this); | ||
case 6: | ||
case "end": | ||
return _context21.stop(); | ||
return _context20.stop(); | ||
} | ||
} | ||
}, _callee21, this); | ||
}, _callee20, this); | ||
})); | ||
@@ -1180,13 +1113,13 @@ } | ||
value: function updateUniqueName(uniqueName) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee22() { | ||
return _regenerator2.default.wrap(function _callee22$(_context22) { | ||
return __awaiter(this, void 0, void 0, _regenerator2.default.mark(function _callee21() { | ||
return _regenerator2.default.wrap(function _callee21$(_context21) { | ||
while (1) { | ||
switch (_context22.prev = _context22.next) { | ||
switch (_context21.prev = _context21.next) { | ||
case 0: | ||
if (!(this.state.uniqueName !== uniqueName)) { | ||
_context22.next = 3; | ||
_context21.next = 3; | ||
break; | ||
} | ||
_context22.next = 3; | ||
_context21.next = 3; | ||
return this.services.session.addCommand('editUniqueName', { | ||
@@ -1198,10 +1131,10 @@ channelSid: this.sid, | ||
case 3: | ||
return _context22.abrupt("return", this); | ||
return _context21.abrupt("return", this); | ||
case 4: | ||
case "end": | ||
return _context22.stop(); | ||
return _context21.stop(); | ||
} | ||
} | ||
}, _callee22, this); | ||
}, _callee21, this); | ||
})); | ||
@@ -1208,0 +1141,0 @@ } |
@@ -52,6 +52,6 @@ /// <reference types="node" /> | ||
readonly sid: string; | ||
readonly runtimeId: number; | ||
private services; | ||
private state; | ||
private entityPromise; | ||
private subscribePromise; | ||
private entityName; | ||
@@ -81,3 +81,3 @@ private entity; | ||
*/ | ||
_subscribe(): Promise<any>; | ||
_subscribe(): any; | ||
/** | ||
@@ -90,10 +90,4 @@ * Load the attributes of this Channel and instantiate its Members and Messages. | ||
*/ | ||
_subscribeStreams(): Promise<any>; | ||
_subscribeStreams(): Promise<void>; | ||
/** | ||
* Load the Channel state. | ||
* @returns {Promise} | ||
* @private | ||
*/ | ||
_fetch(): Promise<any>; | ||
/** | ||
* Stop listening for and firing events on this Channel. | ||
@@ -118,3 +112,3 @@ * @returns {Promise} | ||
*/ | ||
_onMessageAdded(message: any): void; | ||
private _onMessageAdded(message); | ||
/** | ||
@@ -121,0 +115,0 @@ * Add a participant to the Channel by its Identity. |
@@ -77,2 +77,3 @@ "use strict"; | ||
super(); | ||
this.runtimeId = Math.floor(Math.random() * 10000); | ||
let attributes = descriptor.attributes || {}; | ||
@@ -135,19 +136,19 @@ let createdBy = descriptor.createdBy; | ||
_subscribe() { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
if (this.entityPromise) { | ||
return this.entityPromise; | ||
} | ||
try { | ||
this.entityPromise = this.services.session.datasync.document({ uniqueName: this.entityName, mode: 'open' }); | ||
this.entity = yield this.entityPromise; | ||
if (this.entityPromise) { | ||
return this.entityPromise; | ||
} | ||
return this.entityPromise = this.entityPromise || | ||
this.services.session.datasync.document({ uniqueName: this.entityName, mode: 'open' }) | ||
.then(entity => { | ||
this.entity = entity; | ||
this.entity.on('updated', value => this._update(value)); | ||
this.entity.on('removed', () => this.emit('removed', this)); | ||
this._update(this.entity.value); | ||
} | ||
catch (err) { | ||
return entity; | ||
}) | ||
.catch(err => { | ||
this.entityPromise = null; | ||
log.error('Failed to get channel object', err); | ||
throw err; | ||
} | ||
return this.entityPromise; | ||
}); | ||
}); | ||
} | ||
@@ -164,4 +165,3 @@ /** | ||
try { | ||
this.subscribePromise = this.subscribePromise || this._subscribe(); | ||
this.entity = yield this.subscribePromise; | ||
yield this._subscribe(); | ||
const messagesObjectName = this.entity.value.messages; | ||
@@ -175,38 +175,26 @@ const rosterObjectName = this.entity.value.roster; | ||
catch (err) { | ||
this.subscribePromise = null; | ||
log.error('Failed to subscribe on channel objects', this.sid, err); | ||
throw err; | ||
} | ||
return this.subscribePromise; | ||
}); | ||
} | ||
/** | ||
* Load the Channel state. | ||
* Stop listening for and firing events on this Channel. | ||
* @returns {Promise} | ||
* @private | ||
*/ | ||
_fetch() { | ||
_unsubscribe() { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
let document = yield this.services.session.datasync.document({ uniqueName: this.entityName, mode: 'open' }); | ||
return document.value; | ||
if (this.entity) { | ||
yield this.entity.close(); | ||
this.entity = null; | ||
this.entityPromise = null; | ||
} | ||
return Promise.all([ | ||
this.membersEntity.unsubscribe(), | ||
this.messagesEntity.unsubscribe() | ||
]); | ||
}); | ||
} | ||
/** | ||
* Stop listening for and firing events on this Channel. | ||
* @returns {Promise} | ||
* @private | ||
*/ | ||
_unsubscribe() { | ||
let promises = []; | ||
if (this.entityPromise) { | ||
promises.push(this.entity.close()); | ||
this.entity = null; | ||
} | ||
promises.push(this.membersEntity.unsubscribe()); | ||
promises.push(this.messagesEntity.unsubscribe()); | ||
this.entityPromise = null; | ||
this.subscribePromise = null; | ||
return Promise.all(promises); | ||
} | ||
/** | ||
* Set channel status | ||
@@ -379,9 +367,3 @@ * @private | ||
return __awaiter(this, void 0, void 0, function* () { | ||
if (this.entityPromise) { | ||
yield this._subscribe(); | ||
} | ||
else { | ||
let data = yield this._fetch(); | ||
this._update(data); | ||
} | ||
yield this._subscribe(); | ||
return this.attributes; | ||
@@ -401,3 +383,3 @@ }); | ||
if (typeof anchor !== 'undefined' && !Number.isInteger(anchor)) { | ||
return Promise.reject(new Error('Anchor should be a valid message index')); | ||
throw new Error('Anchor should be a valid message index'); | ||
} | ||
@@ -404,0 +386,0 @@ yield this._subscribeStreams(); |
{ | ||
"name": "twilio-chat", | ||
"version": "0.13.0-dev-build.332", | ||
"version": "0.13.0-dev-build.334", | ||
"description": "Twilio Chat service client library", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1935375
39048