react-native-compressor 1.18.2 → 2.0.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/android/CMakeLists.txt +27 -0
- package/android/build.gradle +56 -58
- package/android/gradle.properties +5 -5
- package/android/src/main/AndroidManifestNew.xml +3 -0
- package/android/src/main/cpp/cpp-adapter.cpp +8 -0
- package/android/src/main/java/com/margelo/nitro/compressor/HybridCompressor.kt +213 -0
- package/android/src/main/java/com/reactnativecompressor/Image/ImageCompressor.kt +41 -21
- package/android/src/main/java/com/reactnativecompressor/NitroCompressorPackage.kt +30 -0
- package/android/src/main/java/com/reactnativecompressor/NitroPromiseAdapter.kt +55 -0
- package/android/src/main/java/com/reactnativecompressor/Utils/EventEmitterHandler.kt +49 -45
- package/android/src/main/java/com/reactnativecompressor/Utils/Utils.kt +1 -1
- package/android/src/main/java/com/reactnativecompressor/Video/AutoVideoCompression.kt +1 -1
- package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressionProfile.kt +21 -11
- package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressor/compressor/Compressor.kt +311 -76
- package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressor/utils/CompressorUtils.kt +96 -5
- package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressor/utils/LocationExtractor.kt +397 -0
- package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressor/videoHelpers/LocationBox.kt +47 -0
- package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressor/videoHelpers/MP4Builder.kt +39 -7
- package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressor/videoHelpers/Mp4Movie.kt +7 -0
- package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressor/videoHelpers/OutputSurface.kt +30 -4
- package/android/src/main/java/com/reactnativecompressor/Video/VideoCompressorHelper.kt +28 -2
- package/ios/Audio/FormatConverter/FormatConverter+Compressed.swift +1 -1
- package/ios/Audio/FormatConverter/FormatConverter+Utilities.swift +1 -1
- package/ios/Audio/FormatConverter/FormatConverter.swift +5 -3
- package/ios/HybridCompressor.swift +247 -0
- package/ios/Image/ImageCompressor.swift +8 -2
- package/ios/Utils/EventEmitterHandler.swift +56 -34
- package/ios/Video/NextLevelSessionExporter.swift +43 -8
- package/ios/Video/VideoMain.swift +44 -14
- package/lib/commonjs/Audio/index.js +1 -1
- package/lib/commonjs/Audio/index.js.map +1 -1
- package/lib/commonjs/Image/index.js +2 -22
- package/lib/commonjs/Image/index.js.map +1 -1
- package/lib/commonjs/Main.js +8 -8
- package/lib/commonjs/Main.js.map +1 -1
- package/lib/commonjs/Video/index.js +25 -65
- package/lib/commonjs/Video/index.js.map +1 -1
- package/lib/commonjs/specs/Compressor.nitro.js +6 -0
- package/lib/commonjs/specs/Compressor.nitro.js.map +1 -0
- package/lib/commonjs/utils/Downloader.js +8 -24
- package/lib/commonjs/utils/Downloader.js.map +1 -1
- package/lib/commonjs/utils/Uploader.js +3 -18
- package/lib/commonjs/utils/Uploader.js.map +1 -1
- package/lib/commonjs/utils/helpers.js +18 -1
- package/lib/commonjs/utils/helpers.js.map +1 -1
- package/lib/commonjs/utils/index.js +13 -13
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/Audio/index.js +2 -2
- package/lib/module/Audio/index.js.map +1 -1
- package/lib/module/Image/index.js +3 -23
- package/lib/module/Image/index.js.map +1 -1
- package/lib/module/Main.js +9 -9
- package/lib/module/Main.js.map +1 -1
- package/lib/module/Video/index.js +26 -66
- package/lib/module/Video/index.js.map +1 -1
- package/lib/module/specs/Compressor.nitro.js +4 -0
- package/lib/module/specs/Compressor.nitro.js.map +1 -0
- package/lib/module/utils/Downloader.js +10 -26
- package/lib/module/utils/Downloader.js.map +1 -1
- package/lib/module/utils/Uploader.js +5 -20
- package/lib/module/utils/Uploader.js.map +1 -1
- package/lib/module/utils/helpers.js +16 -0
- package/lib/module/utils/helpers.js.map +1 -1
- package/lib/module/utils/index.js +2 -1
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/src/Image/index.d.ts.map +1 -1
- package/lib/typescript/src/Main.d.ts +2 -1
- package/lib/typescript/src/Main.d.ts.map +1 -1
- package/lib/typescript/src/Video/index.d.ts +1 -1
- package/lib/typescript/src/Video/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/Compressor.nitro.d.ts +44 -0
- package/lib/typescript/src/specs/Compressor.nitro.d.ts.map +1 -0
- package/lib/typescript/src/utils/Downloader.d.ts.map +1 -1
- package/lib/typescript/src/utils/Uploader.d.ts.map +1 -1
- package/lib/typescript/src/utils/helpers.d.ts +7 -0
- package/lib/typescript/src/utils/helpers.d.ts.map +1 -1
- package/lib/typescript/src/utils/index.d.ts.map +1 -1
- package/nitrogen/generated/android/NitroCompressor+autolinking.cmake +81 -0
- package/nitrogen/generated/android/NitroCompressor+autolinking.gradle +27 -0
- package/nitrogen/generated/android/NitroCompressorOnLoad.cpp +60 -0
- package/nitrogen/generated/android/NitroCompressorOnLoad.hpp +34 -0
- package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_double.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_double_double.hpp +75 -0
- package/nitrogen/generated/android/c++/JHybridCompressorSpec.cpp +293 -0
- package/nitrogen/generated/android/c++/JHybridCompressorSpec.hpp +78 -0
- package/nitrogen/generated/android/c++/JVideoThumbnailResult.hpp +73 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/compressor/Func_void.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/compressor/Func_void_double.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/compressor/Func_void_double_double.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/compressor/HybridCompressorSpec.kt +141 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/compressor/NitroCompressorOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/compressor/VideoThumbnailResult.kt +71 -0
- package/nitrogen/generated/ios/c++/HybridCompressorSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridCompressorSpecSwift.hpp +204 -0
- package/nitrogen/generated/ios/react_native_compressor+autolinking.rb +62 -0
- package/nitrogen/generated/ios/react_native_compressor-Swift-Cxx-Bridge.cpp +89 -0
- package/nitrogen/generated/ios/react_native_compressor-Swift-Cxx-Bridge.hpp +337 -0
- package/nitrogen/generated/ios/react_native_compressor-Swift-Cxx-Umbrella.hpp +51 -0
- package/nitrogen/generated/ios/react_native_compressorAutolinking.mm +33 -0
- package/nitrogen/generated/ios/react_native_compressorAutolinking.swift +26 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_VideoThumbnailResult.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_double.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_double_double.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_AnyMap_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridCompressorSpec.swift +70 -0
- package/nitrogen/generated/ios/swift/HybridCompressorSpec_cxx.swift +493 -0
- package/nitrogen/generated/ios/swift/VideoThumbnailResult.swift +49 -0
- package/nitrogen/generated/shared/c++/HybridCompressorSpec.cpp +36 -0
- package/nitrogen/generated/shared/c++/HybridCompressorSpec.hpp +83 -0
- package/nitrogen/generated/shared/c++/VideoThumbnailResult.hpp +99 -0
- package/package.json +8 -12
- package/react-native-compressor.podspec +6 -24
- package/src/Audio/index.tsx +2 -2
- package/src/Image/index.tsx +3 -26
- package/src/Main.tsx +14 -16
- package/src/Video/index.tsx +25 -77
- package/src/specs/Compressor.nitro.ts +56 -0
- package/src/utils/Downloader.tsx +8 -27
- package/src/utils/Uploader.tsx +12 -24
- package/src/utils/helpers.ts +18 -0
- package/src/utils/index.tsx +3 -2
- package/android/src/main/java/com/reactnativecompressor/CompressorModule.kt +0 -180
- package/android/src/main/java/com/reactnativecompressor/CompressorPackage.kt +0 -34
- package/android/src/newarch/CompressorSpec.kt +0 -5
- package/android/src/oldarch/CompressorSpec.kt +0 -36
- package/ios/Compressor-Bridging-Header.h +0 -6
- package/ios/Compressor.h +0 -5
- package/ios/Compressor.mm +0 -82
- package/ios/CompressorManager.swift +0 -117
- package/lib/commonjs/Spec/NativeCompressor.js +0 -9
- package/lib/commonjs/Spec/NativeCompressor.js.map +0 -1
- package/lib/module/Spec/NativeCompressor.js +0 -5
- package/lib/module/Spec/NativeCompressor.js.map +0 -1
- package/lib/typescript/src/Spec/NativeCompressor.d.ts +0 -30
- package/lib/typescript/src/Spec/NativeCompressor.d.ts.map +0 -1
- package/src/Spec/NativeCompressor.ts +0 -41
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
package com.reactnativecompressor
|
|
2
|
-
|
|
3
|
-
import android.os.Build
|
|
4
|
-
import androidx.annotation.RequiresApi
|
|
5
|
-
import com.facebook.react.bridge.Promise
|
|
6
|
-
import com.facebook.react.bridge.ReactApplicationContext
|
|
7
|
-
import com.facebook.react.bridge.ReactMethod
|
|
8
|
-
import com.facebook.react.bridge.ReadableMap
|
|
9
|
-
import com.reactnativecompressor.Audio.AudioMain
|
|
10
|
-
import com.reactnativecompressor.Image.ImageMain
|
|
11
|
-
import com.reactnativecompressor.Utils.CreateVideoThumbnailClass
|
|
12
|
-
import com.reactnativecompressor.Utils.Downloader
|
|
13
|
-
import com.reactnativecompressor.Utils.EventEmitterHandler
|
|
14
|
-
import com.reactnativecompressor.Utils.Uploader
|
|
15
|
-
import com.reactnativecompressor.Utils.Utils
|
|
16
|
-
import com.reactnativecompressor.Utils.Utils.generateCacheFilePath
|
|
17
|
-
import com.reactnativecompressor.Utils.Utils.getRealPath
|
|
18
|
-
import com.reactnativecompressor.Video.VideoMain
|
|
19
|
-
|
|
20
|
-
class CompressorModule(private val reactContext: ReactApplicationContext) : CompressorSpec(reactContext) {
|
|
21
|
-
private val imageMain: ImageMain = ImageMain(reactContext)
|
|
22
|
-
private val videoMain: VideoMain = VideoMain(reactContext)
|
|
23
|
-
private val audioMain: AudioMain = AudioMain(reactContext)
|
|
24
|
-
private val uploader: Uploader = Uploader(reactContext)
|
|
25
|
-
private val videoThumbnail: CreateVideoThumbnailClass = CreateVideoThumbnailClass(reactContext)
|
|
26
|
-
|
|
27
|
-
override fun initialize() {
|
|
28
|
-
super.initialize()
|
|
29
|
-
EventEmitterHandler.reactContext=reactContext;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
companion object {
|
|
34
|
-
const val NAME = "Compressor"
|
|
35
|
-
}
|
|
36
|
-
override fun getName(): String {
|
|
37
|
-
return NAME
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
//Image
|
|
41
|
-
@ReactMethod
|
|
42
|
-
override fun image_compress(
|
|
43
|
-
imagePath: String,
|
|
44
|
-
optionMap: ReadableMap,
|
|
45
|
-
promise: Promise) {
|
|
46
|
-
imageMain.image_compress(imagePath,optionMap,promise)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
@ReactMethod
|
|
50
|
-
override fun getImageMetaData(filePath: String, promise: Promise) {
|
|
51
|
-
imageMain.getImageMetaData(filePath,promise)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// VIdeo
|
|
55
|
-
@ReactMethod
|
|
56
|
-
override fun compress(
|
|
57
|
-
fileUrl: String,
|
|
58
|
-
optionMap: ReadableMap,
|
|
59
|
-
promise: Promise) {
|
|
60
|
-
videoMain.compress(fileUrl,optionMap,promise)
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
@ReactMethod
|
|
64
|
-
override fun cancelCompression(
|
|
65
|
-
uuid: String) {
|
|
66
|
-
videoMain.cancelCompression(uuid)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
@ReactMethod
|
|
70
|
-
override fun activateBackgroundTask(
|
|
71
|
-
options: ReadableMap,
|
|
72
|
-
promise: Promise) {
|
|
73
|
-
videoMain.activateBackgroundTask(options,promise)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
@ReactMethod
|
|
77
|
-
override fun deactivateBackgroundTask(
|
|
78
|
-
options: ReadableMap,
|
|
79
|
-
promise: Promise) {
|
|
80
|
-
videoMain.deactivateBackgroundTask(options,promise)
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// Audio
|
|
84
|
-
@ReactMethod
|
|
85
|
-
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2)
|
|
86
|
-
override fun compress_audio(
|
|
87
|
-
fileUrl: String,
|
|
88
|
-
optionMap: ReadableMap,
|
|
89
|
-
promise: Promise) {
|
|
90
|
-
audioMain.compress_audio(fileUrl,optionMap,promise)
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// Others
|
|
94
|
-
@ReactMethod
|
|
95
|
-
override fun generateFilePath(_extension: String, promise: Promise) {
|
|
96
|
-
try {
|
|
97
|
-
val outputUri = generateCacheFilePath(_extension, reactContext)
|
|
98
|
-
promise.resolve(outputUri)
|
|
99
|
-
} catch (e: Exception) {
|
|
100
|
-
promise.reject(e)
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
@ReactMethod
|
|
105
|
-
override fun getRealPath(path: String, type: String, promise: Promise) {
|
|
106
|
-
try {
|
|
107
|
-
val realPath = getRealPath(path, reactContext)
|
|
108
|
-
promise.resolve("file://$realPath")
|
|
109
|
-
} catch (e: Exception) {
|
|
110
|
-
promise.reject(e)
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
@ReactMethod
|
|
115
|
-
override fun getVideoMetaData(filePath: String, promise: Promise) {
|
|
116
|
-
videoMain.getVideoMetaData(filePath,promise)
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
@ReactMethod
|
|
120
|
-
override fun getFileSize(filePath: String, promise: Promise) {
|
|
121
|
-
Utils.getFileSize(filePath,promise,reactContext)
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
@ReactMethod
|
|
125
|
-
override fun upload(
|
|
126
|
-
fileUrl: String,
|
|
127
|
-
options: ReadableMap,
|
|
128
|
-
promise: Promise) {
|
|
129
|
-
uploader.upload(fileUrl, options, reactContext, promise)
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
@ReactMethod
|
|
133
|
-
override fun cancelUpload(uuid: String,shouldCancelAll:Boolean) {
|
|
134
|
-
uploader.cancelUpload(uuid,shouldCancelAll)
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
@ReactMethod
|
|
138
|
-
override fun download(
|
|
139
|
-
fileUrl: String,
|
|
140
|
-
options: ReadableMap,
|
|
141
|
-
promise: Promise) {
|
|
142
|
-
var uuid: String = ""
|
|
143
|
-
var progressDivider=0;
|
|
144
|
-
if(options.hasKey("uuid"))
|
|
145
|
-
{
|
|
146
|
-
uuid= options.getString("uuid") as String
|
|
147
|
-
}
|
|
148
|
-
if(options.hasKey("progressDivider"))
|
|
149
|
-
{
|
|
150
|
-
progressDivider= options.getString("progressDivider") as Int
|
|
151
|
-
}
|
|
152
|
-
val downloadedFilePath:String?=Downloader.downloadMediaWithProgress(fileUrl, uuid,progressDivider,reactContext)
|
|
153
|
-
if(downloadedFilePath!=null)
|
|
154
|
-
{
|
|
155
|
-
promise.resolve(downloadedFilePath)
|
|
156
|
-
}
|
|
157
|
-
else
|
|
158
|
-
{
|
|
159
|
-
promise.reject("Unable to download")
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
@ReactMethod
|
|
164
|
-
override fun createVideoThumbnail(fileUrl:String, options:ReadableMap, promise:Promise) {
|
|
165
|
-
videoThumbnail.create(fileUrl,options,promise)
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
@ReactMethod
|
|
169
|
-
override fun clearCache(cacheDir:String?, promise:Promise) {
|
|
170
|
-
CreateVideoThumbnailClass.clearCache(cacheDir, promise, reactContext)
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
@ReactMethod
|
|
174
|
-
override fun addListener(eventName: String) {
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
@ReactMethod
|
|
178
|
-
override fun removeListeners(count: Double) {
|
|
179
|
-
}
|
|
180
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
package com.reactnativecompressor
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.TurboReactPackage
|
|
4
|
-
import com.facebook.react.bridge.NativeModule
|
|
5
|
-
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
|
-
import com.facebook.react.module.model.ReactModuleInfo
|
|
7
|
-
import com.facebook.react.module.model.ReactModuleInfoProvider
|
|
8
|
-
|
|
9
|
-
class CompressorPackage : TurboReactPackage() {
|
|
10
|
-
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
|
|
11
|
-
return if (name == CompressorModule.NAME) {
|
|
12
|
-
CompressorModule(reactContext)
|
|
13
|
-
} else {
|
|
14
|
-
null
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
|
|
19
|
-
return ReactModuleInfoProvider {
|
|
20
|
-
val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
|
|
21
|
-
val isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
|
|
22
|
-
moduleInfos[CompressorModule.NAME] = ReactModuleInfo(
|
|
23
|
-
CompressorModule.NAME,
|
|
24
|
-
CompressorModule.NAME,
|
|
25
|
-
false, // canOverrideExistingModule
|
|
26
|
-
false, // needsEagerInit
|
|
27
|
-
true, // hasConstants
|
|
28
|
-
false, // isCxxModule
|
|
29
|
-
isTurboModule // isTurboModule
|
|
30
|
-
)
|
|
31
|
-
moduleInfos
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
package com.reactnativecompressor
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.bridge.Promise
|
|
4
|
-
import com.facebook.react.bridge.ReactApplicationContext
|
|
5
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
6
|
-
import com.facebook.react.bridge.ReadableMap
|
|
7
|
-
|
|
8
|
-
abstract class CompressorSpec(context: ReactApplicationContext?) : ReactContextBaseJavaModule(context) {
|
|
9
|
-
abstract fun image_compress(
|
|
10
|
-
imagePath: String,
|
|
11
|
-
optionMap: ReadableMap,
|
|
12
|
-
promise: Promise)
|
|
13
|
-
|
|
14
|
-
abstract fun compress_audio(
|
|
15
|
-
fileUrl: String,
|
|
16
|
-
optionMap: ReadableMap,
|
|
17
|
-
promise: Promise)
|
|
18
|
-
|
|
19
|
-
abstract fun generateFilePath(_extension: String, promise: Promise)
|
|
20
|
-
abstract fun getRealPath(path: String, type: String, promise: Promise)
|
|
21
|
-
abstract fun getVideoMetaData(filePath: String, promise: Promise)
|
|
22
|
-
abstract fun getImageMetaData(filePath: String, promise: Promise);
|
|
23
|
-
abstract fun getFileSize(filePath: String, promise: Promise)
|
|
24
|
-
abstract fun compress(fileUrl: String, optionMap: ReadableMap, promise: Promise)
|
|
25
|
-
abstract fun cancelCompression(uuid: String)
|
|
26
|
-
abstract fun upload(fileUrl: String, options: ReadableMap, promise: Promise)
|
|
27
|
-
abstract fun cancelUpload(uuid: String, shouldCancelAll:Boolean)
|
|
28
|
-
|
|
29
|
-
abstract fun download(fileUrl: String, options: ReadableMap, promise: Promise)
|
|
30
|
-
abstract fun activateBackgroundTask(options: ReadableMap, promise: Promise)
|
|
31
|
-
abstract fun deactivateBackgroundTask(options: ReadableMap, promise: Promise)
|
|
32
|
-
abstract fun createVideoThumbnail(fileUrl: String, options: ReadableMap, promise: Promise)
|
|
33
|
-
abstract fun clearCache(cacheDir: String?, promise: Promise)
|
|
34
|
-
abstract fun addListener(eventName: String)
|
|
35
|
-
abstract fun removeListeners(count: Double)
|
|
36
|
-
}
|
package/ios/Compressor.h
DELETED
package/ios/Compressor.mm
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
#import "Compressor.h"
|
|
2
|
-
|
|
3
|
-
@interface RCT_EXTERN_MODULE(Compressor, RCTEventEmitter)
|
|
4
|
-
|
|
5
|
-
RCT_EXTERN_METHOD(image_compress: (NSString*) imagePath
|
|
6
|
-
withOptions: (NSDictionary*) optionMap
|
|
7
|
-
withResolver: (RCTPromiseResolveBlock) resolve
|
|
8
|
-
withRejecter: (RCTPromiseRejectBlock) reject)
|
|
9
|
-
|
|
10
|
-
RCT_EXTERN_METHOD(getImageMetaData: (NSString*) filePath
|
|
11
|
-
withResolver: (RCTPromiseResolveBlock) resolve
|
|
12
|
-
withRejecter: (RCTPromiseRejectBlock) reject)
|
|
13
|
-
|
|
14
|
-
RCT_EXTERN_METHOD(compress_audio: (NSString*) filePath
|
|
15
|
-
withOptions: (NSDictionary*) optionsDict
|
|
16
|
-
withResolver: (RCTPromiseResolveBlock) resolve
|
|
17
|
-
withRejecter: (RCTPromiseRejectBlock) reject)
|
|
18
|
-
|
|
19
|
-
RCT_EXTERN_METHOD(generateFilePath: (NSString*) _extension
|
|
20
|
-
withResolver: (RCTPromiseResolveBlock) resolve
|
|
21
|
-
withRejecter: (RCTPromiseRejectBlock) reject)
|
|
22
|
-
|
|
23
|
-
RCT_EXTERN_METHOD(getRealPath: (NSString*) path
|
|
24
|
-
withType: (NSString*) type
|
|
25
|
-
withResolver: (RCTPromiseResolveBlock) resolve
|
|
26
|
-
withRejecter: (RCTPromiseRejectBlock) reject)
|
|
27
|
-
|
|
28
|
-
RCT_EXTERN_METHOD(getFileSize: (NSString*) filePath
|
|
29
|
-
withResolver: (RCTPromiseResolveBlock) resolve
|
|
30
|
-
withRejecter: (RCTPromiseRejectBlock) reject)
|
|
31
|
-
|
|
32
|
-
RCT_EXTERN_METHOD(getVideoMetaData: (NSString*) filePath
|
|
33
|
-
withResolver: (RCTPromiseResolveBlock) resolve
|
|
34
|
-
withRejecter: (RCTPromiseRejectBlock) reject)
|
|
35
|
-
|
|
36
|
-
RCT_EXTERN_METHOD(compress:(NSString *)fileUrl
|
|
37
|
-
withOptions:(NSDictionary *)options
|
|
38
|
-
withResolver:(RCTPromiseResolveBlock)resolve
|
|
39
|
-
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
40
|
-
|
|
41
|
-
RCT_EXTERN_METHOD(upload:(NSString *)fileUrl
|
|
42
|
-
withOptions:(NSDictionary *)options
|
|
43
|
-
withResolver:(RCTPromiseResolveBlock)resolve
|
|
44
|
-
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
45
|
-
|
|
46
|
-
RCT_EXTERN_METHOD(cancelUpload:(NSString *)uuid
|
|
47
|
-
withShouldCancelAll:(BOOL*)shouldCancelAll)
|
|
48
|
-
|
|
49
|
-
RCT_EXTERN_METHOD(download:(NSString *)fileUrlu
|
|
50
|
-
withOptions:(NSDictionary *)options
|
|
51
|
-
withResolver:(RCTPromiseResolveBlock)resolve
|
|
52
|
-
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
53
|
-
|
|
54
|
-
RCT_EXTERN_METHOD(activateBackgroundTask: (NSDictionary *)options
|
|
55
|
-
withResolver:(RCTPromiseResolveBlock)resolve
|
|
56
|
-
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
57
|
-
|
|
58
|
-
RCT_EXTERN_METHOD(deactivateBackgroundTask: (NSDictionary *)options
|
|
59
|
-
withResolver:(RCTPromiseResolveBlock)resolve
|
|
60
|
-
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
61
|
-
|
|
62
|
-
RCT_EXTERN_METHOD(createVideoThumbnail:(NSString *)fileUrl
|
|
63
|
-
withOptions:(NSDictionary *)options
|
|
64
|
-
withResolver:(RCTPromiseResolveBlock)resolve
|
|
65
|
-
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
66
|
-
|
|
67
|
-
RCT_EXTERN_METHOD(clearCache:(NSString *)cacheDir
|
|
68
|
-
withResolver:(RCTPromiseResolveBlock)resolve
|
|
69
|
-
withRejecter:(RCTPromiseRejectBlock)reject)
|
|
70
|
-
|
|
71
|
-
RCT_EXTERN_METHOD(cancelCompression:(NSString *)uuid)
|
|
72
|
-
|
|
73
|
-
// Don't compile this code when we build for the old architecture.
|
|
74
|
-
#ifdef RCT_NEW_ARCH_ENABLED
|
|
75
|
-
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
76
|
-
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
77
|
-
{
|
|
78
|
-
return std::make_shared<facebook::react::NativeCompressorSpecJSI>(params);
|
|
79
|
-
}
|
|
80
|
-
#endif
|
|
81
|
-
|
|
82
|
-
@end
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import Foundation
|
|
2
|
-
import AVFoundation
|
|
3
|
-
|
|
4
|
-
let videoCompressor = VideoCompressor()
|
|
5
|
-
let uploader=Uploader()
|
|
6
|
-
@objc(Compressor)
|
|
7
|
-
class Compressor: RCTEventEmitter {
|
|
8
|
-
override static func moduleName() -> String {
|
|
9
|
-
return "Compressor"
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
override init() {
|
|
13
|
-
super.init()
|
|
14
|
-
EventEmitterHandler.initCompressorInstance(self)
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
override func stopObserving() -> Void {
|
|
18
|
-
EventEmitterHandler.stopObserving()
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
override func startObserving() -> Void {
|
|
22
|
-
EventEmitterHandler.startObserving()
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
override static func requiresMainQueueSetup() -> Bool {
|
|
26
|
-
return false
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
override func supportedEvents() -> [String] {
|
|
30
|
-
return ["downloadProgress", "videoCompressProgress", "uploadProgress", "backgroundTaskExpired"]
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@objc(image_compress:withOptions:withResolver:withRejecter:)
|
|
34
|
-
func image_compress(_ imagePath: String, optionMap: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
35
|
-
ImageMain.image_compress(imagePath, optionMap: optionMap, resolve: resolve, reject: reject)
|
|
36
|
-
}
|
|
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
|
-
|
|
43
|
-
@objc(compress_audio:withOptions:withResolver:withRejecter:)
|
|
44
|
-
func compress_audio(_ fileUrl: String, optionMap: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
45
|
-
AudioMain.compress_audio(fileUrl, optionMap: optionMap, resolve: resolve, reject: reject)
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
@objc(generateFilePath:withResolver:withRejecter:)
|
|
49
|
-
func generateFilePath(_ _extension: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
50
|
-
Utils.generateFilePath(_extension, resolve: resolve, reject: reject)
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@objc(getRealPath:withType:withResolver:withRejecter:)
|
|
54
|
-
func getRealPath(_ path: String, type: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
55
|
-
Utils.getRealPath(path, type: type, resolve: resolve, reject: reject)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
@objc(getFileSize:withResolver:withRejecter:)
|
|
59
|
-
func getFileSize(_ filePath: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
60
|
-
Utils.getFileSize(filePath, resolve: resolve, reject: reject)
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
@objc(getVideoMetaData:withResolver:withRejecter:)
|
|
64
|
-
func getVideoMetaData(_ filePath: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
65
|
-
videoCompressor.getVideoMetaData(filePath,resolve: resolve,reject: reject)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
@objc(activateBackgroundTask:withResolver:withRejecter:)
|
|
70
|
-
func activateBackgroundTask(options: [String: Any], resolve:@escaping RCTPromiseResolveBlock, reject:@escaping RCTPromiseRejectBlock) -> Void {
|
|
71
|
-
videoCompressor.activateBackgroundTask(options: options,resolve: resolve,reject: reject)
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
@objc(deactivateBackgroundTask:withResolver:withRejecter:)
|
|
75
|
-
func deactivateBackgroundTask(options: [String: Any], resolve:@escaping RCTPromiseResolveBlock, reject:@escaping RCTPromiseRejectBlock) -> Void {
|
|
76
|
-
videoCompressor.deactivateBackgroundTask(options: options,resolve: resolve,reject: reject)
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
@objc(compress:withOptions:withResolver:withRejecter:)
|
|
80
|
-
func compress(fileUrl: String, options: [String: Any], resolve:@escaping RCTPromiseResolveBlock, reject:@escaping RCTPromiseRejectBlock) -> Void {
|
|
81
|
-
videoCompressor.compress(fileUrl: fileUrl, options: options, resolve: resolve, reject: reject)
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
@objc(cancelCompression:)
|
|
85
|
-
func cancelCompression(uuid: String) -> Void {
|
|
86
|
-
videoCompressor.cancelCompression(uuid: uuid)
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
@objc(upload:withOptions:withResolver:withRejecter:)
|
|
90
|
-
func upload(filePath: String, options: [String: Any], resolve:@escaping RCTPromiseResolveBlock, reject:@escaping RCTPromiseRejectBlock) -> Void {
|
|
91
|
-
uploader.upload(filePath: filePath, options: options, resolve: resolve, reject: reject)
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
@objc(cancelUpload:withShouldCancelAll:)
|
|
95
|
-
func cancelUpload(uuid: String,shouldCancelAll:Bool) -> Void {
|
|
96
|
-
uploader.cancelUpload(uuid: uuid,shouldCancelAll: shouldCancelAll)
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
@objc(download:withOptions:withResolver:withRejecter:)
|
|
100
|
-
func download(filePath: String, options: [String: Any], resolve:@escaping RCTPromiseResolveBlock, reject:@escaping RCTPromiseRejectBlock) -> Void {
|
|
101
|
-
Downloader.downloadFileAndSaveToCache(filePath, uuid: options["uuid"] as! String,progressDivider: options["progressDivider"] as? Int ?? 0) { downloadedPath in
|
|
102
|
-
resolve(downloadedPath)
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
@objc(createVideoThumbnail:withOptions:withResolver:withRejecter:)
|
|
107
|
-
func createVideoThumbnail(fileUrl: String, options: NSDictionary, resolve:@escaping RCTPromiseResolveBlock, reject:@escaping RCTPromiseRejectBlock) -> Void {
|
|
108
|
-
let videoThumbnail=CreateVideoThumbnail()
|
|
109
|
-
videoThumbnail.create(fileUrl,options: options, resolve: resolve, rejecter: reject)
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
@objc(clearCache:withResolver:withRejecter:)
|
|
113
|
-
func clearCache(cacheDir: String, resolve:@escaping RCTPromiseResolveBlock, reject:@escaping RCTPromiseRejectBlock) -> Void {
|
|
114
|
-
CreateVideoThumbnail.cleanCacheDir(cacheDir: cacheDir,resolve: resolve,rejecter: reject)
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _reactNative = require("react-native");
|
|
8
|
-
var _default = exports.default = _reactNative.TurboModuleRegistry.getEnforcing('Compressor');
|
|
9
|
-
//# sourceMappingURL=NativeCompressor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["Spec/NativeCompressor.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAuCpCC,gCAAmB,CAACC,YAAY,CAAO,YAAY,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
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","ignoreList":[]}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { TurboModule } from 'react-native';
|
|
2
|
-
export interface Spec extends TurboModule {
|
|
3
|
-
image_compress(imagePath: string, optionMap: Object): Promise<string>;
|
|
4
|
-
getImageMetaData(filePath: string): Promise<string>;
|
|
5
|
-
compress(fileUrl: string, optionMap: Object): Promise<string>;
|
|
6
|
-
cancelCompression(uuid: string): void;
|
|
7
|
-
getVideoMetaData(filePath: string): Promise<string>;
|
|
8
|
-
activateBackgroundTask(options: Object): Promise<string>;
|
|
9
|
-
deactivateBackgroundTask(options: Object): Promise<string>;
|
|
10
|
-
compress_audio(fileUrl: string, optionMap: Object): Promise<string>;
|
|
11
|
-
upload(fileUrl: string, options: Object): Promise<string>;
|
|
12
|
-
cancelUpload(uuid: string, shouldCancelAll: boolean): void;
|
|
13
|
-
download(fileUrl: string, options: Object): Promise<string>;
|
|
14
|
-
generateFilePath(_extension: string): Promise<string>;
|
|
15
|
-
getRealPath(path: string, type: string): Promise<string>;
|
|
16
|
-
getFileSize(filePath: string): Promise<string>;
|
|
17
|
-
addListener(eventName: string): void;
|
|
18
|
-
removeListeners(count: number): void;
|
|
19
|
-
createVideoThumbnail(fileUrl: string, options: Object): Promise<{
|
|
20
|
-
path: string;
|
|
21
|
-
size: number;
|
|
22
|
-
mime: string;
|
|
23
|
-
width: number;
|
|
24
|
-
height: number;
|
|
25
|
-
}>;
|
|
26
|
-
clearCache(cacheDir: string | null): Promise<string>;
|
|
27
|
-
}
|
|
28
|
-
declare const _default: Spec;
|
|
29
|
-
export default _default;
|
|
30
|
-
//# sourceMappingURL=NativeCompressor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import type { TurboModule } from 'react-native';
|
|
2
|
-
import { TurboModuleRegistry } from 'react-native';
|
|
3
|
-
|
|
4
|
-
export interface Spec extends TurboModule {
|
|
5
|
-
// Image
|
|
6
|
-
image_compress(imagePath: string, optionMap: Object): Promise<string>;
|
|
7
|
-
getImageMetaData(filePath: string): Promise<string>;
|
|
8
|
-
// Video
|
|
9
|
-
compress(fileUrl: string, optionMap: Object): Promise<string>;
|
|
10
|
-
cancelCompression(uuid: string): void;
|
|
11
|
-
getVideoMetaData(filePath: string): Promise<string>;
|
|
12
|
-
activateBackgroundTask(options: Object): Promise<string>;
|
|
13
|
-
deactivateBackgroundTask(options: Object): Promise<string>;
|
|
14
|
-
//Audio
|
|
15
|
-
compress_audio(fileUrl: string, optionMap: Object): Promise<string>;
|
|
16
|
-
// Upload
|
|
17
|
-
upload(fileUrl: string, options: Object): Promise<string>;
|
|
18
|
-
// Cancel upload
|
|
19
|
-
cancelUpload(uuid: string, shouldCancelAll: boolean): void;
|
|
20
|
-
// Download
|
|
21
|
-
download(fileUrl: string, options: Object): Promise<string>;
|
|
22
|
-
// Others
|
|
23
|
-
generateFilePath(_extension: string): Promise<string>;
|
|
24
|
-
getRealPath(path: string, type: string): Promise<string>;
|
|
25
|
-
getFileSize(filePath: string): Promise<string>;
|
|
26
|
-
addListener(eventName: string): void;
|
|
27
|
-
removeListeners(count: number): void;
|
|
28
|
-
createVideoThumbnail(
|
|
29
|
-
fileUrl: string,
|
|
30
|
-
options: Object,
|
|
31
|
-
): Promise<{
|
|
32
|
-
path: string;
|
|
33
|
-
size: number;
|
|
34
|
-
mime: string;
|
|
35
|
-
width: number;
|
|
36
|
-
height: number;
|
|
37
|
-
}>;
|
|
38
|
-
clearCache(cacheDir: string | null): Promise<string>;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export default TurboModuleRegistry.getEnforcing<Spec>('Compressor');
|