react-native-video-trim 4.0.0 → 5.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.
Files changed (95) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +124 -83
  3. package/VideoTrim.podspec +4 -4
  4. package/android/build.gradle +15 -54
  5. package/android/gradle.properties +2 -0
  6. package/android/src/main/AndroidManifest.xml +1 -1
  7. package/android/src/main/java/com/videotrim/VideoTrimModule.kt +660 -0
  8. package/android/src/main/java/com/videotrim/VideoTrimPackage.kt +33 -0
  9. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/enums/ErrorCode.java +1 -1
  10. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/interfaces/IVideoTrimmerView.java +1 -1
  11. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/interfaces/VideoTrimListener.java +5 -4
  12. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/utils/MediaMetadataUtil.java +1 -1
  13. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/utils/StorageUtil.java +1 -1
  14. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/utils/VideoTrimmerUtil.java +49 -39
  15. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/widgets/VideoTrimmerView.java +49 -46
  16. package/ios/AssetLoader.h +19 -0
  17. package/ios/AssetLoader.mm +87 -0
  18. package/ios/ErrorCode.h +9 -0
  19. package/ios/ProgressAlertController.h +15 -0
  20. package/ios/ProgressAlertController.mm +78 -0
  21. package/ios/VideoTrim.h +31 -0
  22. package/ios/VideoTrim.mm +663 -0
  23. package/ios/VideoTrimmer.h +67 -0
  24. package/ios/VideoTrimmer.mm +863 -0
  25. package/ios/VideoTrimmerThumb.h +23 -0
  26. package/ios/VideoTrimmerThumb.mm +175 -0
  27. package/ios/VideoTrimmerViewController.h +52 -0
  28. package/ios/VideoTrimmerViewController.mm +533 -0
  29. package/lib/module/NativeVideoTrim.js +5 -0
  30. package/lib/module/NativeVideoTrim.js.map +1 -0
  31. package/lib/module/index.js +59 -34
  32. package/lib/module/index.js.map +1 -1
  33. package/lib/typescript/src/NativeVideoTrim.d.ts +107 -0
  34. package/lib/typescript/src/NativeVideoTrim.d.ts.map +1 -0
  35. package/lib/typescript/src/index.d.ts +21 -10
  36. package/lib/typescript/src/index.d.ts.map +1 -1
  37. package/package.json +15 -18
  38. package/src/NativeVideoTrim.ts +113 -0
  39. package/src/index.tsx +68 -39
  40. package/android/CMakeLists.txt +0 -24
  41. package/android/src/main/cpp/cpp-adapter.cpp +0 -6
  42. package/android/src/main/java/com/margelo/nitro/videotrim/VideoTrim.kt +0 -629
  43. package/android/src/main/java/com/margelo/nitro/videotrim/VideoTrimPackage.kt +0 -22
  44. package/ios/AssetLoader.swift +0 -99
  45. package/ios/ErrorCode.swift +0 -17
  46. package/ios/ProgressAlertController.swift +0 -100
  47. package/ios/VideoTrim.swift +0 -60
  48. package/ios/VideoTrimImpl.swift +0 -860
  49. package/ios/VideoTrimmer.swift +0 -872
  50. package/ios/VideoTrimmerThumb.swift +0 -175
  51. package/ios/VideoTrimmerViewController.swift +0 -557
  52. package/lib/module/VideoTrim.nitro.js +0 -4
  53. package/lib/module/VideoTrim.nitro.js.map +0 -1
  54. package/lib/typescript/src/VideoTrim.nitro.d.ts +0 -240
  55. package/lib/typescript/src/VideoTrim.nitro.d.ts.map +0 -1
  56. package/nitrogen/generated/android/c++/JEditorConfig.hpp +0 -229
  57. package/nitrogen/generated/android/c++/JFileValidationResult.hpp +0 -61
  58. package/nitrogen/generated/android/c++/JFunc_void.hpp +0 -74
  59. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__unordered_map_std__string__std__string_.hpp +0 -89
  60. package/nitrogen/generated/android/c++/JHybridVideoTrimSpec.cpp +0 -131
  61. package/nitrogen/generated/android/c++/JHybridVideoTrimSpec.hpp +0 -67
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/EditorConfig.kt +0 -70
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/FileValidationResult.kt +0 -28
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/Func_void.kt +0 -80
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/Func_void_std__string_std__unordered_map_std__string__std__string_.kt +0 -80
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/HybridVideoTrimSpec.kt +0 -82
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/videotrimOnLoad.kt +0 -35
  68. package/nitrogen/generated/android/videotrim+autolinking.cmake +0 -78
  69. package/nitrogen/generated/android/videotrim+autolinking.gradle +0 -27
  70. package/nitrogen/generated/android/videotrimOnLoad.cpp +0 -50
  71. package/nitrogen/generated/android/videotrimOnLoad.hpp +0 -25
  72. package/nitrogen/generated/ios/VideoTrim+autolinking.rb +0 -60
  73. package/nitrogen/generated/ios/VideoTrim-Swift-Cxx-Bridge.cpp +0 -88
  74. package/nitrogen/generated/ios/VideoTrim-Swift-Cxx-Bridge.hpp +0 -331
  75. package/nitrogen/generated/ios/VideoTrim-Swift-Cxx-Umbrella.hpp +0 -53
  76. package/nitrogen/generated/ios/VideoTrimAutolinking.mm +0 -33
  77. package/nitrogen/generated/ios/VideoTrimAutolinking.swift +0 -25
  78. package/nitrogen/generated/ios/c++/HybridVideoTrimSpecSwift.cpp +0 -11
  79. package/nitrogen/generated/ios/c++/HybridVideoTrimSpecSwift.hpp +0 -116
  80. package/nitrogen/generated/ios/swift/EditorConfig.swift +0 -519
  81. package/nitrogen/generated/ios/swift/FileValidationResult.swift +0 -57
  82. package/nitrogen/generated/ios/swift/Func_void.swift +0 -46
  83. package/nitrogen/generated/ios/swift/Func_void_FileValidationResult.swift +0 -46
  84. package/nitrogen/generated/ios/swift/Func_void_bool.swift +0 -46
  85. package/nitrogen/generated/ios/swift/Func_void_double.swift +0 -46
  86. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +0 -46
  87. package/nitrogen/generated/ios/swift/Func_void_std__string_std__unordered_map_std__string__std__string_.swift +0 -54
  88. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +0 -46
  89. package/nitrogen/generated/ios/swift/HybridVideoTrimSpec.swift +0 -53
  90. package/nitrogen/generated/ios/swift/HybridVideoTrimSpec_cxx.swift +0 -222
  91. package/nitrogen/generated/shared/c++/EditorConfig.hpp +0 -245
  92. package/nitrogen/generated/shared/c++/FileValidationResult.hpp +0 -77
  93. package/nitrogen/generated/shared/c++/HybridVideoTrimSpec.cpp +0 -26
  94. package/nitrogen/generated/shared/c++/HybridVideoTrimSpec.hpp +0 -76
  95. package/src/VideoTrim.nitro.ts +0 -244
@@ -1,53 +0,0 @@
1
- ///
2
- /// VideoTrim-Swift-Cxx-Umbrella.hpp
3
- /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
- /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
6
- ///
7
-
8
- #pragma once
9
-
10
- // Forward declarations of C++ defined types
11
- // Forward declaration of `EditorConfig` to properly resolve imports.
12
- namespace margelo::nitro::videotrim { struct EditorConfig; }
13
- // Forward declaration of `FileValidationResult` to properly resolve imports.
14
- namespace margelo::nitro::videotrim { struct FileValidationResult; }
15
- // Forward declaration of `HybridVideoTrimSpec` to properly resolve imports.
16
- namespace margelo::nitro::videotrim { class HybridVideoTrimSpec; }
17
-
18
- // Include C++ defined types
19
- #include "EditorConfig.hpp"
20
- #include "FileValidationResult.hpp"
21
- #include "HybridVideoTrimSpec.hpp"
22
- #include <NitroModules/Promise.hpp>
23
- #include <NitroModules/Result.hpp>
24
- #include <exception>
25
- #include <functional>
26
- #include <memory>
27
- #include <string>
28
- #include <unordered_map>
29
- #include <vector>
30
-
31
- // C++ helpers for Swift
32
- #include "VideoTrim-Swift-Cxx-Bridge.hpp"
33
-
34
- // Common C++ types used in Swift
35
- #include <NitroModules/ArrayBufferHolder.hpp>
36
- #include <NitroModules/AnyMapHolder.hpp>
37
- #include <NitroModules/RuntimeError.hpp>
38
-
39
- // Forward declarations of Swift defined types
40
- // Forward declaration of `HybridVideoTrimSpec_cxx` to properly resolve imports.
41
- namespace VideoTrim { class HybridVideoTrimSpec_cxx; }
42
-
43
- // Include Swift defined types
44
- #if __has_include("VideoTrim-Swift.h")
45
- // This header is generated by Xcode/Swift on every app build.
46
- // If it cannot be found, make sure the Swift module's name (= podspec name) is actually "VideoTrim".
47
- #include "VideoTrim-Swift.h"
48
- // Same as above, but used when building with frameworks (`use_frameworks`)
49
- #elif __has_include(<VideoTrim/VideoTrim-Swift.h>)
50
- #include <VideoTrim/VideoTrim-Swift.h>
51
- #else
52
- #error VideoTrim's autogenerated Swift header cannot be found! Make sure the Swift module's name (= podspec name) is actually "VideoTrim", and try building the app first.
53
- #endif
@@ -1,33 +0,0 @@
1
- ///
2
- /// VideoTrimAutolinking.mm
3
- /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
- /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
6
- ///
7
-
8
- #import <Foundation/Foundation.h>
9
- #import <NitroModules/HybridObjectRegistry.hpp>
10
- #import "VideoTrim-Swift-Cxx-Umbrella.hpp"
11
- #import <type_traits>
12
-
13
- #include "HybridVideoTrimSpecSwift.hpp"
14
-
15
- @interface VideoTrimAutolinking : NSObject
16
- @end
17
-
18
- @implementation VideoTrimAutolinking
19
-
20
- + (void) load {
21
- using namespace margelo::nitro;
22
- using namespace margelo::nitro::videotrim;
23
-
24
- HybridObjectRegistry::registerHybridObjectConstructor(
25
- "VideoTrim",
26
- []() -> std::shared_ptr<HybridObject> {
27
- std::shared_ptr<margelo::nitro::videotrim::HybridVideoTrimSpec> hybridObject = VideoTrim::VideoTrimAutolinking::createVideoTrim();
28
- return hybridObject;
29
- }
30
- );
31
- }
32
-
33
- @end
@@ -1,25 +0,0 @@
1
- ///
2
- /// VideoTrimAutolinking.swift
3
- /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
- /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
6
- ///
7
-
8
- public final class VideoTrimAutolinking {
9
- public typealias bridge = margelo.nitro.videotrim.bridge.swift
10
-
11
- /**
12
- * Creates an instance of a Swift class that implements `HybridVideoTrimSpec`,
13
- * and wraps it in a Swift class that can directly interop with C++ (`HybridVideoTrimSpec_cxx`)
14
- *
15
- * This is generated by Nitrogen and will initialize the class specified
16
- * in the `"autolinking"` property of `nitro.json` (in this case, `VideoTrim`).
17
- */
18
- public static func createVideoTrim() -> bridge.std__shared_ptr_margelo__nitro__videotrim__HybridVideoTrimSpec_ {
19
- let hybridObject = VideoTrim()
20
- return { () -> bridge.std__shared_ptr_margelo__nitro__videotrim__HybridVideoTrimSpec_ in
21
- let __cxxWrapped = hybridObject.getCxxWrapper()
22
- return __cxxWrapped.getCxxPart()
23
- }()
24
- }
25
- }
@@ -1,11 +0,0 @@
1
- ///
2
- /// HybridVideoTrimSpecSwift.cpp
3
- /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
- /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
6
- ///
7
-
8
- #include "HybridVideoTrimSpecSwift.hpp"
9
-
10
- namespace margelo::nitro::videotrim {
11
- } // namespace margelo::nitro::videotrim
@@ -1,116 +0,0 @@
1
- ///
2
- /// HybridVideoTrimSpecSwift.hpp
3
- /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
- /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
6
- ///
7
-
8
- #pragma once
9
-
10
- #include "HybridVideoTrimSpec.hpp"
11
-
12
- // Forward declaration of `HybridVideoTrimSpec_cxx` to properly resolve imports.
13
- namespace VideoTrim { class HybridVideoTrimSpec_cxx; }
14
-
15
- // Forward declaration of `EditorConfig` to properly resolve imports.
16
- namespace margelo::nitro::videotrim { struct EditorConfig; }
17
- // Forward declaration of `FileValidationResult` to properly resolve imports.
18
- namespace margelo::nitro::videotrim { struct FileValidationResult; }
19
-
20
- #include <string>
21
- #include "EditorConfig.hpp"
22
- #include <functional>
23
- #include <unordered_map>
24
- #include <NitroModules/Promise.hpp>
25
- #include <vector>
26
- #include "FileValidationResult.hpp"
27
-
28
- #include "VideoTrim-Swift-Cxx-Umbrella.hpp"
29
-
30
- namespace margelo::nitro::videotrim {
31
-
32
- /**
33
- * The C++ part of HybridVideoTrimSpec_cxx.swift.
34
- *
35
- * HybridVideoTrimSpecSwift (C++) accesses HybridVideoTrimSpec_cxx (Swift), and might
36
- * contain some additional bridging code for C++ <> Swift interop.
37
- *
38
- * Since this obviously introduces an overhead, I hope at some point in
39
- * the future, HybridVideoTrimSpec_cxx can directly inherit from the C++ class HybridVideoTrimSpec
40
- * to simplify the whole structure and memory management.
41
- */
42
- class HybridVideoTrimSpecSwift: public virtual HybridVideoTrimSpec {
43
- public:
44
- // Constructor from a Swift instance
45
- explicit HybridVideoTrimSpecSwift(const VideoTrim::HybridVideoTrimSpec_cxx& swiftPart):
46
- HybridObject(HybridVideoTrimSpec::TAG),
47
- _swiftPart(swiftPart) { }
48
-
49
- public:
50
- // Get the Swift part
51
- inline VideoTrim::HybridVideoTrimSpec_cxx& getSwiftPart() noexcept {
52
- return _swiftPart;
53
- }
54
-
55
- public:
56
- // Get memory pressure
57
- inline size_t getExternalMemorySize() noexcept override {
58
- return _swiftPart.getMemorySize();
59
- }
60
-
61
- public:
62
- // Properties
63
-
64
-
65
- public:
66
- // Methods
67
- inline void showEditor(const std::string& filePath, const EditorConfig& config, const std::function<void(const std::string& /* eventName */, const std::unordered_map<std::string, std::string>& /* payload */)>& onEvent) override {
68
- auto __result = _swiftPart.showEditor(filePath, config, onEvent);
69
- if (__result.hasError()) [[unlikely]] {
70
- std::rethrow_exception(__result.error());
71
- }
72
- }
73
- inline std::shared_ptr<Promise<std::vector<std::string>>> listFiles() override {
74
- auto __result = _swiftPart.listFiles();
75
- if (__result.hasError()) [[unlikely]] {
76
- std::rethrow_exception(__result.error());
77
- }
78
- auto __value = std::move(__result.value());
79
- return __value;
80
- }
81
- inline std::shared_ptr<Promise<double>> cleanFiles() override {
82
- auto __result = _swiftPart.cleanFiles();
83
- if (__result.hasError()) [[unlikely]] {
84
- std::rethrow_exception(__result.error());
85
- }
86
- auto __value = std::move(__result.value());
87
- return __value;
88
- }
89
- inline std::shared_ptr<Promise<bool>> deleteFile(const std::string& filePath) override {
90
- auto __result = _swiftPart.deleteFile(filePath);
91
- if (__result.hasError()) [[unlikely]] {
92
- std::rethrow_exception(__result.error());
93
- }
94
- auto __value = std::move(__result.value());
95
- return __value;
96
- }
97
- inline void closeEditor(const std::function<void()>& onComplete) override {
98
- auto __result = _swiftPart.closeEditor(onComplete);
99
- if (__result.hasError()) [[unlikely]] {
100
- std::rethrow_exception(__result.error());
101
- }
102
- }
103
- inline std::shared_ptr<Promise<FileValidationResult>> isValidFile(const std::string& url) override {
104
- auto __result = _swiftPart.isValidFile(url);
105
- if (__result.hasError()) [[unlikely]] {
106
- std::rethrow_exception(__result.error());
107
- }
108
- auto __value = std::move(__result.value());
109
- return __value;
110
- }
111
-
112
- private:
113
- VideoTrim::HybridVideoTrimSpec_cxx _swiftPart;
114
- };
115
-
116
- } // namespace margelo::nitro::videotrim