react-native-compressor 1.7.2 → 1.8.0
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 +30 -7
- package/android/build.gradle +8 -0
- package/android/src/main/java/com/reactnativecompressor/Audio/AudioCompressor.kt +527 -0
- package/android/src/main/java/com/reactnativecompressor/Audio/AudioMain.kt +31 -0
- package/android/src/main/java/com/reactnativecompressor/CompressorModule.kt +157 -0
- package/android/src/main/java/com/reactnativecompressor/CompressorPackage.kt +34 -0
- package/android/src/main/java/com/reactnativecompressor/Image/ImageCompressor.kt +199 -0
- package/android/src/main/java/com/reactnativecompressor/Image/ImageCompressorOptions.kt +57 -0
- package/android/src/main/java/com/reactnativecompressor/Image/ImageMain.kt +31 -0
- package/android/src/main/java/com/reactnativecompressor/Image/ImageSize.kt +3 -0
- package/android/src/main/java/com/reactnativecompressor/Utils/Downloader.kt +119 -0
- package/android/src/main/java/com/reactnativecompressor/Utils/EventEmitterHandler.kt +66 -0
- package/android/src/main/java/com/reactnativecompressor/Utils/MediaCache.kt +61 -0
- package/android/src/main/java/com/reactnativecompressor/Utils/RealPathUtil.kt +177 -0
- package/android/src/main/java/com/reactnativecompressor/Utils/Uploader.kt +117 -0
- package/android/src/main/java/com/reactnativecompressor/Utils/Utils.kt +162 -0
- package/android/src/main/java/com/reactnativecompressor/Video/AutoVideoCompression.kt +63 -0
- package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressorHelper.kt +125 -0
- package/android/src/main/java/com/reactnativecompressor/Video/VideoMain.kt +86 -0
- package/android/src/newarch/CompressorSpec.kt +5 -0
- package/android/src/oldarch/CompressorSpec.kt +32 -0
- package/ios/Audio/AudioMain.swift +115 -0
- package/ios/Compressor-Bridging-Header.h +1 -2
- package/ios/Compressor.h +0 -8
- package/ios/Compressor.mm +28 -389
- package/ios/CompressorManager.swift +96 -0
- package/ios/Image/ImageCompressor.swift +354 -0
- package/ios/Image/ImageCompressorOptions.swift +93 -0
- package/ios/Image/ImageMain.swift +27 -0
- package/ios/Utils/Downloader.swift +157 -0
- package/ios/Utils/EventEmitterHandler.swift +54 -0
- package/ios/Utils/MediaCache.swift +48 -0
- package/ios/Utils/Uploader.swift +99 -0
- package/ios/Utils/Utils.swift +110 -0
- package/ios/Video/{VideoCompressor.swift → VideoMain.swift} +167 -146
- package/lib/commonjs/Image/index.js +1 -1
- package/lib/commonjs/Image/index.js.map +1 -1
- package/lib/commonjs/Main.js +1 -8
- package/lib/commonjs/Main.js.map +1 -1
- package/lib/commonjs/Spec/NativeCompressor.js.map +1 -1
- package/lib/commonjs/Video/index.js +4 -33
- package/lib/commonjs/Video/index.js.map +1 -1
- package/lib/commonjs/expo-plugin/compressor.js.map +1 -1
- package/lib/commonjs/index.js +11 -6
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/Downloader.js +38 -0
- package/lib/commonjs/utils/Downloader.js.map +1 -0
- package/lib/commonjs/utils/Uploader.js +40 -0
- package/lib/commonjs/utils/Uploader.js.map +1 -0
- package/lib/commonjs/utils/index.js +35 -0
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/Image/index.js +1 -1
- package/lib/module/Image/index.js.map +1 -1
- package/lib/module/Main.js +1 -7
- package/lib/module/Main.js.map +1 -1
- package/lib/module/Spec/NativeCompressor.js.map +1 -1
- package/lib/module/Video/index.js +5 -33
- package/lib/module/Video/index.js.map +1 -1
- package/lib/module/expo-plugin/compressor.js.map +1 -1
- package/lib/module/index.js +6 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/Downloader.js +31 -0
- package/lib/module/utils/Downloader.js.map +1 -0
- package/lib/module/utils/Uploader.js +33 -0
- package/lib/module/utils/Uploader.js.map +1 -0
- package/lib/module/utils/index.js +2 -0
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/Image/index.d.ts +4 -0
- package/lib/typescript/Image/index.d.ts.map +1 -1
- package/lib/typescript/Main.d.ts +1 -2
- package/lib/typescript/Main.d.ts.map +1 -1
- package/lib/typescript/Spec/NativeCompressor.d.ts +8 -2
- package/lib/typescript/Spec/NativeCompressor.d.ts.map +1 -1
- package/lib/typescript/Video/index.d.ts +4 -28
- package/lib/typescript/Video/index.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +5 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/Downloader.d.ts +2 -0
- package/lib/typescript/utils/Downloader.d.ts.map +1 -0
- package/lib/typescript/utils/Uploader.d.ts +28 -0
- package/lib/typescript/utils/Uploader.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +2 -1
- package/lib/typescript/utils/index.d.ts.map +1 -1
- package/package.json +6 -4
- package/src/Image/index.tsx +5 -1
- package/src/Main.tsx +1 -15
- package/src/Spec/NativeCompressor.ts +14 -2
- package/src/Video/index.tsx +11 -84
- package/src/expo-plugin/compressor.ts +1 -1
- package/src/index.tsx +6 -3
- package/src/utils/Downloader.tsx +38 -0
- package/src/utils/Uploader.tsx +78 -0
- package/src/utils/index.tsx +2 -0
- package/android/src/main/java/com/reactnativecompressor/Audio/AudioCompressor.java +0 -605
- package/android/src/main/java/com/reactnativecompressor/CompressorModule.java +0 -220
- package/android/src/main/java/com/reactnativecompressor/CompressorPackage.java +0 -58
- package/android/src/main/java/com/reactnativecompressor/Image/ImageCompressor.java +0 -257
- package/android/src/main/java/com/reactnativecompressor/Image/utils/ImageCompressorOptions.java +0 -69
- package/android/src/main/java/com/reactnativecompressor/Image/utils/ImageSize.java +0 -13
- package/android/src/main/java/com/reactnativecompressor/Utils/FileUplaoder/FileUploadHelper.java +0 -39
- package/android/src/main/java/com/reactnativecompressor/Utils/FileUplaoder/FileUploader.java +0 -129
- package/android/src/main/java/com/reactnativecompressor/Utils/MediaCache.java +0 -65
- package/android/src/main/java/com/reactnativecompressor/Utils/RealPathUtil.java +0 -210
- package/android/src/main/java/com/reactnativecompressor/Utils/Utils.java +0 -272
- package/android/src/main/java/com/reactnativecompressor/Video/AutoVideoCompression/AutoVideoCompression.java +0 -87
- package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressorHelper.java +0 -182
- package/android/src/main/java/com/reactnativecompressor/Video/VideoModule.java +0 -112
- package/android/src/newarch/CompressorSpec.java +0 -9
- package/android/src/newarch/VideoCompressorSpec.java +0 -9
- package/android/src/oldarch/CompressorSpec.java +0 -34
- package/android/src/oldarch/VideoCompressorSpec.java +0 -26
- package/ios/Image/ImageCompressor.h +0 -22
- package/ios/Image/ImageCompressor.m +0 -540
- package/ios/Image/ImageCompressorOptions.h +0 -28
- package/ios/Image/ImageCompressorOptions.m +0 -97
- package/ios/Utils/Downloader.h +0 -16
- package/ios/Utils/Downloader.m +0 -150
- package/ios/Utils/MediaCache.h +0 -11
- package/ios/Utils/MediaCache.m +0 -51
- package/ios/Video/VideoCompressor.h +0 -5
- package/ios/Video/VideoCompressor.m +0 -1
- package/lib/commonjs/Spec/NativeVideoCompressor.js +0 -10
- package/lib/commonjs/Spec/NativeVideoCompressor.js.map +0 -1
- package/lib/module/Spec/NativeVideoCompressor.js +0 -3
- package/lib/module/Spec/NativeVideoCompressor.js.map +0 -1
- package/lib/typescript/Spec/NativeVideoCompressor.d.ts +0 -13
- package/lib/typescript/Spec/NativeVideoCompressor.d.ts.map +0 -1
- package/src/Spec/NativeVideoCompressor.ts +0 -14
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { NativeEventEmitter, Platform } from 'react-native';
|
|
2
|
+
import { Compressor } from '../Main';
|
|
3
|
+
const CompressEventEmitter = new NativeEventEmitter(Compressor);
|
|
4
|
+
import { uuidv4 } from '.';
|
|
5
|
+
export const backgroundUpload = async (url, fileUrl, options, onProgress) => {
|
|
6
|
+
const uuid = uuidv4();
|
|
7
|
+
let subscription;
|
|
8
|
+
try {
|
|
9
|
+
if (onProgress) {
|
|
10
|
+
subscription = CompressEventEmitter.addListener('uploadProgress', event => {
|
|
11
|
+
if (event.uuid === uuid) {
|
|
12
|
+
onProgress(event.data.written, event.data.total);
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
if (Platform.OS === 'android' && fileUrl.includes('file://')) {
|
|
17
|
+
fileUrl = fileUrl.replace('file://', '');
|
|
18
|
+
}
|
|
19
|
+
const result = await Compressor.upload(fileUrl, {
|
|
20
|
+
uuid,
|
|
21
|
+
method: options.httpMethod,
|
|
22
|
+
headers: options.headers,
|
|
23
|
+
url
|
|
24
|
+
});
|
|
25
|
+
return result;
|
|
26
|
+
} finally {
|
|
27
|
+
// @ts-ignore
|
|
28
|
+
if (subscription) {
|
|
29
|
+
subscription.remove();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=Uploader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","Platform","Compressor","CompressEventEmitter","uuidv4","backgroundUpload","url","fileUrl","options","onProgress","uuid","subscription","addListener","event","data","written","total","OS","includes","replace","result","upload","method","httpMethod","headers","remove"],"sourceRoot":"../../../src","sources":["utils/Uploader.tsx"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAE3D,SAASC,UAAU,QAAQ,SAAS;AACpC,MAAMC,oBAAoB,GAAG,IAAIH,kBAAkB,CAACE,UAAU,CAAC;AAC/D,SAASE,MAAM,QAAQ,GAAG;AAsC1B,OAAO,MAAMC,gBAAgB,GAAG,MAAAA,CAC9BC,GAAW,EACXC,OAAe,EACfC,OAAgC,EAChCC,UAAqD,KACpC;EACjB,MAAMC,IAAI,GAAGN,MAAM,CAAC,CAAC;EACrB,IAAIO,YAAqC;EACzC,IAAI;IACF,IAAIF,UAAU,EAAE;MACdE,YAAY,GAAGR,oBAAoB,CAACS,WAAW,CAC7C,gBAAgB,EACfC,KAAU,IAAK;QACd,IAAIA,KAAK,CAACH,IAAI,KAAKA,IAAI,EAAE;UACvBD,UAAU,CAACI,KAAK,CAACC,IAAI,CAACC,OAAO,EAAEF,KAAK,CAACC,IAAI,CAACE,KAAK,CAAC;QAClD;MACF,CACF,CAAC;IACH;IACA,IAAIf,QAAQ,CAACgB,EAAE,KAAK,SAAS,IAAIV,OAAO,CAACW,QAAQ,CAAC,SAAS,CAAC,EAAE;MAC5DX,OAAO,GAAGA,OAAO,CAACY,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;IAC1C;IACA,MAAMC,MAAM,GAAG,MAAMlB,UAAU,CAACmB,MAAM,CAACd,OAAO,EAAE;MAC9CG,IAAI;MACJY,MAAM,EAAEd,OAAO,CAACe,UAAU;MAC1BC,OAAO,EAAEhB,OAAO,CAACgB,OAAO;MACxBlB;IACF,CAAC,CAAC;IACF,OAAOc,MAAM;EACf,CAAC,SAAS;IACR;IACA,IAAIT,YAAY,EAAE;MAChBA,YAAY,CAACc,MAAM,CAAC,CAAC;IACvB;EACF;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Compressor","AUDIO_BITRATE","INCORRECT_INPUT_PATH","INCORRECT_OUTPUT_PATH","ERROR_OCCUR_WHILE_GENERATING_OUTPUT_FILE","DEFAULT_COMPRESS_AUDIO_OPTIONS","bitrate","quality","outputFilePath","generateFilePath","extension","Promise","resolve","reject","then","result","catch","error","getRealPath","path","type","arguments","length","undefined","getVideoMetaData","isValidUrl","url","test","getFullFilename","_path","includes","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","_path$split","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","getMediaProperties","bit_rate","size","Number","format","e","checkUrlAndOptions","options","defaultResult","isCorrect","message","getFileSize","filePath","uuidv4","replace","c","r","parseFloat","Math","random","toString","Date","getTime","v"],"sourceRoot":"../../../src","sources":["utils/index.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Compressor","AUDIO_BITRATE","INCORRECT_INPUT_PATH","INCORRECT_OUTPUT_PATH","ERROR_OCCUR_WHILE_GENERATING_OUTPUT_FILE","DEFAULT_COMPRESS_AUDIO_OPTIONS","bitrate","quality","outputFilePath","generateFilePath","extension","Promise","resolve","reject","then","result","catch","error","getRealPath","path","type","arguments","length","undefined","getVideoMetaData","isValidUrl","url","test","getFullFilename","_path","includes","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","_path$split","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","getMediaProperties","bit_rate","size","Number","format","e","checkUrlAndOptions","options","defaultResult","isCorrect","message","getFileSize","filePath","uuidv4","replace","c","r","parseFloat","Math","random","toString","Date","getTime","v"],"sourceRoot":"../../../src","sources":["utils/index.tsx"],"mappings":"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"}
|
|
@@ -35,6 +35,10 @@ export type CompressorOptions = {
|
|
|
35
35
|
* it is callback, only trigger when we pass image url from server
|
|
36
36
|
*/
|
|
37
37
|
downloadProgress?: (progress: number) => void;
|
|
38
|
+
/***
|
|
39
|
+
* Default:0, we uses when we use downloadProgress
|
|
40
|
+
*/
|
|
41
|
+
progressDivider?: number;
|
|
38
42
|
};
|
|
39
43
|
type ImageType = {
|
|
40
44
|
compress(value: string, options?: CompressorOptions): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Image/index.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvC,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;OAEG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Image/index.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvC,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;OAEG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAMF,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvE,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,SAkCZ,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
package/lib/typescript/Main.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Main.d.ts","sourceRoot":"","sources":["../../src/Main.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Main.d.ts","sourceRoot":"","sources":["../../src/Main.tsx"],"names":[],"mappings":"AAeA,QAAA,MAAM,UAAU,KASX,CAAC;AAEN,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1,10 +1,16 @@
|
|
|
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
|
+
compress(fileUrl: string, optionMap: Object): Promise<string>;
|
|
5
|
+
cancelCompression(uuid: string): void;
|
|
6
|
+
getVideoMetaData(filePath: string): Promise<string>;
|
|
7
|
+
activateBackgroundTask(options: Object): Promise<string>;
|
|
8
|
+
deactivateBackgroundTask(options: Object): Promise<string>;
|
|
4
9
|
compress_audio(fileUrl: string, optionMap: Object): Promise<string>;
|
|
5
|
-
|
|
10
|
+
upload(fileUrl: string, options: Object): Promise<string>;
|
|
11
|
+
download(fileUrl: string, options: Object): Promise<string>;
|
|
12
|
+
generateFilePath(_extension: string): Promise<string>;
|
|
6
13
|
getRealPath(path: string, type: string): Promise<string>;
|
|
7
|
-
getVideoMetaData(filePath: string): Promise<string>;
|
|
8
14
|
getFileSize(filePath: string): Promise<string>;
|
|
9
15
|
addListener(eventName: string): void;
|
|
10
16
|
removeListeners(count: number): void;
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"NativeCompressor.d.ts","sourceRoot":"","sources":["../../../src/Spec/NativeCompressor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IAEvC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3D,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1D,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5D,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;;AAED,wBAAoE"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
export declare enum FileSystemUploadType {
|
|
2
|
-
BINARY_CONTENT = 0,
|
|
3
|
-
MULTIPART = 1
|
|
4
|
-
}
|
|
5
|
-
export declare type FileSystemAcceptedUploadHttpMethod = 'POST' | 'PUT' | 'PATCH';
|
|
6
1
|
export type compressionMethod = 'auto' | 'manual';
|
|
7
2
|
type videoCompresssionType = {
|
|
8
3
|
bitrate?: number;
|
|
@@ -11,36 +6,17 @@ type videoCompresssionType = {
|
|
|
11
6
|
minimumFileSizeForCompress?: number;
|
|
12
7
|
getCancellationId?: (cancellationId: string) => void;
|
|
13
8
|
downloadProgress?: (progress: number) => void;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
export declare type HTTPResponse = {
|
|
20
|
-
status: number;
|
|
21
|
-
headers: Record<string, string>;
|
|
22
|
-
body: string;
|
|
23
|
-
};
|
|
24
|
-
export declare type FileSystemUploadOptions = ({
|
|
25
|
-
uploadType?: FileSystemUploadType.BINARY_CONTENT;
|
|
26
|
-
} | {
|
|
27
|
-
uploadType: FileSystemUploadType.MULTIPART;
|
|
28
|
-
fieldName?: string;
|
|
29
|
-
mimeType?: string;
|
|
30
|
-
parameters?: Record<string, string>;
|
|
31
|
-
}) & {
|
|
32
|
-
headers?: Record<string, string>;
|
|
33
|
-
httpMethod?: FileSystemAcceptedUploadHttpMethod;
|
|
34
|
-
sessionType?: FileSystemSessionType;
|
|
9
|
+
/***
|
|
10
|
+
* Default:0, we uses it when we use downloadProgress/onProgress
|
|
11
|
+
*/
|
|
12
|
+
progressDivider?: number;
|
|
35
13
|
};
|
|
36
14
|
export type VideoCompressorType = {
|
|
37
15
|
compress(fileUrl: string, options?: videoCompresssionType, onProgress?: (progress: number) => void): Promise<string>;
|
|
38
16
|
cancelCompression(cancellationId: string): void;
|
|
39
|
-
backgroundUpload(url: string, fileUrl: string, options: FileSystemUploadOptions, onProgress?: (writtem: number, total: number) => void): Promise<any>;
|
|
40
17
|
activateBackgroundTask(onExpired?: (data: any) => void): Promise<any>;
|
|
41
18
|
deactivateBackgroundTask(): Promise<any>;
|
|
42
19
|
};
|
|
43
|
-
export declare const backgroundUpload: (url: string, fileUrl: string, options: FileSystemUploadOptions, onProgress?: ((writtem: number, total: number) => void) | undefined) => Promise<any>;
|
|
44
20
|
export declare const cancelCompression: (cancellationId: string) => any;
|
|
45
21
|
declare const Video: VideoCompressorType;
|
|
46
22
|
export default Video;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Video/index.tsx"],"names":[],"mappings":"AAKA,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Video/index.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAClD,KAAK,qBAAqB,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,iBAAiB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CACN,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,qBAAqB,EAC/B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACtC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACtE,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;CAC1C,CAAC;AAMF,eAAO,MAAM,iBAAiB,mBAAoB,MAAM,QAEvD,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,mBAoGW,CAAC;AAEzB,eAAe,KAAK,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import Video
|
|
1
|
+
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 } from './utils';
|
|
6
|
-
export { Video, Audio, Image, backgroundUpload, getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getFileSize, };
|
|
5
|
+
import { getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getFileSize, backgroundUpload, download } from './utils';
|
|
6
|
+
export { Video, Audio, Image, backgroundUpload, download, getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getFileSize, };
|
|
7
7
|
export type { VideoCompressorType };
|
|
8
8
|
declare const _default: {
|
|
9
9
|
Video: VideoCompressorType;
|
|
@@ -11,13 +11,14 @@ declare const _default: {
|
|
|
11
11
|
Image: {
|
|
12
12
|
compress(value: string, options?: import("./Image").CompressorOptions | undefined): Promise<string>;
|
|
13
13
|
};
|
|
14
|
-
backgroundUpload: (url: string, fileUrl: string, options: import("./Video").FileSystemUploadOptions, onProgress?: ((writtem: number, total: number) => void) | undefined) => Promise<any>;
|
|
15
14
|
getDetails: (mediaFullPath: string, extesnion?: "mp3" | "mp4") => Promise<any>;
|
|
16
15
|
uuidv4: () => string;
|
|
17
16
|
generateFilePath: any;
|
|
18
17
|
getRealPath: any;
|
|
19
18
|
getVideoMetaData: any;
|
|
20
19
|
getFileSize: (filePath: string) => Promise<string>;
|
|
20
|
+
backgroundUpload: (url: string, fileUrl: string, options: import("./utils").FileSystemUploadOptions, onProgress?: ((writtem: number, total: number) => void) | undefined) => Promise<any>;
|
|
21
|
+
download: (fileUrl: string, downloadProgress?: ((progress: number) => void) | undefined, progressDivider?: number | undefined) => Promise<any>;
|
|
21
22
|
};
|
|
22
23
|
export default _default;
|
|
23
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EACL,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,QAAQ,EAER,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;AACpC,wBAYE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Downloader.d.ts","sourceRoot":"","sources":["../../../src/utils/Downloader.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,YACV,MAAM,iCACe,MAAM,KAAK,IAAI,iCAC3B,MAAM,KACvB,QAAQ,GAAG,CA4Bb,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare enum FileSystemUploadType {
|
|
2
|
+
BINARY_CONTENT = 0,
|
|
3
|
+
MULTIPART = 1
|
|
4
|
+
}
|
|
5
|
+
export declare enum FileSystemSessionType {
|
|
6
|
+
BACKGROUND = 0,
|
|
7
|
+
FOREGROUND = 1
|
|
8
|
+
}
|
|
9
|
+
export declare type HTTPResponse = {
|
|
10
|
+
status: number;
|
|
11
|
+
headers: Record<string, string>;
|
|
12
|
+
body: string;
|
|
13
|
+
};
|
|
14
|
+
export declare type FileSystemAcceptedUploadHttpMethod = 'POST' | 'PUT' | 'PATCH';
|
|
15
|
+
export declare type FileSystemUploadOptions = ({
|
|
16
|
+
uploadType?: FileSystemUploadType.BINARY_CONTENT;
|
|
17
|
+
} | {
|
|
18
|
+
uploadType: FileSystemUploadType.MULTIPART;
|
|
19
|
+
fieldName?: string;
|
|
20
|
+
mimeType?: string;
|
|
21
|
+
parameters?: Record<string, string>;
|
|
22
|
+
}) & {
|
|
23
|
+
headers?: Record<string, string>;
|
|
24
|
+
httpMethod?: FileSystemAcceptedUploadHttpMethod;
|
|
25
|
+
sessionType?: FileSystemSessionType;
|
|
26
|
+
};
|
|
27
|
+
export declare const backgroundUpload: (url: string, fileUrl: string, options: FileSystemUploadOptions, onProgress?: ((writtem: number, total: number) => void) | undefined) => Promise<any>;
|
|
28
|
+
//# sourceMappingURL=Uploader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Uploader.d.ts","sourceRoot":"","sources":["../../../src/utils/Uploader.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,MAAM,oBAAoB;IACtC,cAAc,IAAI;IAClB,SAAS,IAAI;CACd;AAED,MAAM,CAAC,OAAO,MAAM,qBAAqB;IACvC,UAAU,IAAI;IACd,UAAU,IAAI;CACf;AAED,MAAM,CAAC,OAAO,MAAM,YAAY,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,CAAC,OAAO,MAAM,kCAAkC,GAClD,MAAM,GACN,KAAK,GACL,OAAO,CAAC;AAEZ,MAAM,CAAC,OAAO,MAAM,uBAAuB,GAAG,CAC1C;IACE,UAAU,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC;CAClD,GACD;IACE,UAAU,EAAE,oBAAoB,CAAC,SAAS,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,CACJ,GAAG;IACF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,kCAAkC,CAAC;IAChD,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,QACtB,MAAM,WACF,MAAM,WACN,uBAAuB,0BACT,MAAM,SAAS,MAAM,KAAK,IAAI,kBACpD,QAAQ,GAAG,CA8Bb,CAAC"}
|
|
@@ -21,5 +21,6 @@ export declare const getDetails: (mediaFullPath: string, extesnion?: 'mp3' | 'mp
|
|
|
21
21
|
export declare const checkUrlAndOptions: (url: string, options: audioCompresssionType) => Promise<defaultResultType>;
|
|
22
22
|
export declare const getFileSize: (filePath: string) => Promise<string>;
|
|
23
23
|
export declare const uuidv4: () => string;
|
|
24
|
-
export
|
|
24
|
+
export * from './Downloader';
|
|
25
|
+
export * from './Uploader';
|
|
25
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,UAAmC,CAAC;AAC9D,KAAK,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAM7C,KAAK,qBAAqB,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,qBAI5C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3E,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,GAM9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,GAKzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,GAE9B,CAAC;AA2CF,eAAO,MAAM,UAAU,kBACN,MAAM,cACV,KAAK,GAAG,KAAK,KACvB,QAAQ,GAAG,GAAG,IAAI,CA6BpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,QACxB,MAAM,WACF,qBAAqB,KAC7B,QAAQ,iBAAiB,CAsC3B,CAAC;AAEF,eAAO,MAAM,WAAW,aAAoB,MAAM,KAAG,QAAQ,MAAM,CAElE,CAAC;AAEF,eAAO,MAAM,MAAM,cAclB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,UAAmC,CAAC;AAC9D,KAAK,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAM7C,KAAK,qBAAqB,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,qBAI5C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3E,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,GAM9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,GAKzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,GAE9B,CAAC;AA2CF,eAAO,MAAM,UAAU,kBACN,MAAM,cACV,KAAK,GAAG,KAAK,KACvB,QAAQ,GAAG,GAAG,IAAI,CA6BpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,QACxB,MAAM,WACF,qBAAqB,KAC7B,QAAQ,iBAAiB,CAsC3B,CAAC;AAEF,eAAO,MAAM,WAAW,aAAoB,MAAM,KAAG,QAAQ,MAAM,CAElE,CAAC;AAEF,eAAO,MAAM,MAAM,cAclB,CAAC;AACF,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-compressor",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "This library compress image, video and audio",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@commitlint/config-conventional": "^17.0.2",
|
|
72
72
|
"@evilmartians/lefthook": "^1.2.2",
|
|
73
|
+
"@jamesacarr/eslint-formatter-github-actions": "^0.2.0",
|
|
73
74
|
"@react-native-community/eslint-config": "^3.0.2",
|
|
74
75
|
"@release-it/conventional-changelog": "^5.0.0",
|
|
75
76
|
"@types/jest": "^28.1.2",
|
|
@@ -77,12 +78,13 @@
|
|
|
77
78
|
"@types/react-native": "0.70.0",
|
|
78
79
|
"commitlint": "^17.0.2",
|
|
79
80
|
"del-cli": "^5.0.0",
|
|
80
|
-
"eslint": "^8.
|
|
81
|
+
"eslint": "^8.46.0",
|
|
81
82
|
"eslint-config-prettier": "^8.5.0",
|
|
82
|
-
"eslint-plugin-
|
|
83
|
+
"eslint-plugin-ft-flow": "^3.0.0",
|
|
84
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
85
|
+
"prettier": "^3.0.1",
|
|
83
86
|
"jest": "^28.1.1",
|
|
84
87
|
"pod-install": "^0.1.0",
|
|
85
|
-
"prettier": "^2.0.5",
|
|
86
88
|
"react": "18.2.0",
|
|
87
89
|
"react-native": "0.72.4",
|
|
88
90
|
"react-native-builder-bob": "^0.20.0",
|
package/src/Image/index.tsx
CHANGED
|
@@ -45,6 +45,10 @@ export type CompressorOptions = {
|
|
|
45
45
|
* it is callback, only trigger when we pass image url from server
|
|
46
46
|
*/
|
|
47
47
|
downloadProgress?: (progress: number) => void;
|
|
48
|
+
/***
|
|
49
|
+
* Default:0, we uses when we use downloadProgress
|
|
50
|
+
*/
|
|
51
|
+
progressDivider?: number;
|
|
48
52
|
};
|
|
49
53
|
|
|
50
54
|
const ImageCompressEventEmitter = new NativeEventEmitter(Compressor);
|
|
@@ -63,10 +67,10 @@ const Image: ImageType = {
|
|
|
63
67
|
);
|
|
64
68
|
}
|
|
65
69
|
|
|
66
|
-
const uuid = uuidv4();
|
|
67
70
|
let subscription: NativeEventSubscription;
|
|
68
71
|
try {
|
|
69
72
|
if (options?.downloadProgress) {
|
|
73
|
+
const uuid = uuidv4();
|
|
70
74
|
//@ts-ignore
|
|
71
75
|
options.uuid = uuid;
|
|
72
76
|
subscription = ImageCompressEventEmitter.addListener(
|
package/src/Main.tsx
CHANGED
|
@@ -12,9 +12,6 @@ const isTurboModuleEnabled = global.__turboModuleProxy != null;
|
|
|
12
12
|
const CompressorModule = isTurboModuleEnabled
|
|
13
13
|
? require('./Spec/NativeCompressor').default
|
|
14
14
|
: NativeModules.Compressor;
|
|
15
|
-
const VideoCompressorModule = isTurboModuleEnabled
|
|
16
|
-
? require('./Spec/NativeVideoCompressor').default
|
|
17
|
-
: NativeModules.VideoCompressor;
|
|
18
15
|
|
|
19
16
|
const Compressor = CompressorModule
|
|
20
17
|
? CompressorModule
|
|
@@ -27,15 +24,4 @@ const Compressor = CompressorModule
|
|
|
27
24
|
}
|
|
28
25
|
);
|
|
29
26
|
|
|
30
|
-
|
|
31
|
-
? VideoCompressorModule
|
|
32
|
-
: new Proxy(
|
|
33
|
-
{},
|
|
34
|
-
{
|
|
35
|
-
get() {
|
|
36
|
-
throw new Error(LINKING_ERROR);
|
|
37
|
-
},
|
|
38
|
-
}
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
export { Compressor, VideoCompressor };
|
|
27
|
+
export { Compressor };
|
|
@@ -2,11 +2,23 @@ import type { TurboModule } from 'react-native';
|
|
|
2
2
|
import { TurboModuleRegistry } from 'react-native';
|
|
3
3
|
|
|
4
4
|
export interface Spec extends TurboModule {
|
|
5
|
+
// Image
|
|
5
6
|
image_compress(imagePath: string, optionMap: Object): Promise<string>;
|
|
7
|
+
// Video
|
|
8
|
+
compress(fileUrl: string, optionMap: Object): Promise<string>;
|
|
9
|
+
cancelCompression(uuid: string): void;
|
|
10
|
+
getVideoMetaData(filePath: string): Promise<string>;
|
|
11
|
+
activateBackgroundTask(options: Object): Promise<string>;
|
|
12
|
+
deactivateBackgroundTask(options: Object): Promise<string>;
|
|
13
|
+
//Audio
|
|
6
14
|
compress_audio(fileUrl: string, optionMap: Object): Promise<string>;
|
|
7
|
-
|
|
15
|
+
// Upload
|
|
16
|
+
upload(fileUrl: string, options: Object): Promise<string>;
|
|
17
|
+
// Download
|
|
18
|
+
download(fileUrl: string, options: Object): Promise<string>;
|
|
19
|
+
// Others
|
|
20
|
+
generateFilePath(_extension: string): Promise<string>;
|
|
8
21
|
getRealPath(path: string, type: string): Promise<string>;
|
|
9
|
-
getVideoMetaData(filePath: string): Promise<string>;
|
|
10
22
|
getFileSize(filePath: string): Promise<string>;
|
|
11
23
|
addListener(eventName: string): void;
|
|
12
24
|
removeListeners(count: number): void;
|
package/src/Video/index.tsx
CHANGED
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
import { NativeEventEmitter
|
|
1
|
+
import { NativeEventEmitter } from 'react-native';
|
|
2
2
|
import type { NativeEventSubscription } from 'react-native';
|
|
3
|
-
import {
|
|
3
|
+
import { Compressor } from '../Main';
|
|
4
4
|
import { uuidv4 } from '../utils';
|
|
5
5
|
|
|
6
|
-
export declare enum FileSystemUploadType {
|
|
7
|
-
BINARY_CONTENT = 0,
|
|
8
|
-
MULTIPART = 1,
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export declare type FileSystemAcceptedUploadHttpMethod =
|
|
12
|
-
| 'POST'
|
|
13
|
-
| 'PUT'
|
|
14
|
-
| 'PATCH';
|
|
15
6
|
export type compressionMethod = 'auto' | 'manual';
|
|
16
7
|
type videoCompresssionType = {
|
|
17
8
|
bitrate?: number;
|
|
@@ -20,33 +11,10 @@ type videoCompresssionType = {
|
|
|
20
11
|
minimumFileSizeForCompress?: number;
|
|
21
12
|
getCancellationId?: (cancellationId: string) => void;
|
|
22
13
|
downloadProgress?: (progress: number) => void;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
FOREGROUND = 1,
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export declare type HTTPResponse = {
|
|
31
|
-
status: number;
|
|
32
|
-
headers: Record<string, string>;
|
|
33
|
-
body: string;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export declare type FileSystemUploadOptions = (
|
|
37
|
-
| {
|
|
38
|
-
uploadType?: FileSystemUploadType.BINARY_CONTENT;
|
|
39
|
-
}
|
|
40
|
-
| {
|
|
41
|
-
uploadType: FileSystemUploadType.MULTIPART;
|
|
42
|
-
fieldName?: string;
|
|
43
|
-
mimeType?: string;
|
|
44
|
-
parameters?: Record<string, string>;
|
|
45
|
-
}
|
|
46
|
-
) & {
|
|
47
|
-
headers?: Record<string, string>;
|
|
48
|
-
httpMethod?: FileSystemAcceptedUploadHttpMethod;
|
|
49
|
-
sessionType?: FileSystemSessionType;
|
|
14
|
+
/***
|
|
15
|
+
* Default:0, we uses it when we use downloadProgress/onProgress
|
|
16
|
+
*/
|
|
17
|
+
progressDivider?: number;
|
|
50
18
|
};
|
|
51
19
|
|
|
52
20
|
export type VideoCompressorType = {
|
|
@@ -56,56 +24,13 @@ export type VideoCompressorType = {
|
|
|
56
24
|
onProgress?: (progress: number) => void
|
|
57
25
|
): Promise<string>;
|
|
58
26
|
cancelCompression(cancellationId: string): void;
|
|
59
|
-
backgroundUpload(
|
|
60
|
-
url: string,
|
|
61
|
-
fileUrl: string,
|
|
62
|
-
options: FileSystemUploadOptions,
|
|
63
|
-
onProgress?: (writtem: number, total: number) => void
|
|
64
|
-
): Promise<any>;
|
|
65
27
|
activateBackgroundTask(onExpired?: (data: any) => void): Promise<any>;
|
|
66
28
|
deactivateBackgroundTask(): Promise<any>;
|
|
67
29
|
};
|
|
68
30
|
|
|
69
|
-
const VideoCompressEventEmitter = new NativeEventEmitter(
|
|
70
|
-
|
|
71
|
-
const NativeVideoCompressor = VideoCompressor;
|
|
31
|
+
const VideoCompressEventEmitter = new NativeEventEmitter(Compressor);
|
|
72
32
|
|
|
73
|
-
|
|
74
|
-
url: string,
|
|
75
|
-
fileUrl: string,
|
|
76
|
-
options: FileSystemUploadOptions,
|
|
77
|
-
onProgress?: (writtem: number, total: number) => void
|
|
78
|
-
): Promise<any> => {
|
|
79
|
-
const uuid = uuidv4();
|
|
80
|
-
let subscription: NativeEventSubscription;
|
|
81
|
-
try {
|
|
82
|
-
if (onProgress) {
|
|
83
|
-
subscription = VideoCompressEventEmitter.addListener(
|
|
84
|
-
'VideoCompressorProgress',
|
|
85
|
-
(event: any) => {
|
|
86
|
-
if (event.uuid === uuid) {
|
|
87
|
-
onProgress(event.data.written, event.data.total);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
if (Platform.OS === 'android' && fileUrl.includes('file://')) {
|
|
93
|
-
fileUrl = fileUrl.replace('file://', '');
|
|
94
|
-
}
|
|
95
|
-
const result = await NativeVideoCompressor.upload(fileUrl, {
|
|
96
|
-
uuid,
|
|
97
|
-
method: options.httpMethod,
|
|
98
|
-
headers: options.headers,
|
|
99
|
-
url,
|
|
100
|
-
});
|
|
101
|
-
return result;
|
|
102
|
-
} finally {
|
|
103
|
-
// @ts-ignore
|
|
104
|
-
if (subscription) {
|
|
105
|
-
subscription.remove();
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
};
|
|
33
|
+
const NativeVideoCompressor = Compressor;
|
|
109
34
|
|
|
110
35
|
export const cancelCompression = (cancellationId: string) => {
|
|
111
36
|
return NativeVideoCompressor.cancelCompression(cancellationId);
|
|
@@ -152,7 +77,10 @@ const Video: VideoCompressorType = {
|
|
|
152
77
|
compressionMethod?: compressionMethod;
|
|
153
78
|
maxSize?: number;
|
|
154
79
|
minimumFileSizeForCompress?: number;
|
|
80
|
+
progressDivider?: number;
|
|
155
81
|
} = { uuid };
|
|
82
|
+
if (options?.progressDivider)
|
|
83
|
+
modifiedOptions.progressDivider = options?.progressDivider;
|
|
156
84
|
if (options?.bitrate) modifiedOptions.bitrate = options?.bitrate;
|
|
157
85
|
if (options?.compressionMethod) {
|
|
158
86
|
modifiedOptions.compressionMethod = options?.compressionMethod;
|
|
@@ -188,7 +116,6 @@ const Video: VideoCompressorType = {
|
|
|
188
116
|
}
|
|
189
117
|
}
|
|
190
118
|
},
|
|
191
|
-
backgroundUpload,
|
|
192
119
|
cancelCompression,
|
|
193
120
|
activateBackgroundTask(onExpired?) {
|
|
194
121
|
if (onExpired) {
|
|
@@ -4,6 +4,6 @@ const pkg = require('../../../package.json');
|
|
|
4
4
|
|
|
5
5
|
type Props = {};
|
|
6
6
|
|
|
7
|
-
const withCompressor: ConfigPlugin<Props> = (config:any) => config;
|
|
7
|
+
const withCompressor: ConfigPlugin<Props> = (config: any) => config;
|
|
8
8
|
|
|
9
9
|
export default createRunOncePlugin(withCompressor, pkg.name, pkg.version);
|
package/src/index.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Video
|
|
1
|
+
import Video from './Video';
|
|
2
2
|
import type { VideoCompressorType } from './Video';
|
|
3
3
|
import Audio from './Audio';
|
|
4
4
|
import Image from './Image';
|
|
@@ -9,6 +9,8 @@ import {
|
|
|
9
9
|
getRealPath,
|
|
10
10
|
getVideoMetaData,
|
|
11
11
|
getFileSize,
|
|
12
|
+
backgroundUpload,
|
|
13
|
+
download,
|
|
12
14
|
} from './utils';
|
|
13
15
|
|
|
14
16
|
export {
|
|
@@ -16,8 +18,8 @@ export {
|
|
|
16
18
|
Audio,
|
|
17
19
|
Image,
|
|
18
20
|
backgroundUpload,
|
|
21
|
+
download,
|
|
19
22
|
//type
|
|
20
|
-
|
|
21
23
|
getDetails,
|
|
22
24
|
uuidv4,
|
|
23
25
|
generateFilePath,
|
|
@@ -30,11 +32,12 @@ export default {
|
|
|
30
32
|
Video,
|
|
31
33
|
Audio,
|
|
32
34
|
Image,
|
|
33
|
-
backgroundUpload,
|
|
34
35
|
getDetails,
|
|
35
36
|
uuidv4,
|
|
36
37
|
generateFilePath,
|
|
37
38
|
getRealPath,
|
|
38
39
|
getVideoMetaData,
|
|
39
40
|
getFileSize,
|
|
41
|
+
backgroundUpload,
|
|
42
|
+
download,
|
|
40
43
|
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { NativeEventEmitter, Platform } from 'react-native';
|
|
2
|
+
import type { NativeEventSubscription } from 'react-native';
|
|
3
|
+
import { Compressor } from '../Main';
|
|
4
|
+
const CompressEventEmitter = new NativeEventEmitter(Compressor);
|
|
5
|
+
import { uuidv4 } from './index';
|
|
6
|
+
export const download = async (
|
|
7
|
+
fileUrl: string,
|
|
8
|
+
downloadProgress?: (progress: number) => void,
|
|
9
|
+
progressDivider?: number
|
|
10
|
+
): Promise<any> => {
|
|
11
|
+
let subscription: NativeEventSubscription;
|
|
12
|
+
try {
|
|
13
|
+
const uuid = uuidv4();
|
|
14
|
+
if (downloadProgress) {
|
|
15
|
+
subscription = CompressEventEmitter.addListener(
|
|
16
|
+
'downloadProgress',
|
|
17
|
+
(event: any) => {
|
|
18
|
+
if (event.uuid === uuid) {
|
|
19
|
+
downloadProgress(event.data.progress);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
if (Platform.OS === 'android' && fileUrl.includes('file://')) {
|
|
25
|
+
fileUrl = fileUrl.replace('file://', '');
|
|
26
|
+
}
|
|
27
|
+
const result = await Compressor.download(fileUrl, {
|
|
28
|
+
uuid,
|
|
29
|
+
progressDivider,
|
|
30
|
+
});
|
|
31
|
+
return result;
|
|
32
|
+
} finally {
|
|
33
|
+
// @ts-ignore
|
|
34
|
+
if (subscription) {
|
|
35
|
+
subscription.remove();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|