react-native-compressor 1.8.18 → 1.8.20

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
@@ -17,7 +17,7 @@
17
17
  **REACT-NATIVE-COMPRESSOR** is a react-native package, which helps us to Compress `Image`, `Video`, and `Audio` before uploading, same like **Whatsapp** without knowing the compression `algorithm`
18
18
 
19
19
  <div align="center">
20
- <b>Also supports Auto/Manual Compression | Background Upload | Download File | Create Video Thumbnail</b>
20
+ <h4>Auto/Manual Compression | Background Upload | Download File | Create Video Thumbnail</h4>
21
21
  </div>
22
22
  <br/>
23
23
 
@@ -72,11 +72,14 @@ We should use **react-native-compressor** instead of **FFmpeg** because **react-
72
72
  - [Video Api Docs](#video-1)
73
73
  - [Audio](#audio)
74
74
  - [Background Upload](#background-upload)
75
+ - [Cancel Background Upload](#cancel-background-upload)
75
76
  - [Download File](#download)
76
77
  - [Create Video Thumbnail and Clear Cache](#create-video-thumbnail-and-clear-cache)
77
78
 
78
79
  * [Other Utilities](#api)
79
80
  - [Background Upload](#background-upload-1)
81
+ - [Cancel Background Upload](#cancel-background-upload-1)
82
+ - [Get Metadata Of Image](#get-metadata-of-image)
80
83
  - [Get Metadata Of Video](#get-metadata-of-video)
81
84
  - [Get Real Path](#get-real-path)
82
85
  - [Get Temp file Path](#get-temp-file-path)
@@ -436,6 +439,8 @@ await clearCache(); // this will clear cache of thumbnails cache directory
436
439
  - ###### `returnableOutputType: ReturnableOutputType` (default: uri)
437
440
  Can be either `uri` or `base64`, defines the Returnable output image format.
438
441
 
442
+ **if you wanna get image metadata (exif) then [read this](#get-metadata-of-image)**
443
+
439
444
  ## Video
440
445
 
441
446
  - ###### `compress(url: string, options?: videoCompresssionType , onProgress?: (progress: number)): Promise<string>`
@@ -449,6 +454,9 @@ await clearCache(); // this will clear cache of thumbnails cache directory
449
454
  - ###### `deactivateBackgroundTask(): Promise<any>`
450
455
  if you call `activateBackgroundTask` method, then after video compression, you should call `deactivateBackgroundTask` for disable background task mode.
451
456
 
457
+ - ###### `getCancellationId: function`
458
+ `getCancellationId` is a callback function that gives us compress video id, which can be used in `Video.cancelCompression` method to cancel the compression
459
+
452
460
  ### videoCompresssionType
453
461
 
454
462
  - ###### `compressionMethod: compressionMethod` (default: "manual")
@@ -475,8 +483,7 @@ await clearCache(); // this will clear cache of thumbnails cache directory
475
483
 
476
484
  previously default was 16 but now it is 0 by default. 0 mean 0mb. This is an offset, which you can set for minimumFileSizeForCompress will allow this package to dont compress less than or equal to `minimumFileSizeForCompress` ref [#26](https://github.com/numandev1/react-native-compressor/issues/26)
477
485
 
478
- - ###### `getCancellationId: function`
479
- `getCancellationId` is a callback function that gives us compress video id, which can be used in `Video.cancelCompression` method to cancel the compression
486
+ **if you wanna get video metadata then [read this](#get-metadata-of-video)**
480
487
 
481
488
  ## Audio
482
489
 
@@ -595,6 +602,29 @@ const metaData = await getVideoMetaData(filePath);
595
602
 
596
603
  - ###### `getVideoMetaData(path: string)`
597
604
 
605
+ ### Get Metadata Of Image
606
+
607
+ if you want to get metadata of video than you can use this function
608
+
609
+ ```js
610
+ import { getImageMetaData } from 'react-native-compressor';
611
+
612
+ const metaData = await getImageMetaData(filePath);
613
+ ```
614
+
615
+ ```
616
+ {
617
+ "ImageWidth": 4032,
618
+ "ImageHeight": 3024,
619
+ "Orientation": 3,
620
+ "size": 4127057,
621
+ "extension": "jpg",
622
+ "exif":{...}
623
+ }
624
+ ```
625
+
626
+ - ###### `getImageMetaData(path: string)`
627
+
598
628
  ### Get Real Path
599
629
 
600
630
  if you want to convert
@@ -15,7 +15,6 @@ import com.reactnativecompressor.Utils.Uploader
15
15
  import com.reactnativecompressor.Utils.Utils
16
16
  import com.reactnativecompressor.Utils.Utils.generateCacheFilePath
17
17
  import com.reactnativecompressor.Utils.Utils.getRealPath
18
- import com.reactnativecompressor.Utils.convertReadableMapToUploaderOptions
19
18
  import com.reactnativecompressor.Video.VideoMain
20
19
 
21
20
  class CompressorModule(private val reactContext: ReactApplicationContext) : CompressorSpec(reactContext) {
@@ -47,6 +46,11 @@ class CompressorModule(private val reactContext: ReactApplicationContext) : Comp
47
46
  imageMain.image_compress(imagePath,optionMap,promise)
48
47
  }
49
48
 
49
+ @ReactMethod
50
+ override fun getImageMetaData(filePath: String, promise: Promise) {
51
+ imageMain.getImageMetaData(filePath,promise)
52
+ }
53
+
50
54
  // VIdeo
51
55
  @ReactMethod
52
56
  override fun compress(
@@ -1,10 +1,15 @@
1
1
  package com.reactnativecompressor.Image
2
2
 
3
+ import android.media.ExifInterface
4
+ import android.net.Uri
5
+ import com.facebook.react.bridge.Arguments
3
6
  import com.facebook.react.bridge.Promise
4
7
  import com.facebook.react.bridge.ReactApplicationContext
5
8
  import com.facebook.react.bridge.ReadableMap
6
9
  import com.reactnativecompressor.Utils.MediaCache
7
10
  import com.reactnativecompressor.Utils.Utils
11
+ import com.reactnativecompressor.Utils.Utils.exifAttributes
12
+ import java.io.File
8
13
 
9
14
  class ImageMain(private val reactContext: ReactApplicationContext) {
10
15
  fun image_compress(
@@ -28,4 +33,31 @@ class ImageMain(private val reactContext: ReactApplicationContext) {
28
33
  promise.reject(ex)
29
34
  }
30
35
  }
36
+
37
+ fun getImageMetaData(filePath: String, promise: Promise) {
38
+ var filePath: String? = filePath
39
+ try {
40
+ filePath = Utils.getRealPath(filePath, reactContext)
41
+ val uri = Uri.parse(filePath)
42
+ val srcPath = uri.path
43
+ val params = Arguments.createMap()
44
+ val file = File(srcPath)
45
+ val sizeInKBs = (file.length() / 1024).toDouble()
46
+ val exif = ExifInterface(srcPath!!)
47
+ for (tag in exifAttributes) {
48
+ val value: String? = exif.getAttribute(tag)
49
+ if(value != null)
50
+ {
51
+ params.putString(tag, value)
52
+ }
53
+
54
+ }
55
+ val extension = filePath!!.substring(filePath.lastIndexOf(".") + 1)
56
+ params.putDouble("size", sizeInKBs)
57
+ params.putString("extension", extension)
58
+ promise.resolve(params)
59
+ } catch (e: Exception) {
60
+ promise.reject(e)
61
+ }
62
+ }
31
63
  }
@@ -19,6 +19,7 @@ abstract class CompressorSpec(context: ReactApplicationContext?) : ReactContextB
19
19
  abstract fun generateFilePath(_extension: String, promise: Promise)
20
20
  abstract fun getRealPath(path: String, type: String, promise: Promise)
21
21
  abstract fun getVideoMetaData(filePath: String, promise: Promise)
22
+ abstract fun getImageMetaData(String filePath, Promise promise);
22
23
  abstract fun getFileSize(filePath: String, promise: Promise)
23
24
  abstract fun compress(fileUrl: String, optionMap: ReadableMap, promise: Promise)
24
25
  abstract fun cancelCompression(uuid: String)
package/ios/Compressor.mm CHANGED
@@ -7,6 +7,10 @@ RCT_EXTERN_METHOD(image_compress: (NSString*) imagePath
7
7
  withResolver: (RCTPromiseResolveBlock) resolve
8
8
  withRejecter: (RCTPromiseRejectBlock) reject)
9
9
 
10
+ RCT_EXTERN_METHOD(getImageMetaData: (NSString*) filePath
11
+ withResolver: (RCTPromiseResolveBlock) resolve
12
+ withRejecter: (RCTPromiseRejectBlock) reject)
13
+
10
14
  RCT_EXTERN_METHOD(compress_audio: (NSString*) filePath
11
15
  withOptions: (NSDictionary*) optionsDict
12
16
  withResolver: (RCTPromiseResolveBlock) resolve
@@ -35,6 +35,11 @@ class Compressor: RCTEventEmitter {
35
35
  ImageMain.image_compress(imagePath, optionMap: optionMap, resolve: resolve, reject: reject)
36
36
  }
37
37
 
38
+ @objc(getImageMetaData:withResolver:withRejecter:)
39
+ func getImageMetaData(_ filePath: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
40
+ ImageMain.getImageMetaData(filePath,resolve: resolve,reject: reject)
41
+ }
42
+
38
43
  @objc(compress_audio:withOptions:withResolver:withRejecter:)
39
44
  func compress_audio(_ fileUrl: String, optionMap: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
40
45
  AudioMain.compress_audio(fileUrl, optionMap: optionMap, resolve: resolve, reject: reject)
@@ -24,4 +24,28 @@ class ImageMain {
24
24
  reject(error.localizedDescription, error.localizedDescription, nil)
25
25
  }
26
26
  }
27
+
28
+ static func getImageMetaData(_ filePath: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
29
+ let options = ImageCompressorOptions.fromDictionary([:])
30
+ ImageCompressor.getAbsoluteImagePath(filePath, options: options) { ImagePath in
31
+ if ImagePath.hasPrefix("file://") {
32
+ let absoluteImagePath = URL(string: ImagePath)!.path
33
+ Utils.getFileSize(absoluteImagePath) { fileSize in
34
+ let _extension = (absoluteImagePath as NSString).pathExtension
35
+ let imageData = NSData(contentsOfFile: absoluteImagePath)!
36
+ let imageSource = CGImageSourceCreateWithData(imageData, nil)!
37
+ let imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, nil)!
38
+ let exif=imageProperties as NSDictionary
39
+ let mutableExif = exif.mutableCopy() as! NSMutableDictionary
40
+ if let fileSizeInt = Int(fileSize as! String) {
41
+ mutableExif.setValue(fileSizeInt, forKey: "size")
42
+ }
43
+ mutableExif.setValue(_extension, forKey: "extension")
44
+ resolve(mutableExif)
45
+ } reject: { code, message, error in
46
+ reject(code, message, error)
47
+ }
48
+ }
49
+ }
50
+ }
27
51
  }
@@ -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,GAsCpCC,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,GAuCpCC,gCAAmB,CAACC,YAAY,CAAO,YAAY,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAJ,QAAA"}
@@ -82,6 +82,12 @@ Object.defineProperty(exports, "getFileSize", {
82
82
  return _utils.getFileSize;
83
83
  }
84
84
  });
85
+ Object.defineProperty(exports, "getImageMetaData", {
86
+ enumerable: true,
87
+ get: function () {
88
+ return _utils.getImageMetaData;
89
+ }
90
+ });
85
91
  Object.defineProperty(exports, "getRealPath", {
86
92
  enumerable: true,
87
93
  get: function () {
@@ -114,6 +120,7 @@ var _default = {
114
120
  generateFilePath: _utils.generateFilePath,
115
121
  getRealPath: _utils.getRealPath,
116
122
  getVideoMetaData: _utils.getVideoMetaData,
123
+ getImageMetaData: _utils.getImageMetaData,
117
124
  getFileSize: _utils.getFileSize,
118
125
  backgroundUpload: _utils.backgroundUpload,
119
126
  createVideoThumbnail: _utils.createVideoThumbnail,
@@ -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","createVideoThumbnail","clearCache","download","UploadType","UploaderHttpMethod","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;AAciB,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAsBF;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,eAAQ;EACRC,UAAU,EAAVA,iBAAU;EACVC,kBAAkB,EAAlBA;AACF,CAAC;AAAAC,OAAA,CAAAjB,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","getImageMetaData","getFileSize","backgroundUpload","createVideoThumbnail","clearCache","download","UploadType","UploaderHttpMethod","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;AAeiB,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAuBF;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,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;AAAAC,OAAA,CAAAlB,OAAA,GAAAC,QAAA"}
@@ -8,14 +8,16 @@ var _exportNames = {
8
8
  generateFilePath: true,
9
9
  getRealPath: true,
10
10
  getVideoMetaData: true,
11
+ getImageMetaData: true,
11
12
  createVideoThumbnail: true,
12
13
  clearCache: true,
13
14
  getDetails: true,
14
15
  getFileSize: true,
15
16
  uuidv4: true
16
17
  };
17
- exports.uuidv4 = exports.getVideoMetaData = exports.getRealPath = exports.getFileSize = exports.getDetails = exports.generateFilePath = exports.createVideoThumbnail = exports.clearCache = exports.DEFAULT_COMPRESS_AUDIO_OPTIONS = void 0;
18
+ exports.uuidv4 = exports.getVideoMetaData = exports.getRealPath = exports.getImageMetaData = exports.getFileSize = exports.getDetails = exports.generateFilePath = exports.createVideoThumbnail = exports.clearCache = exports.DEFAULT_COMPRESS_AUDIO_OPTIONS = void 0;
18
19
  var _Main = require("../Main");
20
+ var _reactNative = require("react-native");
19
21
  var _Downloader = require("./Downloader");
20
22
  Object.keys(_Downloader).forEach(function (key) {
21
23
  if (key === "default" || key === "__esModule") return;
@@ -63,6 +65,22 @@ const getVideoMetaData = path => {
63
65
  return _Main.Compressor.getVideoMetaData(path);
64
66
  };
65
67
  exports.getVideoMetaData = getVideoMetaData;
68
+ const unifyMetaData = exifResult => {
69
+ const output = {};
70
+ const isIos = _reactNative.Platform.OS === 'ios';
71
+ output.ImageWidth = isIos ? exifResult === null || exifResult === void 0 ? void 0 : exifResult.PixelWidth : parseInt(exifResult.ImageWidth);
72
+ output.ImageHeight = isIos ? exifResult === null || exifResult === void 0 ? void 0 : exifResult.PixelHeight : parseInt(exifResult.ImageLength);
73
+ output.Orientation = isIos ? exifResult.Orientation : parseInt(exifResult.Orientation);
74
+ output.size = exifResult.size;
75
+ output.extension = exifResult.extension;
76
+ output.exif = exifResult;
77
+ return output;
78
+ };
79
+ const getImageMetaData = async path => {
80
+ const result = await _Main.Compressor.getImageMetaData(path);
81
+ return unifyMetaData(result);
82
+ };
83
+ exports.getImageMetaData = getImageMetaData;
66
84
  const createVideoThumbnail = function (fileUrl) {
67
85
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
68
86
  return _Main.Compressor.createVideoThumbnail(fileUrl, options);
@@ -1 +1 @@
1
- {"version":3,"names":["_Main","require","_Downloader","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Uploader","INCORRECT_INPUT_PATH","DEFAULT_COMPRESS_AUDIO_OPTIONS","quality","generateFilePath","extension","Promise","resolve","reject","Compressor","then","result","catch","error","getRealPath","path","type","arguments","length","undefined","getVideoMetaData","createVideoThumbnail","fileUrl","options","clearCache","cacheDir","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","bitrate","getMediaProperties","bit_rate","size","Number","format","e","getFileSize","filePath","uuidv4","replace","c","r","parseFloat","Math","random","toString","Date","getTime","v"],"sourceRoot":"../../../src","sources":["utils/index.tsx"],"mappings":";;;;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AA8KA,IAAAC,WAAA,GAAAD,OAAA;AAAAE,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,GAAAd,OAAA;AAAAE,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;AAhLA;;AAIA,MAAMU,oBAAoB,GAAG,kDAAkD;AAexE,MAAMC,8BAAqD,GAAG;EACnE;EACAC,OAAO,EAAE;AACX,CAAC;AAACP,OAAA,CAAAM,8BAAA,GAAAA,8BAAA;AAgCK,MAAME,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;AAACjB,OAAA,CAAAQ,gBAAA,GAAAA,gBAAA;AAEK,MAAMU,WAA4B,GAAG,SAAAA,CAACC,IAAI,EAAqB;EAAA,IAAnBC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,OAAO;EAC/D,OAAOR,gBAAU,CAACK,WAAW,CAACC,IAAI,EAAEC,IAAI,CAAC;AAC3C,CAAC;AAACpB,OAAA,CAAAkB,WAAA,GAAAA,WAAA;AAEK,MAAMM,gBAAsC,GAAIL,IAAY,IAAK;EACtE,OAAON,gBAAU,CAACW,gBAAgB,CAACL,IAAI,CAAC;AAC1C,CAAC;AAACnB,OAAA,CAAAwB,gBAAA,GAAAA,gBAAA;AAEK,MAAMC,oBAA8C,GAAG,SAAAA,CAC5DC,OAAO,EAEJ;EAAA,IADHC,OAAO,GAAAN,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEZ,OAAOR,gBAAU,CAACY,oBAAoB,CAACC,OAAO,EAAEC,OAAO,CAAC;AAC1D,CAAC;AAAC3B,OAAA,CAAAyB,oBAAA,GAAAA,oBAAA;AAEK,MAAMG,UAA0B,GAAIC,QAAiB,IAAK;EAC/D,OAAOhB,gBAAU,CAACe,UAAU,CAACC,QAAQ,CAAC;AACxC,CAAC;AAAC7B,OAAA,CAAA4B,UAAA,GAAAA,UAAA;AAEF,MAAME,UAAU,GAAIC,GAAW,IAC7B,uDAAuD,CAACC,IAAI,CAACD,GAAG,CAAC;AAEnE,MAAME,eAAe,GAAId,IAAmB,IAAK;EAC/C,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,IAAIe,KAAK,GAAGf,IAAI;;IAEhB;IACA,IAAIA,IAAI,CAACgB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAACL,UAAU,CAACX,IAAI,CAAC,EAAE;MAC9C,OAAOd,oBAAoB;IAC7B;;IAEA;IACA,IAAI6B,KAAK,CAACA,KAAK,CAACZ,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EACjCY,KAAK,GAAGA,KAAK,CAACE,SAAS,CAAC,CAAC,EAAEjB,IAAI,CAACG,MAAM,GAAG,CAAC,CAAC;IAE7C,MAAMe,KAAK,GAAGH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC;IAC9B,OAAOD,KAAK,CAACf,MAAM,GAAG,CAAC,GAAGe,KAAK,CAACA,KAAK,CAACf,MAAM,GAAG,CAAC,CAAC,GAAGjB,oBAAoB;EAC1E;EACA,OAAOA,oBAAoB;AAC7B,CAAC;AAED,MAAMkC,eAAe,GAAIC,QAAgB,IAAK;EAC5C,OAAOA,QAAQ,KAAKnC,oBAAoB;AAC1C,CAAC;AAED,MAAMoC,WAAW,GAAItB,IAAmB,IAAK;EAC3C,MAAMuB,YAAgC,GAAGT,eAAe,CAACd,IAAI,CAAC;EAC9D,IAAIuB,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,GAAI1B,IAAmB,IAAK;EAAA,IAAA2B,WAAA;EAC7C,OAAO,OAAO3B,IAAI,KAAK,QAAQ,GAC3BA,IAAI,aAAJA,IAAI,gBAAA2B,WAAA,GAAJ3B,IAAI,CAAEmB,KAAK,CAAC,IAAI,CAAC,cAAAQ,WAAA,gBAAAA,WAAA,GAAjBA,WAAA,CAAoB,CAAC,CAAC,cAAAA,WAAA,uBAAtBA,WAAA,CAAwBX,QAAQ,CAAC,MAAM,CAAC,GACxC,IAAI;AACV,CAAC;AAEM,MAAMY,UAAU,GAAG,SAAAA,CACxBC,aAAqB,EAEG;EAAA,IADxBC,SAAwB,GAAA5B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEhC,OAAO,IAAIX,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;IAC5C,IAAI;MACF;MACA,MAAMG,MAAW,GAAG,CAAC,CAAC;MACtB,IAAIA,MAAM,KAAK,CAAC,EAAE;QAChB,MAAM,IAAImC,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,CAACd,QAAQ,GAAGC,WAAW,CAACO,aAAa,CAAC;MACtDM,gBAAgB,CAACC,OAAO,GAAGD,gBAAgB,CAACE,kBAAkB,CAAC,CAAC,CAACC,QAAQ;MACzEH,gBAAgB,CAAC7C,SAAS,GAAGwC,SAAS;MACtCK,gBAAgB,CAACT,aAAa,GAAGA,aAAa,CAACG,aAAa,CAAC;MAC7DM,gBAAgB,CAACI,IAAI,GAAGC,MAAM,CAACR,SAAS,CAACS,MAAM,CAACF,IAAI,CAAC;MAErD/C,OAAO,CAAC2C,gBAAgB,CAAC;IAC3B,CAAC,CAAC,OAAOO,CAAC,EAAE;MACVjD,MAAM,CAACiD,CAAC,CAAC;IACX;EACF,CAAC,CAAC;AACJ,CAAC;AAAC7D,OAAA,CAAA+C,UAAA,GAAAA,UAAA;AAEK,MAAMe,WAAW,GAAG,MAAOC,QAAgB,IAAsB;EACtE,OAAOlD,gBAAU,CAACiD,WAAW,CAACC,QAAQ,CAAC;AACzC,CAAC;AAAC/D,OAAA,CAAA8D,WAAA,GAAAA,WAAA;AAEK,MAAME,MAAM,GAAGA,CAAA,KAAM;EAC1B,OAAO,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAE,UAAUC,CAAC,EAAE;IAC1E,MAAMC,CAAC,GACFC,UAAU,CACT,IAAI,GACFC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,CAACN,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAC1C,IAAIO,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CACvB,CAAC,GACC,EAAE,GACJ,CAAC;MACH;MACAC,CAAC,GAAGR,CAAC,IAAI,GAAG,GAAGC,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAI,GAAG;IACpC,OAAOO,CAAC,CAACH,QAAQ,CAAC,EAAE,CAAC;EACvB,CAAC,CAAC;AACJ,CAAC;AAACvE,OAAA,CAAAgE,MAAA,GAAAA,MAAA"}
1
+ {"version":3,"names":["_Main","require","_reactNative","_Downloader","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_Uploader","INCORRECT_INPUT_PATH","DEFAULT_COMPRESS_AUDIO_OPTIONS","quality","generateFilePath","extension","Promise","resolve","reject","Compressor","then","result","catch","error","getRealPath","path","type","arguments","length","undefined","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","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","_path$split","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","bitrate","getMediaProperties","bit_rate","Number","format","e","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;AAsClD,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;AAuClD,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, cancelUpload, createVideoThumbnail, download, clearCache, UploadType, UploaderHttpMethod } from './utils';
4
+ import { getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getImageMetaData, getFileSize, backgroundUpload, cancelUpload, createVideoThumbnail, download, clearCache, UploadType, UploaderHttpMethod } from './utils';
5
5
  export { Video, Audio, Image, backgroundUpload, cancelUpload, download,
6
6
  //type
7
- getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, createVideoThumbnail, clearCache, getFileSize, UploadType, UploaderHttpMethod };
7
+ getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getImageMetaData, createVideoThumbnail, clearCache, getFileSize, UploadType, UploaderHttpMethod };
8
8
  export default {
9
9
  Video,
10
10
  Audio,
@@ -14,6 +14,7 @@ export default {
14
14
  generateFilePath,
15
15
  getRealPath,
16
16
  getVideoMetaData,
17
+ getImageMetaData,
17
18
  getFileSize,
18
19
  backgroundUpload,
19
20
  createVideoThumbnail,
@@ -1 +1 @@
1
- {"version":3,"names":["Video","Audio","Image","getDetails","uuidv4","generateFilePath","getRealPath","getVideoMetaData","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,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZC,oBAAoB,EACpBC,QAAQ,EACRC,UAAU,EACVC,UAAU,EACVC,kBAAkB,QACb,SAAS;AAEhB,SACEf,KAAK,EACLC,KAAK,EACLC,KAAK,EACLO,gBAAgB,EAChBC,YAAY,EACZE,QAAQ;AACR;AACAT,UAAU,EACVC,MAAM,EACNC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBI,oBAAoB,EACpBE,UAAU,EACVL,WAAW,EACXM,UAAU,EACVC,kBAAkB;AAGpB,eAAe;EACbf,KAAK;EACLC,KAAK;EACLC,KAAK;EACLC,UAAU;EACVC,MAAM;EACNC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBE,oBAAoB;EACpBE,UAAU;EACVD,QAAQ;EACRE,UAAU;EACVC;AACF,CAAC"}
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"}
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable no-bitwise */
2
2
  import { Compressor } from '../Main';
3
+ import { Platform } from 'react-native';
3
4
  const INCORRECT_INPUT_PATH = 'Incorrect input path. Please provide a valid one';
4
5
  export const DEFAULT_COMPRESS_AUDIO_OPTIONS = {
5
6
  // bitrate: 96,
@@ -17,6 +18,21 @@ export const getRealPath = function (path) {
17
18
  export const getVideoMetaData = path => {
18
19
  return Compressor.getVideoMetaData(path);
19
20
  };
21
+ const unifyMetaData = exifResult => {
22
+ const output = {};
23
+ const isIos = Platform.OS === 'ios';
24
+ output.ImageWidth = isIos ? exifResult === null || exifResult === void 0 ? void 0 : exifResult.PixelWidth : parseInt(exifResult.ImageWidth);
25
+ output.ImageHeight = isIos ? exifResult === null || exifResult === void 0 ? void 0 : exifResult.PixelHeight : parseInt(exifResult.ImageLength);
26
+ output.Orientation = isIos ? exifResult.Orientation : parseInt(exifResult.Orientation);
27
+ output.size = exifResult.size;
28
+ output.extension = exifResult.extension;
29
+ output.exif = exifResult;
30
+ return output;
31
+ };
32
+ export const getImageMetaData = async path => {
33
+ const result = await Compressor.getImageMetaData(path);
34
+ return unifyMetaData(result);
35
+ };
20
36
  export const createVideoThumbnail = function (fileUrl) {
21
37
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
22
38
  return Compressor.createVideoThumbnail(fileUrl, options);
@@ -1 +1 @@
1
- {"version":3,"names":["Compressor","INCORRECT_INPUT_PATH","DEFAULT_COMPRESS_AUDIO_OPTIONS","quality","generateFilePath","extension","Promise","resolve","reject","then","result","catch","error","getRealPath","path","type","arguments","length","undefined","getVideoMetaData","createVideoThumbnail","fileUrl","options","clearCache","cacheDir","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","bitrate","getMediaProperties","bit_rate","size","Number","format","e","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","Platform","INCORRECT_INPUT_PATH","DEFAULT_COMPRESS_AUDIO_OPTIONS","quality","generateFilePath","extension","Promise","resolve","reject","then","result","catch","error","getRealPath","path","type","arguments","length","undefined","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","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","_path$split","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","bitrate","getMediaProperties","bit_rate","Number","format","e","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,6 +1,7 @@
1
1
  import type { TurboModule } from 'react-native';
2
2
  export interface Spec extends TurboModule {
3
3
  image_compress(imagePath: string, optionMap: Object): Promise<string>;
4
+ getImageMetaData(filePath: string): Promise<string>;
4
5
  compress(fileUrl: string, optionMap: Object): Promise<string>;
5
6
  cancelCompression(uuid: string): void;
6
7
  getVideoMetaData(filePath: string): Promise<string>;
@@ -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,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAE3D,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"}
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;IACtE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpD,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,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAE3D,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, cancelUpload, createVideoThumbnail, download, clearCache, UploadType, UploaderHttpMethod } from './utils';
6
- export { Video, Audio, Image, backgroundUpload, cancelUpload, download, getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, createVideoThumbnail, clearCache, getFileSize, UploadType, UploaderHttpMethod, };
5
+ import { getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getImageMetaData, getFileSize, backgroundUpload, cancelUpload, createVideoThumbnail, download, clearCache, UploadType, UploaderHttpMethod } from './utils';
6
+ export { Video, Audio, Image, backgroundUpload, cancelUpload, download, getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getImageMetaData, createVideoThumbnail, clearCache, getFileSize, UploadType, UploaderHttpMethod, };
7
7
  export type { VideoCompressorType };
8
8
  declare const _default: {
9
9
  Video: VideoCompressorType;
@@ -22,6 +22,16 @@ declare const _default: {
22
22
  width: number;
23
23
  height: number;
24
24
  }>;
25
+ getImageMetaData: (filePath: string) => Promise<{
26
+ ImageWidth: number;
27
+ ImageHeight: number;
28
+ Orientation: number;
29
+ size: number;
30
+ extension: string;
31
+ exif: {
32
+ [key: string]: string;
33
+ };
34
+ }>;
25
35
  getFileSize: (filePath: string) => Promise<string>;
26
36
  backgroundUpload: (url: string, fileUrl: string, options: import("./utils").UploaderOptions, onProgress?: ((writtem: number, total: number) => void) | undefined, abortSignal?: AbortSignal | undefined) => Promise<any>;
27
37
  createVideoThumbnail: (fileUrl: string, options?: {
@@ -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,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,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,UAAU,EACV,kBAAkB,GACnB,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACpC,wBAgBE"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACpC,wBAiBE"}
@@ -25,6 +25,16 @@ type createVideoThumbnailType = (fileUrl: string, options?: {
25
25
  height: number;
26
26
  }>;
27
27
  type clearCacheType = (cacheDir?: string) => Promise<string>;
28
+ type getImageMetaDataType = (filePath: string) => Promise<{
29
+ ImageWidth: number;
30
+ ImageHeight: number;
31
+ Orientation: number;
32
+ size: number;
33
+ extension: string;
34
+ exif: {
35
+ [key: string]: string;
36
+ };
37
+ }>;
28
38
  type getVideoMetaDataType = (filePath: string) => Promise<{
29
39
  extension: string;
30
40
  size: number;
@@ -36,6 +46,7 @@ type getRealPathType = (path: string, type: 'video' | 'image') => Promise<string
36
46
  export declare const generateFilePath: any;
37
47
  export declare const getRealPath: getRealPathType;
38
48
  export declare const getVideoMetaData: getVideoMetaDataType;
49
+ export declare const getImageMetaData: getImageMetaDataType;
39
50
  export declare const createVideoThumbnail: createVideoThumbnailType;
40
51
  export declare const clearCache: clearCacheType;
41
52
  export declare const getDetails: (mediaFullPath: string, extesnion?: 'mp3' | 'mp4') => Promise<any | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.tsx"],"names":[],"mappings":"AAGA,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;AAC7D,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,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GAAG,OAAO,KACpB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,eAAO,MAAM,gBAAgB,EAAE,GAM9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAEzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,oBAE9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,wBAKlC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,cAExB,CAAC;AA2CF,eAAO,MAAM,UAAU,kBACN,MAAM,cACV,KAAK,GAAG,KAAK,KACvB,QAAQ,GAAG,GAAG,IAAI,CA6BpB,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,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,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GAAG,OAAO,KACpB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,eAAO,MAAM,gBAAgB,EAAE,GAM9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAEzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,oBAE9B,CAAC;AAuBF,eAAO,MAAM,gBAAgB,EAAE,oBAG9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,wBAKlC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,cAExB,CAAC;AA2CF,eAAO,MAAM,UAAU,kBACN,MAAM,cACV,KAAK,GAAG,KAAK,KACvB,QAAQ,GAAG,GAAG,IAAI,CA6BpB,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.18",
3
+ "version": "1.8.20",
4
4
  "description": "This library compress image, video and audio",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -55,7 +55,19 @@
55
55
  "react-native-compressor",
56
56
  "compress-audio",
57
57
  "whatsapp",
58
- "compressor"
58
+ "compressor",
59
+ "background",
60
+ "NSURLSession",
61
+ "uploader",
62
+ "upload",
63
+ "UploadService",
64
+ "downloader",
65
+ "download",
66
+ "thumbnail",
67
+ "create-thumbnail",
68
+ "video-metadata",
69
+ "media",
70
+ "bitrate"
59
71
  ],
60
72
  "repository": "https://github.com/numandev1/react-native-compressor",
61
73
  "author": "numandev1 <muhammadnuman70@gmail.com> (https://github.com/numandev1)",
@@ -4,6 +4,7 @@ import { TurboModuleRegistry } from 'react-native';
4
4
  export interface Spec extends TurboModule {
5
5
  // Image
6
6
  image_compress(imagePath: string, optionMap: Object): Promise<string>;
7
+ getImageMetaData(filePath: string): Promise<string>;
7
8
  // Video
8
9
  compress(fileUrl: string, optionMap: Object): Promise<string>;
9
10
  cancelCompression(uuid: string): void;
package/src/index.tsx CHANGED
@@ -8,6 +8,7 @@ import {
8
8
  generateFilePath,
9
9
  getRealPath,
10
10
  getVideoMetaData,
11
+ getImageMetaData,
11
12
  getFileSize,
12
13
  backgroundUpload,
13
14
  cancelUpload,
@@ -31,6 +32,7 @@ export {
31
32
  generateFilePath,
32
33
  getRealPath,
33
34
  getVideoMetaData,
35
+ getImageMetaData,
34
36
  createVideoThumbnail,
35
37
  clearCache,
36
38
  getFileSize,
@@ -47,6 +49,7 @@ export default {
47
49
  generateFilePath,
48
50
  getRealPath,
49
51
  getVideoMetaData,
52
+ getImageMetaData,
50
53
  getFileSize,
51
54
  backgroundUpload,
52
55
  createVideoThumbnail,
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable no-bitwise */
2
2
  import { Compressor } from '../Main';
3
-
3
+ import { Platform } from 'react-native';
4
4
  type qualityType = 'low' | 'medium' | 'high';
5
5
  const INCORRECT_INPUT_PATH = 'Incorrect input path. Please provide a valid one';
6
6
 
@@ -40,6 +40,16 @@ type createVideoThumbnailType = (
40
40
  }>;
41
41
 
42
42
  type clearCacheType = (cacheDir?: string) => Promise<string>;
43
+
44
+ type getImageMetaDataType = (filePath: string) => Promise<{
45
+ ImageWidth: number;
46
+ ImageHeight: number;
47
+ Orientation: number;
48
+ size: number;
49
+ extension: string;
50
+ exif: { [key: string]: string };
51
+ }>;
52
+
43
53
  type getVideoMetaDataType = (filePath: string) => Promise<{
44
54
  extension: string;
45
55
  size: number;
@@ -68,6 +78,32 @@ export const getVideoMetaData: getVideoMetaDataType = (path: string) => {
68
78
  return Compressor.getVideoMetaData(path);
69
79
  };
70
80
 
81
+ const unifyMetaData = (exifResult: any) => {
82
+ const output: any = {};
83
+ const isIos = Platform.OS === 'ios';
84
+ output.ImageWidth = isIos
85
+ ? exifResult?.PixelWidth
86
+ : parseInt(exifResult.ImageWidth);
87
+
88
+ output.ImageHeight = isIos
89
+ ? exifResult?.PixelHeight
90
+ : parseInt(exifResult.ImageLength);
91
+
92
+ output.Orientation = isIos
93
+ ? exifResult.Orientation
94
+ : parseInt(exifResult.Orientation);
95
+
96
+ output.size = exifResult.size;
97
+ output.extension = exifResult.extension;
98
+ output.exif = exifResult;
99
+ return output;
100
+ };
101
+
102
+ export const getImageMetaData: getImageMetaDataType = async (path: string) => {
103
+ const result = await Compressor.getImageMetaData(path);
104
+ return unifyMetaData(result);
105
+ };
106
+
71
107
  export const createVideoThumbnail: createVideoThumbnailType = (
72
108
  fileUrl,
73
109
  options = {}