diff --git a/docs/docs/nitrogen.md b/docs/docs/nitrogen.md index bbd551286..e8471439e 100644 --- a/docs/docs/nitrogen.md +++ b/docs/docs/nitrogen.md @@ -23,7 +23,7 @@ interface Math extends HybridObject {
```swift title="HybridMathSpec.swift (generated)" -protocol HybridMathSpec: HybridObjectSpec { +protocol HybridMathSpec: HybridObject { var pi: Double { get } func add(a: Double, b: Double) -> Double } diff --git a/docs/docs/types/types.md b/docs/docs/types/types.md index 63b36fdad..ff966720f 100644 --- a/docs/docs/types/types.md +++ b/docs/docs/types/types.md @@ -146,7 +146,7 @@ These are all the types Nitro supports out of the box: ..any HybridObject std::shared_ptr<HybridObject> - HybridObjectSpec + HybridObject HybridObject diff --git a/packages/nitrogen/src/syntax/swift/SwiftHybridObject.ts b/packages/nitrogen/src/syntax/swift/SwiftHybridObject.ts index 303ff5580..a99ce5f30 100644 --- a/packages/nitrogen/src/syntax/swift/SwiftHybridObject.ts +++ b/packages/nitrogen/src/syntax/swift/SwiftHybridObject.ts @@ -40,8 +40,8 @@ public ${hasBaseClass ? 'override func' : 'func'} getCxxWrapper() -> ${name.Hybr }`.trim() ) if (!hasBaseClass) { - // It doesn't have a base class - implement the `HybridObjectSpec` base protocol - classBaseClasses.push('HybridObjectSpec') + // It doesn't have a base class - implement the `HybridObject` base protocol + classBaseClasses.push('HybridObject') baseMembers.push(`public var memorySize: Int { return 0 }`) } diff --git a/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridBaseSpec.swift b/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridBaseSpec.swift index 7a54681b5..17b99bc3a 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridBaseSpec.swift +++ b/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridBaseSpec.swift @@ -18,7 +18,7 @@ public protocol HybridBaseSpec_protocol: AnyObject { } /// See ``HybridBaseSpec`` -public class HybridBaseSpec_base: HybridObjectSpec { +public class HybridBaseSpec_base: HybridObject { private weak var cxxWrapper: HybridBaseSpec_cxx? = nil public func getCxxWrapper() -> HybridBaseSpec_cxx { #if DEBUG diff --git a/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridImageFactorySpec.swift b/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridImageFactorySpec.swift index f8155f440..527ba5217 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridImageFactorySpec.swift +++ b/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridImageFactorySpec.swift @@ -21,7 +21,7 @@ public protocol HybridImageFactorySpec_protocol: AnyObject { } /// See ``HybridImageFactorySpec`` -public class HybridImageFactorySpec_base: HybridObjectSpec { +public class HybridImageFactorySpec_base: HybridObject { private weak var cxxWrapper: HybridImageFactorySpec_cxx? = nil public func getCxxWrapper() -> HybridImageFactorySpec_cxx { #if DEBUG diff --git a/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridImageSpec.swift b/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridImageSpec.swift index e02e5263a..bade63586 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridImageSpec.swift +++ b/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridImageSpec.swift @@ -21,7 +21,7 @@ public protocol HybridImageSpec_protocol: AnyObject { } /// See ``HybridImageSpec`` -public class HybridImageSpec_base: HybridObjectSpec { +public class HybridImageSpec_base: HybridObject { private weak var cxxWrapper: HybridImageSpec_cxx? = nil public func getCxxWrapper() -> HybridImageSpec_cxx { #if DEBUG diff --git a/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridTestObjectSwiftKotlinSpec.swift b/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridTestObjectSwiftKotlinSpec.swift index d9dff5631..ab0e04cda 100644 --- a/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridTestObjectSwiftKotlinSpec.swift +++ b/packages/react-native-nitro-image/nitrogen/generated/ios/swift/HybridTestObjectSwiftKotlinSpec.swift @@ -79,7 +79,7 @@ public protocol HybridTestObjectSwiftKotlinSpec_protocol: AnyObject { } /// See ``HybridTestObjectSwiftKotlinSpec`` -public class HybridTestObjectSwiftKotlinSpec_base: HybridObjectSpec { +public class HybridTestObjectSwiftKotlinSpec_base: HybridObject { private weak var cxxWrapper: HybridTestObjectSwiftKotlinSpec_cxx? = nil public func getCxxWrapper() -> HybridTestObjectSwiftKotlinSpec_cxx { #if DEBUG diff --git a/packages/react-native-nitro-modules/README.md b/packages/react-native-nitro-modules/README.md index 75ceefc74..651c6b54a 100644 --- a/packages/react-native-nitro-modules/README.md +++ b/packages/react-native-nitro-modules/README.md @@ -208,7 +208,7 @@ The following C++ / JS types are supported out of the box: ..any HybridObject std::shared_ptr<HybridObject> - HybridObjectSpec + HybridObject HybridObject diff --git a/packages/react-native-nitro-modules/ios/core/HybridObjectSpec.swift b/packages/react-native-nitro-modules/ios/core/HybridObject.swift similarity index 77% rename from packages/react-native-nitro-modules/ios/core/HybridObjectSpec.swift rename to packages/react-native-nitro-modules/ios/core/HybridObject.swift index 5f3b3a75a..d8af0371b 100644 --- a/packages/react-native-nitro-modules/ios/core/HybridObjectSpec.swift +++ b/packages/react-native-nitro-modules/ios/core/HybridObject.swift @@ -1,5 +1,5 @@ // -// HybridObjectSpec.swift +// HybridObject.swift // NitroModules // // Created by Marc Rousavy on 23.07.24. @@ -10,7 +10,7 @@ import Foundation /** * A base protocol for all Swift-based Hybrid Objects. */ -public protocol HybridObjectSpec: AnyObject { +public protocol HybridObject: AnyObject { /** * Get the memory size of the Swift instance (plus any external heap allocations), * in bytes. @@ -29,6 +29,9 @@ public protocol HybridObjectSpec: AnyObject { var memorySize: Int { get } } +@available(*, deprecated, message: "HybridObjectSpec has been renamed to HybridObject. Update Nitrogen and re-generate your specs.") +public typealias HybridObjectSpec = HybridObject + public extension HybridObjectSpec { @available(*, deprecated, message: "getSizeOf(...) will now be default-computed. Please remove getSizeOf() from your code.") func getSizeOf(_ instance: T) -> Int {