// Module ID: 7258 // Function ID: 7259 // Name: CloudUploader // Dependencies: [5, 1074, 4829, 3, 7259, 7174, 1115, 7260, 5488, 7261, 7262, 5439, 5440, 1427, 12, 2] // Module 7258 (CloudUploader) import LoggerDefault from "Logger" /* 3 */; import _modDef12 from "module_12" /* 12 */; import Upload from "Upload" /* 5440 */; import asyncGeneratorStep from "asyncGeneratorStep" /* 5 */; import UploaderBase from "UploaderBase" /* 7259 */; require = fn; const Constants = fn(1074); ({ AbortCodes: closure_4, NOOP: hasOwnProperty } = Constants); const FileUploadErrorTypes = fn(4829).FileUploadErrorTypes; let closure_7 = new LoggerDefault("CloudUploader(Native).tsx"); class CloudUploader extends tmp4 { constructor() { applyArgumentsResult = HermesBuiltin.applyArguments(new.target, new.target); map = new Map(); applyArgumentsResult.mediaEventSubscriptions = map; map1 = new Map(); applyArgumentsResult.uploadItems = map1; applyArgumentsResult.preCompressionFileSizes = []; return applyArgumentsResult; } } const prototype = CloudUploader.prototype; prototype["uploadFiles"] = function uploadFiles(arg0) { closure_1 = arg0; function _superprop_getUpload() { return super.upload; } const self = this; return self(function*(arg0, value) { if (logger === 2) { logger = 3; throw new TypeError("Generator functions may not be called on executing generators"); } else if (tmp7 === 3) { if (arg0 === 1) { throw value; } else if (arg0 === 2) { let obj2 = { value, done: true }; return obj2; } else { return { value: "HermesInternal", done: null }; } } else { try { logger = 2; if (0 === constants) { if (arg0 === 1) { logger = 3; throw value; } else if (arg0 === 2) { logger = 3; let obj3 = { value, done: true }; return obj3; } else { dependencyMap = tmp8; closure_130_0 = undefined; closure_130_1 = undefined; closure_130_2 = undefined; closure_130_3 = undefined; closure_130_4 = undefined; closure_130_5 = undefined; let uploadTarget; closure_130_0 = files(7174).backgroundTaskIdentifierInvalid; self.once("start", tmp4(function*(arg0, value) { if (c2 === 2) { c2 = 3; throw new TypeError("Generator functions may not be called on executing generators"); } else if (tmp4 === 3) { if (arg0 === 1) { throw value; } else if (arg0 === 2) { const obj2 = { value, done: true }; return obj2; } else { return { value: "HermesInternal", done: null }; } } else { try { c2 = 2; if (0 === length) { if (arg0 === 1) { c2 = 3; throw value; } else if (arg0 === 2) { c2 = 3; const obj3 = { value, done: true }; return obj3; } else { const obj4 = { title: null, content: null }; const intl = closure_2_0(1115).intl; obj4.title = intl.string(closure_2_0(1115).t["B/HSDd"]); const intl2 = closure_2_0(1115).intl; const obj5 = { count: length.length }; obj4.content = intl2.formatToPlainString(closure_2_0(1115).t.D0noUt, obj5); c2 = 1; const obj7 = { value: files(7174).startBackgroundTask(obj4), done: false }; return obj7; } } else if (arg0 === 1) { c2 = 3; throw value; } else if (arg0 === 2) { c2 = 3; const obj8 = { value, done: true }; return obj8; } else { closure_128_0 = value; if (tmp2._aborted) { files(7174).endBackgroundTask(closure_128_0); const obj = files(7174); } c2 = 3; return { value: "HermesInternal", done: null }; } } catch (tmp13) { c2 = tmp; throw tmp13; } } })); function onCompleteTask() { closure_1(_superprop_getUpload[5]).endBackgroundTask(closure_1_0); closure_0.removeListener("complete", files); closure_0.removeListener("error", files); } closure_130_1 = onCompleteTask; self.once("error", onCompleteTask); self.once("complete", onCompleteTask); const promise = new Promise((arg0, arg1) => { closure_0 = arg0; closure_1 = arg1; closure_0.once("error", (file, code, responseBody, reason) => { closure_1({ file, code, responseBody, reason }); }); closure_0.once("complete", () => { if (!closure_2_0._errored) { closure_0(tmp.files); } }); }); closure_130_2 = promise; c5 = 1; let arr = files; self.files = files; const tmp106 = _superprop_getUpload(); const call = tmp106.call; let tmp42 = self; if (typeof call === "unknown") { tmp106(arr); } else { call(tmp42, arr); } self._file.attachmentsCount = arr.length; tmp42 = self; self._handleStart(undefined); closure_130_3 = 0; files = self.files; arr = files; _self = files[Symbol.iterator](); } } else if (1 === tmp8) { c5 = 0; closure_130_7 = tmp61; const _HermesInternal = HermesInternal; logger.log("" + closure_131_0.id + " failed in CloudUploader uploadFiles " + closure_130_7); closure_131_0._handleException(closure_130_7); logger = 3; let obj4 = { value: closure_130_2, done: true }; return obj4; } else if (2 === tmp8) { c5 = 1; _self.return(); throw tmp61; } else if (arg0 === 1) { logger = 3; throw value; } else if (arg0 === 2) { c5 = 1; _self.return(); c5 = 0; logger = 3; let obj5 = { value, done: true }; return obj5; } else { closure_130_5 = value; const prop = closure_131_0.preCompressionFileSizes; prop.push(closure_130_5); closure_130_4.preCompressionSize = closure_130_5; closure_130_3 = closure_130_3 + closure_130_5; closure_131_0._file.totalPreCompressionSize = closure_130_3; closure_131_0._file.currentSize = closure_130_3; uploadTarget = _self(5488).getUploadTarget(closure_130_4.item.target); if (closure_130_5 > uploadTarget.getMaxFileSize(closure_130_4.channelId)) { const obj6 = { code: tmp61.ENTITY_TOO_LARGE, reason: null }; let obj7 = { type: constants.PRECOMPRESSION_INDIVIDUAL_FILE_TOO_LARGE }; obj6.reason = obj7; closure_131_0._handleError(obj6); c5 = 1; _self.return(); c5 = 0; logger = 3; let obj8 = { value: closure_130_2, done: true }; return obj8; } else if (closure_130_3 > uploadTarget.getMaxTotalAttachmentSize()) { let obj = { code: tmp61.ENTITY_TOO_LARGE, reason: null }; const obj10 = { type: constants.PRECOMPRESSION_SUM_TOO_LARGE }; obj.reason = obj10; closure_131_0._handleError(obj); c5 = 1; _self.return(); c5 = 0; logger = 3; const obj12 = { value: closure_130_2, done: true }; return obj12; } else { c5 = 1; if (_self === undefined) { const _HermesInternal2 = HermesInternal; logger.log("" + closure_131_0.id + " queued"); files(7261).enqueue(() => { closure_1_0.startUpload(); return closure_1_0; }); c5 = 0; logger = 3; const obj13 = { value: closure_130_2, done: true }; return obj13; } else { c5 = 2; closure_130_4 = tmp47; constants = 3; logger = 1; const obj14 = { value: _self(7260).getPreCompressionFileSize(closure_130_4.item), done: false }; return obj14; } } const obj15 = _self(5488); } } catch (tmp61) { if (tmp5 === c5) { logger = tmp3; throw tmp61; } else if (tmp2 === tmp63) { constants = tmp2; } else { constants = tmp; } } } })(); }; prototype["startUpload"] = function startUpload() { const self = this; return (async (arg0, value) => { if (c5 === 2) { c5 = 3; throw new TypeError("Generator functions may not be called on executing generators"); } else if (tmp8 === 3) { if (arg0 === 1) { throw value; } else if (arg0 === 2) { const obj2 = { value, done: true }; return obj2; } else { return { value: "HermesInternal", done: null }; } } else { try { c5 = 2; if (0 === c4) { if (arg0 === 1) { c5 = 3; throw value; } else if (arg0 === 2) { c5 = 3; const obj3 = { value, done: true }; return obj3; } else { closure_0 = tmp6; closure_128_0 = undefined; if (self._aborted) { obj9._handleAborted(); } else { obj9._handleStart(c5); c3 = 1; closure_128_0 = self.observeCompressionProgress(self.files); c3 = 2; c4 = 4; c5 = 1; const obj4 = { value: self.compressAndCheckFileSize(), done: false }; return obj4; } } } else { if (1 === tmp9) { c3 = 0; closure_128_1 = tmp66; closure_129_0._handleException(closure_128_1); } else if (2 === tmp9) { c3 = 1; closure_128_0(); throw tmp66; } else if (3 === tmp9) { if (arg0 === 1) { c5 = 3; throw value; } else if (arg0 === 2) { c3 = 0; c5 = 3; const obj5 = { value, done: true }; return obj5; } else if (0 !== closure_129_0.files.length) { const files = closure_129_0.files; if (files.every((status) => status.status === closure_1_0(closure_1_2[11]).CloudUploadStatus.COMPLETED)) { const items = closure_129_0._file.items; if (items != null) { const item = items.forEach((item) => { item.item.progress = 100; }); } const obj6 = {}; const merged = Object.assign(closure_129_0._file); obj6.progress = 100; closure_129_0._file = obj6; closure_129_0.emit("progress", closure_129_0._file); const _HermesInternal = HermesInternal; logger.log("All uploads complete for " + closure_129_0.id); closure_129_0._handleComplete(); c3 = 0; } else { const _Error = Error; const error = new Error("Not all attachments were uploaded successfully"); throw error; } } } else if (arg0 === 1) { c5 = 3; throw value; } else if (arg0 === 2) { c3 = 1; closure_128_0(); c3 = 0; c5 = 3; const obj7 = { value, done: true }; return obj7; } else { c3 = 1; closure_128_0(); if (value) { const result = closure_129_0.setUploadingTextForUI(); const _recomputeProgress = closure_129_0._recomputeProgress; c4 = 3; c5 = 1; const obj = { value: tmp4(tmp66[10])(closure_129_0.files, true, _recomputeProgress.bind(closure_129_0)), done: false }; return obj; } else { c3 = 0; c5 = 3; return { value: "HermesInternal", done: null }; } } const _HermesInternal2 = HermesInternal; logger.log("All uploads cancelled for " + closure_129_0.id); closure_129_0._handleComplete(); c3 = 0; c5 = 3; const obj8 = { value: undefined, done: true }; return obj8; } c5 = 3; } catch (tmp66) { if (tmp5 === c3) { c5 = tmp3; throw tmp66; } else if (tmp2 === tmp68) { c4 = tmp2; } else { c4 = tmp; } } } })(); }; prototype["observeCompressionProgress"] = function observeCompressionProgress(files) { const self = this; function cleanUp() { const mediaEventSubscriptions = self.mediaEventSubscriptions; value = mediaEventSubscriptions.get(self._file.id); if (value != null) { value.remove(); } const mediaEventSubscriptions2 = obj.mediaEventSubscriptions; mediaEventSubscriptions2.delete(self._file.id); const uploadItems = obj.uploadItems; uploadItems.clear(); self.removeListener("complete", cleanUp); self.removeListener("error", cleanUp); } let item = files.forEach((item) => { item = item.item; if (item.platform === Upload.UploadPlatform.REACT_NATIVE) { item.compressionProgress = 0; const uploadItems = self.uploadItems; const result = uploadItems.set(item.uri, item); } }); let mediaEventSubscriptions = this.mediaEventSubscriptions; let result = mediaEventSubscriptions.set(this._file.id, self(1427).onCompressionProgress((uri) => { uri = uri.uri; const uploadItems = self.uploadItems; if (uploadItems.has(uri)) { const uploadItems2 = obj.uploadItems; uploadItems2.get(uri).compressionProgress = uri.progress; const uploadItems3 = obj.uploadItems; const items = []; HermesBuiltin.arraySpread(uploadItems3.values(), 0); const meanByResult = _modDef12.meanBy(items, "compressionProgress"); if (meanByResult >= 100) { const mediaEventSubscriptions = obj.mediaEventSubscriptions; value = mediaEventSubscriptions.get(obj._file.id); if (value != null) { value.remove(); } const mediaEventSubscriptions2 = obj.mediaEventSubscriptions; mediaEventSubscriptions2.delete(obj._file.id); const uploadItems4 = obj.uploadItems; uploadItems4.clear(); obj.removeListener("complete", cleanUp); obj.removeListener("error", cleanUp); const items1 = obj._file.items; if (items1 != null) { const item = items1.forEach((item) => { item.item.compressionProgress = 100; }); } const obj3 = {}; const merged = Object.assign(obj._file); obj3.compressionProgress = 100; obj._file = obj3; } else { const obj4 = {}; const merged1 = Object.assign(obj._file); obj4.compressionProgress = meanByResult; obj._file = obj4; } obj.emit("compression-progress", obj._file); } })); this.once("complete", cleanUp); this.once("error", cleanUp); return cleanUp; }; const size = fn(2); let result = size.fileFinishedImporting("lib/uploader/native/CloudUploader.tsx"); export default CloudUploader;