UNPKG

matrix-react-sdk

Version:
50 lines (48 loc) 6.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.prepEventContentAsMedia = prepEventContentAsMedia; /* * Copyright 2024 New Vector Ltd. * Copyright 2021 The Matrix.org Foundation C.I.C. * * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only * Please see LICENSE files in the repository root for full details. */ /** * Parses an event content body into a prepared media object. This prepared media object * can be used with other functions to manipulate the media. * @param {MediaEventContent} content Unredacted media event content. See interface. * @returns {IPreparedMedia} A prepared media object. * @throws Throws if the given content cannot be packaged into a prepared media object. */ function prepEventContentAsMedia(content) { let thumbnail; if (typeof content?.info === "object" && "thumbnail_url" in content.info && content.info.thumbnail_url) { thumbnail = { mxc: content.info.thumbnail_url, file: content.info.thumbnail_file }; } else if (typeof content?.info === "object" && "thumbnail_file" in content.info && typeof content?.info?.thumbnail_file === "object" && content?.info?.thumbnail_file?.url) { thumbnail = { mxc: content.info.thumbnail_file.url, file: content.info.thumbnail_file }; } if (content?.url) { return { thumbnail, mxc: content.url, file: content.file }; } else if (content?.file?.url) { return { thumbnail, mxc: content.file.url, file: content.file }; } throw new Error("Invalid file provided: cannot determine MXC URI. Has it been redacted?"); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcmVwRXZlbnRDb250ZW50QXNNZWRpYSIsImNvbnRlbnQiLCJ0aHVtYm5haWwiLCJpbmZvIiwidGh1bWJuYWlsX3VybCIsIm14YyIsImZpbGUiLCJ0aHVtYm5haWxfZmlsZSIsInVybCIsIkVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2N1c3RvbWlzYXRpb25zL21vZGVscy9JTWVkaWFFdmVudENvbnRlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuICogQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4gKi9cblxuaW1wb3J0IHsgRW5jcnlwdGVkRmlsZSwgTWVkaWFFdmVudENvbnRlbnQgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvdHlwZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJUHJlcGFyZWRNZWRpYSBleHRlbmRzIElNZWRpYU9iamVjdCB7XG4gICAgdGh1bWJuYWlsPzogSU1lZGlhT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNZWRpYU9iamVjdCB7XG4gICAgbXhjOiBzdHJpbmc7XG4gICAgZmlsZT86IEVuY3J5cHRlZEZpbGU7XG59XG5cbi8qKlxuICogUGFyc2VzIGFuIGV2ZW50IGNvbnRlbnQgYm9keSBpbnRvIGEgcHJlcGFyZWQgbWVkaWEgb2JqZWN0LiBUaGlzIHByZXBhcmVkIG1lZGlhIG9iamVjdFxuICogY2FuIGJlIHVzZWQgd2l0aCBvdGhlciBmdW5jdGlvbnMgdG8gbWFuaXB1bGF0ZSB0aGUgbWVkaWEuXG4gKiBAcGFyYW0ge01lZGlhRXZlbnRDb250ZW50fSBjb250ZW50IFVucmVkYWN0ZWQgbWVkaWEgZXZlbnQgY29udGVudC4gU2VlIGludGVyZmFjZS5cbiAqIEByZXR1cm5zIHtJUHJlcGFyZWRNZWRpYX0gQSBwcmVwYXJlZCBtZWRpYSBvYmplY3QuXG4gKiBAdGhyb3dzIFRocm93cyBpZiB0aGUgZ2l2ZW4gY29udGVudCBjYW5ub3QgYmUgcGFja2FnZWQgaW50byBhIHByZXBhcmVkIG1lZGlhIG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZXBFdmVudENvbnRlbnRBc01lZGlhKGNvbnRlbnQ6IFBhcnRpYWw8TWVkaWFFdmVudENvbnRlbnQ+KTogSVByZXBhcmVkTWVkaWEge1xuICAgIGxldCB0aHVtYm5haWw6IElNZWRpYU9iamVjdCB8IHVuZGVmaW5lZDtcbiAgICBpZiAodHlwZW9mIGNvbnRlbnQ/LmluZm8gPT09IFwib2JqZWN0XCIgJiYgXCJ0aHVtYm5haWxfdXJsXCIgaW4gY29udGVudC5pbmZvICYmIGNvbnRlbnQuaW5mby50aHVtYm5haWxfdXJsKSB7XG4gICAgICAgIHRodW1ibmFpbCA9IHtcbiAgICAgICAgICAgIG14YzogY29udGVudC5pbmZvLnRodW1ibmFpbF91cmwsXG4gICAgICAgICAgICBmaWxlOiBjb250ZW50LmluZm8udGh1bWJuYWlsX2ZpbGUsXG4gICAgICAgIH07XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICAgdHlwZW9mIGNvbnRlbnQ/LmluZm8gPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICAgXCJ0aHVtYm5haWxfZmlsZVwiIGluIGNvbnRlbnQuaW5mbyAmJlxuICAgICAgICB0eXBlb2YgY29udGVudD8uaW5mbz8udGh1bWJuYWlsX2ZpbGUgPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICAgY29udGVudD8uaW5mbz8udGh1bWJuYWlsX2ZpbGU/LnVybFxuICAgICkge1xuICAgICAgICB0aHVtYm5haWwgPSB7XG4gICAgICAgICAgICBteGM6IGNvbnRlbnQuaW5mby50aHVtYm5haWxfZmlsZS51cmwsXG4gICAgICAgICAgICBmaWxlOiBjb250ZW50LmluZm8udGh1bWJuYWlsX2ZpbGUsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKGNvbnRlbnQ/LnVybCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdGh1bWJuYWlsLFxuICAgICAgICAgICAgbXhjOiBjb250ZW50LnVybCxcbiAgICAgICAgICAgIGZpbGU6IGNvbnRlbnQuZmlsZSxcbiAgICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKGNvbnRlbnQ/LmZpbGU/LnVybCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdGh1bWJuYWlsLFxuICAgICAgICAgICAgbXhjOiBjb250ZW50LmZpbGUudXJsLFxuICAgICAgICAgICAgZmlsZTogY29udGVudC5maWxlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZmlsZSBwcm92aWRlZDogY2Fubm90IGRldGVybWluZSBNWEMgVVJJLiBIYXMgaXQgYmVlbiByZWRhY3RlZD9cIik7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sU0FBU0EsdUJBQXVCQSxDQUFDQyxPQUFtQyxFQUFrQjtFQUN6RixJQUFJQyxTQUFtQztFQUN2QyxJQUFJLE9BQU9ELE9BQU8sRUFBRUUsSUFBSSxLQUFLLFFBQVEsSUFBSSxlQUFlLElBQUlGLE9BQU8sQ0FBQ0UsSUFBSSxJQUFJRixPQUFPLENBQUNFLElBQUksQ0FBQ0MsYUFBYSxFQUFFO0lBQ3BHRixTQUFTLEdBQUc7TUFDUkcsR0FBRyxFQUFFSixPQUFPLENBQUNFLElBQUksQ0FBQ0MsYUFBYTtNQUMvQkUsSUFBSSxFQUFFTCxPQUFPLENBQUNFLElBQUksQ0FBQ0k7SUFDdkIsQ0FBQztFQUNMLENBQUMsTUFBTSxJQUNILE9BQU9OLE9BQU8sRUFBRUUsSUFBSSxLQUFLLFFBQVEsSUFDakMsZ0JBQWdCLElBQUlGLE9BQU8sQ0FBQ0UsSUFBSSxJQUNoQyxPQUFPRixPQUFPLEVBQUVFLElBQUksRUFBRUksY0FBYyxLQUFLLFFBQVEsSUFDakROLE9BQU8sRUFBRUUsSUFBSSxFQUFFSSxjQUFjLEVBQUVDLEdBQUcsRUFDcEM7SUFDRU4sU0FBUyxHQUFHO01BQ1JHLEdBQUcsRUFBRUosT0FBTyxDQUFDRSxJQUFJLENBQUNJLGNBQWMsQ0FBQ0MsR0FBRztNQUNwQ0YsSUFBSSxFQUFFTCxPQUFPLENBQUNFLElBQUksQ0FBQ0k7SUFDdkIsQ0FBQztFQUNMO0VBRUEsSUFBSU4sT0FBTyxFQUFFTyxHQUFHLEVBQUU7SUFDZCxPQUFPO01BQ0hOLFNBQVM7TUFDVEcsR0FBRyxFQUFFSixPQUFPLENBQUNPLEdBQUc7TUFDaEJGLElBQUksRUFBRUwsT0FBTyxDQUFDSztJQUNsQixDQUFDO0VBQ0wsQ0FBQyxNQUFNLElBQUlMLE9BQU8sRUFBRUssSUFBSSxFQUFFRSxHQUFHLEVBQUU7SUFDM0IsT0FBTztNQUNITixTQUFTO01BQ1RHLEdBQUcsRUFBRUosT0FBTyxDQUFDSyxJQUFJLENBQUNFLEdBQUc7TUFDckJGLElBQUksRUFBRUwsT0FBTyxDQUFDSztJQUNsQixDQUFDO0VBQ0w7RUFFQSxNQUFNLElBQUlHLEtBQUssQ0FBQyx3RUFBd0UsQ0FBQztBQUM3RiIsImlnbm9yZUxpc3QiOltdfQ==