react-native-nitro-sqlite 9.4.0 → 9.6.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/nitrogen/generated/android/RNNitroSQLiteOnLoad.cpp +35 -25
- package/nitrogen/generated/android/RNNitroSQLiteOnLoad.hpp +13 -4
- package/nitrogen/generated/android/c++/JHybridNitroSQLiteOnLoadSpec.cpp +19 -25
- package/nitrogen/generated/android/c++/JHybridNitroSQLiteOnLoadSpec.hpp +19 -22
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/rnnitrosqlite/HybridNitroSQLiteOnLoadSpec.kt +14 -17
- package/package.json +10 -7
|
@@ -22,33 +22,43 @@
|
|
|
22
22
|
namespace margelo::nitro::rnnitrosqlite {
|
|
23
23
|
|
|
24
24
|
int initialize(JavaVM* vm) {
|
|
25
|
+
return facebook::jni::initialize(vm, []() {
|
|
26
|
+
::margelo::nitro::rnnitrosqlite::registerAllNatives();
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
struct JHybridNitroSQLiteOnLoadSpecImpl: public jni::JavaClass<JHybridNitroSQLiteOnLoadSpecImpl, JHybridNitroSQLiteOnLoadSpec::JavaPart> {
|
|
31
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rnnitrosqlite/HybridNitroSQLiteOnLoad;";
|
|
32
|
+
static std::shared_ptr<JHybridNitroSQLiteOnLoadSpec> create() {
|
|
33
|
+
static auto constructorFn = javaClassStatic()->getConstructor<JHybridNitroSQLiteOnLoadSpecImpl::javaobject()>();
|
|
34
|
+
jni::local_ref<JHybridNitroSQLiteOnLoadSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
|
|
35
|
+
return javaPart->getJHybridNitroSQLiteOnLoadSpec();
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
void registerAllNatives() {
|
|
25
40
|
using namespace margelo::nitro;
|
|
26
41
|
using namespace margelo::nitro::rnnitrosqlite;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
auto instance = object.create();
|
|
48
|
-
return instance->cthis()->shared();
|
|
49
|
-
}
|
|
50
|
-
);
|
|
51
|
-
});
|
|
42
|
+
|
|
43
|
+
// Register native JNI methods
|
|
44
|
+
margelo::nitro::rnnitrosqlite::JHybridNitroSQLiteOnLoadSpec::CxxPart::registerNatives();
|
|
45
|
+
|
|
46
|
+
// Register Nitro Hybrid Objects
|
|
47
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
48
|
+
"NitroSQLite",
|
|
49
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
50
|
+
static_assert(std::is_default_constructible_v<HybridNitroSQLite>,
|
|
51
|
+
"The HybridObject \"HybridNitroSQLite\" is not default-constructible! "
|
|
52
|
+
"Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
|
|
53
|
+
return std::make_shared<HybridNitroSQLite>();
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
57
|
+
"NitroSQLiteOnLoad",
|
|
58
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
59
|
+
return JHybridNitroSQLiteOnLoadSpecImpl::create();
|
|
60
|
+
}
|
|
61
|
+
);
|
|
52
62
|
}
|
|
53
63
|
|
|
54
64
|
} // namespace margelo::nitro::rnnitrosqlite
|
|
@@ -6,20 +6,29 @@
|
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include <jni.h>
|
|
9
|
+
#include <functional>
|
|
9
10
|
#include <NitroModules/NitroDefines.hpp>
|
|
10
11
|
|
|
11
12
|
namespace margelo::nitro::rnnitrosqlite {
|
|
12
13
|
|
|
14
|
+
[[deprecated("Use registerNatives() instead.")]]
|
|
15
|
+
int initialize(JavaVM* vm);
|
|
16
|
+
|
|
13
17
|
/**
|
|
14
|
-
*
|
|
15
|
-
* Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`)
|
|
18
|
+
* Register the native (C++) part of RNNitroSQLite, and autolinks all Hybrid Objects.
|
|
19
|
+
* Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`),
|
|
20
|
+
* inside a `facebook::jni::initialize(vm, ...)` call.
|
|
16
21
|
* Example:
|
|
17
22
|
* ```cpp (cpp-adapter.cpp)
|
|
18
23
|
* JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
|
|
19
|
-
* return
|
|
24
|
+
* return facebook::jni::initialize(vm, []() {
|
|
25
|
+
* // register all RNNitroSQLite HybridObjects
|
|
26
|
+
* margelo::nitro::rnnitrosqlite::registerNatives();
|
|
27
|
+
* // any other custom registrations go here.
|
|
28
|
+
* });
|
|
20
29
|
* }
|
|
21
30
|
* ```
|
|
22
31
|
*/
|
|
23
|
-
|
|
32
|
+
void registerAllNatives();
|
|
24
33
|
|
|
25
34
|
} // namespace margelo::nitro::rnnitrosqlite
|
|
@@ -13,37 +13,31 @@
|
|
|
13
13
|
|
|
14
14
|
namespace margelo::nitro::rnnitrosqlite {
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
});
|
|
16
|
+
std::shared_ptr<JHybridNitroSQLiteOnLoadSpec> JHybridNitroSQLiteOnLoadSpec::JavaPart::getJHybridNitroSQLiteOnLoadSpec() {
|
|
17
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
18
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridNitroSQLiteOnLoadSpec>(hybridObject);
|
|
19
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
20
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridNitroSQLiteOnLoadSpec!");
|
|
21
|
+
}
|
|
22
|
+
return castHybridObject;
|
|
24
23
|
}
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return method(_javaPart);
|
|
25
|
+
jni::local_ref<JHybridNitroSQLiteOnLoadSpec::CxxPart::jhybriddata> JHybridNitroSQLiteOnLoadSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
26
|
+
return makeCxxInstance(jThis);
|
|
29
27
|
}
|
|
30
28
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
std::shared_ptr<JHybridObject> JHybridNitroSQLiteOnLoadSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
30
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridNitroSQLiteOnLoadSpec::JavaPart>(javaPart);
|
|
31
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
32
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridNitroSQLiteOnLoadSpec::JavaPart!");
|
|
34
33
|
}
|
|
35
|
-
return
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
void JHybridNitroSQLiteOnLoadSpec::dispose() noexcept {
|
|
39
|
-
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
40
|
-
method(_javaPart);
|
|
34
|
+
return std::make_shared<JHybridNitroSQLiteOnLoadSpec>(castJavaPart);
|
|
41
35
|
}
|
|
42
36
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
void JHybridNitroSQLiteOnLoadSpec::CxxPart::registerNatives() {
|
|
38
|
+
registerHybrid({
|
|
39
|
+
makeNativeMethod("initHybrid", JHybridNitroSQLiteOnLoadSpec::CxxPart::initHybrid),
|
|
40
|
+
});
|
|
47
41
|
}
|
|
48
42
|
|
|
49
43
|
// Properties
|
|
@@ -51,7 +45,7 @@ namespace margelo::nitro::rnnitrosqlite {
|
|
|
51
45
|
|
|
52
46
|
// Methods
|
|
53
47
|
void JHybridNitroSQLiteOnLoadSpec::init() {
|
|
54
|
-
static const auto method = javaClassStatic()->getMethod<void()>("init");
|
|
48
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("init");
|
|
55
49
|
method(_javaPart);
|
|
56
50
|
}
|
|
57
51
|
|
|
@@ -18,34 +18,33 @@ namespace margelo::nitro::rnnitrosqlite {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridNitroSQLiteOnLoadSpec: public
|
|
22
|
-
public virtual HybridNitroSQLiteOnLoadSpec {
|
|
21
|
+
class JHybridNitroSQLiteOnLoadSpec: public virtual HybridNitroSQLiteOnLoadSpec, public virtual JHybridObject {
|
|
23
22
|
public:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
HybridBase
|
|
33
|
-
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rnnitrosqlite/HybridNitroSQLiteOnLoadSpec;";
|
|
25
|
+
std::shared_ptr<JHybridNitroSQLiteOnLoadSpec> getJHybridNitroSQLiteOnLoadSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/rnnitrosqlite/HybridNitroSQLiteOnLoadSpec$CxxPart;";
|
|
29
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
30
|
+
static void registerNatives();
|
|
31
|
+
using HybridBase::HybridBase;
|
|
32
|
+
protected:
|
|
33
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
34
|
+
};
|
|
34
35
|
|
|
35
36
|
public:
|
|
37
|
+
explicit JHybridNitroSQLiteOnLoadSpec(const jni::local_ref<JHybridNitroSQLiteOnLoadSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridNitroSQLiteOnLoadSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridNitroSQLiteOnLoadSpec() override {
|
|
37
42
|
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
38
43
|
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
public:
|
|
42
|
-
|
|
43
|
-
bool equals(const std::shared_ptr<HybridObject>& other) override;
|
|
44
|
-
void dispose() noexcept override;
|
|
45
|
-
std::string toString() override;
|
|
46
|
-
|
|
47
|
-
public:
|
|
48
|
-
inline const jni::global_ref<JHybridNitroSQLiteOnLoadSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridNitroSQLiteOnLoadSpec::JavaPart>& getJavaPart() const noexcept {
|
|
49
48
|
return _javaPart;
|
|
50
49
|
}
|
|
51
50
|
|
|
@@ -58,9 +57,7 @@ namespace margelo::nitro::rnnitrosqlite {
|
|
|
58
57
|
void init() override;
|
|
59
58
|
|
|
60
59
|
private:
|
|
61
|
-
|
|
62
|
-
using HybridBase::HybridBase;
|
|
63
|
-
jni::global_ref<JHybridNitroSQLiteOnLoadSpec::javaobject> _javaPart;
|
|
60
|
+
jni::global_ref<JHybridNitroSQLiteOnLoadSpec::JavaPart> _javaPart;
|
|
64
61
|
};
|
|
65
62
|
|
|
66
63
|
} // namespace margelo::nitro::rnnitrosqlite
|
|
@@ -24,32 +24,29 @@ import com.margelo.nitro.core.HybridObject
|
|
|
24
24
|
"LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName"
|
|
25
25
|
)
|
|
26
26
|
abstract class HybridNitroSQLiteOnLoadSpec: HybridObject() {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
init {
|
|
31
|
-
super.updateNative(mHybridData)
|
|
32
|
-
}
|
|
27
|
+
// Properties
|
|
28
|
+
|
|
33
29
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
// Methods
|
|
31
|
+
@DoNotStrip
|
|
32
|
+
@Keep
|
|
33
|
+
abstract fun init(): Unit
|
|
38
34
|
|
|
39
35
|
// Default implementation of `HybridObject.toString()`
|
|
40
36
|
override fun toString(): String {
|
|
41
37
|
return "[HybridObject NitroSQLiteOnLoad]"
|
|
42
38
|
}
|
|
43
39
|
|
|
44
|
-
//
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
// Methods
|
|
40
|
+
// C++ backing class
|
|
48
41
|
@DoNotStrip
|
|
49
42
|
@Keep
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
43
|
+
protected open class CxxPart(javaPart: HybridNitroSQLiteOnLoadSpec): HybridObject.CxxPart(javaPart) {
|
|
44
|
+
// C++ JHybridNitroSQLiteOnLoadSpec::CxxPart::initHybrid(...)
|
|
45
|
+
external override fun initHybrid(): HybridData
|
|
46
|
+
}
|
|
47
|
+
override fun createCxxPart(): CxxPart {
|
|
48
|
+
return CxxPart(this)
|
|
49
|
+
}
|
|
53
50
|
|
|
54
51
|
companion object {
|
|
55
52
|
protected const val TAG = "HybridNitroSQLiteOnLoadSpec"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-nitro-sqlite",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.6.0",
|
|
4
4
|
"description": "Fast SQLite library for React Native built using Nitro Modules",
|
|
5
5
|
"main": "./lib/module/index",
|
|
6
6
|
"module": "./lib/module/index",
|
|
@@ -70,16 +70,16 @@
|
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"jest": "^30.2.0",
|
|
73
|
-
"nitrogen": "0.
|
|
74
|
-
"react": "19.
|
|
75
|
-
"react-native": "0.
|
|
73
|
+
"nitrogen": "0.35.0",
|
|
74
|
+
"react": "19.2.3",
|
|
75
|
+
"react-native": "0.85.0-rc.0",
|
|
76
76
|
"react-native-builder-bob": "^0.31.0",
|
|
77
|
-
"react-native-nitro-modules": "0.
|
|
77
|
+
"react-native-nitro-modules": "0.35.0"
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {
|
|
80
80
|
"react": ">=17.0.0",
|
|
81
81
|
"react-native": ">=0.75.0",
|
|
82
|
-
"react-native-nitro-modules": ">=0.
|
|
82
|
+
"react-native-nitro-modules": ">=0.35.0"
|
|
83
83
|
},
|
|
84
84
|
"resolutions": {
|
|
85
85
|
"@types/react": "^18.2.44"
|
|
@@ -93,7 +93,10 @@
|
|
|
93
93
|
},
|
|
94
94
|
"release-it": {
|
|
95
95
|
"npm": {
|
|
96
|
-
"publish": true
|
|
96
|
+
"publish": true,
|
|
97
|
+
"versionArgs": [
|
|
98
|
+
"--allow-same-version"
|
|
99
|
+
]
|
|
97
100
|
},
|
|
98
101
|
"git": false,
|
|
99
102
|
"github": {
|