diff --git a/ios/HybridViewModel.swift b/ios/HybridViewModel.swift index 0f7cc256..6b0a0ad2 100644 --- a/ios/HybridViewModel.swift +++ b/ios/HybridViewModel.swift @@ -6,12 +6,7 @@ class HybridViewModel: HybridViewModelSpec { init(viewModel: RiveDataBindingViewModel) { self.viewModel = viewModel } - - override init() { - self.viewModel = nil - super.init() - } - + var propertyCount: Double { Double(viewModel?.propertyCount ?? 0) } var instanceCount: Double { Double(viewModel?.instanceCount ?? 0) } diff --git a/ios/HybridViewModelBooleanProperty.swift b/ios/HybridViewModelBooleanProperty.swift index c2b7985c..acf62da1 100644 --- a/ios/HybridViewModelBooleanProperty.swift +++ b/ios/HybridViewModelBooleanProperty.swift @@ -9,15 +9,7 @@ class HybridViewModelBooleanProperty: HybridViewModelBooleanPropertySpec, Valued self.property = property super.init() } - - /// ⚠️ DO NOT REMOVE - /// Nitro requires a parameterless initializer for JS bridging. - /// This is invoked automatically during hybrid module construction. - /// Internally we always use `init(property:)` - override init() { - super.init() - } - + var value: Bool { get { return property.value diff --git a/ios/HybridViewModelColorProperty.swift b/ios/HybridViewModelColorProperty.swift index ede2a4d0..8d7e0b4c 100644 --- a/ios/HybridViewModelColorProperty.swift +++ b/ios/HybridViewModelColorProperty.swift @@ -9,15 +9,7 @@ class HybridViewModelColorProperty: HybridViewModelColorPropertySpec, ValuedProp self.property = property super.init() } - - /// ⚠️ DO NOT REMOVE - /// Nitro requires a parameterless initializer for JS bridging. - /// This is invoked automatically during hybrid module construction. - /// Internally we always use `init(property:)` - override init() { - super.init() - } - + var value: Double { get { return property.value.toHexDouble() diff --git a/ios/HybridViewModelEnumProperty.swift b/ios/HybridViewModelEnumProperty.swift index c7f6a79d..a758786d 100644 --- a/ios/HybridViewModelEnumProperty.swift +++ b/ios/HybridViewModelEnumProperty.swift @@ -9,15 +9,7 @@ class HybridViewModelEnumProperty: HybridViewModelEnumPropertySpec, ValuedProper self.property = property super.init() } - - /// ⚠️ DO NOT REMOVE - /// Nitro requires a parameterless initializer for JS bridging. - /// This is invoked automatically during hybrid module construction. - /// Internally we always use `init(property:)` - override init() { - super.init() - } - + var value: String { get { return property.value diff --git a/ios/HybridViewModelInstance.swift b/ios/HybridViewModelInstance.swift index 9ab3c6b7..d6a4c7ca 100644 --- a/ios/HybridViewModelInstance.swift +++ b/ios/HybridViewModelInstance.swift @@ -6,12 +6,7 @@ class HybridViewModelInstance: HybridViewModelInstanceSpec { init(viewModelInstance: RiveDataBindingViewModel.Instance) { self.viewModelInstance = viewModelInstance } - - override init() { - self.viewModelInstance = nil - super.init() - } - + var instanceName: String { viewModelInstance?.name ?? "" } func numberProperty(path: String) throws -> (any HybridViewModelNumberPropertySpec)? { diff --git a/ios/HybridViewModelNumberProperty.swift b/ios/HybridViewModelNumberProperty.swift index ff0f45ff..82dfafe5 100644 --- a/ios/HybridViewModelNumberProperty.swift +++ b/ios/HybridViewModelNumberProperty.swift @@ -9,14 +9,6 @@ class HybridViewModelNumberProperty: HybridViewModelNumberPropertySpec, ValuedPr super.init() } - /// ⚠️ DO NOT REMOVE - /// Nitro requires a parameterless initializer for JS bridging. - /// This is invoked automatically during hybrid module construction. - /// Internally we always use `init(property:)` - override init() { - super.init() - } - var value: Double { get { return Double(property.value) diff --git a/ios/HybridViewModelStringProperty.swift b/ios/HybridViewModelStringProperty.swift index e96dfc84..ea681f5e 100644 --- a/ios/HybridViewModelStringProperty.swift +++ b/ios/HybridViewModelStringProperty.swift @@ -9,15 +9,7 @@ class HybridViewModelStringProperty: HybridViewModelStringPropertySpec, ValuedPr self.property = property super.init() } - - /// ⚠️ DO NOT REMOVE - /// Nitro requires a parameterless initializer for JS bridging. - /// This is invoked automatically during hybrid module construction. - /// Internally we always use `init(property:)` - override init() { - super.init() - } - + var value: String { get { return property.value diff --git a/nitro.json b/nitro.json index 8e0836c1..2213016c 100644 --- a/nitro.json +++ b/nitro.json @@ -21,38 +21,6 @@ "swift": "HybridRiveFile", "kotlin": "HybridRiveFile" }, - "ViewModel": { - "swift": "HybridViewModel", - "kotlin": "HybridViewModel" - }, - "ViewModelInstance": { - "swift": "HybridViewModelInstance", - "kotlin": "HybridViewModelInstance" - }, - "ViewModelNumberProperty": { - "swift": "HybridViewModelNumberProperty", - "kotlin": "HybridViewModelNumberProperty" - }, - "ViewModelStringProperty": { - "swift": "HybridViewModelStringProperty", - "kotlin": "HybridViewModelStringProperty" - }, - "ViewModelBooleanProperty": { - "swift": "HybridViewModelBooleanProperty", - "kotlin": "HybridViewModelBooleanProperty" - }, - "ViewModelColorProperty": { - "swift": "HybridViewModelColorProperty", - "kotlin": "HybridViewModelColorProperty" - }, - "ViewModelEnumProperty": { - "swift": "HybridViewModelEnumProperty", - "kotlin": "HybridViewModelEnumProperty" - }, - "ViewModelImageProperty": { - "swift": "HybridViewModelImageProperty", - "kotlin": "HybridViewModelImageProperty" - }, "RiveView": { "swift": "HybridRiveView", "kotlin": "HybridRiveView" diff --git a/nitrogen/generated/android/riveOnLoad.cpp b/nitrogen/generated/android/riveOnLoad.cpp index 36dbc3cf..031508ce 100644 --- a/nitrogen/generated/android/riveOnLoad.cpp +++ b/nitrogen/generated/android/riveOnLoad.cpp @@ -98,70 +98,6 @@ int initialize(JavaVM* vm) { return instance->cthis()->shared(); } ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModel", - []() -> std::shared_ptr { - static DefaultConstructableObject object("com/margelo/nitro/rive/HybridViewModel"); - auto instance = object.create(); - return instance->cthis()->shared(); - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelInstance", - []() -> std::shared_ptr { - static DefaultConstructableObject object("com/margelo/nitro/rive/HybridViewModelInstance"); - auto instance = object.create(); - return instance->cthis()->shared(); - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelNumberProperty", - []() -> std::shared_ptr { - static DefaultConstructableObject object("com/margelo/nitro/rive/HybridViewModelNumberProperty"); - auto instance = object.create(); - return instance->cthis()->shared(); - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelStringProperty", - []() -> std::shared_ptr { - static DefaultConstructableObject object("com/margelo/nitro/rive/HybridViewModelStringProperty"); - auto instance = object.create(); - return instance->cthis()->shared(); - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelBooleanProperty", - []() -> std::shared_ptr { - static DefaultConstructableObject object("com/margelo/nitro/rive/HybridViewModelBooleanProperty"); - auto instance = object.create(); - return instance->cthis()->shared(); - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelColorProperty", - []() -> std::shared_ptr { - static DefaultConstructableObject object("com/margelo/nitro/rive/HybridViewModelColorProperty"); - auto instance = object.create(); - return instance->cthis()->shared(); - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelEnumProperty", - []() -> std::shared_ptr { - static DefaultConstructableObject object("com/margelo/nitro/rive/HybridViewModelEnumProperty"); - auto instance = object.create(); - return instance->cthis()->shared(); - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelImageProperty", - []() -> std::shared_ptr { - static DefaultConstructableObject object("com/margelo/nitro/rive/HybridViewModelImageProperty"); - auto instance = object.create(); - return instance->cthis()->shared(); - } - ); HybridObjectRegistry::registerHybridObjectConstructor( "RiveView", []() -> std::shared_ptr { diff --git a/nitrogen/generated/ios/RNRiveAutolinking.mm b/nitrogen/generated/ios/RNRiveAutolinking.mm index 1e8104c0..ff3e3032 100644 --- a/nitrogen/generated/ios/RNRiveAutolinking.mm +++ b/nitrogen/generated/ios/RNRiveAutolinking.mm @@ -13,14 +13,6 @@ #include "HybridRiveSpecSwift.hpp" #include "HybridRiveFileFactorySpecSwift.hpp" #include "HybridRiveFileSpecSwift.hpp" -#include "HybridViewModelSpecSwift.hpp" -#include "HybridViewModelInstanceSpecSwift.hpp" -#include "HybridViewModelNumberPropertySpecSwift.hpp" -#include "HybridViewModelStringPropertySpecSwift.hpp" -#include "HybridViewModelBooleanPropertySpecSwift.hpp" -#include "HybridViewModelColorPropertySpecSwift.hpp" -#include "HybridViewModelEnumPropertySpecSwift.hpp" -#include "HybridViewModelImagePropertySpecSwift.hpp" #include "HybridRiveViewSpecSwift.hpp" #include "HybridRiveImageFactorySpecSwift.hpp" @@ -54,62 +46,6 @@ + (void) load { return hybridObject; } ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModel", - []() -> std::shared_ptr { - std::shared_ptr hybridObject = RNRive::RNRiveAutolinking::createViewModel(); - return hybridObject; - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelInstance", - []() -> std::shared_ptr { - std::shared_ptr hybridObject = RNRive::RNRiveAutolinking::createViewModelInstance(); - return hybridObject; - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelNumberProperty", - []() -> std::shared_ptr { - std::shared_ptr hybridObject = RNRive::RNRiveAutolinking::createViewModelNumberProperty(); - return hybridObject; - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelStringProperty", - []() -> std::shared_ptr { - std::shared_ptr hybridObject = RNRive::RNRiveAutolinking::createViewModelStringProperty(); - return hybridObject; - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelBooleanProperty", - []() -> std::shared_ptr { - std::shared_ptr hybridObject = RNRive::RNRiveAutolinking::createViewModelBooleanProperty(); - return hybridObject; - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelColorProperty", - []() -> std::shared_ptr { - std::shared_ptr hybridObject = RNRive::RNRiveAutolinking::createViewModelColorProperty(); - return hybridObject; - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelEnumProperty", - []() -> std::shared_ptr { - std::shared_ptr hybridObject = RNRive::RNRiveAutolinking::createViewModelEnumProperty(); - return hybridObject; - } - ); - HybridObjectRegistry::registerHybridObjectConstructor( - "ViewModelImageProperty", - []() -> std::shared_ptr { - std::shared_ptr hybridObject = RNRive::RNRiveAutolinking::createViewModelImageProperty(); - return hybridObject; - } - ); HybridObjectRegistry::registerHybridObjectConstructor( "RiveView", []() -> std::shared_ptr { diff --git a/nitrogen/generated/ios/RNRiveAutolinking.swift b/nitrogen/generated/ios/RNRiveAutolinking.swift index 82aae863..ded67b5e 100644 --- a/nitrogen/generated/ios/RNRiveAutolinking.swift +++ b/nitrogen/generated/ios/RNRiveAutolinking.swift @@ -53,126 +53,6 @@ public final class RNRiveAutolinking { }() } - /** - * Creates an instance of a Swift class that implements `HybridViewModelSpec`, - * and wraps it in a Swift class that can directly interop with C++ (`HybridViewModelSpec_cxx`) - * - * This is generated by Nitrogen and will initialize the class specified - * in the `"autolinking"` property of `nitro.json` (in this case, `HybridViewModel`). - */ - public static func createViewModel() -> bridge.std__shared_ptr_HybridViewModelSpec_ { - let hybridObject = HybridViewModel() - return { () -> bridge.std__shared_ptr_HybridViewModelSpec_ in - let __cxxWrapped = hybridObject.getCxxWrapper() - return __cxxWrapped.getCxxPart() - }() - } - - /** - * Creates an instance of a Swift class that implements `HybridViewModelInstanceSpec`, - * and wraps it in a Swift class that can directly interop with C++ (`HybridViewModelInstanceSpec_cxx`) - * - * This is generated by Nitrogen and will initialize the class specified - * in the `"autolinking"` property of `nitro.json` (in this case, `HybridViewModelInstance`). - */ - public static func createViewModelInstance() -> bridge.std__shared_ptr_HybridViewModelInstanceSpec_ { - let hybridObject = HybridViewModelInstance() - return { () -> bridge.std__shared_ptr_HybridViewModelInstanceSpec_ in - let __cxxWrapped = hybridObject.getCxxWrapper() - return __cxxWrapped.getCxxPart() - }() - } - - /** - * Creates an instance of a Swift class that implements `HybridViewModelNumberPropertySpec`, - * and wraps it in a Swift class that can directly interop with C++ (`HybridViewModelNumberPropertySpec_cxx`) - * - * This is generated by Nitrogen and will initialize the class specified - * in the `"autolinking"` property of `nitro.json` (in this case, `HybridViewModelNumberProperty`). - */ - public static func createViewModelNumberProperty() -> bridge.std__shared_ptr_HybridViewModelNumberPropertySpec_ { - let hybridObject = HybridViewModelNumberProperty() - return { () -> bridge.std__shared_ptr_HybridViewModelNumberPropertySpec_ in - let __cxxWrapped = hybridObject.getCxxWrapper() - return __cxxWrapped.getCxxPart() - }() - } - - /** - * Creates an instance of a Swift class that implements `HybridViewModelStringPropertySpec`, - * and wraps it in a Swift class that can directly interop with C++ (`HybridViewModelStringPropertySpec_cxx`) - * - * This is generated by Nitrogen and will initialize the class specified - * in the `"autolinking"` property of `nitro.json` (in this case, `HybridViewModelStringProperty`). - */ - public static func createViewModelStringProperty() -> bridge.std__shared_ptr_HybridViewModelStringPropertySpec_ { - let hybridObject = HybridViewModelStringProperty() - return { () -> bridge.std__shared_ptr_HybridViewModelStringPropertySpec_ in - let __cxxWrapped = hybridObject.getCxxWrapper() - return __cxxWrapped.getCxxPart() - }() - } - - /** - * Creates an instance of a Swift class that implements `HybridViewModelBooleanPropertySpec`, - * and wraps it in a Swift class that can directly interop with C++ (`HybridViewModelBooleanPropertySpec_cxx`) - * - * This is generated by Nitrogen and will initialize the class specified - * in the `"autolinking"` property of `nitro.json` (in this case, `HybridViewModelBooleanProperty`). - */ - public static func createViewModelBooleanProperty() -> bridge.std__shared_ptr_HybridViewModelBooleanPropertySpec_ { - let hybridObject = HybridViewModelBooleanProperty() - return { () -> bridge.std__shared_ptr_HybridViewModelBooleanPropertySpec_ in - let __cxxWrapped = hybridObject.getCxxWrapper() - return __cxxWrapped.getCxxPart() - }() - } - - /** - * Creates an instance of a Swift class that implements `HybridViewModelColorPropertySpec`, - * and wraps it in a Swift class that can directly interop with C++ (`HybridViewModelColorPropertySpec_cxx`) - * - * This is generated by Nitrogen and will initialize the class specified - * in the `"autolinking"` property of `nitro.json` (in this case, `HybridViewModelColorProperty`). - */ - public static func createViewModelColorProperty() -> bridge.std__shared_ptr_HybridViewModelColorPropertySpec_ { - let hybridObject = HybridViewModelColorProperty() - return { () -> bridge.std__shared_ptr_HybridViewModelColorPropertySpec_ in - let __cxxWrapped = hybridObject.getCxxWrapper() - return __cxxWrapped.getCxxPart() - }() - } - - /** - * Creates an instance of a Swift class that implements `HybridViewModelEnumPropertySpec`, - * and wraps it in a Swift class that can directly interop with C++ (`HybridViewModelEnumPropertySpec_cxx`) - * - * This is generated by Nitrogen and will initialize the class specified - * in the `"autolinking"` property of `nitro.json` (in this case, `HybridViewModelEnumProperty`). - */ - public static func createViewModelEnumProperty() -> bridge.std__shared_ptr_HybridViewModelEnumPropertySpec_ { - let hybridObject = HybridViewModelEnumProperty() - return { () -> bridge.std__shared_ptr_HybridViewModelEnumPropertySpec_ in - let __cxxWrapped = hybridObject.getCxxWrapper() - return __cxxWrapped.getCxxPart() - }() - } - - /** - * Creates an instance of a Swift class that implements `HybridViewModelImagePropertySpec`, - * and wraps it in a Swift class that can directly interop with C++ (`HybridViewModelImagePropertySpec_cxx`) - * - * This is generated by Nitrogen and will initialize the class specified - * in the `"autolinking"` property of `nitro.json` (in this case, `HybridViewModelImageProperty`). - */ - public static func createViewModelImageProperty() -> bridge.std__shared_ptr_HybridViewModelImagePropertySpec_ { - let hybridObject = HybridViewModelImageProperty() - return { () -> bridge.std__shared_ptr_HybridViewModelImagePropertySpec_ in - let __cxxWrapped = hybridObject.getCxxWrapper() - return __cxxWrapped.getCxxPart() - }() - } - /** * Creates an instance of a Swift class that implements `HybridRiveViewSpec`, * and wraps it in a Swift class that can directly interop with C++ (`HybridRiveViewSpec_cxx`)