@twilio/conversations 2.5.0 → 2.6.0-rc.1

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.
Files changed (88) hide show
  1. package/README.md +2 -2
  2. package/builds/browser.esm.js +10730 -0
  3. package/builds/browser.esm.js.map +1 -0
  4. package/builds/browser.js +183 -9
  5. package/builds/browser.js.map +1 -1
  6. package/builds/lib.d.ts +6 -1
  7. package/builds/lib.esm.d.ts +3171 -0
  8. package/builds/lib.esm.js +10729 -0
  9. package/builds/lib.js +192 -9
  10. package/builds/lib.js.map +1 -1
  11. package/builds/twilio-conversations.js +324 -150
  12. package/builds/twilio-conversations.min.js +1 -1
  13. package/dist/aggregated-delivery-receipt.js +3 -5
  14. package/dist/aggregated-delivery-receipt.js.map +1 -1
  15. package/dist/channel-metadata-client.js +7 -9
  16. package/dist/channel-metadata-client.js.map +1 -1
  17. package/dist/client.js +207 -158
  18. package/dist/client.js.map +1 -1
  19. package/dist/command-executor.js +8 -8
  20. package/dist/command-executor.js.map +1 -1
  21. package/dist/configuration.js +12 -9
  22. package/dist/configuration.js.map +1 -1
  23. package/dist/content-client.js +11 -8
  24. package/dist/content-client.js.map +1 -1
  25. package/dist/content-template.js +3 -5
  26. package/dist/content-template.js.map +1 -1
  27. package/dist/conversation.js +113 -87
  28. package/dist/conversation.js.map +1 -1
  29. package/dist/data/conversations.js +42 -40
  30. package/dist/data/conversations.js.map +1 -1
  31. package/dist/data/messages.js +18 -22
  32. package/dist/data/messages.js.map +1 -1
  33. package/dist/data/participants.js +25 -23
  34. package/dist/data/participants.js.map +1 -1
  35. package/dist/data/users.js +15 -13
  36. package/dist/data/users.js.map +1 -1
  37. package/dist/detailed-delivery-receipt.js +3 -5
  38. package/dist/detailed-delivery-receipt.js.map +1 -1
  39. package/dist/index.js +17 -49
  40. package/dist/index.js.map +1 -1
  41. package/dist/interfaces/notification-types.js +1 -5
  42. package/dist/interfaces/notification-types.js.map +1 -1
  43. package/dist/interfaces/rules.js +13 -10
  44. package/dist/interfaces/rules.js.map +1 -1
  45. package/dist/logger.js +25 -26
  46. package/dist/logger.js.map +1 -1
  47. package/dist/media.js +11 -8
  48. package/dist/media.js.map +1 -1
  49. package/dist/message-builder.js +48 -40
  50. package/dist/message-builder.js.map +1 -1
  51. package/dist/message-recipients-client.js +10 -12
  52. package/dist/message-recipients-client.js.map +1 -1
  53. package/dist/message.js +88 -75
  54. package/dist/message.js.map +1 -1
  55. package/dist/node_modules/quick-lru/index.js +1 -5
  56. package/dist/node_modules/quick-lru/index.js.map +1 -1
  57. package/dist/node_modules/tslib/tslib.es6.js +1 -7
  58. package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
  59. package/dist/packages/conversations/package.json.js +2 -6
  60. package/dist/packages/conversations/package.json.js.map +1 -1
  61. package/dist/participant.js +34 -29
  62. package/dist/participant.js.map +1 -1
  63. package/dist/push-notification.js +5 -4
  64. package/dist/push-notification.js.map +1 -1
  65. package/dist/rest-paginator.js +6 -4
  66. package/dist/rest-paginator.js.map +1 -1
  67. package/dist/services/network.js +3 -7
  68. package/dist/services/network.js.map +1 -1
  69. package/dist/services/typing-indicator.js +11 -8
  70. package/dist/services/typing-indicator.js.map +1 -1
  71. package/dist/unsent-message.js +9 -8
  72. package/dist/unsent-message.js.map +1 -1
  73. package/dist/user.js +27 -24
  74. package/dist/user.js.map +1 -1
  75. package/dist/util/deferred.js +6 -4
  76. package/dist/util/deferred.js.map +1 -1
  77. package/dist/util/index.js +1 -9
  78. package/dist/util/index.js.map +1 -1
  79. package/docs/assets/js/search.js +1 -1
  80. package/docs/classes/Client.html +4 -4
  81. package/docs/classes/Media.html +2 -2
  82. package/docs/classes/Message.html +8 -8
  83. package/docs/classes/MessageBuilder.html +2 -2
  84. package/docs/classes/UnsentMessage.html +2 -2
  85. package/docs/index.html +3 -7
  86. package/docs/modules.html +2 -6
  87. package/package.json +2 -2
  88. package/docs/classes/CancellablePromise.html +0 -3213
@@ -126,8 +126,6 @@ This software includes platform.js under the following license.
126
126
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
127
127
 
128
128
  */
129
- 'use strict';
130
-
131
129
  var global =
132
130
  typeof global !== "undefined"
133
131
  ? global
@@ -137,16 +135,14 @@ var global =
137
135
  ? window
138
136
  : {};
139
137
 
140
- Object.defineProperty(exports, '__esModule', { value: true });
141
-
142
- var user = require('../user.js');
143
- var index = require('../util/index.js');
144
- var replayEventEmitter = require('@twilio/replay-event-emitter');
138
+ import { User } from '../user.js';
139
+ import { UriBuilder } from '../util/index.js';
140
+ import { ReplayEventEmitter } from '@twilio/replay-event-emitter';
145
141
 
146
142
  /**
147
143
  * Container for known users
148
144
  */
149
- class Users extends replayEventEmitter.ReplayEventEmitter {
145
+ class Users extends ReplayEventEmitter {
150
146
  constructor(myself, configuration, services) {
151
147
  super();
152
148
  this.configuration = configuration;
@@ -201,12 +197,12 @@ class Users extends replayEventEmitter.ReplayEventEmitter {
201
197
  if (identity == this.myself.identity) {
202
198
  return this.myself;
203
199
  }
204
- const user$1 = this.subscribedUsers.get(identity);
205
- if (user$1) {
206
- return user$1;
200
+ const user = this.subscribedUsers.get(identity);
201
+ if (user) {
202
+ return user;
207
203
  }
208
204
  entityName !== null && entityName !== void 0 ? entityName : (entityName = await this.getSyncUniqueName(identity));
209
- const newUser = new user.User(identity, entityName, this.configuration, this.services);
205
+ const newUser = new User(identity, entityName, this.configuration, this.services);
210
206
  newUser.on("updated", (args) => this.emit("userUpdated", args));
211
207
  newUser.on("userSubscribed", () => this.handleSubscribeUser(newUser));
212
208
  newUser.on("userUnsubscribed", () => this.handleUnsubscribeUser(newUser));
@@ -227,7 +223,7 @@ class Users extends replayEventEmitter.ReplayEventEmitter {
227
223
  */
228
224
  async getSyncUniqueName(identity) {
229
225
  var _a, _b;
230
- const url = new index.UriBuilder(this.configuration.links.users)
226
+ const url = new UriBuilder(this.configuration.links.users)
231
227
  .path(identity)
232
228
  .build();
233
229
  const response = await this.services.network.get(url);
@@ -235,5 +231,11 @@ class Users extends replayEventEmitter.ReplayEventEmitter {
235
231
  }
236
232
  }
237
233
 
234
+ export { Users };
235
+ //# sourceMappingURL=users.js.map
236
+ nfo_map) !== null && _b !== void 0 ? _b : "";
237
+ }
238
+ }
239
+
238
240
  exports.Users = Users;
239
241
  //# sourceMappingURL=users.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sources":["../../src/data/users.ts"],"sourcesContent":["import { User, UserUpdatedEventArgs, UserUpdateReason } from \"../user\";\nimport { Network } from \"../services/network\";\nimport { SyncClient } from \"twilio-sync\";\nimport { UriBuilder } from \"../util\";\nimport { Configuration } from \"../configuration\";\nimport { CommandExecutor } from \"../command-executor\";\nimport { ReplayEventEmitter } from \"@twilio/replay-event-emitter\";\nimport { UserResponse } from \"../interfaces/commands/user\";\n\ntype UsersEvents = {\n userUpdated: (data: {\n user: User;\n updateReasons: UserUpdateReason[];\n }) => void;\n userSubscribed: (user: User) => void;\n userUnsubscribed: (user: User) => void;\n};\n\nexport interface UsersServices {\n network: Network;\n syncClient: SyncClient;\n commandExecutor: CommandExecutor;\n}\n\n/**\n * Container for known users\n */\nclass Users extends ReplayEventEmitter<UsersEvents> {\n private readonly configuration: Configuration;\n private readonly services: UsersServices;\n\n private subscribedUsers: Map<string, User>;\n private fifoStack: string[];\n public readonly myself: User;\n\n constructor(\n myself: User,\n configuration: Configuration,\n services: UsersServices\n ) {\n super();\n\n this.configuration = configuration;\n this.services = services;\n\n this.fifoStack = [];\n this.myself = myself;\n this.myself.on(\"updated\", (args: UserUpdatedEventArgs) =>\n this.emit(\"userUpdated\", args)\n );\n this.myself.on(\"userSubscribed\", () =>\n this.emit(\"userSubscribed\", this.myself)\n );\n this.myself.on(\"userUnsubscribed\", () => {\n this.emit(\"userUnsubscribed\", this.myself);\n this.myself._ensureFetched();\n });\n\n this.subscribedUsers = new Map<string, User>();\n }\n\n private handleUnsubscribeUser(user: User): void {\n if (this.subscribedUsers.has(user.identity)) {\n this.subscribedUsers.delete(user.identity);\n }\n let foundItemIndex = 0;\n const foundItem = this.fifoStack.find((item, index) => {\n if (item == user.identity) {\n foundItemIndex = index;\n return true;\n }\n return false;\n });\n if (foundItem) {\n this.fifoStack.splice(foundItemIndex, 1);\n }\n this.emit(\"userUnsubscribed\", user);\n }\n\n private handleSubscribeUser(user: User): void {\n if (this.subscribedUsers.has(user.identity)) {\n return;\n }\n if (this.fifoStack.length >= this.configuration.userInfosToSubscribe) {\n const item = this.fifoStack.shift() as string;\n this.subscribedUsers?.get(item)?.unsubscribe();\n }\n this.fifoStack.push(user.identity);\n this.subscribedUsers.set(user.identity, user);\n this.emit(\"userSubscribed\", user);\n }\n\n /**\n * Gets user, if it's in subscribed list - then return the user object from it,\n * if not - then subscribes and adds user to the FIFO stack\n * @returns {Promise<User>} Fully initialized user\n */\n async getUser(identity: string, entityName?: string): Promise<User> {\n await this.myself._ensureFetched();\n\n if (identity == this.myself.identity) {\n return this.myself;\n }\n\n const user = this.subscribedUsers.get(identity);\n\n if (user) {\n return user;\n }\n\n entityName ??= await this.getSyncUniqueName(identity);\n\n const newUser = new User(\n identity,\n entityName,\n this.configuration,\n this.services\n );\n\n newUser.on(\"updated\", (args: UserUpdatedEventArgs) =>\n this.emit(\"userUpdated\", args)\n );\n newUser.on(\"userSubscribed\", () => this.handleSubscribeUser(newUser));\n newUser.on(\"userUnsubscribed\", () => this.handleUnsubscribeUser(newUser));\n await newUser._ensureFetched();\n\n return newUser;\n }\n\n /**\n * @returns {Promise<Array<User>>} returns list of subscribed User objects {@see User}\n */\n async getSubscribedUsers(): Promise<Array<User>> {\n await this.myself._ensureFetched();\n\n const users = [this.myself];\n this.subscribedUsers.forEach((user) => users.push(user));\n\n return users;\n }\n\n /**\n * @returns {Promise<string>} User's sync unique name\n */\n private async getSyncUniqueName(identity: string): Promise<string> {\n const url = new UriBuilder(this.configuration.links.users)\n .path(identity)\n .build();\n const response = await this.services.network.get<UserResponse>(url);\n return response.body?.sync_objects.user_info_map ?? \"\";\n }\n}\n\nexport { Users };\n"],"names":["ReplayEventEmitter","user","User","UriBuilder"],"mappings":"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"}
1
+ {"version":3,"file":"users.js","sources":["../../src/data/users.ts"],"sourcesContent":["import { User, UserUpdatedEventArgs, UserUpdateReason } from \"../user\";\nimport { Network } from \"../services/network\";\nimport { SyncClient } from \"twilio-sync\";\nimport { UriBuilder } from \"../util\";\nimport { Configuration } from \"../configuration\";\nimport { CommandExecutor } from \"../command-executor\";\nimport { ReplayEventEmitter } from \"@twilio/replay-event-emitter\";\nimport { UserResponse } from \"../interfaces/commands/user\";\n\ntype UsersEvents = {\n userUpdated: (data: {\n user: User;\n updateReasons: UserUpdateReason[];\n }) => void;\n userSubscribed: (user: User) => void;\n userUnsubscribed: (user: User) => void;\n};\n\nexport interface UsersServices {\n network: Network;\n syncClient: SyncClient;\n commandExecutor: CommandExecutor;\n}\n\n/**\n * Container for known users\n */\nclass Users extends ReplayEventEmitter<UsersEvents> {\n private readonly configuration: Configuration;\n private readonly services: UsersServices;\n\n private subscribedUsers: Map<string, User>;\n private fifoStack: string[];\n public readonly myself: User;\n\n constructor(\n myself: User,\n configuration: Configuration,\n services: UsersServices\n ) {\n super();\n\n this.configuration = configuration;\n this.services = services;\n\n this.fifoStack = [];\n this.myself = myself;\n this.myself.on(\"updated\", (args: UserUpdatedEventArgs) =>\n this.emit(\"userUpdated\", args)\n );\n this.myself.on(\"userSubscribed\", () =>\n this.emit(\"userSubscribed\", this.myself)\n );\n this.myself.on(\"userUnsubscribed\", () => {\n this.emit(\"userUnsubscribed\", this.myself);\n this.myself._ensureFetched();\n });\n\n this.subscribedUsers = new Map<string, User>();\n }\n\n private handleUnsubscribeUser(user: User): void {\n if (this.subscribedUsers.has(user.identity)) {\n this.subscribedUsers.delete(user.identity);\n }\n let foundItemIndex = 0;\n const foundItem = this.fifoStack.find((item, index) => {\n if (item == user.identity) {\n foundItemIndex = index;\n return true;\n }\n return false;\n });\n if (foundItem) {\n this.fifoStack.splice(foundItemIndex, 1);\n }\n this.emit(\"userUnsubscribed\", user);\n }\n\n private handleSubscribeUser(user: User): void {\n if (this.subscribedUsers.has(user.identity)) {\n return;\n }\n if (this.fifoStack.length >= this.configuration.userInfosToSubscribe) {\n const item = this.fifoStack.shift() as string;\n this.subscribedUsers?.get(item)?.unsubscribe();\n }\n this.fifoStack.push(user.identity);\n this.subscribedUsers.set(user.identity, user);\n this.emit(\"userSubscribed\", user);\n }\n\n /**\n * Gets user, if it's in subscribed list - then return the user object from it,\n * if not - then subscribes and adds user to the FIFO stack\n * @returns {Promise<User>} Fully initialized user\n */\n async getUser(identity: string, entityName?: string): Promise<User> {\n await this.myself._ensureFetched();\n\n if (identity == this.myself.identity) {\n return this.myself;\n }\n\n const user = this.subscribedUsers.get(identity);\n\n if (user) {\n return user;\n }\n\n entityName ??= await this.getSyncUniqueName(identity);\n\n const newUser = new User(\n identity,\n entityName,\n this.configuration,\n this.services\n );\n\n newUser.on(\"updated\", (args: UserUpdatedEventArgs) =>\n this.emit(\"userUpdated\", args)\n );\n newUser.on(\"userSubscribed\", () => this.handleSubscribeUser(newUser));\n newUser.on(\"userUnsubscribed\", () => this.handleUnsubscribeUser(newUser));\n await newUser._ensureFetched();\n\n return newUser;\n }\n\n /**\n * @returns {Promise<Array<User>>} returns list of subscribed User objects {@see User}\n */\n async getSubscribedUsers(): Promise<Array<User>> {\n await this.myself._ensureFetched();\n\n const users = [this.myself];\n this.subscribedUsers.forEach((user) => users.push(user));\n\n return users;\n }\n\n /**\n * @returns {Promise<string>} User's sync unique name\n */\n private async getSyncUniqueName(identity: string): Promise<string> {\n const url = new UriBuilder(this.configuration.links.users)\n .path(identity)\n .build();\n const response = await this.services.network.get<UserResponse>(url);\n return response.body?.sync_objects.user_info_map ?? \"\";\n }\n}\n\nexport { Users };\n"],"names":[],"mappings":"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"}A,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC;KACxD;AACF;;;;"}
@@ -126,8 +126,6 @@ This software includes platform.js under the following license.
126
126
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
127
127
 
128
128
  */
129
- 'use strict';
130
-
131
129
  var global =
132
130
  typeof global !== "undefined"
133
131
  ? global
@@ -137,8 +135,6 @@ var global =
137
135
  ? window
138
136
  : {};
139
137
 
140
- Object.defineProperty(exports, '__esModule', { value: true });
141
-
142
138
  /**
143
139
  * Represents a delivery receipt of a message.
144
140
  */
@@ -159,5 +155,7 @@ class DetailedDeliveryReceipt {
159
155
  }
160
156
  }
161
157
 
162
- exports.DetailedDeliveryReceipt = DetailedDeliveryReceipt;
158
+ export { DetailedDeliveryReceipt };
159
+ //# sourceMappingURL=detailed-delivery-receipt.js.map
160
+ ailedDeliveryReceipt = DetailedDeliveryReceipt;
163
161
  //# sourceMappingURL=detailed-delivery-receipt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detailed-delivery-receipt.js","sources":["../src/detailed-delivery-receipt.ts"],"sourcesContent":["/**\n * Message delivery status.\n */\ntype DeliveryStatus =\n | \"sent\"\n | \"delivered\"\n | \"failed\"\n | \"read\"\n | \"undelivered\"\n | \"queued\";\n\ninterface DetailedDeliveryReceiptDescriptor {\n sid: string;\n message_sid: string;\n conversation_sid: string;\n channel_message_sid: string;\n participant_sid: string;\n status: DeliveryStatus;\n error_code: string | null;\n date_created: string;\n date_updated: string;\n}\n\n/**\n * Represents a delivery receipt of a message.\n */\nclass DetailedDeliveryReceipt {\n /**\n * Unique identifier for the delivery receipt.\n */\n sid: string;\n\n /**\n * Unique identifier for the message in the conversation.\n */\n messageSid: string;\n\n /**\n * Unique identifier for the conversation.\n */\n conversationSid: string;\n\n /**\n * Unique identifier for the `‘channel’` message (e.g., `WAxx` for WhatsApp, `SMxx` for SMS).\n */\n channelMessageSid: string;\n\n /**\n * Unique identifier for the participant.\n */\n participantSid: string;\n\n /**\n * Status of the message delivery.\n */\n status: DeliveryStatus;\n\n /**\n * Numeric error code mapped from Status callback code. Information about the error codes can be found\n * [here](https://www.twilio.com/docs/sms/api/message-resource#delivery-related-errors).\n */\n errorCode: string | 0;\n\n /**\n * Date this delivery receipt was created on.\n */\n dateCreated: string;\n\n /**\n * Date this delivery receipt was last updated on.\n */\n dateUpdated: string;\n\n /**\n * @internal\n */\n constructor(descriptor: DetailedDeliveryReceiptDescriptor) {\n this.sid = descriptor.sid;\n this.messageSid = descriptor.message_sid;\n this.conversationSid = descriptor.conversation_sid;\n this.channelMessageSid = descriptor.channel_message_sid;\n this.participantSid = descriptor.participant_sid;\n this.status = descriptor.status || \"queued\";\n this.errorCode = descriptor.error_code || 0;\n this.dateCreated = descriptor.date_created;\n this.dateUpdated = descriptor.date_updated;\n }\n}\n\nexport {\n DetailedDeliveryReceipt,\n DetailedDeliveryReceiptDescriptor,\n DeliveryStatus,\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA;;AAEG;AACH,MAAM,uBAAuB,CAAA;AA+C3B;;AAEG;AACH,IAAA,WAAA,CAAY,UAA6C,EAAA;AACvD,QAAA,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC;AACzC,QAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,gBAAgB,CAAC;AACnD,QAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,mBAAmB,CAAC;AACxD,QAAA,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,QAAQ,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC;AAC3C,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC;KAC5C;AACF;;;;"}
1
+ {"version":3,"file":"detailed-delivery-receipt.js","sources":["../src/detailed-delivery-receipt.ts"],"sourcesContent":["/**\n * Message delivery status.\n */\ntype DeliveryStatus =\n | \"sent\"\n | \"delivered\"\n | \"failed\"\n | \"read\"\n | \"undelivered\"\n | \"queued\";\n\ninterface DetailedDeliveryReceiptDescriptor {\n sid: string;\n message_sid: string;\n conversation_sid: string;\n channel_message_sid: string;\n participant_sid: string;\n status: DeliveryStatus;\n error_code: string | null;\n date_created: string;\n date_updated: string;\n}\n\n/**\n * Represents a delivery receipt of a message.\n */\nclass DetailedDeliveryReceipt {\n /**\n * Unique identifier for the delivery receipt.\n */\n sid: string;\n\n /**\n * Unique identifier for the message in the conversation.\n */\n messageSid: string;\n\n /**\n * Unique identifier for the conversation.\n */\n conversationSid: string;\n\n /**\n * Unique identifier for the `‘channel’` message (e.g., `WAxx` for WhatsApp, `SMxx` for SMS).\n */\n channelMessageSid: string;\n\n /**\n * Unique identifier for the participant.\n */\n participantSid: string;\n\n /**\n * Status of the message delivery.\n */\n status: DeliveryStatus;\n\n /**\n * Numeric error code mapped from Status callback code. Information about the error codes can be found\n * [here](https://www.twilio.com/docs/sms/api/message-resource#delivery-related-errors).\n */\n errorCode: string | 0;\n\n /**\n * Date this delivery receipt was created on.\n */\n dateCreated: string;\n\n /**\n * Date this delivery receipt was last updated on.\n */\n dateUpdated: string;\n\n /**\n * @internal\n */\n constructor(descriptor: DetailedDeliveryReceiptDescriptor) {\n this.sid = descriptor.sid;\n this.messageSid = descriptor.message_sid;\n this.conversationSid = descriptor.conversation_sid;\n this.channelMessageSid = descriptor.channel_message_sid;\n this.participantSid = descriptor.participant_sid;\n this.status = descriptor.status || \"queued\";\n this.errorCode = descriptor.error_code || 0;\n this.dateCreated = descriptor.date_created;\n this.dateUpdated = descriptor.date_updated;\n }\n}\n\nexport {\n DetailedDeliveryReceipt,\n DetailedDeliveryReceiptDescriptor,\n DeliveryStatus,\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA;;AAEG;AACH,MAAM,uBAAuB,CAAA;AA+C3B;;AAEG;AACH,IAAA,WAAA,CAAY,UAA6C,EAAA;AACvD,QAAA,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC;AACzC,QAAA,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,gBAAgB,CAAC;AACnD,QAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,mBAAmB,CAAC;AACxD,QAAA,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,QAAQ,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC;AAC3C,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC;KAC5C;AACF;;;;"};;"}
package/dist/index.js CHANGED
@@ -126,8 +126,6 @@ This software includes platform.js under the following license.
126
126
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
127
127
 
128
128
  */
129
- 'use strict';
130
-
131
129
  var global =
132
130
  typeof global !== "undefined"
133
131
  ? global
@@ -137,51 +135,21 @@ var global =
137
135
  ? window
138
136
  : {};
139
137
 
140
- Object.defineProperty(exports, '__esModule', { value: true });
141
-
142
- var client = require('./client.js');
143
- var mcsClient = require('@twilio/mcs-client');
144
- var conversation = require('./conversation.js');
145
- var participant = require('./participant.js');
146
- var message = require('./message.js');
147
- var media = require('./media.js');
148
- var aggregatedDeliveryReceipt = require('./aggregated-delivery-receipt.js');
149
- var detailedDeliveryReceipt = require('./detailed-delivery-receipt.js');
150
- var restPaginator = require('./rest-paginator.js');
151
- var messageBuilder = require('./message-builder.js');
152
- var unsentMessage = require('./unsent-message.js');
153
- var user = require('./user.js');
154
- var pushNotification = require('./push-notification.js');
155
- var notificationTypes = require('./interfaces/notification-types.js');
156
- var contentTemplate = require('./content-template.js');
157
- var channelMetadataClient = require('./channel-metadata-client.js');
158
- var messageRecipientsClient = require('./message-recipients-client.js');
159
-
160
-
161
-
162
- Object.defineProperty(exports, 'Client', {
163
- enumerable: true,
164
- get: function () { return client.Client; }
165
- });
166
- Object.defineProperty(exports, 'CancellablePromise', {
167
- enumerable: true,
168
- get: function () { return mcsClient.CancellablePromise; }
169
- });
170
- exports.Conversation = conversation.Conversation;
171
- exports.Participant = participant.Participant;
172
- exports.Message = message.Message;
173
- exports.Media = media.Media;
174
- exports.AggregatedDeliveryReceipt = aggregatedDeliveryReceipt.AggregatedDeliveryReceipt;
175
- exports.DetailedDeliveryReceipt = detailedDeliveryReceipt.DetailedDeliveryReceipt;
176
- exports.RestPaginator = restPaginator.RestPaginator;
177
- exports.MessageBuilder = messageBuilder.MessageBuilder;
178
- exports.UnsentMessage = unsentMessage.UnsentMessage;
179
- exports.User = user.User;
180
- exports.PushNotification = pushNotification.PushNotification;
181
- exports.NotificationTypes = notificationTypes.NotificationTypes;
182
- exports.ContentTemplate = contentTemplate.ContentTemplate;
183
- exports.ContentTemplateVariable = contentTemplate.ContentTemplateVariable;
184
- exports.ChannelMetadata = channelMetadataClient.ChannelMetadata;
185
- exports.EmailRecipientDescriptor = messageRecipientsClient.EmailRecipientDescriptor;
186
- exports.UnknownRecipientDescriptor = messageRecipientsClient.UnknownRecipientDescriptor;
138
+ export { Client } from './client.js';
139
+ export { CancellablePromise } from '@twilio/mcs-client';
140
+ export { Conversation } from './conversation.js';
141
+ export { Participant } from './participant.js';
142
+ export { Message } from './message.js';
143
+ export { Media } from './media.js';
144
+ export { AggregatedDeliveryReceipt } from './aggregated-delivery-receipt.js';
145
+ export { DetailedDeliveryReceipt } from './detailed-delivery-receipt.js';
146
+ export { RestPaginator } from './rest-paginator.js';
147
+ export { MessageBuilder } from './message-builder.js';
148
+ export { UnsentMessage } from './unsent-message.js';
149
+ export { User } from './user.js';
150
+ export { PushNotification } from './push-notification.js';
151
+ export { NotificationTypes } from './interfaces/notification-types.js';
152
+ export { ContentTemplate, ContentTemplateVariable } from './content-template.js';
153
+ export { ChannelMetadata } from './channel-metadata-client.js';
154
+ export { EmailRecipientDescriptor, UnknownRecipientDescriptor } from './message-recipients-client.js';
187
155
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -126,8 +126,6 @@ This software includes platform.js under the following license.
126
126
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
127
127
 
128
128
  */
129
- 'use strict';
130
-
131
129
  var global =
132
130
  typeof global !== "undefined"
133
131
  ? global
@@ -137,8 +135,6 @@ var global =
137
135
  ? window
138
136
  : {};
139
137
 
140
- Object.defineProperty(exports, '__esModule', { value: true });
141
-
142
138
  class NotificationTypes {
143
139
  }
144
140
  NotificationTypes.TYPING_INDICATOR = "twilio.ipmsg.typing_indicator";
@@ -148,5 +144,5 @@ NotificationTypes.ADDED_TO_CONVERSATION = "twilio.conversations.added_to_convers
148
144
  NotificationTypes.REMOVED_FROM_CONVERSATION = "twilio.conversations.removed_from_conversation";
149
145
  NotificationTypes.CONSUMPTION_UPDATE = "twilio.channel.consumption_update";
150
146
 
151
- exports.NotificationTypes = NotificationTypes;
147
+ export { NotificationTypes };
152
148
  //# sourceMappingURL=notification-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification-types.js","sources":["../../src/interfaces/notification-types.ts"],"sourcesContent":["class NotificationTypes {\n static readonly TYPING_INDICATOR = \"twilio.ipmsg.typing_indicator\";\n static readonly NEW_MESSAGE = \"twilio.conversations.new_message\";\n static readonly ADDED_TO_CONVERSATION =\n \"twilio.conversations.added_to_conversation\";\n // static readonly INVITED_TO_CHANNEL = 'twilio.channel.invited_to_channel';\n static readonly REMOVED_FROM_CONVERSATION =\n \"twilio.conversations.removed_from_conversation\";\n static readonly CONSUMPTION_UPDATE = \"twilio.channel.consumption_update\";\n}\n\nexport { NotificationTypes };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,iBAAiB,CAAA;;AACL,iBAAgB,CAAA,gBAAA,GAAG,+BAA+B,CAAC;AACnD,iBAAW,CAAA,WAAA,GAAG,kCAAkC,CAAC;AACjD,iBAAqB,CAAA,qBAAA,GACnC,4CAA4C,CAAC;AAC/C;AACgB,iBAAyB,CAAA,yBAAA,GACvC,gDAAgD,CAAC;AACnC,iBAAkB,CAAA,kBAAA,GAAG,mCAAmC;;;;"}
1
+ {"version":3,"file":"notification-types.js","sources":["../../src/interfaces/notification-types.ts"],"sourcesContent":["class NotificationTypes {\n static readonly TYPING_INDICATOR = \"twilio.ipmsg.typing_indicator\";\n static readonly NEW_MESSAGE = \"twilio.conversations.new_message\";\n static readonly ADDED_TO_CONVERSATION =\n \"twilio.conversations.added_to_conversation\";\n // static readonly INVITED_TO_CHANNEL = 'twilio.channel.invited_to_channel';\n static readonly REMOVED_FROM_CONVERSATION =\n \"twilio.conversations.removed_from_conversation\";\n static readonly CONSUMPTION_UPDATE = \"twilio.channel.consumption_update\";\n}\n\nexport { NotificationTypes };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,iBAAiB,CAAA;;AACL,iBAAgB,CAAA,gBAAA,GAAG,+BAA+B,CAAC;AACnD,iBAAW,CAAA,WAAA,GAAG,kCAAkC,CAAC;AACjD,iBAAqB,CAAA,qBAAA,GACnC,4CAA4C,CAAC;AAC/C;AACgB,iBAAyB,CAAA,yBAAA,GACvC,gDAAgD,CAAC;AACnC,iBAAkB,CAAA,kBAAA,GAAG,mCAAmC;;;;"}
@@ -126,8 +126,6 @@ This software includes platform.js under the following license.
126
126
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
127
127
 
128
128
  */
129
- 'use strict';
130
-
131
129
  var global =
132
130
  typeof global !== "undefined"
133
131
  ? global
@@ -137,29 +135,34 @@ var global =
137
135
  ? window
138
136
  : {};
139
137
 
140
- Object.defineProperty(exports, '__esModule', { value: true });
141
-
142
- var declarativeTypeValidator = require('@twilio/declarative-type-validator');
138
+ import { custom, objectSchema, literal } from '@twilio/declarative-type-validator';
143
139
 
144
- const json = declarativeTypeValidator.custom((value) => [
140
+ const json = custom((value) => [
145
141
  ["string", "number", "boolean", "object"].includes(typeof value),
146
142
  "a JSON type",
147
143
  ]);
148
- const optionalJson = declarativeTypeValidator.custom((value) => [
144
+ const optionalJson = custom((value) => [
149
145
  ["undefined", "string", "number", "boolean", "object"].includes(typeof value),
150
146
  "an optional JSON type",
151
147
  ]);
152
- const sendMediaOptions = declarativeTypeValidator.objectSchema("send media options", {
153
- contentType: [declarativeTypeValidator.literal(null), "string"],
148
+ const sendMediaOptions = objectSchema("send media options", {
149
+ contentType: [literal(null), "string"],
154
150
  filename: ["string", "undefined"],
155
151
  media: [
156
- declarativeTypeValidator.literal("null"),
152
+ literal("null"),
157
153
  "string",
158
154
  ...(typeof Buffer === "function" ? [Buffer] : []),
159
155
  ...(typeof Blob === "function" ? [Blob] : []),
160
156
  ],
161
157
  });
162
158
 
159
+ export { json, optionalJson, sendMediaOptions };
160
+ //# sourceMappingURL=rules.js.map
161
+ (typeof Buffer === "function" ? [Buffer] : []),
162
+ ...(typeof Blob === "function" ? [Blob] : []),
163
+ ],
164
+ });
165
+
163
166
  exports.json = json;
164
167
  exports.optionalJson = optionalJson;
165
168
  exports.sendMediaOptions = sendMediaOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sources":["../../src/interfaces/rules.ts"],"sourcesContent":["import {\n custom,\n literal,\n objectSchema,\n} from \"@twilio/declarative-type-validator\";\n\nexport const json = custom((value) => [\n [\"string\", \"number\", \"boolean\", \"object\"].includes(typeof value),\n \"a JSON type\",\n]);\n\nexport const optionalJson = custom((value) => [\n [\"undefined\", \"string\", \"number\", \"boolean\", \"object\"].includes(typeof value),\n \"an optional JSON type\",\n]);\n\nexport const sendMediaOptions = objectSchema(\"send media options\", {\n contentType: [literal(null), \"string\"],\n filename: [\"string\", \"undefined\"],\n media: [\n literal(\"null\"),\n \"string\",\n ...(typeof Buffer === \"function\" ? [Buffer] : []),\n ...(typeof Blob === \"function\" ? [Blob] : []),\n ],\n});\n"],"names":["custom","objectSchema","literal"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMa,MAAA,IAAI,GAAGA,+BAAM,CAAC,CAAC,KAAK,KAAK;AACpC,IAAA,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC;IAChE,aAAa;AACd,CAAA,EAAE;AAEU,MAAA,YAAY,GAAGA,+BAAM,CAAC,CAAC,KAAK,KAAK;AAC5C,IAAA,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC;IAC7E,uBAAuB;AACxB,CAAA,EAAE;AAEU,MAAA,gBAAgB,GAAGC,qCAAY,CAAC,oBAAoB,EAAE;IACjE,WAAW,EAAE,CAACC,gCAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;AACtC,IAAA,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;AACjC,IAAA,KAAK,EAAE;QACLA,gCAAO,CAAC,MAAM,CAAC;QACf,QAAQ;AACR,QAAA,IAAI,OAAO,MAAM,KAAK,UAAU,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AACjD,QAAA,IAAI,OAAO,IAAI,KAAK,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC9C,KAAA;AACF,CAAA;;;;;;"}
1
+ {"version":3,"file":"rules.js","sources":["../../src/interfaces/rules.ts"],"sourcesContent":["import {\n custom,\n literal,\n objectSchema,\n} from \"@twilio/declarative-type-validator\";\n\nexport const json = custom((value) => [\n [\"string\", \"number\", \"boolean\", \"object\"].includes(typeof value),\n \"a JSON type\",\n]);\n\nexport const optionalJson = custom((value) => [\n [\"undefined\", \"string\", \"number\", \"boolean\", \"object\"].includes(typeof value),\n \"an optional JSON type\",\n]);\n\nexport const sendMediaOptions = objectSchema(\"send media options\", {\n contentType: [literal(null), \"string\"],\n filename: [\"string\", \"undefined\"],\n media: [\n literal(\"null\"),\n \"string\",\n ...(typeof Buffer === \"function\" ? [Buffer] : []),\n ...(typeof Blob === \"function\" ? [Blob] : []),\n ],\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMa,MAAA,IAAI,GAAG,MAAM,CAAC,CAAC,KAAK,KAAK;AACpC,IAAA,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC;IAChE,aAAa;AACd,CAAA,EAAE;AAEU,MAAA,YAAY,GAAG,MAAM,CAAC,CAAC,KAAK,KAAK;AAC5C,IAAA,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC;IAC7E,uBAAuB;AACxB,CAAA,EAAE;AAEU,MAAA,gBAAgB,GAAG,YAAY,CAAC,oBAAoB,EAAE;IACjE,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;AACtC,IAAA,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;AACjC,IAAA,KAAK,EAAE;QACL,OAAO,CAAC,MAAM,CAAC;QACf,QAAQ;AACR,QAAA,IAAI,OAAO,MAAM,KAAK,UAAU,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AACjD,QAAA,IAAI,OAAO,IAAI,KAAK,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC9C,KAAA;AACF,CAAA;;;;"},CAAC,GAAG,EAAE,CAAC;AAC9C,KAAA;AACF,CAAA;;;;;;"}
package/dist/logger.js CHANGED
@@ -126,8 +126,6 @@ This software includes platform.js under the following license.
126
126
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
127
127
 
128
128
  */
129
- 'use strict';
130
-
131
129
  var global =
132
130
  typeof global !== "undefined"
133
131
  ? global
@@ -137,34 +135,12 @@ var global =
137
135
  ? window
138
136
  : {};
139
137
 
140
- Object.defineProperty(exports, '__esModule', { value: true });
141
-
142
- var loglevelLog = require('loglevel');
143
-
144
- function _interopNamespace(e) {
145
- if (e && e.__esModule) return e;
146
- var n = Object.create(null);
147
- if (e) {
148
- Object.keys(e).forEach(function (k) {
149
- if (k !== 'default') {
150
- var d = Object.getOwnPropertyDescriptor(e, k);
151
- Object.defineProperty(n, k, d.get ? d : {
152
- enumerable: true,
153
- get: function () { return e[k]; }
154
- });
155
- }
156
- });
157
- }
158
- n["default"] = e;
159
- return Object.freeze(n);
160
- }
161
-
162
- var loglevelLog__namespace = /*#__PURE__*/_interopNamespace(loglevelLog);
138
+ import * as loglevelLog from 'loglevel';
163
139
 
164
140
  function prepareLine(prefix, args) {
165
141
  return [`${new Date().toISOString()} Conversations ${prefix}:`].concat(Array.from(args));
166
142
  }
167
- const log = loglevelLog__namespace.getLogger("twilio-conversations"); // twilio-conversations is used by Flex SDK. Please DO NOT change
143
+ const log = loglevelLog.getLogger("twilio-conversations"); // twilio-conversations is used by Flex SDK. Please DO NOT change
168
144
  class Logger {
169
145
  constructor(prefix) {
170
146
  this.prefix = "";
@@ -218,5 +194,28 @@ class Logger {
218
194
  }
219
195
  }
220
196
 
197
+ export { Logger };
198
+ //# sourceMappingURL=logger.js.map
199
+ reLine(this.prefix + "E", args));
200
+ }
201
+ static trace(...args) {
202
+ if (log.getLevel() == log.levels.TRACE) {
203
+ log.debug.apply(null, prepareLine("T", args));
204
+ }
205
+ }
206
+ static debug(...args) {
207
+ log.debug.apply(null, prepareLine("D", args));
208
+ }
209
+ static info(...args) {
210
+ log.info.apply(null, prepareLine("I", args));
211
+ }
212
+ static warn(...args) {
213
+ log.warn.apply(null, prepareLine("W", args));
214
+ }
215
+ static error(...args) {
216
+ log.error.apply(null, prepareLine("E", args));
217
+ }
218
+ }
219
+
221
220
  exports.Logger = Logger;
222
221
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sources":["../src/logger.ts"],"sourcesContent":["import * as loglevelLog from \"loglevel\";\nimport { LogLevelDesc } from \"loglevel\";\n\nfunction prepareLine(prefix, args) {\n return [`${new Date().toISOString()} Conversations ${prefix}:`].concat(\n Array.from(args)\n );\n}\n\nconst log: loglevelLog.Logger = loglevelLog.getLogger(\"twilio-conversations\"); // twilio-conversations is used by Flex SDK. Please DO NOT change\n\nclass Logger {\n private prefix = \"\";\n\n private constructor(prefix: string) {\n this.prefix =\n prefix !== null && prefix !== undefined && prefix.length > 0\n ? prefix + \" \"\n : \"\";\n }\n\n static scope(prefix: string): Logger {\n return new Logger(prefix);\n }\n\n setLevel(level: LogLevelDesc) {\n log.setLevel(level);\n }\n\n static setLevel(level: LogLevelDesc) {\n log.setLevel(level);\n }\n\n trace(...args) {\n if (log.getLevel() == log.levels.TRACE) {\n log.debug.apply(null, prepareLine(this.prefix + \"T\", args));\n }\n }\n\n debug(...args) {\n log.debug.apply(null, prepareLine(this.prefix + \"D\", args));\n }\n\n info(...args) {\n log.info.apply(null, prepareLine(this.prefix + \"I\", args));\n }\n\n warn(...args) {\n log.warn.apply(null, prepareLine(this.prefix + \"W\", args));\n }\n\n error(...args) {\n log.error.apply(null, prepareLine(this.prefix + \"E\", args));\n }\n\n static trace(...args) {\n if (log.getLevel() == log.levels.TRACE) {\n log.debug.apply(null, prepareLine(\"T\", args));\n }\n }\n\n static debug(...args) {\n log.debug.apply(null, prepareLine(\"D\", args));\n }\n\n static info(...args) {\n log.info.apply(null, prepareLine(\"I\", args));\n }\n\n static warn(...args) {\n log.warn.apply(null, prepareLine(\"W\", args));\n }\n\n static error(...args) {\n log.error.apply(null, prepareLine(\"E\", args));\n }\n}\n\nexport { Logger };\n"],"names":["loglevelLog"],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sources":["../src/logger.ts"],"sourcesContent":["import * as loglevelLog from \"loglevel\";\nimport { LogLevelDesc } from \"loglevel\";\n\nfunction prepareLine(prefix, args) {\n return [`${new Date().toISOString()} Conversations ${prefix}:`].concat(\n Array.from(args)\n );\n}\n\nconst log: loglevelLog.Logger = loglevelLog.getLogger(\"twilio-conversations\"); // twilio-conversations is used by Flex SDK. Please DO NOT change\n\nclass Logger {\n private prefix = \"\";\n\n private constructor(prefix: string) {\n this.prefix =\n prefix !== null && prefix !== undefined && prefix.length > 0\n ? prefix + \" \"\n : \"\";\n }\n\n static scope(prefix: string): Logger {\n return new Logger(prefix);\n }\n\n setLevel(level: LogLevelDesc) {\n log.setLevel(level);\n }\n\n static setLevel(level: LogLevelDesc) {\n log.setLevel(level);\n }\n\n trace(...args) {\n if (log.getLevel() == log.levels.TRACE) {\n log.debug.apply(null, prepareLine(this.prefix + \"T\", args));\n }\n }\n\n debug(...args) {\n log.debug.apply(null, prepareLine(this.prefix + \"D\", args));\n }\n\n info(...args) {\n log.info.apply(null, prepareLine(this.prefix + \"I\", args));\n }\n\n warn(...args) {\n log.warn.apply(null, prepareLine(this.prefix + \"W\", args));\n }\n\n error(...args) {\n log.error.apply(null, prepareLine(this.prefix + \"E\", args));\n }\n\n static trace(...args) {\n if (log.getLevel() == log.levels.TRACE) {\n log.debug.apply(null, prepareLine(\"T\", args));\n }\n }\n\n static debug(...args) {\n log.debug.apply(null, prepareLine(\"D\", args));\n }\n\n static info(...args) {\n log.info.apply(null, prepareLine(\"I\", args));\n }\n\n static warn(...args) {\n log.warn.apply(null, prepareLine(\"W\", args));\n }\n\n static error(...args) {\n log.error.apply(null, prepareLine(\"E\", args));\n }\n}\n\nexport { Logger };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,SAAS,WAAW,CAAC,MAAM,EAAE,IAAI,EAAA;IAC/B,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA,eAAA,EAAkB,MAAM,CAAA,CAAA,CAAG,CAAC,CAAC,MAAM,CACpE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CACjB,CAAC;AACJ,CAAC;AAED,MAAM,GAAG,GAAuB,WAAW,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;AAE9E,MAAM,MAAM,CAAA;AAGV,IAAA,WAAA,CAAoB,MAAc,EAAA;QAF1B,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;AAGlB,QAAA,IAAI,CAAC,MAAM;YACT,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;kBACxD,MAAM,GAAG,GAAG;kBACZ,EAAE,CAAC;KACV;IAED,OAAO,KAAK,CAAC,MAAc,EAAA;AACzB,QAAA,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;KAC3B;AAED,IAAA,QAAQ,CAAC,KAAmB,EAAA;AAC1B,QAAA,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACrB;IAED,OAAO,QAAQ,CAAC,KAAmB,EAAA;AACjC,QAAA,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACrB;IAED,KAAK,CAAC,GAAG,IAAI,EAAA;QACX,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;AACtC,YAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7D,SAAA;KACF;IAED,KAAK,CAAC,GAAG,IAAI,EAAA;AACX,QAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;KAC7D;IAED,IAAI,CAAC,GAAG,IAAI,EAAA;AACV,QAAA,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;KAC5D;IAED,IAAI,CAAC,GAAG,IAAI,EAAA;AACV,QAAA,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;KAC5D;IAED,KAAK,CAAC,GAAG,IAAI,EAAA;AACX,QAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;KAC7D;AAED,IAAA,OAAO,KAAK,CAAC,GAAG,IAAI,EAAA;QAClB,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;AACtC,YAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/C,SAAA;KACF;AAED,IAAA,OAAO,KAAK,CAAC,GAAG,IAAI,EAAA;AAClB,QAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;KAC/C;AAED,IAAA,OAAO,IAAI,CAAC,GAAG,IAAI,EAAA;AACjB,QAAA,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;KAC9C;AAED,IAAA,OAAO,IAAI,CAAC,GAAG,IAAI,EAAA;AACjB,QAAA,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;KAC9C;AAED,IAAA,OAAO,KAAK,CAAC,GAAG,IAAI,EAAA;AAClB,QAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;KAC/C;AACF;;;;"}AE,IAAI,CAAC,CAAC,CAAC;KAC/C;AACF;;;;"}
package/dist/media.js CHANGED
@@ -126,8 +126,6 @@ This software includes platform.js under the following license.
126
126
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
127
127
 
128
128
  */
129
- 'use strict';
130
-
131
129
  var global =
132
130
  typeof global !== "undefined"
133
131
  ? global
@@ -137,9 +135,7 @@ var global =
137
135
  ? window
138
136
  : {};
139
137
 
140
- Object.defineProperty(exports, '__esModule', { value: true });
141
-
142
- var mcsClient = require('@twilio/mcs-client');
138
+ import { McsMedia, CancellablePromise } from '@twilio/mcs-client';
143
139
 
144
140
  /**
145
141
  * Represents a media information for a message in a conversation.
@@ -152,7 +148,7 @@ class Media {
152
148
  var _a;
153
149
  this.mcsMedia = null;
154
150
  this.services = services;
155
- if (data instanceof mcsClient.McsMedia) {
151
+ if (data instanceof McsMedia) {
156
152
  this.mcsMedia = data;
157
153
  }
158
154
  this.state = {
@@ -201,7 +197,7 @@ class Media {
201
197
  * Each call to this function produces a new temporary URL.
202
198
  */
203
199
  getContentTemporaryUrl() {
204
- return new mcsClient.CancellablePromise(async (resolve, reject, onCancel) => {
200
+ return new CancellablePromise(async (resolve, reject, onCancel) => {
205
201
  var _a;
206
202
  const fetchMediaRequest = this.mcsMedia
207
203
  ? undefined
@@ -228,7 +224,7 @@ class Media {
228
224
  });
229
225
  }
230
226
  _fetchMcsMedia() {
231
- return new mcsClient.CancellablePromise(async (resolve, reject, onCancel) => {
227
+ return new CancellablePromise(async (resolve, reject, onCancel) => {
232
228
  if (this.services.mcsClient === null) {
233
229
  reject(new Error("Media Content Service is unavailable"));
234
230
  }
@@ -252,5 +248,12 @@ class Media {
252
248
  }
253
249
  }
254
250
 
251
+ export { Media };
252
+ //# sourceMappingURL=media.js.map
253
+
254
+ return this.state;
255
+ }
256
+ }
257
+
255
258
  exports.Media = Media;
256
259
  //# sourceMappingURL=media.js.map
package/dist/media.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sources":["../src/media.ts"],"sourcesContent":["import {\n McsClient,\n McsMedia,\n McsMediaCategory,\n McsMediaState,\n CancellablePromise,\n} from \"@twilio/mcs-client\";\n\n/**\n * Category of media. Possible values are as follows:\n * * `'media'`\n * * `'body'`\n * * `'history'`\n */\ntype MediaCategory = McsMediaCategory;\n\ninterface MediaServices {\n mcsClient: McsClient;\n}\n\n/**\n * Represents a media information for a message in a conversation.\n */\nclass Media {\n private state: McsMediaState;\n private services: MediaServices;\n private mcsMedia: McsMedia | null = null;\n\n /**\n * @internal\n */\n constructor(data: McsMediaState | McsMedia, services: MediaServices) {\n this.services = services;\n\n if (data instanceof McsMedia) {\n this.mcsMedia = data as McsMedia;\n }\n\n this.state = {\n sid: data.sid,\n category: data.category,\n filename: data.filename ?? null,\n contentType: data.contentType,\n size: data.size,\n };\n }\n\n /**\n * Server-assigned unique identifier for the media.\n */\n public get sid(): string {\n return this.state.sid;\n }\n\n /**\n * File name. Null if absent.\n */\n public get filename(): string | null {\n return this.state.filename;\n }\n\n /**\n * Content type of the media.\n */\n public get contentType(): string {\n return this.state.contentType;\n }\n\n /**\n * Size of the media in bytes.\n */\n public get size(): number {\n return this.state.size;\n }\n\n /**\n * Media category, can be one of the {@link MediaCategory} values.\n */\n public get category(): MediaCategory {\n return this.state.category;\n }\n\n /**\n * Returns the direct content URL for the media.\n *\n * This URL is impermanent, it will expire in several minutes and cannot be cached.\n * If the URL becomes expired, you need to request a new one.\n * Each call to this function produces a new temporary URL.\n */\n public getContentTemporaryUrl(): CancellablePromise<string | null> {\n return new CancellablePromise(async (resolve, reject, onCancel) => {\n const fetchMediaRequest = this.mcsMedia\n ? undefined\n : this._fetchMcsMedia();\n let contentUrlRequest = this.mcsMedia?.getContentUrl();\n\n onCancel(() => {\n if (fetchMediaRequest) {\n fetchMediaRequest.cancel();\n }\n if (contentUrlRequest) {\n contentUrlRequest.cancel();\n }\n });\n\n try {\n if (!contentUrlRequest) {\n const mcsMedia = await fetchMediaRequest;\n contentUrlRequest = mcsMedia?.getContentUrl();\n }\n resolve(contentUrlRequest ? await contentUrlRequest : null);\n } catch (e) {\n reject(e);\n }\n });\n }\n\n private _fetchMcsMedia(): CancellablePromise<McsMedia> {\n return new CancellablePromise(async (resolve, reject, onCancel) => {\n if (this.services.mcsClient === null) {\n reject(new Error(\"Media Content Service is unavailable\"));\n }\n\n const request = this.services.mcsClient.get(this.state.sid);\n onCancel(() => request.cancel());\n\n try {\n this.mcsMedia = await request;\n this.state = this.mcsMedia._state();\n resolve(this.mcsMedia);\n } catch (e) {\n reject(e);\n }\n });\n }\n\n /**\n * @internal\n */\n _state(): McsMediaState {\n return this.state;\n }\n}\n\nexport { Media, MediaServices, MediaCategory };\n"],"names":["McsMedia","CancellablePromise"],"mappings":"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"}
1
+ {"version":3,"file":"media.js","sources":["../src/media.ts"],"sourcesContent":["import {\n McsClient,\n McsMedia,\n McsMediaCategory,\n McsMediaState,\n CancellablePromise,\n} from \"@twilio/mcs-client\";\n\n/**\n * Category of media. Possible values are as follows:\n * * `'media'`\n * * `'body'`\n * * `'history'`\n */\ntype MediaCategory = McsMediaCategory;\n\ninterface MediaServices {\n mcsClient: McsClient;\n}\n\n/**\n * Represents a media information for a message in a conversation.\n */\nclass Media {\n private state: McsMediaState;\n private services: MediaServices;\n private mcsMedia: McsMedia | null = null;\n\n /**\n * @internal\n */\n constructor(data: McsMediaState | McsMedia, services: MediaServices) {\n this.services = services;\n\n if (data instanceof McsMedia) {\n this.mcsMedia = data as McsMedia;\n }\n\n this.state = {\n sid: data.sid,\n category: data.category,\n filename: data.filename ?? null,\n contentType: data.contentType,\n size: data.size,\n };\n }\n\n /**\n * Server-assigned unique identifier for the media.\n */\n public get sid(): string {\n return this.state.sid;\n }\n\n /**\n * File name. Null if absent.\n */\n public get filename(): string | null {\n return this.state.filename;\n }\n\n /**\n * Content type of the media.\n */\n public get contentType(): string {\n return this.state.contentType;\n }\n\n /**\n * Size of the media in bytes.\n */\n public get size(): number {\n return this.state.size;\n }\n\n /**\n * Media category, can be one of the {@link MediaCategory} values.\n */\n public get category(): MediaCategory {\n return this.state.category;\n }\n\n /**\n * Returns the direct content URL for the media.\n *\n * This URL is impermanent, it will expire in several minutes and cannot be cached.\n * If the URL becomes expired, you need to request a new one.\n * Each call to this function produces a new temporary URL.\n */\n public getContentTemporaryUrl(): CancellablePromise<string | null> {\n return new CancellablePromise(async (resolve, reject, onCancel) => {\n const fetchMediaRequest = this.mcsMedia\n ? undefined\n : this._fetchMcsMedia();\n let contentUrlRequest = this.mcsMedia?.getContentUrl();\n\n onCancel(() => {\n if (fetchMediaRequest) {\n fetchMediaRequest.cancel();\n }\n if (contentUrlRequest) {\n contentUrlRequest.cancel();\n }\n });\n\n try {\n if (!contentUrlRequest) {\n const mcsMedia = await fetchMediaRequest;\n contentUrlRequest = mcsMedia?.getContentUrl();\n }\n resolve(contentUrlRequest ? await contentUrlRequest : null);\n } catch (e) {\n reject(e);\n }\n });\n }\n\n private _fetchMcsMedia(): CancellablePromise<McsMedia> {\n return new CancellablePromise(async (resolve, reject, onCancel) => {\n if (this.services.mcsClient === null) {\n reject(new Error(\"Media Content Service is unavailable\"));\n }\n\n const request = this.services.mcsClient.get(this.state.sid);\n onCancel(() => request.cancel());\n\n try {\n this.mcsMedia = await request;\n this.state = this.mcsMedia._state();\n resolve(this.mcsMedia);\n } catch (e) {\n reject(e);\n }\n });\n }\n\n /**\n * @internal\n */\n _state(): McsMediaState {\n return this.state;\n }\n}\n\nexport { Media, MediaServices, MediaCategory };\n"],"names":[],"mappings":"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"}AO,IAAI,CAAC,KAAK,CAAC;KACnB;AACF;;;;"}