@onekeyfe/react-native-chart-webview 3.0.81 → 3.0.85

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 (100) hide show
  1. package/lib/nitrogen/generated/android/c++/JFunc_void.hpp +3 -3
  2. package/lib/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +3 -3
  3. package/lib/nitrogen/generated/android/c++/JHybridChartWebviewSpec.cpp +49 -48
  4. package/lib/nitrogen/generated/android/c++/JHybridChartWebviewSpec.hpp +20 -22
  5. package/lib/nitrogen/generated/android/c++/views/JHybridChartWebviewStateUpdater.cpp +53 -53
  6. package/lib/nitrogen/generated/android/c++/views/JHybridChartWebviewStateUpdater.hpp +4 -4
  7. package/lib/nitrogen/generated/android/chartwebview+autolinking.cmake +1 -1
  8. package/lib/nitrogen/generated/android/chartwebview+autolinking.gradle +1 -1
  9. package/lib/nitrogen/generated/android/chartwebviewOnLoad.cpp +30 -20
  10. package/lib/nitrogen/generated/android/chartwebviewOnLoad.hpp +14 -5
  11. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/Func_void.kt +1 -1
  12. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/Func_void_std__string.kt +1 -1
  13. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/HybridChartWebviewSpec.kt +17 -19
  14. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/chartwebviewOnLoad.kt +1 -1
  15. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/views/HybridChartWebviewManager.kt +40 -10
  16. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/views/HybridChartWebviewStateUpdater.kt +1 -1
  17. package/lib/nitrogen/generated/ios/ChartWebview+autolinking.rb +2 -2
  18. package/lib/nitrogen/generated/ios/ChartWebview-Swift-Cxx-Bridge.cpp +1 -1
  19. package/lib/nitrogen/generated/ios/ChartWebview-Swift-Cxx-Bridge.hpp +5 -5
  20. package/lib/nitrogen/generated/ios/ChartWebview-Swift-Cxx-Umbrella.hpp +1 -1
  21. package/lib/nitrogen/generated/ios/ChartWebviewAutolinking.mm +1 -1
  22. package/lib/nitrogen/generated/ios/ChartWebviewAutolinking.swift +9 -8
  23. package/lib/nitrogen/generated/ios/c++/HybridChartWebviewSpecSwift.cpp +1 -1
  24. package/lib/nitrogen/generated/ios/c++/HybridChartWebviewSpecSwift.hpp +7 -1
  25. package/lib/nitrogen/generated/ios/c++/views/HybridChartWebviewComponent.mm +27 -1
  26. package/lib/nitrogen/generated/ios/swift/Func_void.swift +1 -2
  27. package/lib/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -2
  28. package/lib/nitrogen/generated/ios/swift/HybridChartWebviewSpec.swift +3 -4
  29. package/lib/nitrogen/generated/ios/swift/HybridChartWebviewSpec_cxx.swift +18 -2
  30. package/lib/nitrogen/generated/shared/c++/HybridChartWebviewSpec.cpp +1 -1
  31. package/lib/nitrogen/generated/shared/c++/HybridChartWebviewSpec.hpp +1 -1
  32. package/lib/nitrogen/generated/shared/c++/views/HybridChartWebviewComponent.cpp +10 -26
  33. package/lib/nitrogen/generated/shared/c++/views/HybridChartWebviewComponent.hpp +9 -6
  34. package/lib/nitrogen/nitrogen/generated/android/c++/JFunc_void.hpp +3 -3
  35. package/lib/nitrogen/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +3 -3
  36. package/lib/nitrogen/nitrogen/generated/android/c++/JHybridChartWebviewSpec.cpp +49 -48
  37. package/lib/nitrogen/nitrogen/generated/android/c++/JHybridChartWebviewSpec.hpp +20 -22
  38. package/lib/nitrogen/nitrogen/generated/android/c++/views/JHybridChartWebviewStateUpdater.cpp +53 -53
  39. package/lib/nitrogen/nitrogen/generated/android/c++/views/JHybridChartWebviewStateUpdater.hpp +4 -4
  40. package/lib/nitrogen/nitrogen/generated/android/chartwebview+autolinking.cmake +1 -1
  41. package/lib/nitrogen/nitrogen/generated/android/chartwebview+autolinking.gradle +1 -1
  42. package/lib/nitrogen/nitrogen/generated/android/chartwebviewOnLoad.cpp +30 -20
  43. package/lib/nitrogen/nitrogen/generated/android/chartwebviewOnLoad.hpp +14 -5
  44. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/Func_void.kt +1 -1
  45. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/Func_void_std__string.kt +1 -1
  46. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/HybridChartWebviewSpec.kt +17 -19
  47. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/chartwebviewOnLoad.kt +1 -1
  48. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/views/HybridChartWebviewManager.kt +40 -10
  49. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/views/HybridChartWebviewStateUpdater.kt +1 -1
  50. package/lib/nitrogen/nitrogen/generated/ios/ChartWebview+autolinking.rb +2 -2
  51. package/lib/nitrogen/nitrogen/generated/ios/ChartWebview-Swift-Cxx-Bridge.cpp +1 -1
  52. package/lib/nitrogen/nitrogen/generated/ios/ChartWebview-Swift-Cxx-Bridge.hpp +5 -5
  53. package/lib/nitrogen/nitrogen/generated/ios/ChartWebview-Swift-Cxx-Umbrella.hpp +1 -1
  54. package/lib/nitrogen/nitrogen/generated/ios/ChartWebviewAutolinking.mm +1 -1
  55. package/lib/nitrogen/nitrogen/generated/ios/ChartWebviewAutolinking.swift +9 -8
  56. package/lib/nitrogen/nitrogen/generated/ios/c++/HybridChartWebviewSpecSwift.cpp +1 -1
  57. package/lib/nitrogen/nitrogen/generated/ios/c++/HybridChartWebviewSpecSwift.hpp +7 -1
  58. package/lib/nitrogen/nitrogen/generated/ios/c++/views/HybridChartWebviewComponent.mm +27 -1
  59. package/lib/nitrogen/nitrogen/generated/ios/swift/Func_void.swift +1 -2
  60. package/lib/nitrogen/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -2
  61. package/lib/nitrogen/nitrogen/generated/ios/swift/HybridChartWebviewSpec.swift +3 -4
  62. package/lib/nitrogen/nitrogen/generated/ios/swift/HybridChartWebviewSpec_cxx.swift +18 -2
  63. package/lib/nitrogen/nitrogen/generated/shared/c++/HybridChartWebviewSpec.cpp +1 -1
  64. package/lib/nitrogen/nitrogen/generated/shared/c++/HybridChartWebviewSpec.hpp +1 -1
  65. package/lib/nitrogen/nitrogen/generated/shared/c++/views/HybridChartWebviewComponent.cpp +10 -26
  66. package/lib/nitrogen/nitrogen/generated/shared/c++/views/HybridChartWebviewComponent.hpp +9 -6
  67. package/nitrogen/generated/android/c++/JFunc_void.hpp +3 -3
  68. package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +3 -3
  69. package/nitrogen/generated/android/c++/JHybridChartWebviewSpec.cpp +49 -48
  70. package/nitrogen/generated/android/c++/JHybridChartWebviewSpec.hpp +20 -22
  71. package/nitrogen/generated/android/c++/views/JHybridChartWebviewStateUpdater.cpp +53 -53
  72. package/nitrogen/generated/android/c++/views/JHybridChartWebviewStateUpdater.hpp +4 -4
  73. package/nitrogen/generated/android/chartwebview+autolinking.cmake +1 -1
  74. package/nitrogen/generated/android/chartwebview+autolinking.gradle +1 -1
  75. package/nitrogen/generated/android/chartwebviewOnLoad.cpp +30 -20
  76. package/nitrogen/generated/android/chartwebviewOnLoad.hpp +14 -5
  77. package/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/Func_void.kt +1 -1
  78. package/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/Func_void_std__string.kt +1 -1
  79. package/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/HybridChartWebviewSpec.kt +17 -19
  80. package/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/chartwebviewOnLoad.kt +1 -1
  81. package/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/views/HybridChartWebviewManager.kt +40 -10
  82. package/nitrogen/generated/android/kotlin/com/margelo/nitro/chartwebview/views/HybridChartWebviewStateUpdater.kt +1 -1
  83. package/nitrogen/generated/ios/ChartWebview+autolinking.rb +2 -2
  84. package/nitrogen/generated/ios/ChartWebview-Swift-Cxx-Bridge.cpp +1 -1
  85. package/nitrogen/generated/ios/ChartWebview-Swift-Cxx-Bridge.hpp +5 -5
  86. package/nitrogen/generated/ios/ChartWebview-Swift-Cxx-Umbrella.hpp +1 -1
  87. package/nitrogen/generated/ios/ChartWebviewAutolinking.mm +1 -1
  88. package/nitrogen/generated/ios/ChartWebviewAutolinking.swift +9 -8
  89. package/nitrogen/generated/ios/c++/HybridChartWebviewSpecSwift.cpp +1 -1
  90. package/nitrogen/generated/ios/c++/HybridChartWebviewSpecSwift.hpp +7 -1
  91. package/nitrogen/generated/ios/c++/views/HybridChartWebviewComponent.mm +27 -1
  92. package/nitrogen/generated/ios/swift/Func_void.swift +1 -2
  93. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -2
  94. package/nitrogen/generated/ios/swift/HybridChartWebviewSpec.swift +3 -4
  95. package/nitrogen/generated/ios/swift/HybridChartWebviewSpec_cxx.swift +18 -2
  96. package/nitrogen/generated/shared/c++/HybridChartWebviewSpec.cpp +1 -1
  97. package/nitrogen/generated/shared/c++/HybridChartWebviewSpec.hpp +1 -1
  98. package/nitrogen/generated/shared/c++/views/HybridChartWebviewComponent.cpp +10 -26
  99. package/nitrogen/generated/shared/c++/views/HybridChartWebviewComponent.hpp +9 -6
  100. package/package.json +5 -5
@@ -2,7 +2,7 @@
2
2
  /// HybridChartWebviewComponent.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridChartWebviewComponent.hpp"
@@ -12,6 +12,7 @@
12
12
  #include <utility>
13
13
  #include <NitroModules/NitroDefines.hpp>
14
14
  #include <NitroModules/JSIConverter.hpp>
15
+ #include <NitroModules/PropNameIDCache.hpp>
15
16
  #include <react/renderer/core/RawValue.h>
16
17
  #include <react/renderer/core/ShadowNode.h>
17
18
  #include <react/renderer/core/ComponentDescriptor.h>
@@ -130,7 +131,7 @@ namespace margelo::nitro::chartwebview::views {
130
131
  const react::RawValue* rawValue = rawProps.at("onMessage", nullptr, nullptr);
131
132
  if (rawValue == nullptr) return sourceProps.onMessage;
132
133
  const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
133
- return CachedProp<std::optional<std::function<void(const std::string& /* message */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.onMessage);
134
+ return CachedProp<std::optional<std::function<void(const std::string& /* message */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, PropNameIDCache::get(*runtime, "f")), sourceProps.onMessage);
134
135
  } catch (const std::exception& exc) {
135
136
  throw std::runtime_error(std::string("ChartWebview.onMessage: ") + exc.what());
136
137
  }
@@ -140,7 +141,7 @@ namespace margelo::nitro::chartwebview::views {
140
141
  const react::RawValue* rawValue = rawProps.at("onLoadEnd", nullptr, nullptr);
141
142
  if (rawValue == nullptr) return sourceProps.onLoadEnd;
142
143
  const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
143
- return CachedProp<std::optional<std::function<void()>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.onLoadEnd);
144
+ return CachedProp<std::optional<std::function<void()>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, PropNameIDCache::get(*runtime, "f")), sourceProps.onLoadEnd);
144
145
  } catch (const std::exception& exc) {
145
146
  throw std::runtime_error(std::string("ChartWebview.onLoadEnd: ") + exc.what());
146
147
  }
@@ -150,7 +151,7 @@ namespace margelo::nitro::chartwebview::views {
150
151
  const react::RawValue* rawValue = rawProps.at("onError", nullptr, nullptr);
151
152
  if (rawValue == nullptr) return sourceProps.onError;
152
153
  const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
153
- return CachedProp<std::optional<std::function<void(const std::string& /* message */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.onError);
154
+ return CachedProp<std::optional<std::function<void(const std::string& /* message */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, PropNameIDCache::get(*runtime, "f")), sourceProps.onError);
154
155
  } catch (const std::exception& exc) {
155
156
  throw std::runtime_error(std::string("ChartWebview.onError: ") + exc.what());
156
157
  }
@@ -160,29 +161,12 @@ namespace margelo::nitro::chartwebview::views {
160
161
  const react::RawValue* rawValue = rawProps.at("hybridRef", nullptr, nullptr);
161
162
  if (rawValue == nullptr) return sourceProps.hybridRef;
162
163
  const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
163
- return CachedProp<std::optional<std::function<void(const std::shared_ptr<HybridChartWebviewSpec>& /* ref */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.hybridRef);
164
+ return CachedProp<std::optional<std::function<void(const std::shared_ptr<HybridChartWebviewSpec>& /* ref */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, PropNameIDCache::get(*runtime, "f")), sourceProps.hybridRef);
164
165
  } catch (const std::exception& exc) {
165
166
  throw std::runtime_error(std::string("ChartWebview.hybridRef: ") + exc.what());
166
167
  }
167
168
  }()) { }
168
169
 
169
- HybridChartWebviewProps::HybridChartWebviewProps(const HybridChartWebviewProps& other):
170
- react::ViewProps(),
171
- uri(other.uri),
172
- localBundle(other.localBundle),
173
- entry(other.entry),
174
- paramsJson(other.paramsJson),
175
- assetHost(other.assetHost),
176
- bridgeScript(other.bridgeScript),
177
- reuseKey(other.reuseKey),
178
- pooled(other.pooled),
179
- active(other.active),
180
- webviewDebuggingEnabled(other.webviewDebuggingEnabled),
181
- onMessage(other.onMessage),
182
- onLoadEnd(other.onLoadEnd),
183
- onError(other.onError),
184
- hybridRef(other.hybridRef) { }
185
-
186
170
  bool HybridChartWebviewProps::filterObjectKeys(const std::string& propName) {
187
171
  switch (hashString(propName)) {
188
172
  case hashString("uri"): return true;
@@ -220,10 +204,10 @@ namespace margelo::nitro::chartwebview::views {
220
204
  void HybridChartWebviewComponentDescriptor::adopt(react::ShadowNode& shadowNode) const {
221
205
  // This is called immediately after `ShadowNode` is created, cloned or in progress.
222
206
  // On Android, we need to wrap props in our state, which gets routed through Java and later unwrapped in JNI/C++.
223
- auto& concreteShadowNode = dynamic_cast<HybridChartWebviewShadowNode&>(shadowNode);
224
- const HybridChartWebviewProps& props = concreteShadowNode.getConcreteProps();
225
- HybridChartWebviewState state;
226
- state.setProps(props);
207
+ auto& concreteShadowNode = static_cast<HybridChartWebviewShadowNode&>(shadowNode);
208
+ const std::shared_ptr<const HybridChartWebviewProps>& constProps = concreteShadowNode.getConcreteSharedProps();
209
+ const std::shared_ptr<HybridChartWebviewProps>& props = std::const_pointer_cast<HybridChartWebviewProps>(constProps);
210
+ HybridChartWebviewState state{props};
227
211
  concreteShadowNode.setStateData(std::move(state));
228
212
  }
229
213
  #endif
@@ -2,7 +2,7 @@
2
2
  /// HybridChartWebviewComponent.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -37,7 +37,6 @@ namespace margelo::nitro::chartwebview::views {
37
37
  class HybridChartWebviewProps final: public react::ViewProps {
38
38
  public:
39
39
  HybridChartWebviewProps() = default;
40
- HybridChartWebviewProps(const HybridChartWebviewProps&);
41
40
  HybridChartWebviewProps(const react::PropsParserContext& context,
42
41
  const HybridChartWebviewProps& sourceProps,
43
42
  const react::RawProps& rawProps);
@@ -68,10 +67,14 @@ namespace margelo::nitro::chartwebview::views {
68
67
  class HybridChartWebviewState final {
69
68
  public:
70
69
  HybridChartWebviewState() = default;
70
+ explicit HybridChartWebviewState(const std::shared_ptr<HybridChartWebviewProps>& props):
71
+ _props(props) {}
71
72
 
72
73
  public:
73
- void setProps(const HybridChartWebviewProps& props) { _props.emplace(props); }
74
- const std::optional<HybridChartWebviewProps>& getProps() const { return _props; }
74
+ [[nodiscard]]
75
+ const std::shared_ptr<HybridChartWebviewProps>& getProps() const {
76
+ return _props;
77
+ }
75
78
 
76
79
  public:
77
80
  #ifdef ANDROID
@@ -85,7 +88,7 @@ namespace margelo::nitro::chartwebview::views {
85
88
  #endif
86
89
 
87
90
  private:
88
- std::optional<HybridChartWebviewProps> _props;
91
+ std::shared_ptr<HybridChartWebviewProps> _props;
89
92
  };
90
93
 
91
94
  /**
@@ -101,7 +104,7 @@ namespace margelo::nitro::chartwebview::views {
101
104
  */
102
105
  class HybridChartWebviewComponentDescriptor final: public react::ConcreteComponentDescriptor<HybridChartWebviewShadowNode> {
103
106
  public:
104
- HybridChartWebviewComponentDescriptor(const react::ComponentDescriptorParameters& parameters);
107
+ explicit HybridChartWebviewComponentDescriptor(const react::ComponentDescriptorParameters& parameters);
105
108
 
106
109
  public:
107
110
  /**
@@ -2,7 +2,7 @@
2
2
  /// JFunc_void.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -23,7 +23,7 @@ namespace margelo::nitro::chartwebview {
23
23
  */
24
24
  struct JFunc_void: public jni::JavaClass<JFunc_void> {
25
25
  public:
26
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/chartwebview/Func_void;";
26
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/chartwebview/Func_void;";
27
27
 
28
28
  public:
29
29
  /**
@@ -59,7 +59,7 @@ namespace margelo::nitro::chartwebview {
59
59
  }
60
60
 
61
61
  public:
62
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/chartwebview/Func_void_cxx;";
62
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/chartwebview/Func_void_cxx;";
63
63
  static void registerNatives() {
64
64
  registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_cxx::invoke_cxx)});
65
65
  }
@@ -2,7 +2,7 @@
2
2
  /// JFunc_void_std__string.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -24,7 +24,7 @@ namespace margelo::nitro::chartwebview {
24
24
  */
25
25
  struct JFunc_void_std__string: public jni::JavaClass<JFunc_void_std__string> {
26
26
  public:
27
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/chartwebview/Func_void_std__string;";
27
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/chartwebview/Func_void_std__string;";
28
28
 
29
29
  public:
30
30
  /**
@@ -60,7 +60,7 @@ namespace margelo::nitro::chartwebview {
60
60
  }
61
61
 
62
62
  public:
63
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/chartwebview/Func_void_std__string_cxx;";
63
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/chartwebview/Func_void_std__string_cxx;";
64
64
  static void registerNatives() {
65
65
  registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_std__string_cxx::invoke_cxx)});
66
66
  }
@@ -2,7 +2,7 @@
2
2
  /// JHybridChartWebviewSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "JHybridChartWebviewSpec.hpp"
@@ -18,125 +18,126 @@
18
18
 
19
19
  namespace margelo::nitro::chartwebview {
20
20
 
21
- jni::local_ref<JHybridChartWebviewSpec::jhybriddata> JHybridChartWebviewSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
22
- return makeCxxInstance(jThis);
23
- }
24
-
25
- void JHybridChartWebviewSpec::registerNatives() {
26
- registerHybrid({
27
- makeNativeMethod("initHybrid", JHybridChartWebviewSpec::initHybrid),
28
- });
21
+ std::shared_ptr<JHybridChartWebviewSpec> JHybridChartWebviewSpec::JavaPart::getJHybridChartWebviewSpec() {
22
+ auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
23
+ auto castHybridObject = std::dynamic_pointer_cast<JHybridChartWebviewSpec>(hybridObject);
24
+ if (castHybridObject == nullptr) [[unlikely]] {
25
+ throw std::runtime_error("Failed to downcast JHybridObject to JHybridChartWebviewSpec!");
26
+ }
27
+ return castHybridObject;
29
28
  }
30
29
 
31
- size_t JHybridChartWebviewSpec::getExternalMemorySize() noexcept {
32
- static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
33
- return method(_javaPart);
30
+ jni::local_ref<JHybridChartWebviewSpec::CxxPart::jhybriddata> JHybridChartWebviewSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
31
+ return makeCxxInstance(jThis);
34
32
  }
35
33
 
36
- void JHybridChartWebviewSpec::dispose() noexcept {
37
- static const auto method = javaClassStatic()->getMethod<void()>("dispose");
38
- method(_javaPart);
34
+ std::shared_ptr<JHybridObject> JHybridChartWebviewSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
35
+ auto castJavaPart = jni::dynamic_ref_cast<JHybridChartWebviewSpec::JavaPart>(javaPart);
36
+ if (castJavaPart == nullptr) [[unlikely]] {
37
+ throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridChartWebviewSpec::JavaPart!");
38
+ }
39
+ return std::make_shared<JHybridChartWebviewSpec>(castJavaPart);
39
40
  }
40
41
 
41
- std::string JHybridChartWebviewSpec::toString() {
42
- static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
43
- auto javaString = method(_javaPart);
44
- return javaString->toStdString();
42
+ void JHybridChartWebviewSpec::CxxPart::registerNatives() {
43
+ registerHybrid({
44
+ makeNativeMethod("initHybrid", JHybridChartWebviewSpec::CxxPart::initHybrid),
45
+ });
45
46
  }
46
47
 
47
48
  // Properties
48
49
  std::optional<std::string> JHybridChartWebviewSpec::getUri() {
49
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getUri");
50
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getUri");
50
51
  auto __result = method(_javaPart);
51
52
  return __result != nullptr ? std::make_optional(__result->toStdString()) : std::nullopt;
52
53
  }
53
54
  void JHybridChartWebviewSpec::setUri(const std::optional<std::string>& uri) {
54
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* uri */)>("setUri");
55
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* uri */)>("setUri");
55
56
  method(_javaPart, uri.has_value() ? jni::make_jstring(uri.value()) : nullptr);
56
57
  }
57
58
  std::optional<std::string> JHybridChartWebviewSpec::getLocalBundle() {
58
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getLocalBundle");
59
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getLocalBundle");
59
60
  auto __result = method(_javaPart);
60
61
  return __result != nullptr ? std::make_optional(__result->toStdString()) : std::nullopt;
61
62
  }
62
63
  void JHybridChartWebviewSpec::setLocalBundle(const std::optional<std::string>& localBundle) {
63
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* localBundle */)>("setLocalBundle");
64
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* localBundle */)>("setLocalBundle");
64
65
  method(_javaPart, localBundle.has_value() ? jni::make_jstring(localBundle.value()) : nullptr);
65
66
  }
66
67
  std::optional<std::string> JHybridChartWebviewSpec::getEntry() {
67
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getEntry");
68
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getEntry");
68
69
  auto __result = method(_javaPart);
69
70
  return __result != nullptr ? std::make_optional(__result->toStdString()) : std::nullopt;
70
71
  }
71
72
  void JHybridChartWebviewSpec::setEntry(const std::optional<std::string>& entry) {
72
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* entry */)>("setEntry");
73
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* entry */)>("setEntry");
73
74
  method(_javaPart, entry.has_value() ? jni::make_jstring(entry.value()) : nullptr);
74
75
  }
75
76
  std::optional<std::string> JHybridChartWebviewSpec::getParamsJson() {
76
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getParamsJson");
77
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getParamsJson");
77
78
  auto __result = method(_javaPart);
78
79
  return __result != nullptr ? std::make_optional(__result->toStdString()) : std::nullopt;
79
80
  }
80
81
  void JHybridChartWebviewSpec::setParamsJson(const std::optional<std::string>& paramsJson) {
81
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* paramsJson */)>("setParamsJson");
82
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* paramsJson */)>("setParamsJson");
82
83
  method(_javaPart, paramsJson.has_value() ? jni::make_jstring(paramsJson.value()) : nullptr);
83
84
  }
84
85
  std::optional<std::string> JHybridChartWebviewSpec::getAssetHost() {
85
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getAssetHost");
86
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getAssetHost");
86
87
  auto __result = method(_javaPart);
87
88
  return __result != nullptr ? std::make_optional(__result->toStdString()) : std::nullopt;
88
89
  }
89
90
  void JHybridChartWebviewSpec::setAssetHost(const std::optional<std::string>& assetHost) {
90
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* assetHost */)>("setAssetHost");
91
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* assetHost */)>("setAssetHost");
91
92
  method(_javaPart, assetHost.has_value() ? jni::make_jstring(assetHost.value()) : nullptr);
92
93
  }
93
94
  std::optional<std::string> JHybridChartWebviewSpec::getBridgeScript() {
94
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getBridgeScript");
95
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getBridgeScript");
95
96
  auto __result = method(_javaPart);
96
97
  return __result != nullptr ? std::make_optional(__result->toStdString()) : std::nullopt;
97
98
  }
98
99
  void JHybridChartWebviewSpec::setBridgeScript(const std::optional<std::string>& bridgeScript) {
99
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* bridgeScript */)>("setBridgeScript");
100
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* bridgeScript */)>("setBridgeScript");
100
101
  method(_javaPart, bridgeScript.has_value() ? jni::make_jstring(bridgeScript.value()) : nullptr);
101
102
  }
102
103
  std::optional<std::string> JHybridChartWebviewSpec::getReuseKey() {
103
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getReuseKey");
104
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getReuseKey");
104
105
  auto __result = method(_javaPart);
105
106
  return __result != nullptr ? std::make_optional(__result->toStdString()) : std::nullopt;
106
107
  }
107
108
  void JHybridChartWebviewSpec::setReuseKey(const std::optional<std::string>& reuseKey) {
108
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* reuseKey */)>("setReuseKey");
109
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* reuseKey */)>("setReuseKey");
109
110
  method(_javaPart, reuseKey.has_value() ? jni::make_jstring(reuseKey.value()) : nullptr);
110
111
  }
111
112
  std::optional<bool> JHybridChartWebviewSpec::getPooled() {
112
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JBoolean>()>("getPooled");
113
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JBoolean>()>("getPooled");
113
114
  auto __result = method(_javaPart);
114
115
  return __result != nullptr ? std::make_optional(static_cast<bool>(__result->value())) : std::nullopt;
115
116
  }
116
117
  void JHybridChartWebviewSpec::setPooled(std::optional<bool> pooled) {
117
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JBoolean> /* pooled */)>("setPooled");
118
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JBoolean> /* pooled */)>("setPooled");
118
119
  method(_javaPart, pooled.has_value() ? jni::JBoolean::valueOf(pooled.value()) : nullptr);
119
120
  }
120
121
  std::optional<bool> JHybridChartWebviewSpec::getActive() {
121
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JBoolean>()>("getActive");
122
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JBoolean>()>("getActive");
122
123
  auto __result = method(_javaPart);
123
124
  return __result != nullptr ? std::make_optional(static_cast<bool>(__result->value())) : std::nullopt;
124
125
  }
125
126
  void JHybridChartWebviewSpec::setActive(std::optional<bool> active) {
126
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JBoolean> /* active */)>("setActive");
127
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JBoolean> /* active */)>("setActive");
127
128
  method(_javaPart, active.has_value() ? jni::JBoolean::valueOf(active.value()) : nullptr);
128
129
  }
129
130
  std::optional<bool> JHybridChartWebviewSpec::getWebviewDebuggingEnabled() {
130
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JBoolean>()>("getWebviewDebuggingEnabled");
131
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<jni::JBoolean>()>("getWebviewDebuggingEnabled");
131
132
  auto __result = method(_javaPart);
132
133
  return __result != nullptr ? std::make_optional(static_cast<bool>(__result->value())) : std::nullopt;
133
134
  }
134
135
  void JHybridChartWebviewSpec::setWebviewDebuggingEnabled(std::optional<bool> webviewDebuggingEnabled) {
135
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JBoolean> /* webviewDebuggingEnabled */)>("setWebviewDebuggingEnabled");
136
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JBoolean> /* webviewDebuggingEnabled */)>("setWebviewDebuggingEnabled");
136
137
  method(_javaPart, webviewDebuggingEnabled.has_value() ? jni::JBoolean::valueOf(webviewDebuggingEnabled.value()) : nullptr);
137
138
  }
138
139
  std::optional<std::function<void(const std::string& /* message */)>> JHybridChartWebviewSpec::getOnMessage() {
139
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__string::javaobject>()>("getOnMessage_cxx");
140
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__string::javaobject>()>("getOnMessage_cxx");
140
141
  auto __result = method(_javaPart);
141
142
  return __result != nullptr ? std::make_optional([&]() -> std::function<void(const std::string& /* message */)> {
142
143
  if (__result->isInstanceOf(JFunc_void_std__string_cxx::javaClassStatic())) [[likely]] {
@@ -149,11 +150,11 @@ namespace margelo::nitro::chartwebview {
149
150
  }()) : std::nullopt;
150
151
  }
151
152
  void JHybridChartWebviewSpec::setOnMessage(const std::optional<std::function<void(const std::string& /* message */)>>& onMessage) {
152
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onMessage */)>("setOnMessage_cxx");
153
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onMessage */)>("setOnMessage_cxx");
153
154
  method(_javaPart, onMessage.has_value() ? JFunc_void_std__string_cxx::fromCpp(onMessage.value()) : nullptr);
154
155
  }
155
156
  std::optional<std::function<void()>> JHybridChartWebviewSpec::getOnLoadEnd() {
156
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>()>("getOnLoadEnd_cxx");
157
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>()>("getOnLoadEnd_cxx");
157
158
  auto __result = method(_javaPart);
158
159
  return __result != nullptr ? std::make_optional([&]() -> std::function<void()> {
159
160
  if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
@@ -166,11 +167,11 @@ namespace margelo::nitro::chartwebview {
166
167
  }()) : std::nullopt;
167
168
  }
168
169
  void JHybridChartWebviewSpec::setOnLoadEnd(const std::optional<std::function<void()>>& onLoadEnd) {
169
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* onLoadEnd */)>("setOnLoadEnd_cxx");
170
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* onLoadEnd */)>("setOnLoadEnd_cxx");
170
171
  method(_javaPart, onLoadEnd.has_value() ? JFunc_void_cxx::fromCpp(onLoadEnd.value()) : nullptr);
171
172
  }
172
173
  std::optional<std::function<void(const std::string& /* message */)>> JHybridChartWebviewSpec::getOnError() {
173
- static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__string::javaobject>()>("getOnError_cxx");
174
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JFunc_void_std__string::javaobject>()>("getOnError_cxx");
174
175
  auto __result = method(_javaPart);
175
176
  return __result != nullptr ? std::make_optional([&]() -> std::function<void(const std::string& /* message */)> {
176
177
  if (__result->isInstanceOf(JFunc_void_std__string_cxx::javaClassStatic())) [[likely]] {
@@ -183,21 +184,21 @@ namespace margelo::nitro::chartwebview {
183
184
  }()) : std::nullopt;
184
185
  }
185
186
  void JHybridChartWebviewSpec::setOnError(const std::optional<std::function<void(const std::string& /* message */)>>& onError) {
186
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onError */)>("setOnError_cxx");
187
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_std__string::javaobject> /* onError */)>("setOnError_cxx");
187
188
  method(_javaPart, onError.has_value() ? JFunc_void_std__string_cxx::fromCpp(onError.value()) : nullptr);
188
189
  }
189
190
 
190
191
  // Methods
191
192
  void JHybridChartWebviewSpec::postMessage(const std::string& message) {
192
- static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* message */)>("postMessage");
193
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* message */)>("postMessage");
193
194
  method(_javaPart, jni::make_jstring(message));
194
195
  }
195
196
  void JHybridChartWebviewSpec::reload() {
196
- static const auto method = javaClassStatic()->getMethod<void()>("reload");
197
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("reload");
197
198
  method(_javaPart);
198
199
  }
199
200
  void JHybridChartWebviewSpec::clearSnapshot() {
200
- static const auto method = javaClassStatic()->getMethod<void()>("clearSnapshot");
201
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void()>("clearSnapshot");
201
202
  method(_javaPart);
202
203
  }
203
204
 
@@ -2,7 +2,7 @@
2
2
  /// HybridChartWebviewSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -18,33 +18,33 @@ namespace margelo::nitro::chartwebview {
18
18
 
19
19
  using namespace facebook;
20
20
 
21
- class JHybridChartWebviewSpec: public jni::HybridClass<JHybridChartWebviewSpec, JHybridObject>,
22
- public virtual HybridChartWebviewSpec {
21
+ class JHybridChartWebviewSpec: public virtual HybridChartWebviewSpec, public virtual JHybridObject {
23
22
  public:
24
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/chartwebview/HybridChartWebviewSpec;";
25
- static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
26
- static void registerNatives();
27
-
28
- protected:
29
- // C++ constructor (called from Java via `initHybrid()`)
30
- explicit JHybridChartWebviewSpec(jni::alias_ref<jhybridobject> jThis) :
31
- HybridObject(HybridChartWebviewSpec::TAG),
32
- HybridBase(jThis),
33
- _javaPart(jni::make_global(jThis)) {}
23
+ struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
24
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/chartwebview/HybridChartWebviewSpec;";
25
+ std::shared_ptr<JHybridChartWebviewSpec> getJHybridChartWebviewSpec();
26
+ };
27
+ struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
28
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/chartwebview/HybridChartWebviewSpec$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 JHybridChartWebviewSpec(const jni::local_ref<JHybridChartWebviewSpec::JavaPart>& javaPart):
38
+ HybridObject(HybridChartWebviewSpec::TAG),
39
+ JHybridObject(javaPart),
40
+ _javaPart(jni::make_global(javaPart)) {}
36
41
  ~JHybridChartWebviewSpec() 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
- size_t getExternalMemorySize() noexcept override;
43
- void dispose() noexcept override;
44
- std::string toString() override;
45
-
46
- public:
47
- inline const jni::global_ref<JHybridChartWebviewSpec::javaobject>& getJavaPart() const noexcept {
47
+ inline const jni::global_ref<JHybridChartWebviewSpec::JavaPart>& getJavaPart() const noexcept {
48
48
  return _javaPart;
49
49
  }
50
50
 
@@ -84,9 +84,7 @@ namespace margelo::nitro::chartwebview {
84
84
  void clearSnapshot() override;
85
85
 
86
86
  private:
87
- friend HybridBase;
88
- using HybridBase::HybridBase;
89
- jni::global_ref<JHybridChartWebviewSpec::javaobject> _javaPart;
87
+ jni::global_ref<JHybridChartWebviewSpec::JavaPart> _javaPart;
90
88
  };
91
89
 
92
90
  } // namespace margelo::nitro::chartwebview