@twilio/conversations 2.4.1-rc.0 → 2.4.1-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.
- package/builds/browser.js +16 -21
- package/builds/browser.js.map +1 -1
- package/builds/lib.d.ts +3 -11
- package/builds/lib.js +16 -21
- package/builds/lib.js.map +1 -1
- package/builds/twilio-conversations.js +27 -23
- package/builds/twilio-conversations.min.js +1 -1
- package/dist/media.js +20 -18
- package/dist/media.js.map +1 -1
- package/dist/packages/conversations/package.json.js +1 -1
- package/package.json +2 -2
package/dist/media.js
CHANGED
@@ -203,18 +203,22 @@ class Media {
|
|
203
203
|
getContentTemporaryUrl() {
|
204
204
|
return new mcsClient.CancellablePromise(async (resolve, reject, onCancel) => {
|
205
205
|
var _a;
|
206
|
-
const fetchMediaRequest = this.
|
206
|
+
const fetchMediaRequest = this.mcsMedia
|
207
|
+
? undefined
|
208
|
+
: this._fetchMcsMedia();
|
207
209
|
let contentUrlRequest = (_a = this.mcsMedia) === null || _a === void 0 ? void 0 : _a.getContentUrl();
|
208
210
|
onCancel(() => {
|
209
|
-
fetchMediaRequest
|
211
|
+
if (fetchMediaRequest) {
|
212
|
+
fetchMediaRequest.cancel();
|
213
|
+
}
|
210
214
|
if (contentUrlRequest) {
|
211
215
|
contentUrlRequest.cancel();
|
212
216
|
}
|
213
217
|
});
|
214
218
|
try {
|
215
|
-
if (!
|
219
|
+
if (!contentUrlRequest) {
|
216
220
|
const mcsMedia = await fetchMediaRequest;
|
217
|
-
contentUrlRequest = mcsMedia.getContentUrl();
|
221
|
+
contentUrlRequest = mcsMedia === null || mcsMedia === void 0 ? void 0 : mcsMedia.getContentUrl();
|
218
222
|
}
|
219
223
|
resolve(contentUrlRequest ? await contentUrlRequest : null);
|
220
224
|
}
|
@@ -225,28 +229,26 @@ class Media {
|
|
225
229
|
}
|
226
230
|
_fetchMcsMedia() {
|
227
231
|
return new mcsClient.CancellablePromise(async (resolve, reject, onCancel) => {
|
232
|
+
if (this.services.mcsClient === null) {
|
233
|
+
reject(new Error("Media Content Service is unavailable"));
|
234
|
+
}
|
228
235
|
const request = this.services.mcsClient.get(this.state.sid);
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
}
|
238
|
-
return;
|
236
|
+
onCancel(() => request.cancel());
|
237
|
+
try {
|
238
|
+
this.mcsMedia = await request;
|
239
|
+
this.state = this.mcsMedia._state();
|
240
|
+
resolve(this.mcsMedia);
|
241
|
+
}
|
242
|
+
catch (e) {
|
243
|
+
reject(e);
|
239
244
|
}
|
240
|
-
reject(new Error("Media Content Service is unavailable"));
|
241
245
|
});
|
242
246
|
}
|
243
247
|
/**
|
244
248
|
* @internal
|
245
249
|
*/
|
246
250
|
_state() {
|
247
|
-
return this.
|
248
|
-
? this.mcsMedia._state()
|
249
|
-
: this.state;
|
251
|
+
return this.state;
|
250
252
|
}
|
251
253
|
}
|
252
254
|
|
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
|
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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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@twilio/conversations",
|
3
|
-
"version": "2.4.1-rc.
|
3
|
+
"version": "2.4.1-rc.1",
|
4
4
|
"description": "Twilio Conversations client library",
|
5
5
|
"main": "./builds/lib.js",
|
6
6
|
"browser": "./builds/browser.js",
|
@@ -38,7 +38,7 @@
|
|
38
38
|
"@babel/runtime": "^7.17.0",
|
39
39
|
"@twilio/declarative-type-validator": "^0.2.6-rc.0",
|
40
40
|
"@twilio/deprecation-decorator": "^0.2.4-rc.0",
|
41
|
-
"@twilio/mcs-client": "^0.6.6-rc.
|
41
|
+
"@twilio/mcs-client": "^0.6.6-rc.1",
|
42
42
|
"@twilio/notifications": "^2.0.5-rc.0",
|
43
43
|
"@twilio/operation-retrier": "^4.0.14-rc.0",
|
44
44
|
"@twilio/replay-event-emitter": "^0.3.6-rc.0",
|