@twilio/conversations 2.4.0 → 2.4.1-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -77,7 +77,7 @@ To consume securely use the following script snippet format:
77
77
 
78
78
  ```html
79
79
  <script
80
- src="https://media.twiliocdn.com/sdk/js/conversations/releases/2.4.0/twilio-conversations.min.js"
80
+ src="https://media.twiliocdn.com/sdk/js/conversations/releases/2.4.1/twilio-conversations.min.js"
81
81
  integrity="sha256-<HASH FROM THE CHANGELOGS PAGE>"
82
82
  crossorigin="anonymous"
83
83
  ></script>
package/builds/browser.js CHANGED
@@ -221,6 +221,7 @@ require('isomorphic-form-data');
221
221
  require('core-js/modules/es.array.sort.js');
222
222
  require('core-js/modules/es.string.includes.js');
223
223
  require('core-js/modules/es.string.starts-with.js');
224
+ require('core-js/modules/es.weak-set.js');
224
225
  var deprecationDecorator = require('@twilio/deprecation-decorator');
225
226
  require('core-js/modules/es.object.entries.js');
226
227
  require('core-js/modules/es.array.find.js');
@@ -2111,6 +2112,8 @@ var Media = /*#__PURE__*/function () {
2111
2112
  * @internal
2112
2113
  */
2113
2114
  function Media(data, services) {
2115
+ var _data$filename;
2116
+
2114
2117
  _classCallCheck__default["default"](this, Media);
2115
2118
 
2116
2119
  _defineProperty__default["default"](this, "mcsMedia", null);
@@ -2124,7 +2127,7 @@ var Media = /*#__PURE__*/function () {
2124
2127
  this.state = {
2125
2128
  sid: data.sid,
2126
2129
  category: data.category,
2127
- filename: data.filename,
2130
+ filename: (_data$filename = data.filename) !== null && _data$filename !== void 0 ? _data$filename : null,
2128
2131
  contentType: data.contentType,
2129
2132
  size: data.size
2130
2133
  };
@@ -2319,6 +2322,15 @@ var Media = /*#__PURE__*/function () {
2319
2322
  };
2320
2323
  }());
2321
2324
  }
2325
+ /**
2326
+ * @internal
2327
+ */
2328
+
2329
+ }, {
2330
+ key: "_state",
2331
+ value: function _state() {
2332
+ return this.mcsMedia ? this.mcsMedia._state() : this.state;
2333
+ }
2322
2334
  }]);
2323
2335
 
2324
2336
  return Media;
@@ -2816,6 +2828,12 @@ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) {
2816
2828
  function _createSuper$6(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$6(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
2817
2829
 
2818
2830
  function _isNativeReflectConstruct$6() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2831
+
2832
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
2833
+
2834
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
2835
+
2836
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
2819
2837
  var log$3 = Logger.scope("Message");
2820
2838
 
2821
2839
  var XHR = // eslint-disable-next-line @typescript-eslint/no-var-requires
@@ -2825,6 +2843,10 @@ global["XMLHttpRequest"] || {};
2825
2843
  */
2826
2844
 
2827
2845
 
2846
+ var _wrapMedia = /*#__PURE__*/new WeakSet();
2847
+
2848
+ var _assignMedias = /*#__PURE__*/new WeakSet();
2849
+
2828
2850
  var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
2829
2851
  _inherits__default["default"](Message, _ReplayEventEmitter);
2830
2852
 
@@ -2838,13 +2860,18 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
2838
2860
  * @internal
2839
2861
  */
2840
2862
  function Message(index, data, conversation, links, configuration, services) {
2841
- var _data$text, _data$lastUpdatedBy, _data$type, _data$memberSid, _data$channelMetadata;
2863
+ var _data$text, _data$lastUpdatedBy, _data$type, _data$memberSid, _data$channelMetadata, _data$medias, _data$media;
2842
2864
 
2843
2865
  var _this;
2844
2866
 
2845
2867
  _classCallCheck__default["default"](this, Message);
2846
2868
 
2847
2869
  _this = _super.call(this);
2870
+
2871
+ _classPrivateMethodInitSpec(_assertThisInitialized__default["default"](_this), _assignMedias);
2872
+
2873
+ _classPrivateMethodInitSpec(_assertThisInitialized__default["default"](_this), _wrapMedia);
2874
+
2848
2875
  _this.conversation = conversation;
2849
2876
  _this.links = links;
2850
2877
  _this.configuration = configuration;
@@ -2861,27 +2888,17 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
2861
2888
  lastUpdatedBy: (_data$lastUpdatedBy = data.lastUpdatedBy) !== null && _data$lastUpdatedBy !== void 0 ? _data$lastUpdatedBy : null,
2862
2889
  attributes: parseAttributes(data.attributes, "Got malformed attributes for the message ".concat(data.sid), log$3),
2863
2890
  type: (_data$type = data.type) !== null && _data$type !== void 0 ? _data$type : "text",
2864
- media: data.type === "media" && data.media ? new Media(data.media, _this.services) : null,
2865
- medias: data.type === "media" && data.medias ? data.medias.map(function (m) {
2866
- return new Media(m, _this.services);
2867
- }) : data.type === "media" && data.media && !data.medias ? [new Media(_objectSpread$4(_objectSpread$4({}, data.media), {}, {
2868
- category: "media"
2869
- }), _this.services)] : null,
2891
+ media: null,
2892
+ medias: null,
2870
2893
  participantSid: (_data$memberSid = data.memberSid) !== null && _data$memberSid !== void 0 ? _data$memberSid : null,
2871
2894
  aggregatedDeliveryReceipt: data.delivery ? new AggregatedDeliveryReceipt(data.delivery) : null,
2872
2895
  hasChannelMetadata: (_data$channelMetadata = data.channelMetadata) !== null && _data$channelMetadata !== void 0 ? _data$channelMetadata : false
2873
2896
  };
2897
+
2898
+ _classPrivateMethodGet(_assertThisInitialized__default["default"](_this), _assignMedias, _assignMedias2).call(_assertThisInitialized__default["default"](_this), (_data$medias = data.medias) !== null && _data$medias !== void 0 ? _data$medias : null, (_data$media = data.media) !== null && _data$media !== void 0 ? _data$media : null);
2899
+
2874
2900
  return _this;
2875
2901
  }
2876
- /**
2877
- * Fired when the properties or the body of the message has been updated.
2878
- *
2879
- * Parameters:
2880
- * 1. object `data` - info object provided with the event. It has the following properties:
2881
- * * {@link Message} message - the message in question
2882
- * * {@link MessageUpdateReason}[] updateReasons - array of reasons for the update
2883
- */
2884
-
2885
2902
 
2886
2903
  _createClass__default["default"](Message, [{
2887
2904
  key: "sid",
@@ -3092,6 +3109,12 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3092
3109
  }, {
3093
3110
  key: "_update",
3094
3111
  value: function _update(data) {
3112
+ var _data$medias2,
3113
+ _this2 = this,
3114
+ _this$state$medias2,
3115
+ _classPrivateMethodGe2,
3116
+ _this$state$media;
3117
+
3095
3118
  var updateReasons = [];
3096
3119
 
3097
3120
  if ((data.text || typeof data.text === "string") && data.text !== this.state.body) {
@@ -3144,6 +3167,29 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3144
3167
 
3145
3168
  updateReasons.push("deliveryReceipt");
3146
3169
  }
3170
+ } // @fixme: This is a fairly heavy check.
3171
+ // Map data back and forth to perform a necessary field massage.
3172
+
3173
+
3174
+ var input = ((_data$medias2 = data.medias) !== null && _data$medias2 !== void 0 ? _data$medias2 : []).map(function (value) {
3175
+ var _classPrivateMethodGe;
3176
+
3177
+ return (_classPrivateMethodGe = _classPrivateMethodGet(_this2, _wrapMedia, _wrapMedia2).call(_this2, value)) === null || _classPrivateMethodGe === void 0 ? void 0 : _classPrivateMethodGe._state();
3178
+ }).filter(function (el) {
3179
+ return !(el === null);
3180
+ });
3181
+ var current = ((_this$state$medias2 = this.state.medias) !== null && _this$state$medias2 !== void 0 ? _this$state$medias2 : []).map(function (value) {
3182
+ return value._state();
3183
+ }).filter(function (el) {
3184
+ return !(el === null);
3185
+ });
3186
+
3187
+ if (!isEqual__default["default"](input, current) || !isEqual__default["default"]((_classPrivateMethodGe2 = _classPrivateMethodGet(this, _wrapMedia, _wrapMedia2).call(this, data.media)) === null || _classPrivateMethodGe2 === void 0 ? void 0 : _classPrivateMethodGe2._state(), (_this$state$media = this.state.media) === null || _this$state$media === void 0 ? void 0 : _this$state$media._state())) {
3188
+ var _data$medias3, _data$media2;
3189
+
3190
+ _classPrivateMethodGet(this, _assignMedias, _assignMedias2).call(this, (_data$medias3 = data.medias) !== null && _data$medias3 !== void 0 ? _data$medias3 : null, (_data$media2 = data.media) !== null && _data$media2 !== void 0 ? _data$media2 : null);
3191
+
3192
+ updateReasons.push("media");
3147
3193
  }
3148
3194
 
3149
3195
  if (updateReasons.length > 0) {
@@ -3161,7 +3207,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3161
3207
  key: "getParticipant",
3162
3208
  value: function () {
3163
3209
  var _getParticipant = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee() {
3164
- var _this2 = this;
3210
+ var _this3 = this;
3165
3211
 
3166
3212
  var participant, errorMesage;
3167
3213
  return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
@@ -3177,7 +3223,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3177
3223
 
3178
3224
  _context.next = 4;
3179
3225
  return this.conversation.getParticipantBySid(this.state.participantSid).catch(function () {
3180
- log$3.debug("Participant with sid \"".concat(_this2.participantSid, "\" not found for message ").concat(_this2.sid));
3226
+ log$3.debug("Participant with sid \"".concat(_this3.participantSid, "\" not found for message ").concat(_this3.sid));
3181
3227
  return null;
3182
3228
  });
3183
3229
 
@@ -3192,7 +3238,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3192
3238
 
3193
3239
  _context.next = 8;
3194
3240
  return this.conversation.getParticipantByIdentity(this.state.author).catch(function () {
3195
- log$3.debug("Participant with identity \"".concat(_this2.author, "\" not found for message ").concat(_this2.sid));
3241
+ log$3.debug("Participant with identity \"".concat(_this3.author, "\" not found for message ").concat(_this3.sid));
3196
3242
  return null;
3197
3243
  });
3198
3244
 
@@ -3407,7 +3453,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3407
3453
  key: "attachTemporaryUrlsFor",
3408
3454
  value: function () {
3409
3455
  var _attachTemporaryUrlsFor = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee6(contentSet) {
3410
- var _this3 = this;
3456
+ var _this4 = this;
3411
3457
 
3412
3458
  var sids;
3413
3459
  return _regeneratorRuntime__default["default"].wrap(function _callee6$(_context6) {
@@ -3430,7 +3476,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3430
3476
 
3431
3477
  case 4:
3432
3478
  return _context6.abrupt("return", _context6.sent.map(function (item) {
3433
- return new Media(item, _this3.services);
3479
+ return new Media(item, _this4.services);
3434
3480
  }));
3435
3481
 
3436
3482
  case 7:
@@ -3473,7 +3519,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3473
3519
  }, {
3474
3520
  key: "getTemporaryContentUrlsForMediaSids",
3475
3521
  value: function getTemporaryContentUrlsForMediaSids(mediaSids) {
3476
- var _this4 = this;
3522
+ var _this5 = this;
3477
3523
 
3478
3524
  return new mcsClient.CancellablePromise( /*#__PURE__*/function () {
3479
3525
  var _ref = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee7(resolve, reject, onCancel) {
@@ -3482,9 +3528,9 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3482
3528
  while (1) {
3483
3529
  switch (_context7.prev = _context7.next) {
3484
3530
  case 0:
3485
- mediaGetRequest = _this4.services.mcsClient.mediaSetGetContentUrls(mediaSids !== null && mediaSids !== void 0 ? mediaSids : []);
3531
+ mediaGetRequest = _this5.services.mcsClient.mediaSetGetContentUrls(mediaSids !== null && mediaSids !== void 0 ? mediaSids : []);
3486
3532
 
3487
- if (!(!_this4.services.mcsClient || !mediaSids)) {
3533
+ if (!(!_this5.services.mcsClient || !mediaSids)) {
3488
3534
  _context7.next = 4;
3489
3535
  break;
3490
3536
  }
@@ -3543,7 +3589,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3543
3589
  key: "_getDetailedDeliveryReceiptsPaginator",
3544
3590
  value: function () {
3545
3591
  var _getDetailedDeliveryReceiptsPaginator2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee8(options) {
3546
- var _this5 = this;
3592
+ var _this6 = this;
3547
3593
 
3548
3594
  var messagesReceiptsUrl, url, response;
3549
3595
  return _regeneratorRuntime__default["default"].wrap(function _callee8$(_context8) {
@@ -3560,7 +3606,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3560
3606
  return _context8.abrupt("return", new RestPaginator(response.body.delivery_receipts.map(function (x) {
3561
3607
  return new DetailedDeliveryReceipt(x);
3562
3608
  }), function (pageToken, pageSize) {
3563
- return _this5._getDetailedDeliveryReceiptsPaginator({
3609
+ return _this6._getDetailedDeliveryReceiptsPaginator({
3564
3610
  pageToken: pageToken,
3565
3611
  pageSize: pageSize
3566
3612
  });
@@ -3588,7 +3634,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3588
3634
  }, {
3589
3635
  key: "getContentData",
3590
3636
  value: function getContentData() {
3591
- var _this6 = this;
3637
+ var _this7 = this;
3592
3638
 
3593
3639
  return new mcsClient.CancellablePromise( /*#__PURE__*/function () {
3594
3640
  var _ref2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee9(resolve, reject, onCancel) {
@@ -3597,7 +3643,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3597
3643
  while (1) {
3598
3644
  switch (_context9.prev = _context9.next) {
3599
3645
  case 0:
3600
- if (!(_this6.state.contentSid === null)) {
3646
+ if (!(_this7.state.contentSid === null)) {
3601
3647
  _context9.next = 3;
3602
3648
  break;
3603
3649
  }
@@ -3606,7 +3652,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3606
3652
  return _context9.abrupt("return");
3607
3653
 
3608
3654
  case 3:
3609
- bodies = _this6.getMediaByCategories(["body"]);
3655
+ bodies = _this7.getMediaByCategories(["body"]);
3610
3656
 
3611
3657
  if (!(bodies === null)) {
3612
3658
  _context9.next = 7;
@@ -3767,6 +3813,28 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3767
3813
  return Message;
3768
3814
  }(replayEventEmitter.ReplayEventEmitter);
3769
3815
 
3816
+ function _wrapMedia2(media) {
3817
+ var category = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
3818
+ return media ? category ? new Media(_objectSpread$4(_objectSpread$4({}, media), {}, {
3819
+ category: category
3820
+ }), this.services) : new Media(media, this.services) : null;
3821
+ }
3822
+
3823
+ function _assignMedias2(medias, media) {
3824
+ var _this8 = this;
3825
+
3826
+ this.state.media = _classPrivateMethodGet(this, _wrapMedia, _wrapMedia2).call(this, media); // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3827
+ // @ts-ignore
3828
+
3829
+ this.state.medias = medias ? medias.map(function (m) {
3830
+ return _classPrivateMethodGet(_this8, _wrapMedia, _wrapMedia2).call(_this8, m);
3831
+ }).filter(function (el) {
3832
+ return el !== null;
3833
+ }) : media && !medias ? [_classPrivateMethodGet(this, _wrapMedia, _wrapMedia2).call(this, media, "media")].filter(function (el) {
3834
+ return el !== null;
3835
+ }) : null;
3836
+ }
3837
+
3770
3838
  _defineProperty__default["default"](Message, "updated", "updated");
3771
3839
 
3772
3840
  __decorate([deprecationDecorator.deprecated("getMediaByCategory", "getMediaByCategories"), __metadata("design:type", Function), __metadata("design:paramtypes", [Array]), __metadata("design:returntype", Array)], Message.prototype, "getMediaByCategory", null);
@@ -7824,7 +7892,7 @@ function PushNotification(data) {
7824
7892
  this.data = data.data || {};
7825
7893
  });
7826
7894
 
7827
- var version = "2.4.0";
7895
+ var version = "2.4.1-rc.0";
7828
7896
 
7829
7897
  function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7830
7898