194 lines
5.6 KiB
TypeScript
194 lines
5.6 KiB
TypeScript
// Metro module 4723 (f4724).
|
|
import { getClipCreatedAt, getClipParticipantIds, getClipEventsTimeline } from "../modules/clips/clipPayloadUtils";
|
|
import { UploadPlatform } from "../lib/uploader/Upload";
|
|
let c2881_2 = [{
|
|
reName: /\.jpe?g$/i,
|
|
name: (a0) => `image${a0}.jpg`,
|
|
type: "image/jpeg"
|
|
}, {
|
|
reName: /\.jfif$/i,
|
|
name: (a0) => `image${a0}.jpg`,
|
|
type: "image/jpeg"
|
|
}, {
|
|
reName: /\.png$/i,
|
|
name: (a0) => `image${a0}.png`,
|
|
type: "image/png"
|
|
}, {
|
|
reName: /\.gif$/i,
|
|
name: (a0) => `image${a0}.gif`,
|
|
type: "image/gif"
|
|
}, {
|
|
reName: /\.webp$/i,
|
|
name: (a0) => `image${a0}.webp`,
|
|
type: "image/webp"
|
|
}, {
|
|
reName: /\.avif$/i,
|
|
name: (a0) => `image${a0}.avif`,
|
|
type: "image/avif"
|
|
}, {
|
|
reName: /\.heic$/i,
|
|
name: (a0) => `image${a0}.heic`,
|
|
type: "image/heic"
|
|
}, {
|
|
reName: /\.heif$/i,
|
|
name: (a0) => `image${a0}.heif`,
|
|
type: "image/heif"
|
|
}, {
|
|
reName: /\.dng$/i,
|
|
name: (a0) => `image${a0}.dng`,
|
|
type: "image/x-adobe-dng"
|
|
}, {
|
|
reName: /\.mov$/i,
|
|
name: (a0) => `video${a0}.mov`,
|
|
type: "video/quicktime"
|
|
}, {
|
|
reName: /\.qt$/i,
|
|
name: (a0) => `video${a0}.qt`,
|
|
type: "video/quicktime"
|
|
}, {
|
|
reName: /\.avi$/i,
|
|
name: (a0) => `video${a0}.avi`,
|
|
type: "video/x-msvideo"
|
|
}, {
|
|
reName: /\.mp4$/i,
|
|
name: (a0) => `video${a0}.mp4`,
|
|
type: "video/mp4"
|
|
}, {
|
|
reName: /\.webm$/i,
|
|
name: (a0) => `video${a0}.webm`,
|
|
type: "image/webm"
|
|
}];
|
|
export const MAX_TOTAL_ATTACHMENT_SIZE = 524288000;
|
|
export const MAX_TOTAL_ATTACHMENT_SIZE_MB = 500;
|
|
export function getAttachmentPayload(a0, r5 = null) {
|
|
let id = r5 == null ? void 0 : r5.toString();
|
|
if (id == null) {
|
|
id = a0.id;
|
|
}
|
|
const r13 = {
|
|
id
|
|
};
|
|
if (a0.description != null) {
|
|
r13.description = a0.description;
|
|
}
|
|
let filename = arguments[2];
|
|
if (filename == null) {
|
|
filename = a0.filename;
|
|
}
|
|
r13.filename = filename;
|
|
r13.uploaded_filename = a0.uploadedFilename;
|
|
if (a0.spoiler) {
|
|
r13.is_spoiler = true;
|
|
}
|
|
if ("durationSecs" in a0 && a0.durationSecs != null) {
|
|
r13.duration_secs = a0.durationSecs;
|
|
}
|
|
if ("waveform" in a0 && a0.waveform != null) {
|
|
r13.waveform = a0.waveform;
|
|
}
|
|
if ("isThumbnail" in a0 && a0.isThumbnail === true) {
|
|
r13.is_thumbnail = a0.isThumbnail;
|
|
}
|
|
if ("clip" in a0 && a0.clip != null) {
|
|
r13.is_clip = true;
|
|
r13.title = a0.clip.name;
|
|
r13.application_id = a0.clip.applicationId;
|
|
r13.clip_created_at = getClipCreatedAt(a0.clip.createdAt);
|
|
r13.clip_participant_ids = getClipParticipantIds(a0.clip.users);
|
|
r13.clip_remote_id = a0.clip.remoteClipId;
|
|
r13.clip_events_timeline = getClipEventsTimeline(a0.clip);
|
|
}
|
|
if ("item" in a0 && a0.item != null && a0.item.platform === UploadPlatform.WEB && "mimeType" in a0 && a0.mimeType != null) {
|
|
r13.original_content_type = a0.mimeType;
|
|
}
|
|
return r13;
|
|
}
|
|
export function getFileData(c14402_0) {
|
|
let c14402_1 = new XMLHttpRequest();
|
|
return new Promise((c25265_0, c25265_1) => {
|
|
c14402_1.open("GET", c14402_0, true);
|
|
c14402_1.responseType = "blob";
|
|
c14402_1.onabort = (a0) => c25265_1(a0);
|
|
c14402_1.onerror = (a0) => c25265_1(a0);
|
|
c14402_1.ontimeout = (a0) => c25265_1(a0);
|
|
c14402_1.onload = () => c25265_0(c14402_1 == null ? void 0 : c14402_1.response?.data);
|
|
c14402_1.send();
|
|
});
|
|
}
|
|
export function getFileContentLength(c14403_0) {
|
|
return new Promise((c25266_0, reject) => {
|
|
const xMLHttpRequest = new XMLHttpRequest();
|
|
let c25266_2 = xMLHttpRequest;
|
|
xMLHttpRequest.open("HEAD", c14403_0, true);
|
|
xMLHttpRequest.onload = () => {
|
|
L7: {
|
|
if (c25266_2.status >= 200 && c25266_2.status < 300) {
|
|
const responseHeader = c25266_2.getResponseHeader("Content-Length");
|
|
if (responseHeader != null && responseHeader !== "") {
|
|
c25266_0(parseInt(responseHeader, 10));
|
|
break L7;
|
|
}
|
|
reject(new Error("Content-Length header is missing"));
|
|
} else {
|
|
reject(new Error(`HTTP request failed with status code ${c25266_2.status}`));
|
|
}
|
|
}
|
|
};
|
|
xMLHttpRequest.onerror = reject;
|
|
xMLHttpRequest.onabort = reject;
|
|
xMLHttpRequest.ontimeout = reject;
|
|
xMLHttpRequest.send();
|
|
});
|
|
}
|
|
export function getFile(a0) {
|
|
let filename;
|
|
const { uri, i: r9, overrideFilename } = a0;
|
|
let overrideType = a0.overrideType;
|
|
const r17 = uri.split("/");
|
|
const r11 = r17[r17.length - 1];
|
|
let c14404_1 = r11;
|
|
const r22 = r11.split("?");
|
|
const r1 = r22 == null;
|
|
let r23 = void 0;
|
|
if (!r1) {
|
|
const r24 = r22[0];
|
|
r23 = r24 == null ? void 0 : r24.toLowerCase();
|
|
}
|
|
if (r23 == null) {
|
|
r23 = "";
|
|
}
|
|
c14404_1 = r23;
|
|
const r31 = c2881_2.find((item) => item.reName.test(c14404_1));
|
|
const r33 = r31 == null && overrideFilename != null ? c2881_2.find((item) => item.reName.test(overrideFilename)) : r31;
|
|
if (r33 != null && overrideFilename != null) {
|
|
const r14 = r33.name(r9).split(".").pop();
|
|
const r12 = overrideFilename.lastIndexOf(".");
|
|
filename = r12 !== -1 ? `${overrideFilename.substr(0, r12)}.${r14}` : `${overrideFilename}.${r14}`;
|
|
} else {
|
|
filename = r33 != null ? r33.name(r9) : overrideFilename == null ? "unknown" : overrideFilename;
|
|
}
|
|
let type = overrideType == null ? r33?.type : overrideType;
|
|
if (type == null) {
|
|
type = "unknown";
|
|
}
|
|
let r61 = overrideType == null ? r33 == null ? void 0 : r33.name(r9) : overrideType;
|
|
if (r61 == null) {
|
|
r61 = "";
|
|
}
|
|
const r57 = {
|
|
uri,
|
|
filename,
|
|
type,
|
|
isVideo: r61.indexOf("video") !== -1,
|
|
isImage: null
|
|
};
|
|
if (overrideType == null) {
|
|
overrideType = r33 == null ? void 0 : r33.name(r9);
|
|
}
|
|
if (overrideType == null) {
|
|
overrideType = "";
|
|
}
|
|
r57.isImage = overrideType.indexOf("image") !== -1;
|
|
return r57;
|
|
}
|