react-native-nitro-sqlite 9.2.2 → 9.3.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 (114) hide show
  1. package/cpp/operations.cpp +3 -3
  2. package/cpp/specs/HybridNitroSQLite.cpp +11 -10
  3. package/cpp/specs/HybridNitroSQLite.hpp +6 -6
  4. package/cpp/specs/HybridNitroSQLiteQueryResult.cpp +49 -0
  5. package/cpp/specs/{HybridNativeQueryResult.hpp → HybridNitroSQLiteQueryResult.hpp} +5 -4
  6. package/cpp/sqliteExecuteBatch.cpp +1 -1
  7. package/cpp/sqliteExecuteBatch.hpp +2 -2
  8. package/cpp/types.hpp +3 -4
  9. package/lib/commonjs/index.js +4 -25
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/operations/execute.js +9 -26
  12. package/lib/commonjs/operations/execute.js.map +1 -1
  13. package/lib/commonjs/operations/executeBatch.js +2 -19
  14. package/lib/commonjs/operations/executeBatch.js.map +1 -1
  15. package/lib/commonjs/specs/{NativeQueryResult.nitro.js → NitroSQLiteQueryResult.nitro.js} +1 -1
  16. package/lib/commonjs/specs/NitroSQLiteQueryResult.nitro.js.map +1 -0
  17. package/lib/commonjs/types.js +1 -8
  18. package/lib/commonjs/types.js.map +1 -1
  19. package/lib/module/index.js +3 -1
  20. package/lib/module/index.js.map +1 -1
  21. package/lib/module/operations/execute.js +9 -27
  22. package/lib/module/operations/execute.js.map +1 -1
  23. package/lib/module/operations/executeBatch.js +2 -19
  24. package/lib/module/operations/executeBatch.js.map +1 -1
  25. package/lib/module/specs/NitroSQLiteQueryResult.nitro.js +4 -0
  26. package/lib/module/specs/NitroSQLiteQueryResult.nitro.js.map +1 -0
  27. package/lib/module/types.js +0 -12
  28. package/lib/module/types.js.map +1 -1
  29. package/lib/typescript/commonjs/index.d.ts +2 -1
  30. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  31. package/lib/typescript/commonjs/operations/execute.d.ts +1 -1
  32. package/lib/typescript/commonjs/operations/execute.d.ts.map +1 -1
  33. package/lib/typescript/commonjs/operations/executeBatch.d.ts +1 -1
  34. package/lib/typescript/commonjs/operations/executeBatch.d.ts.map +1 -1
  35. package/lib/typescript/commonjs/operations/transaction.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/specs/NitroSQLite.nitro.d.ts +6 -6
  37. package/lib/typescript/commonjs/specs/NitroSQLite.nitro.d.ts.map +1 -1
  38. package/lib/typescript/commonjs/specs/{NativeQueryResult.nitro.d.ts → NitroSQLiteQueryResult.nitro.d.ts} +20 -13
  39. package/lib/typescript/commonjs/specs/NitroSQLiteQueryResult.nitro.d.ts.map +1 -0
  40. package/lib/typescript/commonjs/typeORM.d.ts +1 -1
  41. package/lib/typescript/commonjs/typeORM.d.ts.map +1 -1
  42. package/lib/typescript/commonjs/types.d.ts +16 -37
  43. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  44. package/lib/typescript/module/index.d.ts +2 -1
  45. package/lib/typescript/module/index.d.ts.map +1 -1
  46. package/lib/typescript/module/operations/execute.d.ts +1 -1
  47. package/lib/typescript/module/operations/execute.d.ts.map +1 -1
  48. package/lib/typescript/module/operations/executeBatch.d.ts +1 -1
  49. package/lib/typescript/module/operations/executeBatch.d.ts.map +1 -1
  50. package/lib/typescript/module/operations/transaction.d.ts.map +1 -1
  51. package/lib/typescript/module/specs/NitroSQLite.nitro.d.ts +6 -6
  52. package/lib/typescript/module/specs/NitroSQLite.nitro.d.ts.map +1 -1
  53. package/lib/typescript/module/specs/{NativeQueryResult.nitro.d.ts → NitroSQLiteQueryResult.nitro.d.ts} +20 -13
  54. package/lib/typescript/module/specs/NitroSQLiteQueryResult.nitro.d.ts.map +1 -0
  55. package/lib/typescript/module/typeORM.d.ts +1 -1
  56. package/lib/typescript/module/typeORM.d.ts.map +1 -1
  57. package/lib/typescript/module/types.d.ts +16 -37
  58. package/lib/typescript/module/types.d.ts.map +1 -1
  59. package/nitrogen/generated/android/RNNitroSQLite+autolinking.cmake +9 -6
  60. package/nitrogen/generated/android/RNNitroSQLite+autolinking.gradle +1 -1
  61. package/nitrogen/generated/android/RNNitroSQLiteOnLoad.cpp +2 -4
  62. package/nitrogen/generated/android/RNNitroSQLiteOnLoad.hpp +1 -1
  63. package/nitrogen/generated/android/c++/JHybridNitroSQLiteOnLoadSpec.cpp +14 -1
  64. package/nitrogen/generated/android/c++/JHybridNitroSQLiteOnLoadSpec.hpp +4 -1
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rnnitrosqlite/HybridNitroSQLiteOnLoadSpec.kt +8 -3
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/rnnitrosqlite/RNNitroSQLiteOnLoad.kt +1 -1
  67. package/nitrogen/generated/ios/RNNitroSQLite+autolinking.rb +2 -2
  68. package/nitrogen/generated/ios/RNNitroSQLite-Swift-Cxx-Bridge.cpp +1 -1
  69. package/nitrogen/generated/ios/RNNitroSQLite-Swift-Cxx-Bridge.hpp +1 -1
  70. package/nitrogen/generated/ios/RNNitroSQLite-Swift-Cxx-Umbrella.hpp +1 -1
  71. package/nitrogen/generated/ios/RNNitroSQLiteAutolinking.mm +1 -1
  72. package/nitrogen/generated/ios/RNNitroSQLiteAutolinking.swift +5 -1
  73. package/nitrogen/generated/shared/c++/BatchQueryCommand.hpp +92 -0
  74. package/nitrogen/generated/shared/c++/BatchQueryResult.hpp +25 -11
  75. package/nitrogen/generated/shared/c++/ColumnType.hpp +5 -7
  76. package/nitrogen/generated/shared/c++/FileLoadResult.hpp +28 -14
  77. package/nitrogen/generated/shared/c++/HybridNitroSQLiteOnLoadSpec.cpp +1 -1
  78. package/nitrogen/generated/shared/c++/HybridNitroSQLiteOnLoadSpec.hpp +1 -1
  79. package/nitrogen/generated/shared/c++/HybridNitroSQLiteQueryResultSpec.cpp +25 -0
  80. package/nitrogen/generated/shared/c++/HybridNitroSQLiteQueryResultSpec.hpp +77 -0
  81. package/nitrogen/generated/shared/c++/HybridNitroSQLiteSpec.cpp +1 -1
  82. package/nitrogen/generated/shared/c++/HybridNitroSQLiteSpec.hpp +12 -16
  83. package/nitrogen/generated/shared/c++/NitroSQLiteQueryColumnMetadata.hpp +93 -0
  84. package/nitrogen/generated/shared/c++/NitroSQLiteQueryResultRows.hpp +99 -0
  85. package/package.json +5 -5
  86. package/src/index.ts +3 -6
  87. package/src/operations/execute.ts +14 -58
  88. package/src/operations/executeBatch.ts +3 -41
  89. package/src/operations/session.ts +1 -1
  90. package/src/operations/transaction.ts +1 -1
  91. package/src/specs/NitroSQLite.nitro.ts +9 -12
  92. package/src/specs/{NativeQueryResult.nitro.ts → NitroSQLiteQueryResult.nitro.ts} +32 -17
  93. package/src/typeORM.ts +1 -1
  94. package/src/types.ts +26 -46
  95. package/cpp/specs/HybridNativeQueryResult.cpp +0 -21
  96. package/lib/commonjs/nullHandling.js +0 -33
  97. package/lib/commonjs/nullHandling.js.map +0 -1
  98. package/lib/commonjs/specs/NativeQueryResult.nitro.js.map +0 -1
  99. package/lib/module/nullHandling.js +0 -25
  100. package/lib/module/nullHandling.js.map +0 -1
  101. package/lib/module/specs/NativeQueryResult.nitro.js +0 -4
  102. package/lib/module/specs/NativeQueryResult.nitro.js.map +0 -1
  103. package/lib/typescript/commonjs/nullHandling.d.ts +0 -8
  104. package/lib/typescript/commonjs/nullHandling.d.ts.map +0 -1
  105. package/lib/typescript/commonjs/specs/NativeQueryResult.nitro.d.ts.map +0 -1
  106. package/lib/typescript/module/nullHandling.d.ts +0 -8
  107. package/lib/typescript/module/nullHandling.d.ts.map +0 -1
  108. package/lib/typescript/module/specs/NativeQueryResult.nitro.d.ts.map +0 -1
  109. package/nitrogen/generated/shared/c++/HybridNativeQueryResultSpec.cpp +0 -24
  110. package/nitrogen/generated/shared/c++/HybridNativeQueryResultSpec.hpp +0 -77
  111. package/nitrogen/generated/shared/c++/NativeBatchQueryCommand.hpp +0 -81
  112. package/nitrogen/generated/shared/c++/SQLiteNullValue.hpp +0 -69
  113. package/nitrogen/generated/shared/c++/SQLiteQueryColumnMetadata.hpp +0 -79
  114. package/src/nullHandling.ts +0 -35
@@ -2,7 +2,7 @@
2
2
  /// RNNitroSQLiteOnLoad.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #ifndef BUILDING_RNNITROSQLITE_WITH_GENERATED_CMAKE_PROJECT
@@ -17,7 +17,6 @@
17
17
 
18
18
  #include "JHybridNitroSQLiteOnLoadSpec.hpp"
19
19
  #include "HybridNitroSQLite.hpp"
20
- #include <NitroModules/JNISharedPtr.hpp>
21
20
  #include <NitroModules/DefaultConstructableObject.hpp>
22
21
 
23
22
  namespace margelo::nitro::rnnitrosqlite {
@@ -46,8 +45,7 @@ int initialize(JavaVM* vm) {
46
45
  []() -> std::shared_ptr<HybridObject> {
47
46
  static DefaultConstructableObject<JHybridNitroSQLiteOnLoadSpec::javaobject> object("com/margelo/nitro/rnnitrosqlite/HybridNitroSQLiteOnLoad");
48
47
  auto instance = object.create();
49
- auto globalRef = jni::make_global(instance);
50
- return JNISharedPtr::make_shared_from_jni<JHybridNitroSQLiteOnLoadSpec>(globalRef);
48
+ return instance->cthis()->shared();
51
49
  }
52
50
  );
53
51
  });
@@ -2,7 +2,7 @@
2
2
  /// RNNitroSQLiteOnLoad.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include <jni.h>
@@ -2,7 +2,7 @@
2
2
  /// JHybridNitroSQLiteOnLoadSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "JHybridNitroSQLiteOnLoadSpec.hpp"
@@ -28,11 +28,24 @@ namespace margelo::nitro::rnnitrosqlite {
28
28
  return method(_javaPart);
29
29
  }
30
30
 
31
+ bool JHybridNitroSQLiteOnLoadSpec::equals(const std::shared_ptr<HybridObject>& other) {
32
+ if (auto otherCast = std::dynamic_pointer_cast<JHybridNitroSQLiteOnLoadSpec>(other)) {
33
+ return _javaPart == otherCast->_javaPart;
34
+ }
35
+ return false;
36
+ }
37
+
31
38
  void JHybridNitroSQLiteOnLoadSpec::dispose() noexcept {
32
39
  static const auto method = javaClassStatic()->getMethod<void()>("dispose");
33
40
  method(_javaPart);
34
41
  }
35
42
 
43
+ std::string JHybridNitroSQLiteOnLoadSpec::toString() {
44
+ static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
45
+ auto javaString = method(_javaPart);
46
+ return javaString->toStdString();
47
+ }
48
+
36
49
  // Properties
37
50
 
38
51
 
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroSQLiteOnLoadSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -29,6 +29,7 @@ namespace margelo::nitro::rnnitrosqlite {
29
29
  // C++ constructor (called from Java via `initHybrid()`)
30
30
  explicit JHybridNitroSQLiteOnLoadSpec(jni::alias_ref<jhybridobject> jThis) :
31
31
  HybridObject(HybridNitroSQLiteOnLoadSpec::TAG),
32
+ HybridBase(jThis),
32
33
  _javaPart(jni::make_global(jThis)) {}
33
34
 
34
35
  public:
@@ -39,7 +40,9 @@ namespace margelo::nitro::rnnitrosqlite {
39
40
 
40
41
  public:
41
42
  size_t getExternalMemorySize() noexcept override;
43
+ bool equals(const std::shared_ptr<HybridObject>& other) override;
42
44
  void dispose() noexcept override;
45
+ std::string toString() override;
43
46
 
44
47
  public:
45
48
  inline const jni::global_ref<JHybridNitroSQLiteOnLoadSpec::javaobject>& getJavaPart() const noexcept {
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroSQLiteOnLoadSpec.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.rnnitrosqlite
@@ -10,7 +10,7 @@ package com.margelo.nitro.rnnitrosqlite
10
10
  import androidx.annotation.Keep
11
11
  import com.facebook.jni.HybridData
12
12
  import com.facebook.proguard.annotations.DoNotStrip
13
- import com.margelo.nitro.core.*
13
+ import com.margelo.nitro.core.HybridObject
14
14
 
15
15
  /**
16
16
  * A Kotlin class representing the NitroSQLiteOnLoad HybridObject.
@@ -36,6 +36,11 @@ abstract class HybridNitroSQLiteOnLoadSpec: HybridObject() {
36
36
  super.updateNative(hybridData)
37
37
  }
38
38
 
39
+ // Default implementation of `HybridObject.toString()`
40
+ override fun toString(): String {
41
+ return "[HybridObject NitroSQLiteOnLoad]"
42
+ }
43
+
39
44
  // Properties
40
45
 
41
46
 
@@ -47,6 +52,6 @@ abstract class HybridNitroSQLiteOnLoadSpec: HybridObject() {
47
52
  private external fun initHybrid(): HybridData
48
53
 
49
54
  companion object {
50
- private const val TAG = "HybridNitroSQLiteOnLoadSpec"
55
+ protected const val TAG = "HybridNitroSQLiteOnLoadSpec"
51
56
  }
52
57
  }
@@ -2,7 +2,7 @@
2
2
  /// RNNitroSQLiteOnLoad.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.rnnitrosqlite
@@ -2,7 +2,7 @@
2
2
  # RNNitroSQLite+autolinking.rb
3
3
  # This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  # https://github.com/mrousavy/nitro
5
- # Copyright © 2025 Marc Rousavy @ Margelo
5
+ # Copyright © Marc Rousavy @ Margelo
6
6
  #
7
7
 
8
8
  # This is a Ruby script that adds all files generated by Nitrogen
@@ -52,7 +52,7 @@ def add_nitrogen_files(spec)
52
52
  spec.pod_target_xcconfig = current_pod_target_xcconfig.merge({
53
53
  # Use C++ 20
54
54
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
55
- # Enables C++ <-> Swift interop (by default it's only C)
55
+ # Enables C++ <-> Swift interop (by default it's only ObjC)
56
56
  "SWIFT_OBJC_INTEROP_MODE" => "objcxx",
57
57
  # Enables stricter modular headers
58
58
  "DEFINES_MODULE" => "YES",
@@ -2,7 +2,7 @@
2
2
  /// RNNitroSQLite-Swift-Cxx-Bridge.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "RNNitroSQLite-Swift-Cxx-Bridge.hpp"
@@ -2,7 +2,7 @@
2
2
  /// RNNitroSQLite-Swift-Cxx-Bridge.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// RNNitroSQLite-Swift-Cxx-Umbrella.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// RNNitroSQLiteAutolinking.mm
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #import <Foundation/Foundation.h>
@@ -2,9 +2,13 @@
2
2
  /// RNNitroSQLiteAutolinking.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
+ import NitroModules
9
+
10
+ // TODO: Use empty enums once Swift supports exporting them as namespaces
11
+ // See: https://github.com/swiftlang/swift/pull/83616
8
12
  public final class RNNitroSQLiteAutolinking {
9
13
  public typealias bridge = margelo.nitro.rnnitrosqlite.bridge.swift
10
14
 
@@ -0,0 +1,92 @@
1
+ ///
2
+ /// BatchQueryCommand.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
30
+
31
+
32
+
33
+ #include <string>
34
+ #include <NitroModules/Null.hpp>
35
+ #include <NitroModules/ArrayBuffer.hpp>
36
+ #include <variant>
37
+ #include <vector>
38
+ #include <optional>
39
+
40
+ namespace margelo::nitro::rnnitrosqlite {
41
+
42
+ /**
43
+ * A struct which can be represented as a JavaScript object (BatchQueryCommand).
44
+ */
45
+ struct BatchQueryCommand final {
46
+ public:
47
+ std::string query SWIFT_PRIVATE;
48
+ std::optional<std::variant<std::vector<std::vector<std::variant<nitro::NullType, bool, std::shared_ptr<ArrayBuffer>, std::string, double>>>, std::vector<std::variant<nitro::NullType, bool, std::shared_ptr<ArrayBuffer>, std::string, double>>>> params SWIFT_PRIVATE;
49
+
50
+ public:
51
+ BatchQueryCommand() = default;
52
+ explicit BatchQueryCommand(std::string query, std::optional<std::variant<std::vector<std::vector<std::variant<nitro::NullType, bool, std::shared_ptr<ArrayBuffer>, std::string, double>>>, std::vector<std::variant<nitro::NullType, bool, std::shared_ptr<ArrayBuffer>, std::string, double>>>> params): query(query), params(params) {}
53
+
54
+ public:
55
+ friend bool operator==(const BatchQueryCommand& lhs, const BatchQueryCommand& rhs) = default;
56
+ };
57
+
58
+ } // namespace margelo::nitro::rnnitrosqlite
59
+
60
+ namespace margelo::nitro {
61
+
62
+ // C++ BatchQueryCommand <> JS BatchQueryCommand (object)
63
+ template <>
64
+ struct JSIConverter<margelo::nitro::rnnitrosqlite::BatchQueryCommand> final {
65
+ static inline margelo::nitro::rnnitrosqlite::BatchQueryCommand fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
66
+ jsi::Object obj = arg.asObject(runtime);
67
+ return margelo::nitro::rnnitrosqlite::BatchQueryCommand(
68
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "query"))),
69
+ JSIConverter<std::optional<std::variant<std::vector<std::vector<std::variant<nitro::NullType, bool, std::shared_ptr<ArrayBuffer>, std::string, double>>>, std::vector<std::variant<nitro::NullType, bool, std::shared_ptr<ArrayBuffer>, std::string, double>>>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "params")))
70
+ );
71
+ }
72
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::rnnitrosqlite::BatchQueryCommand& arg) {
73
+ jsi::Object obj(runtime);
74
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "query"), JSIConverter<std::string>::toJSI(runtime, arg.query));
75
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "params"), JSIConverter<std::optional<std::variant<std::vector<std::vector<std::variant<nitro::NullType, bool, std::shared_ptr<ArrayBuffer>, std::string, double>>>, std::vector<std::variant<nitro::NullType, bool, std::shared_ptr<ArrayBuffer>, std::string, double>>>>>::toJSI(runtime, arg.params));
76
+ return obj;
77
+ }
78
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
79
+ if (!value.isObject()) {
80
+ return false;
81
+ }
82
+ jsi::Object obj = value.getObject(runtime);
83
+ if (!nitro::isPlainObject(runtime, obj)) {
84
+ return false;
85
+ }
86
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "query")))) return false;
87
+ if (!JSIConverter<std::optional<std::variant<std::vector<std::vector<std::variant<nitro::NullType, bool, std::shared_ptr<ArrayBuffer>, std::string, double>>>, std::vector<std::variant<nitro::NullType, bool, std::shared_ptr<ArrayBuffer>, std::string, double>>>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "params")))) return false;
88
+ return true;
89
+ }
90
+ };
91
+
92
+ } // namespace margelo::nitro
@@ -2,7 +2,7 @@
2
2
  /// BatchQueryResult.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -17,6 +17,16 @@
17
17
  #else
18
18
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
19
  #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
20
30
 
21
31
 
22
32
 
@@ -27,33 +37,34 @@ namespace margelo::nitro::rnnitrosqlite {
27
37
  /**
28
38
  * A struct which can be represented as a JavaScript object (BatchQueryResult).
29
39
  */
30
- struct BatchQueryResult {
40
+ struct BatchQueryResult final {
31
41
  public:
32
42
  std::optional<double> rowsAffected SWIFT_PRIVATE;
33
43
 
34
44
  public:
35
45
  BatchQueryResult() = default;
36
46
  explicit BatchQueryResult(std::optional<double> rowsAffected): rowsAffected(rowsAffected) {}
47
+
48
+ public:
49
+ friend bool operator==(const BatchQueryResult& lhs, const BatchQueryResult& rhs) = default;
37
50
  };
38
51
 
39
52
  } // namespace margelo::nitro::rnnitrosqlite
40
53
 
41
54
  namespace margelo::nitro {
42
55
 
43
- using namespace margelo::nitro::rnnitrosqlite;
44
-
45
56
  // C++ BatchQueryResult <> JS BatchQueryResult (object)
46
57
  template <>
47
- struct JSIConverter<BatchQueryResult> final {
48
- static inline BatchQueryResult fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
58
+ struct JSIConverter<margelo::nitro::rnnitrosqlite::BatchQueryResult> final {
59
+ static inline margelo::nitro::rnnitrosqlite::BatchQueryResult fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
49
60
  jsi::Object obj = arg.asObject(runtime);
50
- return BatchQueryResult(
51
- JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "rowsAffected"))
61
+ return margelo::nitro::rnnitrosqlite::BatchQueryResult(
62
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "rowsAffected")))
52
63
  );
53
64
  }
54
- static inline jsi::Value toJSI(jsi::Runtime& runtime, const BatchQueryResult& arg) {
65
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::rnnitrosqlite::BatchQueryResult& arg) {
55
66
  jsi::Object obj(runtime);
56
- obj.setProperty(runtime, "rowsAffected", JSIConverter<std::optional<double>>::toJSI(runtime, arg.rowsAffected));
67
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "rowsAffected"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.rowsAffected));
57
68
  return obj;
58
69
  }
59
70
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -61,7 +72,10 @@ namespace margelo::nitro {
61
72
  return false;
62
73
  }
63
74
  jsi::Object obj = value.getObject(runtime);
64
- if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "rowsAffected"))) return false;
75
+ if (!nitro::isPlainObject(runtime, obj)) {
76
+ return false;
77
+ }
78
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "rowsAffected")))) return false;
65
79
  return true;
66
80
  }
67
81
  };
@@ -2,7 +2,7 @@
2
2
  /// ColumnType.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -36,16 +36,14 @@ namespace margelo::nitro::rnnitrosqlite {
36
36
 
37
37
  namespace margelo::nitro {
38
38
 
39
- using namespace margelo::nitro::rnnitrosqlite;
40
-
41
39
  // C++ ColumnType <> JS ColumnType (enum)
42
40
  template <>
43
- struct JSIConverter<ColumnType> final {
44
- static inline ColumnType fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
41
+ struct JSIConverter<margelo::nitro::rnnitrosqlite::ColumnType> final {
42
+ static inline margelo::nitro::rnnitrosqlite::ColumnType fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
45
43
  int enumValue = JSIConverter<int>::fromJSI(runtime, arg);
46
- return static_cast<ColumnType>(enumValue);
44
+ return static_cast<margelo::nitro::rnnitrosqlite::ColumnType>(enumValue);
47
45
  }
48
- static inline jsi::Value toJSI(jsi::Runtime& runtime, ColumnType arg) {
46
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::rnnitrosqlite::ColumnType arg) {
49
47
  int enumValue = static_cast<int>(arg);
50
48
  return JSIConverter<int>::toJSI(runtime, enumValue);
51
49
  }
@@ -2,7 +2,7 @@
2
2
  /// FileLoadResult.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -17,6 +17,16 @@
17
17
  #else
18
18
  #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
19
  #endif
20
+ #if __has_include(<NitroModules/JSIHelpers.hpp>)
21
+ #include <NitroModules/JSIHelpers.hpp>
22
+ #else
23
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
24
+ #endif
25
+ #if __has_include(<NitroModules/PropNameIDCache.hpp>)
26
+ #include <NitroModules/PropNameIDCache.hpp>
27
+ #else
28
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
29
+ #endif
20
30
 
21
31
 
22
32
 
@@ -27,7 +37,7 @@ namespace margelo::nitro::rnnitrosqlite {
27
37
  /**
28
38
  * A struct which can be represented as a JavaScript object (FileLoadResult).
29
39
  */
30
- struct FileLoadResult {
40
+ struct FileLoadResult final {
31
41
  public:
32
42
  std::optional<double> commands SWIFT_PRIVATE;
33
43
  std::optional<double> rowsAffected SWIFT_PRIVATE;
@@ -35,28 +45,29 @@ namespace margelo::nitro::rnnitrosqlite {
35
45
  public:
36
46
  FileLoadResult() = default;
37
47
  explicit FileLoadResult(std::optional<double> commands, std::optional<double> rowsAffected): commands(commands), rowsAffected(rowsAffected) {}
48
+
49
+ public:
50
+ friend bool operator==(const FileLoadResult& lhs, const FileLoadResult& rhs) = default;
38
51
  };
39
52
 
40
53
  } // namespace margelo::nitro::rnnitrosqlite
41
54
 
42
55
  namespace margelo::nitro {
43
56
 
44
- using namespace margelo::nitro::rnnitrosqlite;
45
-
46
57
  // C++ FileLoadResult <> JS FileLoadResult (object)
47
58
  template <>
48
- struct JSIConverter<FileLoadResult> final {
49
- static inline FileLoadResult fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
59
+ struct JSIConverter<margelo::nitro::rnnitrosqlite::FileLoadResult> final {
60
+ static inline margelo::nitro::rnnitrosqlite::FileLoadResult fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
50
61
  jsi::Object obj = arg.asObject(runtime);
51
- return FileLoadResult(
52
- JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "commands")),
53
- JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, "rowsAffected"))
62
+ return margelo::nitro::rnnitrosqlite::FileLoadResult(
63
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "commands"))),
64
+ JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "rowsAffected")))
54
65
  );
55
66
  }
56
- static inline jsi::Value toJSI(jsi::Runtime& runtime, const FileLoadResult& arg) {
67
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::rnnitrosqlite::FileLoadResult& arg) {
57
68
  jsi::Object obj(runtime);
58
- obj.setProperty(runtime, "commands", JSIConverter<std::optional<double>>::toJSI(runtime, arg.commands));
59
- obj.setProperty(runtime, "rowsAffected", JSIConverter<std::optional<double>>::toJSI(runtime, arg.rowsAffected));
69
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "commands"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.commands));
70
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "rowsAffected"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.rowsAffected));
60
71
  return obj;
61
72
  }
62
73
  static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
@@ -64,8 +75,11 @@ namespace margelo::nitro {
64
75
  return false;
65
76
  }
66
77
  jsi::Object obj = value.getObject(runtime);
67
- if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "commands"))) return false;
68
- if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, "rowsAffected"))) return false;
78
+ if (!nitro::isPlainObject(runtime, obj)) {
79
+ return false;
80
+ }
81
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "commands")))) return false;
82
+ if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "rowsAffected")))) return false;
69
83
  return true;
70
84
  }
71
85
  };
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroSQLiteOnLoadSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridNitroSQLiteOnLoadSpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroSQLiteOnLoadSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -0,0 +1,25 @@
1
+ ///
2
+ /// HybridNitroSQLiteQueryResultSpec.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "HybridNitroSQLiteQueryResultSpec.hpp"
9
+
10
+ namespace margelo::nitro::rnnitrosqlite {
11
+
12
+ void HybridNitroSQLiteQueryResultSpec::loadHybridMethods() {
13
+ // load base methods/properties
14
+ HybridObject::loadHybridMethods();
15
+ // load custom methods/properties
16
+ registerHybrids(this, [](Prototype& prototype) {
17
+ prototype.registerHybridGetter("rowsAffected", &HybridNitroSQLiteQueryResultSpec::getRowsAffected);
18
+ prototype.registerHybridGetter("insertId", &HybridNitroSQLiteQueryResultSpec::getInsertId);
19
+ prototype.registerHybridGetter("results", &HybridNitroSQLiteQueryResultSpec::getResults);
20
+ prototype.registerHybridGetter("rows", &HybridNitroSQLiteQueryResultSpec::getRows);
21
+ prototype.registerHybridGetter("metadata", &HybridNitroSQLiteQueryResultSpec::getMetadata);
22
+ });
23
+ }
24
+
25
+ } // namespace margelo::nitro::rnnitrosqlite
@@ -0,0 +1,77 @@
1
+ ///
2
+ /// HybridNitroSQLiteQueryResultSpec.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/HybridObject.hpp>)
11
+ #include <NitroModules/HybridObject.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+
16
+ // Forward declaration of `NitroSQLiteQueryResultRows` to properly resolve imports.
17
+ namespace margelo::nitro::rnnitrosqlite { struct NitroSQLiteQueryResultRows; }
18
+ // Forward declaration of `NitroSQLiteQueryColumnMetadata` to properly resolve imports.
19
+ namespace margelo::nitro::rnnitrosqlite { struct NitroSQLiteQueryColumnMetadata; }
20
+
21
+ #include <optional>
22
+ #include <string>
23
+ #include <NitroModules/Null.hpp>
24
+ #include <NitroModules/ArrayBuffer.hpp>
25
+ #include <variant>
26
+ #include <unordered_map>
27
+ #include <vector>
28
+ #include "NitroSQLiteQueryResultRows.hpp"
29
+ #include "NitroSQLiteQueryColumnMetadata.hpp"
30
+
31
+ namespace margelo::nitro::rnnitrosqlite {
32
+
33
+ using namespace margelo::nitro;
34
+
35
+ /**
36
+ * An abstract base class for `NitroSQLiteQueryResult`
37
+ * Inherit this class to create instances of `HybridNitroSQLiteQueryResultSpec` in C++.
38
+ * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
39
+ * @example
40
+ * ```cpp
41
+ * class HybridNitroSQLiteQueryResult: public HybridNitroSQLiteQueryResultSpec {
42
+ * public:
43
+ * HybridNitroSQLiteQueryResult(...): HybridObject(TAG) { ... }
44
+ * // ...
45
+ * };
46
+ * ```
47
+ */
48
+ class HybridNitroSQLiteQueryResultSpec: public virtual HybridObject {
49
+ public:
50
+ // Constructor
51
+ explicit HybridNitroSQLiteQueryResultSpec(): HybridObject(TAG) { }
52
+
53
+ // Destructor
54
+ ~HybridNitroSQLiteQueryResultSpec() override = default;
55
+
56
+ public:
57
+ // Properties
58
+ virtual double getRowsAffected() = 0;
59
+ virtual std::optional<double> getInsertId() = 0;
60
+ virtual std::vector<std::unordered_map<std::string, std::variant<nitro::NullType, bool, std::shared_ptr<ArrayBuffer>, std::string, double>>> getResults() = 0;
61
+ virtual std::optional<NitroSQLiteQueryResultRows> getRows() = 0;
62
+ virtual std::optional<std::unordered_map<std::string, NitroSQLiteQueryColumnMetadata>> getMetadata() = 0;
63
+
64
+ public:
65
+ // Methods
66
+
67
+
68
+ protected:
69
+ // Hybrid Setup
70
+ void loadHybridMethods() override;
71
+
72
+ protected:
73
+ // Tag for logging
74
+ static constexpr auto TAG = "NitroSQLiteQueryResult";
75
+ };
76
+
77
+ } // namespace margelo::nitro::rnnitrosqlite
@@ -2,7 +2,7 @@
2
2
  /// HybridNitroSQLiteSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridNitroSQLiteSpec.hpp"