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 +33 -3
- package/android/src/main/java/com/reactnativecompressor/CompressorModule.kt +5 -1
- package/android/src/main/java/com/reactnativecompressor/Image/ImageMain.kt +32 -0
- package/android/src/oldarch/CompressorSpec.kt +1 -0
- package/ios/Compressor.mm +4 -0
- package/ios/CompressorManager.swift +5 -0
- package/ios/Image/ImageMain.swift +24 -0
- package/lib/commonjs/Spec/NativeCompressor.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/index.js +19 -1
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/Spec/NativeCompressor.js.map +1 -1
- package/lib/module/index.js +3 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/index.js +16 -0
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/Spec/NativeCompressor.d.ts +1 -0
- package/lib/typescript/Spec/NativeCompressor.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +12 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/index.d.ts +11 -0
- package/lib/typescript/utils/index.d.ts.map +1 -1
- package/package.json +14 -2
- package/src/Spec/NativeCompressor.ts +1 -0
- package/src/index.tsx +3 -0
- package/src/utils/index.tsx +37 -1
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
|
-
<
|
|
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
|
-
|
|
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,
|
|
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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -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":"
|
|
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","
|
|
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;
|
|
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"}
|
package/lib/module/index.js
CHANGED
|
@@ -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,
|
package/lib/module/index.js.map
CHANGED
|
@@ -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,
|
|
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","
|
|
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":"AAAA;AACA,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;AA0CD,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,GAAG,SAAAA,CAACC,IAAI,EAAqB;EAAA,IAAnBC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,OAAO;EAC/D,OAAOjB,UAAU,CAACc,WAAW,CAACC,IAAI,EAAEC,IAAI,CAAC;AAC3C,CAAC;AAED,OAAO,MAAMI,gBAAsC,GAAIL,IAAY,IAAK;EACtE,OAAOf,UAAU,CAACoB,gBAAgB,CAACL,IAAI,CAAC;AAC1C,CAAC;AAED,MAAMM,aAAa,GAAIC,UAAe,IAAK;EACzC,MAAMC,MAAW,GAAG,CAAC,CAAC;EACtB,MAAMC,KAAK,GAAGvB,QAAQ,CAACwB,EAAE,KAAK,KAAK;EACnCF,MAAM,CAACG,UAAU,GAAGF,KAAK,GACrBF,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEK,UAAU,GACtBC,QAAQ,CAACN,UAAU,CAACI,UAAU,CAAC;EAEnCH,MAAM,CAACM,WAAW,GAAGL,KAAK,GACtBF,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEQ,WAAW,GACvBF,QAAQ,CAACN,UAAU,CAACS,WAAW,CAAC;EAEpCR,MAAM,CAACS,WAAW,GAAGR,KAAK,GACtBF,UAAU,CAACU,WAAW,GACtBJ,QAAQ,CAACN,UAAU,CAACU,WAAW,CAAC;EAEpCT,MAAM,CAACU,IAAI,GAAGX,UAAU,CAACW,IAAI;EAC7BV,MAAM,CAACjB,SAAS,GAAGgB,UAAU,CAAChB,SAAS;EACvCiB,MAAM,CAACW,IAAI,GAAGZ,UAAU;EACxB,OAAOC,MAAM;AACf,CAAC;AAED,OAAO,MAAMY,gBAAsC,GAAG,MAAOpB,IAAY,IAAK;EAC5E,MAAMJ,MAAM,GAAG,MAAMX,UAAU,CAACmC,gBAAgB,CAACpB,IAAI,CAAC;EACtD,OAAOM,aAAa,CAACV,MAAM,CAAC;AAC9B,CAAC;AAED,OAAO,MAAMyB,oBAA8C,GAAG,SAAAA,CAC5DC,OAAO,EAEJ;EAAA,IADHC,OAAO,GAAArB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEZ,OAAOjB,UAAU,CAACoC,oBAAoB,CAACC,OAAO,EAAEC,OAAO,CAAC;AAC1D,CAAC;AAED,OAAO,MAAMC,UAA0B,GAAIC,QAAiB,IAAK;EAC/D,OAAOxC,UAAU,CAACuC,UAAU,CAACC,QAAQ,CAAC;AACxC,CAAC;AAED,MAAMC,UAAU,GAAIC,GAAW,IAC7B,uDAAuD,CAACC,IAAI,CAACD,GAAG,CAAC;AAEnE,MAAME,eAAe,GAAI7B,IAAmB,IAAK;EAC/C,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,IAAI8B,KAAK,GAAG9B,IAAI;;IAEhB;IACA,IAAIA,IAAI,CAAC+B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAACL,UAAU,CAAC1B,IAAI,CAAC,EAAE;MAC9C,OAAOb,oBAAoB;IAC7B;;IAEA;IACA,IAAI2C,KAAK,CAACA,KAAK,CAAC3B,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EACjC2B,KAAK,GAAGA,KAAK,CAACE,SAAS,CAAC,CAAC,EAAEhC,IAAI,CAACG,MAAM,GAAG,CAAC,CAAC;IAE7C,MAAM8B,KAAK,GAAGH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC;IAC9B,OAAOD,KAAK,CAAC9B,MAAM,GAAG,CAAC,GAAG8B,KAAK,CAACA,KAAK,CAAC9B,MAAM,GAAG,CAAC,CAAC,GAAGhB,oBAAoB;EAC1E;EACA,OAAOA,oBAAoB;AAC7B,CAAC;AAED,MAAMgD,eAAe,GAAIC,QAAgB,IAAK;EAC5C,OAAOA,QAAQ,KAAKjD,oBAAoB;AAC1C,CAAC;AAED,MAAMkD,WAAW,GAAIrC,IAAmB,IAAK;EAC3C,MAAMsC,YAAgC,GAAGT,eAAe,CAAC7B,IAAI,CAAC;EAC9D,IAAIsC,YAAY,IAAI,CAACH,eAAe,CAACG,YAAY,CAAC,EAAE;IAClD,MAAML,KAAK,GAAGK,YAAY,CAACJ,KAAK,CAAC,GAAG,CAAC;IACrC,OAAOD,KAAK,CAAC9B,MAAM,GAAG,CAAC,GAAG8B,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,GAAIzC,IAAmB,IAAK;EAAA,IAAA0C,WAAA;EAC7C,OAAO,OAAO1C,IAAI,KAAK,QAAQ,GAC3BA,IAAI,aAAJA,IAAI,gBAAA0C,WAAA,GAAJ1C,IAAI,CAAEkC,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;AAED,OAAO,MAAMY,UAAU,GAAG,SAAAA,CACxBC,aAAqB,EAEG;EAAA,IADxBC,SAAwB,GAAA3C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEhC,OAAO,IAAIV,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;IAC5C,IAAI;MACF;MACA,MAAME,MAAW,GAAG,CAAC,CAAC;MACtB,IAAIA,MAAM,KAAK,CAAC,EAAE;QAChB,MAAM,IAAIkD,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,CAAC3D,SAAS,GAAGsD,SAAS;MACtCK,gBAAgB,CAACT,aAAa,GAAGA,aAAa,CAACG,aAAa,CAAC;MAC7DM,gBAAgB,CAAChC,IAAI,GAAGoC,MAAM,CAACP,SAAS,CAACQ,MAAM,CAACrC,IAAI,CAAC;MAErDzB,OAAO,CAACyD,gBAAgB,CAAC;IAC3B,CAAC,CAAC,OAAOM,CAAC,EAAE;MACV9D,MAAM,CAAC8D,CAAC,CAAC;IACX;EACF,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMC,WAAW,GAAG,MAAOC,QAAgB,IAAsB;EACtE,OAAOzE,UAAU,CAACwE,WAAW,CAACC,QAAQ,CAAC;AACzC,CAAC;AAED,OAAO,MAAMC,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;AACD,cAAc,cAAc;AAC5B,cAAc,YAAY"}
|
|
@@ -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;
|
|
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
|
|
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;
|
|
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.
|
|
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,
|
package/src/utils/index.tsx
CHANGED
|
@@ -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 = {}
|