2026-09-16 07:03:15 +00:00
// Module ID: 5352
// Function ID: 5353
2026-09-10 19:12:31 +00:00
// Name: imageConversion
2026-09-16 07:03:15 +00:00
// Dependencies: [5, 3, 4869, 5256, 4258, 2]
2026-09-12 13:45:10 +00:00
// Exports: convertFileToJpeg
2026-09-10 19:12:31 +00:00
2026-09-16 07:03:15 +00:00
// Module 5352 (imageConversion)
2026-09-10 19:12:31 +00:00
import LoggerDefault from "Logger" /* 3 */ ;
2026-09-16 07:03:15 +00:00
import MediaTypes from "MediaTypes" /* 4869 */ ;
2026-09-10 19:12:31 +00:00
import asyncGeneratorStep from "asyncGeneratorStep" /* 5 */ ;
2026-09-12 13:45:10 +00:00
require = fn ;
function toImageEncoder ( arg0 ) {
if ( "WIC" === arg0 ) {
return MediaTypes . ImageEncoder . WIC ;
} else if ( "ImageIO" === arg0 ) {
return MediaTypes . ImageEncoder . IMAGEIO ;
} else if ( "stub" === arg0 ) {
return MediaTypes . ImageEncoder . SYSIMG_STUB ;
} else {
return MediaTypes . ImageEncoder . SYSIMG_UNKNOWN ;
}
}
2026-09-10 19:12:31 +00:00
function convertViaSysimg() {
const self = this ;
2026-09-12 13:45:10 +00:00
const apply = closure_10 . apply ;
2026-09-10 19:12:31 +00:00
if ( typeof apply === "unknown" ) {
let applyArgumentsResult = HermesBuiltin . applyArguments ( self ) ;
} else {
applyArgumentsResult = apply ( self , arguments ) ;
}
return applyArgumentsResult ;
}
2026-09-12 13:45:10 +00:00
let closure_10 = async function _convertViaSysimg ( arg0 , value ) {
if ( c10 === 2 ) {
c10 = 3 ;
2026-09-10 19:12:31 +00:00
throw new TypeError ( "Generator functions may not be called on executing generators" ) ;
2026-09-12 13:45:10 +00:00
} else if ( tmp9 === 3 ) {
2026-09-10 19:12:31 +00:00
if ( arg0 === 1 ) {
throw value ;
} else if ( arg0 === 2 ) {
obj2 = { value , done : true } ;
return obj2 ;
} else {
return { value : "HermesInternal" , done : null } ;
}
} else {
try {
2026-09-12 13:45:10 +00:00
c10 = 2 ;
if ( 0 === c9 ) {
2026-09-10 19:12:31 +00:00
if ( arg0 === 1 ) {
2026-09-12 13:45:10 +00:00
c10 = 3 ;
2026-09-10 19:12:31 +00:00
throw value ;
} else if ( arg0 === 2 ) {
2026-09-12 13:45:10 +00:00
c10 = 3 ;
2026-09-10 19:12:31 +00:00
obj3 = { value , done : true } ;
return obj3 ;
} else {
2026-09-12 13:45:10 +00:00
closure_6 = tmp4 ;
closure_5 = tmp7 ;
closure_133_1 = undefined ;
closure_133_2 = undefined ;
closure_133_3 = undefined ;
closure_133_4 = undefined ;
closure_133_5 = undefined ;
closure_133_0 = closure_0 ;
( { label : closure_133_1 , matches : closure_133_2 , canConvert : closure_133_3 } = closure_1 ) ;
closure_133_4 = closure_2 ;
closure_133_5 = closure_3 ;
closure_133_6 = undefined ;
closure_133_9 = undefined ;
closure_133_10 = undefined ;
closure_133_11 = undefined ;
closure_133_12 = undefined ;
closure_133_13 = undefined ;
closure_133_14 = undefined ;
closure_133_15 = undefined ;
closure_133_16 = undefined ;
closure_133_7 = function elapsed() {
2026-09-10 19:12:31 +00:00
return Math . round ( performance . now ( ) - closure_1_6 ) ;
} ;
2026-09-12 13:45:10 +00:00
closure_133_8 = function fail ( reason ) {
return { success : false , sizeBefore : closure_1_0.size , sizeAfter : closure_1_0.size , reason , compressTimeMs : Math.round ( performance . now ( ) - closure_1_6 ) } ;
2026-09-10 19:12:31 +00:00
} ;
c9 = 1 ;
2026-09-12 13:45:10 +00:00
c10 = 1 ;
return { value : "PX_16" , done : true } ;
2026-09-10 19:12:31 +00:00
}
2026-09-12 13:45:10 +00:00
} else if ( 1 === tmp10 ) {
2026-09-10 19:12:31 +00:00
if ( arg0 === 1 ) {
2026-09-12 13:45:10 +00:00
c10 = 3 ;
2026-09-10 19:12:31 +00:00
throw value ;
} else if ( arg0 === 2 ) {
2026-09-12 13:45:10 +00:00
c10 = 3 ;
2026-09-10 19:12:31 +00:00
const obj4 = { value , done : true } ;
return obj4 ;
2026-09-12 13:45:10 +00:00
} else if ( closure_133_2 ( closure_133_0 ) ) {
2026-09-10 19:12:31 +00:00
const _performance = performance ;
2026-09-12 13:45:10 +00:00
closure_133_6 = performance . now ( ) ;
const tmp59 = closure_134_1 ( closure_134_2 [ 4 ] ) ;
2026-09-10 19:12:31 +00:00
let sysimg ;
2026-09-12 13:45:10 +00:00
if ( tmp59 != null ) {
sysimg = tmp59 . sysimg ;
2026-09-10 19:12:31 +00:00
}
2026-09-12 13:45:10 +00:00
closure_133_9 = sysimg ;
if ( null == closure_133_9 ) {
closure_134_4 . verbose ( "sysimg not available (not Electron)" ) ;
c10 = 3 ;
const obj5 = { value : closure_133_8 ( closure_134_6 . NATIVE_MODULE_UNAVAILABLE ) , done : true } ;
2026-09-10 19:12:31 +00:00
return obj5 ;
} else {
2026-09-12 13:45:10 +00:00
c8 = 1 ;
c9 = 3 ;
c10 = 1 ;
const obj6 = { value : closure_133_3 ( closure_133_9 ) , done : false } ;
2026-09-10 19:12:31 +00:00
return obj6 ;
}
} else {
2026-09-12 13:45:10 +00:00
c10 = 3 ;
2026-09-10 19:12:31 +00:00
return { value : null , done : true } ;
}
2026-09-12 13:45:10 +00:00
} else if ( 2 === tmp10 ) {
c8 = 0 ;
closure_133_17 = closure_7 ;
const _HermesInternal3 = HermesInternal ;
closure_134_4 . warn ( "" + closure_133_1 + " conversion failed for " + closure_133_0 . name + ":" , closure_133_17 ) ;
c10 = 3 ;
const obj7 = { value : closure_133_8 ( closure_134_6 . CONVERSION_FAILED ) , done : true } ;
return obj7 ;
} else if ( 3 === tmp10 ) {
2026-09-10 19:12:31 +00:00
if ( arg0 === 1 ) {
2026-09-12 13:45:10 +00:00
c10 = 3 ;
2026-09-10 19:12:31 +00:00
throw value ;
} else if ( arg0 === 2 ) {
2026-09-12 13:45:10 +00:00
c8 = 0 ;
c10 = 3 ;
const obj8 = { value , done : true } ;
return obj8 ;
2026-09-10 19:12:31 +00:00
} else if ( value ) {
2026-09-12 13:45:10 +00:00
if ( null != closure_133_5 ) {
if ( closure_133_0 . size > closure_133_5 ) {
const _HermesInternal2 = HermesInternal ;
closure_134_4 . verbose ( "file too large: " + closure_133_0 . size + " > " + closure_133_5 ) ;
c8 = 0 ;
c10 = 3 ;
const obj9 = { value : closure_133_8 ( closure_134_6 . SIZE_LIMIT_EXCEEDED ) , done : true } ;
return obj9 ;
2026-09-10 19:12:31 +00:00
}
}
2026-09-12 13:45:10 +00:00
c9 = 4 ;
c10 = 1 ;
const obj10 = { value : closure_133_0.arrayBuffer ( ) , done : false } ;
2026-09-10 19:12:31 +00:00
return obj10 ;
2026-09-12 13:45:10 +00:00
} else {
const _HermesInternal = HermesInternal ;
closure_134_4 . verbose ( "platform does not support " + closure_133_1 + " conversion" ) ;
c8 = 0 ;
c10 = 3 ;
const obj11 = { value : closure_133_8 ( closure_134_6 . PLATFORM_UNSUPPORTED ) , done : true } ;
return obj11 ;
2026-09-10 19:12:31 +00:00
}
2026-09-12 13:45:10 +00:00
} else if ( 4 === tmp10 ) {
2026-09-10 19:12:31 +00:00
if ( arg0 === 1 ) {
2026-09-12 13:45:10 +00:00
c10 = 3 ;
2026-09-10 19:12:31 +00:00
throw value ;
} else if ( arg0 === 2 ) {
2026-09-12 13:45:10 +00:00
c8 = 0 ;
c10 = 3 ;
2026-09-10 19:12:31 +00:00
const obj12 = { value , done : true } ;
return obj12 ;
} else {
2026-09-12 13:45:10 +00:00
closure_133_10 = value ;
2026-09-10 19:12:31 +00:00
const _Math = Math ;
const _Math2 = Math ;
2026-09-12 13:45:10 +00:00
closure_133_11 = Math . min ( 100 , Math . max ( 1 , closure_133_4 ) ) ;
const _JSON = JSON ;
const obj13 = { format : "jpeg" , quality : closure_133_11 } ;
closure_133_12 = JSON . stringify ( obj13 ) ;
c9 = 5 ;
c10 = 1 ;
const obj14 = { value : closure_133_9.convertBytes ( closure_133_10 , closure_133_12 ) , done : false } ;
2026-09-10 19:12:31 +00:00
return obj14 ;
}
2026-09-12 13:45:10 +00:00
} else if ( 5 === tmp10 ) {
if ( arg0 === 1 ) {
c10 = 3 ;
throw value ;
} else if ( arg0 === 2 ) {
c8 = 0 ;
c10 = 3 ;
const obj15 = { value , done : true } ;
return obj15 ;
} else {
closure_133_13 = value ;
const _Blob = Blob ;
const items = [ closure_133_13 ] ;
const blob = new Blob ( items , { type : "image/jpeg" } ) ;
closure_133_14 = blob ;
closure_133_15 = closure_133_7 ( ) ;
const _HermesInternal4 = HermesInternal ;
closure_134_4 . log ( "converted " + closure_133_0 . name + ": " + closure_133_0 . size + " -> " + closure_133_14 . size + " bytes in " + closure_133_15 + "ms" ) ;
closure_133_16 = null ;
c8 = 2 ;
const getBackendName = closure_133_9 . getBackendName ;
let backendName ;
if ( getBackendName != null ) {
backendName = getBackendName ( ) ;
}
c9 = 7 ;
c10 = 1 ;
const obj16 = { value : backendName , done : false } ;
return obj16 ;
}
2026-09-10 19:12:31 +00:00
} else {
2026-09-12 13:45:10 +00:00
if ( 6 === tmp10 ) {
c8 = 1 ;
closure_133_16 = null ;
const obj17 = { success : true , convertedBlob : closure_133_14 , sizeBefore : closure_133_0.size , sizeAfter : closure_133_14.size , compressTimeMs : closure_133_15 , imageCompressionQuality : closure_133_11 / 100 , imageEncoderType : closure_134_5 ( closure_133_16 ) } ;
c8 = 0 ;
c10 = 3 ;
} else if ( arg0 === 1 ) {
c10 = 3 ;
throw value ;
} else if ( arg0 !== 2 ) {
c4 = value ;
if ( value == null ) {
c4 = null ;
}
closure_133_16 = c4 ;
c8 = 1 ;
}
c8 = 0 ;
c10 = 3 ;
const obj = { value , done : true } ;
2026-09-10 19:12:31 +00:00
return obj ;
}
2026-09-12 13:45:10 +00:00
} catch ( tmp72 ) {
closure_7 = tmp72 ;
if ( tmp5 === c8 ) {
c10 = tmp3 ;
throw tmp72 ;
} else if ( tmp2 === tmp74 ) {
2026-09-10 19:12:31 +00:00
c9 = tmp ;
} else {
2026-09-12 13:45:10 +00:00
c9 = tmp6 ;
2026-09-10 19:12:31 +00:00
}
}
}
} ;
2026-09-12 13:45:10 +00:00
function maybeConvertHeicToJpeg ( arg0 ) {
let num = arg1 ;
if ( arg1 === undefined ) {
num = 85 ;
}
return convertViaSysimg ( arg0 , obj2 , num , arg2 ) ;
}
function maybeConvertJxrToJpeg ( arg0 ) {
let num = arg1 ;
if ( arg1 === undefined ) {
num = 85 ;
}
return convertViaSysimg ( arg0 , obj3 , num , arg2 ) ;
}
let closure_13 = async function _convertFileToJpeg ( arg0 , value ) {
if ( c8 === 2 ) {
c8 = 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 ) {
obj2 = { value , done : true } ;
return obj2 ;
} else {
return { value : "HermesInternal" , done : null } ;
}
} else {
try {
c8 = 2 ;
if ( 0 === c7 ) {
if ( arg0 === 1 ) {
c8 = 3 ;
throw value ;
} else if ( arg0 === 2 ) {
c8 = 3 ;
obj3 = { value , done : true } ;
return obj3 ;
} else {
closure_6 = tmp2 ;
closure_5 = tmp5 ;
closure_133_0 = closure_0 ;
closure_133_1 = closure_1 ;
closure_133_2 = undefined ;
if ( "heic" === closure_1 ) {
maybeConvertHeicToJpeg ( tmp41 , tmp43 , tmp44 ) ;
} else {
maybeConvertJxrToJpeg ( tmp41 , tmp43 , tmp44 ) ;
}
c7 = 1 ;
c8 = 1 ;
}
} else if ( arg0 === 1 ) {
c8 = 3 ;
throw value ;
} else if ( arg0 === 2 ) {
c8 = 3 ;
const obj5 = { value , done : true } ;
return obj5 ;
} else {
closure_133_2 = value ;
if ( null == closure_133_2 ) {
c8 = 3 ;
const obj6 = { value : null , done : true } ;
return obj6 ;
} else {
if ( ! closure_133_2 . success ) {
const reason = closure_133_2 . reason ;
let UNKNOWN_ERROR = reason ;
if ( reason == null ) {
UNKNOWN_ERROR = closure_134_6 . UNKNOWN_ERROR ;
}
let obj = { convertedFile : null , analytics : null } ;
const obj7 = { convertedMimeType : null , conversionFailureReason : UNKNOWN_ERROR , compressTimeMs : closure_133_2.compressTimeMs } ;
obj . analytics = obj7 ;
}
const _HermesInternal = HermesInternal ;
closure_134_4 . log ( "" + closure_133_1 + " conversion worked for " + closure_133_0 . name + ": " + closure_133_2 . sizeBefore + " -> " + closure_133_2 . sizeAfter + " bytes" ) ;
const obj8 = { convertedFile : null , analytics : null } ;
const _File = File ;
const items = [ closure_133_2 . convertedBlob ] ;
const obj9 = { type : "image/jpeg" , lastModified : closure_133_0.lastModified } ;
const file = new File ( items , closure_134_0 ( closure_134_2 [ 3 ] ) . renameToJpegExtension ( closure_133_0 . name ) , obj9 ) ;
obj8 . convertedFile = file ;
const obj10 = { convertedMimeType : "image/jpeg" , compressTimeMs : closure_133_2.compressTimeMs , imageCompressionQuality : closure_133_2.imageCompressionQuality , imageEncoderType : closure_133_2.imageEncoderType } ;
obj8 . analytics = obj10 ;
obj = obj8 ;
const obj4 = closure_134_0 ( closure_134_2 [ 3 ] ) ;
}
}
} catch ( tmp49 ) {
c8 = tmp ;
throw tmp49 ;
}
}
} ;
let closure_4 = new LoggerDefault ( "ImageConversion" ) ;
const ImageConversionFailureReason = { NATIVE_MODULE_UNAVAILABLE : "native_module_unavailable" , PLATFORM_UNSUPPORTED : "platform_unsupported" , SIZE_LIMIT_EXCEEDED : "size_limit_exceeded" , CONVERSION_FAILED : "conversion_failed" , UNKNOWN_ERROR : "unknown_error" } ;
2026-09-10 19:12:31 +00:00
let obj2 = {
label : "heic" ,
2026-09-16 07:03:15 +00:00
matches : fn ( 5256 ) . isHeicFile ,
2026-09-10 19:12:31 +00:00
canConvert ( canConvertHeic ) {
return canConvertHeic . canConvertHeic ( ) ;
}
} ;
let obj3 = {
label : "jxr" ,
2026-09-16 07:03:15 +00:00
matches : fn ( 5256 ) . isJxrFile ,
2026-09-10 19:12:31 +00:00
canConvert ( canConvertJxr ) {
return canConvertJxr . canConvertJxr ( ) ;
}
} ;
const size = fn ( 2 ) ;
const result = size . fileFinishedImporting ( "lib/uploader/imageConversion.tsx" ) ;
2026-09-12 13:45:10 +00:00
export { ImageConversionFailureReason } ;
2026-09-16 07:03:15 +00:00
export const renameToJpegExtension = fn ( 5256 ) . renameToJpegExtension ;
2026-09-12 13:45:10 +00:00
export { maybeConvertHeicToJpeg } ;
export { maybeConvertJxrToJpeg } ;
export const convertFileToJpeg = function convertFileToJpeg() {
const self = this ;
const apply = closure_13 . apply ;
if ( typeof apply === "unknown" ) {
let applyArgumentsResult = HermesBuiltin . applyArguments ( self ) ;
} else {
applyArgumentsResult = apply ( self , arguments ) ;
2026-09-10 19:12:31 +00:00
}
2026-09-12 13:45:10 +00:00
return applyArgumentsResult ;
2026-09-10 19:12:31 +00:00
} ;