react-native-video-trim 6.0.10 → 6.0.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.
- package/README.md +2 -2
- package/android/src/main/java/com/videotrim/BaseVideoTrimModule.kt +8 -7
- package/ios/VideoTrim.swift +9 -103
- package/lib/module/NativeVideoTrim.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/NativeVideoTrim.d.ts +8 -1
- package/lib/typescript/src/NativeVideoTrim.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -4
- package/src/NativeVideoTrim.ts +9 -1
- package/src/index.tsx +3 -2
package/README.md
CHANGED
|
@@ -207,10 +207,10 @@ showEditor('/path/to/video.mp4', {
|
|
|
207
207
|
Programmatically trim a video without showing the UI.
|
|
208
208
|
|
|
209
209
|
```typescript
|
|
210
|
-
trim(url: string, options: TrimOptions): Promise<
|
|
210
|
+
trim(url: string, options: TrimOptions): Promise<TrimResult>
|
|
211
211
|
```
|
|
212
212
|
|
|
213
|
-
**Returns:** Promise resolving to the
|
|
213
|
+
**Returns:** Promise resolving to the TrimResult interface
|
|
214
214
|
|
|
215
215
|
**Example:**
|
|
216
216
|
```javascript
|
|
@@ -577,12 +577,14 @@ open class BaseVideoTrimModule internal constructor(
|
|
|
577
577
|
|
|
578
578
|
dateFormat.timeZone = TimeZone.getTimeZone("UTC")
|
|
579
579
|
val formattedDateTime = dateFormat.format(currentDate)
|
|
580
|
+
val startTime = options?.getDouble("startTime") ?: 0.0
|
|
581
|
+
val endTime = options?.getDouble("endTime") ?: 1000.0
|
|
580
582
|
|
|
581
583
|
var cmds = arrayOf(
|
|
582
584
|
"-ss",
|
|
583
|
-
"${
|
|
585
|
+
"${startTime}ms",
|
|
584
586
|
"-to",
|
|
585
|
-
"${
|
|
587
|
+
"${endTime}ms",
|
|
586
588
|
)
|
|
587
589
|
|
|
588
590
|
if (options?.getBoolean("enableRotation") == true) {
|
|
@@ -609,16 +611,15 @@ open class BaseVideoTrimModule internal constructor(
|
|
|
609
611
|
when {
|
|
610
612
|
ReturnCode.isSuccess(returnCode) -> {
|
|
611
613
|
// SUCCESS
|
|
612
|
-
val startTime = options?.getDouble("startTime") ?: 0.0
|
|
613
|
-
val endTime = options?.getDouble("endTime") ?: 1000.0
|
|
614
614
|
val duration = endTime - startTime
|
|
615
|
-
|
|
616
615
|
val result = Arguments.createMap()
|
|
616
|
+
|
|
617
617
|
result.putString("outputPath", outputFile)
|
|
618
618
|
result.putDouble("startTime", startTime)
|
|
619
619
|
result.putDouble("endTime", endTime)
|
|
620
620
|
result.putDouble("duration", duration)
|
|
621
|
-
|
|
621
|
+
result.putBoolean("success", true)
|
|
622
|
+
|
|
622
623
|
if (options?.getBoolean("saveToPhoto") == true && options.getString("type") == "video") {
|
|
623
624
|
Log.d(TAG, "Android trim: saveToPhoto is true, attempting to save to gallery")
|
|
624
625
|
try {
|
|
@@ -644,7 +645,7 @@ open class BaseVideoTrimModule internal constructor(
|
|
|
644
645
|
}
|
|
645
646
|
} else {
|
|
646
647
|
Log.d(TAG, "Android trim: saveToPhoto is false or not video type, resolving with structured result")
|
|
647
|
-
|
|
648
|
+
|
|
648
649
|
promise.resolve(result)
|
|
649
650
|
}
|
|
650
651
|
}
|
package/ios/VideoTrim.swift
CHANGED
|
@@ -3,7 +3,6 @@ import Photos
|
|
|
3
3
|
import ffmpegkit
|
|
4
4
|
|
|
5
5
|
let FILE_PREFIX = "trimmedVideo"
|
|
6
|
-
let BEFORE_TRIM_PREFIX = "beforeTrim"
|
|
7
6
|
|
|
8
7
|
@objc(VideoTrimSwift)
|
|
9
8
|
public class VideoTrim: RCTEventEmitter, AssetLoaderDelegate, UIDocumentPickerDelegate {
|
|
@@ -343,12 +342,12 @@ public class VideoTrim: RCTEventEmitter, AssetLoaderDelegate, UIDocumentPickerDe
|
|
|
343
342
|
|
|
344
343
|
cmds.append(contentsOf: [
|
|
345
344
|
"-i",
|
|
346
|
-
|
|
345
|
+
inputFile.path,
|
|
347
346
|
"-c",
|
|
348
347
|
"copy",
|
|
349
348
|
"-metadata",
|
|
350
349
|
"creation_time=\(dateTime)",
|
|
351
|
-
outputFile!.
|
|
350
|
+
outputFile!.path
|
|
352
351
|
])
|
|
353
352
|
|
|
354
353
|
print("Command: ", cmds.joined(separator: " "))
|
|
@@ -465,13 +464,7 @@ public class VideoTrim: RCTEventEmitter, AssetLoaderDelegate, UIDocumentPickerDe
|
|
|
465
464
|
// New Arch
|
|
466
465
|
@objc(trim:url:config:)
|
|
467
466
|
public func _trim(inputFile: String, config: NSDictionary, completion: @escaping ([String: Any]) -> Void) {
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
if inputFile.hasPrefix("http://") || inputFile.hasPrefix("https://") {
|
|
471
|
-
destPath = URL(string: inputFile)
|
|
472
|
-
} else {
|
|
473
|
-
destPath = renameFile(at: URL(string: inputFile)!, newName: BEFORE_TRIM_PREFIX)
|
|
474
|
-
}
|
|
467
|
+
let destPath = URL(string: inputFile)
|
|
475
468
|
|
|
476
469
|
guard let destPath = destPath else {
|
|
477
470
|
let result = [
|
|
@@ -511,12 +504,12 @@ public class VideoTrim: RCTEventEmitter, AssetLoaderDelegate, UIDocumentPickerDe
|
|
|
511
504
|
|
|
512
505
|
cmds.append(contentsOf: [
|
|
513
506
|
"-i",
|
|
514
|
-
|
|
507
|
+
destPath.path,
|
|
515
508
|
"-c",
|
|
516
509
|
"copy",
|
|
517
510
|
"-metadata",
|
|
518
511
|
"creation_time=\(dateTime)",
|
|
519
|
-
outputFile.
|
|
512
|
+
outputFile.path
|
|
520
513
|
])
|
|
521
514
|
|
|
522
515
|
print("Command: ", cmds.joined(separator: " "))
|
|
@@ -706,40 +699,6 @@ public class VideoTrim: RCTEventEmitter, AssetLoaderDelegate, UIDocumentPickerDe
|
|
|
706
699
|
]
|
|
707
700
|
self.emitEventToJS("onError", eventData: eventPayload)
|
|
708
701
|
}
|
|
709
|
-
|
|
710
|
-
private func renameFile(at url: URL, newName: String) -> URL? {
|
|
711
|
-
let fileManager = FileManager.default
|
|
712
|
-
|
|
713
|
-
// Get the directory of the existing file
|
|
714
|
-
let directory = url.deletingLastPathComponent()
|
|
715
|
-
|
|
716
|
-
// Get the file extension
|
|
717
|
-
let fileExtension = url.pathExtension
|
|
718
|
-
|
|
719
|
-
// Create the new file URL with the new name and the same extension
|
|
720
|
-
let newFileURL = directory.appendingPathComponent(newName).appendingPathExtension(fileExtension)
|
|
721
|
-
|
|
722
|
-
// Check if a file with the new name already exists
|
|
723
|
-
if fileManager.fileExists(atPath: newFileURL.path) {
|
|
724
|
-
do {
|
|
725
|
-
// If the file exists, remove it first to avoid conflicts
|
|
726
|
-
try fileManager.removeItem(at: newFileURL)
|
|
727
|
-
} catch {
|
|
728
|
-
print("Error removing existing file: \(error)")
|
|
729
|
-
return nil
|
|
730
|
-
}
|
|
731
|
-
}
|
|
732
|
-
|
|
733
|
-
do {
|
|
734
|
-
// Rename (move) the file
|
|
735
|
-
try fileManager.moveItem(at: url, to: newFileURL)
|
|
736
|
-
print("File renamed successfully to \(newFileURL.absoluteString)")
|
|
737
|
-
return newFileURL
|
|
738
|
-
} catch {
|
|
739
|
-
print("Error renaming file: \(error)")
|
|
740
|
-
return nil
|
|
741
|
-
}
|
|
742
|
-
}
|
|
743
702
|
}
|
|
744
703
|
|
|
745
704
|
// MARK: @objc instance methods
|
|
@@ -751,63 +710,10 @@ extension VideoTrim {
|
|
|
751
710
|
return
|
|
752
711
|
}
|
|
753
712
|
editorConfig = config
|
|
713
|
+
print("Show editor called with URI: \(uri)")
|
|
754
714
|
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
//
|
|
758
|
-
// removeAfterSavedToPhoto = config["removeAfterSavedToPhoto"] as? Bool ?? false
|
|
759
|
-
// removeAfterFailedToSavePhoto = config["removeAfterFailedToSavePhoto"] as? Bool ?? false
|
|
760
|
-
// removeAfterSavedToDocuments = config["removeAfterSavedToDocuments"] as? Bool ?? false
|
|
761
|
-
// removeAfterFailedToSaveDocuments = config["removeAfterFailedToSaveDocuments"] as? Bool ?? false
|
|
762
|
-
// removeAfterShared = config["removeAfterShared"] as? Bool ?? false
|
|
763
|
-
// removeAfterFailedToShare = config["removeAfterFailedToShare"] as? Bool ?? false
|
|
764
|
-
//
|
|
765
|
-
// enableCancelDialog = config["enableCancelDialog"] as? Bool ?? true
|
|
766
|
-
// cancelDialogTitle = config["cancelDialogTitle"] as? String ?? "Warning!"
|
|
767
|
-
// cancelDialogMessage = config["cancelDialogMessage"] as? String ?? "Are you sure want to cancel?"
|
|
768
|
-
// cancelDialogCancelText = config["cancelDialogCancelText"] as? String ?? "Close"
|
|
769
|
-
// cancelDialogConfirmText = config["cancelDialogConfirmText"] as? String ?? "Proceed"
|
|
770
|
-
//
|
|
771
|
-
// enableSaveDialog = config["enableSaveDialog"] as? Bool ?? true
|
|
772
|
-
// saveDialogTitle = config["saveDialogTitle"] as? String ?? "Confirmation!"
|
|
773
|
-
// saveDialogMessage = config["saveDialogMessage"] as? String ?? "Are you sure want to save?"
|
|
774
|
-
// saveDialogCancelText = config["saveDialogCancelText"] as? String ?? "Close"
|
|
775
|
-
// saveDialogConfirmText = config["saveDialogConfirmText"] as? String ?? "Proceed"
|
|
776
|
-
// trimmingText = config["trimmingText"] as? String ?? "Trimming video..."
|
|
777
|
-
// fullScreenModalIOS = config["fullScreenModalIOS"] as? Bool ?? false
|
|
778
|
-
// isVideoType = (config["type"] as? String ?? "video") == "video"
|
|
779
|
-
// outputExt = config["outputExt"] as? String ?? "mp4"
|
|
780
|
-
// openDocumentsOnFinish = config["openDocumentsOnFinish"] as? Bool ?? false
|
|
781
|
-
// openShareSheetOnFinish = config["openShareSheetOnFinish"] as? Bool ?? false
|
|
782
|
-
//
|
|
783
|
-
// closeWhenFinish = config["closeWhenFinish"] as? Bool ?? true
|
|
784
|
-
// enableCancelTrimming = config["enableCancelTrimming"] as? Bool ?? true
|
|
785
|
-
// cancelTrimmingButtonText = config["cancelTrimmingButtonText"] as? String ?? "Cancel"
|
|
786
|
-
// enableCancelTrimmingDialog = config["enableCancelTrimmingDialog"] as? Bool ?? true
|
|
787
|
-
// cancelTrimmingDialogTitle = config["cancelTrimmingDialogTitle"] as? String ?? "Warning!"
|
|
788
|
-
// cancelTrimmingDialogMessage = config["cancelTrimmingDialogMessage"] as? String ?? "Are you sure want to cancel trimming?"
|
|
789
|
-
// cancelTrimmingDialogCancelText = config["cancelTrimmingDialogCancelText"] as? String ?? "Close"
|
|
790
|
-
// cancelTrimmingDialogConfirmText = config["cancelTrimmingDialogConfirmText"] as? String ?? "Proceed"
|
|
791
|
-
// alertOnFailToLoad = config["alertOnFailToLoad"] as? Bool ?? true
|
|
792
|
-
// alertOnFailTitle = config["alertOnFailTitle"] as? String ?? "Error"
|
|
793
|
-
// alertOnFailMessage = config["alertOnFailMessage"] as? String ?? "Fail to load media. Possibly invalid file or no network connection"
|
|
794
|
-
// alertOnFailCloseText = config["alertOnFailCloseText"] as? String ?? "Close"
|
|
795
|
-
//
|
|
796
|
-
// if let cancelBtnText = config["cancelButtonText"] as? String, !cancelBtnText.isEmpty {
|
|
797
|
-
// self.cancelButtonText = cancelBtnText
|
|
798
|
-
// }
|
|
799
|
-
//
|
|
800
|
-
// if let saveButtonText = config["saveButtonText"] as? String, !saveButtonText.isEmpty {
|
|
801
|
-
// self.saveButtonText = saveButtonText
|
|
802
|
-
// }
|
|
803
|
-
|
|
804
|
-
var destPath: URL?
|
|
805
|
-
|
|
806
|
-
if uri.hasPrefix("http://") || uri.hasPrefix("https://") {
|
|
807
|
-
destPath = URL(string: uri)
|
|
808
|
-
} else {
|
|
809
|
-
destPath = renameFile(at: URL(string: uri)!, newName: BEFORE_TRIM_PREFIX)
|
|
810
|
-
}
|
|
715
|
+
let destPath = URL(string: uri)
|
|
716
|
+
print("Destination Path: \(destPath!.absoluteString), path: \(destPath!.path)")
|
|
811
717
|
|
|
812
718
|
guard let destPath = destPath else { return }
|
|
813
719
|
|
|
@@ -978,7 +884,7 @@ extension VideoTrim {
|
|
|
978
884
|
let directoryContents = try FileManager.default.contentsOfDirectory(at: documentsDirectory, includingPropertiesForKeys: nil)
|
|
979
885
|
|
|
980
886
|
for fileURL in directoryContents {
|
|
981
|
-
if fileURL.lastPathComponent.starts(with: FILE_PREFIX)
|
|
887
|
+
if fileURL.lastPathComponent.starts(with: FILE_PREFIX) {
|
|
982
888
|
files.append(fileURL)
|
|
983
889
|
}
|
|
984
890
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeVideoTrim.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeVideoTrim.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AA0IlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,WAAW,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -155,7 +155,7 @@ export function isValidFile(url) {
|
|
|
155
155
|
*
|
|
156
156
|
* @param {string} url: absolute non-empty file path to edit
|
|
157
157
|
* @param {TrimOptions} options: trim options
|
|
158
|
-
* @returns {Promise<
|
|
158
|
+
* @returns {Promise<TrimResult>} A **Promise** which resolves to the TrimResult interface
|
|
159
159
|
*/
|
|
160
160
|
export function trim(url, options) {
|
|
161
161
|
return VideoTrim.trim(url, createTrimOptions(options));
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VideoTrimNewArch","VideoTrimOldArch","processColor","isFabric","global","nativeFabricUIManager","VideoTrim","createBaseOptions","overrides","saveToPhoto","type","outputExt","removeAfterSavedToPhoto","removeAfterFailedToSavePhoto","enableRotation","rotationAngle","createEditorConfig","enableHapticFeedback","maxDuration","minDuration","openDocumentsOnFinish","openShareSheetOnFinish","removeAfterSavedToDocuments","removeAfterFailedToSaveDocuments","removeAfterShared","removeAfterFailedToShare","cancelButtonText","saveButtonText","enableCancelDialog","cancelDialogTitle","cancelDialogMessage","cancelDialogCancelText","cancelDialogConfirmText","enableSaveDialog","saveDialogTitle","saveDialogMessage","saveDialogCancelText","saveDialogConfirmText","trimmingText","fullScreenModalIOS","autoplay","jumpToPositionOnLoad","closeWhenFinish","enableCancelTrimming","cancelTrimmingButtonText","enableCancelTrimmingDialog","cancelTrimmingDialogTitle","cancelTrimmingDialogMessage","cancelTrimmingDialogCancelText","cancelTrimmingDialogConfirmText","headerText","headerTextSize","headerTextColor","trimmerColor","handleIconColor","zoomOnWaitingDuration","alertOnFailToLoad","alertOnFailTitle","alertOnFailMessage","alertOnFailCloseText","createTrimOptions","startTime","endTime","showEditor","filePath","config","_headerTextColor","_trimmerColor","_handleIconColor","listFiles","cleanFiles","deleteFile","trim","length","Error","closeEditor","isValidFile","url","options"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,gBAAgB,MAAM,sBAAmB;AAChD,OAAOC,gBAAgB,MAAM,cAAW;
|
|
1
|
+
{"version":3,"names":["VideoTrimNewArch","VideoTrimOldArch","processColor","isFabric","global","nativeFabricUIManager","VideoTrim","createBaseOptions","overrides","saveToPhoto","type","outputExt","removeAfterSavedToPhoto","removeAfterFailedToSavePhoto","enableRotation","rotationAngle","createEditorConfig","enableHapticFeedback","maxDuration","minDuration","openDocumentsOnFinish","openShareSheetOnFinish","removeAfterSavedToDocuments","removeAfterFailedToSaveDocuments","removeAfterShared","removeAfterFailedToShare","cancelButtonText","saveButtonText","enableCancelDialog","cancelDialogTitle","cancelDialogMessage","cancelDialogCancelText","cancelDialogConfirmText","enableSaveDialog","saveDialogTitle","saveDialogMessage","saveDialogCancelText","saveDialogConfirmText","trimmingText","fullScreenModalIOS","autoplay","jumpToPositionOnLoad","closeWhenFinish","enableCancelTrimming","cancelTrimmingButtonText","enableCancelTrimmingDialog","cancelTrimmingDialogTitle","cancelTrimmingDialogMessage","cancelTrimmingDialogCancelText","cancelTrimmingDialogConfirmText","headerText","headerTextSize","headerTextColor","trimmerColor","handleIconColor","zoomOnWaitingDuration","alertOnFailToLoad","alertOnFailTitle","alertOnFailMessage","alertOnFailCloseText","createTrimOptions","startTime","endTime","showEditor","filePath","config","_headerTextColor","_trimmerColor","_handleIconColor","listFiles","cleanFiles","deleteFile","trim","length","Error","closeEditor","isValidFile","url","options"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -79,6 +79,13 @@ export interface FileValidationResult {
|
|
|
79
79
|
fileType: string;
|
|
80
80
|
duration: number;
|
|
81
81
|
}
|
|
82
|
+
export interface TrimResult {
|
|
83
|
+
startTime: number;
|
|
84
|
+
endTime: number;
|
|
85
|
+
duration: number;
|
|
86
|
+
outputPath: string;
|
|
87
|
+
success: boolean;
|
|
88
|
+
}
|
|
82
89
|
export interface Spec extends TurboModule {
|
|
83
90
|
showEditor(filePath: string, config: EditorConfig): void;
|
|
84
91
|
listFiles(): Promise<string[]>;
|
|
@@ -86,7 +93,7 @@ export interface Spec extends TurboModule {
|
|
|
86
93
|
deleteFile(filePath: string): Promise<boolean>;
|
|
87
94
|
closeEditor(): void;
|
|
88
95
|
isValidFile(url: string): Promise<FileValidationResult>;
|
|
89
|
-
trim(url: string, options: TrimOptions): Promise<
|
|
96
|
+
trim(url: string, options: TrimOptions): Promise<TrimResult>;
|
|
90
97
|
readonly onStartTrimming: EventEmitter<void>;
|
|
91
98
|
readonly onCancelTrimming: EventEmitter<void>;
|
|
92
99
|
readonly onCancel: EventEmitter<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeVideoTrim.d.ts","sourceRoot":"","sources":["../../../src/NativeVideoTrim.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"NativeVideoTrim.d.ts","sourceRoot":"","sources":["../../../src/NativeVideoTrim.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EditorConfig, FileValidationResult, TrimOptions } from './NativeVideoTrim';
|
|
1
|
+
import type { EditorConfig, FileValidationResult, TrimOptions, TrimResult } from './NativeVideoTrim';
|
|
2
2
|
declare const VideoTrim: any;
|
|
3
3
|
/**
|
|
4
4
|
* Show video editor
|
|
@@ -48,9 +48,9 @@ export declare function isValidFile(url: string): Promise<FileValidationResult>;
|
|
|
48
48
|
*
|
|
49
49
|
* @param {string} url: absolute non-empty file path to edit
|
|
50
50
|
* @param {TrimOptions} options: trim options
|
|
51
|
-
* @returns {Promise<
|
|
51
|
+
* @returns {Promise<TrimResult>} A **Promise** which resolves to the TrimResult interface
|
|
52
52
|
*/
|
|
53
|
-
export declare function trim(url: string, options: Partial<TrimOptions>): Promise<
|
|
53
|
+
export declare function trim(url: string, options: Partial<TrimOptions>): Promise<TrimResult>;
|
|
54
54
|
export * from './NativeVideoTrim';
|
|
55
55
|
export default VideoTrim;
|
|
56
56
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,YAAY,EACZ,oBAAoB,EACpB,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,UAAU,EACX,MAAM,mBAAmB,CAAC;AAK3B,QAAA,MAAM,SAAS,KAAiD,CAAC;AA6EjE;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,CACb,IAAI,CAAC,YAAY,EAAE,iBAAiB,GAAG,cAAc,GAAG,iBAAiB,CAAC,CAC3E,GAAG;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,IAAI,CAeN;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK7D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAEtE;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC,CAErB;AAED,cAAc,mBAAmB,CAAC;AAClC,eAAe,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-video-trim",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.12",
|
|
4
4
|
"description": "Video trimmer for your React Native app",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -88,9 +88,6 @@
|
|
|
88
88
|
"react": "*",
|
|
89
89
|
"react-native": "*"
|
|
90
90
|
},
|
|
91
|
-
"workspaces": [
|
|
92
|
-
"example"
|
|
93
|
-
],
|
|
94
91
|
"packageManager": "yarn@1.2.2",
|
|
95
92
|
"jest": {
|
|
96
93
|
"preset": "react-native",
|
package/src/NativeVideoTrim.ts
CHANGED
|
@@ -85,6 +85,14 @@ export interface FileValidationResult {
|
|
|
85
85
|
duration: number;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
+
export interface TrimResult {
|
|
89
|
+
startTime: number;
|
|
90
|
+
endTime: number;
|
|
91
|
+
duration: number;
|
|
92
|
+
outputPath: string;
|
|
93
|
+
success: boolean;
|
|
94
|
+
}
|
|
95
|
+
|
|
88
96
|
export interface Spec extends TurboModule {
|
|
89
97
|
showEditor(filePath: string, config: EditorConfig): void;
|
|
90
98
|
listFiles(): Promise<string[]>;
|
|
@@ -92,7 +100,7 @@ export interface Spec extends TurboModule {
|
|
|
92
100
|
deleteFile(filePath: string): Promise<boolean>;
|
|
93
101
|
closeEditor(): void;
|
|
94
102
|
isValidFile(url: string): Promise<FileValidationResult>;
|
|
95
|
-
trim(url: string, options: TrimOptions): Promise<
|
|
103
|
+
trim(url: string, options: TrimOptions): Promise<TrimResult>;
|
|
96
104
|
|
|
97
105
|
readonly onStartTrimming: EventEmitter<void>;
|
|
98
106
|
readonly onCancelTrimming: EventEmitter<void>;
|
package/src/index.tsx
CHANGED
|
@@ -5,6 +5,7 @@ import type {
|
|
|
5
5
|
EditorConfig,
|
|
6
6
|
FileValidationResult,
|
|
7
7
|
TrimOptions,
|
|
8
|
+
TrimResult,
|
|
8
9
|
} from './NativeVideoTrim';
|
|
9
10
|
import { processColor } from 'react-native';
|
|
10
11
|
|
|
@@ -174,12 +175,12 @@ export function isValidFile(url: string): Promise<FileValidationResult> {
|
|
|
174
175
|
*
|
|
175
176
|
* @param {string} url: absolute non-empty file path to edit
|
|
176
177
|
* @param {TrimOptions} options: trim options
|
|
177
|
-
* @returns {Promise<
|
|
178
|
+
* @returns {Promise<TrimResult>} A **Promise** which resolves to the TrimResult interface
|
|
178
179
|
*/
|
|
179
180
|
export function trim(
|
|
180
181
|
url: string,
|
|
181
182
|
options: Partial<TrimOptions>
|
|
182
|
-
): Promise<
|
|
183
|
+
): Promise<TrimResult> {
|
|
183
184
|
return VideoTrim.trim(url, createTrimOptions(options));
|
|
184
185
|
}
|
|
185
186
|
|