From 8f72867541b2f7e37beff769668e937a7f3ae2b6 Mon Sep 17 00:00:00 2001 From: Andrei Kologreev Date: Wed, 1 Apr 2026 04:54:01 +0400 Subject: [PATCH 01/10] test env --- bun.lock | 4 - .../NitroExample.xcodeproj/project.pbxproj | 42 +++++-- example/ios/Podfile | 1 + example/ios/Podfile.lock | 104 +++++++++--------- example/package.json | 1 - .../src/screens/HybridObjectTestsScreen.tsx | 20 +--- .../nitro.json | 10 ++ .../src/specs/SomeExternalObject.nitro.ts | 12 ++ .../src/specs/TestView.nitro.ts | 19 ++++ 9 files changed, 128 insertions(+), 85 deletions(-) create mode 100644 packages/react-native-nitro-test-external/src/specs/TestView.nitro.ts diff --git a/bun.lock b/bun.lock index cab467a20..6c660b9bc 100644 --- a/bun.lock +++ b/bun.lock @@ -1,6 +1,5 @@ { "lockfileVersion": 1, - "configVersion": 0, "workspaces": { "": { "name": "react-native-nitro", @@ -58,7 +57,6 @@ "name": "react-native-nitro-example", "version": "0.35.2", "dependencies": { - "@react-native-segmented-control/segmented-control": "^2.5.7", "@react-navigation/bottom-tabs": "^7.4.5", "@react-navigation/native": "^7.1.26", "deep-equal": "^2.2.3", @@ -991,8 +989,6 @@ "@react-native-harness/tools": ["@react-native-harness/tools@1.0.0-alpha.21", "", { "dependencies": { "@clack/prompts": "1.0.0-alpha.5", "is-unicode-supported": "^0.1.0", "nano-spawn": "^1.0.2", "picocolors": "^1.1.1", "tslib": "^2.3.0" }, "peerDependencies": { "react-native": "*" } }, "sha512-xfcKc2QytpLXqu71ZvSKYNIjh2T/799UWFPopzUEYB9H+I9ZC//vJF36EmqlSXnRX73ym+Z8b6llGBcEzqrwEQ=="], - "@react-native-segmented-control/segmented-control": ["@react-native-segmented-control/segmented-control@2.5.7", "", { "peerDependencies": { "react": ">=16.0", "react-native": ">=0.62" } }, "sha512-l84YeVX8xAU3lvOJSvV4nK/NbGhIm2gBfveYolwaoCbRp+/SLXtc6mYrQmM9ScXNwU14mnzjQTpTHWl5YPnkzQ=="], - "@react-native/assets-registry": ["@react-native/assets-registry@0.83.0", "", {}, "sha512-EmGSKDvmnEnBrTK75T+0Syt6gy/HACOTfziw5+392Kr1Bb28Rv26GyOIkvptnT+bb2VDHU0hx9G0vSy5/S3rmQ=="], "@react-native/babel-plugin-codegen": ["@react-native/babel-plugin-codegen@0.83.0", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@react-native/codegen": "0.83.0" } }, "sha512-H5K0hnv9EhcenojZb9nUMIKPvHZ7ba9vpCyQIeGJmUTDYwZqjmXXyH73+uZo+GHjCIq1n0eF/soC5HJQzalh/Q=="], diff --git a/example/ios/NitroExample.xcodeproj/project.pbxproj b/example/ios/NitroExample.xcodeproj/project.pbxproj index 8ccffb976..8ae321ec2 100644 --- a/example/ios/NitroExample.xcodeproj/project.pbxproj +++ b/example/ios/NitroExample.xcodeproj/project.pbxproj @@ -7,12 +7,12 @@ objects = { /* Begin PBXBuildFile section */ - 0C80B921A6F3F58F76C31292 /* libPods-NitroExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-NitroExample.a */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; B5425A16F500085048F53261 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = A98DCE138B16911E2CF8DB85 /* PrivacyInfo.xcprivacy */; }; B81C701C2D42679D0010CA06 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B81C701B2D42679D0010CA06 /* AppDelegate.swift */; }; B88F64252CE4CF530079E862 /* MGLExampleTurboModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = B88F64242CE4CF4F0079E862 /* MGLExampleTurboModule.mm */; }; + CC3110D1676D9562A988E96F /* Pods_NitroExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0598AA40AC69E5794A4E726 /* Pods_NitroExample.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -33,8 +33,8 @@ 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = NitroExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; 3B4392A12AC88292D35C810B /* Pods-NitroExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NitroExample.debug.xcconfig"; path = "Target Support Files/Pods-NitroExample/Pods-NitroExample.debug.xcconfig"; sourceTree = ""; }; 5709B34CF0A7D63546082F79 /* Pods-NitroExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NitroExample.release.xcconfig"; path = "Target Support Files/Pods-NitroExample/Pods-NitroExample.release.xcconfig"; sourceTree = ""; }; - 5DCACB8F33CDC322A6C60F78 /* libPods-NitroExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NitroExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = NitroExample/LaunchScreen.storyboard; sourceTree = ""; }; + A0598AA40AC69E5794A4E726 /* Pods_NitroExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_NitroExample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A98DCE138B16911E2CF8DB85 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = NitroExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; B81C701B2D42679D0010CA06 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = NitroExample/AppDelegate.swift; sourceTree = ""; }; B88F64232CE4CF480079E862 /* MGLExampleTurboModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGLExampleTurboModule.h; sourceTree = ""; }; @@ -54,7 +54,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0C80B921A6F3F58F76C31292 /* libPods-NitroExample.a in Frameworks */, + CC3110D1676D9562A988E96F /* Pods_NitroExample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -79,7 +79,7 @@ isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 5DCACB8F33CDC322A6C60F78 /* libPods-NitroExample.a */, + A0598AA40AC69E5794A4E726 /* Pods_NitroExample.framework */, ); name = Frameworks; sourceTree = ""; @@ -389,7 +389,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = CJW62Q77E7; + DEVELOPMENT_TEAM = Y9326JGWX2; ENABLE_BITCODE = NO; INFOPLIST_FILE = NitroExample/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Nitro Example"; @@ -405,7 +405,7 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = com.mrousavy.nitro.example; + PRODUCT_BUNDLE_IDENTIFIER = com.mrousavy.nitro.example.a; PRODUCT_NAME = NitroExample; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -424,7 +424,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = CJW62Q77E7; + DEVELOPMENT_TEAM = Y9326JGWX2; INFOPLIST_FILE = NitroExample/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Nitro Example"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; @@ -439,7 +439,7 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = com.mrousavy.nitro.example; + PRODUCT_BUNDLE_IDENTIFIER = com.mrousavy.nitro.example.a; PRODUCT_NAME = NitroExample; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -501,6 +501,19 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "${PODS_ROOT}/ReactCommon", + "${PODS_ROOT}/ReactCommon/react/nativemodule/core", + "${PODS_ROOT}/React-runtimeexecutor", + "${PODS_ROOT}/React-runtimeexecutor/platform/ios", + "${PODS_ROOT}/ReactCommon-Samples", + "${PODS_ROOT}/ReactCommon-Samples/platform/ios", + "${PODS_ROOT}/React-Fabric/react/renderer/components/view/platform/cxx", + "${PODS_ROOT}/React-NativeModulesApple", + "${PODS_ROOT}/React-graphics", + "${PODS_ROOT}/React-graphics/react/renderer/graphics/platform/ios", + ); IPHONEOS_DEPLOYMENT_TARGET = 15.1; LD = ""; LDPLUSPLUS = ""; @@ -581,6 +594,19 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "${PODS_ROOT}/ReactCommon", + "${PODS_ROOT}/ReactCommon/react/nativemodule/core", + "${PODS_ROOT}/React-runtimeexecutor", + "${PODS_ROOT}/React-runtimeexecutor/platform/ios", + "${PODS_ROOT}/ReactCommon-Samples", + "${PODS_ROOT}/ReactCommon-Samples/platform/ios", + "${PODS_ROOT}/React-Fabric/react/renderer/components/view/platform/cxx", + "${PODS_ROOT}/React-NativeModulesApple", + "${PODS_ROOT}/React-graphics", + "${PODS_ROOT}/React-graphics/react/renderer/graphics/platform/ios", + ); IPHONEOS_DEPLOYMENT_TARGET = 15.1; LD = ""; LDPLUSPLUS = ""; diff --git a/example/ios/Podfile b/example/ios/Podfile index ec564d1c2..2310a8919 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -1,6 +1,7 @@ ENV['RCT_NEW_ARCH_ENABLED'] = '1' ENV['RCT_USE_RN_DEP'] = '1' ENV['RCT_USE_PREBUILT_RNCORE'] = '1' +ENV['USE_FRAMEWORKS'] = 'static' Pod::UI.puts "Building with USE_FRAMEWORKS = #{ENV['USE_FRAMEWORKS']}..." diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index e480a462a..ade5a31f6 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1537,8 +1537,6 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - react-native-segmented-control (2.5.7): - - React-Core - React-NativeModulesApple (0.83.0): - hermes-engine - React-callinvoker @@ -2016,7 +2014,6 @@ DEPENDENCIES: - React-Mapbuffer (from `../../node_modules/react-native/ReactCommon`) - React-microtasksnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) - react-native-safe-area-context (from `../../node_modules/react-native-safe-area-context`) - - "react-native-segmented-control (from `../../node_modules/@react-native-segmented-control/segmented-control`)" - React-NativeModulesApple (from `../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - React-networking (from `../../node_modules/react-native/ReactCommon/react/networking`) - React-oscompat (from `../../node_modules/react-native/ReactCommon/oscompat`) @@ -2140,8 +2137,6 @@ EXTERNAL SOURCES: :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" react-native-safe-area-context: :path: "../../node_modules/react-native-safe-area-context" - react-native-segmented-control: - :path: "../../node_modules/@react-native-segmented-control/segmented-control" React-NativeModulesApple: :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" React-networking: @@ -2217,10 +2212,10 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: FBLazyVector: 7c1d69992204c5ec452eeefa4a24b0ff311709c8 - hermes-engine: 16e781d7fca74c8bb3ca59b99527d9633ee9ee36 - NitroModules: 113b4a704e0d6a436d2c5600d5af41f847b0fdd1 - NitroTest: 69754d44fa98075944565e5df6b321c09f2ee4be - NitroTestExternal: 63f62beac90ad88b7c04f02928859441451fb42c + hermes-engine: 4df240db09b8f56297ca8e63c2a793d538964397 + NitroModules: 2c251a51df07cbfc7fccb9be0b0a43a9d5c59a6f + NitroTest: ff72f8b73af76739c3573abe16214a1663652851 + NitroTestExternal: 387161efb40566c5f630608fbdeafbe969e79619 RCTDeprecation: dbbb85eae640e3b43cc16462d0476b00ca5959ae RCTRequired: 7047b18af29a76069818fd3fa0f4df423483abab RCTSwiftUI: 5928f7ca7e9e2f1a82d85d4c79ea3065137ad81c @@ -2229,73 +2224,72 @@ SPEC CHECKSUMS: React: f6f8fc5c01e77349cdfaf49102bcb928ac31d8ed React-callinvoker: 3e62a849bda1522c6422309c02f5dc3210bc5359 React-Core: 0b765bc7c2b83dff178c2b03ed8a0390df26f18c - React-Core-prebuilt: 88810feb58457484bff17e9e91a15453407d745a + React-Core-prebuilt: 37f17c7949e91eea47a1b8878c231d9c898f46d5 React-CoreModules: 55b932564ba696301cb683a86385be6a6f137e57 React-cxxreact: 5bfb95256fde56cc0f9ce425f38cfaa085e71ad2 - React-debug: f9dda2791d3ebe2078bc6102641edab77917efb7 - React-defaultsnativemodule: 5eaa2ee83604301aa7cc3105e0233e2b01bb5193 - React-domnativemodule: 2657e4c584804cba76af46ba721a98028316c8ad - React-Fabric: ba81e0c49a35d914a8eaba7cd04fe1a6989b52c6 - React-FabricComponents: c3501f8ab7c84d71b44fa54c89973b0518a4213a - React-FabricImage: ebb79551d37c01c9f10c33cb9295fb3d87e3c252 - React-featureflags: b76aac763fa62dc13bbe1c2738ba0b34c1d5dc16 - React-featureflagsnativemodule: fbf8c0d91e5b2fd4e85aff56c1cba88f2ba66667 - React-graphics: a25fddc60b9d952693209cfb3dd9a556a160479d + React-debug: 56ebe96bf1e762430834d37a057e15c3a671a9fa + React-defaultsnativemodule: f8bd206ea5f0c6d482ba8bfcc750e40e04e87c91 + React-domnativemodule: 8068a6cb27450a1b0c45d12b5b69a2b23725870e + React-Fabric: e8404268658687963f0f0fee07ab21afd37a23a6 + React-FabricComponents: be8978b64999e45a17b18aa1ba51f630398d1a16 + React-FabricImage: 9a35db16fd7d352e162e241a17efe868bd997f91 + React-featureflags: 78080ad913ada3f7b2939141a9b2c3c1f2925e1d + React-featureflagsnativemodule: 236ec5a52a6771d27e7a026126d77de74a2cad4d + React-graphics: 5ddbe07b01fc9cf69bc4f084e84642f0dc592d72 React-hermes: 99530187adfc1a61013c59ab4b1bbccf97401eca - React-idlecallbacksnativemodule: dbf0b339acba04a51ae4e3ed115bb3f079dcea6e - React-ImageManager: d9f4d473c4118b65ceb9e2596eaa69efc6027a0e - React-intersectionobservernativemodule: 4c538efb01719c6d5f85566716e394cd9419d491 - React-jserrorhandler: 2e48ec8f8185694e7e5a00d9b56e58b590ad962b + React-idlecallbacksnativemodule: 23163f848f58fc3ed2a357835e4bb49f1e808d20 + React-ImageManager: d3da1a8ead9a64c657098508bccad92d8b117063 + React-intersectionobservernativemodule: 45d71622e5c9169ee88f43878a3fcad7a0bb3926 + React-jserrorhandler: f9e5405b0f1ec09aad48286b8ed93647f068426e React-jsi: 1fa4798a7b2ad40a2e79d86d0ed2f16a0d66f3aa React-jsiexecutor: c4832a641fd43beb451bc782dd08f85daaa143d6 - React-jsinspector: 6c2123456e5cbd2e18e890fc7c4c20904ab5e115 - React-jsinspectorcdp: 178b8ce658f64e1b13f0a69ecac3812e30dbe560 - React-jsinspectornetwork: 31076e7a183121c8b8e4098d43a18a21cb1f807b - React-jsinspectortracing: b5809b947d0f1b3fa5029428c98072982fa7abab - React-jsitooling: ec0ad10664b6a943121f5b5b009927453b19b953 - React-jsitracing: 65bd1ce61ba8fc3bbf90fe005d417472275a6cd4 + React-jsinspector: 1b49f3aac4f060e489c1452c09afe3cec5314582 + React-jsinspectorcdp: c65a4dfbdcc3413d37b903f5dc5818e750b9b1f8 + React-jsinspectornetwork: 5a0105e934a2562668d4e19cc56067f0bb686964 + React-jsinspectortracing: f653776f668b71754cca526a54d207b1a862934e + React-jsitooling: 03241575600b358ceefca044dda34f072ef17dde + React-jsitracing: 002f73ec7b5d10ccf2e5b037d17034cbf43e4739 React-logger: 64d31a75111596bd023ae653c0eabf32be3c9302 - React-Mapbuffer: 7055b634a07b9f9e84ee5660ef52cf42658174b7 - React-microtasksnativemodule: 0154a544879e6afeadef9525b0cb17cacf4a93bd - react-native-safe-area-context: 53f796cb6c814661bbe99fbdfd0585d07b996cdd - react-native-segmented-control: 44d14c6899ee12de3384517f4fa1cf4a66ae105c + React-Mapbuffer: c0e92c53d210fae402d8ec4946d6b8fdaceabc4d + React-microtasksnativemodule: a9943695086f7483725984466195a87d4f8b9fc6 + react-native-safe-area-context: 3f031fa5a6c36a3731f6fa2202bfa8f411850c6b React-NativeModulesApple: 943be0fedffc361db7c2ea7b1e54b8d53c6ab178 - React-networking: da2682b36bf57ed5428ef3f06824d8b30f617202 + React-networking: 236b09b7ba6468163fdfcc4209c04f0081198ba6 React-oscompat: f3eb52b3be9b08bf8ca8ba0c616fd9905f4c7391 React-perflogger: 72d6cde25962a72b6d82545ec08c931b972a4d05 - React-performancecdpmetrics: 962d5ca8fa55505823205175a831cda0623b2ab9 - React-performancetimeline: 517eb467150b4979379391548b71ce53cd4466f3 + React-performancecdpmetrics: a940913a23567c04da5f65bb0cea1698e6f208f5 + React-performancetimeline: 940c2dbffc74294d55dad59c85405e50e6dd7a0e React-RCTActionSheet: a8bff6e75c7a18f653297fb14571043ae79431f6 React-RCTAnimation: ab5556952f003338d4d86ee9eda2c26aba3cce95 React-RCTAppDelegate: 75f34302bb80c076d97a19642400d5d2d940023f React-RCTBlob: c4fb179f4d1076cc63a5918c41d766533b0f2147 - React-RCTFabric: 50214f12555bcc510b2b1c4dcea803add50a6a78 - React-RCTFBReactNativeSpec: 7ee95f43e325c85bec0856d9ec9541e682fd705e + React-RCTFabric: e97003ae212ac44f29ec153680eff51be082c44e + React-RCTFBReactNativeSpec: 4b75ddab18859a28cc51305a6bf07b29a0cc6934 React-RCTImage: 61cd308df71c9966b3bb847df1bc1415eed07121 React-RCTLinking: 6d5ce1137762668fcf1f298e17485bd04129e6d3 React-RCTNetwork: 404dc3ab815ec5f4eb69770b333980adf36a3fa4 - React-RCTRuntime: 0d6c40687e504ed2c08ceb020c06cbbfabedd3b7 + React-RCTRuntime: c4a4baeb77a6b8962418b5e8922358e36e1fa569 React-RCTSettings: b8b43aa0b6f0fafcd828c8888fb10e82ad0f5145 React-RCTText: a583a49fc866aa200e492969a2378256bde7e2bb React-RCTVibration: 3337cff4d1efae05e289cfcf90a70d24d361b1c3 - React-rendererconsistency: ff227146777b3733c2f4c601ec68267955447e27 - React-renderercss: 811e6190dfd7813a7227b55fedecda40ae300d14 - React-rendererdebug: 19340e07e6963e63827ec8261cf38e3fd1577981 - React-RuntimeApple: 8fb9a4caa272c0543564906b84c333e1a455b0a1 - React-RuntimeCore: b7bedbf160e2221982c8231ecf6d89237a3e76a1 - React-runtimeexecutor: dacc8c00d03929a760e98ad40b45cc4ba4c7db15 - React-RuntimeHermes: bf7a82a690ecd2436837c8d19070590b83f4b84d - React-runtimescheduler: d890bf0a8b417bcadbb3e6cdd1b5cd03ef5e724e - React-timing: dcef343f98d0548d06b5af7ba9c9a55fd251967f - React-utils: 4297fe617437d27671a924bfcaed667201bd99fe - React-webperformancenativemodule: 0e31939496e1df9e80703b786b7513132e76b3b0 + React-rendererconsistency: 2de26e789015165288de3a3f85ff4e004599b1eb + React-renderercss: d52732c1fadd1e3125da72b8688e5c119a17431a + React-rendererdebug: c8c3aea57ef3a8e95ec87c80b36b1d8d2cd945b1 + React-RuntimeApple: 76e8f12679c49fb2622bf35963306ec8688febcf + React-RuntimeCore: 09b6f2c5dd2ff5c11ca8422efabf6d6af3b35c99 + React-runtimeexecutor: 65accbd7eb5c7ce8564d81da5d400517d30251d2 + React-RuntimeHermes: ca3c65f70a40054af4ed1db465d6efa12d568e79 + React-runtimescheduler: 8b52165fdec4cba1a332ba1ee81db28d344703b8 + React-timing: f517ce908fc72a690715f608b3e09a2aa2d18e2b + React-utils: 8bd08b450c648ab1b13af550c35347a4378e023b + React-webperformancenativemodule: 9cfb5cb64a0f9a56291f4ae5f3aaaa4bfb7fbbcb ReactAppDependencyProvider: 23e2bca1661f8781e55fcc05a151fc1df97bc1fb - ReactCodegen: c049d7e966ed24be56d8e21cb1b8880316975e76 + ReactCodegen: 37ba52e4d686f08b6f12a9ce4f2777b218085a5d ReactCommon: 89ccc6cb100ca5a0303b46483037ef8f3e06e2e0 - ReactNativeDependencies: 1a7e3c3ffa57533d8118dd9bc01790ffa9e02a3b - RNScreens: dd61bc3a3e6f6901ad833efa411917d44827cf51 - Yoga: 21f482cbc18b56cdc477cd3a0c5b8c2c83ac27ce + ReactNativeDependencies: a482285e53605a6a6f4d3c4221906a65051d584b + RNScreens: e91463674394a1969b4688eb5db419d7045fce2d + Yoga: 9173d03d8af1d56e8d0ef56c6433c4322013ea1f -PODFILE CHECKSUM: cc2ab22c5169410d8739c73db2747f1617e7eaf0 +PODFILE CHECKSUM: 1055e23e5aeac4dd7483f9407c6488d42e937f0c COCOAPODS: 1.15.2 diff --git a/example/package.json b/example/package.json index 152444503..c921b0df6 100644 --- a/example/package.json +++ b/example/package.json @@ -19,7 +19,6 @@ "test:harness": "react-native-harness" }, "dependencies": { - "@react-native-segmented-control/segmented-control": "^2.5.7", "@react-navigation/bottom-tabs": "^7.4.5", "@react-navigation/native": "^7.1.26", "deep-equal": "^2.2.3", diff --git a/example/src/screens/HybridObjectTestsScreen.tsx b/example/src/screens/HybridObjectTestsScreen.tsx index efe067fd6..e6e27168c 100644 --- a/example/src/screens/HybridObjectTestsScreen.tsx +++ b/example/src/screens/HybridObjectTestsScreen.tsx @@ -17,7 +17,7 @@ import { } from 'react-native-nitro-test' import { getTests, type TestRunner } from '../getTests' import { logPrototypeChain } from '../logPrototypeChain' -import SegmentedControl from '@react-native-segmented-control/segmented-control' +// import SegmentedControl from '@react-native-segmented-control/segmented-control' import { NitroModules } from 'react-native-nitro-modules' import { useSafeAreaInsets } from 'react-native-safe-area-context' import { useColors } from '../useColors' @@ -207,14 +207,7 @@ export function HybridObjectTestsScreen() { HybridObject Tests - { - setSelectedIndex(selectedSegmentIndex) - }} - /> + {NitroModules.buildType} @@ -246,14 +239,7 @@ export function HybridObjectTestsScreen() { - { - setStatusFilter(FILTER_OPTIONS[selectedSegmentIndex]!) - }} - /> + { + readonly abc: number +} + +// This is a simple `HybridObject` with just one value. +export interface BlaBla + extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> { + base?: Base +} diff --git a/packages/react-native-nitro-test-external/src/specs/TestView.nitro.ts b/packages/react-native-nitro-test-external/src/specs/TestView.nitro.ts new file mode 100644 index 000000000..8031c5e58 --- /dev/null +++ b/packages/react-native-nitro-test-external/src/specs/TestView.nitro.ts @@ -0,0 +1,19 @@ +import type { + HybridView, + HybridViewMethods, + HybridViewProps, +} from 'react-native-nitro-modules' + +export type ColorScheme = 'light' | 'dark' + +export interface TestViewProps extends HybridViewProps { + isBlue: boolean + hasBeenCalled: boolean + colorScheme: ColorScheme + someCallback: () => void +} +export interface TestViewMethods extends HybridViewMethods { + someMethod(): void +} + +export type TestView = HybridView From a4c5b01a523bd856cbaf4307e539c0278cf01a4d Mon Sep 17 00:00:00 2001 From: Andrei Kologreev Date: Wed, 1 Apr 2026 05:11:53 +0400 Subject: [PATCH 02/10] fix ordering issue --- .../autolinking/ios/createSwiftCxxBridge.ts | 3 ++- .../ios/createSwiftUmbrellaHeader.ts | 3 ++- packages/nitrogen/src/syntax/helpers.ts | 22 +++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/packages/nitrogen/src/autolinking/ios/createSwiftCxxBridge.ts b/packages/nitrogen/src/autolinking/ios/createSwiftCxxBridge.ts index 1a32c02d5..204f684f9 100644 --- a/packages/nitrogen/src/autolinking/ios/createSwiftCxxBridge.ts +++ b/packages/nitrogen/src/autolinking/ios/createSwiftCxxBridge.ts @@ -4,6 +4,7 @@ import { getAllKnownTypes } from '../../syntax/createType.js' import { createFileMetadataString, isNotDuplicate, + sortIosIncludesWithOwnFirst, } from '../../syntax/helpers.js' import type { SourceFile } from '../../syntax/SourceFile.js' import { getReferencedTypes } from '../../syntax/getReferencedTypes.js' @@ -90,7 +91,7 @@ ${forwardDeclarationsHeader.sort().join('\n')} ${forwardDeclaredSwiftTypes.sort().join('\n')} // Include C++ defined types -${includesHeader.sort().join('\n')} +${sortIosIncludesWithOwnFirst(includesHeader).join('\n')} /** * Contains specialized versions of C++ templated types so they can be accessed from Swift, diff --git a/packages/nitrogen/src/autolinking/ios/createSwiftUmbrellaHeader.ts b/packages/nitrogen/src/autolinking/ios/createSwiftUmbrellaHeader.ts index 71e5d0dfe..72c7042d6 100644 --- a/packages/nitrogen/src/autolinking/ios/createSwiftUmbrellaHeader.ts +++ b/packages/nitrogen/src/autolinking/ios/createSwiftUmbrellaHeader.ts @@ -6,6 +6,7 @@ import { getHybridObjectName } from '../../syntax/getHybridObjectName.js' import { createFileMetadataString, isNotDuplicate, + sortIosIncludesWithOwnFirst, } from '../../syntax/helpers.js' import type { SourceFile } from '../../syntax/SourceFile.js' import { getTypeAs } from '../../syntax/types/getTypeAs.js' @@ -53,7 +54,7 @@ ${createFileMetadataString(filename, '///')} ${forwardDeclarations.sort().join('\n')} // Include C++ defined types -${includes.sort().join('\n')} +${sortIosIncludesWithOwnFirst(includes).join('\n')} // C++ helpers for Swift #include "${moduleName}-Swift-Cxx-Bridge.hpp" diff --git a/packages/nitrogen/src/syntax/helpers.ts b/packages/nitrogen/src/syntax/helpers.ts index 78c2541ce..e3ff5b09b 100644 --- a/packages/nitrogen/src/syntax/helpers.ts +++ b/packages/nitrogen/src/syntax/helpers.ts @@ -4,6 +4,7 @@ import type { Type } from './types/Type.js' import { getTypeAs } from './types/getTypeAs.js' import { OptionalType } from './types/OptionalType.js' import { ArrayType } from './types/ArrayType.js' +import { NitroConfig } from '../config/NitroConfig.js' type Comment = '///' | '#' @@ -173,3 +174,24 @@ export function getRelativeDirectory(file: SourceFile): string { export function getRelativeDirectoryGenerated(...subpath: string[]): string { return path.join('..', 'nitrogen', 'generated', ...subpath) } + +/** + * Some headers like `NitroModules/Result.hpp` cause an error when included before own module headers. + */ +export function sortIosIncludesWithOwnFirst(includes: string[]): string[] { + const moduleName = NitroConfig.current.getIosModuleName() + const ownIncludes: string[] = [] + const otherIncludes: string[] = [] + + for (const include of includes) { + if (include.startsWith(`#include <${moduleName}/`)) { + ownIncludes.push(include) + } else { + otherIncludes.push(include) + } + } + + ownIncludes.sort() + otherIncludes.sort() + return [...ownIncludes, ...otherIncludes] +} From 5695c046767c11efadab4f72bd70f63d343e5758 Mon Sep 17 00:00:00 2001 From: Andrei Kologreev Date: Wed, 1 Apr 2026 05:13:11 +0400 Subject: [PATCH 03/10] upd generated --- .../ios/HybridTestView.swift | 30 +++ .../NitroTestExternal+autolinking.cmake | 8 + .../android/NitroTestExternalOnLoad.cpp | 24 ++ .../generated/android/c++/JColorScheme.hpp | 58 +++++ .../generated/android/c++/JFunc_void.hpp | 75 +++++++ .../generated/android/c++/JHybridBaseSpec.cpp | 53 +++++ .../generated/android/c++/JHybridBaseSpec.hpp | 63 ++++++ .../android/c++/JHybridBlaBlaSpec.cpp | 61 +++++ .../android/c++/JHybridBlaBlaSpec.hpp | 64 ++++++ .../android/c++/JHybridTestViewSpec.cpp | 100 +++++++++ .../android/c++/JHybridTestViewSpec.hpp | 70 ++++++ .../c++/views/JHybridTestViewStateUpdater.cpp | 68 ++++++ .../c++/views/JHybridTestViewStateUpdater.hpp | 49 +++++ .../nitro/test/external/ColorScheme.kt | 23 ++ .../margelo/nitro/test/external/Func_void.kt | 80 +++++++ .../nitro/test/external/HybridBaseSpec.kt | 54 +++++ .../nitro/test/external/HybridBlaBlaSpec.kt | 56 +++++ .../nitro/test/external/HybridTestViewSpec.kt | 85 +++++++ .../external/views/HybridTestViewManager.kt | 80 +++++++ .../views/HybridTestViewStateUpdater.kt | 23 ++ .../NitroTestExternal-Swift-Cxx-Bridge.cpp | 59 +++++ .../NitroTestExternal-Swift-Cxx-Bridge.hpp | 98 +++++++++ .../NitroTestExternal-Swift-Cxx-Umbrella.hpp | 19 ++ .../ios/NitroTestExternalAutolinking.mm | 8 + .../ios/NitroTestExternalAutolinking.swift | 12 + .../generated/ios/c++/HybridBaseSpecSwift.cpp | 11 + .../generated/ios/c++/HybridBaseSpecSwift.hpp | 77 +++++++ .../ios/c++/HybridBlaBlaSpecSwift.cpp | 11 + .../ios/c++/HybridBlaBlaSpecSwift.hpp | 84 +++++++ .../ios/c++/HybridTestViewSpecSwift.cpp | 11 + .../ios/c++/HybridTestViewSpecSwift.hpp | 107 +++++++++ .../ios/c++/views/HybridTestViewComponent.mm | 137 ++++++++++++ .../generated/ios/swift/ColorScheme.swift | 40 ++++ .../generated/ios/swift/Func_void.swift | 46 ++++ .../generated/ios/swift/HybridBaseSpec.swift | 55 +++++ .../ios/swift/HybridBaseSpec_cxx.swift | 133 +++++++++++ .../ios/swift/HybridBlaBlaSpec.swift | 55 +++++ .../ios/swift/HybridBlaBlaSpec_cxx.swift | 157 +++++++++++++ .../ios/swift/HybridTestViewSpec.swift | 58 +++++ .../ios/swift/HybridTestViewSpec_cxx.swift | 208 ++++++++++++++++++ .../generated/shared/c++/ColorScheme.hpp | 76 +++++++ .../generated/shared/c++/HybridBaseSpec.cpp | 21 ++ .../generated/shared/c++/HybridBaseSpec.hpp | 62 ++++++ .../generated/shared/c++/HybridBlaBlaSpec.cpp | 22 ++ .../generated/shared/c++/HybridBlaBlaSpec.hpp | 66 ++++++ .../shared/c++/HybridTestViewSpec.cpp | 29 +++ .../shared/c++/HybridTestViewSpec.hpp | 71 ++++++ .../c++/views/HybridTestViewComponent.cpp | 116 ++++++++++ .../c++/views/HybridTestViewComponent.hpp | 114 ++++++++++ .../generated/shared/json/TestViewConfig.json | 13 ++ 50 files changed, 3100 insertions(+) create mode 100644 packages/react-native-nitro-test-external/ios/HybridTestView.swift create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JColorScheme.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JFunc_void.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBaseSpec.cpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBaseSpec.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.cpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/ColorScheme.kt create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/Func_void.kt create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBaseSpec.kt create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBlaBlaSpec.kt create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridTestViewSpec.kt create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/views/HybridTestViewManager.kt create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/views/HybridTestViewStateUpdater.kt create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.cpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.cpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.cpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/HybridTestViewComponent.mm create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/ColorScheme.swift create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/Func_void.swift create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBaseSpec.swift create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBaseSpec_cxx.swift create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBlaBlaSpec.swift create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBlaBlaSpec_cxx.swift create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec.swift create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec_cxx.swift create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/ColorScheme.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.cpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.cpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.cpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.hpp create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/json/TestViewConfig.json diff --git a/packages/react-native-nitro-test-external/ios/HybridTestView.swift b/packages/react-native-nitro-test-external/ios/HybridTestView.swift new file mode 100644 index 000000000..0fffdb9bd --- /dev/null +++ b/packages/react-native-nitro-test-external/ios/HybridTestView.swift @@ -0,0 +1,30 @@ +// +// HybridTestView.swift +// react-native-nitro-test +// +// Created by Marc Rousavy on 03.10.24. +// + +import NitroModules +import UIKit + +class HybridTestView: HybridTestViewSpec { + // UIView + var view: UIView = UIView() + + // Props + var isBlue: Bool = false { + didSet { + view.backgroundColor = isBlue ? .systemBlue : .systemRed + } + } + var hasBeenCalled: Bool = false + var colorScheme: ColorScheme = .light + var someCallback: () -> Void = {} + + // Methods + func someMethod() throws { + hasBeenCalled = true + someCallback() + } +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternal+autolinking.cmake b/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternal+autolinking.cmake index 79c9340a2..2b3532e45 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternal+autolinking.cmake +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternal+autolinking.cmake @@ -34,8 +34,16 @@ target_sources( ../nitrogen/generated/android/NitroTestExternalOnLoad.cpp # Shared Nitrogen C++ sources ../nitrogen/generated/shared/c++/HybridSomeExternalObjectSpec.cpp + ../nitrogen/generated/shared/c++/HybridBaseSpec.cpp + ../nitrogen/generated/shared/c++/HybridBlaBlaSpec.cpp + ../nitrogen/generated/shared/c++/HybridTestViewSpec.cpp + ../nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp # Android-specific Nitrogen C++ sources ../nitrogen/generated/android/c++/JHybridSomeExternalObjectSpec.cpp + ../nitrogen/generated/android/c++/JHybridBaseSpec.cpp + ../nitrogen/generated/android/c++/JHybridBlaBlaSpec.cpp + ../nitrogen/generated/android/c++/JHybridTestViewSpec.cpp + ../nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp ) # From node_modules/react-native/ReactAndroid/cmake-utils/folly-flags.cmake diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternalOnLoad.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternalOnLoad.cpp index 53a6a8167..0c12d4014 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternalOnLoad.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternalOnLoad.cpp @@ -16,6 +16,11 @@ #include #include "JHybridSomeExternalObjectSpec.hpp" +#include "JHybridBaseSpec.hpp" +#include "JHybridBlaBlaSpec.hpp" +#include "JHybridTestViewSpec.hpp" +#include "JFunc_void.hpp" +#include "views/JHybridTestViewStateUpdater.hpp" #include namespace margelo::nitro::test::external { @@ -34,6 +39,14 @@ struct JHybridSomeExternalObjectSpecImpl: public jni::JavaClassgetJHybridSomeExternalObjectSpec(); } }; +struct JHybridTestViewSpecImpl: public jni::JavaClass { + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/HybridTestView;"; + static std::shared_ptr create() { + static const auto constructorFn = javaClassStatic()->getConstructor(); + jni::local_ref javaPart = javaClassStatic()->newObject(constructorFn); + return javaPart->getJHybridTestViewSpec(); + } +}; void registerAllNatives() { using namespace margelo::nitro; @@ -41,6 +54,11 @@ void registerAllNatives() { // Register native JNI methods margelo::nitro::test::external::JHybridSomeExternalObjectSpec::CxxPart::registerNatives(); + margelo::nitro::test::external::JHybridBaseSpec::CxxPart::registerNatives(); + margelo::nitro::test::external::JHybridBlaBlaSpec::CxxPart::registerNatives(); + margelo::nitro::test::external::JHybridTestViewSpec::CxxPart::registerNatives(); + margelo::nitro::test::external::JFunc_void_cxx::registerNatives(); + margelo::nitro::test::external::views::JHybridTestViewStateUpdater::registerNatives(); // Register Nitro Hybrid Objects HybridObjectRegistry::registerHybridObjectConstructor( @@ -49,6 +67,12 @@ void registerAllNatives() { return JHybridSomeExternalObjectSpecImpl::create(); } ); + HybridObjectRegistry::registerHybridObjectConstructor( + "TestView", + []() -> std::shared_ptr { + return JHybridTestViewSpecImpl::create(); + } + ); } } // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JColorScheme.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JColorScheme.hpp new file mode 100644 index 000000000..cfbb5022f --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JColorScheme.hpp @@ -0,0 +1,58 @@ +/// +/// JColorScheme.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#include +#include "ColorScheme.hpp" + +namespace margelo::nitro::test::external { + + using namespace facebook; + + /** + * The C++ JNI bridge between the C++ enum "ColorScheme" and the the Kotlin enum "ColorScheme". + */ + struct JColorScheme final: public jni::JavaClass { + public: + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/ColorScheme;"; + + public: + /** + * Convert this Java/Kotlin-based enum to the C++ enum ColorScheme. + */ + [[maybe_unused]] + [[nodiscard]] + ColorScheme toCpp() const { + static const auto clazz = javaClassStatic(); + static const auto fieldOrdinal = clazz->getField("value"); + int ordinal = this->getFieldValue(fieldOrdinal); + return static_cast(ordinal); + } + + public: + /** + * Create a Java/Kotlin-based enum with the given C++ enum's value. + */ + [[maybe_unused]] + static jni::alias_ref fromCpp(ColorScheme value) { + static const auto clazz = javaClassStatic(); + switch (value) { + case ColorScheme::LIGHT: + static const auto fieldLIGHT = clazz->getStaticField("LIGHT"); + return clazz->getStaticFieldValue(fieldLIGHT); + case ColorScheme::DARK: + static const auto fieldDARK = clazz->getStaticField("DARK"); + return clazz->getStaticFieldValue(fieldDARK); + default: + std::string stringValue = std::to_string(static_cast(value)); + throw std::invalid_argument("Invalid enum value (" + stringValue + "!"); + } + } + }; + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JFunc_void.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JFunc_void.hpp new file mode 100644 index 000000000..c139c6499 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JFunc_void.hpp @@ -0,0 +1,75 @@ +/// +/// JFunc_void.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#include +#include + +#include +#include + +namespace margelo::nitro::test::external { + + using namespace facebook; + + /** + * Represents the Java/Kotlin callback `() -> Unit`. + * This can be passed around between C++ and Java/Kotlin. + */ + struct JFunc_void: public jni::JavaClass { + public: + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/Func_void;"; + + public: + /** + * Invokes the function this `JFunc_void` instance holds through JNI. + */ + void invoke() const { + static const auto method = javaClassStatic()->getMethod("invoke"); + method(self()); + } + }; + + /** + * An implementation of Func_void that is backed by a C++ implementation (using `std::function<...>`) + */ + class JFunc_void_cxx final: public jni::HybridClass { + public: + static jni::local_ref fromCpp(const std::function& func) { + return JFunc_void_cxx::newObjectCxxArgs(func); + } + + public: + /** + * Invokes the C++ `std::function<...>` this `JFunc_void_cxx` instance holds. + */ + void invoke_cxx() { + _func(); + } + + public: + [[nodiscard]] + inline const std::function& getFunction() const { + return _func; + } + + public: + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/Func_void_cxx;"; + static void registerNatives() { + registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_cxx::invoke_cxx)}); + } + + private: + explicit JFunc_void_cxx(const std::function& func): _func(func) { } + + private: + friend HybridBase; + std::function _func; + }; + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBaseSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBaseSpec.cpp new file mode 100644 index 000000000..9f9b7e749 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBaseSpec.cpp @@ -0,0 +1,53 @@ +/// +/// JHybridBaseSpec.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#include "JHybridBaseSpec.hpp" + + + + + +namespace margelo::nitro::test::external { + + std::shared_ptr JHybridBaseSpec::JavaPart::getJHybridBaseSpec() { + auto hybridObject = JHybridObject::JavaPart::getJHybridObject(); + auto castHybridObject = std::dynamic_pointer_cast(hybridObject); + if (castHybridObject == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to downcast JHybridObject to JHybridBaseSpec!"); + } + return castHybridObject; + } + + jni::local_ref JHybridBaseSpec::CxxPart::initHybrid(jni::alias_ref jThis) { + return makeCxxInstance(jThis); + } + + std::shared_ptr JHybridBaseSpec::CxxPart::createHybridObject(const jni::local_ref& javaPart) { + auto castJavaPart = jni::dynamic_ref_cast(javaPart); + if (castJavaPart == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridBaseSpec::JavaPart!"); + } + return std::make_shared(castJavaPart); + } + + void JHybridBaseSpec::CxxPart::registerNatives() { + registerHybrid({ + makeNativeMethod("initHybrid", JHybridBaseSpec::CxxPart::initHybrid), + }); + } + + // Properties + double JHybridBaseSpec::getAbc() { + static const auto method = _javaPart->javaClassStatic()->getMethod("getAbc"); + auto __result = method(_javaPart); + return __result; + } + + // Methods + + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBaseSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBaseSpec.hpp new file mode 100644 index 000000000..ba6bf9793 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBaseSpec.hpp @@ -0,0 +1,63 @@ +/// +/// HybridBaseSpec.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#include +#include +#include "HybridBaseSpec.hpp" + + + + +namespace margelo::nitro::test::external { + + using namespace facebook; + + class JHybridBaseSpec: public virtual HybridBaseSpec, public virtual JHybridObject { + public: + struct JavaPart: public jni::JavaClass { + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/HybridBaseSpec;"; + std::shared_ptr getJHybridBaseSpec(); + }; + struct CxxPart: public jni::HybridClass { + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/HybridBaseSpec$CxxPart;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + using HybridBase::HybridBase; + protected: + std::shared_ptr createHybridObject(const jni::local_ref& javaPart) override; + }; + + public: + explicit JHybridBaseSpec(const jni::local_ref& javaPart): + HybridObject(HybridBaseSpec::TAG), + JHybridObject(javaPart), + _javaPart(jni::make_global(javaPart)) {} + ~JHybridBaseSpec() override { + // Hermes GC can destroy JS objects on a non-JNI Thread. + jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); + } + + public: + inline const jni::global_ref& getJavaPart() const noexcept { + return _javaPart; + } + + public: + // Properties + double getAbc() override; + + public: + // Methods + + + private: + jni::global_ref _javaPart; + }; + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.cpp new file mode 100644 index 000000000..fc19d8d78 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.cpp @@ -0,0 +1,61 @@ +/// +/// JHybridBlaBlaSpec.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#include "JHybridBlaBlaSpec.hpp" + +// Forward declaration of `HybridBaseSpec` to properly resolve imports. +namespace margelo::nitro::test::external { class HybridBaseSpec; } + +#include +#include "HybridBaseSpec.hpp" +#include +#include "JHybridBaseSpec.hpp" + +namespace margelo::nitro::test::external { + + std::shared_ptr JHybridBlaBlaSpec::JavaPart::getJHybridBlaBlaSpec() { + auto hybridObject = JHybridObject::JavaPart::getJHybridObject(); + auto castHybridObject = std::dynamic_pointer_cast(hybridObject); + if (castHybridObject == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to downcast JHybridObject to JHybridBlaBlaSpec!"); + } + return castHybridObject; + } + + jni::local_ref JHybridBlaBlaSpec::CxxPart::initHybrid(jni::alias_ref jThis) { + return makeCxxInstance(jThis); + } + + std::shared_ptr JHybridBlaBlaSpec::CxxPart::createHybridObject(const jni::local_ref& javaPart) { + auto castJavaPart = jni::dynamic_ref_cast(javaPart); + if (castJavaPart == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridBlaBlaSpec::JavaPart!"); + } + return std::make_shared(castJavaPart); + } + + void JHybridBlaBlaSpec::CxxPart::registerNatives() { + registerHybrid({ + makeNativeMethod("initHybrid", JHybridBlaBlaSpec::CxxPart::initHybrid), + }); + } + + // Properties + std::optional> JHybridBlaBlaSpec::getBase() { + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getBase"); + auto __result = method(_javaPart); + return __result != nullptr ? std::make_optional(__result->getJHybridBaseSpec()) : std::nullopt; + } + void JHybridBlaBlaSpec::setBase(const std::optional>& base) { + static const auto method = _javaPart->javaClassStatic()->getMethod /* base */)>("setBase"); + method(_javaPart, base.has_value() ? std::dynamic_pointer_cast(base.value())->getJavaPart() : nullptr); + } + + // Methods + + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.hpp new file mode 100644 index 000000000..c6f15b42d --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.hpp @@ -0,0 +1,64 @@ +/// +/// HybridBlaBlaSpec.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#include +#include +#include "HybridBlaBlaSpec.hpp" + + + + +namespace margelo::nitro::test::external { + + using namespace facebook; + + class JHybridBlaBlaSpec: public virtual HybridBlaBlaSpec, public virtual JHybridObject { + public: + struct JavaPart: public jni::JavaClass { + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/HybridBlaBlaSpec;"; + std::shared_ptr getJHybridBlaBlaSpec(); + }; + struct CxxPart: public jni::HybridClass { + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/HybridBlaBlaSpec$CxxPart;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + using HybridBase::HybridBase; + protected: + std::shared_ptr createHybridObject(const jni::local_ref& javaPart) override; + }; + + public: + explicit JHybridBlaBlaSpec(const jni::local_ref& javaPart): + HybridObject(HybridBlaBlaSpec::TAG), + JHybridObject(javaPart), + _javaPart(jni::make_global(javaPart)) {} + ~JHybridBlaBlaSpec() override { + // Hermes GC can destroy JS objects on a non-JNI Thread. + jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); + } + + public: + inline const jni::global_ref& getJavaPart() const noexcept { + return _javaPart; + } + + public: + // Properties + std::optional> getBase() override; + void setBase(const std::optional>& base) override; + + public: + // Methods + + + private: + jni::global_ref _javaPart; + }; + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp new file mode 100644 index 000000000..7f7e8de3e --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp @@ -0,0 +1,100 @@ +/// +/// JHybridTestViewSpec.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#include "JHybridTestViewSpec.hpp" + +// Forward declaration of `ColorScheme` to properly resolve imports. +namespace margelo::nitro::test::external { enum class ColorScheme; } + +#include "ColorScheme.hpp" +#include "JColorScheme.hpp" +#include +#include "JFunc_void.hpp" +#include + +namespace margelo::nitro::test::external { + + std::shared_ptr JHybridTestViewSpec::JavaPart::getJHybridTestViewSpec() { + auto hybridObject = JHybridObject::JavaPart::getJHybridObject(); + auto castHybridObject = std::dynamic_pointer_cast(hybridObject); + if (castHybridObject == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to downcast JHybridObject to JHybridTestViewSpec!"); + } + return castHybridObject; + } + + jni::local_ref JHybridTestViewSpec::CxxPart::initHybrid(jni::alias_ref jThis) { + return makeCxxInstance(jThis); + } + + std::shared_ptr JHybridTestViewSpec::CxxPart::createHybridObject(const jni::local_ref& javaPart) { + auto castJavaPart = jni::dynamic_ref_cast(javaPart); + if (castJavaPart == nullptr) [[unlikely]] { + throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridTestViewSpec::JavaPart!"); + } + return std::make_shared(castJavaPart); + } + + void JHybridTestViewSpec::CxxPart::registerNatives() { + registerHybrid({ + makeNativeMethod("initHybrid", JHybridTestViewSpec::CxxPart::initHybrid), + }); + } + + // Properties + bool JHybridTestViewSpec::getIsBlue() { + static const auto method = _javaPart->javaClassStatic()->getMethod("isBlue"); + auto __result = method(_javaPart); + return static_cast(__result); + } + void JHybridTestViewSpec::setIsBlue(bool isBlue) { + static const auto method = _javaPart->javaClassStatic()->getMethod("setBlue"); + method(_javaPart, isBlue); + } + bool JHybridTestViewSpec::getHasBeenCalled() { + static const auto method = _javaPart->javaClassStatic()->getMethod("getHasBeenCalled"); + auto __result = method(_javaPart); + return static_cast(__result); + } + void JHybridTestViewSpec::setHasBeenCalled(bool hasBeenCalled) { + static const auto method = _javaPart->javaClassStatic()->getMethod("setHasBeenCalled"); + method(_javaPart, hasBeenCalled); + } + ColorScheme JHybridTestViewSpec::getColorScheme() { + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getColorScheme"); + auto __result = method(_javaPart); + return __result->toCpp(); + } + void JHybridTestViewSpec::setColorScheme(ColorScheme colorScheme) { + static const auto method = _javaPart->javaClassStatic()->getMethod /* colorScheme */)>("setColorScheme"); + method(_javaPart, JColorScheme::fromCpp(colorScheme)); + } + std::function JHybridTestViewSpec::getSomeCallback() { + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getSomeCallback_cxx"); + auto __result = method(_javaPart); + return [&]() -> std::function { + if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] { + auto downcast = jni::static_ref_cast(__result); + return downcast->cthis()->getFunction(); + } else { + auto __resultRef = jni::make_global(__result); + return JNICallable(std::move(__resultRef)); + } + }(); + } + void JHybridTestViewSpec::setSomeCallback(const std::function& someCallback) { + static const auto method = _javaPart->javaClassStatic()->getMethod /* someCallback */)>("setSomeCallback_cxx"); + method(_javaPart, JFunc_void_cxx::fromCpp(someCallback)); + } + + // Methods + void JHybridTestViewSpec::someMethod() { + static const auto method = _javaPart->javaClassStatic()->getMethod("someMethod"); + method(_javaPart); + } + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp new file mode 100644 index 000000000..67ca8f0d6 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp @@ -0,0 +1,70 @@ +/// +/// HybridTestViewSpec.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#include +#include +#include "HybridTestViewSpec.hpp" + + + + +namespace margelo::nitro::test::external { + + using namespace facebook; + + class JHybridTestViewSpec: public virtual HybridTestViewSpec, public virtual JHybridObject { + public: + struct JavaPart: public jni::JavaClass { + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/HybridTestViewSpec;"; + std::shared_ptr getJHybridTestViewSpec(); + }; + struct CxxPart: public jni::HybridClass { + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/HybridTestViewSpec$CxxPart;"; + static jni::local_ref initHybrid(jni::alias_ref jThis); + static void registerNatives(); + using HybridBase::HybridBase; + protected: + std::shared_ptr createHybridObject(const jni::local_ref& javaPart) override; + }; + + public: + explicit JHybridTestViewSpec(const jni::local_ref& javaPart): + HybridObject(HybridTestViewSpec::TAG), + JHybridObject(javaPart), + _javaPart(jni::make_global(javaPart)) {} + ~JHybridTestViewSpec() override { + // Hermes GC can destroy JS objects on a non-JNI Thread. + jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); }); + } + + public: + inline const jni::global_ref& getJavaPart() const noexcept { + return _javaPart; + } + + public: + // Properties + bool getIsBlue() override; + void setIsBlue(bool isBlue) override; + bool getHasBeenCalled() override; + void setHasBeenCalled(bool hasBeenCalled) override; + ColorScheme getColorScheme() override; + void setColorScheme(ColorScheme colorScheme) override; + std::function getSomeCallback() override; + void setSomeCallback(const std::function& someCallback) override; + + public: + // Methods + void someMethod() override; + + private: + jni::global_ref _javaPart; + }; + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp new file mode 100644 index 000000000..c0ef90699 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp @@ -0,0 +1,68 @@ +/// +/// JHybridTestViewStateUpdater.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#include "JHybridTestViewStateUpdater.hpp" +#include "views/HybridTestViewComponent.hpp" +#include +#include + +namespace margelo::nitro::test::external::views { + +using namespace facebook; +using ConcreteStateData = react::ConcreteState; + +void JHybridTestViewStateUpdater::updateViewProps(jni::alias_ref /* class */, + jni::alias_ref javaView, + jni::alias_ref stateWrapperInterface) { + std::shared_ptr hybridView = javaView->getJHybridTestViewSpec(); + + // Get concrete StateWrapperImpl from passed StateWrapper interface object + jobject rawStateWrapper = stateWrapperInterface.get(); + if (!stateWrapperInterface->isInstanceOf(react::StateWrapperImpl::javaClassStatic())) [[unlikely]] { + throw std::runtime_error("StateWrapper is not a StateWrapperImpl"); + } + auto stateWrapper = jni::alias_ref{ + static_cast(rawStateWrapper)}; + std::shared_ptr state = stateWrapper->cthis()->getState(); + auto concreteState = std::static_pointer_cast(state); + const HybridTestViewState& data = concreteState->getData(); + const std::shared_ptr& props = data.getProps(); + if (props == nullptr) [[unlikely]] { + // Props aren't set yet! + throw std::runtime_error("HybridTestViewState's data doesn't contain any props!"); + } + + // Update all props if they are dirty + if (props->isBlue.isDirty) { + hybridView->setIsBlue(props->isBlue.value); + props->isBlue.isDirty = false; + } + if (props->hasBeenCalled.isDirty) { + hybridView->setHasBeenCalled(props->hasBeenCalled.value); + props->hasBeenCalled.isDirty = false; + } + if (props->colorScheme.isDirty) { + hybridView->setColorScheme(props->colorScheme.value); + props->colorScheme.isDirty = false; + } + if (props->someCallback.isDirty) { + hybridView->setSomeCallback(props->someCallback.value); + props->someCallback.isDirty = false; + } + + // Update hybridRef if it changed + if (props->hybridRef.isDirty) { + // hybridRef changed - call it with new this + const auto& maybeFunc = props->hybridRef.value; + if (maybeFunc.has_value()) { + maybeFunc.value()(hybridView); + } + props->hybridRef.isDirty = false; + } +} + +} // namespace margelo::nitro::test::external::views diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.hpp new file mode 100644 index 000000000..dc7439a08 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.hpp @@ -0,0 +1,49 @@ +/// +/// JHybridTestViewStateUpdater.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#ifndef RN_SERIALIZABLE_STATE +#error NitroTestExternal was compiled without the 'RN_SERIALIZABLE_STATE' flag. This flag is required for Nitro Views - set it in your CMakeLists! +#endif + +#include +#include +#include +#include +#include +#include +#include "JHybridTestViewSpec.hpp" +#include "views/HybridTestViewComponent.hpp" + +namespace margelo::nitro::test::external::views { + +using namespace facebook; + +class JHybridTestViewStateUpdater final: public jni::JavaClass { +public: + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/views/HybridTestViewStateUpdater;"; + +public: + static void updateViewProps(jni::alias_ref /* class */, + jni::alias_ref view, + jni::alias_ref stateWrapperInterface); + +public: + static void registerNatives() { + // Register JNI calls + javaClassStatic()->registerNatives({ + makeNativeMethod("updateViewProps", JHybridTestViewStateUpdater::updateViewProps), + }); + // Register React Native view component descriptor + auto provider = react::concreteComponentDescriptorProvider(); + auto providerRegistry = react::CoreComponentsRegistry::sharedProviderRegistry(); + providerRegistry->add(provider); + } +}; + +} // namespace margelo::nitro::test::external::views diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/ColorScheme.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/ColorScheme.kt new file mode 100644 index 000000000..ef9960bb9 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/ColorScheme.kt @@ -0,0 +1,23 @@ +/// +/// ColorScheme.kt +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +package com.margelo.nitro.test.external + +import androidx.annotation.Keep +import com.facebook.proguard.annotations.DoNotStrip + +/** + * Represents the JavaScript enum/union "ColorScheme". + */ +@DoNotStrip +@Keep +enum class ColorScheme(@DoNotStrip @Keep val value: Int) { + LIGHT(0), + DARK(1); + + companion object +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/Func_void.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/Func_void.kt new file mode 100644 index 000000000..fbf9c9310 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/Func_void.kt @@ -0,0 +1,80 @@ +/// +/// Func_void.kt +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +package com.margelo.nitro.test.external + +import androidx.annotation.Keep +import com.facebook.jni.HybridData +import com.facebook.proguard.annotations.DoNotStrip +import dalvik.annotation.optimization.FastNative + + +/** + * Represents the JavaScript callback `() => void`. + * This can be either implemented in C++ (in which case it might be a callback coming from JS), + * or in Kotlin/Java (in which case it is a native callback). + */ +@DoNotStrip +@Keep +@Suppress("ClassName", "RedundantUnitReturnType") +fun interface Func_void: () -> Unit { + /** + * Call the given JS callback. + * @throws Throwable if the JS function itself throws an error, or if the JS function/runtime has already been deleted. + */ + @DoNotStrip + @Keep + override fun invoke(): Unit +} + +/** + * Represents the JavaScript callback `() => void`. + * This is implemented in C++, via a `std::function<...>`. + * The callback might be coming from JS. + */ +@DoNotStrip +@Keep +@Suppress( + "KotlinJniMissingFunction", "unused", + "RedundantSuppression", "RedundantUnitReturnType", "FunctionName", + "ConvertSecondaryConstructorToPrimary", "ClassName", "LocalVariableName", +) +class Func_void_cxx: Func_void { + @DoNotStrip + @Keep + private val mHybridData: HybridData + + @DoNotStrip + @Keep + private constructor(hybridData: HybridData) { + mHybridData = hybridData + } + + @DoNotStrip + @Keep + override fun invoke(): Unit + = invoke_cxx() + + @FastNative + private external fun invoke_cxx(): Unit +} + +/** + * Represents the JavaScript callback `() => void`. + * This is implemented in Java/Kotlin, via a `() -> Unit`. + * The callback is always coming from native. + */ +@DoNotStrip +@Keep +@Suppress("ClassName", "RedundantUnitReturnType", "unused") +class Func_void_java(private val function: () -> Unit): Func_void { + @DoNotStrip + @Keep + override fun invoke(): Unit { + return this.function() + } +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBaseSpec.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBaseSpec.kt new file mode 100644 index 000000000..26063c670 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBaseSpec.kt @@ -0,0 +1,54 @@ +/// +/// HybridBaseSpec.kt +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +package com.margelo.nitro.test.external + +import androidx.annotation.Keep +import com.facebook.jni.HybridData +import com.facebook.proguard.annotations.DoNotStrip +import com.margelo.nitro.core.HybridObject + +/** + * A Kotlin class representing the Base HybridObject. + * Implement this abstract class to create Kotlin-based instances of Base. + */ +@DoNotStrip +@Keep +@Suppress( + "KotlinJniMissingFunction", "unused", + "RedundantSuppression", "RedundantUnitReturnType", "SimpleRedundantLet", + "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" +) +abstract class HybridBaseSpec: HybridObject() { + // Properties + @get:DoNotStrip + @get:Keep + abstract val abc: Double + + // Methods + + + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject Base]" + } + + // C++ backing class + @DoNotStrip + @Keep + protected open class CxxPart(javaPart: HybridBaseSpec): HybridObject.CxxPart(javaPart) { + // C++ JHybridBaseSpec::CxxPart::initHybrid(...) + external override fun initHybrid(): HybridData + } + override fun createCxxPart(): CxxPart { + return CxxPart(this) + } + + companion object { + protected const val TAG = "HybridBaseSpec" + } +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBlaBlaSpec.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBlaBlaSpec.kt new file mode 100644 index 000000000..dedbe7b3c --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBlaBlaSpec.kt @@ -0,0 +1,56 @@ +/// +/// HybridBlaBlaSpec.kt +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +package com.margelo.nitro.test.external + +import androidx.annotation.Keep +import com.facebook.jni.HybridData +import com.facebook.proguard.annotations.DoNotStrip +import com.margelo.nitro.core.HybridObject + +/** + * A Kotlin class representing the BlaBla HybridObject. + * Implement this abstract class to create Kotlin-based instances of BlaBla. + */ +@DoNotStrip +@Keep +@Suppress( + "KotlinJniMissingFunction", "unused", + "RedundantSuppression", "RedundantUnitReturnType", "SimpleRedundantLet", + "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" +) +abstract class HybridBlaBlaSpec: HybridObject() { + // Properties + @get:DoNotStrip + @get:Keep + @set:DoNotStrip + @set:Keep + abstract var base: HybridBaseSpec? + + // Methods + + + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject BlaBla]" + } + + // C++ backing class + @DoNotStrip + @Keep + protected open class CxxPart(javaPart: HybridBlaBlaSpec): HybridObject.CxxPart(javaPart) { + // C++ JHybridBlaBlaSpec::CxxPart::initHybrid(...) + external override fun initHybrid(): HybridData + } + override fun createCxxPart(): CxxPart { + return CxxPart(this) + } + + companion object { + protected const val TAG = "HybridBlaBlaSpec" + } +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridTestViewSpec.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridTestViewSpec.kt new file mode 100644 index 000000000..f28474867 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridTestViewSpec.kt @@ -0,0 +1,85 @@ +/// +/// HybridTestViewSpec.kt +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +package com.margelo.nitro.test.external + +import androidx.annotation.Keep +import com.facebook.jni.HybridData +import com.facebook.proguard.annotations.DoNotStrip +import com.margelo.nitro.core.HybridObject +import com.margelo.nitro.views.HybridView + +/** + * A Kotlin class representing the TestView HybridObject. + * Implement this abstract class to create Kotlin-based instances of TestView. + */ +@DoNotStrip +@Keep +@Suppress( + "KotlinJniMissingFunction", "unused", + "RedundantSuppression", "RedundantUnitReturnType", "SimpleRedundantLet", + "LocalVariableName", "PropertyName", "PrivatePropertyName", "FunctionName" +) +abstract class HybridTestViewSpec: HybridView() { + // Properties + @get:DoNotStrip + @get:Keep + @set:DoNotStrip + @set:Keep + abstract var isBlue: Boolean + + @get:DoNotStrip + @get:Keep + @set:DoNotStrip + @set:Keep + abstract var hasBeenCalled: Boolean + + @get:DoNotStrip + @get:Keep + @set:DoNotStrip + @set:Keep + abstract var colorScheme: ColorScheme + + abstract var someCallback: () -> Unit + + private var someCallback_cxx: Func_void + @Keep + @DoNotStrip + get() { + return Func_void_java(someCallback) + } + @Keep + @DoNotStrip + set(value) { + someCallback = value + } + + // Methods + @DoNotStrip + @Keep + abstract fun someMethod(): Unit + + // Default implementation of `HybridObject.toString()` + override fun toString(): String { + return "[HybridObject TestView]" + } + + // C++ backing class + @DoNotStrip + @Keep + protected open class CxxPart(javaPart: HybridTestViewSpec): HybridObject.CxxPart(javaPart) { + // C++ JHybridTestViewSpec::CxxPart::initHybrid(...) + external override fun initHybrid(): HybridData + } + override fun createCxxPart(): CxxPart { + return CxxPart(this) + } + + companion object { + protected const val TAG = "HybridTestViewSpec" + } +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/views/HybridTestViewManager.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/views/HybridTestViewManager.kt new file mode 100644 index 000000000..2c95cc15c --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/views/HybridTestViewManager.kt @@ -0,0 +1,80 @@ +/// +/// HybridTestViewManager.kt +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +package com.margelo.nitro.test.external.views + +import android.view.View +import com.facebook.react.uimanager.ReactStylesDiffMap +import com.facebook.react.uimanager.SimpleViewManager +import com.facebook.react.uimanager.StateWrapper +import com.facebook.react.uimanager.ThemedReactContext +import com.margelo.nitro.R.id.associated_hybrid_view_tag +import com.margelo.nitro.views.RecyclableView +import com.margelo.nitro.test.external.* + +/** + * Represents the React Native `ViewManager` for the "TestView" Nitro HybridView. + */ +public class HybridTestViewManager: SimpleViewManager() { + init { + if (RecyclableView::class.java.isAssignableFrom(HybridTestView::class.java)) { + // Enable view recycling + super.setupViewRecycling() + } + } + + override fun getName(): String { + return "TestView" + } + + override fun createViewInstance(reactContext: ThemedReactContext): View { + val hybridView = HybridTestView(reactContext) + val view = hybridView.view + view.setTag(associated_hybrid_view_tag, hybridView) + return view + } + + override fun updateState(view: View, props: ReactStylesDiffMap, stateWrapper: StateWrapper): Any? { + val hybridView = getHybridView(view) + ?: throw Error("Couldn't find view $view in local views table!") + + // 1. Update each prop individually + hybridView.beforeUpdate() + HybridTestViewStateUpdater.updateViewProps(hybridView, stateWrapper) + hybridView.afterUpdate() + + // 2. Continue in base View props + return super.updateState(view, props, stateWrapper) + } + + override fun onDropViewInstance(view: View) { + val hybridView = getHybridView(view) + hybridView?.onDropView() + return super.onDropViewInstance(view) + } + + protected override fun prepareToRecycleView(reactContext: ThemedReactContext, view: View): View? { + super.prepareToRecycleView(reactContext, view) + val hybridView = getHybridView(view) + ?: return null + + @Suppress("USELESS_IS_CHECK") + if (hybridView is RecyclableView) { + // Recycle in it's implementation + hybridView.prepareForRecycle() + + // Maybe update the view if it changed + return hybridView.view + } else { + return null + } + } + + private fun getHybridView(view: View): HybridTestView? { + return view.getTag(associated_hybrid_view_tag) as? HybridTestView + } +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/views/HybridTestViewStateUpdater.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/views/HybridTestViewStateUpdater.kt new file mode 100644 index 000000000..b28101854 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/views/HybridTestViewStateUpdater.kt @@ -0,0 +1,23 @@ +/// +/// HybridTestViewStateUpdater.kt +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +package com.margelo.nitro.test.external.views + +import com.facebook.react.uimanager.StateWrapper +import com.margelo.nitro.test.external.* + +internal class HybridTestViewStateUpdater { + companion object { + /** + * Updates the props for [view] through C++. + * The [state] prop is expected to contain [view]'s props as wrapped Fabric state. + */ + @Suppress("KotlinJniMissingFunction") + @JvmStatic + external fun updateViewProps(view: HybridTestViewSpec, state: StateWrapper) + } +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.cpp index eb8fe3589..075667431 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.cpp @@ -8,7 +8,10 @@ #include "NitroTestExternal-Swift-Cxx-Bridge.hpp" // Include C++ implementation defined types +#include "HybridBaseSpecSwift.hpp" +#include "HybridBlaBlaSpecSwift.hpp" #include "HybridSomeExternalObjectSpecSwift.hpp" +#include "HybridTestViewSpecSwift.hpp" #include "NitroTestExternal-Swift-Cxx-Umbrella.hpp" #include @@ -29,5 +32,61 @@ namespace margelo::nitro::test::external::bridge::swift { NitroTestExternal::HybridSomeExternalObjectSpec_cxx& swiftPart = swiftWrapper->getSwiftPart(); return swiftPart.toUnsafe(); } + + // pragma MARK: std::shared_ptr + std::shared_ptr create_std__shared_ptr_HybridBaseSpec_(void* NON_NULL swiftUnsafePointer) noexcept { + NitroTestExternal::HybridBaseSpec_cxx swiftPart = NitroTestExternal::HybridBaseSpec_cxx::fromUnsafe(swiftUnsafePointer); + return std::make_shared(swiftPart); + } + void* NON_NULL get_std__shared_ptr_HybridBaseSpec_(std__shared_ptr_HybridBaseSpec_ cppType) { + std::shared_ptr swiftWrapper = std::dynamic_pointer_cast(cppType); + #ifdef NITRO_DEBUG + if (swiftWrapper == nullptr) [[unlikely]] { + throw std::runtime_error("Class \"HybridBaseSpec\" is not implemented in Swift!"); + } + #endif + NitroTestExternal::HybridBaseSpec_cxx& swiftPart = swiftWrapper->getSwiftPart(); + return swiftPart.toUnsafe(); + } + + // pragma MARK: std::shared_ptr + std::shared_ptr create_std__shared_ptr_HybridBlaBlaSpec_(void* NON_NULL swiftUnsafePointer) noexcept { + NitroTestExternal::HybridBlaBlaSpec_cxx swiftPart = NitroTestExternal::HybridBlaBlaSpec_cxx::fromUnsafe(swiftUnsafePointer); + return std::make_shared(swiftPart); + } + void* NON_NULL get_std__shared_ptr_HybridBlaBlaSpec_(std__shared_ptr_HybridBlaBlaSpec_ cppType) { + std::shared_ptr swiftWrapper = std::dynamic_pointer_cast(cppType); + #ifdef NITRO_DEBUG + if (swiftWrapper == nullptr) [[unlikely]] { + throw std::runtime_error("Class \"HybridBlaBlaSpec\" is not implemented in Swift!"); + } + #endif + NitroTestExternal::HybridBlaBlaSpec_cxx& swiftPart = swiftWrapper->getSwiftPart(); + return swiftPart.toUnsafe(); + } + + // pragma MARK: std::function + Func_void create_Func_void(void* NON_NULL swiftClosureWrapper) noexcept { + auto swiftClosure = NitroTestExternal::Func_void::fromUnsafe(swiftClosureWrapper); + return [swiftClosure = std::move(swiftClosure)]() mutable -> void { + swiftClosure.call(); + }; + } + + // pragma MARK: std::shared_ptr + std::shared_ptr create_std__shared_ptr_HybridTestViewSpec_(void* NON_NULL swiftUnsafePointer) noexcept { + NitroTestExternal::HybridTestViewSpec_cxx swiftPart = NitroTestExternal::HybridTestViewSpec_cxx::fromUnsafe(swiftUnsafePointer); + return std::make_shared(swiftPart); + } + void* NON_NULL get_std__shared_ptr_HybridTestViewSpec_(std__shared_ptr_HybridTestViewSpec_ cppType) { + std::shared_ptr swiftWrapper = std::dynamic_pointer_cast(cppType); + #ifdef NITRO_DEBUG + if (swiftWrapper == nullptr) [[unlikely]] { + throw std::runtime_error("Class \"HybridTestViewSpec\" is not implemented in Swift!"); + } + #endif + NitroTestExternal::HybridTestViewSpec_cxx& swiftPart = swiftWrapper->getSwiftPart(); + return swiftPart.toUnsafe(); + } } // namespace margelo::nitro::test::external::bridge::swift diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.hpp index a89feb409..d753773e7 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.hpp @@ -8,20 +8,36 @@ #pragma once // Forward declarations of C++ defined types +// Forward declaration of `HybridBaseSpec` to properly resolve imports. +namespace margelo::nitro::test::external { class HybridBaseSpec; } +// Forward declaration of `HybridBlaBlaSpec` to properly resolve imports. +namespace margelo::nitro::test::external { class HybridBlaBlaSpec; } // Forward declaration of `HybridSomeExternalObjectSpec` to properly resolve imports. namespace margelo::nitro::test::external { class HybridSomeExternalObjectSpec; } +// Forward declaration of `HybridTestViewSpec` to properly resolve imports. +namespace margelo::nitro::test::external { class HybridTestViewSpec; } // Forward declaration of `OptionalPrimitivesHolder` to properly resolve imports. namespace margelo::nitro::test::external { struct OptionalPrimitivesHolder; } // Forward declarations of Swift defined types +// Forward declaration of `HybridBaseSpec_cxx` to properly resolve imports. +namespace NitroTestExternal { class HybridBaseSpec_cxx; } +// Forward declaration of `HybridBlaBlaSpec_cxx` to properly resolve imports. +namespace NitroTestExternal { class HybridBlaBlaSpec_cxx; } // Forward declaration of `HybridSomeExternalObjectSpec_cxx` to properly resolve imports. namespace NitroTestExternal { class HybridSomeExternalObjectSpec_cxx; } +// Forward declaration of `HybridTestViewSpec_cxx` to properly resolve imports. +namespace NitroTestExternal { class HybridTestViewSpec_cxx; } // Include C++ defined types +#include "HybridBaseSpec.hpp" +#include "HybridBlaBlaSpec.hpp" #include "HybridSomeExternalObjectSpec.hpp" +#include "HybridTestViewSpec.hpp" #include "OptionalPrimitivesHolder.hpp" #include #include +#include #include #include #include @@ -121,5 +137,87 @@ namespace margelo::nitro::test::external::bridge::swift { inline Result_OptionalPrimitivesHolder_ create_Result_OptionalPrimitivesHolder_(const std::exception_ptr& error) noexcept { return Result::withError(error); } + + // pragma MARK: std::shared_ptr + /** + * Specialized version of `std::shared_ptr`. + */ + using std__shared_ptr_HybridBaseSpec_ = std::shared_ptr; + std::shared_ptr create_std__shared_ptr_HybridBaseSpec_(void* NON_NULL swiftUnsafePointer) noexcept; + void* NON_NULL get_std__shared_ptr_HybridBaseSpec_(std__shared_ptr_HybridBaseSpec_ cppType); + + // pragma MARK: std::weak_ptr + using std__weak_ptr_HybridBaseSpec_ = std::weak_ptr; + inline std__weak_ptr_HybridBaseSpec_ weakify_std__shared_ptr_HybridBaseSpec_(const std::shared_ptr& strong) noexcept { return strong; } + + // pragma MARK: std::optional> + /** + * Specialized version of `std::optional>`. + */ + using std__optional_std__shared_ptr_HybridBaseSpec__ = std::optional>; + inline std::optional> create_std__optional_std__shared_ptr_HybridBaseSpec__(const std::shared_ptr& value) noexcept { + return std::optional>(value); + } + inline bool has_value_std__optional_std__shared_ptr_HybridBaseSpec__(const std::optional>& optional) noexcept { + return optional.has_value(); + } + inline std::shared_ptr get_std__optional_std__shared_ptr_HybridBaseSpec__(const std::optional>& optional) noexcept { + return optional.value(); + } + + // pragma MARK: std::shared_ptr + /** + * Specialized version of `std::shared_ptr`. + */ + using std__shared_ptr_HybridBlaBlaSpec_ = std::shared_ptr; + std::shared_ptr create_std__shared_ptr_HybridBlaBlaSpec_(void* NON_NULL swiftUnsafePointer) noexcept; + void* NON_NULL get_std__shared_ptr_HybridBlaBlaSpec_(std__shared_ptr_HybridBlaBlaSpec_ cppType); + + // pragma MARK: std::weak_ptr + using std__weak_ptr_HybridBlaBlaSpec_ = std::weak_ptr; + inline std__weak_ptr_HybridBlaBlaSpec_ weakify_std__shared_ptr_HybridBlaBlaSpec_(const std::shared_ptr& strong) noexcept { return strong; } + + // pragma MARK: std::function + /** + * Specialized version of `std::function`. + */ + using Func_void = std::function; + /** + * Wrapper class for a `std::function`, this can be used from Swift. + */ + class Func_void_Wrapper final { + public: + explicit Func_void_Wrapper(std::function&& func): _function(std::make_unique>(std::move(func))) {} + inline void call() const noexcept { + _function->operator()(); + } + private: + std::unique_ptr> _function; + } SWIFT_NONCOPYABLE; + Func_void create_Func_void(void* NON_NULL swiftClosureWrapper) noexcept; + inline Func_void_Wrapper wrap_Func_void(Func_void value) noexcept { + return Func_void_Wrapper(std::move(value)); + } + + // pragma MARK: std::shared_ptr + /** + * Specialized version of `std::shared_ptr`. + */ + using std__shared_ptr_HybridTestViewSpec_ = std::shared_ptr; + std::shared_ptr create_std__shared_ptr_HybridTestViewSpec_(void* NON_NULL swiftUnsafePointer) noexcept; + void* NON_NULL get_std__shared_ptr_HybridTestViewSpec_(std__shared_ptr_HybridTestViewSpec_ cppType); + + // pragma MARK: std::weak_ptr + using std__weak_ptr_HybridTestViewSpec_ = std::weak_ptr; + inline std__weak_ptr_HybridTestViewSpec_ weakify_std__shared_ptr_HybridTestViewSpec_(const std::shared_ptr& strong) noexcept { return strong; } + + // pragma MARK: Result + using Result_void_ = Result; + inline Result_void_ create_Result_void_() noexcept { + return Result::withValue(); + } + inline Result_void_ create_Result_void_(const std::exception_ptr& error) noexcept { + return Result::withError(error); + } } // namespace margelo::nitro::test::external::bridge::swift diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Umbrella.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Umbrella.hpp index a08536f9e..37bbe8508 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Umbrella.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Umbrella.hpp @@ -8,16 +8,29 @@ #pragma once // Forward declarations of C++ defined types +// Forward declaration of `ColorScheme` to properly resolve imports. +namespace margelo::nitro::test::external { enum class ColorScheme; } +// Forward declaration of `HybridBaseSpec` to properly resolve imports. +namespace margelo::nitro::test::external { class HybridBaseSpec; } +// Forward declaration of `HybridBlaBlaSpec` to properly resolve imports. +namespace margelo::nitro::test::external { class HybridBlaBlaSpec; } // Forward declaration of `HybridSomeExternalObjectSpec` to properly resolve imports. namespace margelo::nitro::test::external { class HybridSomeExternalObjectSpec; } +// Forward declaration of `HybridTestViewSpec` to properly resolve imports. +namespace margelo::nitro::test::external { class HybridTestViewSpec; } // Forward declaration of `OptionalPrimitivesHolder` to properly resolve imports. namespace margelo::nitro::test::external { struct OptionalPrimitivesHolder; } // Include C++ defined types +#include "ColorScheme.hpp" +#include "HybridBaseSpec.hpp" +#include "HybridBlaBlaSpec.hpp" #include "HybridSomeExternalObjectSpec.hpp" +#include "HybridTestViewSpec.hpp" #include "OptionalPrimitivesHolder.hpp" #include #include +#include #include #include #include @@ -32,8 +45,14 @@ namespace margelo::nitro::test::external { struct OptionalPrimitivesHolder; } #include // Forward declarations of Swift defined types +// Forward declaration of `HybridBaseSpec_cxx` to properly resolve imports. +namespace NitroTestExternal { class HybridBaseSpec_cxx; } +// Forward declaration of `HybridBlaBlaSpec_cxx` to properly resolve imports. +namespace NitroTestExternal { class HybridBlaBlaSpec_cxx; } // Forward declaration of `HybridSomeExternalObjectSpec_cxx` to properly resolve imports. namespace NitroTestExternal { class HybridSomeExternalObjectSpec_cxx; } +// Forward declaration of `HybridTestViewSpec_cxx` to properly resolve imports. +namespace NitroTestExternal { class HybridTestViewSpec_cxx; } // Include Swift defined types #if __has_include("NitroTestExternal-Swift.h") diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.mm b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.mm index af7ce0ece..64115b0b7 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.mm +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.mm @@ -11,6 +11,7 @@ #import #include "HybridSomeExternalObjectSpecSwift.hpp" +#include "HybridTestViewSpecSwift.hpp" @interface NitroTestExternalAutolinking : NSObject @end @@ -28,6 +29,13 @@ + (void) load { return hybridObject; } ); + HybridObjectRegistry::registerHybridObjectConstructor( + "TestView", + []() -> std::shared_ptr { + std::shared_ptr hybridObject = NitroTestExternal::NitroTestExternalAutolinking::createTestView(); + return hybridObject; + } + ); } @end diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.swift index ac792028a..c46e0c99a 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.swift +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.swift @@ -23,4 +23,16 @@ public final class NitroTestExternalAutolinking { public static func isSomeExternalObjectRecyclable() -> Bool { return HybridSomeExternalObject.self is any RecyclableView.Type } + + public static func createTestView() -> bridge.std__shared_ptr_HybridTestViewSpec_ { + let hybridObject = HybridTestView() + return { () -> bridge.std__shared_ptr_HybridTestViewSpec_ in + let __cxxWrapped = hybridObject.getCxxWrapper() + return __cxxWrapped.getCxxPart() + }() + } + + public static func isTestViewRecyclable() -> Bool { + return HybridTestView.self is any RecyclableView.Type + } } diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.cpp new file mode 100644 index 000000000..d72488a72 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.cpp @@ -0,0 +1,11 @@ +/// +/// HybridBaseSpecSwift.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#include "HybridBaseSpecSwift.hpp" + +namespace margelo::nitro::test::external { +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.hpp new file mode 100644 index 000000000..9a1217438 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.hpp @@ -0,0 +1,77 @@ +/// +/// HybridBaseSpecSwift.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#include "HybridBaseSpec.hpp" + +// Forward declaration of `HybridBaseSpec_cxx` to properly resolve imports. +namespace NitroTestExternal { class HybridBaseSpec_cxx; } + + + + + +#include "NitroTestExternal-Swift-Cxx-Umbrella.hpp" + +namespace margelo::nitro::test::external { + + /** + * The C++ part of HybridBaseSpec_cxx.swift. + * + * HybridBaseSpecSwift (C++) accesses HybridBaseSpec_cxx (Swift), and might + * contain some additional bridging code for C++ <> Swift interop. + * + * Since this obviously introduces an overhead, I hope at some point in + * the future, HybridBaseSpec_cxx can directly inherit from the C++ class HybridBaseSpec + * to simplify the whole structure and memory management. + */ + class HybridBaseSpecSwift: public virtual HybridBaseSpec { + public: + // Constructor from a Swift instance + explicit HybridBaseSpecSwift(const NitroTestExternal::HybridBaseSpec_cxx& swiftPart): + HybridObject(HybridBaseSpec::TAG), + _swiftPart(swiftPart) { } + + public: + // Get the Swift part + inline NitroTestExternal::HybridBaseSpec_cxx& getSwiftPart() noexcept { + return _swiftPart; + } + + public: + inline size_t getExternalMemorySize() noexcept override { + return _swiftPart.getMemorySize(); + } + bool equals(const std::shared_ptr& other) override { + if (auto otherCast = std::dynamic_pointer_cast(other)) { + return _swiftPart.equals(otherCast->_swiftPart); + } + return false; + } + void dispose() noexcept override { + _swiftPart.dispose(); + } + std::string toString() override { + return _swiftPart.toString(); + } + + public: + // Properties + inline double getAbc() noexcept override { + return _swiftPart.getAbc(); + } + + public: + // Methods + + + private: + NitroTestExternal::HybridBaseSpec_cxx _swiftPart; + }; + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.cpp new file mode 100644 index 000000000..cbdbd2b98 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.cpp @@ -0,0 +1,11 @@ +/// +/// HybridBlaBlaSpecSwift.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#include "HybridBlaBlaSpecSwift.hpp" + +namespace margelo::nitro::test::external { +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.hpp new file mode 100644 index 000000000..731e2e809 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.hpp @@ -0,0 +1,84 @@ +/// +/// HybridBlaBlaSpecSwift.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#include "HybridBlaBlaSpec.hpp" + +// Forward declaration of `HybridBlaBlaSpec_cxx` to properly resolve imports. +namespace NitroTestExternal { class HybridBlaBlaSpec_cxx; } + +// Forward declaration of `HybridBaseSpec` to properly resolve imports. +namespace margelo::nitro::test::external { class HybridBaseSpec; } + +#include +#include "HybridBaseSpec.hpp" +#include + +#include "NitroTestExternal-Swift-Cxx-Umbrella.hpp" + +namespace margelo::nitro::test::external { + + /** + * The C++ part of HybridBlaBlaSpec_cxx.swift. + * + * HybridBlaBlaSpecSwift (C++) accesses HybridBlaBlaSpec_cxx (Swift), and might + * contain some additional bridging code for C++ <> Swift interop. + * + * Since this obviously introduces an overhead, I hope at some point in + * the future, HybridBlaBlaSpec_cxx can directly inherit from the C++ class HybridBlaBlaSpec + * to simplify the whole structure and memory management. + */ + class HybridBlaBlaSpecSwift: public virtual HybridBlaBlaSpec { + public: + // Constructor from a Swift instance + explicit HybridBlaBlaSpecSwift(const NitroTestExternal::HybridBlaBlaSpec_cxx& swiftPart): + HybridObject(HybridBlaBlaSpec::TAG), + _swiftPart(swiftPart) { } + + public: + // Get the Swift part + inline NitroTestExternal::HybridBlaBlaSpec_cxx& getSwiftPart() noexcept { + return _swiftPart; + } + + public: + inline size_t getExternalMemorySize() noexcept override { + return _swiftPart.getMemorySize(); + } + bool equals(const std::shared_ptr& other) override { + if (auto otherCast = std::dynamic_pointer_cast(other)) { + return _swiftPart.equals(otherCast->_swiftPart); + } + return false; + } + void dispose() noexcept override { + _swiftPart.dispose(); + } + std::string toString() override { + return _swiftPart.toString(); + } + + public: + // Properties + inline std::optional> getBase() noexcept override { + auto __result = _swiftPart.getBase(); + return __result; + } + inline void setBase(const std::optional>& base) noexcept override { + _swiftPart.setBase(base); + } + + public: + // Methods + + + private: + NitroTestExternal::HybridBlaBlaSpec_cxx _swiftPart; + }; + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.cpp new file mode 100644 index 000000000..af14f369e --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.cpp @@ -0,0 +1,11 @@ +/// +/// HybridTestViewSpecSwift.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#include "HybridTestViewSpecSwift.hpp" + +namespace margelo::nitro::test::external { +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.hpp new file mode 100644 index 000000000..29ee54fd8 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.hpp @@ -0,0 +1,107 @@ +/// +/// HybridTestViewSpecSwift.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#include "HybridTestViewSpec.hpp" + +// Forward declaration of `HybridTestViewSpec_cxx` to properly resolve imports. +namespace NitroTestExternal { class HybridTestViewSpec_cxx; } + +// Forward declaration of `ColorScheme` to properly resolve imports. +namespace margelo::nitro::test::external { enum class ColorScheme; } + +#include "ColorScheme.hpp" +#include + +#include "NitroTestExternal-Swift-Cxx-Umbrella.hpp" + +namespace margelo::nitro::test::external { + + /** + * The C++ part of HybridTestViewSpec_cxx.swift. + * + * HybridTestViewSpecSwift (C++) accesses HybridTestViewSpec_cxx (Swift), and might + * contain some additional bridging code for C++ <> Swift interop. + * + * Since this obviously introduces an overhead, I hope at some point in + * the future, HybridTestViewSpec_cxx can directly inherit from the C++ class HybridTestViewSpec + * to simplify the whole structure and memory management. + */ + class HybridTestViewSpecSwift: public virtual HybridTestViewSpec { + public: + // Constructor from a Swift instance + explicit HybridTestViewSpecSwift(const NitroTestExternal::HybridTestViewSpec_cxx& swiftPart): + HybridObject(HybridTestViewSpec::TAG), + _swiftPart(swiftPart) { } + + public: + // Get the Swift part + inline NitroTestExternal::HybridTestViewSpec_cxx& getSwiftPart() noexcept { + return _swiftPart; + } + + public: + inline size_t getExternalMemorySize() noexcept override { + return _swiftPart.getMemorySize(); + } + bool equals(const std::shared_ptr& other) override { + if (auto otherCast = std::dynamic_pointer_cast(other)) { + return _swiftPart.equals(otherCast->_swiftPart); + } + return false; + } + void dispose() noexcept override { + _swiftPart.dispose(); + } + std::string toString() override { + return _swiftPart.toString(); + } + + public: + // Properties + inline bool getIsBlue() noexcept override { + return _swiftPart.isBlue(); + } + inline void setIsBlue(bool isBlue) noexcept override { + _swiftPart.setIsBlue(std::forward(isBlue)); + } + inline bool getHasBeenCalled() noexcept override { + return _swiftPart.hasBeenCalled(); + } + inline void setHasBeenCalled(bool hasBeenCalled) noexcept override { + _swiftPart.setHasBeenCalled(std::forward(hasBeenCalled)); + } + inline ColorScheme getColorScheme() noexcept override { + auto __result = _swiftPart.getColorScheme(); + return static_cast(__result); + } + inline void setColorScheme(ColorScheme colorScheme) noexcept override { + _swiftPart.setColorScheme(static_cast(colorScheme)); + } + inline std::function getSomeCallback() noexcept override { + auto __result = _swiftPart.getSomeCallback(); + return __result; + } + inline void setSomeCallback(const std::function& someCallback) noexcept override { + _swiftPart.setSomeCallback(someCallback); + } + + public: + // Methods + inline void someMethod() override { + auto __result = _swiftPart.someMethod(); + if (__result.hasError()) [[unlikely]] { + std::rethrow_exception(__result.error()); + } + } + + private: + NitroTestExternal::HybridTestViewSpec_cxx _swiftPart; + }; + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/HybridTestViewComponent.mm b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/HybridTestViewComponent.mm new file mode 100644 index 000000000..2e2c87b73 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/HybridTestViewComponent.mm @@ -0,0 +1,137 @@ +/// +/// HybridTestViewComponent.mm +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#import "HybridTestViewComponent.hpp" +#import +#import +#import +#import +#import +#import +#import + +#import "HybridTestViewSpecSwift.hpp" +#import "NitroTestExternal-Swift-Cxx-Umbrella.hpp" + +#if __has_include() +#include +#if REACT_NATIVE_VERSION_MINOR >= 82 +#define ENABLE_RCT_COMPONENT_VIEW_INVALIDATE +#endif +#endif + +using namespace facebook; +using namespace margelo::nitro::test::external; +using namespace margelo::nitro::test::external::views; + +/** + * Represents the React Native View holder for the Nitro "TestView" HybridView. + */ +@interface HybridTestViewComponent: RCTViewComponentView ++ (BOOL)shouldBeRecycled; +@end + +@implementation HybridTestViewComponent { + std::shared_ptr _hybridView; +} + ++ (void) load { + [super load]; + [RCTComponentViewFactory.currentComponentViewFactory registerComponentViewClass:[HybridTestViewComponent class]]; +} + ++ (react::ComponentDescriptorProvider) componentDescriptorProvider { + return react::concreteComponentDescriptorProvider(); +} + +- (instancetype) init { + if (self = [super init]) { + std::shared_ptr hybridView = NitroTestExternal::NitroTestExternalAutolinking::createTestView(); + _hybridView = std::dynamic_pointer_cast(hybridView); + [self updateView]; + } + return self; +} + +- (void) updateView { + // 1. Get Swift part + NitroTestExternal::HybridTestViewSpec_cxx& swiftPart = _hybridView->getSwiftPart(); + + // 2. Get UIView* + void* viewUnsafe = swiftPart.getView(); + UIView* view = (__bridge_transfer UIView*) viewUnsafe; + + // 3. Update RCTViewComponentView's [contentView] + [self setContentView:view]; +} + +- (void) updateProps:(const std::shared_ptr&)props + oldProps:(const std::shared_ptr&)oldProps { + // 1. Downcast props + const auto& newViewPropsConst = *std::static_pointer_cast(props); + auto& newViewProps = const_cast(newViewPropsConst); + NitroTestExternal::HybridTestViewSpec_cxx& swiftPart = _hybridView->getSwiftPart(); + + // 2. Update each prop individually + swiftPart.beforeUpdate(); + + // isBlue: boolean + if (newViewProps.isBlue.isDirty) { + swiftPart.setIsBlue(newViewProps.isBlue.value); + newViewProps.isBlue.isDirty = false; + } + // hasBeenCalled: boolean + if (newViewProps.hasBeenCalled.isDirty) { + swiftPart.setHasBeenCalled(newViewProps.hasBeenCalled.value); + newViewProps.hasBeenCalled.isDirty = false; + } + // colorScheme: enum + if (newViewProps.colorScheme.isDirty) { + swiftPart.setColorScheme(static_cast(newViewProps.colorScheme.value)); + newViewProps.colorScheme.isDirty = false; + } + // someCallback: function + if (newViewProps.someCallback.isDirty) { + swiftPart.setSomeCallback(newViewProps.someCallback.value); + newViewProps.someCallback.isDirty = false; + } + + swiftPart.afterUpdate(); + + // 3. Update hybridRef if it changed + if (newViewProps.hybridRef.isDirty) { + // hybridRef changed - call it with new this + const auto& maybeFunc = newViewProps.hybridRef.value; + if (maybeFunc.has_value()) { + maybeFunc.value()(_hybridView); + } + newViewProps.hybridRef.isDirty = false; + } + + // 4. Continue in base class + [super updateProps:props oldProps:oldProps]; +} + ++ (BOOL)shouldBeRecycled { + return NitroTestExternal::NitroTestExternalAutolinking::isTestViewRecyclable(); +} + +- (void)prepareForRecycle { + [super prepareForRecycle]; + NitroTestExternal::HybridTestViewSpec_cxx& swiftPart = _hybridView->getSwiftPart(); + swiftPart.maybePrepareForRecycle(); +} + +#ifdef ENABLE_RCT_COMPONENT_VIEW_INVALIDATE +- (void)invalidate { + NitroTestExternal::HybridTestViewSpec_cxx& swiftPart = _hybridView->getSwiftPart(); + swiftPart.onDropView(); + [super invalidate]; +} +#endif + +@end diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/ColorScheme.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/ColorScheme.swift new file mode 100644 index 000000000..035e6c089 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/ColorScheme.swift @@ -0,0 +1,40 @@ +/// +/// ColorScheme.swift +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +/** + * Represents the JS union `ColorScheme`, backed by a C++ enum. + */ +public typealias ColorScheme = margelo.nitro.test.external.ColorScheme + +public extension ColorScheme { + /** + * Get a ColorScheme for the given String value, or + * return `nil` if the given value was invalid/unknown. + */ + init?(fromString string: String) { + switch string { + case "light": + self = .light + case "dark": + self = .dark + default: + return nil + } + } + + /** + * Get the String value this ColorScheme represents. + */ + var stringValue: String { + switch self { + case .light: + return "light" + case .dark: + return "dark" + } + } +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/Func_void.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/Func_void.swift new file mode 100644 index 000000000..6a489e3bc --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/Func_void.swift @@ -0,0 +1,46 @@ +/// +/// Func_void.swift +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +import NitroModules + +/** + * Wraps a Swift `() -> Void` as a class. + * This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`. + */ +public final class Func_void { + public typealias bridge = margelo.nitro.test.external.bridge.swift + + private let closure: () -> Void + + public init(_ closure: @escaping () -> Void) { + self.closure = closure + } + + @inline(__always) + public func call() -> Void { + self.closure() + } + + /** + * Casts this instance to a retained unsafe raw pointer. + * This acquires one additional strong reference on the object! + */ + @inline(__always) + public func toUnsafe() -> UnsafeMutableRawPointer { + return Unmanaged.passRetained(self).toOpaque() + } + + /** + * Casts an unsafe pointer to a `Func_void`. + * The pointer has to be a retained opaque `Unmanaged`. + * This removes one strong reference from the object! + */ + @inline(__always) + public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void { + return Unmanaged.fromOpaque(pointer).takeRetainedValue() + } +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBaseSpec.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBaseSpec.swift new file mode 100644 index 000000000..2876e2a47 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBaseSpec.swift @@ -0,0 +1,55 @@ +/// +/// HybridBaseSpec.swift +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +import NitroModules + +/// See ``HybridBaseSpec`` +public protocol HybridBaseSpec_protocol: HybridObject { + // Properties + var abc: Double { get } + + // Methods + +} + +public extension HybridBaseSpec_protocol { + /// Default implementation of ``HybridObject.toString`` + func toString() -> String { + return "[HybridObject Base]" + } +} + +/// See ``HybridBaseSpec`` +open class HybridBaseSpec_base { + private weak var cxxWrapper: HybridBaseSpec_cxx? = nil + public init() { } + public func getCxxWrapper() -> HybridBaseSpec_cxx { + #if DEBUG + guard self is any HybridBaseSpec else { + fatalError("`self` is not a `HybridBaseSpec`! Did you accidentally inherit from `HybridBaseSpec_base` instead of `HybridBaseSpec`?") + } + #endif + if let cxxWrapper = self.cxxWrapper { + return cxxWrapper + } else { + let cxxWrapper = HybridBaseSpec_cxx(self as! any HybridBaseSpec) + self.cxxWrapper = cxxWrapper + return cxxWrapper + } + } +} + +/** + * A Swift base-protocol representing the Base HybridObject. + * Implement this protocol to create Swift-based instances of Base. + * ```swift + * class HybridBase : HybridBaseSpec { + * // ... + * } + * ``` + */ +public typealias HybridBaseSpec = HybridBaseSpec_protocol & HybridBaseSpec_base diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBaseSpec_cxx.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBaseSpec_cxx.swift new file mode 100644 index 000000000..e050d6285 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBaseSpec_cxx.swift @@ -0,0 +1,133 @@ +/// +/// HybridBaseSpec_cxx.swift +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +import NitroModules + +/** + * A class implementation that bridges HybridBaseSpec over to C++. + * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined. + * + * Also, some Swift types need to be bridged with special handling: + * - Enums need to be wrapped in Structs, otherwise they cannot be accessed bi-directionally (Swift bug: https://github.com/swiftlang/swift/issues/75330) + * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper + * - Throwing methods need to be wrapped with a Result type, as exceptions cannot be propagated to C++ + */ +open class HybridBaseSpec_cxx { + /** + * The Swift <> C++ bridge's namespace (`margelo::nitro::test::external::bridge::swift`) + * from `NitroTestExternal-Swift-Cxx-Bridge.hpp`. + * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift. + */ + public typealias bridge = margelo.nitro.test.external.bridge.swift + + /** + * Holds an instance of the `HybridBaseSpec` Swift protocol. + */ + private var __implementation: any HybridBaseSpec + + /** + * Holds a weak pointer to the C++ class that wraps the Swift class. + */ + private var __cxxPart: bridge.std__weak_ptr_HybridBaseSpec_ + + /** + * Create a new `HybridBaseSpec_cxx` that wraps the given `HybridBaseSpec`. + * All properties and methods bridge to C++ types. + */ + public init(_ implementation: any HybridBaseSpec) { + self.__implementation = implementation + self.__cxxPart = .init() + /* no base class */ + } + + /** + * Get the actual `HybridBaseSpec` instance this class wraps. + */ + @inline(__always) + public func getHybridBaseSpec() -> any HybridBaseSpec { + return __implementation + } + + /** + * Casts this instance to a retained unsafe raw pointer. + * This acquires one additional strong reference on the object! + */ + public func toUnsafe() -> UnsafeMutableRawPointer { + return Unmanaged.passRetained(self).toOpaque() + } + + /** + * Casts an unsafe pointer to a `HybridBaseSpec_cxx`. + * The pointer has to be a retained opaque `Unmanaged`. + * This removes one strong reference from the object! + */ + public class func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> HybridBaseSpec_cxx { + return Unmanaged.fromOpaque(pointer).takeRetainedValue() + } + + /** + * Gets (or creates) the C++ part of this Hybrid Object. + * The C++ part is a `std::shared_ptr`. + */ + public func getCxxPart() -> bridge.std__shared_ptr_HybridBaseSpec_ { + let cachedCxxPart = self.__cxxPart.lock() + if Bool(fromCxx: cachedCxxPart) { + return cachedCxxPart + } else { + let newCxxPart = bridge.create_std__shared_ptr_HybridBaseSpec_(self.toUnsafe()) + __cxxPart = bridge.weakify_std__shared_ptr_HybridBaseSpec_(newCxxPart) + return newCxxPart + } + } + + + + /** + * Get the memory size of the Swift class (plus size of any other allocations) + * so the JS VM can properly track it and garbage-collect the JS object if needed. + */ + @inline(__always) + public var memorySize: Int { + return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize + } + + /** + * Compares this object with the given [other] object for reference equality. + */ + @inline(__always) + public func equals(other: HybridBaseSpec_cxx) -> Bool { + return self.__implementation === other.__implementation + } + + /** + * Call dispose() on the Swift class. + * This _may_ be called manually from JS. + */ + @inline(__always) + public func dispose() { + self.__implementation.dispose() + } + + /** + * Call toString() on the Swift class. + */ + @inline(__always) + public func toString() -> String { + return self.__implementation.toString() + } + + // Properties + public final var abc: Double { + @inline(__always) + get { + return self.__implementation.abc + } + } + + // Methods + +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBlaBlaSpec.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBlaBlaSpec.swift new file mode 100644 index 000000000..ec417dc7c --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBlaBlaSpec.swift @@ -0,0 +1,55 @@ +/// +/// HybridBlaBlaSpec.swift +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +import NitroModules + +/// See ``HybridBlaBlaSpec`` +public protocol HybridBlaBlaSpec_protocol: HybridObject { + // Properties + var base: (any HybridBaseSpec)? { get set } + + // Methods + +} + +public extension HybridBlaBlaSpec_protocol { + /// Default implementation of ``HybridObject.toString`` + func toString() -> String { + return "[HybridObject BlaBla]" + } +} + +/// See ``HybridBlaBlaSpec`` +open class HybridBlaBlaSpec_base { + private weak var cxxWrapper: HybridBlaBlaSpec_cxx? = nil + public init() { } + public func getCxxWrapper() -> HybridBlaBlaSpec_cxx { + #if DEBUG + guard self is any HybridBlaBlaSpec else { + fatalError("`self` is not a `HybridBlaBlaSpec`! Did you accidentally inherit from `HybridBlaBlaSpec_base` instead of `HybridBlaBlaSpec`?") + } + #endif + if let cxxWrapper = self.cxxWrapper { + return cxxWrapper + } else { + let cxxWrapper = HybridBlaBlaSpec_cxx(self as! any HybridBlaBlaSpec) + self.cxxWrapper = cxxWrapper + return cxxWrapper + } + } +} + +/** + * A Swift base-protocol representing the BlaBla HybridObject. + * Implement this protocol to create Swift-based instances of BlaBla. + * ```swift + * class HybridBlaBla : HybridBlaBlaSpec { + * // ... + * } + * ``` + */ +public typealias HybridBlaBlaSpec = HybridBlaBlaSpec_protocol & HybridBlaBlaSpec_base diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBlaBlaSpec_cxx.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBlaBlaSpec_cxx.swift new file mode 100644 index 000000000..ce895b2c0 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBlaBlaSpec_cxx.swift @@ -0,0 +1,157 @@ +/// +/// HybridBlaBlaSpec_cxx.swift +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +import NitroModules + +/** + * A class implementation that bridges HybridBlaBlaSpec over to C++. + * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined. + * + * Also, some Swift types need to be bridged with special handling: + * - Enums need to be wrapped in Structs, otherwise they cannot be accessed bi-directionally (Swift bug: https://github.com/swiftlang/swift/issues/75330) + * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper + * - Throwing methods need to be wrapped with a Result type, as exceptions cannot be propagated to C++ + */ +open class HybridBlaBlaSpec_cxx { + /** + * The Swift <> C++ bridge's namespace (`margelo::nitro::test::external::bridge::swift`) + * from `NitroTestExternal-Swift-Cxx-Bridge.hpp`. + * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift. + */ + public typealias bridge = margelo.nitro.test.external.bridge.swift + + /** + * Holds an instance of the `HybridBlaBlaSpec` Swift protocol. + */ + private var __implementation: any HybridBlaBlaSpec + + /** + * Holds a weak pointer to the C++ class that wraps the Swift class. + */ + private var __cxxPart: bridge.std__weak_ptr_HybridBlaBlaSpec_ + + /** + * Create a new `HybridBlaBlaSpec_cxx` that wraps the given `HybridBlaBlaSpec`. + * All properties and methods bridge to C++ types. + */ + public init(_ implementation: any HybridBlaBlaSpec) { + self.__implementation = implementation + self.__cxxPart = .init() + /* no base class */ + } + + /** + * Get the actual `HybridBlaBlaSpec` instance this class wraps. + */ + @inline(__always) + public func getHybridBlaBlaSpec() -> any HybridBlaBlaSpec { + return __implementation + } + + /** + * Casts this instance to a retained unsafe raw pointer. + * This acquires one additional strong reference on the object! + */ + public func toUnsafe() -> UnsafeMutableRawPointer { + return Unmanaged.passRetained(self).toOpaque() + } + + /** + * Casts an unsafe pointer to a `HybridBlaBlaSpec_cxx`. + * The pointer has to be a retained opaque `Unmanaged`. + * This removes one strong reference from the object! + */ + public class func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> HybridBlaBlaSpec_cxx { + return Unmanaged.fromOpaque(pointer).takeRetainedValue() + } + + /** + * Gets (or creates) the C++ part of this Hybrid Object. + * The C++ part is a `std::shared_ptr`. + */ + public func getCxxPart() -> bridge.std__shared_ptr_HybridBlaBlaSpec_ { + let cachedCxxPart = self.__cxxPart.lock() + if Bool(fromCxx: cachedCxxPart) { + return cachedCxxPart + } else { + let newCxxPart = bridge.create_std__shared_ptr_HybridBlaBlaSpec_(self.toUnsafe()) + __cxxPart = bridge.weakify_std__shared_ptr_HybridBlaBlaSpec_(newCxxPart) + return newCxxPart + } + } + + + + /** + * Get the memory size of the Swift class (plus size of any other allocations) + * so the JS VM can properly track it and garbage-collect the JS object if needed. + */ + @inline(__always) + public var memorySize: Int { + return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize + } + + /** + * Compares this object with the given [other] object for reference equality. + */ + @inline(__always) + public func equals(other: HybridBlaBlaSpec_cxx) -> Bool { + return self.__implementation === other.__implementation + } + + /** + * Call dispose() on the Swift class. + * This _may_ be called manually from JS. + */ + @inline(__always) + public func dispose() { + self.__implementation.dispose() + } + + /** + * Call toString() on the Swift class. + */ + @inline(__always) + public func toString() -> String { + return self.__implementation.toString() + } + + // Properties + public final var base: bridge.std__optional_std__shared_ptr_HybridBaseSpec__ { + @inline(__always) + get { + return { () -> bridge.std__optional_std__shared_ptr_HybridBaseSpec__ in + if let __unwrappedValue = self.__implementation.base { + return bridge.create_std__optional_std__shared_ptr_HybridBaseSpec__({ () -> bridge.std__shared_ptr_HybridBaseSpec_ in + let __cxxWrapped = __unwrappedValue.getCxxWrapper() + return __cxxWrapped.getCxxPart() + }()) + } else { + return .init() + } + }() + } + @inline(__always) + set { + self.__implementation.base = { () -> (any HybridBaseSpec)? in + if bridge.has_value_std__optional_std__shared_ptr_HybridBaseSpec__(newValue) { + let __unwrapped = bridge.get_std__optional_std__shared_ptr_HybridBaseSpec__(newValue) + return { () -> any HybridBaseSpec in + let __unsafePointer = bridge.get_std__shared_ptr_HybridBaseSpec_(__unwrapped) + let __instance = HybridBaseSpec_cxx.fromUnsafe(__unsafePointer) + return __instance.getHybridBaseSpec() + }() + } else { + return nil + } + }() + } + } + + // Methods + +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec.swift new file mode 100644 index 000000000..7f05d599a --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec.swift @@ -0,0 +1,58 @@ +/// +/// HybridTestViewSpec.swift +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +import NitroModules + +/// See ``HybridTestViewSpec`` +public protocol HybridTestViewSpec_protocol: HybridObject, HybridView { + // Properties + var isBlue: Bool { get set } + var hasBeenCalled: Bool { get set } + var colorScheme: ColorScheme { get set } + var someCallback: () -> Void { get set } + + // Methods + func someMethod() throws -> Void +} + +public extension HybridTestViewSpec_protocol { + /// Default implementation of ``HybridObject.toString`` + func toString() -> String { + return "[HybridObject TestView]" + } +} + +/// See ``HybridTestViewSpec`` +open class HybridTestViewSpec_base { + private weak var cxxWrapper: HybridTestViewSpec_cxx? = nil + public init() { } + public func getCxxWrapper() -> HybridTestViewSpec_cxx { + #if DEBUG + guard self is any HybridTestViewSpec else { + fatalError("`self` is not a `HybridTestViewSpec`! Did you accidentally inherit from `HybridTestViewSpec_base` instead of `HybridTestViewSpec`?") + } + #endif + if let cxxWrapper = self.cxxWrapper { + return cxxWrapper + } else { + let cxxWrapper = HybridTestViewSpec_cxx(self as! any HybridTestViewSpec) + self.cxxWrapper = cxxWrapper + return cxxWrapper + } + } +} + +/** + * A Swift base-protocol representing the TestView HybridObject. + * Implement this protocol to create Swift-based instances of TestView. + * ```swift + * class HybridTestView : HybridTestViewSpec { + * // ... + * } + * ``` + */ +public typealias HybridTestViewSpec = HybridTestViewSpec_protocol & HybridTestViewSpec_base diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec_cxx.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec_cxx.swift new file mode 100644 index 000000000..ded701f18 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec_cxx.swift @@ -0,0 +1,208 @@ +/// +/// HybridTestViewSpec_cxx.swift +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +import NitroModules + +/** + * A class implementation that bridges HybridTestViewSpec over to C++. + * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined. + * + * Also, some Swift types need to be bridged with special handling: + * - Enums need to be wrapped in Structs, otherwise they cannot be accessed bi-directionally (Swift bug: https://github.com/swiftlang/swift/issues/75330) + * - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper + * - Throwing methods need to be wrapped with a Result type, as exceptions cannot be propagated to C++ + */ +open class HybridTestViewSpec_cxx { + /** + * The Swift <> C++ bridge's namespace (`margelo::nitro::test::external::bridge::swift`) + * from `NitroTestExternal-Swift-Cxx-Bridge.hpp`. + * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift. + */ + public typealias bridge = margelo.nitro.test.external.bridge.swift + + /** + * Holds an instance of the `HybridTestViewSpec` Swift protocol. + */ + private var __implementation: any HybridTestViewSpec + + /** + * Holds a weak pointer to the C++ class that wraps the Swift class. + */ + private var __cxxPart: bridge.std__weak_ptr_HybridTestViewSpec_ + + /** + * Create a new `HybridTestViewSpec_cxx` that wraps the given `HybridTestViewSpec`. + * All properties and methods bridge to C++ types. + */ + public init(_ implementation: any HybridTestViewSpec) { + self.__implementation = implementation + self.__cxxPart = .init() + /* no base class */ + } + + /** + * Get the actual `HybridTestViewSpec` instance this class wraps. + */ + @inline(__always) + public func getHybridTestViewSpec() -> any HybridTestViewSpec { + return __implementation + } + + /** + * Casts this instance to a retained unsafe raw pointer. + * This acquires one additional strong reference on the object! + */ + public func toUnsafe() -> UnsafeMutableRawPointer { + return Unmanaged.passRetained(self).toOpaque() + } + + /** + * Casts an unsafe pointer to a `HybridTestViewSpec_cxx`. + * The pointer has to be a retained opaque `Unmanaged`. + * This removes one strong reference from the object! + */ + public class func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> HybridTestViewSpec_cxx { + return Unmanaged.fromOpaque(pointer).takeRetainedValue() + } + + /** + * Gets (or creates) the C++ part of this Hybrid Object. + * The C++ part is a `std::shared_ptr`. + */ + public func getCxxPart() -> bridge.std__shared_ptr_HybridTestViewSpec_ { + let cachedCxxPart = self.__cxxPart.lock() + if Bool(fromCxx: cachedCxxPart) { + return cachedCxxPart + } else { + let newCxxPart = bridge.create_std__shared_ptr_HybridTestViewSpec_(self.toUnsafe()) + __cxxPart = bridge.weakify_std__shared_ptr_HybridTestViewSpec_(newCxxPart) + return newCxxPart + } + } + + + + /** + * Get the memory size of the Swift class (plus size of any other allocations) + * so the JS VM can properly track it and garbage-collect the JS object if needed. + */ + @inline(__always) + public var memorySize: Int { + return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize + } + + /** + * Compares this object with the given [other] object for reference equality. + */ + @inline(__always) + public func equals(other: HybridTestViewSpec_cxx) -> Bool { + return self.__implementation === other.__implementation + } + + /** + * Call dispose() on the Swift class. + * This _may_ be called manually from JS. + */ + @inline(__always) + public func dispose() { + self.__implementation.dispose() + } + + /** + * Call toString() on the Swift class. + */ + @inline(__always) + public func toString() -> String { + return self.__implementation.toString() + } + + // Properties + public final var isBlue: Bool { + @inline(__always) + get { + return self.__implementation.isBlue + } + @inline(__always) + set { + self.__implementation.isBlue = newValue + } + } + + public final var hasBeenCalled: Bool { + @inline(__always) + get { + return self.__implementation.hasBeenCalled + } + @inline(__always) + set { + self.__implementation.hasBeenCalled = newValue + } + } + + public final var colorScheme: Int32 { + @inline(__always) + get { + return self.__implementation.colorScheme.rawValue + } + @inline(__always) + set { + self.__implementation.colorScheme = margelo.nitro.test.external.ColorScheme(rawValue: newValue)! + } + } + + public final var someCallback: bridge.Func_void { + @inline(__always) + get { + return { () -> bridge.Func_void in + let __closureWrapper = Func_void(self.__implementation.someCallback) + return bridge.create_Func_void(__closureWrapper.toUnsafe()) + }() + } + @inline(__always) + set { + self.__implementation.someCallback = { () -> () -> Void in + let __wrappedFunction = bridge.wrap_Func_void(newValue) + return { () -> Void in + __wrappedFunction.call() + } + }() + } + } + + // Methods + @inline(__always) + public final func someMethod() -> bridge.Result_void_ { + do { + try self.__implementation.someMethod() + return bridge.create_Result_void_() + } catch (let __error) { + let __exceptionPtr = __error.toCpp() + return bridge.create_Result_void_(__exceptionPtr) + } + } + + public final func getView() -> UnsafeMutableRawPointer { + return Unmanaged.passRetained(__implementation.view).toOpaque() + } + + public final func beforeUpdate() { + __implementation.beforeUpdate() + } + + public final func afterUpdate() { + __implementation.afterUpdate() + } + + public final func maybePrepareForRecycle() { + guard let recyclable = __implementation as? any RecyclableView else { return } + recyclable.prepareForRecycle() + } + + public final func onDropView() { + __implementation.onDropView() + } +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/ColorScheme.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/ColorScheme.hpp new file mode 100644 index 000000000..ef0ba591d --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/ColorScheme.hpp @@ -0,0 +1,76 @@ +/// +/// ColorScheme.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif + +namespace margelo::nitro::test::external { + + /** + * An enum which can be represented as a JavaScript union (ColorScheme). + */ + enum class ColorScheme { + LIGHT SWIFT_NAME(light) = 0, + DARK SWIFT_NAME(dark) = 1, + } CLOSED_ENUM; + +} // namespace margelo::nitro::test::external + +namespace margelo::nitro { + + // C++ ColorScheme <> JS ColorScheme (union) + template <> + struct JSIConverter final { + static inline margelo::nitro::test::external::ColorScheme fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { + std::string unionValue = JSIConverter::fromJSI(runtime, arg); + switch (hashString(unionValue.c_str(), unionValue.size())) { + case hashString("light"): return margelo::nitro::test::external::ColorScheme::LIGHT; + case hashString("dark"): return margelo::nitro::test::external::ColorScheme::DARK; + default: [[unlikely]] + throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum ColorScheme - invalid value!"); + } + } + static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::test::external::ColorScheme arg) { + switch (arg) { + case margelo::nitro::test::external::ColorScheme::LIGHT: return JSIConverter::toJSI(runtime, "light"); + case margelo::nitro::test::external::ColorScheme::DARK: return JSIConverter::toJSI(runtime, "dark"); + default: [[unlikely]] + throw std::invalid_argument("Cannot convert ColorScheme to JS - invalid value: " + + std::to_string(static_cast(arg)) + "!"); + } + } + static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { + if (!value.isString()) { + return false; + } + std::string unionValue = JSIConverter::fromJSI(runtime, value); + switch (hashString(unionValue.c_str(), unionValue.size())) { + case hashString("light"): + case hashString("dark"): + return true; + default: + return false; + } + } + }; + +} // namespace margelo::nitro diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.cpp new file mode 100644 index 000000000..3f2162e29 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.cpp @@ -0,0 +1,21 @@ +/// +/// HybridBaseSpec.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#include "HybridBaseSpec.hpp" + +namespace margelo::nitro::test::external { + + void HybridBaseSpec::loadHybridMethods() { + // load base methods/properties + HybridObject::loadHybridMethods(); + // load custom methods/properties + registerHybrids(this, [](Prototype& prototype) { + prototype.registerHybridGetter("abc", &HybridBaseSpec::getAbc); + }); + } + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.hpp new file mode 100644 index 000000000..609b68f0e --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.hpp @@ -0,0 +1,62 @@ +/// +/// HybridBaseSpec.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif + + + + + +namespace margelo::nitro::test::external { + + using namespace margelo::nitro; + + /** + * An abstract base class for `Base` + * Inherit this class to create instances of `HybridBaseSpec` in C++. + * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual. + * @example + * ```cpp + * class HybridBase: public HybridBaseSpec { + * public: + * HybridBase(...): HybridObject(TAG) { ... } + * // ... + * }; + * ``` + */ + class HybridBaseSpec: public virtual HybridObject { + public: + // Constructor + explicit HybridBaseSpec(): HybridObject(TAG) { } + + // Destructor + ~HybridBaseSpec() override = default; + + public: + // Properties + virtual double getAbc() = 0; + + public: + // Methods + + + protected: + // Hybrid Setup + void loadHybridMethods() override; + + protected: + // Tag for logging + static constexpr auto TAG = "Base"; + }; + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.cpp new file mode 100644 index 000000000..145b5b106 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.cpp @@ -0,0 +1,22 @@ +/// +/// HybridBlaBlaSpec.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#include "HybridBlaBlaSpec.hpp" + +namespace margelo::nitro::test::external { + + void HybridBlaBlaSpec::loadHybridMethods() { + // load base methods/properties + HybridObject::loadHybridMethods(); + // load custom methods/properties + registerHybrids(this, [](Prototype& prototype) { + prototype.registerHybridGetter("base", &HybridBlaBlaSpec::getBase); + prototype.registerHybridSetter("base", &HybridBlaBlaSpec::setBase); + }); + } + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.hpp new file mode 100644 index 000000000..2cdcdbdb4 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.hpp @@ -0,0 +1,66 @@ +/// +/// HybridBlaBlaSpec.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif + +// Forward declaration of `HybridBaseSpec` to properly resolve imports. +namespace margelo::nitro::test::external { class HybridBaseSpec; } + +#include +#include "HybridBaseSpec.hpp" +#include + +namespace margelo::nitro::test::external { + + using namespace margelo::nitro; + + /** + * An abstract base class for `BlaBla` + * Inherit this class to create instances of `HybridBlaBlaSpec` in C++. + * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual. + * @example + * ```cpp + * class HybridBlaBla: public HybridBlaBlaSpec { + * public: + * HybridBlaBla(...): HybridObject(TAG) { ... } + * // ... + * }; + * ``` + */ + class HybridBlaBlaSpec: public virtual HybridObject { + public: + // Constructor + explicit HybridBlaBlaSpec(): HybridObject(TAG) { } + + // Destructor + ~HybridBlaBlaSpec() override = default; + + public: + // Properties + virtual std::optional> getBase() = 0; + virtual void setBase(const std::optional>& base) = 0; + + public: + // Methods + + + protected: + // Hybrid Setup + void loadHybridMethods() override; + + protected: + // Tag for logging + static constexpr auto TAG = "BlaBla"; + }; + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.cpp new file mode 100644 index 000000000..ddbc0809a --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.cpp @@ -0,0 +1,29 @@ +/// +/// HybridTestViewSpec.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#include "HybridTestViewSpec.hpp" + +namespace margelo::nitro::test::external { + + void HybridTestViewSpec::loadHybridMethods() { + // load base methods/properties + HybridObject::loadHybridMethods(); + // load custom methods/properties + registerHybrids(this, [](Prototype& prototype) { + prototype.registerHybridGetter("isBlue", &HybridTestViewSpec::getIsBlue); + prototype.registerHybridSetter("isBlue", &HybridTestViewSpec::setIsBlue); + prototype.registerHybridGetter("hasBeenCalled", &HybridTestViewSpec::getHasBeenCalled); + prototype.registerHybridSetter("hasBeenCalled", &HybridTestViewSpec::setHasBeenCalled); + prototype.registerHybridGetter("colorScheme", &HybridTestViewSpec::getColorScheme); + prototype.registerHybridSetter("colorScheme", &HybridTestViewSpec::setColorScheme); + prototype.registerHybridGetter("someCallback", &HybridTestViewSpec::getSomeCallback); + prototype.registerHybridSetter("someCallback", &HybridTestViewSpec::setSomeCallback); + prototype.registerHybridMethod("someMethod", &HybridTestViewSpec::someMethod); + }); + } + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.hpp new file mode 100644 index 000000000..6d391310e --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.hpp @@ -0,0 +1,71 @@ +/// +/// HybridTestViewSpec.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#if __has_include() +#include +#else +#error NitroModules cannot be found! Are you sure you installed NitroModules properly? +#endif + +// Forward declaration of `ColorScheme` to properly resolve imports. +namespace margelo::nitro::test::external { enum class ColorScheme; } + +#include "ColorScheme.hpp" +#include + +namespace margelo::nitro::test::external { + + using namespace margelo::nitro; + + /** + * An abstract base class for `TestView` + * Inherit this class to create instances of `HybridTestViewSpec` in C++. + * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual. + * @example + * ```cpp + * class HybridTestView: public HybridTestViewSpec { + * public: + * HybridTestView(...): HybridObject(TAG) { ... } + * // ... + * }; + * ``` + */ + class HybridTestViewSpec: public virtual HybridObject { + public: + // Constructor + explicit HybridTestViewSpec(): HybridObject(TAG) { } + + // Destructor + ~HybridTestViewSpec() override = default; + + public: + // Properties + virtual bool getIsBlue() = 0; + virtual void setIsBlue(bool isBlue) = 0; + virtual bool getHasBeenCalled() = 0; + virtual void setHasBeenCalled(bool hasBeenCalled) = 0; + virtual ColorScheme getColorScheme() = 0; + virtual void setColorScheme(ColorScheme colorScheme) = 0; + virtual std::function getSomeCallback() = 0; + virtual void setSomeCallback(const std::function& someCallback) = 0; + + public: + // Methods + virtual void someMethod() = 0; + + protected: + // Hybrid Setup + void loadHybridMethods() override; + + protected: + // Tag for logging + static constexpr auto TAG = "TestView"; + }; + +} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp new file mode 100644 index 000000000..9da871a85 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp @@ -0,0 +1,116 @@ +/// +/// HybridTestViewComponent.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#include "HybridTestViewComponent.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace margelo::nitro::test::external::views { + + extern const char HybridTestViewComponentName[] = "TestView"; + + HybridTestViewProps::HybridTestViewProps(const react::PropsParserContext& context, + const HybridTestViewProps& sourceProps, + const react::RawProps& rawProps): + react::ViewProps(context, sourceProps, rawProps, filterObjectKeys), + isBlue([&]() -> CachedProp { + try { + const react::RawValue* rawValue = rawProps.at("isBlue", nullptr, nullptr); + if (rawValue == nullptr) return sourceProps.isBlue; + const auto& [runtime, value] = (std::pair)*rawValue; + return CachedProp::fromRawValue(*runtime, value, sourceProps.isBlue); + } catch (const std::exception& exc) { + throw std::runtime_error(std::string("TestView.isBlue: ") + exc.what()); + } + }()), + hasBeenCalled([&]() -> CachedProp { + try { + const react::RawValue* rawValue = rawProps.at("hasBeenCalled", nullptr, nullptr); + if (rawValue == nullptr) return sourceProps.hasBeenCalled; + const auto& [runtime, value] = (std::pair)*rawValue; + return CachedProp::fromRawValue(*runtime, value, sourceProps.hasBeenCalled); + } catch (const std::exception& exc) { + throw std::runtime_error(std::string("TestView.hasBeenCalled: ") + exc.what()); + } + }()), + colorScheme([&]() -> CachedProp { + try { + const react::RawValue* rawValue = rawProps.at("colorScheme", nullptr, nullptr); + if (rawValue == nullptr) return sourceProps.colorScheme; + const auto& [runtime, value] = (std::pair)*rawValue; + return CachedProp::fromRawValue(*runtime, value, sourceProps.colorScheme); + } catch (const std::exception& exc) { + throw std::runtime_error(std::string("TestView.colorScheme: ") + exc.what()); + } + }()), + someCallback([&]() -> CachedProp> { + try { + const react::RawValue* rawValue = rawProps.at("someCallback", nullptr, nullptr); + if (rawValue == nullptr) return sourceProps.someCallback; + const auto& [runtime, value] = (std::pair)*rawValue; + return CachedProp>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, PropNameIDCache::get(*runtime, "f")), sourceProps.someCallback); + } catch (const std::exception& exc) { + throw std::runtime_error(std::string("TestView.someCallback: ") + exc.what()); + } + }()), + hybridRef([&]() -> CachedProp& /* ref */)>>> { + try { + const react::RawValue* rawValue = rawProps.at("hybridRef", nullptr, nullptr); + if (rawValue == nullptr) return sourceProps.hybridRef; + const auto& [runtime, value] = (std::pair)*rawValue; + return CachedProp& /* ref */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, PropNameIDCache::get(*runtime, "f")), sourceProps.hybridRef); + } catch (const std::exception& exc) { + throw std::runtime_error(std::string("TestView.hybridRef: ") + exc.what()); + } + }()) { } + + bool HybridTestViewProps::filterObjectKeys(const std::string& propName) { + switch (hashString(propName)) { + case hashString("isBlue"): return true; + case hashString("hasBeenCalled"): return true; + case hashString("colorScheme"): return true; + case hashString("someCallback"): return true; + case hashString("hybridRef"): return true; + default: return false; + } + } + + HybridTestViewComponentDescriptor::HybridTestViewComponentDescriptor(const react::ComponentDescriptorParameters& parameters) + : ConcreteComponentDescriptor(parameters, + react::RawPropsParser(/* enableJsiParser */ true)) {} + + std::shared_ptr HybridTestViewComponentDescriptor::cloneProps(const react::PropsParserContext& context, + const std::shared_ptr& props, + react::RawProps rawProps) const { + // 1. Prepare raw props parser + rawProps.parse(rawPropsParser_); + // 2. Copy props with Nitro's cached copy constructor + return HybridTestViewShadowNode::Props(context, /* & */ rawProps, props); + } + +#ifdef ANDROID + void HybridTestViewComponentDescriptor::adopt(react::ShadowNode& shadowNode) const { + // This is called immediately after `ShadowNode` is created, cloned or in progress. + // On Android, we need to wrap props in our state, which gets routed through Java and later unwrapped in JNI/C++. + auto& concreteShadowNode = static_cast(shadowNode); + const std::shared_ptr& constProps = concreteShadowNode.getConcreteSharedProps(); + const std::shared_ptr& props = std::const_pointer_cast(constProps); + HybridTestViewState state{props}; + concreteShadowNode.setStateData(std::move(state)); + } +#endif + +} // namespace margelo::nitro::test::external::views diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.hpp new file mode 100644 index 000000000..059352c4d --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.hpp @@ -0,0 +1,114 @@ +/// +/// HybridTestViewComponent.hpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ColorScheme.hpp" +#include +#include +#include "HybridTestViewSpec.hpp" +#include + +namespace margelo::nitro::test::external::views { + + using namespace facebook; + + /** + * The name of the actual native View. + */ + extern const char HybridTestViewComponentName[]; + + /** + * Props for the "TestView" View. + */ + class HybridTestViewProps final: public react::ViewProps { + public: + HybridTestViewProps() = default; + HybridTestViewProps(const react::PropsParserContext& context, + const HybridTestViewProps& sourceProps, + const react::RawProps& rawProps); + + public: + CachedProp isBlue; + CachedProp hasBeenCalled; + CachedProp colorScheme; + CachedProp> someCallback; + CachedProp& /* ref */)>>> hybridRef; + + private: + static bool filterObjectKeys(const std::string& propName); + }; + + /** + * State for the "TestView" View. + */ + class HybridTestViewState final { + public: + HybridTestViewState() = default; + explicit HybridTestViewState(const std::shared_ptr& props): + _props(props) {} + + public: + [[nodiscard]] + const std::shared_ptr& getProps() const { + return _props; + } + + public: +#ifdef ANDROID + HybridTestViewState(const HybridTestViewState& /* previousState */, folly::dynamic /* data */) {} + folly::dynamic getDynamic() const { + throw std::runtime_error("HybridTestViewState does not support folly!"); + } + react::MapBuffer getMapBuffer() const { + throw std::runtime_error("HybridTestViewState does not support MapBuffer!"); + }; +#endif + + private: + std::shared_ptr _props; + }; + + /** + * The Shadow Node for the "TestView" View. + */ + using HybridTestViewShadowNode = react::ConcreteViewShadowNode; + + /** + * The Component Descriptor for the "TestView" View. + */ + class HybridTestViewComponentDescriptor final: public react::ConcreteComponentDescriptor { + public: + explicit HybridTestViewComponentDescriptor(const react::ComponentDescriptorParameters& parameters); + + public: + /** + * A faster path for cloning props - reuses the caching logic from `HybridTestViewProps`. + */ + std::shared_ptr cloneProps(const react::PropsParserContext& context, + const std::shared_ptr& props, + react::RawProps rawProps) const override; +#ifdef ANDROID + void adopt(react::ShadowNode& shadowNode) const override; +#endif + }; + + /* The actual view for "TestView" needs to be implemented in platform-specific code. */ + +} // namespace margelo::nitro::test::external::views diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/json/TestViewConfig.json b/packages/react-native-nitro-test-external/nitrogen/generated/shared/json/TestViewConfig.json new file mode 100644 index 000000000..ef9bbaaf6 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/json/TestViewConfig.json @@ -0,0 +1,13 @@ +{ + "uiViewClassName": "TestView", + "supportsRawText": false, + "bubblingEventTypes": {}, + "directEventTypes": {}, + "validAttributes": { + "isBlue": true, + "hasBeenCalled": true, + "colorScheme": true, + "someCallback": true, + "hybridRef": true + } +} From 193ec4772f2f88135deff155f0cd5a4d90b12abb Mon Sep 17 00:00:00 2001 From: Andrei Kologreev Date: Thu, 2 Apr 2026 22:02:42 +0400 Subject: [PATCH 04/10] packages confirmed --- example/ios/Podfile.lock | 4 +- .../nitro/test/external/HybridTestView.kt | 33 +++++++++++++++ .../ios/HybridBase.swift | 12 ++++++ .../ios/HybridBlaBla.swift | 12 ++++++ .../nitro.json | 20 +++++++++ .../NitroTestExternal+autolinking.cmake | 10 ++--- .../android/NitroTestExternalOnLoad.cpp | 32 +++++++++++++- .../generated/android/c++/JColorScheme.hpp | 2 +- .../generated/android/c++/JHybridBaseSpec.hpp | 2 +- .../android/c++/JHybridBlaBlaSpec.cpp | 2 +- .../android/c++/JHybridBlaBlaSpec.hpp | 2 +- .../c++/JHybridSomeExternalObjectSpec.cpp | 2 +- .../c++/JHybridSomeExternalObjectSpec.hpp | 2 +- .../android/c++/JHybridTestViewSpec.cpp | 2 +- .../android/c++/JHybridTestViewSpec.hpp | 2 +- .../android/c++/JOptionalPrimitivesHolder.hpp | 2 +- .../c++/views/JHybridTestViewStateUpdater.cpp | 2 +- .../c++/views/JHybridTestViewStateUpdater.hpp | 2 +- .../NitroTestExternal-Swift-Cxx-Bridge.cpp | 8 ++-- .../NitroTestExternal-Swift-Cxx-Bridge.hpp | 10 ++--- .../NitroTestExternal-Swift-Cxx-Umbrella.hpp | 12 +++--- .../ios/NitroTestExternalAutolinking.mm | 24 +++++++++-- .../ios/NitroTestExternalAutolinking.swift | 24 +++++++++++ ... NitroTestExternalHybridBaseSpecSwift.cpp} | 4 +- ... NitroTestExternalHybridBaseSpecSwift.hpp} | 4 +- ...itroTestExternalHybridBlaBlaSpecSwift.cpp} | 4 +- ...itroTestExternalHybridBlaBlaSpecSwift.hpp} | 6 +-- ...rnalHybridSomeExternalObjectSpecSwift.cpp} | 4 +- ...rnalHybridSomeExternalObjectSpecSwift.hpp} | 6 +-- ...roTestExternalHybridTestViewSpecSwift.cpp} | 4 +- ...roTestExternalHybridTestViewSpecSwift.hpp} | 6 +-- ...troTestExternalHybridTestViewComponent.mm} | 12 +++--- ...e.hpp => NitroTestExternalColorScheme.hpp} | 2 +- ...pp => NitroTestExternalHybridBaseSpec.cpp} | 4 +- ...pp => NitroTestExternalHybridBaseSpec.hpp} | 4 +- ... => NitroTestExternalHybridBlaBlaSpec.cpp} | 4 +- ... => NitroTestExternalHybridBlaBlaSpec.hpp} | 6 +-- ...tExternalHybridSomeExternalObjectSpec.cpp} | 4 +- ...tExternalHybridSomeExternalObjectSpec.hpp} | 6 +-- ...> NitroTestExternalHybridTestViewSpec.cpp} | 4 +- ...> NitroTestExternalHybridTestViewSpec.hpp} | 6 +-- ...oTestExternalOptionalPrimitivesHolder.hpp} | 2 +- ...roTestExternalHybridTestViewComponent.cpp} | 4 +- ...roTestExternalHybridTestViewComponent.hpp} | 6 +-- .../ts/createNitroTestExternalHybridObject.ts | 19 +++++++++ .../ts/getNitroTestExternalHostComponent.ts | 32 ++++++++++++++ .../package.json | 6 +-- .../src/index.ts | 34 +++++++++++++-- .../tsconfig.json | 10 +++-- .../cpp/HybridBase.hpp | 2 +- .../cpp/HybridChild.hpp | 2 +- .../cpp/HybridSomeInternalObject.hpp | 2 +- .../cpp/HybridTestObjectCpp.hpp | 2 +- .../android/NitroTest+autolinking.cmake | 18 ++++---- .../generated/android/NitroTestOnLoad.cpp | 14 +++---- .../nitrogen/generated/android/c++/JCar.hpp | 6 +-- .../generated/android/c++/JColorScheme.hpp | 2 +- .../android/c++/JCoreTypesVariant.hpp | 4 +- .../android/c++/JExternalObjectStruct.hpp | 4 +- ...xternal__HybridSomeExternalObjectSpec_.hpp | 2 +- .../JFunc_void_std__vector_Powertrain_.hpp | 2 +- .../generated/android/c++/JHybridBaseSpec.hpp | 2 +- .../android/c++/JHybridChildSpec.cpp | 6 +-- .../android/c++/JHybridChildSpec.hpp | 2 +- .../android/c++/JHybridPlatformObjectSpec.hpp | 2 +- .../c++/JHybridRecyclableTestViewSpec.hpp | 2 +- .../c++/JHybridTestObjectSwiftKotlinSpec.cpp | 36 ++++++++-------- .../c++/JHybridTestObjectSwiftKotlinSpec.hpp | 2 +- .../android/c++/JHybridTestViewSpec.cpp | 2 +- .../android/c++/JHybridTestViewSpec.hpp | 2 +- .../generated/android/c++/JJsStyleStruct.hpp | 2 +- .../generated/android/c++/JMapWrapper.hpp | 4 +- .../generated/android/c++/JNamedVariant.hpp | 6 +-- .../generated/android/c++/JOldEnum.hpp | 2 +- .../android/c++/JOptionalCallback.hpp | 2 +- .../android/c++/JOptionalWrapper.hpp | 2 +- .../generated/android/c++/JPartialPerson.hpp | 2 +- .../generated/android/c++/JPerson.hpp | 2 +- .../generated/android/c++/JPowertrain.hpp | 2 +- .../android/c++/JSecondMapWrapper.hpp | 2 +- .../android/c++/JStringOrExternal.hpp | 2 +- .../android/c++/JVariant_Boolean_OldEnum.hpp | 2 +- .../c++/JVariant_Boolean_WeirdNumbersEnum.hpp | 2 +- .../android/c++/JVariant_Car_Person.hpp | 6 +-- ...Variant_HybridBaseSpec_OptionalWrapper.hpp | 4 +- ...HybridTestObjectSwiftKotlinSpec_Person.hpp | 4 +- .../android/c++/JWeirdNumbersEnum.hpp | 2 +- .../android/c++/JWrappedJsStruct.hpp | 4 +- .../JHybridRecyclableTestViewStateUpdater.cpp | 2 +- .../JHybridRecyclableTestViewStateUpdater.hpp | 2 +- .../c++/views/JHybridTestViewStateUpdater.cpp | 2 +- .../c++/views/JHybridTestViewStateUpdater.hpp | 2 +- .../ios/NitroTest-Swift-Cxx-Bridge.cpp | 12 +++--- .../ios/NitroTest-Swift-Cxx-Bridge.hpp | 36 ++++++++-------- .../ios/NitroTest-Swift-Cxx-Umbrella.hpp | 42 +++++++++---------- .../generated/ios/NitroTestAutolinking.mm | 26 ++++++------ .../HybridTestObjectSwiftKotlinSpecSwift.cpp | 11 ----- ...t.cpp => NitroTestHybridBaseSpecSwift.cpp} | 4 +- ...t.hpp => NitroTestHybridBaseSpecSwift.hpp} | 4 +- ....cpp => NitroTestHybridChildSpecSwift.cpp} | 4 +- ....hpp => NitroTestHybridChildSpecSwift.hpp} | 12 +++--- ...itroTestHybridPlatformObjectSpecSwift.cpp} | 4 +- ...itroTestHybridPlatformObjectSpecSwift.hpp} | 4 +- ...TestHybridRecyclableTestViewSpecSwift.cpp} | 4 +- ...TestHybridRecyclableTestViewSpecSwift.hpp} | 4 +- ...stHybridTestObjectSwiftKotlinSpecSwift.cpp | 11 +++++ ...tHybridTestObjectSwiftKotlinSpecSwift.hpp} | 40 +++++++++--------- ...p => NitroTestHybridTestViewSpecSwift.cpp} | 4 +- ...p => NitroTestHybridTestViewSpecSwift.hpp} | 6 +-- ...oTestHybridRecyclableTestViewComponent.mm} | 12 +++--- ...mm => NitroTestHybridTestViewComponent.mm} | 12 +++--- .../shared/c++/{Car.hpp => NitroTestCar.hpp} | 6 +-- ...lorScheme.hpp => NitroTestColorScheme.hpp} | 2 +- ....hpp => NitroTestExternalObjectStruct.hpp} | 4 +- ...seSpec.cpp => NitroTestHybridBaseSpec.cpp} | 4 +- ...seSpec.hpp => NitroTestHybridBaseSpec.hpp} | 4 +- ...dSpec.cpp => NitroTestHybridChildSpec.cpp} | 4 +- ...dSpec.hpp => NitroTestHybridChildSpec.hpp} | 8 ++-- ... => NitroTestHybridPlatformObjectSpec.cpp} | 4 +- ... => NitroTestHybridPlatformObjectSpec.hpp} | 4 +- ...NitroTestHybridRecyclableTestViewSpec.cpp} | 4 +- ...NitroTestHybridRecyclableTestViewSpec.hpp} | 4 +- ...p => NitroTestHybridTestObjectCppSpec.cpp} | 4 +- ...p => NitroTestHybridTestObjectCppSpec.hpp} | 38 ++++++++--------- ...roTestHybridTestObjectSwiftKotlinSpec.cpp} | 4 +- ...roTestHybridTestObjectSwiftKotlinSpec.hpp} | 38 ++++++++--------- ...ec.cpp => NitroTestHybridTestViewSpec.cpp} | 4 +- ...ec.hpp => NitroTestHybridTestViewSpec.hpp} | 6 +-- ...eStruct.hpp => NitroTestJsStyleStruct.hpp} | 2 +- ...MapWrapper.hpp => NitroTestMapWrapper.hpp} | 4 +- .../c++/{OldEnum.hpp => NitroTestOldEnum.hpp} | 2 +- ...back.hpp => NitroTestOptionalCallback.hpp} | 2 +- ...apper.hpp => NitroTestOptionalWrapper.hpp} | 2 +- ...lPerson.hpp => NitroTestPartialPerson.hpp} | 2 +- .../c++/{Person.hpp => NitroTestPerson.hpp} | 2 +- ...Powertrain.hpp => NitroTestPowertrain.hpp} | 2 +- ...pper.hpp => NitroTestSecondMapWrapper.hpp} | 2 +- ...Enum.hpp => NitroTestWeirdNumbersEnum.hpp} | 2 +- ...truct.hpp => NitroTestWrappedJsStruct.hpp} | 4 +- ...TestHybridRecyclableTestViewComponent.cpp} | 4 +- ...TestHybridRecyclableTestViewComponent.hpp} | 4 +- ...p => NitroTestHybridTestViewComponent.cpp} | 4 +- ...p => NitroTestHybridTestViewComponent.hpp} | 6 +-- .../shared/ts/createNitroTestHybridObject.ts | 21 ++++++++++ .../shared/ts/getNitroTestHostComponent.ts | 37 ++++++++++++++++ packages/react-native-nitro-test/package.json | 6 +-- packages/react-native-nitro-test/src/index.ts | 14 +++---- .../src/views/RecyclableTestView.ts | 8 ++-- .../src/views/TestView.ts | 12 +++--- .../react-native-nitro-test/tsconfig.json | 10 +++-- 150 files changed, 717 insertions(+), 431 deletions(-) create mode 100644 packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridTestView.kt create mode 100644 packages/react-native-nitro-test-external/ios/HybridBase.swift create mode 100644 packages/react-native-nitro-test-external/ios/HybridBlaBla.swift rename packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/{HybridBaseSpecSwift.cpp => NitroTestExternalHybridBaseSpecSwift.cpp} (71%) rename packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/{HybridBaseSpecSwift.hpp => NitroTestExternalHybridBaseSpecSwift.hpp} (95%) rename packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/{HybridSomeExternalObjectSpecSwift.cpp => NitroTestExternalHybridBlaBlaSpecSwift.cpp} (70%) rename packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/{HybridBlaBlaSpecSwift.hpp => NitroTestExternalHybridBlaBlaSpecSwift.hpp} (94%) rename packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/{HybridTestViewSpecSwift.cpp => NitroTestExternalHybridSomeExternalObjectSpecSwift.cpp} (66%) rename packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/{HybridSomeExternalObjectSpecSwift.hpp => NitroTestExternalHybridSomeExternalObjectSpecSwift.hpp} (94%) rename packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/{HybridBlaBlaSpecSwift.cpp => NitroTestExternalHybridTestViewSpecSwift.cpp} (69%) rename packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/{HybridTestViewSpecSwift.hpp => NitroTestExternalHybridTestViewSpecSwift.hpp} (96%) rename packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/{HybridTestViewComponent.mm => NitroTestExternalHybridTestViewComponent.mm} (91%) rename packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/{ColorScheme.hpp => NitroTestExternalColorScheme.hpp} (98%) rename packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/{HybridBaseSpec.cpp => NitroTestExternalHybridBaseSpec.cpp} (86%) rename packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/{HybridBaseSpec.hpp => NitroTestExternalHybridBaseSpec.hpp} (92%) rename packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/{HybridBlaBlaSpec.cpp => NitroTestExternalHybridBlaBlaSpec.cpp} (87%) rename packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/{HybridBlaBlaSpec.hpp => NitroTestExternalHybridBlaBlaSpec.hpp} (91%) rename packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/{HybridSomeExternalObjectSpec.cpp => NitroTestExternalHybridSomeExternalObjectSpec.cpp} (86%) rename packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/{HybridSomeExternalObjectSpec.hpp => NitroTestExternalHybridSomeExternalObjectSpec.hpp} (90%) rename packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/{HybridTestViewSpec.cpp => NitroTestExternalHybridTestViewSpec.cpp} (93%) rename packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/{HybridTestViewSpec.hpp => NitroTestExternalHybridTestViewSpec.hpp} (92%) rename packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/{OptionalPrimitivesHolder.hpp => NitroTestExternalOptionalPrimitivesHolder.hpp} (98%) rename packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/{HybridTestViewComponent.cpp => NitroTestExternalHybridTestViewComponent.cpp} (98%) rename packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/{HybridTestViewComponent.hpp => NitroTestExternalHybridTestViewComponent.hpp} (96%) create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/ts/createNitroTestExternalHybridObject.ts create mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/ts/getNitroTestExternalHostComponent.ts delete mode 100644 packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestObjectSwiftKotlinSpecSwift.cpp rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/{HybridTestViewSpecSwift.cpp => NitroTestHybridBaseSpecSwift.cpp} (73%) rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/{HybridBaseSpecSwift.hpp => NitroTestHybridBaseSpecSwift.hpp} (96%) rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/{HybridBaseSpecSwift.cpp => NitroTestHybridChildSpecSwift.cpp} (72%) rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/{HybridChildSpecSwift.hpp => NitroTestHybridChildSpecSwift.hpp} (93%) rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/{HybridChildSpecSwift.cpp => NitroTestHybridPlatformObjectSpecSwift.cpp} (68%) rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/{HybridPlatformObjectSpecSwift.hpp => NitroTestHybridPlatformObjectSpecSwift.hpp} (96%) rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/{HybridRecyclableTestViewSpecSwift.cpp => NitroTestHybridRecyclableTestViewSpecSwift.cpp} (67%) rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/{HybridRecyclableTestViewSpecSwift.hpp => NitroTestHybridRecyclableTestViewSpecSwift.hpp} (95%) create mode 100644 packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestObjectSwiftKotlinSpecSwift.cpp rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/{HybridTestObjectSwiftKotlinSpecSwift.hpp => NitroTestHybridTestObjectSwiftKotlinSpecSwift.hpp} (98%) rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/{HybridPlatformObjectSpecSwift.cpp => NitroTestHybridTestViewSpecSwift.cpp} (71%) rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/{HybridTestViewSpecSwift.hpp => NitroTestHybridTestViewSpecSwift.hpp} (96%) rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/{HybridRecyclableTestViewComponent.mm => NitroTestHybridRecyclableTestViewComponent.mm} (90%) rename packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/{HybridTestViewComponent.mm => NitroTestHybridTestViewComponent.mm} (92%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{Car.hpp => NitroTestCar.hpp} (98%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{ColorScheme.hpp => NitroTestColorScheme.hpp} (98%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{ExternalObjectStruct.hpp => NitroTestExternalObjectStruct.hpp} (96%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridBaseSpec.cpp => NitroTestHybridBaseSpec.cpp} (88%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridBaseSpec.hpp => NitroTestHybridBaseSpec.hpp} (93%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridChildSpec.cpp => NitroTestHybridChildSpec.cpp} (90%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridChildSpec.hpp => NitroTestHybridChildSpec.hpp} (91%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridPlatformObjectSpec.cpp => NitroTestHybridPlatformObjectSpec.cpp} (85%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridPlatformObjectSpec.hpp => NitroTestHybridPlatformObjectSpec.hpp} (93%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridRecyclableTestViewSpec.cpp => NitroTestHybridRecyclableTestViewSpec.cpp} (86%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridRecyclableTestViewSpec.hpp => NitroTestHybridRecyclableTestViewSpec.hpp} (92%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridTestObjectCppSpec.cpp => NitroTestHybridTestObjectCppSpec.cpp} (99%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridTestObjectCppSpec.hpp => NitroTestHybridTestObjectCppSpec.hpp} (95%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridTestObjectSwiftKotlinSpec.cpp => NitroTestHybridTestObjectSwiftKotlinSpec.cpp} (99%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridTestObjectSwiftKotlinSpec.hpp => NitroTestHybridTestObjectSwiftKotlinSpec.hpp} (95%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridTestViewSpec.cpp => NitroTestHybridTestViewSpec.cpp} (94%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{HybridTestViewSpec.hpp => NitroTestHybridTestViewSpec.hpp} (93%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{JsStyleStruct.hpp => NitroTestJsStyleStruct.hpp} (99%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{MapWrapper.hpp => NitroTestMapWrapper.hpp} (98%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{OldEnum.hpp => NitroTestOldEnum.hpp} (98%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{OptionalCallback.hpp => NitroTestOptionalCallback.hpp} (98%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{OptionalWrapper.hpp => NitroTestOptionalWrapper.hpp} (99%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{PartialPerson.hpp => NitroTestPartialPerson.hpp} (99%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{Person.hpp => NitroTestPerson.hpp} (99%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{Powertrain.hpp => NitroTestPowertrain.hpp} (99%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{SecondMapWrapper.hpp => NitroTestSecondMapWrapper.hpp} (98%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{WeirdNumbersEnum.hpp => NitroTestWeirdNumbersEnum.hpp} (98%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/{WrappedJsStruct.hpp => NitroTestWrappedJsStruct.hpp} (98%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/{HybridRecyclableTestViewComponent.cpp => NitroTestHybridRecyclableTestViewComponent.cpp} (97%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/{HybridRecyclableTestViewComponent.hpp => NitroTestHybridRecyclableTestViewComponent.hpp} (97%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/{HybridTestViewComponent.cpp => NitroTestHybridTestViewComponent.cpp} (98%) rename packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/{HybridTestViewComponent.hpp => NitroTestHybridTestViewComponent.hpp} (96%) create mode 100644 packages/react-native-nitro-test/nitrogen/generated/shared/ts/createNitroTestHybridObject.ts create mode 100644 packages/react-native-nitro-test/nitrogen/generated/shared/ts/getNitroTestHostComponent.ts diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index ade5a31f6..195ad7aee 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -2214,8 +2214,8 @@ SPEC CHECKSUMS: FBLazyVector: 7c1d69992204c5ec452eeefa4a24b0ff311709c8 hermes-engine: 4df240db09b8f56297ca8e63c2a793d538964397 NitroModules: 2c251a51df07cbfc7fccb9be0b0a43a9d5c59a6f - NitroTest: ff72f8b73af76739c3573abe16214a1663652851 - NitroTestExternal: 387161efb40566c5f630608fbdeafbe969e79619 + NitroTest: 2c235dbad138cbba2fe695c70d94c283bee3466c + NitroTestExternal: 65b28fcf9e3c1e2e9148297689e6c0c2487ce56f RCTDeprecation: dbbb85eae640e3b43cc16462d0476b00ca5959ae RCTRequired: 7047b18af29a76069818fd3fa0f4df423483abab RCTSwiftUI: 5928f7ca7e9e2f1a82d85d4c79ea3065137ad81c diff --git a/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridTestView.kt b/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridTestView.kt new file mode 100644 index 000000000..53d7e8e3f --- /dev/null +++ b/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridTestView.kt @@ -0,0 +1,33 @@ +package com.margelo.nitro.test.external + +import android.graphics.Color +import android.view.View +import androidx.annotation.Keep +import com.facebook.proguard.annotations.DoNotStrip +import com.facebook.react.uimanager.ThemedReactContext + +@Keep +@DoNotStrip +class HybridTestView( + val context: ThemedReactContext, +) : HybridTestViewSpec() { + // View + override val view: View = View(context) + + // Props + override var isBlue: Boolean = false + set(value) { + field = value + val color = if (value) Color.BLUE else Color.RED + view.setBackgroundColor(color) + } + override var hasBeenCalled: Boolean = false + override var colorScheme: ColorScheme = ColorScheme.LIGHT + override var someCallback: () -> Unit = {} + + // Methods + override fun someMethod() { + hasBeenCalled = true + someCallback() + } +} diff --git a/packages/react-native-nitro-test-external/ios/HybridBase.swift b/packages/react-native-nitro-test-external/ios/HybridBase.swift new file mode 100644 index 000000000..e64cbee58 --- /dev/null +++ b/packages/react-native-nitro-test-external/ios/HybridBase.swift @@ -0,0 +1,12 @@ +// +// HybridSomeExternalObject +// NitroTestExternal +// +// Created by Marc Rousavy on 14.08.25. +// + +import NitroModules + +class HybridBase: HybridBaseSpec { + var abc: Double = 10 +} diff --git a/packages/react-native-nitro-test-external/ios/HybridBlaBla.swift b/packages/react-native-nitro-test-external/ios/HybridBlaBla.swift new file mode 100644 index 000000000..312114cb6 --- /dev/null +++ b/packages/react-native-nitro-test-external/ios/HybridBlaBla.swift @@ -0,0 +1,12 @@ +// +// HybridSomeExternalObject +// NitroTestExternal +// +// Created by Marc Rousavy on 14.08.25. +// + +import NitroModules + +class HybridBlaBla: HybridBlaBlaSpec { + var base: HybridBaseSpec? = HybridBase() +} diff --git a/packages/react-native-nitro-test-external/nitro.json b/packages/react-native-nitro-test-external/nitro.json index 622c78166..bc405a672 100644 --- a/packages/react-native-nitro-test-external/nitro.json +++ b/packages/react-native-nitro-test-external/nitro.json @@ -19,6 +19,26 @@ "implementationClassName": "HybridSomeExternalObject" } }, + "BlaBla": { + "ios": { + "language": "swift", + "implementationClassName": "HybridBlaBla" + }, + "android": { + "language": "kotlin", + "implementationClassName": "HybridBlaBla" + } + }, + "Base": { + "ios": { + "language": "swift", + "implementationClassName": "HybridBase" + }, + "android": { + "language": "kotlin", + "implementationClassName": "HybridBase" + } + }, "TestView": { "ios": { "language": "swift", diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternal+autolinking.cmake b/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternal+autolinking.cmake index 2b3532e45..e03935509 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternal+autolinking.cmake +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternal+autolinking.cmake @@ -33,11 +33,11 @@ target_sources( # Autolinking Setup ../nitrogen/generated/android/NitroTestExternalOnLoad.cpp # Shared Nitrogen C++ sources - ../nitrogen/generated/shared/c++/HybridSomeExternalObjectSpec.cpp - ../nitrogen/generated/shared/c++/HybridBaseSpec.cpp - ../nitrogen/generated/shared/c++/HybridBlaBlaSpec.cpp - ../nitrogen/generated/shared/c++/HybridTestViewSpec.cpp - ../nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp + ../nitrogen/generated/shared/c++/NitroTestExternalHybridSomeExternalObjectSpec.cpp + ../nitrogen/generated/shared/c++/NitroTestExternalHybridBaseSpec.cpp + ../nitrogen/generated/shared/c++/NitroTestExternalHybridBlaBlaSpec.cpp + ../nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.cpp + ../nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.cpp # Android-specific Nitrogen C++ sources ../nitrogen/generated/android/c++/JHybridSomeExternalObjectSpec.cpp ../nitrogen/generated/android/c++/JHybridBaseSpec.cpp diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternalOnLoad.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternalOnLoad.cpp index 0c12d4014..fa0c56211 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternalOnLoad.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/NitroTestExternalOnLoad.cpp @@ -39,6 +39,22 @@ struct JHybridSomeExternalObjectSpecImpl: public jni::JavaClassgetJHybridSomeExternalObjectSpec(); } }; +struct JHybridBlaBlaSpecImpl: public jni::JavaClass { + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/HybridBlaBla;"; + static std::shared_ptr create() { + static const auto constructorFn = javaClassStatic()->getConstructor(); + jni::local_ref javaPart = javaClassStatic()->newObject(constructorFn); + return javaPart->getJHybridBlaBlaSpec(); + } +}; +struct JHybridBaseSpecImpl: public jni::JavaClass { + static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/HybridBase;"; + static std::shared_ptr create() { + static const auto constructorFn = javaClassStatic()->getConstructor(); + jni::local_ref javaPart = javaClassStatic()->newObject(constructorFn); + return javaPart->getJHybridBaseSpec(); + } +}; struct JHybridTestViewSpecImpl: public jni::JavaClass { static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/HybridTestView;"; static std::shared_ptr create() { @@ -62,13 +78,25 @@ void registerAllNatives() { // Register Nitro Hybrid Objects HybridObjectRegistry::registerHybridObjectConstructor( - "SomeExternalObject", + "NitroTestExternalSomeExternalObject", []() -> std::shared_ptr { return JHybridSomeExternalObjectSpecImpl::create(); } ); HybridObjectRegistry::registerHybridObjectConstructor( - "TestView", + "NitroTestExternalBlaBla", + []() -> std::shared_ptr { + return JHybridBlaBlaSpecImpl::create(); + } + ); + HybridObjectRegistry::registerHybridObjectConstructor( + "NitroTestExternalBase", + []() -> std::shared_ptr { + return JHybridBaseSpecImpl::create(); + } + ); + HybridObjectRegistry::registerHybridObjectConstructor( + "NitroTestExternalTestView", []() -> std::shared_ptr { return JHybridTestViewSpecImpl::create(); } diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JColorScheme.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JColorScheme.hpp index cfbb5022f..df555a98f 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JColorScheme.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JColorScheme.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include "ColorScheme.hpp" +#include "NitroTestExternalColorScheme.hpp" namespace margelo::nitro::test::external { diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBaseSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBaseSpec.hpp index ba6bf9793..a9ba2a3d3 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBaseSpec.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBaseSpec.hpp @@ -9,7 +9,7 @@ #include #include -#include "HybridBaseSpec.hpp" +#include "NitroTestExternalHybridBaseSpec.hpp" diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.cpp index fc19d8d78..7ea97848a 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.cpp @@ -11,7 +11,7 @@ namespace margelo::nitro::test::external { class HybridBaseSpec; } #include -#include "HybridBaseSpec.hpp" +#include "NitroTestExternalHybridBaseSpec.hpp" #include #include "JHybridBaseSpec.hpp" diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.hpp index c6f15b42d..83c984eb4 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridBlaBlaSpec.hpp @@ -9,7 +9,7 @@ #include #include -#include "HybridBlaBlaSpec.hpp" +#include "NitroTestExternalHybridBlaBlaSpec.hpp" diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridSomeExternalObjectSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridSomeExternalObjectSpec.cpp index 5455f6101..c8b7237ab 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridSomeExternalObjectSpec.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridSomeExternalObjectSpec.cpp @@ -11,7 +11,7 @@ namespace margelo::nitro::test::external { struct OptionalPrimitivesHolder; } #include -#include "OptionalPrimitivesHolder.hpp" +#include "NitroTestExternalOptionalPrimitivesHolder.hpp" #include "JOptionalPrimitivesHolder.hpp" #include diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridSomeExternalObjectSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridSomeExternalObjectSpec.hpp index 30645703b..a871ca696 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridSomeExternalObjectSpec.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridSomeExternalObjectSpec.hpp @@ -9,7 +9,7 @@ #include #include -#include "HybridSomeExternalObjectSpec.hpp" +#include "NitroTestExternalHybridSomeExternalObjectSpec.hpp" diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp index 7f7e8de3e..cfa145394 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp @@ -10,7 +10,7 @@ // Forward declaration of `ColorScheme` to properly resolve imports. namespace margelo::nitro::test::external { enum class ColorScheme; } -#include "ColorScheme.hpp" +#include "NitroTestExternalColorScheme.hpp" #include "JColorScheme.hpp" #include #include "JFunc_void.hpp" diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp index 67ca8f0d6..f2a6cb4f9 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp @@ -9,7 +9,7 @@ #include #include -#include "HybridTestViewSpec.hpp" +#include "NitroTestExternalHybridTestViewSpec.hpp" diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JOptionalPrimitivesHolder.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JOptionalPrimitivesHolder.hpp index bc648c6b9..2fe19357d 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JOptionalPrimitivesHolder.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JOptionalPrimitivesHolder.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include "OptionalPrimitivesHolder.hpp" +#include "NitroTestExternalOptionalPrimitivesHolder.hpp" #include diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp index c0ef90699..f4b55097f 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp @@ -6,7 +6,7 @@ /// #include "JHybridTestViewStateUpdater.hpp" -#include "views/HybridTestViewComponent.hpp" +#include "views/NitroTestExternalHybridTestViewComponent.hpp" #include #include diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.hpp index dc7439a08..02361399c 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.hpp @@ -18,7 +18,7 @@ #include #include #include "JHybridTestViewSpec.hpp" -#include "views/HybridTestViewComponent.hpp" +#include "views/NitroTestExternalHybridTestViewComponent.hpp" namespace margelo::nitro::test::external::views { diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.cpp index 075667431..9e5a3886f 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.cpp @@ -8,11 +8,11 @@ #include "NitroTestExternal-Swift-Cxx-Bridge.hpp" // Include C++ implementation defined types -#include "HybridBaseSpecSwift.hpp" -#include "HybridBlaBlaSpecSwift.hpp" -#include "HybridSomeExternalObjectSpecSwift.hpp" -#include "HybridTestViewSpecSwift.hpp" #include "NitroTestExternal-Swift-Cxx-Umbrella.hpp" +#include "NitroTestExternalHybridBaseSpecSwift.hpp" +#include "NitroTestExternalHybridBlaBlaSpecSwift.hpp" +#include "NitroTestExternalHybridSomeExternalObjectSpecSwift.hpp" +#include "NitroTestExternalHybridTestViewSpecSwift.hpp" #include namespace margelo::nitro::test::external::bridge::swift { diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.hpp index d753773e7..4963599ce 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Bridge.hpp @@ -30,11 +30,11 @@ namespace NitroTestExternal { class HybridSomeExternalObjectSpec_cxx; } namespace NitroTestExternal { class HybridTestViewSpec_cxx; } // Include C++ defined types -#include "HybridBaseSpec.hpp" -#include "HybridBlaBlaSpec.hpp" -#include "HybridSomeExternalObjectSpec.hpp" -#include "HybridTestViewSpec.hpp" -#include "OptionalPrimitivesHolder.hpp" +#include "NitroTestExternalHybridBaseSpec.hpp" +#include "NitroTestExternalHybridBlaBlaSpec.hpp" +#include "NitroTestExternalHybridSomeExternalObjectSpec.hpp" +#include "NitroTestExternalHybridTestViewSpec.hpp" +#include "NitroTestExternalOptionalPrimitivesHolder.hpp" #include #include #include diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Umbrella.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Umbrella.hpp index 37bbe8508..fd4b52e4f 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Umbrella.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Umbrella.hpp @@ -22,12 +22,12 @@ namespace margelo::nitro::test::external { class HybridTestViewSpec; } namespace margelo::nitro::test::external { struct OptionalPrimitivesHolder; } // Include C++ defined types -#include "ColorScheme.hpp" -#include "HybridBaseSpec.hpp" -#include "HybridBlaBlaSpec.hpp" -#include "HybridSomeExternalObjectSpec.hpp" -#include "HybridTestViewSpec.hpp" -#include "OptionalPrimitivesHolder.hpp" +#include "NitroTestExternalColorScheme.hpp" +#include "NitroTestExternalHybridBaseSpec.hpp" +#include "NitroTestExternalHybridBlaBlaSpec.hpp" +#include "NitroTestExternalHybridSomeExternalObjectSpec.hpp" +#include "NitroTestExternalHybridTestViewSpec.hpp" +#include "NitroTestExternalOptionalPrimitivesHolder.hpp" #include #include #include diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.mm b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.mm index 64115b0b7..49325da29 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.mm +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.mm @@ -10,8 +10,10 @@ #import "NitroTestExternal-Swift-Cxx-Umbrella.hpp" #import -#include "HybridSomeExternalObjectSpecSwift.hpp" -#include "HybridTestViewSpecSwift.hpp" +#include "NitroTestExternalHybridSomeExternalObjectSpecSwift.hpp" +#include "NitroTestExternalHybridBlaBlaSpecSwift.hpp" +#include "NitroTestExternalHybridBaseSpecSwift.hpp" +#include "NitroTestExternalHybridTestViewSpecSwift.hpp" @interface NitroTestExternalAutolinking : NSObject @end @@ -23,14 +25,28 @@ + (void) load { using namespace margelo::nitro::test::external; HybridObjectRegistry::registerHybridObjectConstructor( - "SomeExternalObject", + "NitroTestExternalSomeExternalObject", []() -> std::shared_ptr { std::shared_ptr hybridObject = NitroTestExternal::NitroTestExternalAutolinking::createSomeExternalObject(); return hybridObject; } ); HybridObjectRegistry::registerHybridObjectConstructor( - "TestView", + "NitroTestExternalBlaBla", + []() -> std::shared_ptr { + std::shared_ptr hybridObject = NitroTestExternal::NitroTestExternalAutolinking::createBlaBla(); + return hybridObject; + } + ); + HybridObjectRegistry::registerHybridObjectConstructor( + "NitroTestExternalBase", + []() -> std::shared_ptr { + std::shared_ptr hybridObject = NitroTestExternal::NitroTestExternalAutolinking::createBase(); + return hybridObject; + } + ); + HybridObjectRegistry::registerHybridObjectConstructor( + "NitroTestExternalTestView", []() -> std::shared_ptr { std::shared_ptr hybridObject = NitroTestExternal::NitroTestExternalAutolinking::createTestView(); return hybridObject; diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.swift index c46e0c99a..ac08c3baf 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.swift +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternalAutolinking.swift @@ -24,6 +24,30 @@ public final class NitroTestExternalAutolinking { return HybridSomeExternalObject.self is any RecyclableView.Type } + public static func createBlaBla() -> bridge.std__shared_ptr_HybridBlaBlaSpec_ { + let hybridObject = HybridBlaBla() + return { () -> bridge.std__shared_ptr_HybridBlaBlaSpec_ in + let __cxxWrapped = hybridObject.getCxxWrapper() + return __cxxWrapped.getCxxPart() + }() + } + + public static func isBlaBlaRecyclable() -> Bool { + return HybridBlaBla.self is any RecyclableView.Type + } + + public static func createBase() -> bridge.std__shared_ptr_HybridBaseSpec_ { + let hybridObject = HybridBase() + return { () -> bridge.std__shared_ptr_HybridBaseSpec_ in + let __cxxWrapped = hybridObject.getCxxWrapper() + return __cxxWrapped.getCxxPart() + }() + } + + public static func isBaseRecyclable() -> Bool { + return HybridBase.self is any RecyclableView.Type + } + public static func createTestView() -> bridge.std__shared_ptr_HybridTestViewSpec_ { let hybridObject = HybridTestView() return { () -> bridge.std__shared_ptr_HybridTestViewSpec_ in diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridBaseSpecSwift.cpp similarity index 71% rename from packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.cpp rename to packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridBaseSpecSwift.cpp index d72488a72..04e527d01 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridBaseSpecSwift.cpp @@ -1,11 +1,11 @@ /// -/// HybridBaseSpecSwift.cpp +/// NitroTestExternalHybridBaseSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridBaseSpecSwift.hpp" +#include "NitroTestExternalHybridBaseSpecSwift.hpp" namespace margelo::nitro::test::external { } // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridBaseSpecSwift.hpp similarity index 95% rename from packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.hpp rename to packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridBaseSpecSwift.hpp index 9a1217438..9ef66e259 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBaseSpecSwift.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridBaseSpecSwift.hpp @@ -1,5 +1,5 @@ /// -/// HybridBaseSpecSwift.hpp +/// NitroTestExternalHybridBaseSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -7,7 +7,7 @@ #pragma once -#include "HybridBaseSpec.hpp" +#include "NitroTestExternalHybridBaseSpec.hpp" // Forward declaration of `HybridBaseSpec_cxx` to properly resolve imports. namespace NitroTestExternal { class HybridBaseSpec_cxx; } diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridSomeExternalObjectSpecSwift.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridBlaBlaSpecSwift.cpp similarity index 70% rename from packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridSomeExternalObjectSpecSwift.cpp rename to packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridBlaBlaSpecSwift.cpp index d5c454d5c..8ef296547 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridSomeExternalObjectSpecSwift.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridBlaBlaSpecSwift.cpp @@ -1,11 +1,11 @@ /// -/// HybridSomeExternalObjectSpecSwift.cpp +/// NitroTestExternalHybridBlaBlaSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridSomeExternalObjectSpecSwift.hpp" +#include "NitroTestExternalHybridBlaBlaSpecSwift.hpp" namespace margelo::nitro::test::external { } // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridBlaBlaSpecSwift.hpp similarity index 94% rename from packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.hpp rename to packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridBlaBlaSpecSwift.hpp index 731e2e809..41d5ff531 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridBlaBlaSpecSwift.hpp @@ -1,5 +1,5 @@ /// -/// HybridBlaBlaSpecSwift.hpp +/// NitroTestExternalHybridBlaBlaSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -7,7 +7,7 @@ #pragma once -#include "HybridBlaBlaSpec.hpp" +#include "NitroTestExternalHybridBlaBlaSpec.hpp" // Forward declaration of `HybridBlaBlaSpec_cxx` to properly resolve imports. namespace NitroTestExternal { class HybridBlaBlaSpec_cxx; } @@ -16,7 +16,7 @@ namespace NitroTestExternal { class HybridBlaBlaSpec_cxx; } namespace margelo::nitro::test::external { class HybridBaseSpec; } #include -#include "HybridBaseSpec.hpp" +#include "NitroTestExternalHybridBaseSpec.hpp" #include #include "NitroTestExternal-Swift-Cxx-Umbrella.hpp" diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridSomeExternalObjectSpecSwift.cpp similarity index 66% rename from packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.cpp rename to packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridSomeExternalObjectSpecSwift.cpp index af14f369e..77ea34d26 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridSomeExternalObjectSpecSwift.cpp @@ -1,11 +1,11 @@ /// -/// HybridTestViewSpecSwift.cpp +/// NitroTestExternalHybridSomeExternalObjectSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridTestViewSpecSwift.hpp" +#include "NitroTestExternalHybridSomeExternalObjectSpecSwift.hpp" namespace margelo::nitro::test::external { } // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridSomeExternalObjectSpecSwift.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridSomeExternalObjectSpecSwift.hpp similarity index 94% rename from packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridSomeExternalObjectSpecSwift.hpp rename to packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridSomeExternalObjectSpecSwift.hpp index 30ea0e4df..7060cc49c 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridSomeExternalObjectSpecSwift.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridSomeExternalObjectSpecSwift.hpp @@ -1,5 +1,5 @@ /// -/// HybridSomeExternalObjectSpecSwift.hpp +/// NitroTestExternalHybridSomeExternalObjectSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -7,7 +7,7 @@ #pragma once -#include "HybridSomeExternalObjectSpec.hpp" +#include "NitroTestExternalHybridSomeExternalObjectSpec.hpp" // Forward declaration of `HybridSomeExternalObjectSpec_cxx` to properly resolve imports. namespace NitroTestExternal { class HybridSomeExternalObjectSpec_cxx; } @@ -16,7 +16,7 @@ namespace NitroTestExternal { class HybridSomeExternalObjectSpec_cxx; } namespace margelo::nitro::test::external { struct OptionalPrimitivesHolder; } #include -#include "OptionalPrimitivesHolder.hpp" +#include "NitroTestExternalOptionalPrimitivesHolder.hpp" #include #include "NitroTestExternal-Swift-Cxx-Umbrella.hpp" diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridTestViewSpecSwift.cpp similarity index 69% rename from packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.cpp rename to packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridTestViewSpecSwift.cpp index cbdbd2b98..86fa1568c 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridBlaBlaSpecSwift.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridTestViewSpecSwift.cpp @@ -1,11 +1,11 @@ /// -/// HybridBlaBlaSpecSwift.cpp +/// NitroTestExternalHybridTestViewSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridBlaBlaSpecSwift.hpp" +#include "NitroTestExternalHybridTestViewSpecSwift.hpp" namespace margelo::nitro::test::external { } // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridTestViewSpecSwift.hpp similarity index 96% rename from packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.hpp rename to packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridTestViewSpecSwift.hpp index 29ee54fd8..59f84b358 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridTestViewSpecSwift.hpp @@ -1,5 +1,5 @@ /// -/// HybridTestViewSpecSwift.hpp +/// NitroTestExternalHybridTestViewSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -7,7 +7,7 @@ #pragma once -#include "HybridTestViewSpec.hpp" +#include "NitroTestExternalHybridTestViewSpec.hpp" // Forward declaration of `HybridTestViewSpec_cxx` to properly resolve imports. namespace NitroTestExternal { class HybridTestViewSpec_cxx; } @@ -15,7 +15,7 @@ namespace NitroTestExternal { class HybridTestViewSpec_cxx; } // Forward declaration of `ColorScheme` to properly resolve imports. namespace margelo::nitro::test::external { enum class ColorScheme; } -#include "ColorScheme.hpp" +#include "NitroTestExternalColorScheme.hpp" #include #include "NitroTestExternal-Swift-Cxx-Umbrella.hpp" diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/HybridTestViewComponent.mm b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/NitroTestExternalHybridTestViewComponent.mm similarity index 91% rename from packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/HybridTestViewComponent.mm rename to packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/NitroTestExternalHybridTestViewComponent.mm index 2e2c87b73..46be656c0 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/HybridTestViewComponent.mm +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/NitroTestExternalHybridTestViewComponent.mm @@ -1,11 +1,11 @@ /// -/// HybridTestViewComponent.mm +/// NitroTestExternalHybridTestViewComponent.mm /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#import "HybridTestViewComponent.hpp" +#import "NitroTestExternalHybridTestViewComponent.hpp" #import #import #import @@ -14,7 +14,7 @@ #import #import -#import "HybridTestViewSpecSwift.hpp" +#import "NitroTestExternalHybridTestViewSpecSwift.hpp" #import "NitroTestExternal-Swift-Cxx-Umbrella.hpp" #if __has_include() @@ -31,17 +31,17 @@ /** * Represents the React Native View holder for the Nitro "TestView" HybridView. */ -@interface HybridTestViewComponent: RCTViewComponentView +@interface NitroTestExternalHybridTestViewComponent: RCTViewComponentView + (BOOL)shouldBeRecycled; @end -@implementation HybridTestViewComponent { +@implementation NitroTestExternalHybridTestViewComponent { std::shared_ptr _hybridView; } + (void) load { [super load]; - [RCTComponentViewFactory.currentComponentViewFactory registerComponentViewClass:[HybridTestViewComponent class]]; + [RCTComponentViewFactory.currentComponentViewFactory registerComponentViewClass:[NitroTestExternalHybridTestViewComponent class]]; } + (react::ComponentDescriptorProvider) componentDescriptorProvider { diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/ColorScheme.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalColorScheme.hpp similarity index 98% rename from packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/ColorScheme.hpp rename to packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalColorScheme.hpp index ef0ba591d..d3fdc8b55 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/ColorScheme.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalColorScheme.hpp @@ -1,5 +1,5 @@ /// -/// ColorScheme.hpp +/// NitroTestExternalColorScheme.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridBaseSpec.cpp similarity index 86% rename from packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.cpp rename to packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridBaseSpec.cpp index 3f2162e29..793387dde 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridBaseSpec.cpp @@ -1,11 +1,11 @@ /// -/// HybridBaseSpec.cpp +/// NitroTestExternalHybridBaseSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridBaseSpec.hpp" +#include "NitroTestExternalHybridBaseSpec.hpp" namespace margelo::nitro::test::external { diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridBaseSpec.hpp similarity index 92% rename from packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.hpp rename to packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridBaseSpec.hpp index 609b68f0e..51e4ff8d2 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBaseSpec.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridBaseSpec.hpp @@ -1,5 +1,5 @@ /// -/// HybridBaseSpec.hpp +/// NitroTestExternalHybridBaseSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -56,7 +56,7 @@ namespace margelo::nitro::test::external { protected: // Tag for logging - static constexpr auto TAG = "Base"; + static constexpr auto TAG = "NitroTestExternalBase"; }; } // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridBlaBlaSpec.cpp similarity index 87% rename from packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.cpp rename to packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridBlaBlaSpec.cpp index 145b5b106..e0706f8e2 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridBlaBlaSpec.cpp @@ -1,11 +1,11 @@ /// -/// HybridBlaBlaSpec.cpp +/// NitroTestExternalHybridBlaBlaSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridBlaBlaSpec.hpp" +#include "NitroTestExternalHybridBlaBlaSpec.hpp" namespace margelo::nitro::test::external { diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridBlaBlaSpec.hpp similarity index 91% rename from packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.hpp rename to packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridBlaBlaSpec.hpp index 2cdcdbdb4..980880cdc 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridBlaBlaSpec.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridBlaBlaSpec.hpp @@ -1,5 +1,5 @@ /// -/// HybridBlaBlaSpec.hpp +/// NitroTestExternalHybridBlaBlaSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -17,7 +17,7 @@ namespace margelo::nitro::test::external { class HybridBaseSpec; } #include -#include "HybridBaseSpec.hpp" +#include "NitroTestExternalHybridBaseSpec.hpp" #include namespace margelo::nitro::test::external { @@ -60,7 +60,7 @@ namespace margelo::nitro::test::external { protected: // Tag for logging - static constexpr auto TAG = "BlaBla"; + static constexpr auto TAG = "NitroTestExternalBlaBla"; }; } // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridSomeExternalObjectSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridSomeExternalObjectSpec.cpp similarity index 86% rename from packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridSomeExternalObjectSpec.cpp rename to packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridSomeExternalObjectSpec.cpp index fbde40425..8e66b5918 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridSomeExternalObjectSpec.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridSomeExternalObjectSpec.cpp @@ -1,11 +1,11 @@ /// -/// HybridSomeExternalObjectSpec.cpp +/// NitroTestExternalHybridSomeExternalObjectSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridSomeExternalObjectSpec.hpp" +#include "NitroTestExternalHybridSomeExternalObjectSpec.hpp" namespace margelo::nitro::test::external { diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridSomeExternalObjectSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridSomeExternalObjectSpec.hpp similarity index 90% rename from packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridSomeExternalObjectSpec.hpp rename to packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridSomeExternalObjectSpec.hpp index 8f24ffe41..c3e3d7b2d 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridSomeExternalObjectSpec.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridSomeExternalObjectSpec.hpp @@ -1,5 +1,5 @@ /// -/// HybridSomeExternalObjectSpec.hpp +/// NitroTestExternalHybridSomeExternalObjectSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -17,7 +17,7 @@ namespace margelo::nitro::test::external { struct OptionalPrimitivesHolder; } #include -#include "OptionalPrimitivesHolder.hpp" +#include "NitroTestExternalOptionalPrimitivesHolder.hpp" #include namespace margelo::nitro::test::external { @@ -60,7 +60,7 @@ namespace margelo::nitro::test::external { protected: // Tag for logging - static constexpr auto TAG = "SomeExternalObject"; + static constexpr auto TAG = "NitroTestExternalSomeExternalObject"; }; } // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.cpp similarity index 93% rename from packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.cpp rename to packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.cpp index ddbc0809a..b741ceb5a 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.cpp @@ -1,11 +1,11 @@ /// -/// HybridTestViewSpec.cpp +/// NitroTestExternalHybridTestViewSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridTestViewSpec.hpp" +#include "NitroTestExternalHybridTestViewSpec.hpp" namespace margelo::nitro::test::external { diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.hpp similarity index 92% rename from packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.hpp rename to packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.hpp index 6d391310e..ceb98de42 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/HybridTestViewSpec.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.hpp @@ -1,5 +1,5 @@ /// -/// HybridTestViewSpec.hpp +/// NitroTestExternalHybridTestViewSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -16,7 +16,7 @@ // Forward declaration of `ColorScheme` to properly resolve imports. namespace margelo::nitro::test::external { enum class ColorScheme; } -#include "ColorScheme.hpp" +#include "NitroTestExternalColorScheme.hpp" #include namespace margelo::nitro::test::external { @@ -65,7 +65,7 @@ namespace margelo::nitro::test::external { protected: // Tag for logging - static constexpr auto TAG = "TestView"; + static constexpr auto TAG = "NitroTestExternalTestView"; }; } // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/OptionalPrimitivesHolder.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalOptionalPrimitivesHolder.hpp similarity index 98% rename from packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/OptionalPrimitivesHolder.hpp rename to packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalOptionalPrimitivesHolder.hpp index 8175fa6d1..c8d69b3b8 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/OptionalPrimitivesHolder.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalOptionalPrimitivesHolder.hpp @@ -1,5 +1,5 @@ /// -/// OptionalPrimitivesHolder.hpp +/// NitroTestExternalOptionalPrimitivesHolder.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.cpp similarity index 98% rename from packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp rename to packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.cpp index 9da871a85..b07511f21 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.cpp @@ -1,11 +1,11 @@ /// -/// HybridTestViewComponent.cpp +/// NitroTestExternalHybridTestViewComponent.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridTestViewComponent.hpp" +#include "NitroTestExternalHybridTestViewComponent.hpp" #include #include diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.hpp similarity index 96% rename from packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.hpp rename to packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.hpp index 059352c4d..a3b523df2 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/HybridTestViewComponent.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.hpp @@ -1,5 +1,5 @@ /// -/// HybridTestViewComponent.hpp +/// NitroTestExternalHybridTestViewComponent.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -16,10 +16,10 @@ #include #include -#include "ColorScheme.hpp" +#include "NitroTestExternalColorScheme.hpp" #include #include -#include "HybridTestViewSpec.hpp" +#include "NitroTestExternalHybridTestViewSpec.hpp" #include namespace margelo::nitro::test::external::views { diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/ts/createNitroTestExternalHybridObject.ts b/packages/react-native-nitro-test-external/nitrogen/generated/shared/ts/createNitroTestExternalHybridObject.ts new file mode 100644 index 000000000..0b7f3d077 --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/ts/createNitroTestExternalHybridObject.ts @@ -0,0 +1,19 @@ +/// +/// createNitroTestExternalHybridObject.ts +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// +import { NitroModules, type HybridObject } from 'react-native-nitro-modules' + +const REGISTERED_OBJECTS = { + SomeExternalObject: 'NitroTestExternalSomeExternalObject', + Base: 'NitroTestExternalBase', + BlaBla: 'NitroTestExternalBlaBla', +} as const + +export function createNitroTestExternalHybridObject>( + name: keyof typeof REGISTERED_OBJECTS +): ReturnType> { + return NitroModules.createHybridObject(REGISTERED_OBJECTS[name]) +} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/ts/getNitroTestExternalHostComponent.ts b/packages/react-native-nitro-test-external/nitrogen/generated/shared/ts/getNitroTestExternalHostComponent.ts new file mode 100644 index 000000000..9acf6025b --- /dev/null +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/ts/getNitroTestExternalHostComponent.ts @@ -0,0 +1,32 @@ +/// +/// getNitroTestExternalHostComponent.ts +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// +import { + getHostComponent, + type HybridViewMethods, + type HybridViewProps, + type ViewConfig, +} from 'react-native-nitro-modules' + +import TestViewConfig from '../json/TestViewConfig.json' + +const REGISTERED_COMPONENTS = { + TestView: { + name: 'NitroTestExternalTestView', + config: TestViewConfig, + }, +} as const + +export function getNitroTestExternalHostComponent< + Props extends HybridViewProps, + Methods extends HybridViewMethods, +>( + name: keyof typeof REGISTERED_COMPONENTS +): ReturnType> { + const component = REGISTERED_COMPONENTS[name] + const config = component.config as ViewConfig + return getHostComponent(component.name, () => config) +} diff --git a/packages/react-native-nitro-test-external/package.json b/packages/react-native-nitro-test-external/package.json index 63775ddab..4d4965dac 100644 --- a/packages/react-native-nitro-test-external/package.json +++ b/packages/react-native-nitro-test-external/package.json @@ -2,9 +2,9 @@ "name": "react-native-nitro-test-external", "version": "0.35.2", "description": "react-native-nitro-test-external", - "main": "lib/index", - "module": "lib/index", - "types": "lib/index.d.ts", + "main": "lib/src/index", + "module": "lib/src/index", + "types": "lib/src/index.d.ts", "react-native": "src/index", "source": "src/index", "files": [ diff --git a/packages/react-native-nitro-test-external/src/index.ts b/packages/react-native-nitro-test-external/src/index.ts index a170bd751..d3f426d5a 100644 --- a/packages/react-native-nitro-test-external/src/index.ts +++ b/packages/react-native-nitro-test-external/src/index.ts @@ -1,7 +1,33 @@ -import { NitroModules } from 'react-native-nitro-modules' -import type { SomeExternalObject } from './specs/SomeExternalObject.nitro' +import { type HybridRef } from 'react-native-nitro-modules' +import type { + Base, + BlaBla, + SomeExternalObject, +} from './specs/SomeExternalObject.nitro' +import type { TestViewMethods, TestViewProps } from './specs/TestView.nitro' +import { createNitroTestExternalHybridObject } from '../nitrogen/generated/shared/ts/createNitroTestExternalHybridObject' +import { getNitroTestExternalHostComponent } from '../nitrogen/generated/shared/ts/getNitroTestExternalHostComponent' export const HybridSomeExternalObject = - NitroModules.createHybridObject('SomeExternalObject') + createNitroTestExternalHybridObject('SomeExternalObject') -export { type SomeExternalObject } from './specs/SomeExternalObject.nitro' +export const HybridBlaBla = + createNitroTestExternalHybridObject('BlaBla') + +export const HybridBase = createNitroTestExternalHybridObject('Base') + +export { + type Base, + type BlaBla, + type SomeExternalObject, +} from './specs/SomeExternalObject.nitro' + +/** + * Represents the HybridView `TestView`, which can be rendered as a React Native view. + */ +export const TestView = getNitroTestExternalHostComponent< + TestViewProps, + TestViewMethods +>('TestView') + +export type TestViewRef = HybridRef diff --git a/packages/react-native-nitro-test-external/tsconfig.json b/packages/react-native-nitro-test-external/tsconfig.json index bea65346b..897d06063 100644 --- a/packages/react-native-nitro-test-external/tsconfig.json +++ b/packages/react-native-nitro-test-external/tsconfig.json @@ -3,10 +3,14 @@ "@tsconfig/react-native/tsconfig.json", "../../config/tsconfig.json" ], - "include": ["src"], + "include": [ + "src", + "nitrogen/generated/shared/ts", + "nitrogen/generated/shared/json/*.json" + ], "compilerOptions": { - "rootDir": "src", + "rootDir": ".", "outDir": "lib", - "jsx": "react" + "jsx": "react", } } diff --git a/packages/react-native-nitro-test/cpp/HybridBase.hpp b/packages/react-native-nitro-test/cpp/HybridBase.hpp index 236fde5ce..b43daf6b2 100644 --- a/packages/react-native-nitro-test/cpp/HybridBase.hpp +++ b/packages/react-native-nitro-test/cpp/HybridBase.hpp @@ -7,7 +7,7 @@ #pragma once -#include "HybridBaseSpec.hpp" +#include "NitroTestHybridBaseSpec.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/cpp/HybridChild.hpp b/packages/react-native-nitro-test/cpp/HybridChild.hpp index 4e8da52c9..64db61c62 100644 --- a/packages/react-native-nitro-test/cpp/HybridChild.hpp +++ b/packages/react-native-nitro-test/cpp/HybridChild.hpp @@ -8,7 +8,7 @@ #pragma once #include "HybridBase.hpp" -#include "HybridChildSpec.hpp" +#include "NitroTestHybridChildSpec.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/cpp/HybridSomeInternalObject.hpp b/packages/react-native-nitro-test/cpp/HybridSomeInternalObject.hpp index c29c0432f..c92cffcfe 100644 --- a/packages/react-native-nitro-test/cpp/HybridSomeInternalObject.hpp +++ b/packages/react-native-nitro-test/cpp/HybridSomeInternalObject.hpp @@ -7,7 +7,7 @@ #pragma once -#include +#include namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/cpp/HybridTestObjectCpp.hpp b/packages/react-native-nitro-test/cpp/HybridTestObjectCpp.hpp index 48cf6474b..e5fb6b469 100644 --- a/packages/react-native-nitro-test/cpp/HybridTestObjectCpp.hpp +++ b/packages/react-native-nitro-test/cpp/HybridTestObjectCpp.hpp @@ -7,7 +7,7 @@ #pragma once -#include "HybridTestObjectCppSpec.hpp" +#include "NitroTestHybridTestObjectCppSpec.hpp" #include namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/NitroTest+autolinking.cmake b/packages/react-native-nitro-test/nitrogen/generated/android/NitroTest+autolinking.cmake index 453148d1b..f3f0a856d 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/NitroTest+autolinking.cmake +++ b/packages/react-native-nitro-test/nitrogen/generated/android/NitroTest+autolinking.cmake @@ -33,15 +33,15 @@ target_sources( # Autolinking Setup ../nitrogen/generated/android/NitroTestOnLoad.cpp # Shared Nitrogen C++ sources - ../nitrogen/generated/shared/c++/HybridBaseSpec.cpp - ../nitrogen/generated/shared/c++/HybridChildSpec.cpp - ../nitrogen/generated/shared/c++/HybridPlatformObjectSpec.cpp - ../nitrogen/generated/shared/c++/HybridRecyclableTestViewSpec.cpp - ../nitrogen/generated/shared/c++/views/HybridRecyclableTestViewComponent.cpp - ../nitrogen/generated/shared/c++/HybridTestObjectCppSpec.cpp - ../nitrogen/generated/shared/c++/HybridTestObjectSwiftKotlinSpec.cpp - ../nitrogen/generated/shared/c++/HybridTestViewSpec.cpp - ../nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp + ../nitrogen/generated/shared/c++/NitroTestHybridBaseSpec.cpp + ../nitrogen/generated/shared/c++/NitroTestHybridChildSpec.cpp + ../nitrogen/generated/shared/c++/NitroTestHybridPlatformObjectSpec.cpp + ../nitrogen/generated/shared/c++/NitroTestHybridRecyclableTestViewSpec.cpp + ../nitrogen/generated/shared/c++/views/NitroTestHybridRecyclableTestViewComponent.cpp + ../nitrogen/generated/shared/c++/NitroTestHybridTestObjectCppSpec.cpp + ../nitrogen/generated/shared/c++/NitroTestHybridTestObjectSwiftKotlinSpec.cpp + ../nitrogen/generated/shared/c++/NitroTestHybridTestViewSpec.cpp + ../nitrogen/generated/shared/c++/views/NitroTestHybridTestViewComponent.cpp # Android-specific Nitrogen C++ sources ../nitrogen/generated/android/c++/JHybridBaseSpec.cpp ../nitrogen/generated/android/c++/JHybridChildSpec.cpp diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/NitroTestOnLoad.cpp b/packages/react-native-nitro-test/nitrogen/generated/android/NitroTestOnLoad.cpp index 5ebdab53b..7fa925144 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/NitroTestOnLoad.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/NitroTestOnLoad.cpp @@ -125,7 +125,7 @@ void registerAllNatives() { // Register Nitro Hybrid Objects HybridObjectRegistry::registerHybridObjectConstructor( - "TestObjectCpp", + "NitroTestTestObjectCpp", []() -> std::shared_ptr { static_assert(std::is_default_constructible_v, "The HybridObject \"HybridTestObjectCpp\" is not default-constructible! " @@ -134,37 +134,37 @@ void registerAllNatives() { } ); HybridObjectRegistry::registerHybridObjectConstructor( - "TestObjectSwiftKotlin", + "NitroTestTestObjectSwiftKotlin", []() -> std::shared_ptr { return JHybridTestObjectSwiftKotlinSpecImpl::create(); } ); HybridObjectRegistry::registerHybridObjectConstructor( - "Base", + "NitroTestBase", []() -> std::shared_ptr { return JHybridBaseSpecImpl::create(); } ); HybridObjectRegistry::registerHybridObjectConstructor( - "Child", + "NitroTestChild", []() -> std::shared_ptr { return JHybridChildSpecImpl::create(); } ); HybridObjectRegistry::registerHybridObjectConstructor( - "PlatformObject", + "NitroTestPlatformObject", []() -> std::shared_ptr { return JHybridPlatformObjectSpecImpl::create(); } ); HybridObjectRegistry::registerHybridObjectConstructor( - "TestView", + "NitroTestTestView", []() -> std::shared_ptr { return JHybridTestViewSpecImpl::create(); } ); HybridObjectRegistry::registerHybridObjectConstructor( - "RecyclableTestView", + "NitroTestRecyclableTestView", []() -> std::shared_ptr { return JHybridRecyclableTestViewSpecImpl::create(); } diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JCar.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JCar.hpp index 25678e164..22b1ed8af 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JCar.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JCar.hpp @@ -8,13 +8,13 @@ #pragma once #include -#include "Car.hpp" +#include "NitroTestCar.hpp" #include "JPerson.hpp" #include "JPowertrain.hpp" #include "JVariant_String_Double.hpp" -#include "Person.hpp" -#include "Powertrain.hpp" +#include "NitroTestPerson.hpp" +#include "NitroTestPowertrain.hpp" #include #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JColorScheme.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JColorScheme.hpp index 1995f592a..91dea1e65 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JColorScheme.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JColorScheme.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include "ColorScheme.hpp" +#include "NitroTestColorScheme.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JCoreTypesVariant.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JCoreTypesVariant.hpp index adcd72700..eb4503c9b 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JCoreTypesVariant.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JCoreTypesVariant.hpp @@ -12,7 +12,7 @@ #include #include -#include "WrappedJsStruct.hpp" +#include "NitroTestWrappedJsStruct.hpp" #include #include #include @@ -21,7 +21,7 @@ #include "JFunc_void_double.hpp" #include #include "JWrappedJsStruct.hpp" -#include "JsStyleStruct.hpp" +#include "NitroTestJsStyleStruct.hpp" #include "JJsStyleStruct.hpp" #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JExternalObjectStruct.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JExternalObjectStruct.hpp index aa59aea18..8fd5afd7b 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JExternalObjectStruct.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JExternalObjectStruct.hpp @@ -8,10 +8,10 @@ #pragma once #include -#include "ExternalObjectStruct.hpp" +#include "NitroTestExternalObjectStruct.hpp" -#include #include +#include #include namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JFunc_std__shared_ptr_margelo__nitro__test__external__HybridSomeExternalObjectSpec_.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JFunc_std__shared_ptr_margelo__nitro__test__external__HybridSomeExternalObjectSpec_.hpp index 9a1754da9..1b0f68644 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JFunc_std__shared_ptr_margelo__nitro__test__external__HybridSomeExternalObjectSpec_.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JFunc_std__shared_ptr_margelo__nitro__test__external__HybridSomeExternalObjectSpec_.hpp @@ -11,7 +11,7 @@ #include #include -#include +#include #include #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JFunc_void_std__vector_Powertrain_.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JFunc_void_std__vector_Powertrain_.hpp index 36c3045d5..4eebe36a9 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JFunc_void_std__vector_Powertrain_.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JFunc_void_std__vector_Powertrain_.hpp @@ -10,7 +10,7 @@ #include #include -#include "Powertrain.hpp" +#include "NitroTestPowertrain.hpp" #include #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridBaseSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridBaseSpec.hpp index 18bdcf92c..d6240f274 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridBaseSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridBaseSpec.hpp @@ -9,7 +9,7 @@ #include #include -#include "HybridBaseSpec.hpp" +#include "NitroTestHybridBaseSpec.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridChildSpec.cpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridChildSpec.cpp index f7178b520..a7b64161a 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridChildSpec.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridChildSpec.cpp @@ -15,13 +15,13 @@ namespace margelo::nitro::test { enum class Powertrain; } namespace margelo::nitro::test { struct Person; } #include -#include "Car.hpp" +#include "NitroTestCar.hpp" #include #include "JNamedVariant.hpp" #include "JCar.hpp" -#include "Powertrain.hpp" +#include "NitroTestPowertrain.hpp" #include "JPowertrain.hpp" -#include "Person.hpp" +#include "NitroTestPerson.hpp" #include #include "JPerson.hpp" #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridChildSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridChildSpec.hpp index 7ae265342..dfe1f680f 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridChildSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridChildSpec.hpp @@ -9,7 +9,7 @@ #include #include -#include "HybridChildSpec.hpp" +#include "NitroTestHybridChildSpec.hpp" // Forward declaration of `JHybridBaseSpec` to properly resolve imports. namespace margelo::nitro::test { class JHybridBaseSpec; } diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridPlatformObjectSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridPlatformObjectSpec.hpp index 0caca67fa..503ef7388 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridPlatformObjectSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridPlatformObjectSpec.hpp @@ -9,7 +9,7 @@ #include #include -#include "HybridPlatformObjectSpec.hpp" +#include "NitroTestHybridPlatformObjectSpec.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridRecyclableTestViewSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridRecyclableTestViewSpec.hpp index 0683c6250..ea8794e2f 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridRecyclableTestViewSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridRecyclableTestViewSpec.hpp @@ -9,7 +9,7 @@ #include #include -#include "HybridRecyclableTestViewSpec.hpp" +#include "NitroTestHybridRecyclableTestViewSpec.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestObjectSwiftKotlinSpec.cpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestObjectSwiftKotlinSpec.cpp index 53068df48..865d5bb30 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestObjectSwiftKotlinSpec.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestObjectSwiftKotlinSpec.cpp @@ -45,7 +45,7 @@ namespace margelo::nitro::test { struct SecondMapWrapper; } namespace margelo::nitro::test { class HybridTestViewSpec; } #include -#include "HybridTestObjectSwiftKotlinSpec.hpp" +#include "NitroTestHybridTestObjectSwiftKotlinSpec.hpp" #include "JHybridTestObjectSwiftKotlinSpec.hpp" #include #include @@ -54,20 +54,20 @@ namespace margelo::nitro::test { class HybridTestViewSpec; } #include #include "JVariant_NullType_String.hpp" #include -#include "Powertrain.hpp" +#include "NitroTestPowertrain.hpp" #include "JPowertrain.hpp" -#include "OldEnum.hpp" +#include "NitroTestOldEnum.hpp" #include "JOldEnum.hpp" #include #include "JFunc_void_double.hpp" #include #include "JVariant_String_Double.hpp" -#include "Person.hpp" +#include "NitroTestPerson.hpp" #include "JVariant_HybridTestObjectSwiftKotlinSpec_Person.hpp" #include "JPerson.hpp" -#include "PartialPerson.hpp" +#include "NitroTestPartialPerson.hpp" #include "JPartialPerson.hpp" -#include "HybridChildSpec.hpp" +#include "NitroTestHybridChildSpec.hpp" #include "JHybridChildSpec.hpp" #include "JFunc_void.hpp" #include @@ -81,36 +81,36 @@ namespace margelo::nitro::test { class HybridTestViewSpec; } #include #include #include -#include "Car.hpp" +#include "NitroTestCar.hpp" #include "JCar.hpp" -#include "WrappedJsStruct.hpp" +#include "NitroTestWrappedJsStruct.hpp" #include "JWrappedJsStruct.hpp" -#include "JsStyleStruct.hpp" +#include "NitroTestJsStyleStruct.hpp" #include "JJsStyleStruct.hpp" -#include "OptionalWrapper.hpp" +#include "NitroTestOptionalWrapper.hpp" #include "JOptionalWrapper.hpp" -#include "OptionalCallback.hpp" +#include "NitroTestOptionalCallback.hpp" #include "JOptionalCallback.hpp" #include "JVariant_______Unit_Double.hpp" #include "JVariant_Boolean_OldEnum.hpp" -#include "WeirdNumbersEnum.hpp" +#include "NitroTestWeirdNumbersEnum.hpp" #include "JVariant_Boolean_WeirdNumbersEnum.hpp" #include "JWeirdNumbersEnum.hpp" #include "JVariant_Car_Person.hpp" #include "JNamedVariant.hpp" -#include "HybridBaseSpec.hpp" +#include "NitroTestHybridBaseSpec.hpp" #include "JVariant_HybridBaseSpec_OptionalWrapper.hpp" #include "JHybridBaseSpec.hpp" #include "JCoreTypesVariant.hpp" -#include +#include #include -#include "ExternalObjectStruct.hpp" +#include "NitroTestExternalObjectStruct.hpp" #include "JExternalObjectStruct.hpp" #include "JStringOrExternal.hpp" #include "JFunc_void_std__vector_Powertrain_.hpp" -#include "MapWrapper.hpp" +#include "NitroTestMapWrapper.hpp" #include "JMapWrapper.hpp" -#include "SecondMapWrapper.hpp" +#include "NitroTestSecondMapWrapper.hpp" #include "JSecondMapWrapper.hpp" #include #include "JFunc_std__shared_ptr_Promise_std__shared_ptr_Promise_void____.hpp" @@ -123,7 +123,7 @@ namespace margelo::nitro::test { class HybridTestViewSpec; } #include "JFunc_std__shared_ptr_Promise_std__string__.hpp" #include "JVariant_Boolean_DoubleArray_Array_String__String_Double.hpp" #include "JFunc_double.hpp" -#include "HybridTestViewSpec.hpp" +#include "NitroTestHybridTestViewSpec.hpp" #include "JHybridTestViewSpec.hpp" #include "JFunc_std__shared_ptr_margelo__nitro__test__external__HybridSomeExternalObjectSpec_.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestObjectSwiftKotlinSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestObjectSwiftKotlinSpec.hpp index 1c3e75bd7..51e6f5d0c 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestObjectSwiftKotlinSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestObjectSwiftKotlinSpec.hpp @@ -9,7 +9,7 @@ #include #include -#include "HybridTestObjectSwiftKotlinSpec.hpp" +#include "NitroTestHybridTestObjectSwiftKotlinSpec.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp index 7a612c4af..d6ff08b0c 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp @@ -10,7 +10,7 @@ // Forward declaration of `ColorScheme` to properly resolve imports. namespace margelo::nitro::test { enum class ColorScheme; } -#include "ColorScheme.hpp" +#include "NitroTestColorScheme.hpp" #include "JColorScheme.hpp" #include #include "JFunc_void.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp index 715471554..6bac658fb 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp @@ -9,7 +9,7 @@ #include #include -#include "HybridTestViewSpec.hpp" +#include "NitroTestHybridTestViewSpec.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JJsStyleStruct.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JJsStyleStruct.hpp index 3dc4e3811..cb93ed702 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JJsStyleStruct.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JJsStyleStruct.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include "JsStyleStruct.hpp" +#include "NitroTestJsStyleStruct.hpp" #include "JFunc_void_double.hpp" #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JMapWrapper.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JMapWrapper.hpp index 7f0d644be..b9d54f213 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JMapWrapper.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JMapWrapper.hpp @@ -8,10 +8,10 @@ #pragma once #include -#include "MapWrapper.hpp" +#include "NitroTestMapWrapper.hpp" #include "JSecondMapWrapper.hpp" -#include "SecondMapWrapper.hpp" +#include "NitroTestSecondMapWrapper.hpp" #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JNamedVariant.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JNamedVariant.hpp index e763f29f8..c3a77d03a 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JNamedVariant.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JNamedVariant.hpp @@ -11,12 +11,12 @@ #include #include -#include "Car.hpp" +#include "NitroTestCar.hpp" #include #include "JCar.hpp" -#include "Powertrain.hpp" +#include "NitroTestPowertrain.hpp" #include "JPowertrain.hpp" -#include "Person.hpp" +#include "NitroTestPerson.hpp" #include #include "JPerson.hpp" #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JOldEnum.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JOldEnum.hpp index 45fb9f184..4cc3175e6 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JOldEnum.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JOldEnum.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include "OldEnum.hpp" +#include "NitroTestOldEnum.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JOptionalCallback.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JOptionalCallback.hpp index 83279d7eb..b601e70bf 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JOptionalCallback.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JOptionalCallback.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include "OptionalCallback.hpp" +#include "NitroTestOptionalCallback.hpp" #include "JFunc_void.hpp" #include "JVariant_______Unit_Double.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JOptionalWrapper.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JOptionalWrapper.hpp index f3454348e..53150787f 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JOptionalWrapper.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JOptionalWrapper.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include "OptionalWrapper.hpp" +#include "NitroTestOptionalWrapper.hpp" #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JPartialPerson.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JPartialPerson.hpp index 62d26c796..be934f8ec 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JPartialPerson.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JPartialPerson.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include "PartialPerson.hpp" +#include "NitroTestPartialPerson.hpp" #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JPerson.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JPerson.hpp index adc2b46db..08e72cf55 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JPerson.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JPerson.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include "Person.hpp" +#include "NitroTestPerson.hpp" #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JPowertrain.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JPowertrain.hpp index b30e1c998..1a160e814 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JPowertrain.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JPowertrain.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include "Powertrain.hpp" +#include "NitroTestPowertrain.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JSecondMapWrapper.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JSecondMapWrapper.hpp index 8879c7184..94dead489 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JSecondMapWrapper.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JSecondMapWrapper.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include "SecondMapWrapper.hpp" +#include "NitroTestSecondMapWrapper.hpp" #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JStringOrExternal.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JStringOrExternal.hpp index edcee2d49..54e85f29c 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JStringOrExternal.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JStringOrExternal.hpp @@ -11,7 +11,7 @@ #include #include -#include +#include #include #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_Boolean_OldEnum.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_Boolean_OldEnum.hpp index 9e33352f2..fa22892a4 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_Boolean_OldEnum.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_Boolean_OldEnum.hpp @@ -10,7 +10,7 @@ #include #include -#include "OldEnum.hpp" +#include "NitroTestOldEnum.hpp" #include #include "JOldEnum.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_Boolean_WeirdNumbersEnum.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_Boolean_WeirdNumbersEnum.hpp index eca8f9e97..ecd44d57f 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_Boolean_WeirdNumbersEnum.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_Boolean_WeirdNumbersEnum.hpp @@ -10,7 +10,7 @@ #include #include -#include "WeirdNumbersEnum.hpp" +#include "NitroTestWeirdNumbersEnum.hpp" #include #include "JWeirdNumbersEnum.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_Car_Person.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_Car_Person.hpp index 40c6e67c2..08fe476f1 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_Car_Person.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_Car_Person.hpp @@ -10,12 +10,12 @@ #include #include -#include "Car.hpp" -#include "Person.hpp" +#include "NitroTestCar.hpp" +#include "NitroTestPerson.hpp" #include #include "JCar.hpp" #include -#include "Powertrain.hpp" +#include "NitroTestPowertrain.hpp" #include "JPowertrain.hpp" #include #include "JPerson.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_HybridBaseSpec_OptionalWrapper.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_HybridBaseSpec_OptionalWrapper.hpp index 56fdb1a12..8679aef60 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_HybridBaseSpec_OptionalWrapper.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_HybridBaseSpec_OptionalWrapper.hpp @@ -11,8 +11,8 @@ #include #include -#include "HybridBaseSpec.hpp" -#include "OptionalWrapper.hpp" +#include "NitroTestHybridBaseSpec.hpp" +#include "NitroTestOptionalWrapper.hpp" #include #include "JHybridBaseSpec.hpp" #include "JOptionalWrapper.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_HybridTestObjectSwiftKotlinSpec_Person.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_HybridTestObjectSwiftKotlinSpec_Person.hpp index 171390827..6f60ebe85 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_HybridTestObjectSwiftKotlinSpec_Person.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JVariant_HybridTestObjectSwiftKotlinSpec_Person.hpp @@ -11,8 +11,8 @@ #include #include -#include "HybridTestObjectSwiftKotlinSpec.hpp" -#include "Person.hpp" +#include "NitroTestHybridTestObjectSwiftKotlinSpec.hpp" +#include "NitroTestPerson.hpp" #include #include "JHybridTestObjectSwiftKotlinSpec.hpp" #include "JPerson.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JWeirdNumbersEnum.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JWeirdNumbersEnum.hpp index c3ca0c92c..cb620adb3 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JWeirdNumbersEnum.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JWeirdNumbersEnum.hpp @@ -8,7 +8,7 @@ #pragma once #include -#include "WeirdNumbersEnum.hpp" +#include "NitroTestWeirdNumbersEnum.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JWrappedJsStruct.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JWrappedJsStruct.hpp index d8d8af27f..5a7715c1c 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/JWrappedJsStruct.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/JWrappedJsStruct.hpp @@ -8,11 +8,11 @@ #pragma once #include -#include "WrappedJsStruct.hpp" +#include "NitroTestWrappedJsStruct.hpp" #include "JFunc_void_double.hpp" #include "JJsStyleStruct.hpp" -#include "JsStyleStruct.hpp" +#include "NitroTestJsStyleStruct.hpp" #include #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridRecyclableTestViewStateUpdater.cpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridRecyclableTestViewStateUpdater.cpp index cb4b7c3a8..800762619 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridRecyclableTestViewStateUpdater.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridRecyclableTestViewStateUpdater.cpp @@ -6,7 +6,7 @@ /// #include "JHybridRecyclableTestViewStateUpdater.hpp" -#include "views/HybridRecyclableTestViewComponent.hpp" +#include "views/NitroTestHybridRecyclableTestViewComponent.hpp" #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridRecyclableTestViewStateUpdater.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridRecyclableTestViewStateUpdater.hpp index 0bd9385b3..70e962552 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridRecyclableTestViewStateUpdater.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridRecyclableTestViewStateUpdater.hpp @@ -18,7 +18,7 @@ #include #include #include "JHybridRecyclableTestViewSpec.hpp" -#include "views/HybridRecyclableTestViewComponent.hpp" +#include "views/NitroTestHybridRecyclableTestViewComponent.hpp" namespace margelo::nitro::test::views { diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp index fb6584818..5cac1d7e6 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp @@ -6,7 +6,7 @@ /// #include "JHybridTestViewStateUpdater.hpp" -#include "views/HybridTestViewComponent.hpp" +#include "views/NitroTestHybridTestViewComponent.hpp" #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.hpp b/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.hpp index b71ecbeb1..b46ba534e 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.hpp @@ -18,7 +18,7 @@ #include #include #include "JHybridTestViewSpec.hpp" -#include "views/HybridTestViewComponent.hpp" +#include "views/NitroTestHybridTestViewComponent.hpp" namespace margelo::nitro::test::views { diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTest-Swift-Cxx-Bridge.cpp b/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTest-Swift-Cxx-Bridge.cpp index 7b54268b1..033e152b5 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTest-Swift-Cxx-Bridge.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTest-Swift-Cxx-Bridge.cpp @@ -8,13 +8,13 @@ #include "NitroTest-Swift-Cxx-Bridge.hpp" // Include C++ implementation defined types -#include "HybridBaseSpecSwift.hpp" -#include "HybridChildSpecSwift.hpp" -#include "HybridPlatformObjectSpecSwift.hpp" -#include "HybridRecyclableTestViewSpecSwift.hpp" -#include "HybridTestObjectSwiftKotlinSpecSwift.hpp" -#include "HybridTestViewSpecSwift.hpp" #include "NitroTest-Swift-Cxx-Umbrella.hpp" +#include "NitroTestHybridBaseSpecSwift.hpp" +#include "NitroTestHybridChildSpecSwift.hpp" +#include "NitroTestHybridPlatformObjectSpecSwift.hpp" +#include "NitroTestHybridRecyclableTestViewSpecSwift.hpp" +#include "NitroTestHybridTestObjectSwiftKotlinSpecSwift.hpp" +#include "NitroTestHybridTestViewSpecSwift.hpp" #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTest-Swift-Cxx-Bridge.hpp b/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTest-Swift-Cxx-Bridge.hpp index 94dde9363..75c0cecab 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTest-Swift-Cxx-Bridge.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTest-Swift-Cxx-Bridge.hpp @@ -64,23 +64,23 @@ namespace NitroTest { class HybridTestObjectSwiftKotlinSpec_cxx; } namespace NitroTest { class HybridTestViewSpec_cxx; } // Include C++ defined types -#include "Car.hpp" -#include "ExternalObjectStruct.hpp" -#include "HybridBaseSpec.hpp" -#include "HybridChildSpec.hpp" -#include "HybridPlatformObjectSpec.hpp" -#include "HybridRecyclableTestViewSpec.hpp" -#include "HybridTestObjectSwiftKotlinSpec.hpp" -#include "HybridTestViewSpec.hpp" -#include "JsStyleStruct.hpp" -#include "OldEnum.hpp" -#include "OptionalCallback.hpp" -#include "OptionalWrapper.hpp" -#include "PartialPerson.hpp" -#include "Person.hpp" -#include "Powertrain.hpp" -#include "WeirdNumbersEnum.hpp" -#include "WrappedJsStruct.hpp" +#include "NitroTestCar.hpp" +#include "NitroTestExternalObjectStruct.hpp" +#include "NitroTestHybridBaseSpec.hpp" +#include "NitroTestHybridChildSpec.hpp" +#include "NitroTestHybridPlatformObjectSpec.hpp" +#include "NitroTestHybridRecyclableTestViewSpec.hpp" +#include "NitroTestHybridTestObjectSwiftKotlinSpec.hpp" +#include "NitroTestHybridTestViewSpec.hpp" +#include "NitroTestJsStyleStruct.hpp" +#include "NitroTestOldEnum.hpp" +#include "NitroTestOptionalCallback.hpp" +#include "NitroTestOptionalWrapper.hpp" +#include "NitroTestPartialPerson.hpp" +#include "NitroTestPerson.hpp" +#include "NitroTestPowertrain.hpp" +#include "NitroTestWeirdNumbersEnum.hpp" +#include "NitroTestWrappedJsStruct.hpp" #include #include #include @@ -88,7 +88,7 @@ namespace NitroTest { class HybridTestViewSpec_cxx; } #include #include #include -#include +#include #include #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTest-Swift-Cxx-Umbrella.hpp b/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTest-Swift-Cxx-Umbrella.hpp index 861fc58f4..51a2bbb80 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTest-Swift-Cxx-Umbrella.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTest-Swift-Cxx-Umbrella.hpp @@ -52,32 +52,32 @@ namespace margelo::nitro::test { enum class WeirdNumbersEnum; } namespace margelo::nitro::test { struct WrappedJsStruct; } // Include C++ defined types -#include "Car.hpp" -#include "ColorScheme.hpp" -#include "ExternalObjectStruct.hpp" -#include "HybridBaseSpec.hpp" -#include "HybridChildSpec.hpp" -#include "HybridPlatformObjectSpec.hpp" -#include "HybridRecyclableTestViewSpec.hpp" -#include "HybridTestObjectSwiftKotlinSpec.hpp" -#include "HybridTestViewSpec.hpp" -#include "JsStyleStruct.hpp" -#include "MapWrapper.hpp" -#include "OldEnum.hpp" -#include "OptionalCallback.hpp" -#include "OptionalWrapper.hpp" -#include "PartialPerson.hpp" -#include "Person.hpp" -#include "Powertrain.hpp" -#include "SecondMapWrapper.hpp" -#include "WeirdNumbersEnum.hpp" -#include "WrappedJsStruct.hpp" +#include "NitroTestCar.hpp" +#include "NitroTestColorScheme.hpp" +#include "NitroTestExternalObjectStruct.hpp" +#include "NitroTestHybridBaseSpec.hpp" +#include "NitroTestHybridChildSpec.hpp" +#include "NitroTestHybridPlatformObjectSpec.hpp" +#include "NitroTestHybridRecyclableTestViewSpec.hpp" +#include "NitroTestHybridTestObjectSwiftKotlinSpec.hpp" +#include "NitroTestHybridTestViewSpec.hpp" +#include "NitroTestJsStyleStruct.hpp" +#include "NitroTestMapWrapper.hpp" +#include "NitroTestOldEnum.hpp" +#include "NitroTestOptionalCallback.hpp" +#include "NitroTestOptionalWrapper.hpp" +#include "NitroTestPartialPerson.hpp" +#include "NitroTestPerson.hpp" +#include "NitroTestPowertrain.hpp" +#include "NitroTestSecondMapWrapper.hpp" +#include "NitroTestWeirdNumbersEnum.hpp" +#include "NitroTestWrappedJsStruct.hpp" #include #include #include #include #include -#include +#include #include #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTestAutolinking.mm b/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTestAutolinking.mm index 1a2b5b22c..0e3200d88 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTestAutolinking.mm +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/NitroTestAutolinking.mm @@ -11,12 +11,12 @@ #import #include "HybridTestObjectCpp.hpp" -#include "HybridTestObjectSwiftKotlinSpecSwift.hpp" -#include "HybridBaseSpecSwift.hpp" -#include "HybridChildSpecSwift.hpp" -#include "HybridPlatformObjectSpecSwift.hpp" -#include "HybridTestViewSpecSwift.hpp" -#include "HybridRecyclableTestViewSpecSwift.hpp" +#include "NitroTestHybridTestObjectSwiftKotlinSpecSwift.hpp" +#include "NitroTestHybridBaseSpecSwift.hpp" +#include "NitroTestHybridChildSpecSwift.hpp" +#include "NitroTestHybridPlatformObjectSpecSwift.hpp" +#include "NitroTestHybridTestViewSpecSwift.hpp" +#include "NitroTestHybridRecyclableTestViewSpecSwift.hpp" @interface NitroTestAutolinking : NSObject @end @@ -28,7 +28,7 @@ + (void) load { using namespace margelo::nitro::test; HybridObjectRegistry::registerHybridObjectConstructor( - "TestObjectCpp", + "NitroTestTestObjectCpp", []() -> std::shared_ptr { static_assert(std::is_default_constructible_v, "The HybridObject \"HybridTestObjectCpp\" is not default-constructible! " @@ -37,42 +37,42 @@ + (void) load { } ); HybridObjectRegistry::registerHybridObjectConstructor( - "TestObjectSwiftKotlin", + "NitroTestTestObjectSwiftKotlin", []() -> std::shared_ptr { std::shared_ptr hybridObject = NitroTest::NitroTestAutolinking::createTestObjectSwiftKotlin(); return hybridObject; } ); HybridObjectRegistry::registerHybridObjectConstructor( - "Base", + "NitroTestBase", []() -> std::shared_ptr { std::shared_ptr hybridObject = NitroTest::NitroTestAutolinking::createBase(); return hybridObject; } ); HybridObjectRegistry::registerHybridObjectConstructor( - "Child", + "NitroTestChild", []() -> std::shared_ptr { std::shared_ptr hybridObject = NitroTest::NitroTestAutolinking::createChild(); return hybridObject; } ); HybridObjectRegistry::registerHybridObjectConstructor( - "PlatformObject", + "NitroTestPlatformObject", []() -> std::shared_ptr { std::shared_ptr hybridObject = NitroTest::NitroTestAutolinking::createPlatformObject(); return hybridObject; } ); HybridObjectRegistry::registerHybridObjectConstructor( - "TestView", + "NitroTestTestView", []() -> std::shared_ptr { std::shared_ptr hybridObject = NitroTest::NitroTestAutolinking::createTestView(); return hybridObject; } ); HybridObjectRegistry::registerHybridObjectConstructor( - "RecyclableTestView", + "NitroTestRecyclableTestView", []() -> std::shared_ptr { std::shared_ptr hybridObject = NitroTest::NitroTestAutolinking::createRecyclableTestView(); return hybridObject; diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestObjectSwiftKotlinSpecSwift.cpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestObjectSwiftKotlinSpecSwift.cpp deleted file mode 100644 index 078d47e43..000000000 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestObjectSwiftKotlinSpecSwift.cpp +++ /dev/null @@ -1,11 +0,0 @@ -/// -/// HybridTestObjectSwiftKotlinSpecSwift.cpp -/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. -/// https://github.com/mrousavy/nitro -/// Copyright © Marc Rousavy @ Margelo -/// - -#include "HybridTestObjectSwiftKotlinSpecSwift.hpp" - -namespace margelo::nitro::test { -} // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.cpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridBaseSpecSwift.cpp similarity index 73% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.cpp rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridBaseSpecSwift.cpp index cd21d608a..3c89f6c01 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridBaseSpecSwift.cpp @@ -1,11 +1,11 @@ /// -/// HybridTestViewSpecSwift.cpp +/// NitroTestHybridBaseSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridTestViewSpecSwift.hpp" +#include "NitroTestHybridBaseSpecSwift.hpp" namespace margelo::nitro::test { } // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridBaseSpecSwift.hpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridBaseSpecSwift.hpp similarity index 96% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridBaseSpecSwift.hpp rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridBaseSpecSwift.hpp index 413f19ffb..22b18a341 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridBaseSpecSwift.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridBaseSpecSwift.hpp @@ -1,5 +1,5 @@ /// -/// HybridBaseSpecSwift.hpp +/// NitroTestHybridBaseSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -7,7 +7,7 @@ #pragma once -#include "HybridBaseSpec.hpp" +#include "NitroTestHybridBaseSpec.hpp" // Forward declaration of `HybridBaseSpec_cxx` to properly resolve imports. namespace NitroTest { class HybridBaseSpec_cxx; } diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridBaseSpecSwift.cpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridChildSpecSwift.cpp similarity index 72% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridBaseSpecSwift.cpp rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridChildSpecSwift.cpp index 9b5099bad..f432c8ab7 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridBaseSpecSwift.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridChildSpecSwift.cpp @@ -1,11 +1,11 @@ /// -/// HybridBaseSpecSwift.cpp +/// NitroTestHybridChildSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridBaseSpecSwift.hpp" +#include "NitroTestHybridChildSpecSwift.hpp" namespace margelo::nitro::test { } // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridChildSpecSwift.hpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridChildSpecSwift.hpp similarity index 93% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridChildSpecSwift.hpp rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridChildSpecSwift.hpp index 631a79677..31e0cf3de 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridChildSpecSwift.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridChildSpecSwift.hpp @@ -1,5 +1,5 @@ /// -/// HybridChildSpecSwift.hpp +/// NitroTestHybridChildSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -7,7 +7,7 @@ #pragma once -#include "HybridChildSpec.hpp" +#include "NitroTestHybridChildSpec.hpp" // Forward declaration of `HybridChildSpec_cxx` to properly resolve imports. namespace NitroTest { class HybridChildSpec_cxx; } @@ -22,13 +22,13 @@ namespace margelo::nitro::test { struct Person; } namespace margelo::nitro::test { class HybridBaseSpecSwift; } #include -#include "Car.hpp" +#include "NitroTestCar.hpp" #include -#include "Powertrain.hpp" -#include "Person.hpp" +#include "NitroTestPowertrain.hpp" +#include "NitroTestPerson.hpp" #include #include -#include "HybridBaseSpecSwift.hpp" +#include "NitroTestHybridBaseSpecSwift.hpp" #include "NitroTest-Swift-Cxx-Umbrella.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridChildSpecSwift.cpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridPlatformObjectSpecSwift.cpp similarity index 68% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridChildSpecSwift.cpp rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridPlatformObjectSpecSwift.cpp index 736e7065f..a824ca63e 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridChildSpecSwift.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridPlatformObjectSpecSwift.cpp @@ -1,11 +1,11 @@ /// -/// HybridChildSpecSwift.cpp +/// NitroTestHybridPlatformObjectSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridChildSpecSwift.hpp" +#include "NitroTestHybridPlatformObjectSpecSwift.hpp" namespace margelo::nitro::test { } // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridPlatformObjectSpecSwift.hpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridPlatformObjectSpecSwift.hpp similarity index 96% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridPlatformObjectSpecSwift.hpp rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridPlatformObjectSpecSwift.hpp index d1268acc3..98c67f248 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridPlatformObjectSpecSwift.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridPlatformObjectSpecSwift.hpp @@ -1,5 +1,5 @@ /// -/// HybridPlatformObjectSpecSwift.hpp +/// NitroTestHybridPlatformObjectSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -7,7 +7,7 @@ #pragma once -#include "HybridPlatformObjectSpec.hpp" +#include "NitroTestHybridPlatformObjectSpec.hpp" // Forward declaration of `HybridPlatformObjectSpec_cxx` to properly resolve imports. namespace NitroTest { class HybridPlatformObjectSpec_cxx; } diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridRecyclableTestViewSpecSwift.cpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridRecyclableTestViewSpecSwift.cpp similarity index 67% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridRecyclableTestViewSpecSwift.cpp rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridRecyclableTestViewSpecSwift.cpp index a7dd92caf..272ca322d 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridRecyclableTestViewSpecSwift.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridRecyclableTestViewSpecSwift.cpp @@ -1,11 +1,11 @@ /// -/// HybridRecyclableTestViewSpecSwift.cpp +/// NitroTestHybridRecyclableTestViewSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridRecyclableTestViewSpecSwift.hpp" +#include "NitroTestHybridRecyclableTestViewSpecSwift.hpp" namespace margelo::nitro::test { } // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridRecyclableTestViewSpecSwift.hpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridRecyclableTestViewSpecSwift.hpp similarity index 95% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridRecyclableTestViewSpecSwift.hpp rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridRecyclableTestViewSpecSwift.hpp index 88c2df2bf..53193163c 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridRecyclableTestViewSpecSwift.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridRecyclableTestViewSpecSwift.hpp @@ -1,5 +1,5 @@ /// -/// HybridRecyclableTestViewSpecSwift.hpp +/// NitroTestHybridRecyclableTestViewSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -7,7 +7,7 @@ #pragma once -#include "HybridRecyclableTestViewSpec.hpp" +#include "NitroTestHybridRecyclableTestViewSpec.hpp" // Forward declaration of `HybridRecyclableTestViewSpec_cxx` to properly resolve imports. namespace NitroTest { class HybridRecyclableTestViewSpec_cxx; } diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestObjectSwiftKotlinSpecSwift.cpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestObjectSwiftKotlinSpecSwift.cpp new file mode 100644 index 000000000..6c401c4ec --- /dev/null +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestObjectSwiftKotlinSpecSwift.cpp @@ -0,0 +1,11 @@ +/// +/// NitroTestHybridTestObjectSwiftKotlinSpecSwift.cpp +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// + +#include "NitroTestHybridTestObjectSwiftKotlinSpecSwift.hpp" + +namespace margelo::nitro::test { +} // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestObjectSwiftKotlinSpecSwift.hpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestObjectSwiftKotlinSpecSwift.hpp similarity index 98% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestObjectSwiftKotlinSpecSwift.hpp rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestObjectSwiftKotlinSpecSwift.hpp index d50c8b778..b8943b5c0 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestObjectSwiftKotlinSpecSwift.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestObjectSwiftKotlinSpecSwift.hpp @@ -1,5 +1,5 @@ /// -/// HybridTestObjectSwiftKotlinSpecSwift.hpp +/// NitroTestHybridTestObjectSwiftKotlinSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -7,7 +7,7 @@ #pragma once -#include "HybridTestObjectSwiftKotlinSpec.hpp" +#include "NitroTestHybridTestObjectSwiftKotlinSpec.hpp" // Forward declaration of `HybridTestObjectSwiftKotlinSpec_cxx` to properly resolve imports. namespace NitroTest { class HybridTestObjectSwiftKotlinSpec_cxx; } @@ -52,37 +52,37 @@ namespace margelo::nitro::test::external { class HybridSomeExternalObjectSpec; } namespace margelo::nitro::test { struct ExternalObjectStruct; } #include -#include "HybridTestObjectSwiftKotlinSpec.hpp" +#include "NitroTestHybridTestObjectSwiftKotlinSpec.hpp" #include #include #include #include #include -#include "Powertrain.hpp" -#include "OldEnum.hpp" +#include "NitroTestPowertrain.hpp" +#include "NitroTestOldEnum.hpp" #include -#include "Person.hpp" -#include "PartialPerson.hpp" -#include "Car.hpp" -#include "HybridChildSpec.hpp" +#include "NitroTestPerson.hpp" +#include "NitroTestPartialPerson.hpp" +#include "NitroTestCar.hpp" +#include "NitroTestHybridChildSpec.hpp" #include #include #include #include #include -#include "MapWrapper.hpp" -#include "SecondMapWrapper.hpp" +#include "NitroTestMapWrapper.hpp" +#include "NitroTestSecondMapWrapper.hpp" #include #include -#include "JsStyleStruct.hpp" -#include "WrappedJsStruct.hpp" -#include "OptionalWrapper.hpp" -#include "OptionalCallback.hpp" -#include "WeirdNumbersEnum.hpp" -#include "HybridBaseSpec.hpp" -#include "HybridTestViewSpec.hpp" -#include -#include "ExternalObjectStruct.hpp" +#include "NitroTestJsStyleStruct.hpp" +#include "NitroTestWrappedJsStruct.hpp" +#include "NitroTestOptionalWrapper.hpp" +#include "NitroTestOptionalCallback.hpp" +#include "NitroTestWeirdNumbersEnum.hpp" +#include "NitroTestHybridBaseSpec.hpp" +#include "NitroTestHybridTestViewSpec.hpp" +#include +#include "NitroTestExternalObjectStruct.hpp" #include "NitroTest-Swift-Cxx-Umbrella.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridPlatformObjectSpecSwift.cpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestViewSpecSwift.cpp similarity index 71% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridPlatformObjectSpecSwift.cpp rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestViewSpecSwift.cpp index 3ed83a327..ba2fda8ce 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridPlatformObjectSpecSwift.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestViewSpecSwift.cpp @@ -1,11 +1,11 @@ /// -/// HybridPlatformObjectSpecSwift.cpp +/// NitroTestHybridTestViewSpecSwift.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridPlatformObjectSpecSwift.hpp" +#include "NitroTestHybridTestViewSpecSwift.hpp" namespace margelo::nitro::test { } // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.hpp b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestViewSpecSwift.hpp similarity index 96% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.hpp rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestViewSpecSwift.hpp index 986c483ac..1b3d1c3ab 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/HybridTestViewSpecSwift.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/NitroTestHybridTestViewSpecSwift.hpp @@ -1,5 +1,5 @@ /// -/// HybridTestViewSpecSwift.hpp +/// NitroTestHybridTestViewSpecSwift.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -7,7 +7,7 @@ #pragma once -#include "HybridTestViewSpec.hpp" +#include "NitroTestHybridTestViewSpec.hpp" // Forward declaration of `HybridTestViewSpec_cxx` to properly resolve imports. namespace NitroTest { class HybridTestViewSpec_cxx; } @@ -15,7 +15,7 @@ namespace NitroTest { class HybridTestViewSpec_cxx; } // Forward declaration of `ColorScheme` to properly resolve imports. namespace margelo::nitro::test { enum class ColorScheme; } -#include "ColorScheme.hpp" +#include "NitroTestColorScheme.hpp" #include #include "NitroTest-Swift-Cxx-Umbrella.hpp" diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/HybridRecyclableTestViewComponent.mm b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/NitroTestHybridRecyclableTestViewComponent.mm similarity index 90% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/HybridRecyclableTestViewComponent.mm rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/NitroTestHybridRecyclableTestViewComponent.mm index 06ecc420d..41255110c 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/HybridRecyclableTestViewComponent.mm +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/NitroTestHybridRecyclableTestViewComponent.mm @@ -1,11 +1,11 @@ /// -/// HybridRecyclableTestViewComponent.mm +/// NitroTestHybridRecyclableTestViewComponent.mm /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#import "HybridRecyclableTestViewComponent.hpp" +#import "NitroTestHybridRecyclableTestViewComponent.hpp" #import #import #import @@ -14,7 +14,7 @@ #import #import -#import "HybridRecyclableTestViewSpecSwift.hpp" +#import "NitroTestHybridRecyclableTestViewSpecSwift.hpp" #import "NitroTest-Swift-Cxx-Umbrella.hpp" #if __has_include() @@ -31,17 +31,17 @@ /** * Represents the React Native View holder for the Nitro "RecyclableTestView" HybridView. */ -@interface HybridRecyclableTestViewComponent: RCTViewComponentView +@interface NitroTestHybridRecyclableTestViewComponent: RCTViewComponentView + (BOOL)shouldBeRecycled; @end -@implementation HybridRecyclableTestViewComponent { +@implementation NitroTestHybridRecyclableTestViewComponent { std::shared_ptr _hybridView; } + (void) load { [super load]; - [RCTComponentViewFactory.currentComponentViewFactory registerComponentViewClass:[HybridRecyclableTestViewComponent class]]; + [RCTComponentViewFactory.currentComponentViewFactory registerComponentViewClass:[NitroTestHybridRecyclableTestViewComponent class]]; } + (react::ComponentDescriptorProvider) componentDescriptorProvider { diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/HybridTestViewComponent.mm b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/NitroTestHybridTestViewComponent.mm similarity index 92% rename from packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/HybridTestViewComponent.mm rename to packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/NitroTestHybridTestViewComponent.mm index 191b76da7..58ebb664b 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/HybridTestViewComponent.mm +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/c++/views/NitroTestHybridTestViewComponent.mm @@ -1,11 +1,11 @@ /// -/// HybridTestViewComponent.mm +/// NitroTestHybridTestViewComponent.mm /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#import "HybridTestViewComponent.hpp" +#import "NitroTestHybridTestViewComponent.hpp" #import #import #import @@ -14,7 +14,7 @@ #import #import -#import "HybridTestViewSpecSwift.hpp" +#import "NitroTestHybridTestViewSpecSwift.hpp" #import "NitroTest-Swift-Cxx-Umbrella.hpp" #if __has_include() @@ -31,17 +31,17 @@ /** * Represents the React Native View holder for the Nitro "TestView" HybridView. */ -@interface HybridTestViewComponent: RCTViewComponentView +@interface NitroTestHybridTestViewComponent: RCTViewComponentView + (BOOL)shouldBeRecycled; @end -@implementation HybridTestViewComponent { +@implementation NitroTestHybridTestViewComponent { std::shared_ptr _hybridView; } + (void) load { [super load]; - [RCTComponentViewFactory.currentComponentViewFactory registerComponentViewClass:[HybridTestViewComponent class]]; + [RCTComponentViewFactory.currentComponentViewFactory registerComponentViewClass:[NitroTestHybridTestViewComponent class]]; } + (react::ComponentDescriptorProvider) componentDescriptorProvider { diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/Car.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestCar.hpp similarity index 98% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/Car.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestCar.hpp index 01dbc28c6..7ee04f11a 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/Car.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestCar.hpp @@ -1,5 +1,5 @@ /// -/// Car.hpp +/// NitroTestCar.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -34,8 +34,8 @@ namespace margelo::nitro::test { enum class Powertrain; } namespace margelo::nitro::test { struct Person; } #include -#include "Powertrain.hpp" -#include "Person.hpp" +#include "NitroTestPowertrain.hpp" +#include "NitroTestPerson.hpp" #include #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/ColorScheme.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestColorScheme.hpp similarity index 98% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/ColorScheme.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestColorScheme.hpp index 147f25be5..6180b5a51 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/ColorScheme.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestColorScheme.hpp @@ -1,5 +1,5 @@ /// -/// ColorScheme.hpp +/// NitroTestColorScheme.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/ExternalObjectStruct.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestExternalObjectStruct.hpp similarity index 96% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/ExternalObjectStruct.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestExternalObjectStruct.hpp index 1be39830d..75a6972cc 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/ExternalObjectStruct.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestExternalObjectStruct.hpp @@ -1,5 +1,5 @@ /// -/// ExternalObjectStruct.hpp +/// NitroTestExternalObjectStruct.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -32,7 +32,7 @@ namespace margelo::nitro::test::external { class HybridSomeExternalObjectSpec; } #include -#include +#include namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridBaseSpec.cpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridBaseSpec.cpp similarity index 88% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridBaseSpec.cpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridBaseSpec.cpp index d79a5b92d..e0a1ba635 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridBaseSpec.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridBaseSpec.cpp @@ -1,11 +1,11 @@ /// -/// HybridBaseSpec.cpp +/// NitroTestHybridBaseSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridBaseSpec.hpp" +#include "NitroTestHybridBaseSpec.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridBaseSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridBaseSpec.hpp similarity index 93% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridBaseSpec.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridBaseSpec.hpp index c816c756a..b0d305021 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridBaseSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridBaseSpec.hpp @@ -1,5 +1,5 @@ /// -/// HybridBaseSpec.hpp +/// NitroTestHybridBaseSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -56,7 +56,7 @@ namespace margelo::nitro::test { protected: // Tag for logging - static constexpr auto TAG = "Base"; + static constexpr auto TAG = "NitroTestBase"; }; } // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridChildSpec.cpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridChildSpec.cpp similarity index 90% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridChildSpec.cpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridChildSpec.cpp index 49c1891e1..23e9a502a 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridChildSpec.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridChildSpec.cpp @@ -1,11 +1,11 @@ /// -/// HybridChildSpec.cpp +/// NitroTestHybridChildSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridChildSpec.hpp" +#include "NitroTestHybridChildSpec.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridChildSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridChildSpec.hpp similarity index 91% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridChildSpec.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridChildSpec.hpp index 4167e5a84..fa69d7624 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridChildSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridChildSpec.hpp @@ -1,5 +1,5 @@ /// -/// HybridChildSpec.hpp +/// NitroTestHybridChildSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -19,10 +19,10 @@ namespace margelo::nitro::test { struct Car; } namespace margelo::nitro::test { class HybridBaseSpec; } #include -#include "Car.hpp" +#include "NitroTestCar.hpp" #include #include -#include "HybridBaseSpec.hpp" +#include "NitroTestHybridBaseSpec.hpp" namespace margelo::nitro::test { @@ -63,7 +63,7 @@ namespace margelo::nitro::test { protected: // Tag for logging - static constexpr auto TAG = "Child"; + static constexpr auto TAG = "NitroTestChild"; }; } // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridPlatformObjectSpec.cpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridPlatformObjectSpec.cpp similarity index 85% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridPlatformObjectSpec.cpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridPlatformObjectSpec.cpp index 4866308ea..56d60af60 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridPlatformObjectSpec.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridPlatformObjectSpec.cpp @@ -1,11 +1,11 @@ /// -/// HybridPlatformObjectSpec.cpp +/// NitroTestHybridPlatformObjectSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridPlatformObjectSpec.hpp" +#include "NitroTestHybridPlatformObjectSpec.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridPlatformObjectSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridPlatformObjectSpec.hpp similarity index 93% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridPlatformObjectSpec.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridPlatformObjectSpec.hpp index 48bfd5d5a..7b42f7a0e 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridPlatformObjectSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridPlatformObjectSpec.hpp @@ -1,5 +1,5 @@ /// -/// HybridPlatformObjectSpec.hpp +/// NitroTestHybridPlatformObjectSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -56,7 +56,7 @@ namespace margelo::nitro::test { protected: // Tag for logging - static constexpr auto TAG = "PlatformObject"; + static constexpr auto TAG = "NitroTestPlatformObject"; }; } // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridRecyclableTestViewSpec.cpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridRecyclableTestViewSpec.cpp similarity index 86% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridRecyclableTestViewSpec.cpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridRecyclableTestViewSpec.cpp index 75f25ad74..415650666 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridRecyclableTestViewSpec.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridRecyclableTestViewSpec.cpp @@ -1,11 +1,11 @@ /// -/// HybridRecyclableTestViewSpec.cpp +/// NitroTestHybridRecyclableTestViewSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridRecyclableTestViewSpec.hpp" +#include "NitroTestHybridRecyclableTestViewSpec.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridRecyclableTestViewSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridRecyclableTestViewSpec.hpp similarity index 92% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridRecyclableTestViewSpec.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridRecyclableTestViewSpec.hpp index 049ba9690..f06059f57 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridRecyclableTestViewSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridRecyclableTestViewSpec.hpp @@ -1,5 +1,5 @@ /// -/// HybridRecyclableTestViewSpec.hpp +/// NitroTestHybridRecyclableTestViewSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -57,7 +57,7 @@ namespace margelo::nitro::test { protected: // Tag for logging - static constexpr auto TAG = "RecyclableTestView"; + static constexpr auto TAG = "NitroTestRecyclableTestView"; }; } // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestObjectCppSpec.cpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestObjectCppSpec.cpp similarity index 99% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestObjectCppSpec.cpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestObjectCppSpec.cpp index 8e813aaa3..70facb0d8 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestObjectCppSpec.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestObjectCppSpec.cpp @@ -1,11 +1,11 @@ /// -/// HybridTestObjectCppSpec.cpp +/// NitroTestHybridTestObjectCppSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridTestObjectCppSpec.hpp" +#include "NitroTestHybridTestObjectCppSpec.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestObjectCppSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestObjectCppSpec.hpp similarity index 95% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestObjectCppSpec.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestObjectCppSpec.hpp index 76f6c518b..59a3850c5 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestObjectCppSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestObjectCppSpec.hpp @@ -1,5 +1,5 @@ /// -/// HybridTestObjectCppSpec.hpp +/// NitroTestHybridTestObjectCppSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -53,36 +53,36 @@ namespace margelo::nitro::test { struct ExternalObjectStruct; } #include #include #include -#include "HybridTestObjectCppSpec.hpp" +#include "NitroTestHybridTestObjectCppSpec.hpp" #include #include #include #include -#include "Powertrain.hpp" -#include "OldEnum.hpp" +#include "NitroTestPowertrain.hpp" +#include "NitroTestOldEnum.hpp" #include -#include "Person.hpp" +#include "NitroTestPerson.hpp" #include #include "CustomString.hpp" -#include "PartialPerson.hpp" -#include "Car.hpp" -#include "HybridChildSpec.hpp" +#include "NitroTestPartialPerson.hpp" +#include "NitroTestCar.hpp" +#include "NitroTestHybridChildSpec.hpp" #include #include #include #include -#include "MapWrapper.hpp" +#include "NitroTestMapWrapper.hpp" #include #include -#include "JsStyleStruct.hpp" -#include "WrappedJsStruct.hpp" -#include "OptionalWrapper.hpp" -#include "OptionalCallback.hpp" -#include "WeirdNumbersEnum.hpp" -#include "HybridBaseSpec.hpp" -#include "HybridTestViewSpec.hpp" -#include -#include "ExternalObjectStruct.hpp" +#include "NitroTestJsStyleStruct.hpp" +#include "NitroTestWrappedJsStruct.hpp" +#include "NitroTestOptionalWrapper.hpp" +#include "NitroTestOptionalCallback.hpp" +#include "NitroTestWeirdNumbersEnum.hpp" +#include "NitroTestHybridBaseSpec.hpp" +#include "NitroTestHybridTestViewSpec.hpp" +#include +#include "NitroTestExternalObjectStruct.hpp" namespace margelo::nitro::test { @@ -261,7 +261,7 @@ namespace margelo::nitro::test { protected: // Tag for logging - static constexpr auto TAG = "TestObjectCpp"; + static constexpr auto TAG = "NitroTestTestObjectCpp"; }; } // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestObjectSwiftKotlinSpec.cpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestObjectSwiftKotlinSpec.cpp similarity index 99% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestObjectSwiftKotlinSpec.cpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestObjectSwiftKotlinSpec.cpp index c18b4908f..919081420 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestObjectSwiftKotlinSpec.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestObjectSwiftKotlinSpec.cpp @@ -1,11 +1,11 @@ /// -/// HybridTestObjectSwiftKotlinSpec.cpp +/// NitroTestHybridTestObjectSwiftKotlinSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridTestObjectSwiftKotlinSpec.hpp" +#include "NitroTestHybridTestObjectSwiftKotlinSpec.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestObjectSwiftKotlinSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestObjectSwiftKotlinSpec.hpp similarity index 95% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestObjectSwiftKotlinSpec.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestObjectSwiftKotlinSpec.hpp index 25878bb7d..b0300b8f9 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestObjectSwiftKotlinSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestObjectSwiftKotlinSpec.hpp @@ -1,5 +1,5 @@ /// -/// HybridTestObjectSwiftKotlinSpec.hpp +/// NitroTestHybridTestObjectSwiftKotlinSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -49,35 +49,35 @@ namespace margelo::nitro::test::external { class HybridSomeExternalObjectSpec; } namespace margelo::nitro::test { struct ExternalObjectStruct; } #include -#include "HybridTestObjectSwiftKotlinSpec.hpp" +#include "NitroTestHybridTestObjectSwiftKotlinSpec.hpp" #include #include #include #include #include -#include "Powertrain.hpp" -#include "OldEnum.hpp" +#include "NitroTestPowertrain.hpp" +#include "NitroTestOldEnum.hpp" #include -#include "Person.hpp" -#include "PartialPerson.hpp" -#include "Car.hpp" -#include "HybridChildSpec.hpp" +#include "NitroTestPerson.hpp" +#include "NitroTestPartialPerson.hpp" +#include "NitroTestCar.hpp" +#include "NitroTestHybridChildSpec.hpp" #include #include #include #include -#include "MapWrapper.hpp" +#include "NitroTestMapWrapper.hpp" #include #include -#include "JsStyleStruct.hpp" -#include "WrappedJsStruct.hpp" -#include "OptionalWrapper.hpp" -#include "OptionalCallback.hpp" -#include "WeirdNumbersEnum.hpp" -#include "HybridBaseSpec.hpp" -#include "HybridTestViewSpec.hpp" -#include -#include "ExternalObjectStruct.hpp" +#include "NitroTestJsStyleStruct.hpp" +#include "NitroTestWrappedJsStruct.hpp" +#include "NitroTestOptionalWrapper.hpp" +#include "NitroTestOptionalCallback.hpp" +#include "NitroTestWeirdNumbersEnum.hpp" +#include "NitroTestHybridBaseSpec.hpp" +#include "NitroTestHybridTestViewSpec.hpp" +#include +#include "NitroTestExternalObjectStruct.hpp" namespace margelo::nitro::test { @@ -249,7 +249,7 @@ namespace margelo::nitro::test { protected: // Tag for logging - static constexpr auto TAG = "TestObjectSwiftKotlin"; + static constexpr auto TAG = "NitroTestTestObjectSwiftKotlin"; }; } // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestViewSpec.cpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestViewSpec.cpp similarity index 94% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestViewSpec.cpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestViewSpec.cpp index 59067d7f9..54ded6dbf 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestViewSpec.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestViewSpec.cpp @@ -1,11 +1,11 @@ /// -/// HybridTestViewSpec.cpp +/// NitroTestHybridTestViewSpec.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridTestViewSpec.hpp" +#include "NitroTestHybridTestViewSpec.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestViewSpec.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestViewSpec.hpp similarity index 93% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestViewSpec.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestViewSpec.hpp index 463f36360..6a205d091 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/HybridTestViewSpec.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestHybridTestViewSpec.hpp @@ -1,5 +1,5 @@ /// -/// HybridTestViewSpec.hpp +/// NitroTestHybridTestViewSpec.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -16,7 +16,7 @@ // Forward declaration of `ColorScheme` to properly resolve imports. namespace margelo::nitro::test { enum class ColorScheme; } -#include "ColorScheme.hpp" +#include "NitroTestColorScheme.hpp" #include namespace margelo::nitro::test { @@ -65,7 +65,7 @@ namespace margelo::nitro::test { protected: // Tag for logging - static constexpr auto TAG = "TestView"; + static constexpr auto TAG = "NitroTestTestView"; }; } // namespace margelo::nitro::test diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/JsStyleStruct.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestJsStyleStruct.hpp similarity index 99% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/JsStyleStruct.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestJsStyleStruct.hpp index 4b7c4ccf3..9a74a8748 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/JsStyleStruct.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestJsStyleStruct.hpp @@ -1,5 +1,5 @@ /// -/// JsStyleStruct.hpp +/// NitroTestJsStyleStruct.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/MapWrapper.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestMapWrapper.hpp similarity index 98% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/MapWrapper.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestMapWrapper.hpp index 5d2e05460..49b8e0261 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/MapWrapper.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestMapWrapper.hpp @@ -1,5 +1,5 @@ /// -/// MapWrapper.hpp +/// NitroTestMapWrapper.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -33,7 +33,7 @@ namespace margelo::nitro::test { struct SecondMapWrapper; } #include #include -#include "SecondMapWrapper.hpp" +#include "NitroTestSecondMapWrapper.hpp" namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/OldEnum.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestOldEnum.hpp similarity index 98% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/OldEnum.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestOldEnum.hpp index 28ead8441..6f440dcfe 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/OldEnum.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestOldEnum.hpp @@ -1,5 +1,5 @@ /// -/// OldEnum.hpp +/// NitroTestOldEnum.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/OptionalCallback.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestOptionalCallback.hpp similarity index 98% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/OptionalCallback.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestOptionalCallback.hpp index fc448b52e..189d240c8 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/OptionalCallback.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestOptionalCallback.hpp @@ -1,5 +1,5 @@ /// -/// OptionalCallback.hpp +/// NitroTestOptionalCallback.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/OptionalWrapper.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestOptionalWrapper.hpp similarity index 99% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/OptionalWrapper.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestOptionalWrapper.hpp index 2f6de6bcd..ace19fbc7 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/OptionalWrapper.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestOptionalWrapper.hpp @@ -1,5 +1,5 @@ /// -/// OptionalWrapper.hpp +/// NitroTestOptionalWrapper.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/PartialPerson.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestPartialPerson.hpp similarity index 99% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/PartialPerson.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestPartialPerson.hpp index f3e43a0fd..ce438fb54 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/PartialPerson.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestPartialPerson.hpp @@ -1,5 +1,5 @@ /// -/// PartialPerson.hpp +/// NitroTestPartialPerson.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/Person.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestPerson.hpp similarity index 99% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/Person.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestPerson.hpp index 700dd3548..0c7cd7a0c 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/Person.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestPerson.hpp @@ -1,5 +1,5 @@ /// -/// Person.hpp +/// NitroTestPerson.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/Powertrain.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestPowertrain.hpp similarity index 99% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/Powertrain.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestPowertrain.hpp index cd2cb9f50..66ffde854 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/Powertrain.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestPowertrain.hpp @@ -1,5 +1,5 @@ /// -/// Powertrain.hpp +/// NitroTestPowertrain.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/SecondMapWrapper.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestSecondMapWrapper.hpp similarity index 98% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/SecondMapWrapper.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestSecondMapWrapper.hpp index 3444b0302..746a44e7d 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/SecondMapWrapper.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestSecondMapWrapper.hpp @@ -1,5 +1,5 @@ /// -/// SecondMapWrapper.hpp +/// NitroTestSecondMapWrapper.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/WeirdNumbersEnum.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestWeirdNumbersEnum.hpp similarity index 98% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/WeirdNumbersEnum.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestWeirdNumbersEnum.hpp index ff6b34e4a..6fcfb2c9d 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/WeirdNumbersEnum.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestWeirdNumbersEnum.hpp @@ -1,5 +1,5 @@ /// -/// WeirdNumbersEnum.hpp +/// NitroTestWeirdNumbersEnum.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/WrappedJsStruct.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestWrappedJsStruct.hpp similarity index 98% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/WrappedJsStruct.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestWrappedJsStruct.hpp index b27a51f19..14958847e 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/WrappedJsStruct.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/NitroTestWrappedJsStruct.hpp @@ -1,5 +1,5 @@ /// -/// WrappedJsStruct.hpp +/// NitroTestWrappedJsStruct.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -31,7 +31,7 @@ // Forward declaration of `JsStyleStruct` to properly resolve imports. namespace margelo::nitro::test { struct JsStyleStruct; } -#include "JsStyleStruct.hpp" +#include "NitroTestJsStyleStruct.hpp" #include namespace margelo::nitro::test { diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/HybridRecyclableTestViewComponent.cpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridRecyclableTestViewComponent.cpp similarity index 97% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/HybridRecyclableTestViewComponent.cpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridRecyclableTestViewComponent.cpp index 26f75060e..eb9a62181 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/HybridRecyclableTestViewComponent.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridRecyclableTestViewComponent.cpp @@ -1,11 +1,11 @@ /// -/// HybridRecyclableTestViewComponent.cpp +/// NitroTestHybridRecyclableTestViewComponent.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridRecyclableTestViewComponent.hpp" +#include "NitroTestHybridRecyclableTestViewComponent.hpp" #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/HybridRecyclableTestViewComponent.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridRecyclableTestViewComponent.hpp similarity index 97% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/HybridRecyclableTestViewComponent.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridRecyclableTestViewComponent.hpp index f5fa26f1c..8337c0d8c 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/HybridRecyclableTestViewComponent.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridRecyclableTestViewComponent.hpp @@ -1,5 +1,5 @@ /// -/// HybridRecyclableTestViewComponent.hpp +/// NitroTestHybridRecyclableTestViewComponent.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -17,7 +17,7 @@ #include #include -#include "HybridRecyclableTestViewSpec.hpp" +#include "NitroTestHybridRecyclableTestViewSpec.hpp" #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridTestViewComponent.cpp similarity index 98% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridTestViewComponent.cpp index 700abfa5f..3af40c87b 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/HybridTestViewComponent.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridTestViewComponent.cpp @@ -1,11 +1,11 @@ /// -/// HybridTestViewComponent.cpp +/// NitroTestHybridTestViewComponent.cpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo /// -#include "HybridTestViewComponent.hpp" +#include "NitroTestHybridTestViewComponent.hpp" #include #include diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/HybridTestViewComponent.hpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridTestViewComponent.hpp similarity index 96% rename from packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/HybridTestViewComponent.hpp rename to packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridTestViewComponent.hpp index 2e2f681b1..d79bb46ce 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/HybridTestViewComponent.hpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridTestViewComponent.hpp @@ -1,5 +1,5 @@ /// -/// HybridTestViewComponent.hpp +/// NitroTestHybridTestViewComponent.hpp /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. /// https://github.com/mrousavy/nitro /// Copyright © Marc Rousavy @ Margelo @@ -16,10 +16,10 @@ #include #include -#include "ColorScheme.hpp" +#include "NitroTestColorScheme.hpp" #include #include -#include "HybridTestViewSpec.hpp" +#include "NitroTestHybridTestViewSpec.hpp" #include namespace margelo::nitro::test::views { diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/ts/createNitroTestHybridObject.ts b/packages/react-native-nitro-test/nitrogen/generated/shared/ts/createNitroTestHybridObject.ts new file mode 100644 index 000000000..e90cabbd8 --- /dev/null +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/ts/createNitroTestHybridObject.ts @@ -0,0 +1,21 @@ +/// +/// createNitroTestHybridObject.ts +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// +import { NitroModules, type HybridObject } from 'react-native-nitro-modules' + +const REGISTERED_OBJECTS = { + Base: 'NitroTestBase', + Child: 'NitroTestChild', + PlatformObject: 'NitroTestPlatformObject', + TestObjectCpp: 'NitroTestTestObjectCpp', + TestObjectSwiftKotlin: 'NitroTestTestObjectSwiftKotlin', +} as const + +export function createNitroTestHybridObject>( + name: keyof typeof REGISTERED_OBJECTS +): ReturnType> { + return NitroModules.createHybridObject(REGISTERED_OBJECTS[name]) +} diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/ts/getNitroTestHostComponent.ts b/packages/react-native-nitro-test/nitrogen/generated/shared/ts/getNitroTestHostComponent.ts new file mode 100644 index 000000000..5016b576c --- /dev/null +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/ts/getNitroTestHostComponent.ts @@ -0,0 +1,37 @@ +/// +/// getNitroTestHostComponent.ts +/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. +/// https://github.com/mrousavy/nitro +/// Copyright © Marc Rousavy @ Margelo +/// +import { + getHostComponent, + type HybridViewMethods, + type HybridViewProps, + type ViewConfig, +} from 'react-native-nitro-modules' + +import RecyclableTestViewConfig from '../json/RecyclableTestViewConfig.json' +import TestViewConfig from '../json/TestViewConfig.json' + +const REGISTERED_COMPONENTS = { + RecyclableTestView: { + name: 'NitroTestRecyclableTestView', + config: RecyclableTestViewConfig, + }, + TestView: { + name: 'NitroTestTestView', + config: TestViewConfig, + }, +} as const + +export function getNitroTestHostComponent< + Props extends HybridViewProps, + Methods extends HybridViewMethods, +>( + name: keyof typeof REGISTERED_COMPONENTS +): ReturnType> { + const component = REGISTERED_COMPONENTS[name] + const config = component.config as ViewConfig + return getHostComponent(component.name, () => config) +} diff --git a/packages/react-native-nitro-test/package.json b/packages/react-native-nitro-test/package.json index e57cd02e6..0a6df8e52 100644 --- a/packages/react-native-nitro-test/package.json +++ b/packages/react-native-nitro-test/package.json @@ -2,9 +2,9 @@ "name": "react-native-nitro-test", "version": "0.35.2", "description": "A testing playground library for Nitro Modules.", - "main": "lib/index", - "module": "lib/index", - "types": "lib/index.d.ts", + "main": "lib/src/index", + "module": "lib/src/index", + "types": "lib/src/index.d.ts", "react-native": "src/index", "source": "src/index", "files": [ diff --git a/packages/react-native-nitro-test/src/index.ts b/packages/react-native-nitro-test/src/index.ts index 6d4b6070d..58f127fcb 100644 --- a/packages/react-native-nitro-test/src/index.ts +++ b/packages/react-native-nitro-test/src/index.ts @@ -1,4 +1,3 @@ -import { NitroModules } from 'react-native-nitro-modules' import { type TestObjectCpp, type TestObjectSwiftKotlin, @@ -6,6 +5,7 @@ import { import { type PlatformObject } from './specs/PlatformObject.nitro' import type { Base } from './specs/Base.nitro' import type { Child } from './specs/Child.nitro' +import { createNitroTestHybridObject } from '../nitrogen/generated/shared/ts/createNitroTestHybridObject' // Export all Hybrid Object types export * from './specs/Base.nitro' @@ -16,15 +16,13 @@ export * from './specs/TestView.nitro' // Export all HybridObject singleton instances export const HybridTestObjectCpp = - NitroModules.createHybridObject('TestObjectCpp') + createNitroTestHybridObject('TestObjectCpp') export const HybridTestObjectSwiftKotlin = - NitroModules.createHybridObject( - 'TestObjectSwiftKotlin' - ) -export const HybridBase = NitroModules.createHybridObject('Base') -export const HybridChild = NitroModules.createHybridObject('Child') + createNitroTestHybridObject('TestObjectSwiftKotlin') +export const HybridBase = createNitroTestHybridObject('Base') +export const HybridChild = createNitroTestHybridObject('Child') export const HybridPlatformObject = - NitroModules.createHybridObject('PlatformObject') + createNitroTestHybridObject('PlatformObject') // Export View (+ its ref type) export { TestView, type TestViewRef } from './views/TestView' diff --git a/packages/react-native-nitro-test/src/views/RecyclableTestView.ts b/packages/react-native-nitro-test/src/views/RecyclableTestView.ts index ec4ddef7e..c949a0fc5 100644 --- a/packages/react-native-nitro-test/src/views/RecyclableTestView.ts +++ b/packages/react-native-nitro-test/src/views/RecyclableTestView.ts @@ -1,17 +1,17 @@ -import { getHostComponent, type HybridRef } from 'react-native-nitro-modules' -import RecyclableTestViewConfig from '../../nitrogen/generated/shared/json/RecyclableTestViewConfig.json' +import { type HybridRef } from 'react-native-nitro-modules' import { type RecyclableTestViewMethods, type RecyclableTestViewProps, } from '../specs/RecyclableTestView.nitro' +import { getNitroTestHostComponent } from '../../nitrogen/generated/shared/ts/getNitroTestHostComponent' /** * Represents the HybridView `TestView`, which can be rendered as a React Native view. */ -export const RecyclableTestView = getHostComponent< +export const RecyclableTestView = getNitroTestHostComponent< RecyclableTestViewProps, RecyclableTestViewMethods ->('RecyclableTestView', () => RecyclableTestViewConfig) +>('RecyclableTestView') export type RecyclableTestViewRef = HybridRef< RecyclableTestViewProps, diff --git a/packages/react-native-nitro-test/src/views/TestView.ts b/packages/react-native-nitro-test/src/views/TestView.ts index f3d82fcd5..8e0860883 100644 --- a/packages/react-native-nitro-test/src/views/TestView.ts +++ b/packages/react-native-nitro-test/src/views/TestView.ts @@ -1,16 +1,16 @@ -import { getHostComponent, type HybridRef } from 'react-native-nitro-modules' -import TestViewConfig from '../../nitrogen/generated/shared/json/TestViewConfig.json' +import { type HybridRef } from 'react-native-nitro-modules' import { type TestViewMethods, type TestViewProps, } from '../specs/TestView.nitro' +import { getNitroTestHostComponent } from '../../nitrogen/generated/shared/ts/getNitroTestHostComponent' /** * Represents the HybridView `TestView`, which can be rendered as a React Native view. */ -export const TestView = getHostComponent( - 'TestView', - () => TestViewConfig -) +export const TestView = getNitroTestHostComponent< + TestViewProps, + TestViewMethods +>('TestView') export type TestViewRef = HybridRef diff --git a/packages/react-native-nitro-test/tsconfig.json b/packages/react-native-nitro-test/tsconfig.json index bea65346b..897d06063 100644 --- a/packages/react-native-nitro-test/tsconfig.json +++ b/packages/react-native-nitro-test/tsconfig.json @@ -3,10 +3,14 @@ "@tsconfig/react-native/tsconfig.json", "../../config/tsconfig.json" ], - "include": ["src"], + "include": [ + "src", + "nitrogen/generated/shared/ts", + "nitrogen/generated/shared/json/*.json" + ], "compilerOptions": { - "rootDir": "src", + "rootDir": ".", "outDir": "lib", - "jsx": "react" + "jsx": "react", } } From e7ff9e01ffb064afa57e08b12e611581a393913d Mon Sep 17 00:00:00 2001 From: Andrei Kologreev Date: Fri, 3 Apr 2026 02:34:50 +0400 Subject: [PATCH 05/10] new test packages --- .../margelo/nitro/test/external/HybridBase.kt | 10 +++ .../nitro/test/external/HybridBlaBla.kt | 10 +++ .../nitro/test/external/HybridTestView.kt | 11 ++- .../test/external/NitroTestExternalPackage.kt | 8 ++ .../ios/HybridTestView.swift | 11 ++- .../generated/android/c++/JColorScheme.hpp | 58 -------------- .../android/c++/JHybridTestViewSpec.cpp | 38 ++++------ .../android/c++/JHybridTestViewSpec.hpp | 12 ++- .../c++/views/JHybridTestViewStateUpdater.cpp | 16 ++-- .../nitro/test/external/ColorScheme.kt | 23 ------ .../nitro/test/external/HybridBaseSpec.kt | 2 +- .../nitro/test/external/HybridBlaBlaSpec.kt | 2 +- .../external/HybridSomeExternalObjectSpec.kt | 2 +- .../nitro/test/external/HybridTestViewSpec.kt | 20 ++--- .../external/views/HybridTestViewManager.kt | 2 +- .../NitroTestExternal-Swift-Cxx-Umbrella.hpp | 3 - ...troTestExternalHybridTestViewSpecSwift.hpp | 31 +++----- ...itroTestExternalHybridTestViewComponent.mm | 21 ++--- .../generated/ios/swift/ColorScheme.swift | 40 ---------- .../generated/ios/swift/HybridBaseSpec.swift | 2 +- .../ios/swift/HybridBlaBlaSpec.swift | 2 +- .../swift/HybridSomeExternalObjectSpec.swift | 2 +- .../ios/swift/HybridTestViewSpec.swift | 9 +-- .../ios/swift/HybridTestViewSpec_cxx.swift | 27 ++----- .../c++/NitroTestExternalColorScheme.hpp | 76 ------------------- .../NitroTestExternalHybridTestViewSpec.cpp | 12 ++- .../NitroTestExternalHybridTestViewSpec.hpp | 16 ++-- ...troTestExternalHybridTestViewComponent.cpp | 37 ++++----- ...troTestExternalHybridTestViewComponent.hpp | 6 +- .../generated/shared/json/TestViewConfig.json | 7 +- .../src/specs/TestView.nitro.ts | 7 +- .../com/margelo/nitro/test/HybridBaseSpec.kt | 2 +- .../com/margelo/nitro/test/HybridChildSpec.kt | 2 +- .../nitro/test/HybridPlatformObjectSpec.kt | 2 +- .../test/HybridRecyclableTestViewSpec.kt | 2 +- .../test/HybridTestObjectSwiftKotlinSpec.kt | 2 +- .../margelo/nitro/test/HybridTestViewSpec.kt | 2 +- .../views/HybridRecyclableTestViewManager.kt | 2 +- .../nitro/test/views/HybridTestViewManager.kt | 2 +- .../generated/ios/swift/HybridBaseSpec.swift | 2 +- .../generated/ios/swift/HybridChildSpec.swift | 2 +- .../ios/swift/HybridPlatformObjectSpec.swift | 2 +- .../swift/HybridRecyclableTestViewSpec.swift | 2 +- .../HybridTestObjectSwiftKotlinSpec.swift | 2 +- .../ios/swift/HybridTestViewSpec.swift | 2 +- ...oTestHybridRecyclableTestViewComponent.cpp | 2 +- .../NitroTestHybridTestViewComponent.cpp | 2 +- .../shared/json/RecyclableTestViewConfig.json | 2 +- .../generated/shared/json/TestViewConfig.json | 2 +- 49 files changed, 157 insertions(+), 402 deletions(-) create mode 100644 packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridBase.kt create mode 100644 packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridBlaBla.kt delete mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JColorScheme.hpp delete mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/ColorScheme.kt delete mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/ColorScheme.swift delete mode 100644 packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalColorScheme.hpp diff --git a/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridBase.kt b/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridBase.kt new file mode 100644 index 000000000..586973322 --- /dev/null +++ b/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridBase.kt @@ -0,0 +1,10 @@ +package com.margelo.nitro.test.external + +import androidx.annotation.Keep +import com.facebook.proguard.annotations.DoNotStrip + +@Keep +@DoNotStrip +class HybridBase : HybridBaseSpec() { + override val abc: Double = 10.0 +} diff --git a/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridBlaBla.kt b/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridBlaBla.kt new file mode 100644 index 000000000..58ed69ede --- /dev/null +++ b/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridBlaBla.kt @@ -0,0 +1,10 @@ +package com.margelo.nitro.test.external + +import androidx.annotation.Keep +import com.facebook.proguard.annotations.DoNotStrip + +@Keep +@DoNotStrip +class HybridBlaBla : HybridBlaBlaSpec() { + override var base: HybridBaseSpec? = HybridBase() +} diff --git a/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridTestView.kt b/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridTestView.kt index 53d7e8e3f..7b24025ca 100644 --- a/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridTestView.kt +++ b/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/HybridTestView.kt @@ -15,19 +15,18 @@ class HybridTestView( override val view: View = View(context) // Props - override var isBlue: Boolean = false + override var isCyan: Boolean = false set(value) { field = value - val color = if (value) Color.BLUE else Color.RED + val color = if (value) Color.CYAN else Color.BLUE view.setBackgroundColor(color) } override var hasBeenCalled: Boolean = false - override var colorScheme: ColorScheme = ColorScheme.LIGHT - override var someCallback: () -> Unit = {} + override var testCallback: () -> Unit = {} // Methods - override fun someMethod() { + override fun testMethod() { hasBeenCalled = true - someCallback() + testCallback() } } diff --git a/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/NitroTestExternalPackage.kt b/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/NitroTestExternalPackage.kt index fff28ddfe..58aff4877 100644 --- a/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/NitroTestExternalPackage.kt +++ b/packages/react-native-nitro-test-external/android/src/main/java/com/margelo/nitro/test/external/NitroTestExternalPackage.kt @@ -4,6 +4,8 @@ import com.facebook.react.BaseReactPackage import com.facebook.react.bridge.NativeModule import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.module.model.ReactModuleInfoProvider +import com.facebook.react.uimanager.ViewManager +import com.margelo.nitro.test.external.views.HybridTestViewManager public class NitroTestExternalPackage : BaseReactPackage() { override fun getModule( @@ -13,6 +15,12 @@ public class NitroTestExternalPackage : BaseReactPackage() { override fun getReactModuleInfoProvider(): ReactModuleInfoProvider = ReactModuleInfoProvider { HashMap() } + override fun createViewManagers(reactContext: ReactApplicationContext): List> { + val viewManagers = ArrayList>() + viewManagers.add(HybridTestViewManager()) + return viewManagers + } + companion object { init { NitroTestExternalOnLoad.initializeNative() diff --git a/packages/react-native-nitro-test-external/ios/HybridTestView.swift b/packages/react-native-nitro-test-external/ios/HybridTestView.swift index 0fffdb9bd..45bb2d34c 100644 --- a/packages/react-native-nitro-test-external/ios/HybridTestView.swift +++ b/packages/react-native-nitro-test-external/ios/HybridTestView.swift @@ -13,18 +13,17 @@ class HybridTestView: HybridTestViewSpec { var view: UIView = UIView() // Props - var isBlue: Bool = false { + var isCyan: Bool = false { didSet { - view.backgroundColor = isBlue ? .systemBlue : .systemRed + view.backgroundColor = isCyan ? .systemCyan : .systemBlue } } var hasBeenCalled: Bool = false - var colorScheme: ColorScheme = .light - var someCallback: () -> Void = {} + var testCallback: () -> Void = {} // Methods - func someMethod() throws { + func testMethod() throws { hasBeenCalled = true - someCallback() + testCallback() } } diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JColorScheme.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JColorScheme.hpp deleted file mode 100644 index df555a98f..000000000 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JColorScheme.hpp +++ /dev/null @@ -1,58 +0,0 @@ -/// -/// JColorScheme.hpp -/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. -/// https://github.com/mrousavy/nitro -/// Copyright © Marc Rousavy @ Margelo -/// - -#pragma once - -#include -#include "NitroTestExternalColorScheme.hpp" - -namespace margelo::nitro::test::external { - - using namespace facebook; - - /** - * The C++ JNI bridge between the C++ enum "ColorScheme" and the the Kotlin enum "ColorScheme". - */ - struct JColorScheme final: public jni::JavaClass { - public: - static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/test/external/ColorScheme;"; - - public: - /** - * Convert this Java/Kotlin-based enum to the C++ enum ColorScheme. - */ - [[maybe_unused]] - [[nodiscard]] - ColorScheme toCpp() const { - static const auto clazz = javaClassStatic(); - static const auto fieldOrdinal = clazz->getField("value"); - int ordinal = this->getFieldValue(fieldOrdinal); - return static_cast(ordinal); - } - - public: - /** - * Create a Java/Kotlin-based enum with the given C++ enum's value. - */ - [[maybe_unused]] - static jni::alias_ref fromCpp(ColorScheme value) { - static const auto clazz = javaClassStatic(); - switch (value) { - case ColorScheme::LIGHT: - static const auto fieldLIGHT = clazz->getStaticField("LIGHT"); - return clazz->getStaticFieldValue(fieldLIGHT); - case ColorScheme::DARK: - static const auto fieldDARK = clazz->getStaticField("DARK"); - return clazz->getStaticFieldValue(fieldDARK); - default: - std::string stringValue = std::to_string(static_cast(value)); - throw std::invalid_argument("Invalid enum value (" + stringValue + "!"); - } - } - }; - -} // namespace margelo::nitro::test::external diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp index cfa145394..633689209 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.cpp @@ -7,11 +7,8 @@ #include "JHybridTestViewSpec.hpp" -// Forward declaration of `ColorScheme` to properly resolve imports. -namespace margelo::nitro::test::external { enum class ColorScheme; } -#include "NitroTestExternalColorScheme.hpp" -#include "JColorScheme.hpp" + #include #include "JFunc_void.hpp" #include @@ -46,14 +43,14 @@ namespace margelo::nitro::test::external { } // Properties - bool JHybridTestViewSpec::getIsBlue() { - static const auto method = _javaPart->javaClassStatic()->getMethod("isBlue"); + bool JHybridTestViewSpec::getIsCyan() { + static const auto method = _javaPart->javaClassStatic()->getMethod("isCyan"); auto __result = method(_javaPart); return static_cast(__result); } - void JHybridTestViewSpec::setIsBlue(bool isBlue) { - static const auto method = _javaPart->javaClassStatic()->getMethod("setBlue"); - method(_javaPart, isBlue); + void JHybridTestViewSpec::setIsCyan(bool isCyan) { + static const auto method = _javaPart->javaClassStatic()->getMethod("setCyan"); + method(_javaPart, isCyan); } bool JHybridTestViewSpec::getHasBeenCalled() { static const auto method = _javaPart->javaClassStatic()->getMethod("getHasBeenCalled"); @@ -64,17 +61,8 @@ namespace margelo::nitro::test::external { static const auto method = _javaPart->javaClassStatic()->getMethod("setHasBeenCalled"); method(_javaPart, hasBeenCalled); } - ColorScheme JHybridTestViewSpec::getColorScheme() { - static const auto method = _javaPart->javaClassStatic()->getMethod()>("getColorScheme"); - auto __result = method(_javaPart); - return __result->toCpp(); - } - void JHybridTestViewSpec::setColorScheme(ColorScheme colorScheme) { - static const auto method = _javaPart->javaClassStatic()->getMethod /* colorScheme */)>("setColorScheme"); - method(_javaPart, JColorScheme::fromCpp(colorScheme)); - } - std::function JHybridTestViewSpec::getSomeCallback() { - static const auto method = _javaPart->javaClassStatic()->getMethod()>("getSomeCallback_cxx"); + std::function JHybridTestViewSpec::getTestCallback() { + static const auto method = _javaPart->javaClassStatic()->getMethod()>("getTestCallback_cxx"); auto __result = method(_javaPart); return [&]() -> std::function { if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] { @@ -86,14 +74,14 @@ namespace margelo::nitro::test::external { } }(); } - void JHybridTestViewSpec::setSomeCallback(const std::function& someCallback) { - static const auto method = _javaPart->javaClassStatic()->getMethod /* someCallback */)>("setSomeCallback_cxx"); - method(_javaPart, JFunc_void_cxx::fromCpp(someCallback)); + void JHybridTestViewSpec::setTestCallback(const std::function& testCallback) { + static const auto method = _javaPart->javaClassStatic()->getMethod /* testCallback */)>("setTestCallback_cxx"); + method(_javaPart, JFunc_void_cxx::fromCpp(testCallback)); } // Methods - void JHybridTestViewSpec::someMethod() { - static const auto method = _javaPart->javaClassStatic()->getMethod("someMethod"); + void JHybridTestViewSpec::testMethod() { + static const auto method = _javaPart->javaClassStatic()->getMethod("testMethod"); method(_javaPart); } diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp index f2a6cb4f9..4c9157754 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/JHybridTestViewSpec.hpp @@ -50,18 +50,16 @@ namespace margelo::nitro::test::external { public: // Properties - bool getIsBlue() override; - void setIsBlue(bool isBlue) override; + bool getIsCyan() override; + void setIsCyan(bool isCyan) override; bool getHasBeenCalled() override; void setHasBeenCalled(bool hasBeenCalled) override; - ColorScheme getColorScheme() override; - void setColorScheme(ColorScheme colorScheme) override; - std::function getSomeCallback() override; - void setSomeCallback(const std::function& someCallback) override; + std::function getTestCallback() override; + void setTestCallback(const std::function& testCallback) override; public: // Methods - void someMethod() override; + void testMethod() override; private: jni::global_ref _javaPart; diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp index f4b55097f..b75e61a55 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/c++/views/JHybridTestViewStateUpdater.cpp @@ -37,21 +37,17 @@ void JHybridTestViewStateUpdater::updateViewProps(jni::alias_ref /* } // Update all props if they are dirty - if (props->isBlue.isDirty) { - hybridView->setIsBlue(props->isBlue.value); - props->isBlue.isDirty = false; + if (props->isCyan.isDirty) { + hybridView->setIsCyan(props->isCyan.value); + props->isCyan.isDirty = false; } if (props->hasBeenCalled.isDirty) { hybridView->setHasBeenCalled(props->hasBeenCalled.value); props->hasBeenCalled.isDirty = false; } - if (props->colorScheme.isDirty) { - hybridView->setColorScheme(props->colorScheme.value); - props->colorScheme.isDirty = false; - } - if (props->someCallback.isDirty) { - hybridView->setSomeCallback(props->someCallback.value); - props->someCallback.isDirty = false; + if (props->testCallback.isDirty) { + hybridView->setTestCallback(props->testCallback.value); + props->testCallback.isDirty = false; } // Update hybridRef if it changed diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/ColorScheme.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/ColorScheme.kt deleted file mode 100644 index ef9960bb9..000000000 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/ColorScheme.kt +++ /dev/null @@ -1,23 +0,0 @@ -/// -/// ColorScheme.kt -/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. -/// https://github.com/mrousavy/nitro -/// Copyright © Marc Rousavy @ Margelo -/// - -package com.margelo.nitro.test.external - -import androidx.annotation.Keep -import com.facebook.proguard.annotations.DoNotStrip - -/** - * Represents the JavaScript enum/union "ColorScheme". - */ -@DoNotStrip -@Keep -enum class ColorScheme(@DoNotStrip @Keep val value: Int) { - LIGHT(0), - DARK(1); - - companion object -} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBaseSpec.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBaseSpec.kt index 26063c670..a5dfcc73e 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBaseSpec.kt +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBaseSpec.kt @@ -34,7 +34,7 @@ abstract class HybridBaseSpec: HybridObject() { // Default implementation of `HybridObject.toString()` override fun toString(): String { - return "[HybridObject Base]" + return "[HybridObject NitroTestExternalBase]" } // C++ backing class diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBlaBlaSpec.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBlaBlaSpec.kt index dedbe7b3c..4968a7f47 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBlaBlaSpec.kt +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridBlaBlaSpec.kt @@ -36,7 +36,7 @@ abstract class HybridBlaBlaSpec: HybridObject() { // Default implementation of `HybridObject.toString()` override fun toString(): String { - return "[HybridObject BlaBla]" + return "[HybridObject NitroTestExternalBlaBla]" } // C++ backing class diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridSomeExternalObjectSpec.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridSomeExternalObjectSpec.kt index 78da5b90b..942a2aa56 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridSomeExternalObjectSpec.kt +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridSomeExternalObjectSpec.kt @@ -43,7 +43,7 @@ abstract class HybridSomeExternalObjectSpec: HybridObject() { // Default implementation of `HybridObject.toString()` override fun toString(): String { - return "[HybridObject SomeExternalObject]" + return "[HybridObject NitroTestExternalSomeExternalObject]" } // C++ backing class diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridTestViewSpec.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridTestViewSpec.kt index f28474867..d6eb4ff77 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridTestViewSpec.kt +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/HybridTestViewSpec.kt @@ -30,7 +30,7 @@ abstract class HybridTestViewSpec: HybridView() { @get:Keep @set:DoNotStrip @set:Keep - abstract var isBlue: Boolean + abstract var isCyan: Boolean @get:DoNotStrip @get:Keep @@ -38,34 +38,28 @@ abstract class HybridTestViewSpec: HybridView() { @set:Keep abstract var hasBeenCalled: Boolean - @get:DoNotStrip - @get:Keep - @set:DoNotStrip - @set:Keep - abstract var colorScheme: ColorScheme - - abstract var someCallback: () -> Unit + abstract var testCallback: () -> Unit - private var someCallback_cxx: Func_void + private var testCallback_cxx: Func_void @Keep @DoNotStrip get() { - return Func_void_java(someCallback) + return Func_void_java(testCallback) } @Keep @DoNotStrip set(value) { - someCallback = value + testCallback = value } // Methods @DoNotStrip @Keep - abstract fun someMethod(): Unit + abstract fun testMethod(): Unit // Default implementation of `HybridObject.toString()` override fun toString(): String { - return "[HybridObject TestView]" + return "[HybridObject NitroTestExternalTestView]" } // C++ backing class diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/views/HybridTestViewManager.kt b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/views/HybridTestViewManager.kt index 2c95cc15c..4961d4164 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/views/HybridTestViewManager.kt +++ b/packages/react-native-nitro-test-external/nitrogen/generated/android/kotlin/com/margelo/nitro/test/external/views/HybridTestViewManager.kt @@ -28,7 +28,7 @@ public class HybridTestViewManager: SimpleViewManager() { } override fun getName(): String { - return "TestView" + return "NitroTestExternalTestView" } override fun createViewInstance(reactContext: ThemedReactContext): View { diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Umbrella.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Umbrella.hpp index fd4b52e4f..24c19f2c3 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Umbrella.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/NitroTestExternal-Swift-Cxx-Umbrella.hpp @@ -8,8 +8,6 @@ #pragma once // Forward declarations of C++ defined types -// Forward declaration of `ColorScheme` to properly resolve imports. -namespace margelo::nitro::test::external { enum class ColorScheme; } // Forward declaration of `HybridBaseSpec` to properly resolve imports. namespace margelo::nitro::test::external { class HybridBaseSpec; } // Forward declaration of `HybridBlaBlaSpec` to properly resolve imports. @@ -22,7 +20,6 @@ namespace margelo::nitro::test::external { class HybridTestViewSpec; } namespace margelo::nitro::test::external { struct OptionalPrimitivesHolder; } // Include C++ defined types -#include "NitroTestExternalColorScheme.hpp" #include "NitroTestExternalHybridBaseSpec.hpp" #include "NitroTestExternalHybridBlaBlaSpec.hpp" #include "NitroTestExternalHybridSomeExternalObjectSpec.hpp" diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridTestViewSpecSwift.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridTestViewSpecSwift.hpp index 59f84b358..ceb2f7879 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridTestViewSpecSwift.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/NitroTestExternalHybridTestViewSpecSwift.hpp @@ -12,10 +12,8 @@ // Forward declaration of `HybridTestViewSpec_cxx` to properly resolve imports. namespace NitroTestExternal { class HybridTestViewSpec_cxx; } -// Forward declaration of `ColorScheme` to properly resolve imports. -namespace margelo::nitro::test::external { enum class ColorScheme; } -#include "NitroTestExternalColorScheme.hpp" + #include #include "NitroTestExternal-Swift-Cxx-Umbrella.hpp" @@ -64,11 +62,11 @@ namespace margelo::nitro::test::external { public: // Properties - inline bool getIsBlue() noexcept override { - return _swiftPart.isBlue(); + inline bool getIsCyan() noexcept override { + return _swiftPart.isCyan(); } - inline void setIsBlue(bool isBlue) noexcept override { - _swiftPart.setIsBlue(std::forward(isBlue)); + inline void setIsCyan(bool isCyan) noexcept override { + _swiftPart.setIsCyan(std::forward(isCyan)); } inline bool getHasBeenCalled() noexcept override { return _swiftPart.hasBeenCalled(); @@ -76,25 +74,18 @@ namespace margelo::nitro::test::external { inline void setHasBeenCalled(bool hasBeenCalled) noexcept override { _swiftPart.setHasBeenCalled(std::forward(hasBeenCalled)); } - inline ColorScheme getColorScheme() noexcept override { - auto __result = _swiftPart.getColorScheme(); - return static_cast(__result); - } - inline void setColorScheme(ColorScheme colorScheme) noexcept override { - _swiftPart.setColorScheme(static_cast(colorScheme)); - } - inline std::function getSomeCallback() noexcept override { - auto __result = _swiftPart.getSomeCallback(); + inline std::function getTestCallback() noexcept override { + auto __result = _swiftPart.getTestCallback(); return __result; } - inline void setSomeCallback(const std::function& someCallback) noexcept override { - _swiftPart.setSomeCallback(someCallback); + inline void setTestCallback(const std::function& testCallback) noexcept override { + _swiftPart.setTestCallback(testCallback); } public: // Methods - inline void someMethod() override { - auto __result = _swiftPart.someMethod(); + inline void testMethod() override { + auto __result = _swiftPart.testMethod(); if (__result.hasError()) [[unlikely]] { std::rethrow_exception(__result.error()); } diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/NitroTestExternalHybridTestViewComponent.mm b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/NitroTestExternalHybridTestViewComponent.mm index 46be656c0..d5b02777c 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/NitroTestExternalHybridTestViewComponent.mm +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/c++/views/NitroTestExternalHybridTestViewComponent.mm @@ -79,25 +79,20 @@ - (void) updateProps:(const std::shared_ptr&)props // 2. Update each prop individually swiftPart.beforeUpdate(); - // isBlue: boolean - if (newViewProps.isBlue.isDirty) { - swiftPart.setIsBlue(newViewProps.isBlue.value); - newViewProps.isBlue.isDirty = false; + // isCyan: boolean + if (newViewProps.isCyan.isDirty) { + swiftPart.setIsCyan(newViewProps.isCyan.value); + newViewProps.isCyan.isDirty = false; } // hasBeenCalled: boolean if (newViewProps.hasBeenCalled.isDirty) { swiftPart.setHasBeenCalled(newViewProps.hasBeenCalled.value); newViewProps.hasBeenCalled.isDirty = false; } - // colorScheme: enum - if (newViewProps.colorScheme.isDirty) { - swiftPart.setColorScheme(static_cast(newViewProps.colorScheme.value)); - newViewProps.colorScheme.isDirty = false; - } - // someCallback: function - if (newViewProps.someCallback.isDirty) { - swiftPart.setSomeCallback(newViewProps.someCallback.value); - newViewProps.someCallback.isDirty = false; + // testCallback: function + if (newViewProps.testCallback.isDirty) { + swiftPart.setTestCallback(newViewProps.testCallback.value); + newViewProps.testCallback.isDirty = false; } swiftPart.afterUpdate(); diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/ColorScheme.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/ColorScheme.swift deleted file mode 100644 index 035e6c089..000000000 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/ColorScheme.swift +++ /dev/null @@ -1,40 +0,0 @@ -/// -/// ColorScheme.swift -/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. -/// https://github.com/mrousavy/nitro -/// Copyright © Marc Rousavy @ Margelo -/// - -/** - * Represents the JS union `ColorScheme`, backed by a C++ enum. - */ -public typealias ColorScheme = margelo.nitro.test.external.ColorScheme - -public extension ColorScheme { - /** - * Get a ColorScheme for the given String value, or - * return `nil` if the given value was invalid/unknown. - */ - init?(fromString string: String) { - switch string { - case "light": - self = .light - case "dark": - self = .dark - default: - return nil - } - } - - /** - * Get the String value this ColorScheme represents. - */ - var stringValue: String { - switch self { - case .light: - return "light" - case .dark: - return "dark" - } - } -} diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBaseSpec.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBaseSpec.swift index 2876e2a47..df5b80230 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBaseSpec.swift +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBaseSpec.swift @@ -19,7 +19,7 @@ public protocol HybridBaseSpec_protocol: HybridObject { public extension HybridBaseSpec_protocol { /// Default implementation of ``HybridObject.toString`` func toString() -> String { - return "[HybridObject Base]" + return "[HybridObject NitroTestExternalBase]" } } diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBlaBlaSpec.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBlaBlaSpec.swift index ec417dc7c..912527ad0 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBlaBlaSpec.swift +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridBlaBlaSpec.swift @@ -19,7 +19,7 @@ public protocol HybridBlaBlaSpec_protocol: HybridObject { public extension HybridBlaBlaSpec_protocol { /// Default implementation of ``HybridObject.toString`` func toString() -> String { - return "[HybridObject BlaBla]" + return "[HybridObject NitroTestExternalBlaBla]" } } diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridSomeExternalObjectSpec.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridSomeExternalObjectSpec.swift index df2329ca5..3a6fa655a 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridSomeExternalObjectSpec.swift +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridSomeExternalObjectSpec.swift @@ -20,7 +20,7 @@ public protocol HybridSomeExternalObjectSpec_protocol: HybridObject { public extension HybridSomeExternalObjectSpec_protocol { /// Default implementation of ``HybridObject.toString`` func toString() -> String { - return "[HybridObject SomeExternalObject]" + return "[HybridObject NitroTestExternalSomeExternalObject]" } } diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec.swift index 7f05d599a..2ab1f4bb8 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec.swift +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec.swift @@ -10,19 +10,18 @@ import NitroModules /// See ``HybridTestViewSpec`` public protocol HybridTestViewSpec_protocol: HybridObject, HybridView { // Properties - var isBlue: Bool { get set } + var isCyan: Bool { get set } var hasBeenCalled: Bool { get set } - var colorScheme: ColorScheme { get set } - var someCallback: () -> Void { get set } + var testCallback: () -> Void { get set } // Methods - func someMethod() throws -> Void + func testMethod() throws -> Void } public extension HybridTestViewSpec_protocol { /// Default implementation of ``HybridObject.toString`` func toString() -> String { - return "[HybridObject TestView]" + return "[HybridObject NitroTestExternalTestView]" } } diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec_cxx.swift b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec_cxx.swift index ded701f18..c71f31196 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec_cxx.swift +++ b/packages/react-native-nitro-test-external/nitrogen/generated/ios/swift/HybridTestViewSpec_cxx.swift @@ -121,14 +121,14 @@ open class HybridTestViewSpec_cxx { } // Properties - public final var isBlue: Bool { + public final var isCyan: Bool { @inline(__always) get { - return self.__implementation.isBlue + return self.__implementation.isCyan } @inline(__always) set { - self.__implementation.isBlue = newValue + self.__implementation.isCyan = newValue } } @@ -143,28 +143,17 @@ open class HybridTestViewSpec_cxx { } } - public final var colorScheme: Int32 { - @inline(__always) - get { - return self.__implementation.colorScheme.rawValue - } - @inline(__always) - set { - self.__implementation.colorScheme = margelo.nitro.test.external.ColorScheme(rawValue: newValue)! - } - } - - public final var someCallback: bridge.Func_void { + public final var testCallback: bridge.Func_void { @inline(__always) get { return { () -> bridge.Func_void in - let __closureWrapper = Func_void(self.__implementation.someCallback) + let __closureWrapper = Func_void(self.__implementation.testCallback) return bridge.create_Func_void(__closureWrapper.toUnsafe()) }() } @inline(__always) set { - self.__implementation.someCallback = { () -> () -> Void in + self.__implementation.testCallback = { () -> () -> Void in let __wrappedFunction = bridge.wrap_Func_void(newValue) return { () -> Void in __wrappedFunction.call() @@ -175,9 +164,9 @@ open class HybridTestViewSpec_cxx { // Methods @inline(__always) - public final func someMethod() -> bridge.Result_void_ { + public final func testMethod() -> bridge.Result_void_ { do { - try self.__implementation.someMethod() + try self.__implementation.testMethod() return bridge.create_Result_void_() } catch (let __error) { let __exceptionPtr = __error.toCpp() diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalColorScheme.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalColorScheme.hpp deleted file mode 100644 index d3fdc8b55..000000000 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalColorScheme.hpp +++ /dev/null @@ -1,76 +0,0 @@ -/// -/// NitroTestExternalColorScheme.hpp -/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE. -/// https://github.com/mrousavy/nitro -/// Copyright © Marc Rousavy @ Margelo -/// - -#pragma once - -#if __has_include() -#include -#else -#error NitroModules cannot be found! Are you sure you installed NitroModules properly? -#endif -#if __has_include() -#include -#else -#error NitroModules cannot be found! Are you sure you installed NitroModules properly? -#endif -#if __has_include() -#include -#else -#error NitroModules cannot be found! Are you sure you installed NitroModules properly? -#endif - -namespace margelo::nitro::test::external { - - /** - * An enum which can be represented as a JavaScript union (ColorScheme). - */ - enum class ColorScheme { - LIGHT SWIFT_NAME(light) = 0, - DARK SWIFT_NAME(dark) = 1, - } CLOSED_ENUM; - -} // namespace margelo::nitro::test::external - -namespace margelo::nitro { - - // C++ ColorScheme <> JS ColorScheme (union) - template <> - struct JSIConverter final { - static inline margelo::nitro::test::external::ColorScheme fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) { - std::string unionValue = JSIConverter::fromJSI(runtime, arg); - switch (hashString(unionValue.c_str(), unionValue.size())) { - case hashString("light"): return margelo::nitro::test::external::ColorScheme::LIGHT; - case hashString("dark"): return margelo::nitro::test::external::ColorScheme::DARK; - default: [[unlikely]] - throw std::invalid_argument("Cannot convert \"" + unionValue + "\" to enum ColorScheme - invalid value!"); - } - } - static inline jsi::Value toJSI(jsi::Runtime& runtime, margelo::nitro::test::external::ColorScheme arg) { - switch (arg) { - case margelo::nitro::test::external::ColorScheme::LIGHT: return JSIConverter::toJSI(runtime, "light"); - case margelo::nitro::test::external::ColorScheme::DARK: return JSIConverter::toJSI(runtime, "dark"); - default: [[unlikely]] - throw std::invalid_argument("Cannot convert ColorScheme to JS - invalid value: " - + std::to_string(static_cast(arg)) + "!"); - } - } - static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) { - if (!value.isString()) { - return false; - } - std::string unionValue = JSIConverter::fromJSI(runtime, value); - switch (hashString(unionValue.c_str(), unionValue.size())) { - case hashString("light"): - case hashString("dark"): - return true; - default: - return false; - } - } - }; - -} // namespace margelo::nitro diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.cpp index b741ceb5a..b1435c7ea 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.cpp @@ -14,15 +14,13 @@ namespace margelo::nitro::test::external { HybridObject::loadHybridMethods(); // load custom methods/properties registerHybrids(this, [](Prototype& prototype) { - prototype.registerHybridGetter("isBlue", &HybridTestViewSpec::getIsBlue); - prototype.registerHybridSetter("isBlue", &HybridTestViewSpec::setIsBlue); + prototype.registerHybridGetter("isCyan", &HybridTestViewSpec::getIsCyan); + prototype.registerHybridSetter("isCyan", &HybridTestViewSpec::setIsCyan); prototype.registerHybridGetter("hasBeenCalled", &HybridTestViewSpec::getHasBeenCalled); prototype.registerHybridSetter("hasBeenCalled", &HybridTestViewSpec::setHasBeenCalled); - prototype.registerHybridGetter("colorScheme", &HybridTestViewSpec::getColorScheme); - prototype.registerHybridSetter("colorScheme", &HybridTestViewSpec::setColorScheme); - prototype.registerHybridGetter("someCallback", &HybridTestViewSpec::getSomeCallback); - prototype.registerHybridSetter("someCallback", &HybridTestViewSpec::setSomeCallback); - prototype.registerHybridMethod("someMethod", &HybridTestViewSpec::someMethod); + prototype.registerHybridGetter("testCallback", &HybridTestViewSpec::getTestCallback); + prototype.registerHybridSetter("testCallback", &HybridTestViewSpec::setTestCallback); + prototype.registerHybridMethod("testMethod", &HybridTestViewSpec::testMethod); }); } diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.hpp index ceb98de42..493cbf5af 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/NitroTestExternalHybridTestViewSpec.hpp @@ -13,10 +13,8 @@ #error NitroModules cannot be found! Are you sure you installed NitroModules properly? #endif -// Forward declaration of `ColorScheme` to properly resolve imports. -namespace margelo::nitro::test::external { enum class ColorScheme; } -#include "NitroTestExternalColorScheme.hpp" + #include namespace margelo::nitro::test::external { @@ -46,18 +44,16 @@ namespace margelo::nitro::test::external { public: // Properties - virtual bool getIsBlue() = 0; - virtual void setIsBlue(bool isBlue) = 0; + virtual bool getIsCyan() = 0; + virtual void setIsCyan(bool isCyan) = 0; virtual bool getHasBeenCalled() = 0; virtual void setHasBeenCalled(bool hasBeenCalled) = 0; - virtual ColorScheme getColorScheme() = 0; - virtual void setColorScheme(ColorScheme colorScheme) = 0; - virtual std::function getSomeCallback() = 0; - virtual void setSomeCallback(const std::function& someCallback) = 0; + virtual std::function getTestCallback() = 0; + virtual void setTestCallback(const std::function& testCallback) = 0; public: // Methods - virtual void someMethod() = 0; + virtual void testMethod() = 0; protected: // Hybrid Setup diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.cpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.cpp index b07511f21..8bfdb4a63 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.cpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.cpp @@ -20,20 +20,20 @@ namespace margelo::nitro::test::external::views { - extern const char HybridTestViewComponentName[] = "TestView"; + extern const char HybridTestViewComponentName[] = "NitroTestExternalTestView"; HybridTestViewProps::HybridTestViewProps(const react::PropsParserContext& context, const HybridTestViewProps& sourceProps, const react::RawProps& rawProps): react::ViewProps(context, sourceProps, rawProps, filterObjectKeys), - isBlue([&]() -> CachedProp { + isCyan([&]() -> CachedProp { try { - const react::RawValue* rawValue = rawProps.at("isBlue", nullptr, nullptr); - if (rawValue == nullptr) return sourceProps.isBlue; + const react::RawValue* rawValue = rawProps.at("isCyan", nullptr, nullptr); + if (rawValue == nullptr) return sourceProps.isCyan; const auto& [runtime, value] = (std::pair)*rawValue; - return CachedProp::fromRawValue(*runtime, value, sourceProps.isBlue); + return CachedProp::fromRawValue(*runtime, value, sourceProps.isCyan); } catch (const std::exception& exc) { - throw std::runtime_error(std::string("TestView.isBlue: ") + exc.what()); + throw std::runtime_error(std::string("TestView.isCyan: ") + exc.what()); } }()), hasBeenCalled([&]() -> CachedProp { @@ -46,24 +46,14 @@ namespace margelo::nitro::test::external::views { throw std::runtime_error(std::string("TestView.hasBeenCalled: ") + exc.what()); } }()), - colorScheme([&]() -> CachedProp { + testCallback([&]() -> CachedProp> { try { - const react::RawValue* rawValue = rawProps.at("colorScheme", nullptr, nullptr); - if (rawValue == nullptr) return sourceProps.colorScheme; + const react::RawValue* rawValue = rawProps.at("testCallback", nullptr, nullptr); + if (rawValue == nullptr) return sourceProps.testCallback; const auto& [runtime, value] = (std::pair)*rawValue; - return CachedProp::fromRawValue(*runtime, value, sourceProps.colorScheme); + return CachedProp>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, PropNameIDCache::get(*runtime, "f")), sourceProps.testCallback); } catch (const std::exception& exc) { - throw std::runtime_error(std::string("TestView.colorScheme: ") + exc.what()); - } - }()), - someCallback([&]() -> CachedProp> { - try { - const react::RawValue* rawValue = rawProps.at("someCallback", nullptr, nullptr); - if (rawValue == nullptr) return sourceProps.someCallback; - const auto& [runtime, value] = (std::pair)*rawValue; - return CachedProp>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, PropNameIDCache::get(*runtime, "f")), sourceProps.someCallback); - } catch (const std::exception& exc) { - throw std::runtime_error(std::string("TestView.someCallback: ") + exc.what()); + throw std::runtime_error(std::string("TestView.testCallback: ") + exc.what()); } }()), hybridRef([&]() -> CachedProp& /* ref */)>>> { @@ -79,10 +69,9 @@ namespace margelo::nitro::test::external::views { bool HybridTestViewProps::filterObjectKeys(const std::string& propName) { switch (hashString(propName)) { - case hashString("isBlue"): return true; + case hashString("isCyan"): return true; case hashString("hasBeenCalled"): return true; - case hashString("colorScheme"): return true; - case hashString("someCallback"): return true; + case hashString("testCallback"): return true; case hashString("hybridRef"): return true; default: return false; } diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.hpp b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.hpp index a3b523df2..2df303794 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.hpp +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/c++/views/NitroTestExternalHybridTestViewComponent.hpp @@ -16,7 +16,6 @@ #include #include -#include "NitroTestExternalColorScheme.hpp" #include #include #include "NitroTestExternalHybridTestViewSpec.hpp" @@ -42,10 +41,9 @@ namespace margelo::nitro::test::external::views { const react::RawProps& rawProps); public: - CachedProp isBlue; + CachedProp isCyan; CachedProp hasBeenCalled; - CachedProp colorScheme; - CachedProp> someCallback; + CachedProp> testCallback; CachedProp& /* ref */)>>> hybridRef; private: diff --git a/packages/react-native-nitro-test-external/nitrogen/generated/shared/json/TestViewConfig.json b/packages/react-native-nitro-test-external/nitrogen/generated/shared/json/TestViewConfig.json index ef9bbaaf6..41d68d6f6 100644 --- a/packages/react-native-nitro-test-external/nitrogen/generated/shared/json/TestViewConfig.json +++ b/packages/react-native-nitro-test-external/nitrogen/generated/shared/json/TestViewConfig.json @@ -1,13 +1,12 @@ { - "uiViewClassName": "TestView", + "uiViewClassName": "NitroTestExternalTestView", "supportsRawText": false, "bubblingEventTypes": {}, "directEventTypes": {}, "validAttributes": { - "isBlue": true, + "isCyan": true, "hasBeenCalled": true, - "colorScheme": true, - "someCallback": true, + "testCallback": true, "hybridRef": true } } diff --git a/packages/react-native-nitro-test-external/src/specs/TestView.nitro.ts b/packages/react-native-nitro-test-external/src/specs/TestView.nitro.ts index 8031c5e58..8f8fe0a2f 100644 --- a/packages/react-native-nitro-test-external/src/specs/TestView.nitro.ts +++ b/packages/react-native-nitro-test-external/src/specs/TestView.nitro.ts @@ -7,13 +7,12 @@ import type { export type ColorScheme = 'light' | 'dark' export interface TestViewProps extends HybridViewProps { - isBlue: boolean + isCyan: boolean hasBeenCalled: boolean - colorScheme: ColorScheme - someCallback: () => void + testCallback: () => void } export interface TestViewMethods extends HybridViewMethods { - someMethod(): void + testMethod(): void } export type TestView = HybridView diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridBaseSpec.kt b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridBaseSpec.kt index 9c8bf6f40..508617475 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridBaseSpec.kt +++ b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridBaseSpec.kt @@ -34,7 +34,7 @@ abstract class HybridBaseSpec: HybridObject() { // Default implementation of `HybridObject.toString()` override fun toString(): String { - return "[HybridObject Base]" + return "[HybridObject NitroTestBase]" } // C++ backing class diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridChildSpec.kt b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridChildSpec.kt index 7de7f5028..691507046 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridChildSpec.kt +++ b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridChildSpec.kt @@ -36,7 +36,7 @@ abstract class HybridChildSpec: HybridBaseSpec() { // Default implementation of `HybridObject.toString()` override fun toString(): String { - return "[HybridObject Child]" + return "[HybridObject NitroTestChild]" } // C++ backing class diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridPlatformObjectSpec.kt b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridPlatformObjectSpec.kt index 1e8e53c8b..e17c7a057 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridPlatformObjectSpec.kt +++ b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridPlatformObjectSpec.kt @@ -34,7 +34,7 @@ abstract class HybridPlatformObjectSpec: HybridObject() { // Default implementation of `HybridObject.toString()` override fun toString(): String { - return "[HybridObject PlatformObject]" + return "[HybridObject NitroTestPlatformObject]" } // C++ backing class diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridRecyclableTestViewSpec.kt b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridRecyclableTestViewSpec.kt index d6d1fe7b3..13db03db7 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridRecyclableTestViewSpec.kt +++ b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridRecyclableTestViewSpec.kt @@ -37,7 +37,7 @@ abstract class HybridRecyclableTestViewSpec: HybridView() { // Default implementation of `HybridObject.toString()` override fun toString(): String { - return "[HybridObject RecyclableTestView]" + return "[HybridObject NitroTestRecyclableTestView]" } // C++ backing class diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridTestObjectSwiftKotlinSpec.kt b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridTestObjectSwiftKotlinSpec.kt index 713de599c..cf752965a 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridTestObjectSwiftKotlinSpec.kt +++ b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridTestObjectSwiftKotlinSpec.kt @@ -632,7 +632,7 @@ abstract class HybridTestObjectSwiftKotlinSpec: HybridObject() { // Default implementation of `HybridObject.toString()` override fun toString(): String { - return "[HybridObject TestObjectSwiftKotlin]" + return "[HybridObject NitroTestTestObjectSwiftKotlin]" } // C++ backing class diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridTestViewSpec.kt b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridTestViewSpec.kt index f144d544a..3bb105bac 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridTestViewSpec.kt +++ b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/HybridTestViewSpec.kt @@ -65,7 +65,7 @@ abstract class HybridTestViewSpec: HybridView() { // Default implementation of `HybridObject.toString()` override fun toString(): String { - return "[HybridObject TestView]" + return "[HybridObject NitroTestTestView]" } // C++ backing class diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/views/HybridRecyclableTestViewManager.kt b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/views/HybridRecyclableTestViewManager.kt index c325e51a5..75196045e 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/views/HybridRecyclableTestViewManager.kt +++ b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/views/HybridRecyclableTestViewManager.kt @@ -28,7 +28,7 @@ public class HybridRecyclableTestViewManager: SimpleViewManager() { } override fun getName(): String { - return "RecyclableTestView" + return "NitroTestRecyclableTestView" } override fun createViewInstance(reactContext: ThemedReactContext): View { diff --git a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/views/HybridTestViewManager.kt b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/views/HybridTestViewManager.kt index 6ee9d802a..acd47b465 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/views/HybridTestViewManager.kt +++ b/packages/react-native-nitro-test/nitrogen/generated/android/kotlin/com/margelo/nitro/test/views/HybridTestViewManager.kt @@ -28,7 +28,7 @@ public class HybridTestViewManager: SimpleViewManager() { } override fun getName(): String { - return "TestView" + return "NitroTestTestView" } override fun createViewInstance(reactContext: ThemedReactContext): View { diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridBaseSpec.swift b/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridBaseSpec.swift index 322357dc3..6e801611b 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridBaseSpec.swift +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridBaseSpec.swift @@ -19,7 +19,7 @@ public protocol HybridBaseSpec_protocol: HybridObject { public extension HybridBaseSpec_protocol { /// Default implementation of ``HybridObject.toString`` func toString() -> String { - return "[HybridObject Base]" + return "[HybridObject NitroTestBase]" } } diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridChildSpec.swift b/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridChildSpec.swift index 060cacd64..a049951fb 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridChildSpec.swift +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridChildSpec.swift @@ -19,7 +19,7 @@ public protocol HybridChildSpec_protocol: HybridObject, HybridBaseSpec_protocol public extension HybridChildSpec_protocol { /// Default implementation of ``HybridObject.toString`` func toString() -> String { - return "[HybridObject Child]" + return "[HybridObject NitroTestChild]" } } diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridPlatformObjectSpec.swift b/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridPlatformObjectSpec.swift index 71343c2fb..714b6ef0a 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridPlatformObjectSpec.swift +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridPlatformObjectSpec.swift @@ -19,7 +19,7 @@ public protocol HybridPlatformObjectSpec_protocol: HybridObject { public extension HybridPlatformObjectSpec_protocol { /// Default implementation of ``HybridObject.toString`` func toString() -> String { - return "[HybridObject PlatformObject]" + return "[HybridObject NitroTestPlatformObject]" } } diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridRecyclableTestViewSpec.swift b/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridRecyclableTestViewSpec.swift index 6d606db6c..d74d292dd 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridRecyclableTestViewSpec.swift +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridRecyclableTestViewSpec.swift @@ -19,7 +19,7 @@ public protocol HybridRecyclableTestViewSpec_protocol: HybridObject, HybridView public extension HybridRecyclableTestViewSpec_protocol { /// Default implementation of ``HybridObject.toString`` func toString() -> String { - return "[HybridObject RecyclableTestView]" + return "[HybridObject NitroTestRecyclableTestView]" } } diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridTestObjectSwiftKotlinSpec.swift b/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridTestObjectSwiftKotlinSpec.swift index c4e2b42c3..0684c2f69 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridTestObjectSwiftKotlinSpec.swift +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridTestObjectSwiftKotlinSpec.swift @@ -134,7 +134,7 @@ public protocol HybridTestObjectSwiftKotlinSpec_protocol: HybridObject { public extension HybridTestObjectSwiftKotlinSpec_protocol { /// Default implementation of ``HybridObject.toString`` func toString() -> String { - return "[HybridObject TestObjectSwiftKotlin]" + return "[HybridObject NitroTestTestObjectSwiftKotlin]" } } diff --git a/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridTestViewSpec.swift b/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridTestViewSpec.swift index 7f05d599a..780211c11 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridTestViewSpec.swift +++ b/packages/react-native-nitro-test/nitrogen/generated/ios/swift/HybridTestViewSpec.swift @@ -22,7 +22,7 @@ public protocol HybridTestViewSpec_protocol: HybridObject, HybridView { public extension HybridTestViewSpec_protocol { /// Default implementation of ``HybridObject.toString`` func toString() -> String { - return "[HybridObject TestView]" + return "[HybridObject NitroTestTestView]" } } diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridRecyclableTestViewComponent.cpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridRecyclableTestViewComponent.cpp index eb9a62181..367deff62 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridRecyclableTestViewComponent.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridRecyclableTestViewComponent.cpp @@ -20,7 +20,7 @@ namespace margelo::nitro::test::views { - extern const char HybridRecyclableTestViewComponentName[] = "RecyclableTestView"; + extern const char HybridRecyclableTestViewComponentName[] = "NitroTestRecyclableTestView"; HybridRecyclableTestViewProps::HybridRecyclableTestViewProps(const react::PropsParserContext& context, const HybridRecyclableTestViewProps& sourceProps, diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridTestViewComponent.cpp b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridTestViewComponent.cpp index 3af40c87b..7e7993be6 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridTestViewComponent.cpp +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/c++/views/NitroTestHybridTestViewComponent.cpp @@ -20,7 +20,7 @@ namespace margelo::nitro::test::views { - extern const char HybridTestViewComponentName[] = "TestView"; + extern const char HybridTestViewComponentName[] = "NitroTestTestView"; HybridTestViewProps::HybridTestViewProps(const react::PropsParserContext& context, const HybridTestViewProps& sourceProps, diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/json/RecyclableTestViewConfig.json b/packages/react-native-nitro-test/nitrogen/generated/shared/json/RecyclableTestViewConfig.json index f4b75b61c..969176f49 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/json/RecyclableTestViewConfig.json +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/json/RecyclableTestViewConfig.json @@ -1,5 +1,5 @@ { - "uiViewClassName": "RecyclableTestView", + "uiViewClassName": "NitroTestRecyclableTestView", "supportsRawText": false, "bubblingEventTypes": {}, "directEventTypes": {}, diff --git a/packages/react-native-nitro-test/nitrogen/generated/shared/json/TestViewConfig.json b/packages/react-native-nitro-test/nitrogen/generated/shared/json/TestViewConfig.json index ef9bbaaf6..8d40ae144 100644 --- a/packages/react-native-nitro-test/nitrogen/generated/shared/json/TestViewConfig.json +++ b/packages/react-native-nitro-test/nitrogen/generated/shared/json/TestViewConfig.json @@ -1,5 +1,5 @@ { - "uiViewClassName": "TestView", + "uiViewClassName": "NitroTestTestView", "supportsRawText": false, "bubblingEventTypes": {}, "directEventTypes": {}, From 0b7a4fe83bee57a685771f4d74abff73b6e1a775 Mon Sep 17 00:00:00 2001 From: Andrei Kologreev Date: Fri, 3 Apr 2026 02:37:52 +0400 Subject: [PATCH 06/10] update example --- example/android/build.gradle | 2 +- example/src/getTests.ts | 117 +++++++++++++++++++++++------ example/src/screens/EvalScreen.tsx | 2 +- example/src/screens/ViewScreen.tsx | 18 +++++ 4 files changed, 112 insertions(+), 27 deletions(-) diff --git a/example/android/build.gradle b/example/android/build.gradle index dad99b022..859f764ce 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -1,7 +1,7 @@ buildscript { ext { buildToolsVersion = "36.0.0" - minSdkVersion = 24 + minSdkVersion = 26 compileSdkVersion = 36 targetSdkVersion = 36 ndkVersion = "27.1.12297006" diff --git a/example/src/getTests.ts b/example/src/getTests.ts index 9b30d3e6f..05ddadfb8 100644 --- a/example/src/getTests.ts +++ b/example/src/getTests.ts @@ -9,7 +9,8 @@ import { type OptionalWrapper, WeirdNumbersEnum, CustomString, - Base, + // HybridBase, + type Base, HybridPlatformObject, HybridChild, } from 'react-native-nitro-test' @@ -24,7 +25,12 @@ import { getHybridObjectConstructor, NitroModules, } from 'react-native-nitro-modules' -import { HybridSomeExternalObject } from 'react-native-nitro-test-external' +import { + HybridSomeExternalObject, + type Base as ExternalBase, + HybridBlaBla, + HybridBase as ExternalHybridBase, +} from 'react-native-nitro-test-external' type TestResult = | { @@ -51,6 +57,9 @@ export interface GetTestsOptions { backend?: AssertionBackend } +const TEST_MODULE_NAME = 'NitroTest' +const TEST_EXTERNAL_MODULE_NAME = 'NitroTestExternal' + const TEST_PERSON: Person = { age: 24, name: 'Marc', @@ -139,7 +148,7 @@ const DATE_PLUS_1H = (() => { return new Date(current + oneHourInMilliseconds) })() -const BASE = NitroModules.createHybridObject('Base') +const BASE = NitroModules.createHybridObject(`${TEST_MODULE_NAME}Base`) let lotsOfCallbacks: ((num: number) => void)[] = [] @@ -1993,15 +2002,19 @@ export function getTests( .toContain('childValue') .toContain('baseValue') ), - createTest('createBase() has name "Base"', () => - it(() => testObject.createBase().name) - .didNotThrow() - .equals('Base') + createTest( + `${TEST_MODULE_NAME} createBase() has name "${TEST_MODULE_NAME}Base"`, + () => + it(() => testObject.createBase().name) + .didNotThrow() + .equals(`${TEST_MODULE_NAME}Base`) ), - createTest('createChild() has name "Child"', () => - it(() => testObject.createChild().name) - .didNotThrow() - .equals('Child') + createTest( + `${TEST_MODULE_NAME} createChild() has name "${TEST_MODULE_NAME}Child"`, + () => + it(() => testObject.createChild().name) + .didNotThrow() + .equals(`${TEST_MODULE_NAME}Child`) ), createTest('createChild() has overridden toString()', () => it(() => testObject.createChild().toString()) @@ -2013,10 +2026,12 @@ export function getTests( .didNotThrow() .equals('HybridChild custom toString() :)') ), - createTest('createBaseActualChild() has name "Child"', () => - it(() => testObject.createBaseActualChild().name) - .didNotThrow() - .equals('Child') + createTest( + `${TEST_MODULE_NAME} createBaseActualChild() has name "${TEST_MODULE_NAME}Child"`, + () => + it(() => testObject.createBaseActualChild().name) + .didNotThrow() + .equals(`${TEST_MODULE_NAME}Child`) ), createTest('createBaseActualChild() works', () => it(() => testObject.createBaseActualChild()) @@ -2149,8 +2164,9 @@ export function getTests( ), createTest('new T() works', () => it(() => { - const HybridTestObjectCpp = - getHybridObjectConstructor('TestObjectCpp') + const HybridTestObjectCpp = getHybridObjectConstructor( + `${TEST_MODULE_NAME}TestObjectCpp` + ) const instance = new HybridTestObjectCpp() return instance }) @@ -2159,8 +2175,9 @@ export function getTests( ), createTest('new T() instanceof works', () => it(() => { - const HybridTestObjectCpp = - getHybridObjectConstructor('TestObjectCpp') + const HybridTestObjectCpp = getHybridObjectConstructor( + `${TEST_MODULE_NAME}TestObjectCpp` + ) const instance = new HybridTestObjectCpp() return instance instanceof HybridTestObjectCpp }) @@ -2169,8 +2186,9 @@ export function getTests( ), createTest('{} instanceof works', () => it(() => { - const HybridTestObjectCpp = - getHybridObjectConstructor('TestObjectCpp') + const HybridTestObjectCpp = getHybridObjectConstructor( + `${TEST_MODULE_NAME}TestObjectCpp` + ) return {} instanceof HybridTestObjectCpp }) .didNotThrow() @@ -2178,8 +2196,9 @@ export function getTests( ), createTest('new T() =/= new T()', () => it(() => { - const HybridTestObjectCpp = - getHybridObjectConstructor('TestObjectCpp') + const HybridTestObjectCpp = getHybridObjectConstructor( + `${TEST_MODULE_NAME}TestObjectCpp` + ) const a = new HybridTestObjectCpp() const b = new HybridTestObjectCpp() return a === b @@ -2189,8 +2208,9 @@ export function getTests( ), createTest('new T() a == a', () => it(() => { - const HybridTestObjectCpp = - getHybridObjectConstructor('TestObjectCpp') + const HybridTestObjectCpp = getHybridObjectConstructor( + `${TEST_MODULE_NAME}TestObjectCpp` + ) const a = new HybridTestObjectCpp() // eslint-disable-next-line no-self-compare return a === a @@ -2295,5 +2315,52 @@ export function getTests( .didNotThrow() .equals(true) ), + createTest('Create ExternalBase while Base exists', () => + it(() => { + return NitroModules.createHybridObject( + `${TEST_EXTERNAL_MODULE_NAME}Base` + ) + }) + .didNotThrow() + .didReturn('object') + .toContain('abc') + ), + createTest('ExternalBase is not an instance of Base', () => + it(() => { + const BaseConstructor = getHybridObjectConstructor( + `${TEST_MODULE_NAME}Base` + ) + const ExternalBaseConstructor = + getHybridObjectConstructor( + `${TEST_EXTERNAL_MODULE_NAME}Base` + ) + const externalInstance = new ExternalBaseConstructor() + return externalInstance instanceof BaseConstructor + }) + .didNotThrow() + .equals(false) + ), + createTest('ExternalBase =/= Base name', () => + it(() => { + return ExternalHybridBase.name === BASE.name + }) + .didNotThrow() + .equals(false) + ), + createTest('ExternalBlaBla.base =/= BASE .toString()', () => + it(() => { + return HybridBlaBla.base?.toString() === BASE.toString() + }) + .didNotThrow() + .equals(false) + ), + createTest('External Base HybridObject name contains library prefix', () => + it(() => { + return ExternalHybridBase.name + }) + .didNotThrow() + .didReturn('string') + .toStringContain(TEST_EXTERNAL_MODULE_NAME) + ), ] } diff --git a/example/src/screens/EvalScreen.tsx b/example/src/screens/EvalScreen.tsx index c7933bc9d..1c95c7dd3 100644 --- a/example/src/screens/EvalScreen.tsx +++ b/example/src/screens/EvalScreen.tsx @@ -22,7 +22,7 @@ const PRE_CODE = ` const NitroModules = globalThis.NitroModulesProxy; `.trim() const DEFAULT_CODE = ` -const testObject = NitroModules.createHybridObject('TestObjectCpp') +const testObject = NitroModules.createHybridObject('NitroTestTestObjectCpp') JSON.stringify(testObject) `.trim() diff --git a/example/src/screens/ViewScreen.tsx b/example/src/screens/ViewScreen.tsx index c17b84864..c53ae0a8b 100644 --- a/example/src/screens/ViewScreen.tsx +++ b/example/src/screens/ViewScreen.tsx @@ -9,6 +9,7 @@ import { RecyclableTestView, TestView, } from 'react-native-nitro-test' +import { TestView as ExternalTestView } from 'react-native-nitro-test-external' import { useIsFocused } from '@react-navigation/native' const VIEWS_X = 15 @@ -43,6 +44,23 @@ export function ViewScreenImpl() { }} /> ) + } else if (i % 3 === 1) { + return ( + { + console.log(`Ref initialized!`) + ref.testMethod() + })} + style={styles.view} + isCyan={i % 2 === 0} + testCallback={callback(() => console.log(`Callback called!`))} + hasBeenCalled={false} + onTouchEnd={() => { + console.log(`Touched View #${i}!`) + }} + /> + ) } else { return ( Date: Fri, 3 Apr 2026 02:41:59 +0400 Subject: [PATCH 07/10] revert local changes --- .../NitroExample.xcodeproj/project.pbxproj | 44 ++++--------------- example/ios/Podfile | 1 - example/ios/Podfile.lock | 14 +++--- .../src/screens/HybridObjectTestsScreen.tsx | 20 +++++++-- 4 files changed, 33 insertions(+), 46 deletions(-) diff --git a/example/ios/NitroExample.xcodeproj/project.pbxproj b/example/ios/NitroExample.xcodeproj/project.pbxproj index 8ae321ec2..0896f8c4f 100644 --- a/example/ios/NitroExample.xcodeproj/project.pbxproj +++ b/example/ios/NitroExample.xcodeproj/project.pbxproj @@ -7,12 +7,12 @@ objects = { /* Begin PBXBuildFile section */ + 0C80B921A6F3F58F76C31292 /* libPods-NitroExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-NitroExample.a */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; B5425A16F500085048F53261 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = A98DCE138B16911E2CF8DB85 /* PrivacyInfo.xcprivacy */; }; B81C701C2D42679D0010CA06 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B81C701B2D42679D0010CA06 /* AppDelegate.swift */; }; B88F64252CE4CF530079E862 /* MGLExampleTurboModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = B88F64242CE4CF4F0079E862 /* MGLExampleTurboModule.mm */; }; - CC3110D1676D9562A988E96F /* Pods_NitroExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0598AA40AC69E5794A4E726 /* Pods_NitroExample.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -33,8 +33,8 @@ 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = NitroExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; 3B4392A12AC88292D35C810B /* Pods-NitroExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NitroExample.debug.xcconfig"; path = "Target Support Files/Pods-NitroExample/Pods-NitroExample.debug.xcconfig"; sourceTree = ""; }; 5709B34CF0A7D63546082F79 /* Pods-NitroExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NitroExample.release.xcconfig"; path = "Target Support Files/Pods-NitroExample/Pods-NitroExample.release.xcconfig"; sourceTree = ""; }; + 5DCACB8F33CDC322A6C60F78 /* libPods-NitroExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-NitroExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = NitroExample/LaunchScreen.storyboard; sourceTree = ""; }; - A0598AA40AC69E5794A4E726 /* Pods_NitroExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_NitroExample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; A98DCE138B16911E2CF8DB85 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = NitroExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; B81C701B2D42679D0010CA06 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = NitroExample/AppDelegate.swift; sourceTree = ""; }; B88F64232CE4CF480079E862 /* MGLExampleTurboModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGLExampleTurboModule.h; sourceTree = ""; }; @@ -54,7 +54,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CC3110D1676D9562A988E96F /* Pods_NitroExample.framework in Frameworks */, + 0C80B921A6F3F58F76C31292 /* libPods-NitroExample.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -79,7 +79,7 @@ isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - A0598AA40AC69E5794A4E726 /* Pods_NitroExample.framework */, + 5DCACB8F33CDC322A6C60F78 /* libPods-NitroExample.a */, ); name = Frameworks; sourceTree = ""; @@ -389,7 +389,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = Y9326JGWX2; + DEVELOPMENT_TEAM = CJW62Q77E7; ENABLE_BITCODE = NO; INFOPLIST_FILE = NitroExample/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Nitro Example"; @@ -405,7 +405,7 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = com.mrousavy.nitro.example.a; + PRODUCT_BUNDLE_IDENTIFIER = com.mrousavy.nitro.example; PRODUCT_NAME = NitroExample; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -424,7 +424,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = Y9326JGWX2; + DEVELOPMENT_TEAM = CJW62Q77E7; INFOPLIST_FILE = NitroExample/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Nitro Example"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; @@ -439,7 +439,7 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = com.mrousavy.nitro.example.a; + PRODUCT_BUNDLE_IDENTIFIER = com.mrousavy.nitro.example; PRODUCT_NAME = NitroExample; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -501,19 +501,6 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "${PODS_ROOT}/ReactCommon", - "${PODS_ROOT}/ReactCommon/react/nativemodule/core", - "${PODS_ROOT}/React-runtimeexecutor", - "${PODS_ROOT}/React-runtimeexecutor/platform/ios", - "${PODS_ROOT}/ReactCommon-Samples", - "${PODS_ROOT}/ReactCommon-Samples/platform/ios", - "${PODS_ROOT}/React-Fabric/react/renderer/components/view/platform/cxx", - "${PODS_ROOT}/React-NativeModulesApple", - "${PODS_ROOT}/React-graphics", - "${PODS_ROOT}/React-graphics/react/renderer/graphics/platform/ios", - ); IPHONEOS_DEPLOYMENT_TARGET = 15.1; LD = ""; LDPLUSPLUS = ""; @@ -594,19 +581,6 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "${PODS_ROOT}/ReactCommon", - "${PODS_ROOT}/ReactCommon/react/nativemodule/core", - "${PODS_ROOT}/React-runtimeexecutor", - "${PODS_ROOT}/React-runtimeexecutor/platform/ios", - "${PODS_ROOT}/ReactCommon-Samples", - "${PODS_ROOT}/ReactCommon-Samples/platform/ios", - "${PODS_ROOT}/React-Fabric/react/renderer/components/view/platform/cxx", - "${PODS_ROOT}/React-NativeModulesApple", - "${PODS_ROOT}/React-graphics", - "${PODS_ROOT}/React-graphics/react/renderer/graphics/platform/ios", - ); IPHONEOS_DEPLOYMENT_TARGET = 15.1; LD = ""; LDPLUSPLUS = ""; @@ -675,4 +649,4 @@ /* End XCConfigurationList section */ }; rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; -} +} \ No newline at end of file diff --git a/example/ios/Podfile b/example/ios/Podfile index 2310a8919..ec564d1c2 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -1,7 +1,6 @@ ENV['RCT_NEW_ARCH_ENABLED'] = '1' ENV['RCT_USE_RN_DEP'] = '1' ENV['RCT_USE_PREBUILT_RNCORE'] = '1' -ENV['USE_FRAMEWORKS'] = 'static' Pod::UI.puts "Building with USE_FRAMEWORKS = #{ENV['USE_FRAMEWORKS']}..." diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 195ad7aee..4ebe4966b 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -3,7 +3,7 @@ PODS: - hermes-engine (0.14.0): - hermes-engine/Pre-built (= 0.14.0) - hermes-engine/Pre-built (0.14.0) - - NitroModules (0.35.2): + - NitroModules (0.35.3): - hermes-engine - RCTRequired - RCTTypeSafety @@ -26,7 +26,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - NitroTest (0.35.2): + - NitroTest (0.35.3): - hermes-engine - NitroModules - NitroTestExternal @@ -51,7 +51,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - Yoga - - NitroTestExternal (0.35.2): + - NitroTestExternal (0.35.3): - hermes-engine - NitroModules - RCTRequired @@ -2213,9 +2213,9 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: FBLazyVector: 7c1d69992204c5ec452eeefa4a24b0ff311709c8 hermes-engine: 4df240db09b8f56297ca8e63c2a793d538964397 - NitroModules: 2c251a51df07cbfc7fccb9be0b0a43a9d5c59a6f - NitroTest: 2c235dbad138cbba2fe695c70d94c283bee3466c - NitroTestExternal: 65b28fcf9e3c1e2e9148297689e6c0c2487ce56f + NitroModules: 1d1788c587eef7726097dc63fbf7a1a078e0d698 + NitroTest: 7d77bbd40141295df18f926075a06881c961db19 + NitroTestExternal: e6b04f06a57120036eb502c35eac321eb71f0aa0 RCTDeprecation: dbbb85eae640e3b43cc16462d0476b00ca5959ae RCTRequired: 7047b18af29a76069818fd3fa0f4df423483abab RCTSwiftUI: 5928f7ca7e9e2f1a82d85d4c79ea3065137ad81c @@ -2290,6 +2290,6 @@ SPEC CHECKSUMS: RNScreens: e91463674394a1969b4688eb5db419d7045fce2d Yoga: 9173d03d8af1d56e8d0ef56c6433c4322013ea1f -PODFILE CHECKSUM: 1055e23e5aeac4dd7483f9407c6488d42e937f0c +PODFILE CHECKSUM: a2fa71198dd9754133de56bffe8682b8c5066b04 COCOAPODS: 1.15.2 diff --git a/example/src/screens/HybridObjectTestsScreen.tsx b/example/src/screens/HybridObjectTestsScreen.tsx index e6e27168c..efe067fd6 100644 --- a/example/src/screens/HybridObjectTestsScreen.tsx +++ b/example/src/screens/HybridObjectTestsScreen.tsx @@ -17,7 +17,7 @@ import { } from 'react-native-nitro-test' import { getTests, type TestRunner } from '../getTests' import { logPrototypeChain } from '../logPrototypeChain' -// import SegmentedControl from '@react-native-segmented-control/segmented-control' +import SegmentedControl from '@react-native-segmented-control/segmented-control' import { NitroModules } from 'react-native-nitro-modules' import { useSafeAreaInsets } from 'react-native-safe-area-context' import { useColors } from '../useColors' @@ -207,7 +207,14 @@ export function HybridObjectTestsScreen() { HybridObject Tests - + { + setSelectedIndex(selectedSegmentIndex) + }} + /> {NitroModules.buildType} @@ -239,7 +246,14 @@ export function HybridObjectTestsScreen() { - + { + setStatusFilter(FILTER_OPTIONS[selectedSegmentIndex]!) + }} + /> Date: Fri, 3 Apr 2026 03:10:45 +0400 Subject: [PATCH 08/10] nitrogen changes --- packages/nitrogen/src/createTsHelpers.ts | 95 +++++++++++++++++++ packages/nitrogen/src/nitrogen.ts | 39 +++++++- packages/nitrogen/src/syntax/c++/CppEnum.ts | 8 +- .../src/syntax/c++/CppHybridObject.ts | 21 ++-- .../syntax/c++/CppHybridObjectRegistration.ts | 8 +- packages/nitrogen/src/syntax/c++/CppStruct.ts | 12 ++- packages/nitrogen/src/syntax/c++/CppUnion.ts | 8 +- packages/nitrogen/src/syntax/helpers.ts | 7 ++ .../src/syntax/kotlin/FbjniHybridObject.ts | 10 +- .../src/syntax/kotlin/KotlinHybridObject.ts | 10 +- .../kotlin/KotlinHybridObjectRegistration.ts | 7 +- .../src/syntax/swift/SwiftCxxTypeHelper.ts | 12 ++- .../src/syntax/swift/SwiftHybridObject.ts | 10 +- .../syntax/swift/SwiftHybridObjectBridge.ts | 21 ++-- .../swift/SwiftHybridObjectRegistration.ts | 13 ++- .../src/syntax/types/HybridObjectType.ts | 10 +- .../src/views/CppHybridViewComponent.ts | 12 ++- .../src/views/createHostComponentJs.ts | 4 +- .../views/kotlin/KotlinHybridViewManager.ts | 3 +- .../src/views/swift/SwiftHybridViewManager.ts | 5 +- 20 files changed, 270 insertions(+), 45 deletions(-) create mode 100644 packages/nitrogen/src/createTsHelpers.ts diff --git a/packages/nitrogen/src/createTsHelpers.ts b/packages/nitrogen/src/createTsHelpers.ts new file mode 100644 index 000000000..66b8db3d5 --- /dev/null +++ b/packages/nitrogen/src/createTsHelpers.ts @@ -0,0 +1,95 @@ +import { NitroConfig } from './config/NitroConfig.js' +import type { Language } from './getPlatformSpecs.js' +import { createFileMetadataString } from './syntax/helpers.js' +import type { SourceFile } from './syntax/SourceFile.js' + +export function generateViewHostComponentGetter( + hybridViewNames: string[] +): SourceFile { + const moduleName = NitroConfig.current.getIosModuleName() + const viewHostComponentGetterName = `get${moduleName}HostComponent` + + const imports = hybridViewNames.map( + (name) => `import ${name}Config from '../json/${name}Config.json'` + ) + + const registrations = hybridViewNames.map( + (name) => + ` ${name}: {\n name: '${moduleName}${name}',\n config: ${name}Config,\n },` + ) + + const code = ` +${createFileMetadataString(`${viewHostComponentGetterName}.ts`)} +import { + getHostComponent, + type HybridViewMethods, + type HybridViewProps, + type ViewConfig, +} from 'react-native-nitro-modules' + +${imports.join('\n')} + +const REGISTERED_COMPONENTS = { +${registrations.join('\n')} +} as const + +export function get${moduleName}HostComponent< + Props extends HybridViewProps, + Methods extends HybridViewMethods, +>( + name: keyof typeof REGISTERED_COMPONENTS +): ReturnType> { + const component = REGISTERED_COMPONENTS[name] + const config = component.config as ViewConfig + return getHostComponent(component.name, () => config) +} + `.trim() + return { + content: code, + language: 'ts' as Language, + name: `${viewHostComponentGetterName}.ts`, + platform: 'shared', + subdirectory: [], + } +} + +export function generateHybridObjectCreator( + hybridObjectNames: string[] +): SourceFile { + const autolinkedHybridObjects = Object.keys( + NitroConfig.current.getAutolinkedHybridObjects() + ) + hybridObjectNames = hybridObjectNames.filter((name) => + autolinkedHybridObjects.includes(name) + ) + const moduleName = NitroConfig.current.getIosModuleName() + const hybridObjectCreatorName = `create${moduleName}HybridObject` + + const registrations = hybridObjectNames.map( + (name) => ` ${name}: '${moduleName}${name}',` + ) + + const code = ` +${createFileMetadataString(`${hybridObjectCreatorName}.ts`)} +import { NitroModules, type HybridObject } from 'react-native-nitro-modules' + +const REGISTERED_OBJECTS = { +${registrations.join('\n')} +} as const + +export function create${moduleName}HybridObject>( + name: keyof typeof REGISTERED_OBJECTS +): ReturnType> { + return NitroModules.createHybridObject(REGISTERED_OBJECTS[name]) +} + + `.trim() + + return { + content: code, + language: 'ts' as Language, + name: `${hybridObjectCreatorName}.ts`, + platform: 'shared', + subdirectory: [], + } +} diff --git a/packages/nitrogen/src/nitrogen.ts b/packages/nitrogen/src/nitrogen.ts index 3fe66d57a..17c62aed6 100644 --- a/packages/nitrogen/src/nitrogen.ts +++ b/packages/nitrogen/src/nitrogen.ts @@ -26,6 +26,10 @@ import type { Autolinking } from './autolinking/Autolinking.js' import { createGitAttributes } from './createGitAttributes.js' import type { PlatformSpec } from 'react-native-nitro-modules' import { NITROGEN_VERSION } from './config/nitrogenVersion.js' +import { + generateHybridObjectCreator, + generateViewHostComponentGetter, +} from './createTsHelpers.js' interface NitrogenOptions { baseDirectory: string @@ -91,6 +95,8 @@ export async function runNitrogen({ const usedPlatforms: Platform[] = [] const filesAfter: string[] = [] const writtenFiles: SourceFile[] = [] + const hybridViewNames: string[] = [] + const hybridObjectNames: string[] = [] for (const sourceFile of project.getSourceFiles()) { Logger.info(`⏳ Parsing ${sourceFile.getBaseName()}...`) @@ -107,12 +113,15 @@ export async function runNitrogen({ try { let platformSpec: PlatformSpec if (isHybridView(declaration.getType())) { - // Hybrid View Props + // Hybrid View + hybridViewNames.push(typeName) platformSpec = getHybridViewPlatforms(declaration) } else if (extendsHybridObject(declaration.getType(), true)) { - // Hybrid View + // Hybrid Object + hybridObjectNames.push(typeName) platformSpec = getHybridObjectPlatforms(declaration) } else { + // Just a regular interface or type alias continue } @@ -218,6 +227,32 @@ export async function runNitrogen({ } } + // TypeScript utils + if (hybridViewNames.length > 0) { + Logger.info(`📘 Generating TypeScript helper for hybrid views...`) + const viewHelperFile = generateViewHostComponentGetter(hybridViewNames) + const basePath = path.join( + outputDirectory, + viewHelperFile.platform, + viewHelperFile.language + ) + const actualPath = await writeFile(basePath, viewHelperFile) + filesAfter.push(actualPath) + } + + if (hybridObjectNames.length > 0) { + Logger.info(`📘 Generating TypeScript helper for hybrid objects...`) + const hybridObjectHelperFile = + generateHybridObjectCreator(hybridObjectNames) + const basePath = path.join( + outputDirectory, + hybridObjectHelperFile.platform, + hybridObjectHelperFile.language + ) + const actualPath = await writeFile(basePath, hybridObjectHelperFile) + filesAfter.push(actualPath) + } + try { // write a .gitattributes file const markAsGenerated = NitroConfig.current.getGitAttributesGeneratedFlag() diff --git a/packages/nitrogen/src/syntax/c++/CppEnum.ts b/packages/nitrogen/src/syntax/c++/CppEnum.ts index 55ea99a42..6edfb4e50 100644 --- a/packages/nitrogen/src/syntax/c++/CppEnum.ts +++ b/packages/nitrogen/src/syntax/c++/CppEnum.ts @@ -1,7 +1,7 @@ import { NitroConfig } from '../../config/NitroConfig.js' import { indent, toLowerCamelCase } from '../../utils.js' import type { SourceFile } from '../SourceFile.js' -import { createFileMetadataString } from '../helpers.js' +import { createFileMetadataString, getWithModuleName } from '../helpers.js' import type { EnumMember } from '../types/EnumType.js' import { includeNitroHeader } from './includeNitroHeader.js' @@ -67,9 +67,11 @@ switch (integer) { `.trim() } + const fileName = getWithModuleName(NitroConfig.current, typename) + // Create entire C++ file const cppCode = ` -${createFileMetadataString(`${typename}.hpp`)} +${createFileMetadataString(`${fileName}.hpp`)} #pragma once @@ -121,7 +123,7 @@ namespace margelo::nitro { return { content: cppCode, subdirectory: [], - name: `${typename}.hpp`, + name: `${fileName}.hpp`, language: 'c++', platform: 'shared', } diff --git a/packages/nitrogen/src/syntax/c++/CppHybridObject.ts b/packages/nitrogen/src/syntax/c++/CppHybridObject.ts index 2256b0561..3a28e894f 100644 --- a/packages/nitrogen/src/syntax/c++/CppHybridObject.ts +++ b/packages/nitrogen/src/syntax/c++/CppHybridObject.ts @@ -1,5 +1,9 @@ import type { SourceFile } from '../SourceFile.js' -import { createFileMetadataString, isNotDuplicate } from '../helpers.js' +import { + createFileMetadataString, + getWithModuleName, + isNotDuplicate, +} from '../helpers.js' import { indent } from '../../utils.js' import type { HybridObjectSpec } from '../HybridObjectSpec.js' import { includeHeader, includeNitroHeader } from './includeNitroHeader.js' @@ -43,9 +47,12 @@ export function createCppHybridObject(spec: HybridObjectSpec): SourceFile[] { bases.push(`public virtual ${fullName}`) } + const hybridTSpecName = getWithModuleName(spec.config, name.HybridTSpec) + const registeredName = getWithModuleName(spec.config, name.T) + // Generate the full header / code const cppHeaderCode = ` -${createFileMetadataString(`${name.HybridTSpec}.hpp`)} +${createFileMetadataString(`${hybridTSpecName}.hpp`)} #pragma once @@ -94,7 +101,7 @@ namespace ${cxxNamespace} { protected: // Tag for logging - static constexpr auto TAG = "${spec.name}"; + static constexpr auto TAG = "${registeredName}"; }; } // namespace ${cxxNamespace} @@ -132,9 +139,9 @@ namespace ${cxxNamespace} { } const cppBodyCode = ` -${createFileMetadataString(`${name.HybridTSpec}.cpp`)} +${createFileMetadataString(`${hybridTSpecName}.cpp`)} -#include "${name.HybridTSpec}.hpp" +#include "${hybridTSpecName}.hpp" namespace ${cxxNamespace} { @@ -153,14 +160,14 @@ namespace ${cxxNamespace} { const files: SourceFile[] = [] files.push({ content: cppHeaderCode, - name: `${name.HybridTSpec}.hpp`, + name: `${hybridTSpecName}.hpp`, subdirectory: [], language: 'c++', platform: 'shared', }) files.push({ content: cppBodyCode, - name: `${name.HybridTSpec}.cpp`, + name: `${hybridTSpecName}.cpp`, subdirectory: [], language: 'c++', platform: 'shared', diff --git a/packages/nitrogen/src/syntax/c++/CppHybridObjectRegistration.ts b/packages/nitrogen/src/syntax/c++/CppHybridObjectRegistration.ts index dcdea6583..512d6c700 100644 --- a/packages/nitrogen/src/syntax/c++/CppHybridObjectRegistration.ts +++ b/packages/nitrogen/src/syntax/c++/CppHybridObjectRegistration.ts @@ -1,3 +1,5 @@ +import { NitroConfig } from '../../config/NitroConfig.js' +import { getWithModuleName } from '../helpers.js' import type { SourceImport } from '../SourceFile.js' interface Props { @@ -20,13 +22,17 @@ export function createCppHybridObjectRegistration({ hybridObjectName, cppClassName, }: Props): CppHybridObjectRegistration { + const registeredName = getWithModuleName( + NitroConfig.current, + hybridObjectName + ) return { requiredImports: [ { name: `${cppClassName}.hpp`, language: 'c++', space: 'user' }, ], cppCode: ` HybridObjectRegistry::registerHybridObjectConstructor( - "${hybridObjectName}", + "${registeredName}", []() -> std::shared_ptr { static_assert(std::is_default_constructible_v<${cppClassName}>, "The HybridObject \\"${cppClassName}\\" is not default-constructible! " diff --git a/packages/nitrogen/src/syntax/c++/CppStruct.ts b/packages/nitrogen/src/syntax/c++/CppStruct.ts index 586066827..d79d5bf0b 100644 --- a/packages/nitrogen/src/syntax/c++/CppStruct.ts +++ b/packages/nitrogen/src/syntax/c++/CppStruct.ts @@ -1,6 +1,10 @@ import type { FileWithReferencedTypes } from '../SourceFile.js' import { indent } from '../../utils.js' -import { createFileMetadataString, isNotDuplicate } from '../helpers.js' +import { + createFileMetadataString, + getWithModuleName, + isNotDuplicate, +} from '../helpers.js' import type { NamedType } from '../types/Type.js' import { includeHeader, includeNitroHeader } from './includeNitroHeader.js' import { NitroConfig } from '../../config/NitroConfig.js' @@ -74,8 +78,10 @@ export function createCppStruct( .filter(isNotDuplicate) const cxxNamespace = NitroConfig.current.getCxxNamespace('c++') + const fileName = getWithModuleName(NitroConfig.current, typename) + const cppCode = ` -${createFileMetadataString(`${typename}.hpp`)} +${createFileMetadataString(`${fileName}.hpp`)} #pragma once @@ -140,7 +146,7 @@ namespace margelo::nitro { ` return { content: cppCode, - name: `${typename}.hpp`, + name: `${fileName}.hpp`, subdirectory: [], language: 'c++', referencedTypes: properties, diff --git a/packages/nitrogen/src/syntax/c++/CppUnion.ts b/packages/nitrogen/src/syntax/c++/CppUnion.ts index 7e8efd37e..657528edf 100644 --- a/packages/nitrogen/src/syntax/c++/CppUnion.ts +++ b/packages/nitrogen/src/syntax/c++/CppUnion.ts @@ -1,5 +1,5 @@ import type { SourceFile } from '../SourceFile.js' -import { createFileMetadataString } from './../helpers.js' +import { createFileMetadataString, getWithModuleName } from './../helpers.js' import { indent, toLowerCamelCase } from '../../utils.js' import type { EnumMember } from '../types/EnumType.js' import { includeNitroHeader } from './includeNitroHeader.js' @@ -38,8 +38,10 @@ export function createCppUnion( .join('\n') const cxxNamespace = NitroConfig.current.getCxxNamespace('c++') + const fileName = getWithModuleName(NitroConfig.current, typename) + const cppCode = ` -${createFileMetadataString(`${typename}.hpp`)} +${createFileMetadataString(`${fileName}.hpp`)} #pragma once @@ -97,7 +99,7 @@ namespace margelo::nitro { ` return { content: cppCode, - name: `${typename}.hpp`, + name: `${fileName}.hpp`, subdirectory: [], language: 'c++', platform: 'shared', diff --git a/packages/nitrogen/src/syntax/helpers.ts b/packages/nitrogen/src/syntax/helpers.ts index e3ff5b09b..beac2a5c4 100644 --- a/packages/nitrogen/src/syntax/helpers.ts +++ b/packages/nitrogen/src/syntax/helpers.ts @@ -22,6 +22,13 @@ ${comment} `.trim() } +export function getWithModuleName( + sourceConfig: NitroConfig, + originalName: T +): `${string}${T}` { + return `${sourceConfig.getIosModuleName()}${originalName}` +} + export function isFunction(type: Type): boolean { switch (type.kind) { case 'function': diff --git a/packages/nitrogen/src/syntax/kotlin/FbjniHybridObject.ts b/packages/nitrogen/src/syntax/kotlin/FbjniHybridObject.ts index 7332d6131..6a585027d 100644 --- a/packages/nitrogen/src/syntax/kotlin/FbjniHybridObject.ts +++ b/packages/nitrogen/src/syntax/kotlin/FbjniHybridObject.ts @@ -3,7 +3,11 @@ import { getForwardDeclaration } from '../c++/getForwardDeclaration.js' import { includeHeader } from '../c++/includeNitroHeader.js' import { getAllTypes } from '../getAllTypes.js' import { getHybridObjectName } from '../getHybridObjectName.js' -import { createFileMetadataString, isNotDuplicate } from '../helpers.js' +import { + createFileMetadataString, + getWithModuleName, + isNotDuplicate, +} from '../helpers.js' import type { HybridObjectSpec } from '../HybridObjectSpec.js' import { Method } from '../Method.js' import type { Property } from '../Property.js' @@ -81,6 +85,8 @@ export function createFbjniHybridObject(spec: HybridObjectSpec): SourceFile[] { }) } + const hybridTSpecName = getWithModuleName(spec.config, name.HybridTSpec) + const cppHeaderCode = ` ${createFileMetadataString(`${name.HybridTSpec}.hpp`)} @@ -88,7 +94,7 @@ ${createFileMetadataString(`${name.HybridTSpec}.hpp`)} #include #include -#include "${name.HybridTSpec}.hpp" +#include "${hybridTSpecName}.hpp" ${cppImports .map((i) => i.forwardDeclaration) diff --git a/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts b/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts index b72834011..64f4f5424 100644 --- a/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts +++ b/packages/nitrogen/src/syntax/kotlin/KotlinHybridObject.ts @@ -2,7 +2,11 @@ import { indent } from '../../utils.js' import { createKotlinHybridViewManager } from '../../views/kotlin/KotlinHybridViewManager.js' import { getAllTypes } from '../getAllTypes.js' import { getHybridObjectName } from '../getHybridObjectName.js' -import { createFileMetadataString, isNotDuplicate } from '../helpers.js' +import { + createFileMetadataString, + getWithModuleName, + isNotDuplicate, +} from '../helpers.js' import type { HybridObjectSpec } from '../HybridObjectSpec.js' import { Method } from '../Method.js' import { Property } from '../Property.js' @@ -60,6 +64,8 @@ export function createKotlinHybridObject(spec: HybridObjectSpec): SourceFile[] { const javaPackage = spec.config.getAndroidPackage('java/kotlin') + const registeredName = getWithModuleName(spec.config, name.T) + // 1. Create Kotlin abstract class definition const abstractClassCode = ` ${createFileMetadataString(`${name.HybridTSpec}.kt`)} @@ -91,7 +97,7 @@ abstract class ${name.HybridTSpec}: ${kotlinBase}() { // Default implementation of \`HybridObject.toString()\` override fun toString(): String { - return "[HybridObject ${name.T}]" + return "[HybridObject ${registeredName}]" } // C++ backing class diff --git a/packages/nitrogen/src/syntax/kotlin/KotlinHybridObjectRegistration.ts b/packages/nitrogen/src/syntax/kotlin/KotlinHybridObjectRegistration.ts index d6b7fee75..ec605faf3 100644 --- a/packages/nitrogen/src/syntax/kotlin/KotlinHybridObjectRegistration.ts +++ b/packages/nitrogen/src/syntax/kotlin/KotlinHybridObjectRegistration.ts @@ -1,5 +1,6 @@ import { NitroConfig } from '../../config/NitroConfig.js' import { getHybridObjectName } from '../getHybridObjectName.js' +import { getWithModuleName } from '../helpers.js' import type { SourceImport } from '../SourceFile.js' interface Props { @@ -28,6 +29,10 @@ export function createJNIHybridObjectRegistration({ 'c++/jni', jniClassName ) + const registeredName = getWithModuleName( + NitroConfig.current, + hybridObjectName + ) return { requiredImports: [ @@ -50,7 +55,7 @@ struct ${JHybridTSpec}Impl: public jni::JavaClass<${JHybridTSpec}Impl, ${JHybrid `.trim(), cppCode: ` HybridObjectRegistry::registerHybridObjectConstructor( - "${hybridObjectName}", + "${registeredName}", []() -> std::shared_ptr { return ${JHybridTSpec}Impl::create(); } diff --git a/packages/nitrogen/src/syntax/swift/SwiftCxxTypeHelper.ts b/packages/nitrogen/src/syntax/swift/SwiftCxxTypeHelper.ts index 117564908..d3be964a4 100644 --- a/packages/nitrogen/src/syntax/swift/SwiftCxxTypeHelper.ts +++ b/packages/nitrogen/src/syntax/swift/SwiftCxxTypeHelper.ts @@ -1,4 +1,8 @@ -import { escapeCppName, toReferenceType } from '../helpers.js' +import { + escapeCppName, + getWithModuleName, + toReferenceType, +} from '../helpers.js' import type { SourceImport } from '../SourceFile.js' import { VariantType } from '../types/VariantType.js' import { ArrayType } from '../types/ArrayType.js' @@ -87,10 +91,14 @@ function createCxxHybridObjectSwiftHelper( const includes: SourceImport[] = [] if (!type.sourceConfig.isExternalConfig) { // we are including our Swift helper internally. this is a private header so we can include just fine. + const hybridTSpecSwiftName = getWithModuleName( + type.sourceConfig, + HybridTSpecSwift + ) includes.push({ language: 'c++', // Hybrid Object Swift C++ class wrapper - name: `${HybridTSpecSwift}.hpp`, + name: `${hybridTSpecSwiftName}.hpp`, space: 'user', }) } else { diff --git a/packages/nitrogen/src/syntax/swift/SwiftHybridObject.ts b/packages/nitrogen/src/syntax/swift/SwiftHybridObject.ts index 1a05a7714..b903ef528 100644 --- a/packages/nitrogen/src/syntax/swift/SwiftHybridObject.ts +++ b/packages/nitrogen/src/syntax/swift/SwiftHybridObject.ts @@ -1,7 +1,11 @@ import { indent } from '../../utils.js' import { createSwiftHybridViewManager } from '../../views/swift/SwiftHybridViewManager.js' import { getHybridObjectName } from '../getHybridObjectName.js' -import { createFileMetadataString, isNotDuplicate } from '../helpers.js' +import { + createFileMetadataString, + getWithModuleName, + isNotDuplicate, +} from '../helpers.js' import type { HybridObjectSpec } from '../HybridObjectSpec.js' import type { SourceFile } from '../SourceFile.js' import { HybridObjectType } from '../types/HybridObjectType.js' @@ -67,6 +71,8 @@ public ${hasBaseClass ? 'override func' : 'func'} getCxxWrapper() -> ${name.Hybr requiredImports.push('import NitroModules') const imports = requiredImports.filter(isNotDuplicate) + const registeredName = getWithModuleName(spec.config, name.T) + const protocolCode = ` ${createFileMetadataString(`${protocolName}.swift`)} @@ -84,7 +90,7 @@ public protocol ${protocolName}_protocol: ${protocolBaseClasses.join(', ')} { public extension ${protocolName}_protocol { /// Default implementation of \`\`HybridObject.toString\`\` func toString() -> String { - return "[HybridObject ${name.T}]" + return "[HybridObject ${registeredName}]" } } diff --git a/packages/nitrogen/src/syntax/swift/SwiftHybridObjectBridge.ts b/packages/nitrogen/src/syntax/swift/SwiftHybridObjectBridge.ts index bb28038e2..bb5b55319 100644 --- a/packages/nitrogen/src/syntax/swift/SwiftHybridObjectBridge.ts +++ b/packages/nitrogen/src/syntax/swift/SwiftHybridObjectBridge.ts @@ -6,6 +6,7 @@ import type { Method } from '../Method.js' import { createFileMetadataString, escapeCppName, + getWithModuleName, isNotDuplicate, } from '../helpers.js' import type { SourceFile } from '../SourceFile.js' @@ -354,7 +355,7 @@ if (__result.hasError()) [[unlikely]] { cppBaseCtorCalls.push(`${baseName.HybridTSpecSwift}(swiftPart)`) extraImports.push({ language: 'c++', - name: `${baseName.HybridTSpecSwift}.hpp`, + name: `${getWithModuleName(spec.config, baseName.HybridTSpecSwift)}.hpp`, space: 'user', forwardDeclaration: getForwardDeclaration( 'class', @@ -372,13 +373,19 @@ if (__result.hasError()) [[unlikely]] { .map((i) => includeHeader(i)) .filter(isNotDuplicate) + const hybridTSpecSwiftName = getWithModuleName( + spec.config, + name.HybridTSpecSwift + ) + const hybridTSpecName = getWithModuleName(spec.config, name.HybridTSpec) + // TODO: Remove forward declaration once Swift fixes the wrong order in generated -Swift.h headers! const cppHybridObjectCode = ` -${createFileMetadataString(`${name.HybridTSpecSwift}.hpp`)} +${createFileMetadataString(`${hybridTSpecSwiftName}.hpp`)} #pragma once -#include "${name.HybridTSpec}.hpp" +#include "${hybridTSpecName}.hpp" ${getForwardDeclaration('class', name.HybridTSpecCxx, iosModuleName)} @@ -445,9 +452,9 @@ namespace ${cxxNamespace} { } // namespace ${cxxNamespace} ` const cppHybridObjectCodeCpp = ` -${createFileMetadataString(`${name.HybridTSpecSwift}.cpp`)} +${createFileMetadataString(`${hybridTSpecSwiftName}.cpp`)} -#include "${name.HybridTSpecSwift}.hpp" +#include "${hybridTSpecSwiftName}.hpp" namespace ${cxxNamespace} { } // namespace ${cxxNamespace} @@ -465,14 +472,14 @@ namespace ${cxxNamespace} { files.push({ content: cppHybridObjectCode, language: 'c++', - name: `${name.HybridTSpecSwift}.hpp`, + name: `${hybridTSpecSwiftName}.hpp`, subdirectory: [], platform: 'ios', }) files.push({ content: cppHybridObjectCodeCpp, language: 'c++', - name: `${name.HybridTSpecSwift}.cpp`, + name: `${hybridTSpecSwiftName}.cpp`, subdirectory: [], platform: 'ios', }) diff --git a/packages/nitrogen/src/syntax/swift/SwiftHybridObjectRegistration.ts b/packages/nitrogen/src/syntax/swift/SwiftHybridObjectRegistration.ts index cfbb53e37..cd70a8194 100644 --- a/packages/nitrogen/src/syntax/swift/SwiftHybridObjectRegistration.ts +++ b/packages/nitrogen/src/syntax/swift/SwiftHybridObjectRegistration.ts @@ -1,6 +1,7 @@ import { NitroConfig } from '../../config/NitroConfig.js' import { indent } from '../../utils.js' import { getHybridObjectName } from '../getHybridObjectName.js' +import { getWithModuleName } from '../helpers.js' import type { SourceImport } from '../SourceFile.js' import { HybridObjectType } from '../types/HybridObjectType.js' import { SwiftCxxBridgedType } from './SwiftCxxBridgedType.js' @@ -45,6 +46,14 @@ export function createSwiftHybridObjectRegistration({ swiftClassName, }: Props): SwiftHybridObjectRegistration { const { HybridTSpecSwift } = getHybridObjectName(hybridObjectName) + const hybridTSpecSwiftName = getWithModuleName( + NitroConfig.current, + HybridTSpecSwift + ) + const registeredName = getWithModuleName( + NitroConfig.current, + hybridObjectName + ) const type = new HybridObjectType( hybridObjectName, @@ -66,11 +75,11 @@ public static func is${hybridObjectName}Recyclable() -> Bool { } `.trim(), requiredImports: [ - { name: `${HybridTSpecSwift}.hpp`, language: 'c++', space: 'user' }, + { name: `${hybridTSpecSwiftName}.hpp`, language: 'c++', space: 'user' }, ], cppCode: ` HybridObjectRegistry::registerHybridObjectConstructor( - "${hybridObjectName}", + "${registeredName}", []() -> std::shared_ptr { ${type.getCode('c++')} hybridObject = ${getHybridObjectConstructorCall(hybridObjectName)} return hybridObject; diff --git a/packages/nitrogen/src/syntax/types/HybridObjectType.ts b/packages/nitrogen/src/syntax/types/HybridObjectType.ts index ceeed0f1e..1e9bba8c9 100644 --- a/packages/nitrogen/src/syntax/types/HybridObjectType.ts +++ b/packages/nitrogen/src/syntax/types/HybridObjectType.ts @@ -2,6 +2,7 @@ import { type NitroConfig } from '../../config/NitroConfig.js' import type { Language } from '../../getPlatformSpecs.js' import { getForwardDeclaration } from '../c++/getForwardDeclaration.js' import { getHybridObjectName } from '../getHybridObjectName.js' +import { getWithModuleName } from '../helpers.js' import type { HybridObjectSpec } from '../HybridObjectSpec.js' import type { SourceFile, SourceImport } from '../SourceFile.js' import type { GetCodeOptions, Type, TypeKind } from './Type.js' @@ -138,6 +139,11 @@ export class HybridObjectType implements Type { const cxxNamespace = this.sourceConfig.getCxxNamespace('c++') const imports: SourceImport[] = [] + const hybridTSpecName = getWithModuleName( + this.sourceConfig, + name.HybridTSpec + ) + switch (language) { case 'c++': { imports.push({ @@ -148,7 +154,7 @@ export class HybridObjectType implements Type { if (this.sourceConfig.isExternalConfig) { const cxxImport = this.getExternalCxxImportName() imports.push({ - name: `${cxxImport}/${name.HybridTSpec}.hpp`, + name: `${cxxImport}/${hybridTSpecName}.hpp`, forwardDeclaration: getForwardDeclaration( 'class', name.HybridTSpec, @@ -159,7 +165,7 @@ export class HybridObjectType implements Type { }) } else { imports.push({ - name: `${name.HybridTSpec}.hpp`, + name: `${hybridTSpecName}.hpp`, forwardDeclaration: getForwardDeclaration( 'class', name.HybridTSpec, diff --git a/packages/nitrogen/src/views/CppHybridViewComponent.ts b/packages/nitrogen/src/views/CppHybridViewComponent.ts index 55ada8153..e12792f2e 100644 --- a/packages/nitrogen/src/views/CppHybridViewComponent.ts +++ b/packages/nitrogen/src/views/CppHybridViewComponent.ts @@ -4,6 +4,7 @@ import { createIndentation, indent } from '../utils.js' import { createFileMetadataString, escapeCppName, + getWithModuleName, isFunction, isNotDuplicate, } from '../syntax/helpers.js' @@ -23,6 +24,7 @@ interface ViewComponentNames { nameVariable: `${string}ComponentName` shadowNodeClassName: `${string}ShadowNode` descriptorClassName: `${string}ComponentDescriptor` + uiClassName: string component: `${string}Component` manager: `${string}Manager` } @@ -37,7 +39,9 @@ export function getViewComponentNames( nameVariable: `${name.HybridT}ComponentName`, shadowNodeClassName: `${name.HybridT}ShadowNode`, descriptorClassName: `${name.HybridT}ComponentDescriptor`, - component: `${name.HybridT}Component`, + uiClassName: getWithModuleName(spec.config, name.T), + // Component name must be unique to avoid conflicts with other modules + component: getWithModuleName(spec.config, `${name.HybridT}Component`), manager: `${name.HybridT}Manager`, } } @@ -59,13 +63,14 @@ export function createViewComponentShadowNodeFiles( ) } - const { T, HybridT } = getHybridObjectName(spec.name) + const { HybridT } = getHybridObjectName(spec.name) const { propsClassName, stateClassName, nameVariable, shadowNodeClassName, descriptorClassName, + uiClassName, component, } = getViewComponentNames(spec) @@ -223,6 +228,7 @@ ${name}([&]() -> CachedProp<${type}> { const ctorIndent = createIndentation(propsClassName.length * 2) const descriptorIndent = createIndentation(descriptorClassName.length) + const componentCode = ` ${createFileMetadataString(`${component}.cpp`)} @@ -241,7 +247,7 @@ ${createFileMetadataString(`${component}.cpp`)} namespace ${namespace} { - extern const char ${nameVariable}[] = "${T}"; + extern const char ${nameVariable}[] = "${uiClassName}"; ${propsClassName}::${propsClassName}(const react::PropsParserContext& context, ${ctorIndent} const ${propsClassName}& sourceProps, diff --git a/packages/nitrogen/src/views/createHostComponentJs.ts b/packages/nitrogen/src/views/createHostComponentJs.ts index 6a8c3cded..6d048f98e 100644 --- a/packages/nitrogen/src/views/createHostComponentJs.ts +++ b/packages/nitrogen/src/views/createHostComponentJs.ts @@ -3,16 +3,18 @@ import type { HybridObjectSpec } from '../syntax/HybridObjectSpec.js' import type { SourceFile } from '../syntax/SourceFile.js' import { getHybridObjectName } from '../syntax/getHybridObjectName.js' import { indent } from '../utils.js' +import { getViewComponentNames } from './CppHybridViewComponent.js' export function createHostComponentJs(spec: HybridObjectSpec): SourceFile[] { const { T } = getHybridObjectName(spec.name) + const { uiClassName } = getViewComponentNames(spec) const props = spec.properties.map((p) => `"${p.name}": true`) props.push(`"hybridRef": true`) const code = ` { - "uiViewClassName": "${T}", + "uiViewClassName": "${uiClassName}", "supportsRawText": false, "bubblingEventTypes": {}, "directEventTypes": {}, diff --git a/packages/nitrogen/src/views/kotlin/KotlinHybridViewManager.ts b/packages/nitrogen/src/views/kotlin/KotlinHybridViewManager.ts index a27718115..4b8f4f3a2 100644 --- a/packages/nitrogen/src/views/kotlin/KotlinHybridViewManager.ts +++ b/packages/nitrogen/src/views/kotlin/KotlinHybridViewManager.ts @@ -26,6 +26,7 @@ export function createKotlinHybridViewManager( component, propsClassName, descriptorClassName, + uiClassName, } = getViewComponentNames(spec) const stateUpdaterName = `${stateClassName}Updater` const implementation = spec.config.getAndroidAutolinkedImplementation( @@ -64,7 +65,7 @@ public class ${manager}: SimpleViewManager() { } override fun getName(): String { - return "${spec.name}" + return "${uiClassName}" } override fun createViewInstance(reactContext: ThemedReactContext): View { diff --git a/packages/nitrogen/src/views/swift/SwiftHybridViewManager.ts b/packages/nitrogen/src/views/swift/SwiftHybridViewManager.ts index 68c579ffb..5d914121a 100644 --- a/packages/nitrogen/src/views/swift/SwiftHybridViewManager.ts +++ b/packages/nitrogen/src/views/swift/SwiftHybridViewManager.ts @@ -7,6 +7,7 @@ import { import { createFileMetadataString, escapeCppName, + getWithModuleName, } from '../../syntax/helpers.js' import { getUmbrellaHeaderName } from '../../autolinking/ios/createSwiftUmbrellaHeader.js' import { getHybridObjectName } from '../../syntax/getHybridObjectName.js' @@ -52,6 +53,8 @@ if (newViewProps.${name}.isDirty) { `.trim() }) + const hybridTSpecSwiftName = getWithModuleName(spec.config, HybridTSpecSwift) + const mmFile = ` ${createFileMetadataString(`${component}.mm`)} @@ -64,7 +67,7 @@ ${createFileMetadataString(`${component}.mm`)} #import #import -#import "${HybridTSpecSwift}.hpp" +#import "${hybridTSpecSwiftName}.hpp" #import "${getUmbrellaHeaderName()}" #if __has_include() From 580c8a1d6c330133ed8a253b4856987ce458f518 Mon Sep 17 00:00:00 2001 From: Andrei Kologreev Date: Fri, 3 Apr 2026 04:17:23 +0400 Subject: [PATCH 09/10] revert local changes --- bun.lock | 3 +++ example/package.json | 1 + 2 files changed, 4 insertions(+) diff --git a/bun.lock b/bun.lock index 9227496c4..8d01654ba 100644 --- a/bun.lock +++ b/bun.lock @@ -57,6 +57,7 @@ "name": "react-native-nitro-example", "version": "0.35.3", "dependencies": { + "@react-native-segmented-control/segmented-control": "^2.5.7", "@react-navigation/bottom-tabs": "^7.4.5", "@react-navigation/native": "^7.1.26", "deep-equal": "^2.2.3", @@ -990,6 +991,8 @@ "@react-native-harness/tools": ["@react-native-harness/tools@1.1.0-rc.2", "", { "dependencies": { "@clack/prompts": "1.0.0-alpha.9", "nano-spawn": "^1.0.2", "picocolors": "^1.1.1", "tslib": "^2.3.0" }, "peerDependencies": { "react-native": "*" } }, "sha512-Z43OEn72A/94FPsViOrzAHGdihOzn5zyYShrq76Lbb6Xzv+3tDmn4T6+uzThQxIqVNMqZ3Hm8wixU3ZfgTHDCQ=="], + "@react-native-segmented-control/segmented-control": ["@react-native-segmented-control/segmented-control@2.5.7", "", { "peerDependencies": { "react": ">=16.0", "react-native": ">=0.62" } }, "sha512-l84YeVX8xAU3lvOJSvV4nK/NbGhIm2gBfveYolwaoCbRp+/SLXtc6mYrQmM9ScXNwU14mnzjQTpTHWl5YPnkzQ=="], + "@react-native/assets-registry": ["@react-native/assets-registry@0.83.0", "", {}, "sha512-EmGSKDvmnEnBrTK75T+0Syt6gy/HACOTfziw5+392Kr1Bb28Rv26GyOIkvptnT+bb2VDHU0hx9G0vSy5/S3rmQ=="], "@react-native/babel-plugin-codegen": ["@react-native/babel-plugin-codegen@0.83.0", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@react-native/codegen": "0.83.0" } }, "sha512-H5K0hnv9EhcenojZb9nUMIKPvHZ7ba9vpCyQIeGJmUTDYwZqjmXXyH73+uZo+GHjCIq1n0eF/soC5HJQzalh/Q=="], diff --git a/example/package.json b/example/package.json index edfbfe731..a7acaf2c1 100644 --- a/example/package.json +++ b/example/package.json @@ -19,6 +19,7 @@ "test:harness": "react-native-harness" }, "dependencies": { + "@react-native-segmented-control/segmented-control": "^2.5.7", "@react-navigation/bottom-tabs": "^7.4.5", "@react-navigation/native": "^7.1.26", "deep-equal": "^2.2.3", From cc44581f241bb394cfd6c5d972f5b974830fe93f Mon Sep 17 00:00:00 2001 From: Andrei Kologreev Date: Fri, 3 Apr 2026 04:19:07 +0400 Subject: [PATCH 10/10] revert local changes --- bun.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/bun.lock b/bun.lock index 8d01654ba..3c6464726 100644 --- a/bun.lock +++ b/bun.lock @@ -1,5 +1,6 @@ { "lockfileVersion": 1, + "configVersion": 0, "workspaces": { "": { "name": "react-native-nitro",