react-native-compressor 1.18.0 → 1.18.2

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.
@@ -113,16 +113,17 @@ object ImageCompressor {
113
113
 
114
114
  fun compress(image: Bitmap?, output: ImageCompressorOptions.OutputType, quality: Float,disablePngTransparency:Boolean): ByteArrayOutputStream {
115
115
  var stream = ByteArrayOutputStream()
116
+ val normalizedQuality = Math.round(100 * quality.coerceIn(0f, 1f))
116
117
  if (output === ImageCompressorOptions.OutputType.jpg)
117
118
  {
118
- image!!.compress(CompressFormat.JPEG, Math.round(100 * quality), stream)
119
+ image!!.compress(CompressFormat.JPEG, normalizedQuality, stream)
119
120
  }
120
121
  else
121
122
  {
122
123
  var bitmap = image
123
124
  if(disablePngTransparency)
124
125
  {
125
- image!!.compress(CompressFormat.JPEG, Math.round(100 * quality), stream)
126
+ image!!.compress(CompressFormat.JPEG, normalizedQuality, stream)
126
127
  val byteArray: ByteArray = stream.toByteArray()
127
128
  stream=ByteArrayOutputStream()
128
129
  bitmap = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.size)
@@ -62,6 +62,7 @@ class CreateVideoThumbnailClass(private val reactContext: ReactApplicationContex
62
62
  }
63
63
 
64
64
  val headers: Map<String, String> = if (options.hasKey("headers")) options.getMap("headers")!!.toHashMap() as Map<String, String> else HashMap<String, String>()
65
+ val quality = if (options.hasKey("quality")) (options.getDouble("quality") * 100).toInt().coerceIn(0, 100) else DEFAULT_THUMBNAIL_QUALITY
65
66
  val fileName = if (TextUtils.isEmpty(cacheName)) "thumb-" + UUID.randomUUID().toString() else "$cacheName.$format"
66
67
  var fOut: OutputStream? = null
67
68
 
@@ -73,7 +74,7 @@ class CreateVideoThumbnailClass(private val reactContext: ReactApplicationContex
73
74
  fOut = FileOutputStream(file)
74
75
 
75
76
  // 100 means no compression, the lower you go, the stronger the compression
76
- image.compress(Bitmap.CompressFormat.JPEG, 90, fOut)
77
+ image.compress(Bitmap.CompressFormat.JPEG, quality, fOut)
77
78
  fOut.flush()
78
79
  fOut.close()
79
80
 
@@ -96,6 +97,8 @@ class CreateVideoThumbnailClass(private val reactContext: ReactApplicationContex
96
97
  }
97
98
 
98
99
  companion object {
100
+ private const val DEFAULT_THUMBNAIL_QUALITY = 90
101
+
99
102
  // delete previously added files one by one untill requred space is available
100
103
  fun clearCache(cacheDir: String?,promise:Promise, reactContext: ReactApplicationContext) {
101
104
  val cacheDirectory=cacheDir?.takeIf { it.isNotEmpty() } ?:"/thumbnails"
@@ -134,29 +137,47 @@ class CreateVideoThumbnailClass(private val reactContext: ReactApplicationContex
134
137
  }
135
138
 
136
139
  private fun getBitmapAtTime(context: Context?, filePath: String?, time: Int, headers: Map<String, String>): Bitmap {
140
+ check(!filePath.isNullOrEmpty()) { "Video file path cannot be null or empty" }
137
141
  val retriever = MediaMetadataRetriever()
138
- if (URLUtil.isFileUrl(filePath)) {
139
- val decodedPath: String?
140
- decodedPath = try {
141
- URLDecoder.decode(filePath, "UTF-8")
142
- } catch (e: UnsupportedEncodingException) {
143
- filePath
144
- }
145
- retriever.setDataSource(decodedPath!!.replace("file://", ""))
146
- } else if (filePath!!.contains("content://")) {
147
- retriever.setDataSource(context, Uri.parse(filePath))
148
- } else {
149
- check(Build.VERSION.SDK_INT >= 14) { "Remote videos aren't supported on sdk_version < 14" }
150
- retriever.setDataSource(filePath, headers)
151
- }
152
- val image = retriever.getFrameAtTime((time * 1000).toLong(), MediaMetadataRetriever.OPTION_CLOSEST_SYNC)
153
142
  try {
154
- retriever.release()
155
- } catch (e: IOException) {
156
- throw RuntimeException(e)
143
+ if (URLUtil.isFileUrl(filePath)) {
144
+ val decodedPath: String? = try {
145
+ URLDecoder.decode(filePath, "UTF-8")
146
+ } catch (e: UnsupportedEncodingException) {
147
+ filePath
148
+ }
149
+ retriever.setDataSource(decodedPath!!.replace("file://", ""))
150
+ } else if (filePath.contains("content://")) {
151
+ retriever.setDataSource(context, Uri.parse(filePath))
152
+ } else {
153
+ check(Build.VERSION.SDK_INT >= 14) { "Remote videos aren't supported on sdk_version < 14" }
154
+ retriever.setDataSource(filePath, headers)
155
+ }
156
+
157
+ val requestedTimeUs = (time * 1000).toLong()
158
+ val frameAttempts = arrayOf(
159
+ Pair(requestedTimeUs, MediaMetadataRetriever.OPTION_CLOSEST_SYNC),
160
+ Pair(requestedTimeUs, MediaMetadataRetriever.OPTION_CLOSEST),
161
+ Pair(1_000_000L, MediaMetadataRetriever.OPTION_CLOSEST_SYNC),
162
+ )
163
+ for ((timeUs, option) in frameAttempts) {
164
+ val image = try {
165
+ retriever.getFrameAtTime(timeUs, option)
166
+ } catch (e: RuntimeException) {
167
+ null
168
+ }
169
+ if (image != null) {
170
+ return image
171
+ }
172
+ }
173
+ error("Unable to extract video frame from file")
174
+ } finally {
175
+ try {
176
+ retriever.release()
177
+ } catch (e: IOException) {
178
+ // Ignore
179
+ }
157
180
  }
158
- checkNotNull(image) { "File doesn't exist or not supported" }
159
- return image
160
181
  }
161
182
  }
162
183
  }
@@ -41,10 +41,21 @@ object Compressor {
41
41
  private const val INVALID_BITRATE =
42
42
  "The provided bitrate is smaller than what is needed for compression, " +
43
43
  "try to set isMinBitRateEnabled to false"
44
+ private val SUPPORTED_AUDIO_SAMPLE_RATES = setOf(
45
+ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000
46
+ )
47
+ private const val STREAMABLE_SUFFIX = "-streamable"
48
+ private const val DEFAULT_OUTPUT_EXTENSION = "mp4"
44
49
 
45
50
  // Flag to check if compression is running
46
51
  var isRunning = true
47
52
 
53
+ private fun getStreamableOutputFile(cacheFile: File): File =
54
+ File(
55
+ cacheFile.parentFile ?: File("."),
56
+ "${cacheFile.nameWithoutExtension}$STREAMABLE_SUFFIX.${cacheFile.extension.ifEmpty { DEFAULT_OUTPUT_EXTENSION }}"
57
+ )
58
+
48
59
  suspend fun compressVideo(
49
60
  index: Int,
50
61
  context: Context,
@@ -417,18 +428,27 @@ object Compressor {
417
428
 
418
429
  var resultFile = cacheFile
419
430
 
420
- // Process the result and create a streamable video if requested
421
- streamableFile?.let {
422
- try {
423
- val result = StreamableVideo.start(`in` = cacheFile, out = File(it))
424
- resultFile = File(it)
425
- if (result && cacheFile.exists()) {
431
+ try {
432
+ // Keep default outputs browser-compatible by moving the MP4 metadata before media data.
433
+ val targetFile = streamableFile?.let { File(it) } ?: getStreamableOutputFile(cacheFile)
434
+ val outputFile = if (targetFile.absolutePath == cacheFile.absolutePath) {
435
+ getStreamableOutputFile(cacheFile)
436
+ } else {
437
+ targetFile
438
+ }
439
+ val result = StreamableVideo.start(`in` = cacheFile, out = outputFile)
440
+ if (result) {
441
+ if (streamableFile == null || targetFile.absolutePath == cacheFile.absolutePath) {
442
+ cacheFile.delete()
443
+ outputFile.renameTo(cacheFile)
444
+ resultFile = cacheFile
445
+ } else {
446
+ resultFile = outputFile
426
447
  cacheFile.delete()
427
448
  }
428
-
429
- } catch (e: Exception) {
430
- printException(e)
431
449
  }
450
+ } catch (e: Exception) {
451
+ printException(e)
432
452
  }
433
453
  if (!resultFile.exists() || resultFile.length() <= 32) {
434
454
  return Result(
@@ -464,8 +484,16 @@ object Compressor {
464
484
  if (audioIndex >= 0 && !disableAudio) {
465
485
  extractor.selectTrack(audioIndex)
466
486
  val audioFormat = extractor.getTrackFormat(audioIndex)
487
+ if (!isSupportedAudioFormat(audioFormat)) {
488
+ extractor.unselectTrack(audioIndex)
489
+ return
490
+ }
467
491
  val muxerTrackIndex = mediaMuxer.addTrack(audioFormat, true)
468
- var maxBufferSize = audioFormat.getInteger(MediaFormat.KEY_MAX_INPUT_SIZE)
492
+ var maxBufferSize = if (audioFormat.containsKey(MediaFormat.KEY_MAX_INPUT_SIZE)) {
493
+ audioFormat.getInteger(MediaFormat.KEY_MAX_INPUT_SIZE)
494
+ } else {
495
+ 64 * 1024
496
+ }
469
497
 
470
498
  if (maxBufferSize <= 0) {
471
499
  maxBufferSize = 64 * 1024
@@ -508,6 +536,16 @@ object Compressor {
508
536
  }
509
537
  }
510
538
 
539
+ private fun isSupportedAudioFormat(audioFormat: MediaFormat): Boolean {
540
+ if (!audioFormat.containsKey(MediaFormat.KEY_SAMPLE_RATE) ||
541
+ !audioFormat.containsKey(MediaFormat.KEY_CHANNEL_COUNT)) {
542
+ return false
543
+ }
544
+ val sampleRate = audioFormat.getInteger(MediaFormat.KEY_SAMPLE_RATE)
545
+ val channelCount = audioFormat.getInteger(MediaFormat.KEY_CHANNEL_COUNT)
546
+ return channelCount > 0 && sampleRate in SUPPORTED_AUDIO_SAMPLE_RATES
547
+ }
548
+
511
549
  // Function to prepare the video encoder
512
550
  private fun prepareEncoder(outputFormat: MediaFormat, hasQTI: Boolean): MediaCodec {
513
551
 
@@ -167,13 +167,14 @@ class ImageCompressor {
167
167
  static func writeImage(_ image: UIImage, output: Int, quality: Float, outputExtension: String, isBase64: Bool, disablePngTransparency: Bool, isEnableAutoCompress: Bool, actualImagePath: String?)-> String {
168
168
  var data: Data
169
169
  var exception: NSException?
170
+ let normalizedQuality = CGFloat(min(max(quality, 0), 1))
170
171
 
171
172
  switch OutputType(rawValue: output)! {
172
173
  case .jpg:
173
- data = image.jpegData(compressionQuality: CGFloat(quality))!
174
+ data = image.jpegData(compressionQuality: normalizedQuality)!
174
175
  case .png:
175
176
  if disablePngTransparency {
176
- data = image.jpegData(compressionQuality: CGFloat(quality))!
177
+ data = image.jpegData(compressionQuality: normalizedQuality)!
177
178
  let compressedImage = UIImage(data: data)
178
179
  data = compressedImage!.pngData()!
179
180
  } else {
@@ -10,6 +10,7 @@ import AVFoundation
10
10
  import UIKit
11
11
 
12
12
  class CreateVideoThumbnail: NSObject {
13
+ private static let defaultQuality = 0.9
13
14
 
14
15
  func create(_ fileUrl:String, options: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
15
16
  let headers = options["headers"] as? [String: Any] ?? [:]
@@ -49,21 +50,26 @@ class CreateVideoThumbnail: NSObject {
49
50
  vidURL = URL(fileURLWithPath: fileUrl)
50
51
  }
51
52
 
52
- let asset = AVURLAsset(url: vidURL!, options: ["AVURLAssetHTTPHeaderFieldsKey": headers])
53
+ guard let vidURL = vidURL else {
54
+ reject("CreateVideoThumbnail", "Unable to create a URL from the provided video path", nil)
55
+ return
56
+ }
57
+ let quality = Self.normalizedQuality(options["quality"])
58
+ let asset = AVURLAsset(url: vidURL, options: ["AVURLAssetHTTPHeaderFieldsKey": headers])
53
59
  generateThumbImage(asset: asset, atTime: 0, completion: { thumbnail in
54
60
  // Generate thumbnail
55
- var data: Data? = thumbnail.jpegData(compressionQuality: 1.0)
56
-
57
- if let data = data {
58
- try? data.write(to: URL(fileURLWithPath: fullPath))
59
- resolve([
60
- "path": fullPath,
61
- "size": Float(data.count),
62
- "mime": "image/\(format)",
63
- "width": Float(thumbnail.size.width),
64
- "height": Float(thumbnail.size.height)
65
- ] as [String : Any])
61
+ guard let data = thumbnail.jpegData(compressionQuality: quality) else {
62
+ reject("CreateVideoThumbnail", "Unable to encode video thumbnail", nil)
63
+ return
66
64
  }
65
+ try? data.write(to: URL(fileURLWithPath: fullPath))
66
+ resolve([
67
+ "path": fullPath,
68
+ "size": Float(data.count),
69
+ "mime": "image/\(format)",
70
+ "width": Float(thumbnail.size.width),
71
+ "height": Float(thumbnail.size.height)
72
+ ] as [String : Any])
67
73
  }, failure: { error in
68
74
  reject(error._domain, error.localizedDescription, nil)
69
75
  })
@@ -98,20 +104,33 @@ class CreateVideoThumbnail: NSObject {
98
104
  }
99
105
  }
100
106
 
107
+ private static func normalizedQuality(_ value: Any?) -> CGFloat {
108
+ let rawValue = (value as? NSNumber)?.doubleValue ?? defaultQuality
109
+ return CGFloat(min(max(rawValue, 0), 1))
110
+ }
111
+
101
112
  func generateThumbImage(asset: AVURLAsset, atTime timeStamp: Int, completion: @escaping (UIImage) -> Void, failure: @escaping (Error) -> Void) {
102
113
  let generator = AVAssetImageGenerator(asset: asset)
103
114
  generator.appliesPreferredTrackTransform = true
104
115
  generator.maximumSize = CGSize(width: 512, height: 512)
105
- generator.requestedTimeToleranceBefore = CMTimeMake(value: 0, timescale: 1000)
106
- generator.requestedTimeToleranceAfter = CMTimeMake(value: 0, timescale: 1000)
107
- let time = CMTimeMake(value: Int64(timeStamp), timescale: 1000)
108
- generator.generateCGImagesAsynchronously(forTimes: [NSValue(time: time)]) { _, image, _, result, error in
109
- if result == .succeeded, let cgImage = image {
110
- let thumbnail = UIImage(cgImage: cgImage)
111
- completion(thumbnail)
112
- } else if let error = error {
113
- failure(error)
116
+ generator.requestedTimeToleranceBefore = .positiveInfinity
117
+ generator.requestedTimeToleranceAfter = .positiveInfinity
118
+ let times = [
119
+ CMTimeMake(value: Int64(timeStamp), timescale: 1000),
120
+ CMTimeMake(value: 1000, timescale: 1000)
121
+ ]
122
+ var lastError: Error?
123
+
124
+ for time in times {
125
+ do {
126
+ let cgImage = try generator.copyCGImage(at: time, actualTime: nil)
127
+ completion(UIImage(cgImage: cgImage))
128
+ return
129
+ } catch {
130
+ lastError = error
114
131
  }
115
132
  }
133
+
134
+ failure(lastError ?? NSError(domain: "CreateVideoThumbnail", code: -1, userInfo: [NSLocalizedDescriptionKey: "Unable to create thumbnail"]))
116
135
  }
117
136
  }
@@ -26,7 +26,7 @@ struct UploadError: Error {
26
26
  }
27
27
  }
28
28
 
29
- class Uploader : NSObject, URLSessionTaskDelegate{
29
+ class Uploader: NSObject, URLSessionDataDelegate, URLSessionTaskDelegate {
30
30
  var uploadResolvers: [String: RCTPromiseResolveBlock] = [:]
31
31
  var uploadRejectors: [String: RCTPromiseRejectBlock] = [:]
32
32
  var currentTask: URLSessionDataTask?
@@ -124,11 +124,11 @@ class Uploader : NSObject, URLSessionTaskDelegate{
124
124
  guard let uuid = session.configuration.identifier else {return}
125
125
  guard let reject = uploadRejectors[uuid] else{return}
126
126
  guard let resolve = uploadResolvers[uuid] else{return}
127
- guard let data = self.storage[task.taskIdentifier],
128
- let json = try? JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] else {return}
129
127
  guard error == nil else {
130
128
  reject("failed", "Upload Failed", error)
131
129
  uploadRejectors[uuid] = nil
130
+ uploadResolvers[uuid] = nil
131
+ self.storage[task.taskIdentifier] = nil
132
132
  return;
133
133
  }
134
134
 
@@ -136,19 +136,26 @@ class Uploader : NSObject, URLSessionTaskDelegate{
136
136
  let uploadError = UploadError(message: "Response is not defined")
137
137
  reject("failed", "Upload Failed", uploadError)
138
138
  uploadRejectors[uuid] = nil
139
+ uploadResolvers[uuid] = nil
140
+ self.storage[task.taskIdentifier] = nil
139
141
  return;
140
142
  }
141
143
 
142
- let result: [String : Any] = ["status": response.statusCode, "headers": response.allHeaderFields, "body": json]
143
-
144
+ let data = self.storage[task.taskIdentifier] ?? Data()
145
+ let body = String(data: data, encoding: .utf8) ?? ""
146
+ let result: [String : Any] = ["status": response.statusCode, "headers": response.allHeaderFields, "body": body]
147
+
144
148
  resolve(result)
145
149
  uploadResolvers[uuid] = nil
150
+ uploadRejectors[uuid] = nil
146
151
  self.storage[task.taskIdentifier] = nil
147
152
  }
148
-
153
+
149
154
 
150
155
  public func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
151
- self.storage[dataTask.taskIdentifier] = data
156
+ var responseData = self.storage[dataTask.taskIdentifier] ?? Data()
157
+ responseData.append(data)
158
+ self.storage[dataTask.taskIdentifier] = responseData
152
159
  }
153
160
 
154
161
  func urlSession(_ session: URLSession, task: URLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64)
@@ -347,18 +347,22 @@ class VideoCompressor {
347
347
  }, completionHandler: { result in
348
348
  currentVideoCompression=0;
349
349
  self.compressorExports[uuid] = nil
350
- switch exporter.status {
351
- case .completed:
352
- onCompletion(exporter.outputURL!)
350
+ switch result {
351
+ case .success:
352
+ if let outputURL = exporter.outputURL {
353
+ onCompletion(outputURL)
354
+ } else {
355
+ onFailure(CompressionError(message: "Compression succeeded but output URL is unavailable"))
356
+ }
353
357
  break
354
- case .cancelled:
355
- let error = CompressionError(message: "Compression has canncelled")
358
+ case .failure(let error):
359
+ if let nexterError = error as? NextLevelSessionExporterError, case .cancelled = nexterError {
360
+ onFailure(CompressionError(message: "Compression has cancelled"))
361
+ } else {
356
362
  onFailure(error)
357
- break
358
- default:
359
- onFailure(exporter.error ?? CompressionError(message: "Compression failed"))
363
+ }
360
364
  break
361
- }
365
+ }
362
366
  })
363
367
  }
364
368
 
@@ -373,58 +377,54 @@ class VideoCompressor {
373
377
 
374
378
 
375
379
  func getVideoMetaData(_ filePath: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
376
- do {
377
- VideoCompressor.getAbsoluteVideoPath(filePath, options: [:]) { absoluteImagePath in
378
- if absoluteImagePath.hasPrefix("file://") {
379
-
380
- let absoluteImagePath = URL(string: absoluteImagePath)!.path
381
- let fileManager = FileManager.default
382
- var isDir: ObjCBool = false
383
-
384
- if !fileManager.fileExists(atPath: absoluteImagePath, isDirectory: &isDir) || isDir.boolValue {
385
- let err = NSError(domain: "file not found", code: -15, userInfo: nil)
386
- reject(String(err.code), err.localizedDescription, err)
387
- return
388
- }
380
+ VideoCompressor.getAbsoluteVideoPath(filePath, options: [:]) { absoluteImagePath in
381
+ if absoluteImagePath.hasPrefix("file://") {
389
382
 
390
- let attrs = try? fileManager.attributesOfItem(atPath: absoluteImagePath)
391
- if let fileSize = attrs?[FileAttributeKey.size] as? UInt64 {
392
- let fileSizeString = fileSize
393
-
394
- var result: [String: Any] = [:]
395
- let assetOptions: [String: Any] = [AVURLAssetPreferPreciseDurationAndTimingKey: true]
396
- let asset = AVURLAsset(url: URL(fileURLWithPath: absoluteImagePath), options: assetOptions)
397
- if let avAsset = asset.tracks(withMediaType: .video).first {
398
- let size = avAsset.naturalSize
399
- let _extension = (absoluteImagePath as NSString).pathExtension
400
- let time = asset.duration
401
- let seconds = Double(time.value) / Double(time.timescale)
402
-
403
- result["width"] = size.width
404
- result["height"] = size.height
405
- result["extension"] = _extension
406
- result["size"] = fileSizeString
407
- result["duration"] = seconds
408
-
409
- var commonMetadata: [AVMetadataItem] = []
410
- for key in self.metadatas {
411
- let items = AVMetadataItem.metadataItems(from: asset.commonMetadata, withKey: key, keySpace: AVMetadataKeySpace.common)
412
- commonMetadata.append(contentsOf: items)
413
- }
383
+ let absoluteImagePath = URL(string: absoluteImagePath)!.path
384
+ let fileManager = FileManager.default
385
+ var isDir: ObjCBool = false
414
386
 
415
- for item in commonMetadata {
416
- if let value = item.value {
417
- result[item.commonKey!.rawValue] = value
418
- }
419
- }
387
+ if !fileManager.fileExists(atPath: absoluteImagePath, isDirectory: &isDir) || isDir.boolValue {
388
+ let err = NSError(domain: "file not found", code: -15, userInfo: nil)
389
+ reject(String(err.code), err.localizedDescription, err)
390
+ return
391
+ }
420
392
 
421
- resolve(result)
393
+ let attrs = try? fileManager.attributesOfItem(atPath: absoluteImagePath)
394
+ if let fileSize = attrs?[FileAttributeKey.size] as? UInt64 {
395
+ let fileSizeString = fileSize
396
+
397
+ var result: [String: Any] = [:]
398
+ let assetOptions: [String: Any] = [AVURLAssetPreferPreciseDurationAndTimingKey: true]
399
+ let asset = AVURLAsset(url: URL(fileURLWithPath: absoluteImagePath), options: assetOptions)
400
+ if let avAsset = asset.tracks(withMediaType: .video).first {
401
+ let size = avAsset.naturalSize
402
+ let _extension = (absoluteImagePath as NSString).pathExtension
403
+ let time = asset.duration
404
+ let seconds = Double(time.value) / Double(time.timescale)
405
+
406
+ result["width"] = size.width
407
+ result["height"] = size.height
408
+ result["extension"] = _extension
409
+ result["size"] = fileSizeString
410
+ result["duration"] = seconds
411
+
412
+ var commonMetadata: [AVMetadataItem] = []
413
+ for key in self.metadatas {
414
+ let items = AVMetadataItem.metadataItems(from: asset.commonMetadata, withKey: key, keySpace: AVMetadataKeySpace.common)
415
+ commonMetadata.append(contentsOf: items)
422
416
  }
417
+
418
+ for item in commonMetadata {
419
+ if let value = item.value {
420
+ result[item.commonKey!.rawValue] = value
421
+ }
422
+ }
423
+
424
+ resolve(result)
423
425
  }
424
426
  }
425
427
  }
426
- } catch {
427
- reject(error.localizedDescription, error.localizedDescription, nil)
428
428
  }
429
429
  }
430
430
 
@@ -123,6 +123,7 @@ var _default = exports.default = {
123
123
  getImageMetaData: _utils.getImageMetaData,
124
124
  getFileSize: _utils.getFileSize,
125
125
  backgroundUpload: _utils.backgroundUpload,
126
+ cancelUpload: _utils.cancelUpload,
126
127
  createVideoThumbnail: _utils.createVideoThumbnail,
127
128
  clearCache: _utils.clearCache,
128
129
  download: _utils.download,
@@ -1 +1 @@
1
- {"version":3,"names":["_Video","_interopRequireDefault","require","_Audio","_Image","_utils","e","__esModule","default","_default","exports","Video","Audio","Image","getDetails","uuidv4","generateFilePath","getRealPath","getVideoMetaData","getImageMetaData","getFileSize","backgroundUpload","createVideoThumbnail","clearCache","download","UploadType","UploaderHttpMethod"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAeiB,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAuBF;EACbG,KAAK,EAALA,cAAK;EACLC,KAAK,EAALA,cAAK;EACLC,KAAK,EAALA,cAAK;EACLC,UAAU,EAAVA,iBAAU;EACVC,MAAM,EAANA,aAAM;EACNC,gBAAgB,EAAhBA,uBAAgB;EAChBC,WAAW,EAAXA,kBAAW;EACXC,gBAAgB,EAAhBA,uBAAgB;EAChBC,gBAAgB,EAAhBA,uBAAgB;EAChBC,WAAW,EAAXA,kBAAW;EACXC,gBAAgB,EAAhBA,uBAAgB;EAChBC,oBAAoB,EAApBA,2BAAoB;EACpBC,UAAU,EAAVA,iBAAU;EACVC,QAAQ,EAARA,eAAQ;EACRC,UAAU,EAAVA,iBAAU;EACVC,kBAAkB,EAAlBA;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_Video","_interopRequireDefault","require","_Audio","_Image","_utils","e","__esModule","default","_default","exports","Video","Audio","Image","getDetails","uuidv4","generateFilePath","getRealPath","getVideoMetaData","getImageMetaData","getFileSize","backgroundUpload","cancelUpload","createVideoThumbnail","clearCache","download","UploadType","UploaderHttpMethod"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAeiB,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAuBF;EACbG,KAAK,EAALA,cAAK;EACLC,KAAK,EAALA,cAAK;EACLC,KAAK,EAALA,cAAK;EACLC,UAAU,EAAVA,iBAAU;EACVC,MAAM,EAANA,aAAM;EACNC,gBAAgB,EAAhBA,uBAAgB;EAChBC,WAAW,EAAXA,kBAAW;EACXC,gBAAgB,EAAhBA,uBAAgB;EAChBC,gBAAgB,EAAhBA,uBAAgB;EAChBC,WAAW,EAAXA,kBAAW;EACXC,gBAAgB,EAAhBA,uBAAgB;EAChBC,YAAY,EAAZA,mBAAY;EACZC,oBAAoB,EAApBA,2BAAoB;EACpBC,UAAU,EAAVA,iBAAU;EACVC,QAAQ,EAARA,eAAQ;EACRC,UAAU,EAAVA,iBAAU;EACVC,kBAAkB,EAAlBA;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_Main","require","_reactNative","_Downloader","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Uploader","_helpers","INCORRECT_INPUT_PATH","DEFAULT_COMPRESS_AUDIO_OPTIONS","quality","generateFilePath","extension","Promise","resolve","reject","Compressor","then","result","catch","error","getRealPath","path","type","getVideoMetaData","unifyMetaData","exifResult","output","isIos","Platform","OS","ImageWidth","PixelWidth","parseInt","ImageHeight","PixelHeight","ImageLength","Orientation","size","exif","getImageMetaData","createVideoThumbnail","fileUrl","options","clearCache","cacheDir","isValidUrl","url","test","getFullFilename","_path","includes","length","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","bitrate","getMediaProperties","bit_rate","Number","format","e","getFileSize","filePath"],"sourceRoot":"../../../src","sources":["utils/index.tsx"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AA+KA,IAAAE,WAAA,GAAAF,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAF,WAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,WAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,WAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,SAAA,GAAAf,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAW,SAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,SAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,SAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,QAAA,GAAAhB,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAY,QAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,QAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,QAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AA/KA,MAAMW,oBAAoB,GAAG,kDAAkD;AAexE,MAAMC,8BAAqD,GAAAP,OAAA,CAAAO,8BAAA,GAAG;EACnE;EACAC,OAAO,EAAE;AACX,CAAC;AAuCM,MAAMC,gBAAqB,GAAIC,SAAiB,IAAK;EAC1D,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtCC,gBAAU,CAACL,gBAAgB,CAACC,SAAS,CAAC,CACnCK,IAAI,CAAEC,MAAW,IAAKJ,OAAO,CAAC,SAAS,GAAGI,MAAM,CAAC,CAAC,CAClDC,KAAK,CAAEC,KAAU,IAAKL,MAAM,CAACK,KAAK,CAAC,CAAC;EACzC,CAAC,CAAC;AACJ,CAAC;AAAClB,OAAA,CAAAS,gBAAA,GAAAA,gBAAA;AAEK,MAAMU,WAA4B,GAAGA,CAACC,IAAI,EAAEC,IAAI,GAAG,OAAO,KAAK;EACpE,OAAOP,gBAAU,CAACK,WAAW,CAACC,IAAI,EAAEC,IAAI,CAAC;AAC3C,CAAC;AAACrB,OAAA,CAAAmB,WAAA,GAAAA,WAAA;AAEK,MAAMG,gBAAsC,GAAIF,IAAY,IAAK;EACtE,OAAON,gBAAU,CAACQ,gBAAgB,CAACF,IAAI,CAAC;AAC1C,CAAC;AAACpB,OAAA,CAAAsB,gBAAA,GAAAA,gBAAA;AAEF,MAAMC,aAAa,GAAIC,UAAe,IAAK;EACzC,MAAMC,MAAW,GAAG,CAAC,CAAC;EACtB,MAAMC,KAAK,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK;EACnCH,MAAM,CAACI,UAAU,GAAGH,KAAK,GAAGF,UAAU,EAAEM,UAAU,GAAGC,QAAQ,CAACP,UAAU,CAACK,UAAU,CAAC;EAEpFJ,MAAM,CAACO,WAAW,GAAGN,KAAK,GAAGF,UAAU,EAAES,WAAW,GAAGF,QAAQ,CAACP,UAAU,CAACU,WAAW,CAAC;EAEvFT,MAAM,CAACU,WAAW,GAAGT,KAAK,GAAGF,UAAU,CAACW,WAAW,GAAGJ,QAAQ,CAACP,UAAU,CAACW,WAAW,CAAC;EAEtFV,MAAM,CAACW,IAAI,GAAGZ,UAAU,CAACY,IAAI;EAC7BX,MAAM,CAACf,SAAS,GAAGc,UAAU,CAACd,SAAS;EACvCe,MAAM,CAACY,IAAI,GAAGb,UAAU;EACxB,OAAOC,MAAM;AACf,CAAC;AAEM,MAAMa,gBAAsC,GAAG,MAAOlB,IAAY,IAAK;EAC5E,MAAMJ,MAAM,GAAG,MAAMF,gBAAU,CAACwB,gBAAgB,CAAClB,IAAI,CAAC;EACtD,OAAOG,aAAa,CAACP,MAAM,CAAC;AAC9B,CAAC;AAAChB,OAAA,CAAAsC,gBAAA,GAAAA,gBAAA;AAEK,MAAMC,oBAA8C,GAAGA,CAACC,OAAO,EAAEC,OAAO,GAAG,CAAC,CAAC,KAAK;EACvF,OAAO3B,gBAAU,CAACyB,oBAAoB,CAACC,OAAO,EAAEC,OAAO,CAAC;AAC1D,CAAC;AAACzC,OAAA,CAAAuC,oBAAA,GAAAA,oBAAA;AAEK,MAAMG,UAA0B,GAAIC,QAAiB,IAAK;EAC/D,OAAO7B,gBAAU,CAAC4B,UAAU,CAACC,QAAQ,CAAC;AACxC,CAAC;AAAC3C,OAAA,CAAA0C,UAAA,GAAAA,UAAA;AAEF,MAAME,UAAU,GAAIC,GAAW,IAAK,uDAAuD,CAACC,IAAI,CAACD,GAAG,CAAC;AAErG,MAAME,eAAe,GAAI3B,IAAmB,IAAK;EAC/C,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,IAAI4B,KAAK,GAAG5B,IAAI;;IAEhB;IACA,IAAIA,IAAI,CAAC6B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAACL,UAAU,CAACxB,IAAI,CAAC,EAAE;MAC9C,OAAOd,oBAAoB;IAC7B;;IAEA;IACA,IAAI0C,KAAK,CAACA,KAAK,CAACE,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAEF,KAAK,GAAGA,KAAK,CAACG,SAAS,CAAC,CAAC,EAAE/B,IAAI,CAAC8B,MAAM,GAAG,CAAC,CAAC;IAEhF,MAAME,KAAK,GAAGJ,KAAK,CAACK,KAAK,CAAC,GAAG,CAAC;IAC9B,OAAOD,KAAK,CAACF,MAAM,GAAG,CAAC,GAAGE,KAAK,CAACA,KAAK,CAACF,MAAM,GAAG,CAAC,CAAC,GAAG5C,oBAAoB;EAC1E;EACA,OAAOA,oBAAoB;AAC7B,CAAC;AAED,MAAMgD,eAAe,GAAIC,QAAgB,IAAK;EAC5C,OAAOA,QAAQ,KAAKjD,oBAAoB;AAC1C,CAAC;AAED,MAAMkD,WAAW,GAAIpC,IAAmB,IAAK;EAC3C,MAAMqC,YAAgC,GAAGV,eAAe,CAAC3B,IAAI,CAAC;EAC9D,IAAIqC,YAAY,IAAI,CAACH,eAAe,CAACG,YAAY,CAAC,EAAE;IAClD,MAAML,KAAK,GAAGK,YAAY,CAACJ,KAAK,CAAC,GAAG,CAAC;IACrC,OAAOD,KAAK,CAACF,MAAM,GAAG,CAAC,GAAGE,KAAK,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,GAAGP,KAAK,CAACO,IAAI,CAAC,EAAE,CAAC;EACxE;EACA,OAAOF,YAAY;AACrB,CAAC;AAED,MAAMG,aAAa,GAAIxC,IAAmB,IAAK;EAC7C,OAAO,OAAOA,IAAI,KAAK,QAAQ,GAAGA,IAAI,EAAEiC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAEJ,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;AACnF,CAAC;AAEM,MAAMY,UAAU,GAAGA,CAACC,aAAqB,EAAEC,SAAwB,GAAG,KAAK,KAA0B;EAC1G,OAAO,IAAIpD,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;IAC5C,IAAI;MACF;MACA,MAAMG,MAAW,GAAG,CAAC,CAAC;MACtB,IAAIA,MAAM,KAAK,CAAC,EAAE;QAChB,MAAM,IAAIgD,KAAK,CAAC,2BAA2B,CAAC;MAC9C;;MAEA;MACA;MACA,IAAIC,SAAc,GAAG,MAAM,CAAC,CAAC;MAC7BA,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACF,SAAS,CAAC;;MAEjC;MACA,MAAMG,gBAAqB,GAAG,MAAM,CAAC,CAAC;;MAEtC;MACAA,gBAAgB,CAACb,QAAQ,GAAGC,WAAW,CAACM,aAAa,CAAC;MACtDM,gBAAgB,CAACC,OAAO,GAAGD,gBAAgB,CAACE,kBAAkB,CAAC,CAAC,CAACC,QAAQ;MACzEH,gBAAgB,CAAC1D,SAAS,GAAGqD,SAAS;MACtCK,gBAAgB,CAACR,aAAa,GAAGA,aAAa,CAACE,aAAa,CAAC;MAC7DM,gBAAgB,CAAChC,IAAI,GAAGoC,MAAM,CAACP,SAAS,CAACQ,MAAM,CAACrC,IAAI,CAAC;MAErDxB,OAAO,CAACwD,gBAAgB,CAAC;IAC3B,CAAC,CAAC,OAAOM,CAAC,EAAE;MACV7D,MAAM,CAAC6D,CAAC,CAAC;IACX;EACF,CAAC,CAAC;AACJ,CAAC;AAAC1E,OAAA,CAAA6D,UAAA,GAAAA,UAAA;AAEK,MAAMc,WAAW,GAAG,MAAOC,QAAgB,IAAsB;EACtE,OAAO9D,gBAAU,CAAC6D,WAAW,CAACC,QAAQ,CAAC;AACzC,CAAC;AAAC5E,OAAA,CAAA2E,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["_Main","require","_reactNative","_Downloader","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Uploader","_helpers","INCORRECT_INPUT_PATH","DEFAULT_COMPRESS_AUDIO_OPTIONS","quality","generateFilePath","extension","Promise","resolve","reject","Compressor","then","result","catch","error","getRealPath","path","type","getVideoMetaData","unifyMetaData","exifResult","output","isIos","Platform","OS","ImageWidth","PixelWidth","parseInt","ImageHeight","PixelHeight","ImageLength","Orientation","size","exif","getImageMetaData","createVideoThumbnail","fileUrl","options","clearCache","cacheDir","isValidUrl","url","test","getFullFilename","_path","includes","length","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","bitrate","getMediaProperties","bit_rate","Number","format","e","getFileSize","filePath"],"sourceRoot":"../../../src","sources":["utils/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -19,6 +19,7 @@ export default {
19
19
  getImageMetaData,
20
20
  getFileSize,
21
21
  backgroundUpload,
22
+ cancelUpload,
22
23
  createVideoThumbnail,
23
24
  clearCache,
24
25
  download,
@@ -1 +1 @@
1
- {"version":3,"names":["Video","Audio","Image","getDetails","uuidv4","generateFilePath","getRealPath","getVideoMetaData","getImageMetaData","getFileSize","backgroundUpload","cancelUpload","createVideoThumbnail","download","clearCache","UploadType","UploaderHttpMethod"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,SAAS;AAE3B,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,KAAK,MAAM,SAAS;AAC3B,SACEC,UAAU,EACVC,MAAM,EACNC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZC,oBAAoB,EACpBC,QAAQ,EACRC,UAAU,EACVC,UAAU,EACVC,kBAAkB,QACb,SAAS;AAEhB,SACEhB,KAAK,EACLC,KAAK,EACLC,KAAK,EACLQ,gBAAgB,EAChBC,YAAY,EACZE,QAAQ;AACR;AACAV,UAAU,EACVC,MAAM,EACNC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBC,gBAAgB,EAChBI,oBAAoB,EACpBE,UAAU,EACVL,WAAW,EACXM,UAAU,EACVC,kBAAkB;AAGpB,eAAe;EACbhB,KAAK;EACLC,KAAK;EACLC,KAAK;EACLC,UAAU;EACVC,MAAM;EACNC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBE,oBAAoB;EACpBE,UAAU;EACVD,QAAQ;EACRE,UAAU;EACVC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Video","Audio","Image","getDetails","uuidv4","generateFilePath","getRealPath","getVideoMetaData","getImageMetaData","getFileSize","backgroundUpload","cancelUpload","createVideoThumbnail","download","clearCache","UploadType","UploaderHttpMethod"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,SAAS;AAE3B,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,KAAK,MAAM,SAAS;AAC3B,SACEC,UAAU,EACVC,MAAM,EACNC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZC,oBAAoB,EACpBC,QAAQ,EACRC,UAAU,EACVC,UAAU,EACVC,kBAAkB,QACb,SAAS;AAEhB,SACEhB,KAAK,EACLC,KAAK,EACLC,KAAK,EACLQ,gBAAgB,EAChBC,YAAY,EACZE,QAAQ;AACR;AACAV,UAAU,EACVC,MAAM,EACNC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBC,gBAAgB,EAChBI,oBAAoB,EACpBE,UAAU,EACVL,WAAW,EACXM,UAAU,EACVC,kBAAkB;AAGpB,eAAe;EACbhB,KAAK;EACLC,KAAK;EACLC,KAAK;EACLC,UAAU;EACVC,MAAM;EACNC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC,YAAY;EACZC,oBAAoB;EACpBE,UAAU;EACVD,QAAQ;EACRE,UAAU;EACVC;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Compressor","Platform","INCORRECT_INPUT_PATH","DEFAULT_COMPRESS_AUDIO_OPTIONS","quality","generateFilePath","extension","Promise","resolve","reject","then","result","catch","error","getRealPath","path","type","getVideoMetaData","unifyMetaData","exifResult","output","isIos","OS","ImageWidth","PixelWidth","parseInt","ImageHeight","PixelHeight","ImageLength","Orientation","size","exif","getImageMetaData","createVideoThumbnail","fileUrl","options","clearCache","cacheDir","isValidUrl","url","test","getFullFilename","_path","includes","length","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","bitrate","getMediaProperties","bit_rate","Number","format","e","getFileSize","filePath"],"sourceRoot":"../../../src","sources":["utils/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,SAAS;AACpC,SAASC,QAAQ,QAAQ,cAAc;AAEvC,MAAMC,oBAAoB,GAAG,kDAAkD;AAe/E,OAAO,MAAMC,8BAAqD,GAAG;EACnE;EACAC,OAAO,EAAE;AACX,CAAC;AAuCD,OAAO,MAAMC,gBAAqB,GAAIC,SAAiB,IAAK;EAC1D,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtCT,UAAU,CAACK,gBAAgB,CAACC,SAAS,CAAC,CACnCI,IAAI,CAAEC,MAAW,IAAKH,OAAO,CAAC,SAAS,GAAGG,MAAM,CAAC,CAAC,CAClDC,KAAK,CAAEC,KAAU,IAAKJ,MAAM,CAACI,KAAK,CAAC,CAAC;EACzC,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMC,WAA4B,GAAGA,CAACC,IAAI,EAAEC,IAAI,GAAG,OAAO,KAAK;EACpE,OAAOhB,UAAU,CAACc,WAAW,CAACC,IAAI,EAAEC,IAAI,CAAC;AAC3C,CAAC;AAED,OAAO,MAAMC,gBAAsC,GAAIF,IAAY,IAAK;EACtE,OAAOf,UAAU,CAACiB,gBAAgB,CAACF,IAAI,CAAC;AAC1C,CAAC;AAED,MAAMG,aAAa,GAAIC,UAAe,IAAK;EACzC,MAAMC,MAAW,GAAG,CAAC,CAAC;EACtB,MAAMC,KAAK,GAAGpB,QAAQ,CAACqB,EAAE,KAAK,KAAK;EACnCF,MAAM,CAACG,UAAU,GAAGF,KAAK,GAAGF,UAAU,EAAEK,UAAU,GAAGC,QAAQ,CAACN,UAAU,CAACI,UAAU,CAAC;EAEpFH,MAAM,CAACM,WAAW,GAAGL,KAAK,GAAGF,UAAU,EAAEQ,WAAW,GAAGF,QAAQ,CAACN,UAAU,CAACS,WAAW,CAAC;EAEvFR,MAAM,CAACS,WAAW,GAAGR,KAAK,GAAGF,UAAU,CAACU,WAAW,GAAGJ,QAAQ,CAACN,UAAU,CAACU,WAAW,CAAC;EAEtFT,MAAM,CAACU,IAAI,GAAGX,UAAU,CAACW,IAAI;EAC7BV,MAAM,CAACd,SAAS,GAAGa,UAAU,CAACb,SAAS;EACvCc,MAAM,CAACW,IAAI,GAAGZ,UAAU;EACxB,OAAOC,MAAM;AACf,CAAC;AAED,OAAO,MAAMY,gBAAsC,GAAG,MAAOjB,IAAY,IAAK;EAC5E,MAAMJ,MAAM,GAAG,MAAMX,UAAU,CAACgC,gBAAgB,CAACjB,IAAI,CAAC;EACtD,OAAOG,aAAa,CAACP,MAAM,CAAC;AAC9B,CAAC;AAED,OAAO,MAAMsB,oBAA8C,GAAGA,CAACC,OAAO,EAAEC,OAAO,GAAG,CAAC,CAAC,KAAK;EACvF,OAAOnC,UAAU,CAACiC,oBAAoB,CAACC,OAAO,EAAEC,OAAO,CAAC;AAC1D,CAAC;AAED,OAAO,MAAMC,UAA0B,GAAIC,QAAiB,IAAK;EAC/D,OAAOrC,UAAU,CAACoC,UAAU,CAACC,QAAQ,CAAC;AACxC,CAAC;AAED,MAAMC,UAAU,GAAIC,GAAW,IAAK,uDAAuD,CAACC,IAAI,CAACD,GAAG,CAAC;AAErG,MAAME,eAAe,GAAI1B,IAAmB,IAAK;EAC/C,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,IAAI2B,KAAK,GAAG3B,IAAI;;IAEhB;IACA,IAAIA,IAAI,CAAC4B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAACL,UAAU,CAACvB,IAAI,CAAC,EAAE;MAC9C,OAAOb,oBAAoB;IAC7B;;IAEA;IACA,IAAIwC,KAAK,CAACA,KAAK,CAACE,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAEF,KAAK,GAAGA,KAAK,CAACG,SAAS,CAAC,CAAC,EAAE9B,IAAI,CAAC6B,MAAM,GAAG,CAAC,CAAC;IAEhF,MAAME,KAAK,GAAGJ,KAAK,CAACK,KAAK,CAAC,GAAG,CAAC;IAC9B,OAAOD,KAAK,CAACF,MAAM,GAAG,CAAC,GAAGE,KAAK,CAACA,KAAK,CAACF,MAAM,GAAG,CAAC,CAAC,GAAG1C,oBAAoB;EAC1E;EACA,OAAOA,oBAAoB;AAC7B,CAAC;AAED,MAAM8C,eAAe,GAAIC,QAAgB,IAAK;EAC5C,OAAOA,QAAQ,KAAK/C,oBAAoB;AAC1C,CAAC;AAED,MAAMgD,WAAW,GAAInC,IAAmB,IAAK;EAC3C,MAAMoC,YAAgC,GAAGV,eAAe,CAAC1B,IAAI,CAAC;EAC9D,IAAIoC,YAAY,IAAI,CAACH,eAAe,CAACG,YAAY,CAAC,EAAE;IAClD,MAAML,KAAK,GAAGK,YAAY,CAACJ,KAAK,CAAC,GAAG,CAAC;IACrC,OAAOD,KAAK,CAACF,MAAM,GAAG,CAAC,GAAGE,KAAK,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,GAAGP,KAAK,CAACO,IAAI,CAAC,EAAE,CAAC;EACxE;EACA,OAAOF,YAAY;AACrB,CAAC;AAED,MAAMG,aAAa,GAAIvC,IAAmB,IAAK;EAC7C,OAAO,OAAOA,IAAI,KAAK,QAAQ,GAAGA,IAAI,EAAEgC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAEJ,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI;AACnF,CAAC;AAED,OAAO,MAAMY,UAAU,GAAGA,CAACC,aAAqB,EAAEC,SAAwB,GAAG,KAAK,KAA0B;EAC1G,OAAO,IAAIlD,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;IAC5C,IAAI;MACF;MACA,MAAME,MAAW,GAAG,CAAC,CAAC;MACtB,IAAIA,MAAM,KAAK,CAAC,EAAE;QAChB,MAAM,IAAI+C,KAAK,CAAC,2BAA2B,CAAC;MAC9C;;MAEA;MACA;MACA,IAAIC,SAAc,GAAG,MAAM,CAAC,CAAC;MAC7BA,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACF,SAAS,CAAC;;MAEjC;MACA,MAAMG,gBAAqB,GAAG,MAAM,CAAC,CAAC;;MAEtC;MACAA,gBAAgB,CAACb,QAAQ,GAAGC,WAAW,CAACM,aAAa,CAAC;MACtDM,gBAAgB,CAACC,OAAO,GAAGD,gBAAgB,CAACE,kBAAkB,CAAC,CAAC,CAACC,QAAQ;MACzEH,gBAAgB,CAACxD,SAAS,GAAGmD,SAAS;MACtCK,gBAAgB,CAACR,aAAa,GAAGA,aAAa,CAACE,aAAa,CAAC;MAC7DM,gBAAgB,CAAChC,IAAI,GAAGoC,MAAM,CAACP,SAAS,CAACQ,MAAM,CAACrC,IAAI,CAAC;MAErDtB,OAAO,CAACsD,gBAAgB,CAAC;IAC3B,CAAC,CAAC,OAAOM,CAAC,EAAE;MACV3D,MAAM,CAAC2D,CAAC,CAAC;IACX;EACF,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMC,WAAW,GAAG,MAAOC,QAAgB,IAAsB;EACtE,OAAOtE,UAAU,CAACqE,WAAW,CAACC,QAAQ,CAAC;AACzC,CAAC;AAED,cAAc,cAAc;AAC5B,cAAc,YAAY;AAC1B,cAAc,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["Compressor","Platform","INCORRECT_INPUT_PATH","DEFAULT_COMPRESS_AUDIO_OPTIONS","quality","generateFilePath","extension","Promise","resolve","reject","then","result","catch","error","getRealPath","path","type","getVideoMetaData","unifyMetaData","exifResult","output","isIos","OS","ImageWidth","PixelWidth","parseInt","ImageHeight","PixelHeight","ImageLength","Orientation","size","exif","getImageMetaData","createVideoThumbnail","fileUrl","options","clearCache","cacheDir","isValidUrl","url","test","getFullFilename","_path","includes","length","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","bitrate","getMediaProperties","bit_rate","Number","format","e","getFileSize","filePath"],"sourceRoot":"../../../src","sources":["utils/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -34,10 +34,12 @@ declare const _default: {
34
34
  }>;
35
35
  getFileSize: (filePath: string) => Promise<string>;
36
36
  backgroundUpload: (url: string, fileUrl: string, options: import("./utils").UploaderOptions, onProgress?: (writtem: number, total: number) => void, abortSignal?: AbortSignal) => Promise<any>;
37
+ cancelUpload: (uuid?: string, shouldCancelAll?: boolean) => void;
37
38
  createVideoThumbnail: (fileUrl: string, options?: {
38
39
  headers?: {
39
40
  [key: string]: string;
40
41
  };
42
+ quality?: number;
41
43
  }) => Promise<{
42
44
  path: string;
43
45
  size: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EACL,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EAER,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,UAAU,EACV,kBAAkB,GACnB,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMhC,CAAC;;;;;;;;;;;;;;;AALL,wBAiBE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EACL,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EAER,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,UAAU,EACV,kBAAkB,GACnB,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAMhC,CAAC;;;eAGH,CAAD;;;;;;;;;;;;;AARD,wBAkBE"}
@@ -17,6 +17,7 @@ type createVideoThumbnailType = (fileUrl: string, options?: {
17
17
  headers?: {
18
18
  [key: string]: string;
19
19
  };
20
+ quality?: number;
20
21
  }) => Promise<{
21
22
  path: string;
22
23
  size: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.tsx"],"names":[],"mappings":"AAEA,KAAK,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAG7C,KAAK,qBAAqB,GAAG;IAE3B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,qBAG5C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,wBAAwB,GAAG,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACrC,KACE,OAAO,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,KAAK,cAAc,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7D,KAAK,oBAAoB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACjC,CAAC,CAAC;AAEH,KAAK,oBAAoB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AACH,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAElF,eAAO,MAAM,gBAAgB,EAAE,GAM9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAEzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,oBAE9B,CAAC;AAiBF,eAAO,MAAM,gBAAgB,EAAE,oBAG9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,wBAElC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,cAExB,CAAC;AAuCF,eAAO,MAAM,UAAU,GAAI,eAAe,MAAM,EAAE,YAAW,KAAK,GAAG,KAAa,KAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CA6BtG,CAAC;AAEF,eAAO,MAAM,WAAW,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAElE,CAAC;AAEF,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.tsx"],"names":[],"mappings":"AAEA,KAAK,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAG7C,KAAK,qBAAqB,GAAG;IAE3B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,qBAG5C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,wBAAwB,GAAG,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,KACE,OAAO,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,KAAK,cAAc,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7D,KAAK,oBAAoB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACjC,CAAC,CAAC;AAEH,KAAK,oBAAoB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AACH,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAElF,eAAO,MAAM,gBAAgB,EAAE,GAM9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAEzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,oBAE9B,CAAC;AAiBF,eAAO,MAAM,gBAAgB,EAAE,oBAG9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,wBAElC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,cAExB,CAAC;AAuCF,eAAO,MAAM,UAAU,GAAI,eAAe,MAAM,EAAE,YAAW,KAAK,GAAG,KAAa,KAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CA6BtG,CAAC;AAEF,eAAO,MAAM,WAAW,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAElE,CAAC;AAEF,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-compressor",
3
- "version": "1.18.0",
3
+ "version": "1.18.2",
4
4
  "description": "Compress Image, Video, and Audio same like Whatsapp & Auto/Manual Compression | Background Upload | Download File | Create Video Thumbnail",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -29,6 +29,9 @@
29
29
  ],
30
30
  "scripts": {
31
31
  "test": "jest",
32
+ "test:pr": "yarn test --runInBand && yarn typecheck && yarn lint",
33
+ "test:harness:android": "cd examples/bare && react-native-harness --config ./jest.harness.config.mjs --harnessRunner android --verbose",
34
+ "test:harness:ios": "cd examples/bare && react-native-harness --config ./jest.harness.config.mjs --harnessRunner ios --verbose",
32
35
  "typecheck": "tsc --noEmit",
33
36
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
34
37
  "prepack": "bob build",
@@ -88,6 +91,8 @@
88
91
  "@eslint/js": "^10.0.1",
89
92
  "@expo/config-plugins": "^55.0.8",
90
93
  "@jest/globals": "^30.0.0",
94
+ "@react-native-harness/platform-android": "1.1.0",
95
+ "@react-native-harness/platform-apple": "1.1.0",
91
96
  "@react-native/babel-preset": "0.85.0",
92
97
  "@react-native/eslint-config": "0.85.0",
93
98
  "@react-native/jest-preset": "0.85.0",
@@ -105,6 +110,7 @@
105
110
  "react": "19.2.3",
106
111
  "react-native": "0.85.0",
107
112
  "react-native-builder-bob": "^0.41.0",
113
+ "react-native-harness": "1.1.0",
108
114
  "release-it": "^19.2.4",
109
115
  "turbo": "^2.8.21",
110
116
  "typescript": "^6.0.2"
package/src/index.tsx CHANGED
@@ -52,6 +52,7 @@ export default {
52
52
  getImageMetaData,
53
53
  getFileSize,
54
54
  backgroundUpload,
55
+ cancelUpload,
55
56
  createVideoThumbnail,
56
57
  clearCache,
57
58
  download,
@@ -29,6 +29,7 @@ type createVideoThumbnailType = (
29
29
  fileUrl: string,
30
30
  options?: {
31
31
  headers?: { [key: string]: string };
32
+ quality?: number;
32
33
  },
33
34
  ) => Promise<{
34
35
  path: string;