react-native-compressor 1.8.10 → 1.8.12

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.
Files changed (34) hide show
  1. package/README.md +50 -12
  2. package/android/build.gradle +0 -1
  3. package/android/src/main/java/com/reactnativecompressor/CompressorModule.kt +3 -1
  4. package/android/src/main/java/com/reactnativecompressor/Image/ImageCompressor.kt +56 -23
  5. package/android/src/main/java/com/reactnativecompressor/Image/ImageCompressorOptions.kt +2 -0
  6. package/android/src/main/java/com/reactnativecompressor/Utils/MediaCache.kt +15 -0
  7. package/android/src/main/java/com/reactnativecompressor/Utils/Uploader.kt +152 -91
  8. package/android/src/main/java/com/reactnativecompressor/Utils/UploaderHelper.kt +121 -0
  9. package/android/src/main/java/com/reactnativecompressor/Utils/Utils.kt +14 -0
  10. package/ios/Image/ImageCompressor.swift +53 -41
  11. package/ios/Image/ImageCompressorOptions.swift +3 -0
  12. package/ios/Utils/MediaCache.swift +20 -0
  13. package/ios/Utils/Uploader.swift +123 -4
  14. package/ios/Utils/Utils.swift +20 -0
  15. package/lib/commonjs/Image/index.js.map +1 -1
  16. package/lib/commonjs/index.js +15 -1
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/commonjs/utils/Uploader.js +16 -1
  19. package/lib/commonjs/utils/Uploader.js.map +1 -1
  20. package/lib/module/Image/index.js.map +1 -1
  21. package/lib/module/index.js +5 -3
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/module/utils/Uploader.js +13 -0
  24. package/lib/module/utils/Uploader.js.map +1 -1
  25. package/lib/typescript/Image/index.d.ts +4 -0
  26. package/lib/typescript/Image/index.d.ts.map +1 -1
  27. package/lib/typescript/index.d.ts +5 -3
  28. package/lib/typescript/index.d.ts.map +1 -1
  29. package/lib/typescript/utils/Uploader.d.ts +12 -11
  30. package/lib/typescript/utils/Uploader.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/src/Image/index.tsx +4 -0
  33. package/src/index.tsx +6 -0
  34. package/src/utils/Uploader.tsx +14 -14
@@ -1 +1 @@
1
- {"version":3,"names":["Video","Audio","Image","getDetails","uuidv4","generateFilePath","getRealPath","getVideoMetaData","getFileSize","backgroundUpload","createVideoThumbnail","download","clearCache"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,SAAS;AAE3B,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,KAAK,MAAM,SAAS;AAC3B,SACEC,UAAU,EACVC,MAAM,EACNC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBC,oBAAoB,EACpBC,QAAQ,EACRC,UAAU,QACL,SAAS;AAEhB,SACEZ,KAAK,EACLC,KAAK,EACLC,KAAK,EACLO,gBAAgB,EAChBE,QAAQ;AACR;AACAR,UAAU,EACVC,MAAM,EACNC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBG,oBAAoB,EACpBE,UAAU,EACVJ,WAAW;AAGb,eAAe;EACbR,KAAK;EACLC,KAAK;EACLC,KAAK;EACLC,UAAU;EACVC,MAAM;EACNC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC,oBAAoB;EACpBE,UAAU;EACVD;AACF,CAAC"}
1
+ {"version":3,"names":["Video","Audio","Image","getDetails","uuidv4","generateFilePath","getRealPath","getVideoMetaData","getFileSize","backgroundUpload","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,oBAAoB,EACpBC,QAAQ,EACRC,UAAU,EACVC,UAAU,EACVC,kBAAkB,QACb,SAAS;AAEhB,SACEd,KAAK,EACLC,KAAK,EACLC,KAAK,EACLO,gBAAgB,EAChBE,QAAQ;AACR;AACAR,UAAU,EACVC,MAAM,EACNC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBG,oBAAoB,EACpBE,UAAU,EACVJ,WAAW,EACXK,UAAU,EACVC,kBAAkB;AAGpB,eAAe;EACbd,KAAK;EACLC,KAAK;EACLC,KAAK;EACLC,UAAU;EACVC,MAAM;EACNC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC,WAAW;EACXC,gBAAgB;EAChBC,oBAAoB;EACpBE,UAAU;EACVD,QAAQ;EACRE,UAAU;EACVC;AACF,CAAC"}
@@ -2,6 +2,17 @@ import { NativeEventEmitter, Platform } from 'react-native';
2
2
  import { Compressor } from '../Main';
3
3
  const CompressEventEmitter = new NativeEventEmitter(Compressor);
4
4
  import { uuidv4 } from '.';
5
+ export let UploadType = /*#__PURE__*/function (UploadType) {
6
+ UploadType[UploadType["BINARY_CONTENT"] = 0] = "BINARY_CONTENT";
7
+ UploadType[UploadType["MULTIPART"] = 1] = "MULTIPART";
8
+ return UploadType;
9
+ }({});
10
+ export let UploaderHttpMethod = /*#__PURE__*/function (UploaderHttpMethod) {
11
+ UploaderHttpMethod["POST"] = "POST";
12
+ UploaderHttpMethod["PUT"] = "PUT";
13
+ UploaderHttpMethod["PATCH"] = "PATCH";
14
+ return UploaderHttpMethod;
15
+ }({});
5
16
  export const backgroundUpload = async (url, fileUrl, options, onProgress) => {
6
17
  const uuid = uuidv4();
7
18
  let subscription;
@@ -20,6 +31,8 @@ export const backgroundUpload = async (url, fileUrl, options, onProgress) => {
20
31
  uuid,
21
32
  method: options.httpMethod,
22
33
  headers: options.headers,
34
+ uploadType: options.uploadType,
35
+ ...options,
23
36
  url
24
37
  });
25
38
  return result;
@@ -1 +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
+ {"version":3,"names":["NativeEventEmitter","Platform","Compressor","CompressEventEmitter","uuidv4","UploadType","UploaderHttpMethod","backgroundUpload","url","fileUrl","options","onProgress","uuid","subscription","addListener","event","data","written","total","OS","includes","replace","result","upload","method","httpMethod","headers","uploadType","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;AAC1B,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAKtB,WAAYC,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AA8B9B,OAAO,MAAMC,gBAAgB,GAAG,MAAAA,CAC9BC,GAAW,EACXC,OAAe,EACfC,OAAwB,EACxBC,UAAqD,KACpC;EACjB,MAAMC,IAAI,GAAGR,MAAM,CAAC,CAAC;EACrB,IAAIS,YAAqC;EACzC,IAAI;IACF,IAAIF,UAAU,EAAE;MACdE,YAAY,GAAGV,oBAAoB,CAACW,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,IAAIjB,QAAQ,CAACkB,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,MAAMpB,UAAU,CAACqB,MAAM,CAACd,OAAO,EAAE;MAC9CG,IAAI;MACJY,MAAM,EAAEd,OAAO,CAACe,UAAU;MAC1BC,OAAO,EAAEhB,OAAO,CAACgB,OAAO;MACxBC,UAAU,EAAEjB,OAAO,CAACiB,UAAU;MAC9B,GAAGjB,OAAO;MACVF;IACF,CAAC,CAAC;IACF,OAAOc,MAAM;EACf,CAAC,SAAS;IACR;IACA,IAAIT,YAAY,EAAE;MAChBA,YAAY,CAACe,MAAM,CAAC,CAAC;IACvB;EACF;AACF,CAAC"}
@@ -27,6 +27,10 @@ export type CompressorOptions = {
27
27
  * The output image type.
28
28
  */
29
29
  output?: OutputType;
30
+ /***
31
+ * when user add `output:'png'` then by default compressed image will have transparent background, and quality will be ignored, if you wanna apply quality then you have to disablePngTransparency like `disablePngTransparency:true`, it will convert transparent background to white
32
+ */
33
+ disablePngTransparency?: boolean;
30
34
  /***
31
35
  * The output that will return to user.
32
36
  */
@@ -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;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"}
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,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;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"}
@@ -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, createVideoThumbnail, download, clearCache } from './utils';
6
- export { Video, Audio, Image, backgroundUpload, download, getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, createVideoThumbnail, clearCache, getFileSize, };
5
+ import { getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, getFileSize, backgroundUpload, createVideoThumbnail, download, clearCache, UploadType, UploaderHttpMethod } from './utils';
6
+ export { Video, Audio, Image, backgroundUpload, download, getDetails, uuidv4, generateFilePath, getRealPath, getVideoMetaData, createVideoThumbnail, clearCache, getFileSize, UploadType, UploaderHttpMethod, };
7
7
  export type { VideoCompressorType };
8
8
  declare const _default: {
9
9
  Video: VideoCompressorType;
@@ -17,7 +17,7 @@ declare const _default: {
17
17
  getRealPath: (path: string, type: "video" | "image") => Promise<string>;
18
18
  getVideoMetaData: (filePath: string) => Promise<string>;
19
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>;
20
+ backgroundUpload: (url: string, fileUrl: string, options: import("./utils").UploaderOptions, onProgress?: ((writtem: number, total: number) => void) | undefined) => Promise<any>;
21
21
  createVideoThumbnail: (fileUrl: string, options?: {
22
22
  headers?: {
23
23
  [key: string]: string;
@@ -31,6 +31,8 @@ declare const _default: {
31
31
  }>;
32
32
  clearCache: (cacheDir?: string | undefined) => Promise<string>;
33
33
  download: (fileUrl: string, downloadProgress?: ((progress: number) => void) | undefined, progressDivider?: number | undefined) => Promise<any>;
34
+ UploadType: typeof UploadType;
35
+ UploaderHttpMethod: typeof UploaderHttpMethod;
34
36
  };
35
37
  export default _default;
36
38
  //# sourceMappingURL=index.d.ts.map
@@ -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,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACX,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,QAAQ,EAER,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,WAAW,GACZ,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACpC,wBAcE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EACL,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,QAAQ,EAER,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,UAAU,EACV,kBAAkB,GACnB,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACpC,wBAgBE"}
@@ -1,28 +1,29 @@
1
- export declare enum FileSystemUploadType {
1
+ export declare enum UploadType {
2
2
  BINARY_CONTENT = 0,
3
3
  MULTIPART = 1
4
4
  }
5
- export declare enum FileSystemSessionType {
6
- BACKGROUND = 0,
7
- FOREGROUND = 1
5
+ export declare enum UploaderHttpMethod {
6
+ POST = "POST",
7
+ PUT = "PUT",
8
+ PATCH = "PATCH"
8
9
  }
9
10
  export declare type HTTPResponse = {
10
11
  status: number;
11
12
  headers: Record<string, string>;
12
13
  body: string;
13
14
  };
14
- export declare type FileSystemAcceptedUploadHttpMethod = 'POST' | 'PUT' | 'PATCH';
15
- export declare type FileSystemUploadOptions = ({
16
- uploadType?: FileSystemUploadType.BINARY_CONTENT;
15
+ export declare type HttpMethod = 'POST' | 'PUT' | 'PATCH';
16
+ export declare type UploaderOptions = ({
17
+ uploadType?: UploadType.BINARY_CONTENT;
18
+ mimeType?: string;
17
19
  } | {
18
- uploadType: FileSystemUploadType.MULTIPART;
20
+ uploadType: UploadType.MULTIPART;
19
21
  fieldName?: string;
20
22
  mimeType?: string;
21
23
  parameters?: Record<string, string>;
22
24
  }) & {
23
25
  headers?: Record<string, string>;
24
- httpMethod?: FileSystemAcceptedUploadHttpMethod;
25
- sessionType?: FileSystemSessionType;
26
+ httpMethod?: UploaderHttpMethod | HttpMethod;
26
27
  };
27
- export declare const backgroundUpload: (url: string, fileUrl: string, options: FileSystemUploadOptions, onProgress?: ((writtem: number, total: number) => void) | undefined) => Promise<any>;
28
+ export declare const backgroundUpload: (url: string, fileUrl: string, options: UploaderOptions, onProgress?: ((writtem: number, total: number) => void) | undefined) => Promise<any>;
28
29
  //# sourceMappingURL=Uploader.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"Uploader.d.ts","sourceRoot":"","sources":["../../../src/utils/Uploader.tsx"],"names":[],"mappings":"AAKA,oBAAY,UAAU;IACpB,cAAc,IAAI;IAClB,SAAS,IAAI;CACd;AAED,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;CAChB;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,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAE1D,MAAM,CAAC,OAAO,MAAM,eAAe,GAAG,CAClC;IACE,UAAU,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACD;IACE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC;IACjC,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,kBAAkB,GAAG,UAAU,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,gBAAgB,QACtB,MAAM,WACF,MAAM,WACN,eAAe,0BACD,MAAM,SAAS,MAAM,KAAK,IAAI,kBACpD,QAAQ,GAAG,CAgCb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-compressor",
3
- "version": "1.8.10",
3
+ "version": "1.8.12",
4
4
  "description": "This library compress image, video and audio",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -37,6 +37,10 @@ export type CompressorOptions = {
37
37
  * The output image type.
38
38
  */
39
39
  output?: OutputType;
40
+ /***
41
+ * when user add `output:'png'` then by default compressed image will have transparent background, and quality will be ignored, if you wanna apply quality then you have to disablePngTransparency like `disablePngTransparency:true`, it will convert transparent background to white
42
+ */
43
+ disablePngTransparency?: boolean;
40
44
  /***
41
45
  * The output that will return to user.
42
46
  */
package/src/index.tsx CHANGED
@@ -13,6 +13,8 @@ import {
13
13
  createVideoThumbnail,
14
14
  download,
15
15
  clearCache,
16
+ UploadType,
17
+ UploaderHttpMethod,
16
18
  } from './utils';
17
19
 
18
20
  export {
@@ -30,6 +32,8 @@ export {
30
32
  createVideoThumbnail,
31
33
  clearCache,
32
34
  getFileSize,
35
+ UploadType,
36
+ UploaderHttpMethod,
33
37
  };
34
38
  export type { VideoCompressorType };
35
39
  export default {
@@ -46,4 +50,6 @@ export default {
46
50
  createVideoThumbnail,
47
51
  clearCache,
48
52
  download,
53
+ UploadType,
54
+ UploaderHttpMethod,
49
55
  };
@@ -3,14 +3,15 @@ import type { NativeEventSubscription } from 'react-native';
3
3
  import { Compressor } from '../Main';
4
4
  const CompressEventEmitter = new NativeEventEmitter(Compressor);
5
5
  import { uuidv4 } from '.';
6
- export declare enum FileSystemUploadType {
6
+ export enum UploadType {
7
7
  BINARY_CONTENT = 0,
8
8
  MULTIPART = 1,
9
9
  }
10
10
 
11
- export declare enum FileSystemSessionType {
12
- BACKGROUND = 0,
13
- FOREGROUND = 1,
11
+ export enum UploaderHttpMethod {
12
+ POST = 'POST',
13
+ PUT = 'PUT',
14
+ PATCH = 'PATCH',
14
15
  }
15
16
 
16
17
  export declare type HTTPResponse = {
@@ -19,31 +20,28 @@ export declare type HTTPResponse = {
19
20
  body: string;
20
21
  };
21
22
 
22
- export declare type FileSystemAcceptedUploadHttpMethod =
23
- | 'POST'
24
- | 'PUT'
25
- | 'PATCH';
23
+ export declare type HttpMethod = 'POST' | 'PUT' | 'PATCH';
26
24
 
27
- export declare type FileSystemUploadOptions = (
25
+ export declare type UploaderOptions = (
28
26
  | {
29
- uploadType?: FileSystemUploadType.BINARY_CONTENT;
27
+ uploadType?: UploadType.BINARY_CONTENT;
28
+ mimeType?: string;
30
29
  }
31
30
  | {
32
- uploadType: FileSystemUploadType.MULTIPART;
31
+ uploadType: UploadType.MULTIPART;
33
32
  fieldName?: string;
34
33
  mimeType?: string;
35
34
  parameters?: Record<string, string>;
36
35
  }
37
36
  ) & {
38
37
  headers?: Record<string, string>;
39
- httpMethod?: FileSystemAcceptedUploadHttpMethod;
40
- sessionType?: FileSystemSessionType;
38
+ httpMethod?: UploaderHttpMethod | HttpMethod;
41
39
  };
42
40
 
43
41
  export const backgroundUpload = async (
44
42
  url: string,
45
43
  fileUrl: string,
46
- options: FileSystemUploadOptions,
44
+ options: UploaderOptions,
47
45
  onProgress?: (writtem: number, total: number) => void
48
46
  ): Promise<any> => {
49
47
  const uuid = uuidv4();
@@ -66,6 +64,8 @@ export const backgroundUpload = async (
66
64
  uuid,
67
65
  method: options.httpMethod,
68
66
  headers: options.headers,
67
+ uploadType: options.uploadType,
68
+ ...options,
69
69
  url,
70
70
  });
71
71
  return result;