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 {