react-native-compressor 1.8.0 → 1.8.1

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.
package/README.md CHANGED
@@ -84,7 +84,7 @@ yarn add react-native-compressor
84
84
 
85
85
  ### [New Architecture (Turbo Module)](https://reactnative.dev/docs/new-architecture-intro) Supported
86
86
 
87
- you can give feedback on [Discord channel](https://discord.gg/dtYzk8sp)
87
+ you can give feedback on [Discord channel](https://discord.gg/6Wx8Em8KAN)
88
88
 
89
89
  ### Managed Expo
90
90
 
@@ -299,6 +299,16 @@ const downloadFileUrl = await download(url, (progress) => {
299
299
  });
300
300
  ```
301
301
 
302
+ ### Video Thumbnail
303
+
304
+ ```js
305
+ import { createVideoThumbnail, clearCache } from 'react-native-compressor';
306
+
307
+ const thumbnail = await createVideoThumbnail(videoUri);
308
+
309
+ await clearCache(); // this will clear cache of thumbnails cache directory
310
+ ```
311
+
302
312
  # API
303
313
 
304
314
  ## Image
@@ -421,6 +431,16 @@ type FileSystemUploadOptions = (
421
431
 
422
432
  - ##### download: ( fileUrl: string, downloadProgress?: (progress: number) => void, progressDivider?: number ) => Promise< string >
423
433
 
434
+ ### Create Video Thumbnail and clear cache
435
+
436
+ - #### createVideoThumbnail( fileUrl: string, options: {header:Object} ): Promise<{ path: string;size: number; mime: string; width: number; height: number; }>
437
+
438
+ it will save the thumbnail of the video into the cache directory and return the thumbnail URI which you can display
439
+
440
+ - #### clearCache(cacheDir?: string): Promise< string >
441
+
442
+ it will clear the cache that was created from createVideoThumbnail, in future this clear cache will be totally customized
443
+
424
444
  ### Get Metadata Of Video
425
445
 
426
446
  if you want to get metadata of video than you can use this function
@@ -1,7 +1,7 @@
1
1
  buildscript {
2
2
  // Buildscript is evaluated before everything else so we can't use getExtOrDefault
3
3
  def kotlin_version = rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : project.properties["Compressor_kotlinVersion"]
4
-
4
+
5
5
  repositories {
6
6
  google()
7
7
  mavenCentral()
@@ -110,6 +110,7 @@ dependencies {
110
110
  //noinspection GradleDynamicVersion
111
111
  implementation "com.facebook.react:react-native:+"
112
112
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
113
+ implementation 'commons-io:commons-io:2.8.0'
113
114
  implementation 'io.github.lizhangqu:coreprogress:1.0.2'
114
115
  implementation 'com.github.numandev1:VideoCompressor:1a262bba37'
115
116
  }
@@ -8,6 +8,7 @@ import com.facebook.react.bridge.ReactMethod
8
8
  import com.facebook.react.bridge.ReadableMap
9
9
  import com.reactnativecompressor.Audio.AudioMain
10
10
  import com.reactnativecompressor.Image.ImageMain
11
+ import com.reactnativecompressor.Utils.CreateVideoThumbnail
11
12
  import com.reactnativecompressor.Utils.Downloader
12
13
  import com.reactnativecompressor.Utils.EventEmitterHandler
13
14
  import com.reactnativecompressor.Utils.Uploader
@@ -20,6 +21,7 @@ class CompressorModule(private val reactContext: ReactApplicationContext) : Comp
20
21
  private val imageMain: ImageMain = ImageMain(reactContext)
21
22
  private val videoMain: VideoMain = VideoMain(reactContext)
22
23
  private val audioMain: AudioMain = AudioMain(reactContext)
24
+ private val videoThumbnail: CreateVideoThumbnail = CreateVideoThumbnail(reactContext)
23
25
 
24
26
  override fun initialize() {
25
27
  super.initialize()
@@ -147,6 +149,16 @@ class CompressorModule(private val reactContext: ReactApplicationContext) : Comp
147
149
  }
148
150
  }
149
151
 
152
+ @ReactMethod
153
+ override fun createVideoThumbnail(fileUrl:String, options:ReadableMap, promise:Promise) {
154
+ videoThumbnail.create(fileUrl,options,promise)
155
+ }
156
+
157
+ @ReactMethod
158
+ override fun clearCache(cacheDir:String?, promise:Promise) {
159
+ CreateVideoThumbnail.clearCache(cacheDir, promise, reactContext)
160
+ }
161
+
150
162
  @ReactMethod
151
163
  override fun addListener(eventName: String) {
152
164
  }
@@ -0,0 +1,158 @@
1
+ package com.reactnativecompressor.Utils
2
+
3
+ import android.content.Context
4
+ import android.graphics.Bitmap
5
+ import android.graphics.BitmapFactory
6
+ import android.media.MediaMetadataRetriever
7
+ import android.net.Uri
8
+ import android.os.Build
9
+ import android.text.TextUtils
10
+ import android.webkit.URLUtil
11
+ import androidx.annotation.RequiresApi
12
+ import com.facebook.react.bridge.Arguments
13
+ import com.facebook.react.bridge.GuardedResultAsyncTask
14
+ import com.facebook.react.bridge.Promise
15
+ import com.facebook.react.bridge.ReactApplicationContext
16
+ import com.facebook.react.bridge.ReactContext
17
+ import com.facebook.react.bridge.ReactMethod
18
+ import com.facebook.react.bridge.ReadableMap
19
+ import java.io.File
20
+ import java.io.FileOutputStream
21
+ import java.io.IOException
22
+ import java.io.OutputStream
23
+ import java.io.UnsupportedEncodingException
24
+ import java.lang.ref.WeakReference
25
+ import java.net.URLDecoder
26
+ import java.util.UUID
27
+
28
+
29
+ class CreateVideoThumbnail(private val reactContext: ReactApplicationContext) {
30
+ @ReactMethod
31
+ fun create(fileUrl:String,options: ReadableMap, promise: Promise) {
32
+ ProcessDataTask(reactContext,fileUrl, promise, options).execute()
33
+ }
34
+
35
+ private class ProcessDataTask(reactContext: ReactContext,private val filePath:String, private val promise: Promise, private val options: ReadableMap) : GuardedResultAsyncTask<ReadableMap?>(reactContext.exceptionHandler) {
36
+ private val weakContext: WeakReference<Context>
37
+
38
+ init {
39
+ weakContext = WeakReference(reactContext.applicationContext)
40
+ }
41
+
42
+ @RequiresApi(Build.VERSION_CODES.N)
43
+ override fun doInBackgroundGuarded(): ReadableMap? {
44
+ val format = "jpeg"
45
+ val cacheName = if (options.hasKey("cacheName")) options.getString("cacheName") else ""
46
+ val thumbnailDir = weakContext.get()!!.applicationContext.cacheDir.absolutePath + "/thumbnails"
47
+ val cacheDir = createDirIfNotExists(thumbnailDir)
48
+ if (!TextUtils.isEmpty(cacheName)) {
49
+ val file = File(thumbnailDir, "$cacheName.$format")
50
+ if (file.exists()) {
51
+ val map = Arguments.createMap()
52
+ map.putString("path", "file://" + file.absolutePath)
53
+ val image = BitmapFactory.decodeFile(file.absolutePath)
54
+ map.putDouble("size", image.byteCount.toDouble())
55
+ map.putString("mime", "image/$format")
56
+ map.putDouble("width", image.width.toDouble())
57
+ map.putDouble("height", image.height.toDouble())
58
+ return map
59
+ }
60
+ }
61
+ val headers: Map<String, String> = if (options.hasKey("headers")) options.getMap("headers")!!.toHashMap() as Map<String, String> else HashMap<String, String>()
62
+ val fileName = if (TextUtils.isEmpty(cacheName)) "thumb-" + UUID.randomUUID().toString() else "$cacheName.$format"
63
+ var fOut: OutputStream? = null
64
+ try {
65
+ val file = File(cacheDir, fileName)
66
+ val context = weakContext.get()
67
+ val image = getBitmapAtTime(context, filePath, 0, headers)
68
+ file.createNewFile()
69
+ fOut = FileOutputStream(file)
70
+
71
+ // 100 means no compression, the lower you go, the stronger the compression
72
+ image.compress(Bitmap.CompressFormat.JPEG, 90, fOut)
73
+ fOut.flush()
74
+ fOut.close()
75
+
76
+ val map = Arguments.createMap()
77
+ map.putString("path", "file://" + file.absolutePath)
78
+ map.putDouble("size", image.byteCount.toDouble())
79
+ map.putString("mime", "image/$format")
80
+ map.putDouble("width", image.width.toDouble())
81
+ map.putDouble("height", image.height.toDouble())
82
+ return map
83
+ } catch (e: Exception) {
84
+ promise.reject("CreateVideoThumbnail_ERROR", e)
85
+ }
86
+ return null
87
+ }
88
+
89
+ override fun onPostExecuteGuarded(readableArray: ReadableMap?) {
90
+ promise.resolve(readableArray)
91
+ }
92
+ }
93
+
94
+ companion object {
95
+ // delete previously added files one by one untill requred space is available
96
+ fun clearCache(cacheDir: String?,promise:Promise, reactContext: ReactApplicationContext) {
97
+ val cacheDirectory=cacheDir?.takeIf { it.isNotEmpty() } ?:"/thumbnails"
98
+ val thumbnailDir: String = reactContext.getApplicationContext().getCacheDir().getAbsolutePath() + cacheDirectory
99
+ val thumbnailDirFile = createDirIfNotExists(thumbnailDir)
100
+
101
+ if (thumbnailDirFile != null) {
102
+ val files = thumbnailDirFile.listFiles()
103
+
104
+ // Loop through the files and delete them
105
+ if (files != null) {
106
+ for (file in files) {
107
+ if (file.isFile) {
108
+ file.delete()
109
+ }
110
+ }
111
+ }
112
+ }
113
+ promise.resolve("done")
114
+ }
115
+
116
+ private fun createDirIfNotExists(path: String): File {
117
+ val dir = File(path)
118
+ if (dir.exists()) {
119
+ return dir
120
+ }
121
+ try {
122
+ dir.mkdirs()
123
+ // Add .nomedia to hide the thumbnail directory from gallery
124
+ val noMedia = File(path, ".nomedia")
125
+ noMedia.createNewFile()
126
+ } catch (e: IOException) {
127
+ e.printStackTrace()
128
+ }
129
+ return dir
130
+ }
131
+
132
+ private fun getBitmapAtTime(context: Context?, filePath: String?, time: Int, headers: Map<String, String>): Bitmap {
133
+ val retriever = MediaMetadataRetriever()
134
+ if (URLUtil.isFileUrl(filePath)) {
135
+ val decodedPath: String?
136
+ decodedPath = try {
137
+ URLDecoder.decode(filePath, "UTF-8")
138
+ } catch (e: UnsupportedEncodingException) {
139
+ filePath
140
+ }
141
+ retriever.setDataSource(decodedPath!!.replace("file://", ""))
142
+ } else if (filePath!!.contains("content://")) {
143
+ retriever.setDataSource(context, Uri.parse(filePath))
144
+ } else {
145
+ check(Build.VERSION.SDK_INT >= 14) { "Remote videos aren't supported on sdk_version < 14" }
146
+ retriever.setDataSource(filePath, headers)
147
+ }
148
+ val image = retriever.getFrameAtTime((time * 1000).toLong(), MediaMetadataRetriever.OPTION_CLOSEST_SYNC)
149
+ try {
150
+ retriever.release()
151
+ } catch (e: IOException) {
152
+ throw RuntimeException(e)
153
+ }
154
+ checkNotNull(image) { "File doesn't exist or not supported" }
155
+ return image
156
+ }
157
+ }
158
+ }
@@ -27,6 +27,8 @@ abstract class CompressorSpec(context: ReactApplicationContext?) : ReactContextB
27
27
  abstract fun download(fileUrl: String, options: ReadableMap, promise: Promise)
28
28
  abstract fun activateBackgroundTask(options: ReadableMap, promise: Promise)
29
29
  abstract fun deactivateBackgroundTask(options: ReadableMap, promise: Promise)
30
+ abstract fun createVideoThumbnail(fileUrl: String?, options: ReadableMap?, promise: Promise)
31
+ abstract fun clearCache(cacheDir: String?, promise: com.facebook.react.bridge.Promise?)
30
32
  abstract fun addListener(eventName: String)
31
33
  abstract fun removeListeners(count: Double)
32
34
  }
package/ios/Compressor.mm CHANGED
@@ -52,6 +52,15 @@ RCT_EXTERN_METHOD(deactivateBackgroundTask: (NSDictionary *)options
52
52
  withResolver:(RCTPromiseResolveBlock)resolve
53
53
  withRejecter:(RCTPromiseRejectBlock)reject)
54
54
 
55
+ RCT_EXTERN_METHOD(createVideoThumbnail:(NSString *)fileUrl
56
+ withOptions:(NSDictionary *)options
57
+ withResolver:(RCTPromiseResolveBlock)resolve
58
+ withRejecter:(RCTPromiseRejectBlock)reject)
59
+
60
+ RCT_EXTERN_METHOD(clearCache:(NSString *)cacheDir
61
+ withResolver:(RCTPromiseResolveBlock)resolve
62
+ withRejecter:(RCTPromiseRejectBlock)reject)
63
+
55
64
  RCT_EXTERN_METHOD(cancelCompression:(NSString *)uuid)
56
65
 
57
66
  // Don't compile this code when we build for the old architecture.
@@ -92,5 +92,16 @@ class Compressor: RCTEventEmitter {
92
92
  resolve(downloadedPath)
93
93
  }
94
94
  }
95
+
96
+ @objc(createVideoThumbnail:withOptions:withResolver:withRejecter:)
97
+ func createVideoThumbnail(fileUrl: String, options: NSDictionary, resolve:@escaping RCTPromiseResolveBlock, reject:@escaping RCTPromiseRejectBlock) -> Void {
98
+ let videoThumbnail=CreateVideoThumbnail()
99
+ videoThumbnail.create(fileUrl,options: options, resolve: resolve, rejecter: reject)
100
+ }
101
+
102
+ @objc(clearCache:withResolver:withRejecter:)
103
+ func clearCache(cacheDir: String, resolve:@escaping RCTPromiseResolveBlock, reject:@escaping RCTPromiseRejectBlock) -> Void {
104
+ CreateVideoThumbnail.cleanCacheDir(cacheDir: cacheDir,resolve: resolve,rejecter: reject)
105
+ }
95
106
 
96
107
  }
@@ -0,0 +1,111 @@
1
+ //
2
+ // CreateVideoThumbnail.swift
3
+ // react-native-compressor
4
+ //
5
+ // Created by Numan on 13/09/2023.
6
+ //
7
+
8
+ import Foundation
9
+ import AVFoundation
10
+ import UIKit
11
+
12
+ class CreateVideoThumbnail: NSObject {
13
+
14
+ func create(_ fileUrl:String, options: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
15
+ let headers = options["headers"] as? [String: Any] ?? [:]
16
+ let format = "jpeg"
17
+
18
+ do {
19
+ // Prepare cache folder
20
+ var tempDirectory = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true).last ?? ""
21
+ tempDirectory = (tempDirectory as NSString).appendingPathComponent("thumbnails/")
22
+ // Create thumbnail directory if not exists
23
+ try FileManager.default.createDirectory(atPath: tempDirectory, withIntermediateDirectories: true, attributes: nil)
24
+ let fileName = "thumb-\(ProcessInfo.processInfo.globallyUniqueString).\(format)"
25
+ let fullPath = (tempDirectory as NSString).appendingPathComponent(fileName)
26
+
27
+ if FileManager.default.fileExists(atPath: fullPath) {
28
+ if let imageData = try? Data(contentsOf: URL(fileURLWithPath: fullPath)) {
29
+ if let thumbnail = UIImage(data: imageData) {
30
+ resolve([
31
+ "path": fullPath,
32
+ "size": Float(imageData.count),
33
+ "mime": "image/\(format)",
34
+ "width": Float(thumbnail.size.width),
35
+ "height": Float(thumbnail.size.height)
36
+ ])
37
+ return
38
+ }
39
+ }
40
+ }
41
+
42
+ var vidURL: URL?
43
+ let fileUrlLowerCase = fileUrl.lowercased()
44
+
45
+ if fileUrlLowerCase.hasPrefix("http://") || fileUrlLowerCase.hasPrefix("https://") || fileUrlLowerCase.hasPrefix("file://") {
46
+ vidURL = URL(string: fileUrl)
47
+ } else {
48
+ // Consider it's file url path
49
+ vidURL = URL(fileURLWithPath: fileUrl)
50
+ }
51
+
52
+ let asset = AVURLAsset(url: vidURL!, options: ["AVURLAssetHTTPHeaderFieldsKey": headers])
53
+ generateThumbImage(asset: asset, atTime: 0, completion: { thumbnail in
54
+ // 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])
66
+ }
67
+ }, failure: { error in
68
+ reject(error._domain, error.localizedDescription, nil)
69
+ })
70
+
71
+ } catch {
72
+ reject("Error", error.localizedDescription, nil)
73
+ }
74
+ }
75
+
76
+ static func cleanCacheDir(cacheDir: String, resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
77
+ let cachePathDir: String = cacheDir.isEmpty ? "thumbnails/" : cacheDir
78
+ var cacheDirectoryPath = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true).last ?? ""
79
+ cacheDirectoryPath = (cacheDirectoryPath as NSString).appendingPathComponent(cachePathDir)
80
+
81
+ let fm = FileManager.default
82
+ do {
83
+ let files = try fm.contentsOfDirectory(atPath: cacheDirectoryPath)
84
+ for file in files {
85
+ let filePath = (cacheDirectoryPath as NSString).appendingPathComponent(file)
86
+ try fm.removeItem(atPath: filePath)
87
+ }
88
+ resolve("done")
89
+ } catch {
90
+ // Handle error if necessary
91
+ reject("Error", error.localizedDescription, nil)
92
+ }
93
+ }
94
+
95
+ func generateThumbImage(asset: AVURLAsset, atTime timeStamp: Int, completion: @escaping (UIImage) -> Void, failure: @escaping (Error) -> Void) {
96
+ let generator = AVAssetImageGenerator(asset: asset)
97
+ generator.appliesPreferredTrackTransform = true
98
+ generator.maximumSize = CGSize(width: 512, height: 512)
99
+ generator.requestedTimeToleranceBefore = CMTimeMake(value: 0, timescale: 1000)
100
+ generator.requestedTimeToleranceAfter = CMTimeMake(value: 0, timescale: 1000)
101
+ let time = CMTimeMake(value: Int64(timeStamp), timescale: 1000)
102
+ generator.generateCGImagesAsynchronously(forTimes: [NSValue(time: time)]) { _, image, _, result, error in
103
+ if result == .succeeded, let cgImage = image {
104
+ let thumbnail = UIImage(cgImage: cgImage)
105
+ completion(thumbnail)
106
+ } else if let error = error {
107
+ failure(error)
108
+ }
109
+ }
110
+ }
111
+ }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_default","TurboModuleRegistry","getEnforcing","exports","default"],"sourceRoot":"../../../src","sources":["Spec/NativeCompressor.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAyBpCC,gCAAmB,CAACC,YAAY,CAAO,YAAY,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAJ,QAAA"}
1
+ {"version":3,"names":["_reactNative","require","_default","TurboModuleRegistry","getEnforcing","exports","default"],"sourceRoot":"../../../src","sources":["Spec/NativeCompressor.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAoCpCC,gCAAmB,CAACC,YAAY,CAAO,YAAY,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAJ,QAAA"}
@@ -27,6 +27,18 @@ Object.defineProperty(exports, "backgroundUpload", {
27
27
  return _utils.backgroundUpload;
28
28
  }
29
29
  });
30
+ Object.defineProperty(exports, "clearCache", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _utils.clearCache;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "createVideoThumbnail", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _utils.createVideoThumbnail;
40
+ }
41
+ });
30
42
  exports.default = void 0;
31
43
  Object.defineProperty(exports, "download", {
32
44
  enumerable: true,
@@ -86,6 +98,8 @@ var _default = {
86
98
  getVideoMetaData: _utils.getVideoMetaData,
87
99
  getFileSize: _utils.getFileSize,
88
100
  backgroundUpload: _utils.backgroundUpload,
101
+ createVideoThumbnail: _utils.createVideoThumbnail,
102
+ clearCache: _utils.clearCache,
89
103
  download: _utils.download
90
104
  };
91
105
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["_Video","_interopRequireDefault","require","_Audio","_Image","_utils","obj","__esModule","default","_default","Video","Audio","Image","getDetails","uuidv4","generateFilePath","getRealPath","getVideoMetaData","getFileSize","backgroundUpload","download","exports"],"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;AASiB,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAiBF;EACbC,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,WAAW,EAAXA,kBAAW;EACXC,gBAAgB,EAAhBA,uBAAgB;EAChBC,QAAQ,EAARA;AACF,CAAC;AAAAC,OAAA,CAAAb,OAAA,GAAAC,QAAA"}
1
+ {"version":3,"names":["_Video","_interopRequireDefault","require","_Audio","_Image","_utils","obj","__esModule","default","_default","Video","Audio","Image","getDetails","uuidv4","generateFilePath","getRealPath","getVideoMetaData","getFileSize","backgroundUpload","createVideoThumbnail","clearCache","download","exports"],"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;AAWiB,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAmBF;EACbC,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,WAAW,EAAXA,kBAAW;EACXC,gBAAgB,EAAhBA,uBAAgB;EAChBC,oBAAoB,EAApBA,2BAAoB;EACpBC,UAAU,EAAVA,iBAAU;EACVC,QAAQ,EAARA;AACF,CAAC;AAAAC,OAAA,CAAAf,OAAA,GAAAC,QAAA"}
@@ -9,12 +9,14 @@ var _exportNames = {
9
9
  generateFilePath: true,
10
10
  getRealPath: true,
11
11
  getVideoMetaData: true,
12
+ createVideoThumbnail: true,
13
+ clearCache: true,
12
14
  getDetails: true,
13
15
  checkUrlAndOptions: true,
14
16
  getFileSize: true,
15
17
  uuidv4: true
16
18
  };
17
- exports.uuidv4 = exports.getVideoMetaData = exports.getRealPath = exports.getFileSize = exports.getDetails = exports.generateFilePath = exports.checkUrlAndOptions = exports.DEFAULT_COMPRESS_AUDIO_OPTIONS = exports.AUDIO_BITRATE = void 0;
19
+ exports.uuidv4 = exports.getVideoMetaData = exports.getRealPath = exports.getFileSize = exports.getDetails = exports.generateFilePath = exports.createVideoThumbnail = exports.clearCache = exports.checkUrlAndOptions = exports.DEFAULT_COMPRESS_AUDIO_OPTIONS = exports.AUDIO_BITRATE = void 0;
18
20
  var _Main = require("../Main");
19
21
  var _Downloader = require("./Downloader");
20
22
  Object.keys(_Downloader).forEach(function (key) {
@@ -68,6 +70,15 @@ const getVideoMetaData = path => {
68
70
  return _Main.Compressor.getVideoMetaData(path);
69
71
  };
70
72
  exports.getVideoMetaData = getVideoMetaData;
73
+ const createVideoThumbnail = function (url) {
74
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
75
+ return _Main.Compressor.createVideoThumbnail(url, options);
76
+ };
77
+ exports.createVideoThumbnail = createVideoThumbnail;
78
+ const clearCache = cacheDir => {
79
+ return _Main.Compressor.clearCache(cacheDir);
80
+ };
81
+ exports.clearCache = clearCache;
71
82
  const isValidUrl = url => /^(?:\w+:)?\/\/([^\s\.]+\.\S{2}|localhost[\:?\d]*)\S*$/.test(url);
72
83
  const getFullFilename = path => {
73
84
  if (typeof path === 'string') {
@@ -1 +1 @@
1
- {"version":3,"names":["_Main","require","_Downloader","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Uploader","AUDIO_BITRATE","INCORRECT_INPUT_PATH","INCORRECT_OUTPUT_PATH","ERROR_OCCUR_WHILE_GENERATING_OUTPUT_FILE","DEFAULT_COMPRESS_AUDIO_OPTIONS","bitrate","quality","outputFilePath","generateFilePath","extension","Promise","resolve","reject","Compressor","then","result","catch","error","getRealPath","path","type","arguments","length","undefined","getVideoMetaData","isValidUrl","url","test","getFullFilename","_path","includes","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","_path$split","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","getMediaProperties","bit_rate","size","Number","format","e","checkUrlAndOptions","options","defaultResult","isCorrect","message","getFileSize","filePath","uuidv4","replace","c","r","parseFloat","Math","random","toString","Date","getTime","v"],"sourceRoot":"../../../src","sources":["utils/index.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_Main","require","_Downloader","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Uploader","AUDIO_BITRATE","INCORRECT_INPUT_PATH","INCORRECT_OUTPUT_PATH","ERROR_OCCUR_WHILE_GENERATING_OUTPUT_FILE","DEFAULT_COMPRESS_AUDIO_OPTIONS","bitrate","quality","outputFilePath","generateFilePath","extension","Promise","resolve","reject","Compressor","then","result","catch","error","getRealPath","path","type","arguments","length","undefined","getVideoMetaData","createVideoThumbnail","url","options","clearCache","cacheDir","isValidUrl","test","getFullFilename","_path","includes","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","_path$split","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","getMediaProperties","bit_rate","size","Number","format","e","checkUrlAndOptions","defaultResult","isCorrect","message","getFileSize","filePath","uuidv4","replace","c","r","parseFloat","Math","random","toString","Date","getTime","v"],"sourceRoot":"../../../src","sources":["utils/index.tsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["Spec/NativeCompressor.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAyBlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,YAAY,CAAC"}
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["Spec/NativeCompressor.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAoClD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,YAAY,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import Video from './Video';
2
2
  import Audio from './Audio';
3
3
  import Image from './Image';
4
- import { getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getFileSize, backgroundUpload, download } from './utils';
4
+ import { getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getFileSize, backgroundUpload, createVideoThumbnail, download, clearCache } from './utils';
5
5
  export { Video, Audio, Image, backgroundUpload, download,
6
6
  //type
7
- getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getFileSize };
7
+ getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, createVideoThumbnail, clearCache, getFileSize };
8
8
  export default {
9
9
  Video,
10
10
  Audio,
@@ -16,6 +16,8 @@ export default {
16
16
  getVideoMetaData,
17
17
  getFileSize,
18
18
  backgroundUpload,
19
+ createVideoThumbnail,
20
+ clearCache,
19
21
  download
20
22
  };
21
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Video","Audio","Image","getDetails","uuidv4","generateFilePath","getRealPath","getVideoMetaData","getFileSize","backgroundUpload","download"],"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,WAAW,EACXC,gBAAgB,EAChBC,QAAQ,QACH,SAAS;AAEhB,SACEV,KAAK,EACLC,KAAK,EACLC,KAAK,EACLO,gBAAgB,EAChBC,QAAQ;AACR;AACAP,UAAU,EACVC,MAAM,EACNC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBC,WAAW;AAGb,eAAe;EACbR,KAAK;EACLC,KAAK;EACLC,KAAK;EACLC,UAAU;EACVC,MAAM;EACNC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC;AACF,CAAC"}
1
+ {"version":3,"names":["Video","Audio","Image","getDetails","uuidv4","generateFilePath","getRealPath","getVideoMetaData","getFileSize","backgroundUpload","createVideoThumbnail","download","clearCache"],"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,WAAW,EACXC,gBAAgB,EAChBC,oBAAoB,EACpBC,QAAQ,EACRC,UAAU,QACL,SAAS;AAEhB,SACEZ,KAAK,EACLC,KAAK,EACLC,KAAK,EACLO,gBAAgB,EAChBE,QAAQ;AACR;AACAR,UAAU,EACVC,MAAM,EACNC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBG,oBAAoB,EACpBE,UAAU,EACVJ,WAAW;AAGb,eAAe;EACbR,KAAK;EACLC,KAAK;EACLC,KAAK;EACLC,UAAU;EACVC,MAAM;EACNC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC,oBAAoB;EACpBE,UAAU;EACVD;AACF,CAAC"}
@@ -21,6 +21,13 @@ export const getRealPath = function (path) {
21
21
  export const getVideoMetaData = path => {
22
22
  return Compressor.getVideoMetaData(path);
23
23
  };
24
+ export const createVideoThumbnail = function (url) {
25
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
26
+ return Compressor.createVideoThumbnail(url, options);
27
+ };
28
+ export const clearCache = cacheDir => {
29
+ return Compressor.clearCache(cacheDir);
30
+ };
24
31
  const isValidUrl = url => /^(?:\w+:)?\/\/([^\s\.]+\.\S{2}|localhost[\:?\d]*)\S*$/.test(url);
25
32
  const getFullFilename = path => {
26
33
  if (typeof path === 'string') {
@@ -1 +1 @@
1
- {"version":3,"names":["Compressor","AUDIO_BITRATE","INCORRECT_INPUT_PATH","INCORRECT_OUTPUT_PATH","ERROR_OCCUR_WHILE_GENERATING_OUTPUT_FILE","DEFAULT_COMPRESS_AUDIO_OPTIONS","bitrate","quality","outputFilePath","generateFilePath","extension","Promise","resolve","reject","then","result","catch","error","getRealPath","path","type","arguments","length","undefined","getVideoMetaData","isValidUrl","url","test","getFullFilename","_path","includes","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","_path$split","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","getMediaProperties","bit_rate","size","Number","format","e","checkUrlAndOptions","options","defaultResult","isCorrect","message","getFileSize","filePath","uuidv4","replace","c","r","parseFloat","Math","random","toString","Date","getTime","v"],"sourceRoot":"../../../src","sources":["utils/index.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["Compressor","AUDIO_BITRATE","INCORRECT_INPUT_PATH","INCORRECT_OUTPUT_PATH","ERROR_OCCUR_WHILE_GENERATING_OUTPUT_FILE","DEFAULT_COMPRESS_AUDIO_OPTIONS","bitrate","quality","outputFilePath","generateFilePath","extension","Promise","resolve","reject","then","result","catch","error","getRealPath","path","type","arguments","length","undefined","getVideoMetaData","createVideoThumbnail","url","options","clearCache","cacheDir","isValidUrl","test","getFullFilename","_path","includes","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","_path$split","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","getMediaProperties","bit_rate","size","Number","format","e","checkUrlAndOptions","defaultResult","isCorrect","message","getFileSize","filePath","uuidv4","replace","c","r","parseFloat","Math","random","toString","Date","getTime","v"],"sourceRoot":"../../../src","sources":["utils/index.tsx"],"mappings":"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"}
@@ -14,6 +14,14 @@ export interface Spec extends TurboModule {
14
14
  getFileSize(filePath: string): Promise<string>;
15
15
  addListener(eventName: string): void;
16
16
  removeListeners(count: number): void;
17
+ createVideoThumbnail(fileUrl: string, options: Object): Promise<{
18
+ path: string;
19
+ size: number;
20
+ mime: string;
21
+ width: number;
22
+ height: number;
23
+ }>;
24
+ clearCache(cacheDir: string | null): Promise<string>;
17
25
  }
18
26
  declare const _default: Spec;
19
27
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeCompressor.d.ts","sourceRoot":"","sources":["../../../src/Spec/NativeCompressor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IAEvC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1D,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5D,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;;AAED,wBAAoE"}
1
+ {"version":3,"file":"NativeCompressor.d.ts","sourceRoot":"","sources":["../../../src/Spec/NativeCompressor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IAEvC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1D,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5D,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,oBAAoB,CAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtD;;AAED,wBAAoE"}
@@ -2,8 +2,8 @@ import Video from './Video';
2
2
  import type { VideoCompressorType } from './Video';
3
3
  import Audio from './Audio';
4
4
  import Image from './Image';
5
- import { getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getFileSize, backgroundUpload, download } from './utils';
6
- export { Video, Audio, Image, backgroundUpload, download, getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getFileSize, };
5
+ import { getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getFileSize, backgroundUpload, createVideoThumbnail, download, clearCache } from './utils';
6
+ export { Video, Audio, Image, backgroundUpload, download, getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, createVideoThumbnail, clearCache, getFileSize, };
7
7
  export type { VideoCompressorType };
8
8
  declare const _default: {
9
9
  Video: VideoCompressorType;
@@ -18,6 +18,8 @@ declare const _default: {
18
18
  getVideoMetaData: any;
19
19
  getFileSize: (filePath: string) => Promise<string>;
20
20
  backgroundUpload: (url: string, fileUrl: string, options: import("./utils").FileSystemUploadOptions, onProgress?: ((writtem: number, total: number) => void) | undefined) => Promise<any>;
21
+ createVideoThumbnail: any;
22
+ clearCache: any;
21
23
  download: (fileUrl: string, downloadProgress?: ((progress: number) => void) | undefined, progressDivider?: number | undefined) => Promise<any>;
22
24
  };
23
25
  export default _default;
@@ -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,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,QAAQ,EAER,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;AACpC,wBAYE"}
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,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACX,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,QAAQ,EAER,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;;;AACpC,wBAcE"}
@@ -17,6 +17,8 @@ export type AudioType = {
17
17
  export declare const generateFilePath: any;
18
18
  export declare const getRealPath: any;
19
19
  export declare const getVideoMetaData: any;
20
+ export declare const createVideoThumbnail: any;
21
+ export declare const clearCache: any;
20
22
  export declare const getDetails: (mediaFullPath: string, extesnion?: 'mp3' | 'mp4') => Promise<any | null>;
21
23
  export declare const checkUrlAndOptions: (url: string, options: audioCompresssionType) => Promise<defaultResultType>;
22
24
  export declare const getFileSize: (filePath: string) => Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,UAAmC,CAAC;AAC9D,KAAK,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAM7C,KAAK,qBAAqB,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,qBAI5C,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,eAAO,MAAM,gBAAgB,EAAE,GAM9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,GAKzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,GAE9B,CAAC;AA2CF,eAAO,MAAM,UAAU,kBACN,MAAM,cACV,KAAK,GAAG,KAAK,KACvB,QAAQ,GAAG,GAAG,IAAI,CA6BpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,QACxB,MAAM,WACF,qBAAqB,KAC7B,QAAQ,iBAAiB,CAsC3B,CAAC;AAEF,eAAO,MAAM,WAAW,aAAoB,MAAM,KAAG,QAAQ,MAAM,CAElE,CAAC;AAEF,eAAO,MAAM,MAAM,cAclB,CAAC;AACF,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,UAAmC,CAAC;AAC9D,KAAK,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAM7C,KAAK,qBAAqB,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,qBAI5C,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,eAAO,MAAM,gBAAgB,EAAE,GAM9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,GAKzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,GAE9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,GAOlC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,GAExB,CAAC;AA2CF,eAAO,MAAM,UAAU,kBACN,MAAM,cACV,KAAK,GAAG,KAAK,KACvB,QAAQ,GAAG,GAAG,IAAI,CA6BpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,QACxB,MAAM,WACF,qBAAqB,KAC7B,QAAQ,iBAAiB,CAsC3B,CAAC;AAEF,eAAO,MAAM,WAAW,aAAoB,MAAM,KAAG,QAAQ,MAAM,CAElE,CAAC;AAEF,eAAO,MAAM,MAAM,cAclB,CAAC;AACF,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-compressor",
3
- "version": "1.8.0",
3
+ "version": "1.8.1",
4
4
  "description": "This library compress image, video and audio",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -22,6 +22,17 @@ export interface Spec extends TurboModule {
22
22
  getFileSize(filePath: string): Promise<string>;
23
23
  addListener(eventName: string): void;
24
24
  removeListeners(count: number): void;
25
+ createVideoThumbnail(
26
+ fileUrl: string,
27
+ options: Object
28
+ ): Promise<{
29
+ path: string;
30
+ size: number;
31
+ mime: string;
32
+ width: number;
33
+ height: number;
34
+ }>;
35
+ clearCache(cacheDir: string | null): Promise<string>;
25
36
  }
26
37
 
27
38
  export default TurboModuleRegistry.getEnforcing<Spec>('Compressor');
package/src/index.tsx CHANGED
@@ -10,7 +10,9 @@ import {
10
10
  getVideoMetaData,
11
11
  getFileSize,
12
12
  backgroundUpload,
13
+ createVideoThumbnail,
13
14
  download,
15
+ clearCache,
14
16
  } from './utils';
15
17
 
16
18
  export {
@@ -25,6 +27,8 @@ export {
25
27
  generateFilePath,
26
28
  getRealPath,
27
29
  getVideoMetaData,
30
+ createVideoThumbnail,
31
+ clearCache,
28
32
  getFileSize,
29
33
  };
30
34
  export type { VideoCompressorType };
@@ -39,5 +43,7 @@ export default {
39
43
  getVideoMetaData,
40
44
  getFileSize,
41
45
  backgroundUpload,
46
+ createVideoThumbnail,
47
+ clearCache,
42
48
  download,
43
49
  };
@@ -49,6 +49,19 @@ export const getVideoMetaData: any = (path: string) => {
49
49
  return Compressor.getVideoMetaData(path);
50
50
  };
51
51
 
52
+ export const createVideoThumbnail: any = (
53
+ url: string,
54
+ options: {
55
+ headers?: object;
56
+ } = {}
57
+ ) => {
58
+ return Compressor.createVideoThumbnail(url, options);
59
+ };
60
+
61
+ export const clearCache: any = (cacheDir?: string) => {
62
+ return Compressor.clearCache(cacheDir);
63
+ };
64
+
52
65
  const isValidUrl = (url: string) =>
53
66
  /^(?:\w+:)?\/\/([^\s\.]+\.\S{2}|localhost[\:?\d]*)\S*$/.test(url);
54
67