diff --git a/.gitattributes b/.gitattributes index 07af6686ff4..f4b09cabd49 100644 --- a/.gitattributes +++ b/.gitattributes @@ -12,6 +12,7 @@ # Spec Codegen uses LF *Spec.g.h eol=lf /vnext/codegen/** eol=lf +/vnext/Microsoft.ReactNative.IntegrationTests/codegen/** eol=lf /packages/sample-apps/codegen/** eol=lf # Force Visual Studio project files (mostly XML) to CRLF diff --git a/change/@react-native-windows-cli-fa61a3c9-9d92-4acb-827e-63b92770d0f6.json b/change/@react-native-windows-cli-fa61a3c9-9d92-4acb-827e-63b92770d0f6.json new file mode 100644 index 00000000000..b5f1cfbd6ac --- /dev/null +++ b/change/@react-native-windows-cli-fa61a3c9-9d92-4acb-827e-63b92770d0f6.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Enable ability to codegen JSI C++ TurboModule specs", + "packageName": "@react-native-windows/cli", + "email": "30809111+acoates-ms@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/@react-native-windows-codegen-cf208af5-cab0-4f53-978d-b7f54c60df9e.json b/change/@react-native-windows-codegen-cf208af5-cab0-4f53-978d-b7f54c60df9e.json new file mode 100644 index 00000000000..8fdedc1746d --- /dev/null +++ b/change/@react-native-windows-codegen-cf208af5-cab0-4f53-978d-b7f54c60df9e.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Enable ability to codegen JSI C++ TurboModule specs", + "packageName": "@react-native-windows/codegen", + "email": "30809111+acoates-ms@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/change/react-native-windows-714c935b-779f-4733-8803-4c3ac23aedfe.json b/change/react-native-windows-714c935b-779f-4733-8803-4c3ac23aedfe.json new file mode 100644 index 00000000000..8ce48d6bb59 --- /dev/null +++ b/change/react-native-windows-714c935b-779f-4733-8803-4c3ac23aedfe.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Update codegen version", + "packageName": "react-native-windows", + "email": "30809111+acoates-ms@users.noreply.github.com", + "dependentChangeType": "patch" +} diff --git a/packages/@react-native-windows/cli/src/codegen.ts b/packages/@react-native-windows/cli/src/codegen.ts index 074b26e463e..880c838dc23 100644 --- a/packages/@react-native-windows/cli/src/codegen.ts +++ b/packages/@react-native-windows/cli/src/codegen.ts @@ -103,6 +103,10 @@ export class CodeGenWindows { ? path.join(this.root, pkgJson.codegenConfig.jsSrcsDir) : this.root; + const generators = pkgJson.codegenConfig.windows.generators ?? [ + 'modulesWindows', + ]; + const jsRootPathRelative = path.relative(process.cwd(), jsRootDir); const options = { files: [ @@ -110,11 +114,14 @@ export class CodeGenWindows { jsRootPathRelative ? '/' : '' }**/*Native*.[jt]s`, ], - namespace: projectNamespace, libraryName: projectName, - outdir: path.join(this.root, 'codegen'), - methodonly: false, - ts: false, + methodOnly: false, + modulesCxx: generators.indexOf('modulesCxx') !== -1, + modulesTypeScriptTypes: + generators.indexOf('modulesTypeScriptTypes') !== -1, + modulesWindows: generators.indexOf('modulesWindows') !== -1, + namespace: projectNamespace, + outputDirectory: path.join(this.root, 'codegen'), test: !!this.options.check, }; diff --git a/packages/@react-native-windows/codegen/src/Cli.ts b/packages/@react-native-windows/codegen/src/Cli.ts index f582c3526bb..377c8e61371 100644 --- a/packages/@react-native-windows/codegen/src/Cli.ts +++ b/packages/@react-native-windows/codegen/src/Cli.ts @@ -18,17 +18,27 @@ const argv = yargs.options({ array: true, describe: 'glob patterns for files which contains specs', }, - ts: { + modulesTypeScriptTypes: { type: 'boolean', describe: 'generate turbo module definition files in TypeScript', default: false, }, - methodonly: { + modulesCxx: { + type: 'boolean', + describe: 'generate C++ JSI turbo module spec files', + default: false, + }, + modulesWindows: { + type: 'boolean', + describe: 'generate turbo module spec files for REACT_MODULE', + default: false, + }, + methodOnly: { type: 'boolean', describe: 'generate only method metadata in C++ turbo module spec', default: false, }, - outdir: { + outputDirectory: { type: 'string', describe: 'output directory', default: 'codegen', diff --git a/packages/@react-native-windows/codegen/src/generators/GenerateNM2.ts b/packages/@react-native-windows/codegen/src/generators/GenerateNM2.ts index f49cbc95d5a..e4baf2582cb 100644 --- a/packages/@react-native-windows/codegen/src/generators/GenerateNM2.ts +++ b/packages/@react-native-windows/codegen/src/generators/GenerateNM2.ts @@ -44,11 +44,11 @@ struct ::_MODULE_NAME_::Spec : winrt::Microsoft::ReactNative::TurboModuleSpec { `; export function createNM2Generator({ + methodOnly, namespace, - methodonly, }: { + methodOnly: boolean; namespace: string; - methodonly: boolean; }) { return ( _libraryName: string, @@ -85,7 +85,7 @@ ${methods[0]} // prepare constants const constants = generateValidateConstants(nativeModule, aliases); - if (constants !== undefined && !methodonly) { + if (constants !== undefined && !methodOnly) { tuples = ` static constexpr auto constants = std::tuple{ ${constants[0]} diff --git a/packages/@react-native-windows/codegen/src/index.ts b/packages/@react-native-windows/codegen/src/index.ts index 7199493cdd7..17c4ddfd771 100644 --- a/packages/@react-native-windows/codegen/src/index.ts +++ b/packages/@react-native-windows/codegen/src/index.ts @@ -33,12 +33,14 @@ const schemaValidator = require(path.resolve( interface Options { libraryName: string; - schema: SchemaType; - outputDirectory: string; + methodOnly: boolean; + modulesCxx: boolean; moduleSpecName: string; + modulesTypeScriptTypes: boolean; + modulesWindows: boolean; namespace: string; - methodonly: boolean; - ts: boolean; + outputDirectory: string; + schema: SchemaType; } interface Config { @@ -179,12 +181,14 @@ export function combineSchemas(files: string[]): SchemaType { export function generate( { libraryName, - schema, - outputDirectory, + methodOnly, + modulesCxx, moduleSpecName, + modulesTypeScriptTypes, + modulesWindows, namespace, - methodonly, - ts, + outputDirectory, + schema, }: Options, {/*generators,*/ test}: Config, ): boolean { @@ -204,10 +208,18 @@ export function generate( ); const generateNM2 = createNM2Generator({ + methodOnly, namespace, - methodonly, }); + const generateJsiModuleH = require(path.resolve( + rncodegenPath, + 'lib/generators/modules/GenerateModuleH', + )).generate; + const generateJsiModuleCpp = require(path.resolve( + rncodegenPath, + 'lib/generators/modules/GenerateModuleCpp', + )).generate; const generatorPropsH = require(path.resolve( rncodegenPath, 'lib/generators/components/GeneratePropsH', @@ -237,33 +249,43 @@ export function generate( 'lib/generators/components/GenerateEventEmitterCpp', )).generate; - normalizeFileMap( - generateNM2(libraryName, schema, moduleSpecName), - outputDirectory, - generatedFiles, - ); + const moduleGenerators = []; - if (ts) { - normalizeFileMap( - generateTypeScript(libraryName, schema, moduleSpecName), - outputDirectory, - generatedFiles, - ); + if (modulesWindows) { + moduleGenerators.push(generateNM2); } + if (modulesCxx) { + moduleGenerators.push(generateJsiModuleH); + moduleGenerators.push(generateJsiModuleCpp); + } + + if (modulesTypeScriptTypes) { + moduleGenerators.push(generateTypeScript); + } + + moduleGenerators.forEach(generator => { + const generated: Map = generator( + libraryName, + schema, + moduleSpecName, + ); + normalizeFileMap(generated, outputDirectory, generatedFiles); + }); + if ( Object.keys(schema.modules).some( moduleName => schema.modules[moduleName].type === 'Component', ) ) { const componentGenerators = [ - generatorPropsH, - generatorPropsCPP, - generatorShadowNodeH, - generatorShadowNodeCPP, generatorComponentDescriptorH, - generatorEventEmitterH, generatorEventEmitterCPP, + generatorEventEmitterH, + generatorPropsCPP, + generatorPropsH, + generatorShadowNodeCPP, + generatorShadowNodeH, ]; componentGenerators.forEach(generator => { @@ -287,10 +309,12 @@ export type CodeGenOptions = { file?: string; files?: string[]; libraryName: string; - outdir: string; + methodOnly: boolean; + modulesCxx: boolean; + modulesTypeScriptTypes: boolean; + modulesWindows: boolean; namespace: string; - methodonly: boolean; - ts: boolean; + outputDirectory: string; test: boolean; }; @@ -304,17 +328,25 @@ export function runCodeGen(options: CodeGenOptions): boolean { const libraryName = options.libraryName; const moduleSpecName = 'moduleSpecName'; - const outputDirectory = options.outdir; - const {namespace, methodonly, ts} = options; + const { + methodOnly, + modulesCxx, + modulesTypeScriptTypes, + modulesWindows, + namespace, + outputDirectory, + } = options; return generate( { libraryName, - schema, - outputDirectory, + methodOnly, + modulesCxx, moduleSpecName, + modulesTypeScriptTypes, + modulesWindows, namespace, - methodonly, - ts, + outputDirectory, + schema, }, {generators: [], test: options.test}, ); diff --git a/packages/sample-apps/package.json b/packages/sample-apps/package.json index 73685d142c9..5f333c34812 100644 --- a/packages/sample-apps/package.json +++ b/packages/sample-apps/package.json @@ -45,4 +45,4 @@ "engines": { "node": ">= 14" } -} +} \ No newline at end of file diff --git a/packages/sample-apps/windows/SampleAppCPP/App.cpp b/packages/sample-apps/windows/SampleAppCPP/App.cpp index b2e61d2734b..26670d8dc99 100644 --- a/packages/sample-apps/windows/SampleAppCPP/App.cpp +++ b/packages/sample-apps/windows/SampleAppCPP/App.cpp @@ -32,13 +32,15 @@ App::App() noexcept { InstanceSettings().UseFastRefresh(false); #else JavaScriptBundleFile(L"index"); - InstanceSettings().UseWebDebugger(true); + InstanceSettings().UseWebDebugger(false); InstanceSettings().UseFastRefresh(true); #endif #if _DEBUG InstanceSettings().UseDeveloperSupport(true); + InstanceSettings().UseDirectDebugger(true); #else + InstanceSettings().UseDirectDebugger(false); InstanceSettings().UseDeveloperSupport(false); #endif diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/JsiSimpleTurboModuleTests.cpp b/vnext/Microsoft.ReactNative.IntegrationTests/JsiSimpleTurboModuleTests.cpp index b171821215b..a698d84bde3 100644 --- a/vnext/Microsoft.ReactNative.IntegrationTests/JsiSimpleTurboModuleTests.cpp +++ b/vnext/Microsoft.ReactNative.IntegrationTests/JsiSimpleTurboModuleTests.cpp @@ -11,53 +11,26 @@ #include "TestEventService.h" #include "TestReactNativeHostHolder.h" +#pragma pack(push) +#pragma warning(disable : 4100 4127 4324) +#include "codegen/msrnIntegrationTestsJSI-generated.cpp" +#include "codegen/msrnIntegrationTestsJSI.h" +#pragma pack(pop) + using namespace facebook; using namespace winrt; using namespace Microsoft::ReactNative; namespace ReactNativeIntegrationTests { -// Use anonymous namespace to avoid any linking conflicts -namespace { - -// In this test we put spec definition that normally must be generated. -// >>>> Start generated - -// The spec from .h file -struct MyTrivialTurboModuleSpec : react::TurboModule { - virtual void startFromJS(jsi::Runtime &rt) = 0; - - protected: - MyTrivialTurboModuleSpec(std::shared_ptr jsInvoker); -}; - -// The spec from .cpp file - -static jsi::Value MyTrivialTurboModuleSpec_startFromJS( - jsi::Runtime &rt, - react::TurboModule &turboModule, - [[maybe_unused]] const jsi::Value *args, - [[maybe_unused]] size_t count) { - assert(count >= 0); - static_cast(&turboModule)->startFromJS(rt); - return jsi::Value::undefined(); -} - -MyTrivialTurboModuleSpec::MyTrivialTurboModuleSpec(std::shared_ptr jsInvoker) - : react::TurboModule("MyTrivialTurboModuleSpec", std::move(jsInvoker)) { - methodMap_.try_emplace("startFromJS", MethodMetadata{0, MyTrivialTurboModuleSpec_startFromJS}); -} - -// <<<< End generated - -struct MyTrivialTurboModule : MyTrivialTurboModuleSpec { +struct MyTrivialTurboModule : react::NativeMyTrivialTurboModuleCxxSpecJSI { MyTrivialTurboModule(std::shared_ptr jsInvoker); void startFromJS(jsi::Runtime &rt) override; }; MyTrivialTurboModule::MyTrivialTurboModule(std::shared_ptr jsInvoker) - : MyTrivialTurboModuleSpec(std::move(jsInvoker)) {} + : NativeMyTrivialTurboModuleCxxSpecJSI(std::move(jsInvoker)) {} void MyTrivialTurboModule::startFromJS(jsi::Runtime & /*rt*/) { TestEventService::LogEvent("startFromJS called", nullptr); @@ -70,8 +43,6 @@ struct MyTrivialTurboModulePackageProvider } }; -} // namespace - TEST_CLASS (JsiSimpleTurboModuleTests) { TEST_METHOD(TestInstanceReload) { TestEventService::Initialize(); diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/JsiSimpleTurboModuleTests.js b/vnext/Microsoft.ReactNative.IntegrationTests/JsiSimpleTurboModuleTests.js index 76bb4ec4d7f..c20035f5797 100644 --- a/vnext/Microsoft.ReactNative.IntegrationTests/JsiSimpleTurboModuleTests.js +++ b/vnext/Microsoft.ReactNative.IntegrationTests/JsiSimpleTurboModuleTests.js @@ -1,4 +1,11 @@ -import { TurboModuleRegistry } from 'react-native'; -const myTrivialTurboModule = TurboModuleRegistry.getEnforcing('MyTrivialTurboModule'); +/** + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * @flow + * @format + */ + +import {default as myTrivialTurboModule} from './NativeMyTrivialTurboModule'; myTrivialTurboModule.startFromJS(); diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/JsiTurboModuleTests.cpp b/vnext/Microsoft.ReactNative.IntegrationTests/JsiTurboModuleTests.cpp index af7cc56d05c..225d22d115a 100644 --- a/vnext/Microsoft.ReactNative.IntegrationTests/JsiTurboModuleTests.cpp +++ b/vnext/Microsoft.ReactNative.IntegrationTests/JsiTurboModuleTests.cpp @@ -24,6 +24,11 @@ #include "TestEventService.h" #include "TestReactNativeHostHolder.h" +#pragma pack(push) +#pragma warning(disable : 4100 4127 4324) +#include "codegen/msrnIntegrationTestsJSI.h" +#pragma pack(pop) + using namespace facebook; using namespace winrt; using namespace Microsoft::ReactNative; @@ -33,170 +38,26 @@ namespace ReactNativeIntegrationTests { // Use anonymous namespace to avoid any linking conflicts namespace { -// In this test we put spec definition that normally must be generated. -// >>>> Start generated - -// The spec from .h file -struct MySimpleTurboModuleSpec : react::TurboModule { - virtual void logAction(jsi::Runtime &rt, const jsi::String &actionName, const jsi::Value &value) = 0; - virtual void voidFunc(jsi::Runtime &rt) = 0; - virtual bool getBool(jsi::Runtime &rt, bool arg) = 0; - virtual double getNumber(jsi::Runtime &rt, double arg) = 0; - virtual jsi::String getString(jsi::Runtime &rt, const jsi::String &arg) = 0; - virtual jsi::Array getArray(jsi::Runtime &rt, const jsi::Array &arg) = 0; - virtual jsi::Object getObject(jsi::Runtime &rt, const jsi::Object &arg) = 0; - virtual jsi::Object getValue(jsi::Runtime &rt, double x, const jsi::String &y, const jsi::Object &z) = 0; - virtual void getValueWithCallback(jsi::Runtime &rt, const jsi::Function &callback) = 0; - virtual jsi::Value getValueWithPromise(jsi::Runtime &rt, bool error) = 0; - virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; - - protected: - MySimpleTurboModuleSpec(std::shared_ptr jsInvoker); -}; - -// The spec from .cpp file - -static jsi::Value MySimpleTurboModuleSpec_logAction( - jsi::Runtime &rt, - react::TurboModule &turboModule, - [[maybe_unused]] const jsi::Value *args, - [[maybe_unused]] size_t count) { - assert(count >= 2); - static_cast(&turboModule)->logAction(rt, args[0].getString(rt), args[1]); - return jsi::Value::undefined(); -} - -static jsi::Value MySimpleTurboModuleSpec_voidFunc( - jsi::Runtime &rt, - react::TurboModule &turboModule, - [[maybe_unused]] const jsi::Value *args, - [[maybe_unused]] size_t count) { - assert(count >= 0); - static_cast(&turboModule)->voidFunc(rt); - return jsi::Value::undefined(); -} - -static jsi::Value MySimpleTurboModuleSpec_getBool( - jsi::Runtime &rt, - react::TurboModule &turboModule, - [[maybe_unused]] const jsi::Value *args, - [[maybe_unused]] size_t count) { - assert(count >= 1); - return jsi::Value(static_cast(&turboModule)->getBool(rt, args[0].getBool())); -} - -static jsi::Value MySimpleTurboModuleSpec_getNumber( - jsi::Runtime &rt, - react::TurboModule &turboModule, - [[maybe_unused]] const jsi::Value *args, - [[maybe_unused]] size_t count) { - assert(count >= 1); - return jsi::Value(static_cast(&turboModule)->getNumber(rt, args[0].getNumber())); -} - -static jsi::Value MySimpleTurboModuleSpec_getString( - jsi::Runtime &rt, - react::TurboModule &turboModule, - [[maybe_unused]] const jsi::Value *args, - [[maybe_unused]] size_t count) { - assert(count >= 1); - return static_cast(&turboModule)->getString(rt, args[0].getString(rt)); -} - -static jsi::Value MySimpleTurboModuleSpec_getArray( - jsi::Runtime &rt, - react::TurboModule &turboModule, - [[maybe_unused]] const jsi::Value *args, - [[maybe_unused]] size_t count) { - assert(count >= 1); - return static_cast(&turboModule)->getArray(rt, args[0].getObject(rt).getArray(rt)); -} - -static jsi::Value MySimpleTurboModuleSpec_getObject( - jsi::Runtime &rt, - react::TurboModule &turboModule, - [[maybe_unused]] const jsi::Value *args, - [[maybe_unused]] size_t count) { - assert(count >= 1); - return static_cast(&turboModule)->getObject(rt, args[0].getObject(rt)); -} - -static jsi::Value MySimpleTurboModuleSpec_getValue( - jsi::Runtime &rt, - react::TurboModule &turboModule, - [[maybe_unused]] const jsi::Value *args, - [[maybe_unused]] size_t count) { - assert(count >= 3); - return static_cast(&turboModule) - ->getValue(rt, args[0].getNumber(), args[1].getString(rt), args[2].getObject(rt)); -} - -static jsi::Value MySimpleTurboModuleSpec_getValueWithCallback( - jsi::Runtime &rt, - react::TurboModule &turboModule, - [[maybe_unused]] const jsi::Value *args, - [[maybe_unused]] size_t count) { - assert(count >= 1); - static_cast(&turboModule) - ->getValueWithCallback(rt, std::move(args[0].getObject(rt).getFunction(rt))); - return jsi::Value::undefined(); -} - -static jsi::Value MySimpleTurboModuleSpec_getValueWithPromise( - jsi::Runtime &rt, - react::TurboModule &turboModule, - [[maybe_unused]] const jsi::Value *args, - [[maybe_unused]] size_t count) { - assert(count >= 1); - return static_cast(&turboModule)->getValueWithPromise(rt, args[0].getBool()); -} - -static jsi::Value MySimpleTurboModuleSpec_getConstants( - jsi::Runtime &rt, - react::TurboModule &turboModule, - [[maybe_unused]] const jsi::Value *args, - [[maybe_unused]] size_t count) { - assert(count >= 0); - return static_cast(&turboModule)->getConstants(rt); -} - -MySimpleTurboModuleSpec::MySimpleTurboModuleSpec(std::shared_ptr jsInvoker) - : react::TurboModule("MySimpleTurboModule", std::move(jsInvoker)) { - methodMap_.try_emplace("logAction", MethodMetadata{0, MySimpleTurboModuleSpec_logAction}); - methodMap_.try_emplace("voidFunc", MethodMetadata{0, MySimpleTurboModuleSpec_voidFunc}); - methodMap_.try_emplace("getBool", MethodMetadata{1, MySimpleTurboModuleSpec_getBool}); - methodMap_.try_emplace("getNumber", MethodMetadata{1, MySimpleTurboModuleSpec_getNumber}); - methodMap_.try_emplace("getString", MethodMetadata{1, MySimpleTurboModuleSpec_getString}); - methodMap_.try_emplace("getArray", MethodMetadata{1, MySimpleTurboModuleSpec_getArray}); - methodMap_.try_emplace("getObject", MethodMetadata{1, MySimpleTurboModuleSpec_getObject}); - methodMap_.try_emplace("getValue", MethodMetadata{3, MySimpleTurboModuleSpec_getValue}); - methodMap_.try_emplace("getValueWithCallback", MethodMetadata{1, MySimpleTurboModuleSpec_getValueWithCallback}); - methodMap_.try_emplace("getValueWithPromise", MethodMetadata{1, MySimpleTurboModuleSpec_getValueWithPromise}); - methodMap_.try_emplace("getConstants", MethodMetadata{0, MySimpleTurboModuleSpec_getConstants}); -} - -// <<<< End generated - -struct MySimpleTurboModule : MySimpleTurboModuleSpec { +struct MySimpleTurboModule : react::NativeMySimpleTurboModuleCxxCxxSpecJSI { MySimpleTurboModule(std::shared_ptr jsInvoker); - void logAction(jsi::Runtime &rt, const jsi::String &actionName, const jsi::Value &value) override; + void logAction(jsi::Runtime &rt, const jsi::String actionName, jsi::Value value) override; void voidFunc(jsi::Runtime &rt) override; bool getBool(jsi::Runtime &rt, bool arg) override; double getNumber(jsi::Runtime &rt, double arg) override; - jsi::String getString(jsi::Runtime &rt, const jsi::String &arg) override; - jsi::Array getArray(jsi::Runtime &rt, const jsi::Array &arg) override; - jsi::Object getObject(jsi::Runtime &rt, const jsi::Object &arg) override; - jsi::Object getValue(jsi::Runtime &rt, double x, const jsi::String &y, const jsi::Object &z) override; - void getValueWithCallback(jsi::Runtime &rt, const jsi::Function &callback) override; + jsi::String getString(jsi::Runtime &rt, jsi::String arg) override; + jsi::Array getArray(jsi::Runtime &rt, jsi::Array arg) override; + jsi::Object getObject(jsi::Runtime &rt, jsi::Object arg) override; + jsi::Object getValue(jsi::Runtime &rt, double x, jsi::String y, jsi::Object z) override; + void getValueWithCallback(jsi::Runtime &rt, jsi::Function callback) override; jsi::Value getValueWithPromise(jsi::Runtime &rt, bool error) override; jsi::Object getConstants(jsi::Runtime &rt) override; }; MySimpleTurboModule::MySimpleTurboModule(std::shared_ptr jsInvoker) - : MySimpleTurboModuleSpec(std::move(jsInvoker)) {} + : NativeMySimpleTurboModuleCxxCxxSpecJSI(std::move(jsInvoker)) {} -void MySimpleTurboModule::logAction(jsi::Runtime &rt, const jsi::String &actionName, const jsi::Value &value) { +void MySimpleTurboModule::logAction(jsi::Runtime &rt, jsi::String actionName, jsi::Value value) { JSValue jsValue{}; if (value.isBool()) { jsValue = JSValue(value.getBool()); @@ -222,22 +83,22 @@ double MySimpleTurboModule::getNumber(jsi::Runtime & /*rt*/, double arg) { return arg; } -jsi::String MySimpleTurboModule::getString(jsi::Runtime &rt, const jsi::String &arg) { +jsi::String MySimpleTurboModule::getString(jsi::Runtime &rt, jsi::String arg) { TestEventService::LogEvent("getString called", arg.utf8(rt)); return jsi::String::createFromUtf8(rt, arg.utf8(rt)); } -jsi::Array MySimpleTurboModule::getArray(jsi::Runtime &rt, const jsi::Array &arg) { +jsi::Array MySimpleTurboModule::getArray(jsi::Runtime &rt, jsi::Array arg) { TestEventService::LogEvent("getArray called", arg.length(rt)); return react::deepCopyJSIArray(rt, arg); } -jsi::Object MySimpleTurboModule::getObject(jsi::Runtime &rt, const jsi::Object &arg) { +jsi::Object MySimpleTurboModule::getObject(jsi::Runtime &rt, jsi::Object arg) { TestEventService::LogEvent("getObject called", "OK"); return react::deepCopyJSIObject(rt, arg); } -jsi::Object MySimpleTurboModule::getValue(jsi::Runtime &rt, double x, const jsi::String &y, const jsi::Object &z) { +jsi::Object MySimpleTurboModule::getValue(jsi::Runtime &rt, double x, jsi::String y, jsi::Object z) { TestEventService::LogEvent("getValue called", "OK"); // Note: return type isn't type-safe. jsi::Object result(rt); @@ -247,7 +108,7 @@ jsi::Object MySimpleTurboModule::getValue(jsi::Runtime &rt, double x, const jsi: return result; } -void MySimpleTurboModule::getValueWithCallback(jsi::Runtime &rt, const jsi::Function &callback) { +void MySimpleTurboModule::getValueWithCallback(jsi::Runtime &rt, jsi::Function callback) { TestEventService::LogEvent("getValueWithCallback called", "OK"); callback.call(rt, jsi::String::createFromUtf8(rt, "value from callback!")); } @@ -276,7 +137,7 @@ jsi::Object MySimpleTurboModule::getConstants(jsi::Runtime &rt) { struct MySimpleTurboModulePackageProvider : winrt::implements { void CreatePackage(IReactPackageBuilder const &packageBuilder) noexcept { - AddTurboModuleProvider(packageBuilder, L"MySimpleTurboModule"); + AddTurboModuleProvider(packageBuilder, L"MySimpleTurboModuleCxx"); } }; diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/JsiTurboModuleTests.js b/vnext/Microsoft.ReactNative.IntegrationTests/JsiTurboModuleTests.js index b54e40f5a8b..1fc6eeae46a 100644 --- a/vnext/Microsoft.ReactNative.IntegrationTests/JsiTurboModuleTests.js +++ b/vnext/Microsoft.ReactNative.IntegrationTests/JsiTurboModuleTests.js @@ -1,38 +1,88 @@ -import { TurboModuleRegistry } from 'react-native'; -const mySimpleTurboModule = TurboModuleRegistry.getEnforcing('MySimpleTurboModule'); +/** + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * @flow + * @format + */ + +import {default as mySimpleTurboModule} from './NativeMySimpleTurboModuleCxx'; // The logging of the TurboModule functions is verified against the test action sequence. mySimpleTurboModule.voidFunc(); -mySimpleTurboModule.logAction("getBool result", mySimpleTurboModule.getBool(true)); -mySimpleTurboModule.logAction("getBool result", mySimpleTurboModule.getBool(false)); -mySimpleTurboModule.logAction("getNumber result", mySimpleTurboModule.getNumber(5)); -mySimpleTurboModule.logAction("getNumber result", mySimpleTurboModule.getNumber(Number.NaN)); -mySimpleTurboModule.logAction("getNumber result", mySimpleTurboModule.getNumber(Number.POSITIVE_INFINITY)); -mySimpleTurboModule.logAction("getString result", mySimpleTurboModule.getString("Hello")); -mySimpleTurboModule.logAction("getString result", mySimpleTurboModule.getString("")); - -const arr1 = mySimpleTurboModule.getArray(["Hello", 5, false]); -const arr1Matches = (arr1.length === 3) && (arr1[0] === "Hello") && (arr1[1] === 5) && (arr1[2] === false); -mySimpleTurboModule.logAction("getArray result", arr1Matches ? "OK" : "Failed"); - -const obj1 = mySimpleTurboModule.getObject({ x: "Hello", y: 5, z: false }); -const obj1Matches = (obj1.x === "Hello") && (obj1.y === 5) && (obj1.z === false); -mySimpleTurboModule.logAction("getObject result", obj1Matches ? "OK" : "Failed"); - -const obj2 = mySimpleTurboModule.getValue(42, "Hello", { x: 5, y: 12 }); -const obj2Matches = (obj2.x === 42) && (obj2.y === "Hello") && (obj2.z.x === 5) && (obj2.z.y === 12); -mySimpleTurboModule.logAction("getValue result", obj2Matches ? "OK" : "Failed"); +mySimpleTurboModule.logAction( + 'getBool result', + mySimpleTurboModule.getBool(true), +); +mySimpleTurboModule.logAction( + 'getBool result', + mySimpleTurboModule.getBool(false), +); +mySimpleTurboModule.logAction( + 'getNumber result', + mySimpleTurboModule.getNumber(5), +); +mySimpleTurboModule.logAction( + 'getNumber result', + mySimpleTurboModule.getNumber(Number.NaN), +); +mySimpleTurboModule.logAction( + 'getNumber result', + mySimpleTurboModule.getNumber(Number.POSITIVE_INFINITY), +); +mySimpleTurboModule.logAction( + 'getString result', + mySimpleTurboModule.getString('Hello'), +); +mySimpleTurboModule.logAction( + 'getString result', + mySimpleTurboModule.getString(''), +); + +const arr1 = mySimpleTurboModule.getArray(['Hello', 5, false]); +const arr1Matches = + arr1.length === 3 && + arr1[0] === 'Hello' && + arr1[1] === 5 && + arr1[2] === false; +mySimpleTurboModule.logAction('getArray result', arr1Matches ? 'OK' : 'Failed'); + +const obj1 = mySimpleTurboModule.getObject({x: 'Hello', y: 5, z: false}); +const obj1Matches = obj1.x === 'Hello' && obj1.y === 5 && obj1.z === false; +mySimpleTurboModule.logAction( + 'getObject result', + obj1Matches ? 'OK' : 'Failed', +); + +const obj2 = mySimpleTurboModule.getValue(42, 'Hello', {x: 5, y: 12}); +const obj2Matches = + obj2.x === 42 && obj2.y === 'Hello' && obj2.z.x === 5 && obj2.z.y === 12; +mySimpleTurboModule.logAction('getValue result', obj2Matches ? 'OK' : 'Failed'); const obj3 = mySimpleTurboModule.getConstants(); -const obj3Matches = (obj3.const1 === true) && (obj3.const2 === 375) && (obj3.const3 === "something"); -mySimpleTurboModule.logAction("getConstants result", obj3Matches ? "OK" : "Failed"); +const obj3Matches = + obj3.const1 === true && obj3.const2 === 375 && obj3.const3 === 'something'; +mySimpleTurboModule.logAction( + 'getConstants result', + obj3Matches ? 'OK' : 'Failed', +); -mySimpleTurboModule.getValueWithCallback( - (value) => mySimpleTurboModule.logAction("getValueWithCallback result", value)); +mySimpleTurboModule.getValueWithCallback(value => + mySimpleTurboModule.logAction('getValueWithCallback result', value), +); -mySimpleTurboModule.getValueWithPromise(/*error:*/false) - .then((value) => mySimpleTurboModule.logAction("getValueWithPromise result resolve", value)); +mySimpleTurboModule + .getValueWithPromise(/*error:*/ false) + .then(value => + mySimpleTurboModule.logAction('getValueWithPromise result resolve', value), + ); -mySimpleTurboModule.getValueWithPromise(/*error:*/true).catch( - (err) => mySimpleTurboModule.logAction("getValueWithPromise result reject", err.message)); +mySimpleTurboModule + .getValueWithPromise(/*error:*/ true) + .catch(err => + mySimpleTurboModule.logAction( + 'getValueWithPromise result reject', + err.message, + ), + ); diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/Microsoft.ReactNative.IntegrationTests.vcxproj b/vnext/Microsoft.ReactNative.IntegrationTests/Microsoft.ReactNative.IntegrationTests.vcxproj index a0baa37742f..16715a5c824 100644 --- a/vnext/Microsoft.ReactNative.IntegrationTests/Microsoft.ReactNative.IntegrationTests.vcxproj +++ b/vnext/Microsoft.ReactNative.IntegrationTests/Microsoft.ReactNative.IntegrationTests.vcxproj @@ -60,7 +60,7 @@ pch.h $(IntDir)pch.pch pch.h - _CONSOLE;MSO_MOTIFCPP;%(PreprocessorDefinitions) + _CONSOLE;MSO_MOTIFCPP;FOLLY_NO_CONFIG;%(PreprocessorDefinitions) Level4 $(MSBuildThisFileDirectory);%(AdditionalIncludeDirectories) /await %(AdditionalOptions) /bigobj @@ -160,6 +160,7 @@ + diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/NativeMySimpleTurboModuleCxx.js b/vnext/Microsoft.ReactNative.IntegrationTests/NativeMySimpleTurboModuleCxx.js new file mode 100644 index 00000000000..0b86c82c404 --- /dev/null +++ b/vnext/Microsoft.ReactNative.IntegrationTests/NativeMySimpleTurboModuleCxx.js @@ -0,0 +1,34 @@ +/** + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * @flow + * @format + */ + +'use strict'; + +import type {TurboModule} from 'react-native/Libraries/TurboModule/RCTExport'; +import * as TurboModuleRegistry from 'react-native/Libraries/TurboModule/TurboModuleRegistry'; + +export interface Spec extends TurboModule { + +getConstants: () => {| + const1: boolean, + const2: number, + const3: string, + |}; + +logAction: (actionName: string, value: mixed) => void; + +voidFunc: () => void; + +getBool: (arg: boolean) => boolean; + +getNumber: (arg: number) => number; + +getString: (arg: string) => string; + +getArray: (arg: Array) => Array; + +getObject: (arg: Object) => Object; + +getValue: (x: number, y: string, z: Object) => Object; + +getValueWithCallback: (callback: (value: string) => void) => void; + +getValueWithPromise: (error: boolean) => Promise; +} + +export default (TurboModuleRegistry.getEnforcing( + 'MySimpleTurboModuleCxx', +): Spec); diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/NativeMyTrivialTurboModule.js b/vnext/Microsoft.ReactNative.IntegrationTests/NativeMyTrivialTurboModule.js new file mode 100644 index 00000000000..6f5ddac60e3 --- /dev/null +++ b/vnext/Microsoft.ReactNative.IntegrationTests/NativeMyTrivialTurboModule.js @@ -0,0 +1,21 @@ +/** + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * @flow + * @format + */ + +'use strict'; + +import type {TurboModule} from 'react-native/Libraries/TurboModule/RCTExport'; +import * as TurboModuleRegistry from 'react-native/Libraries/TurboModule/TurboModuleRegistry'; + +export interface Spec extends TurboModule { + // Exported methods. + +startFromJS: () => void; +} + +export default (TurboModuleRegistry.getEnforcing( + 'MyTrivialTurboModule', +): Spec); diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/codegen/.clang-format b/vnext/Microsoft.ReactNative.IntegrationTests/codegen/.clang-format new file mode 100644 index 00000000000..a43d914ec38 --- /dev/null +++ b/vnext/Microsoft.ReactNative.IntegrationTests/codegen/.clang-format @@ -0,0 +1,2 @@ +DisableFormat: true +SortIncludes: false \ No newline at end of file diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/codegen/msrnIntegrationTestsJSI-generated.cpp b/vnext/Microsoft.ReactNative.IntegrationTests/codegen/msrnIntegrationTestsJSI-generated.cpp new file mode 100644 index 00000000000..a58e78a29d9 --- /dev/null +++ b/vnext/Microsoft.ReactNative.IntegrationTests/codegen/msrnIntegrationTestsJSI-generated.cpp @@ -0,0 +1,78 @@ +/** + * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). + * + * Do not edit this file as changes may cause incorrect behavior and will be lost + * once the code is regenerated. + * + * @generated by codegen project: GenerateModuleH.js + */ + +#include "msrnIntegrationTestsJSI.h" + +namespace facebook { +namespace react { + +static jsi::Value __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_logAction(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->logAction(rt, args[0].asString(rt), jsi::Value(rt, args[1])); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_voidFunc(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->voidFunc(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getBool(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getBool(rt, args[0].asBool()); +} +static jsi::Value __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getNumber(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getNumber(rt, args[0].asNumber()); +} +static jsi::Value __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getString(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getString(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getArray(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getArray(rt, args[0].asObject(rt).asArray(rt)); +} +static jsi::Value __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getObject(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getObject(rt, args[0].asObject(rt)); +} +static jsi::Value __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getValue(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getValue(rt, args[0].asNumber(), args[1].asString(rt), args[2].asObject(rt)); +} +static jsi::Value __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getValueWithCallback(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getValueWithCallback(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getValueWithPromise(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getValueWithPromise(rt, args[0].asBool()); +} + +NativeMySimpleTurboModuleCxxCxxSpecJSI::NativeMySimpleTurboModuleCxxCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("MySimpleTurboModuleCxx", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getConstants}; + methodMap_["logAction"] = MethodMetadata {2, __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_logAction}; + methodMap_["voidFunc"] = MethodMetadata {0, __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_voidFunc}; + methodMap_["getBool"] = MethodMetadata {1, __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getBool}; + methodMap_["getNumber"] = MethodMetadata {1, __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getNumber}; + methodMap_["getString"] = MethodMetadata {1, __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getString}; + methodMap_["getArray"] = MethodMetadata {1, __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getArray}; + methodMap_["getObject"] = MethodMetadata {1, __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getObject}; + methodMap_["getValue"] = MethodMetadata {3, __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getValue}; + methodMap_["getValueWithCallback"] = MethodMetadata {1, __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getValueWithCallback}; + methodMap_["getValueWithPromise"] = MethodMetadata {1, __hostFunction_NativeMySimpleTurboModuleCxxCxxSpecJSI_getValueWithPromise}; +} +static jsi::Value __hostFunction_NativeMyTrivialTurboModuleCxxSpecJSI_startFromJS(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->startFromJS(rt); + return jsi::Value::undefined(); +} + +NativeMyTrivialTurboModuleCxxSpecJSI::NativeMyTrivialTurboModuleCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("MyTrivialTurboModule", jsInvoker) { + methodMap_["startFromJS"] = MethodMetadata {0, __hostFunction_NativeMyTrivialTurboModuleCxxSpecJSI_startFromJS}; +} + + +} // namespace react +} // namespace facebook diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/codegen/msrnIntegrationTestsJSI.h b/vnext/Microsoft.ReactNative.IntegrationTests/codegen/msrnIntegrationTestsJSI.h new file mode 100644 index 00000000000..89b3ec74f0a --- /dev/null +++ b/vnext/Microsoft.ReactNative.IntegrationTests/codegen/msrnIntegrationTestsJSI.h @@ -0,0 +1,195 @@ +/** + * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). + * + * Do not edit this file as changes may cause incorrect behavior and will be lost + * once the code is regenerated. + * + * @generated by codegen project: GenerateModuleH.js + */ + +#pragma once + +#include +#include + +namespace facebook { +namespace react { + +class JSI_EXPORT NativeMySimpleTurboModuleCxxCxxSpecJSI : public TurboModule { +protected: + NativeMySimpleTurboModuleCxxCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void logAction(jsi::Runtime &rt, jsi::String actionName, jsi::Value value) = 0; + virtual void voidFunc(jsi::Runtime &rt) = 0; + virtual bool getBool(jsi::Runtime &rt, bool arg) = 0; + virtual double getNumber(jsi::Runtime &rt, double arg) = 0; + virtual jsi::String getString(jsi::Runtime &rt, jsi::String arg) = 0; + virtual jsi::Array getArray(jsi::Runtime &rt, jsi::Array arg) = 0; + virtual jsi::Object getObject(jsi::Runtime &rt, jsi::Object arg) = 0; + virtual jsi::Object getValue(jsi::Runtime &rt, double x, jsi::String y, jsi::Object z) = 0; + virtual void getValueWithCallback(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual jsi::Value getValueWithPromise(jsi::Runtime &rt, bool error) = 0; + +}; + +template +class JSI_EXPORT NativeMySimpleTurboModuleCxxCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeMySimpleTurboModuleCxxCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("MySimpleTurboModuleCxx", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeMySimpleTurboModuleCxxCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeMySimpleTurboModuleCxxCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void logAction(jsi::Runtime &rt, jsi::String actionName, jsi::Value value) override { + static_assert( + bridging::getParameterCount(&T::logAction) == 3, + "Expected logAction(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::logAction, jsInvoker_, instance_, std::move(actionName), std::move(value)); + } + void voidFunc(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::voidFunc) == 1, + "Expected voidFunc(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::voidFunc, jsInvoker_, instance_); + } + bool getBool(jsi::Runtime &rt, bool arg) override { + static_assert( + bridging::getParameterCount(&T::getBool) == 2, + "Expected getBool(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getBool, jsInvoker_, instance_, std::move(arg)); + } + double getNumber(jsi::Runtime &rt, double arg) override { + static_assert( + bridging::getParameterCount(&T::getNumber) == 2, + "Expected getNumber(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getNumber, jsInvoker_, instance_, std::move(arg)); + } + jsi::String getString(jsi::Runtime &rt, jsi::String arg) override { + static_assert( + bridging::getParameterCount(&T::getString) == 2, + "Expected getString(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getString, jsInvoker_, instance_, std::move(arg)); + } + jsi::Array getArray(jsi::Runtime &rt, jsi::Array arg) override { + static_assert( + bridging::getParameterCount(&T::getArray) == 2, + "Expected getArray(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getArray, jsInvoker_, instance_, std::move(arg)); + } + jsi::Object getObject(jsi::Runtime &rt, jsi::Object arg) override { + static_assert( + bridging::getParameterCount(&T::getObject) == 2, + "Expected getObject(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getObject, jsInvoker_, instance_, std::move(arg)); + } + jsi::Object getValue(jsi::Runtime &rt, double x, jsi::String y, jsi::Object z) override { + static_assert( + bridging::getParameterCount(&T::getValue) == 4, + "Expected getValue(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::getValue, jsInvoker_, instance_, std::move(x), std::move(y), std::move(z)); + } + void getValueWithCallback(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::getValueWithCallback) == 2, + "Expected getValueWithCallback(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getValueWithCallback, jsInvoker_, instance_, std::move(callback)); + } + jsi::Value getValueWithPromise(jsi::Runtime &rt, bool error) override { + static_assert( + bridging::getParameterCount(&T::getValueWithPromise) == 2, + "Expected getValueWithPromise(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getValueWithPromise, jsInvoker_, instance_, std::move(error)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeMyTrivialTurboModuleCxxSpecJSI : public TurboModule { +protected: + NativeMyTrivialTurboModuleCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void startFromJS(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeMyTrivialTurboModuleCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeMyTrivialTurboModuleCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("MyTrivialTurboModule", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeMyTrivialTurboModuleCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeMyTrivialTurboModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void startFromJS(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::startFromJS) == 1, + "Expected startFromJS(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::startFromJS, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +} // namespace react +} // namespace facebook diff --git a/vnext/codegen/rnwcoreJSI-generated.cpp b/vnext/codegen/rnwcoreJSI-generated.cpp new file mode 100644 index 00000000000..5110efb010c --- /dev/null +++ b/vnext/codegen/rnwcoreJSI-generated.cpp @@ -0,0 +1,1761 @@ +/** + * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). + * + * Do not edit this file as changes may cause incorrect behavior and will be lost + * once the code is regenerated. + * + * @generated by codegen project: GenerateModuleH.js + */ + +#include "rnwcoreJSI.h" + +namespace facebook { +namespace react { + +static jsi::Value __hostFunction_NativeActionSheetManagerCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeActionSheetManagerCxxSpecJSI_showActionSheetWithOptions(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->showActionSheetWithOptions(rt, args[0].asObject(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeActionSheetManagerCxxSpecJSI_showShareActionSheetWithOptions(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->showShareActionSheetWithOptions(rt, args[0].asObject(rt), args[1].asObject(rt).asFunction(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeActionSheetManagerCxxSpecJSI_dismissActionSheet(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->dismissActionSheet(rt); + return jsi::Value::undefined(); +} + +NativeActionSheetManagerCxxSpecJSI::NativeActionSheetManagerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("ActionSheetManager", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeActionSheetManagerCxxSpecJSI_getConstants}; + methodMap_["showActionSheetWithOptions"] = MethodMetadata {2, __hostFunction_NativeActionSheetManagerCxxSpecJSI_showActionSheetWithOptions}; + methodMap_["showShareActionSheetWithOptions"] = MethodMetadata {3, __hostFunction_NativeActionSheetManagerCxxSpecJSI_showShareActionSheetWithOptions}; + methodMap_["dismissActionSheet"] = MethodMetadata {0, __hostFunction_NativeActionSheetManagerCxxSpecJSI_dismissActionSheet}; +} +static jsi::Value __hostFunction_NativeAlertManagerCxxSpecJSI_alertWithArgs(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->alertWithArgs(rt, args[0].asObject(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} + +NativeAlertManagerCxxSpecJSI::NativeAlertManagerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("AlertManager", jsInvoker) { + methodMap_["alertWithArgs"] = MethodMetadata {2, __hostFunction_NativeAlertManagerCxxSpecJSI_alertWithArgs}; +} +static jsi::Value __hostFunction_NativeDialogManagerWindowsCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeDialogManagerWindowsCxxSpecJSI_showAlert(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->showAlert(rt, args[0].asObject(rt), args[1].asObject(rt).asFunction(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} + +NativeDialogManagerWindowsCxxSpecJSI::NativeDialogManagerWindowsCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("Alert", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeDialogManagerWindowsCxxSpecJSI_getConstants}; + methodMap_["showAlert"] = MethodMetadata {3, __hostFunction_NativeDialogManagerWindowsCxxSpecJSI_showAlert}; +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_startOperationBatch(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->startOperationBatch(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_finishOperationBatch(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->finishOperationBatch(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_createAnimatedNode(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->createAnimatedNode(rt, args[0].asNumber(), args[1].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_updateAnimatedNodeConfig(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->updateAnimatedNodeConfig(rt, args[0].asNumber(), args[1].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_getValue(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getValue(rt, args[0].asNumber(), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_startListeningToAnimatedNodeValue(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->startListeningToAnimatedNodeValue(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_stopListeningToAnimatedNodeValue(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->stopListeningToAnimatedNodeValue(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_connectAnimatedNodes(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->connectAnimatedNodes(rt, args[0].asNumber(), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_disconnectAnimatedNodes(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->disconnectAnimatedNodes(rt, args[0].asNumber(), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_startAnimatingNode(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->startAnimatingNode(rt, args[0].asNumber(), args[1].asNumber(), args[2].asObject(rt), args[3].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_stopAnimation(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->stopAnimation(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_setAnimatedNodeValue(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setAnimatedNodeValue(rt, args[0].asNumber(), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_setAnimatedNodeOffset(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setAnimatedNodeOffset(rt, args[0].asNumber(), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_flattenAnimatedNodeOffset(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->flattenAnimatedNodeOffset(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_extractAnimatedNodeOffset(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->extractAnimatedNodeOffset(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_connectAnimatedNodeToView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->connectAnimatedNodeToView(rt, args[0].asNumber(), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_disconnectAnimatedNodeFromView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->disconnectAnimatedNodeFromView(rt, args[0].asNumber(), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_restoreDefaultValues(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->restoreDefaultValues(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_dropAnimatedNode(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->dropAnimatedNode(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_addAnimatedEventToView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addAnimatedEventToView(rt, args[0].asNumber(), args[1].asString(rt), args[2].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_removeAnimatedEventFromView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeAnimatedEventFromView(rt, args[0].asNumber(), args[1].asString(rt), args[2].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedModuleCxxSpecJSI_queueAndExecuteBatchedOperations(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->queueAndExecuteBatchedOperations(rt, args[0].asObject(rt).asArray(rt)); + return jsi::Value::undefined(); +} + +NativeAnimatedModuleCxxSpecJSI::NativeAnimatedModuleCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("NativeAnimatedModule", jsInvoker) { + methodMap_["startOperationBatch"] = MethodMetadata {0, __hostFunction_NativeAnimatedModuleCxxSpecJSI_startOperationBatch}; + methodMap_["finishOperationBatch"] = MethodMetadata {0, __hostFunction_NativeAnimatedModuleCxxSpecJSI_finishOperationBatch}; + methodMap_["createAnimatedNode"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleCxxSpecJSI_createAnimatedNode}; + methodMap_["updateAnimatedNodeConfig"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleCxxSpecJSI_updateAnimatedNodeConfig}; + methodMap_["getValue"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleCxxSpecJSI_getValue}; + methodMap_["startListeningToAnimatedNodeValue"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleCxxSpecJSI_startListeningToAnimatedNodeValue}; + methodMap_["stopListeningToAnimatedNodeValue"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleCxxSpecJSI_stopListeningToAnimatedNodeValue}; + methodMap_["connectAnimatedNodes"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleCxxSpecJSI_connectAnimatedNodes}; + methodMap_["disconnectAnimatedNodes"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleCxxSpecJSI_disconnectAnimatedNodes}; + methodMap_["startAnimatingNode"] = MethodMetadata {4, __hostFunction_NativeAnimatedModuleCxxSpecJSI_startAnimatingNode}; + methodMap_["stopAnimation"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleCxxSpecJSI_stopAnimation}; + methodMap_["setAnimatedNodeValue"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleCxxSpecJSI_setAnimatedNodeValue}; + methodMap_["setAnimatedNodeOffset"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleCxxSpecJSI_setAnimatedNodeOffset}; + methodMap_["flattenAnimatedNodeOffset"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleCxxSpecJSI_flattenAnimatedNodeOffset}; + methodMap_["extractAnimatedNodeOffset"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleCxxSpecJSI_extractAnimatedNodeOffset}; + methodMap_["connectAnimatedNodeToView"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleCxxSpecJSI_connectAnimatedNodeToView}; + methodMap_["disconnectAnimatedNodeFromView"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleCxxSpecJSI_disconnectAnimatedNodeFromView}; + methodMap_["restoreDefaultValues"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleCxxSpecJSI_restoreDefaultValues}; + methodMap_["dropAnimatedNode"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleCxxSpecJSI_dropAnimatedNode}; + methodMap_["addAnimatedEventToView"] = MethodMetadata {3, __hostFunction_NativeAnimatedModuleCxxSpecJSI_addAnimatedEventToView}; + methodMap_["removeAnimatedEventFromView"] = MethodMetadata {3, __hostFunction_NativeAnimatedModuleCxxSpecJSI_removeAnimatedEventFromView}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleCxxSpecJSI_removeListeners}; + methodMap_["queueAndExecuteBatchedOperations"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleCxxSpecJSI_queueAndExecuteBatchedOperations}; +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_startOperationBatch(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->startOperationBatch(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_finishOperationBatch(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->finishOperationBatch(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_createAnimatedNode(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->createAnimatedNode(rt, args[0].asNumber(), args[1].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_updateAnimatedNodeConfig(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->updateAnimatedNodeConfig(rt, args[0].asNumber(), args[1].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_getValue(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getValue(rt, args[0].asNumber(), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_startListeningToAnimatedNodeValue(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->startListeningToAnimatedNodeValue(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_stopListeningToAnimatedNodeValue(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->stopListeningToAnimatedNodeValue(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_connectAnimatedNodes(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->connectAnimatedNodes(rt, args[0].asNumber(), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_disconnectAnimatedNodes(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->disconnectAnimatedNodes(rt, args[0].asNumber(), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_startAnimatingNode(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->startAnimatingNode(rt, args[0].asNumber(), args[1].asNumber(), args[2].asObject(rt), args[3].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_stopAnimation(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->stopAnimation(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_setAnimatedNodeValue(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setAnimatedNodeValue(rt, args[0].asNumber(), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_setAnimatedNodeOffset(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setAnimatedNodeOffset(rt, args[0].asNumber(), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_flattenAnimatedNodeOffset(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->flattenAnimatedNodeOffset(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_extractAnimatedNodeOffset(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->extractAnimatedNodeOffset(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_connectAnimatedNodeToView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->connectAnimatedNodeToView(rt, args[0].asNumber(), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_disconnectAnimatedNodeFromView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->disconnectAnimatedNodeFromView(rt, args[0].asNumber(), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_restoreDefaultValues(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->restoreDefaultValues(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_dropAnimatedNode(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->dropAnimatedNode(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_addAnimatedEventToView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addAnimatedEventToView(rt, args[0].asNumber(), args[1].asString(rt), args[2].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_removeAnimatedEventFromView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeAnimatedEventFromView(rt, args[0].asNumber(), args[1].asString(rt), args[2].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_queueAndExecuteBatchedOperations(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->queueAndExecuteBatchedOperations(rt, args[0].asObject(rt).asArray(rt)); + return jsi::Value::undefined(); +} + +NativeAnimatedTurboModuleCxxSpecJSI::NativeAnimatedTurboModuleCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("NativeAnimatedTurboModule", jsInvoker) { + methodMap_["startOperationBatch"] = MethodMetadata {0, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_startOperationBatch}; + methodMap_["finishOperationBatch"] = MethodMetadata {0, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_finishOperationBatch}; + methodMap_["createAnimatedNode"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_createAnimatedNode}; + methodMap_["updateAnimatedNodeConfig"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_updateAnimatedNodeConfig}; + methodMap_["getValue"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_getValue}; + methodMap_["startListeningToAnimatedNodeValue"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_startListeningToAnimatedNodeValue}; + methodMap_["stopListeningToAnimatedNodeValue"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_stopListeningToAnimatedNodeValue}; + methodMap_["connectAnimatedNodes"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_connectAnimatedNodes}; + methodMap_["disconnectAnimatedNodes"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_disconnectAnimatedNodes}; + methodMap_["startAnimatingNode"] = MethodMetadata {4, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_startAnimatingNode}; + methodMap_["stopAnimation"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_stopAnimation}; + methodMap_["setAnimatedNodeValue"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_setAnimatedNodeValue}; + methodMap_["setAnimatedNodeOffset"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_setAnimatedNodeOffset}; + methodMap_["flattenAnimatedNodeOffset"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_flattenAnimatedNodeOffset}; + methodMap_["extractAnimatedNodeOffset"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_extractAnimatedNodeOffset}; + methodMap_["connectAnimatedNodeToView"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_connectAnimatedNodeToView}; + methodMap_["disconnectAnimatedNodeFromView"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_disconnectAnimatedNodeFromView}; + methodMap_["restoreDefaultValues"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_restoreDefaultValues}; + methodMap_["dropAnimatedNode"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_dropAnimatedNode}; + methodMap_["addAnimatedEventToView"] = MethodMetadata {3, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_addAnimatedEventToView}; + methodMap_["removeAnimatedEventFromView"] = MethodMetadata {3, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_removeAnimatedEventFromView}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_removeListeners}; + methodMap_["queueAndExecuteBatchedOperations"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleCxxSpecJSI_queueAndExecuteBatchedOperations}; +} +static jsi::Value __hostFunction_NativeAppStateCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeAppStateCxxSpecJSI_getCurrentAppState(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getCurrentAppState(rt, args[0].asObject(rt).asFunction(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAppStateCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAppStateCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} + +NativeAppStateCxxSpecJSI::NativeAppStateCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("AppState", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeAppStateCxxSpecJSI_getConstants}; + methodMap_["getCurrentAppState"] = MethodMetadata {2, __hostFunction_NativeAppStateCxxSpecJSI_getCurrentAppState}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeAppStateCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeAppStateCxxSpecJSI_removeListeners}; +} +static jsi::Value __hostFunction_NativeAppThemeCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} + +NativeAppThemeCxxSpecJSI::NativeAppThemeCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("AppTheme", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeAppThemeCxxSpecJSI_getConstants}; +} +static jsi::Value __hostFunction_NativeBlobModuleCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeBlobModuleCxxSpecJSI_addNetworkingHandler(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addNetworkingHandler(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeBlobModuleCxxSpecJSI_addWebSocketHandler(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addWebSocketHandler(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeBlobModuleCxxSpecJSI_removeWebSocketHandler(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeWebSocketHandler(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeBlobModuleCxxSpecJSI_sendOverSocket(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->sendOverSocket(rt, args[0].asObject(rt), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeBlobModuleCxxSpecJSI_createFromParts(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->createFromParts(rt, args[0].asObject(rt).asArray(rt), args[1].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeBlobModuleCxxSpecJSI_release(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->release(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} + +NativeBlobModuleCxxSpecJSI::NativeBlobModuleCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("BlobModule", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeBlobModuleCxxSpecJSI_getConstants}; + methodMap_["addNetworkingHandler"] = MethodMetadata {0, __hostFunction_NativeBlobModuleCxxSpecJSI_addNetworkingHandler}; + methodMap_["addWebSocketHandler"] = MethodMetadata {1, __hostFunction_NativeBlobModuleCxxSpecJSI_addWebSocketHandler}; + methodMap_["removeWebSocketHandler"] = MethodMetadata {1, __hostFunction_NativeBlobModuleCxxSpecJSI_removeWebSocketHandler}; + methodMap_["sendOverSocket"] = MethodMetadata {2, __hostFunction_NativeBlobModuleCxxSpecJSI_sendOverSocket}; + methodMap_["createFromParts"] = MethodMetadata {2, __hostFunction_NativeBlobModuleCxxSpecJSI_createFromParts}; + methodMap_["release"] = MethodMetadata {1, __hostFunction_NativeBlobModuleCxxSpecJSI_release}; +} +static jsi::Value __hostFunction_NativeFileReaderModuleCxxSpecJSI_readAsDataURL(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->readAsDataURL(rt, args[0].asObject(rt)); +} +static jsi::Value __hostFunction_NativeFileReaderModuleCxxSpecJSI_readAsText(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->readAsText(rt, args[0].asObject(rt), args[1].asString(rt)); +} + +NativeFileReaderModuleCxxSpecJSI::NativeFileReaderModuleCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("FileReaderModule", jsInvoker) { + methodMap_["readAsDataURL"] = MethodMetadata {1, __hostFunction_NativeFileReaderModuleCxxSpecJSI_readAsDataURL}; + methodMap_["readAsText"] = MethodMetadata {2, __hostFunction_NativeFileReaderModuleCxxSpecJSI_readAsText}; +} +static jsi::Value __hostFunction_NativeBugReportingCxxSpecJSI_startReportAProblemFlow(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->startReportAProblemFlow(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeBugReportingCxxSpecJSI_setExtraData(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setExtraData(rt, args[0].asObject(rt), args[1].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeBugReportingCxxSpecJSI_setCategoryID(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setCategoryID(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} + +NativeBugReportingCxxSpecJSI::NativeBugReportingCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("BugReporting", jsInvoker) { + methodMap_["startReportAProblemFlow"] = MethodMetadata {0, __hostFunction_NativeBugReportingCxxSpecJSI_startReportAProblemFlow}; + methodMap_["setExtraData"] = MethodMetadata {2, __hostFunction_NativeBugReportingCxxSpecJSI_setExtraData}; + methodMap_["setCategoryID"] = MethodMetadata {1, __hostFunction_NativeBugReportingCxxSpecJSI_setCategoryID}; +} +static jsi::Value __hostFunction_NativeExceptionsManagerCxxSpecJSI_reportFatalException(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->reportFatalException(rt, args[0].asString(rt), args[1].asObject(rt).asArray(rt), args[2].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeExceptionsManagerCxxSpecJSI_reportSoftException(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->reportSoftException(rt, args[0].asString(rt), args[1].asObject(rt).asArray(rt), args[2].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeExceptionsManagerCxxSpecJSI_reportException(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->reportException(rt, args[0].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeExceptionsManagerCxxSpecJSI_updateExceptionMessage(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->updateExceptionMessage(rt, args[0].asString(rt), args[1].asObject(rt).asArray(rt), args[2].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeExceptionsManagerCxxSpecJSI_dismissRedbox(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->dismissRedbox(rt); + return jsi::Value::undefined(); +} + +NativeExceptionsManagerCxxSpecJSI::NativeExceptionsManagerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("ExceptionsManager", jsInvoker) { + methodMap_["reportFatalException"] = MethodMetadata {3, __hostFunction_NativeExceptionsManagerCxxSpecJSI_reportFatalException}; + methodMap_["reportSoftException"] = MethodMetadata {3, __hostFunction_NativeExceptionsManagerCxxSpecJSI_reportSoftException}; + methodMap_["reportException"] = MethodMetadata {1, __hostFunction_NativeExceptionsManagerCxxSpecJSI_reportException}; + methodMap_["updateExceptionMessage"] = MethodMetadata {3, __hostFunction_NativeExceptionsManagerCxxSpecJSI_updateExceptionMessage}; + methodMap_["dismissRedbox"] = MethodMetadata {0, __hostFunction_NativeExceptionsManagerCxxSpecJSI_dismissRedbox}; +} +static jsi::Value __hostFunction_NativeJSCHeapCaptureCxxSpecJSI_captureComplete(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->captureComplete(rt, args[0].asString(rt), args[1].isNull() || args[1].isUndefined() ? std::nullopt : std::make_optional(args[1].asString(rt))); + return jsi::Value::undefined(); +} + +NativeJSCHeapCaptureCxxSpecJSI::NativeJSCHeapCaptureCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("JSCHeapCapture", jsInvoker) { + methodMap_["captureComplete"] = MethodMetadata {2, __hostFunction_NativeJSCHeapCaptureCxxSpecJSI_captureComplete}; +} +static jsi::Value __hostFunction_NativeImageEditorCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeImageEditorCxxSpecJSI_cropImage(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->cropImage(rt, args[0].asString(rt), args[1].asObject(rt), args[2].asObject(rt).asFunction(rt), args[3].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} + +NativeImageEditorCxxSpecJSI::NativeImageEditorCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("ImageEditingManager", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeImageEditorCxxSpecJSI_getConstants}; + methodMap_["cropImage"] = MethodMetadata {4, __hostFunction_NativeImageEditorCxxSpecJSI_cropImage}; +} +static jsi::Value __hostFunction_NativeImageLoaderAndroidCxxSpecJSI_abortRequest(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->abortRequest(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeImageLoaderAndroidCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeImageLoaderAndroidCxxSpecJSI_getSize(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getSize(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativeImageLoaderAndroidCxxSpecJSI_getSizeWithHeaders(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getSizeWithHeaders(rt, args[0].asString(rt), args[1].asObject(rt)); +} +static jsi::Value __hostFunction_NativeImageLoaderAndroidCxxSpecJSI_prefetchImage(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->prefetchImage(rt, args[0].asString(rt), args[1].asNumber()); +} +static jsi::Value __hostFunction_NativeImageLoaderAndroidCxxSpecJSI_queryCache(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->queryCache(rt, args[0].asObject(rt).asArray(rt)); +} + +NativeImageLoaderAndroidCxxSpecJSI::NativeImageLoaderAndroidCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("ImageLoader", jsInvoker) { + methodMap_["abortRequest"] = MethodMetadata {1, __hostFunction_NativeImageLoaderAndroidCxxSpecJSI_abortRequest}; + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeImageLoaderAndroidCxxSpecJSI_getConstants}; + methodMap_["getSize"] = MethodMetadata {1, __hostFunction_NativeImageLoaderAndroidCxxSpecJSI_getSize}; + methodMap_["getSizeWithHeaders"] = MethodMetadata {2, __hostFunction_NativeImageLoaderAndroidCxxSpecJSI_getSizeWithHeaders}; + methodMap_["prefetchImage"] = MethodMetadata {2, __hostFunction_NativeImageLoaderAndroidCxxSpecJSI_prefetchImage}; + methodMap_["queryCache"] = MethodMetadata {1, __hostFunction_NativeImageLoaderAndroidCxxSpecJSI_queryCache}; +} +static jsi::Value __hostFunction_NativeImageLoaderIOSCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeImageLoaderIOSCxxSpecJSI_getSize(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getSize(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativeImageLoaderIOSCxxSpecJSI_getSizeWithHeaders(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getSizeWithHeaders(rt, args[0].asString(rt), args[1].asObject(rt)); +} +static jsi::Value __hostFunction_NativeImageLoaderIOSCxxSpecJSI_prefetchImage(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->prefetchImage(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativeImageLoaderIOSCxxSpecJSI_prefetchImageWithMetadata(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->prefetchImageWithMetadata(rt, args[0].asString(rt), args[1].asString(rt), args[2].getNumber()); +} +static jsi::Value __hostFunction_NativeImageLoaderIOSCxxSpecJSI_queryCache(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->queryCache(rt, args[0].asObject(rt).asArray(rt)); +} + +NativeImageLoaderIOSCxxSpecJSI::NativeImageLoaderIOSCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("ImageLoader", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeImageLoaderIOSCxxSpecJSI_getConstants}; + methodMap_["getSize"] = MethodMetadata {1, __hostFunction_NativeImageLoaderIOSCxxSpecJSI_getSize}; + methodMap_["getSizeWithHeaders"] = MethodMetadata {2, __hostFunction_NativeImageLoaderIOSCxxSpecJSI_getSizeWithHeaders}; + methodMap_["prefetchImage"] = MethodMetadata {1, __hostFunction_NativeImageLoaderIOSCxxSpecJSI_prefetchImage}; + methodMap_["prefetchImageWithMetadata"] = MethodMetadata {3, __hostFunction_NativeImageLoaderIOSCxxSpecJSI_prefetchImageWithMetadata}; + methodMap_["queryCache"] = MethodMetadata {1, __hostFunction_NativeImageLoaderIOSCxxSpecJSI_queryCache}; +} +static jsi::Value __hostFunction_NativeImagePickerIOSCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeImagePickerIOSCxxSpecJSI_canRecordVideos(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->canRecordVideos(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeImagePickerIOSCxxSpecJSI_canUseCamera(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->canUseCamera(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeImagePickerIOSCxxSpecJSI_openCameraDialog(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->openCameraDialog(rt, args[0].asObject(rt), args[1].asObject(rt).asFunction(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeImagePickerIOSCxxSpecJSI_openSelectDialog(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->openSelectDialog(rt, args[0].asObject(rt), args[1].asObject(rt).asFunction(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeImagePickerIOSCxxSpecJSI_clearAllPendingVideos(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->clearAllPendingVideos(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeImagePickerIOSCxxSpecJSI_removePendingVideo(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removePendingVideo(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} + +NativeImagePickerIOSCxxSpecJSI::NativeImagePickerIOSCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("ImagePickerIOS", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeImagePickerIOSCxxSpecJSI_getConstants}; + methodMap_["canRecordVideos"] = MethodMetadata {1, __hostFunction_NativeImagePickerIOSCxxSpecJSI_canRecordVideos}; + methodMap_["canUseCamera"] = MethodMetadata {1, __hostFunction_NativeImagePickerIOSCxxSpecJSI_canUseCamera}; + methodMap_["openCameraDialog"] = MethodMetadata {3, __hostFunction_NativeImagePickerIOSCxxSpecJSI_openCameraDialog}; + methodMap_["openSelectDialog"] = MethodMetadata {3, __hostFunction_NativeImagePickerIOSCxxSpecJSI_openSelectDialog}; + methodMap_["clearAllPendingVideos"] = MethodMetadata {0, __hostFunction_NativeImagePickerIOSCxxSpecJSI_clearAllPendingVideos}; + methodMap_["removePendingVideo"] = MethodMetadata {1, __hostFunction_NativeImagePickerIOSCxxSpecJSI_removePendingVideo}; +} +static jsi::Value __hostFunction_NativeImageStoreAndroidCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeImageStoreAndroidCxxSpecJSI_getBase64ForTag(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getBase64ForTag(rt, args[0].asString(rt), args[1].asObject(rt).asFunction(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} + +NativeImageStoreAndroidCxxSpecJSI::NativeImageStoreAndroidCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("ImageStoreManager", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeImageStoreAndroidCxxSpecJSI_getConstants}; + methodMap_["getBase64ForTag"] = MethodMetadata {3, __hostFunction_NativeImageStoreAndroidCxxSpecJSI_getBase64ForTag}; +} +static jsi::Value __hostFunction_NativeImageStoreIOSCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeImageStoreIOSCxxSpecJSI_getBase64ForTag(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getBase64ForTag(rt, args[0].asString(rt), args[1].asObject(rt).asFunction(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeImageStoreIOSCxxSpecJSI_hasImageForTag(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->hasImageForTag(rt, args[0].asString(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeImageStoreIOSCxxSpecJSI_removeImageForTag(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeImageForTag(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeImageStoreIOSCxxSpecJSI_addImageFromBase64(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addImageFromBase64(rt, args[0].asString(rt), args[1].asObject(rt).asFunction(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} + +NativeImageStoreIOSCxxSpecJSI::NativeImageStoreIOSCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("ImageStoreManager", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeImageStoreIOSCxxSpecJSI_getConstants}; + methodMap_["getBase64ForTag"] = MethodMetadata {3, __hostFunction_NativeImageStoreIOSCxxSpecJSI_getBase64ForTag}; + methodMap_["hasImageForTag"] = MethodMetadata {2, __hostFunction_NativeImageStoreIOSCxxSpecJSI_hasImageForTag}; + methodMap_["removeImageForTag"] = MethodMetadata {1, __hostFunction_NativeImageStoreIOSCxxSpecJSI_removeImageForTag}; + methodMap_["addImageFromBase64"] = MethodMetadata {3, __hostFunction_NativeImageStoreIOSCxxSpecJSI_addImageFromBase64}; +} +static jsi::Value __hostFunction_NativeFrameRateLoggerCxxSpecJSI_setGlobalOptions(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setGlobalOptions(rt, args[0].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeFrameRateLoggerCxxSpecJSI_setContext(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setContext(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeFrameRateLoggerCxxSpecJSI_beginScroll(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->beginScroll(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeFrameRateLoggerCxxSpecJSI_endScroll(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->endScroll(rt); + return jsi::Value::undefined(); +} + +NativeFrameRateLoggerCxxSpecJSI::NativeFrameRateLoggerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("FrameRateLogger", jsInvoker) { + methodMap_["setGlobalOptions"] = MethodMetadata {1, __hostFunction_NativeFrameRateLoggerCxxSpecJSI_setGlobalOptions}; + methodMap_["setContext"] = MethodMetadata {1, __hostFunction_NativeFrameRateLoggerCxxSpecJSI_setContext}; + methodMap_["beginScroll"] = MethodMetadata {0, __hostFunction_NativeFrameRateLoggerCxxSpecJSI_beginScroll}; + methodMap_["endScroll"] = MethodMetadata {0, __hostFunction_NativeFrameRateLoggerCxxSpecJSI_endScroll}; +} +static jsi::Value __hostFunction_NativeIntentAndroidCxxSpecJSI_getInitialURL(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getInitialURL(rt); +} +static jsi::Value __hostFunction_NativeIntentAndroidCxxSpecJSI_canOpenURL(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->canOpenURL(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativeIntentAndroidCxxSpecJSI_openURL(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->openURL(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativeIntentAndroidCxxSpecJSI_openSettings(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->openSettings(rt); +} +static jsi::Value __hostFunction_NativeIntentAndroidCxxSpecJSI_sendIntent(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->sendIntent(rt, args[0].asString(rt), args[1].isNull() || args[1].isUndefined() ? std::nullopt : std::make_optional(args[1].asObject(rt).asArray(rt))); +} + +NativeIntentAndroidCxxSpecJSI::NativeIntentAndroidCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("IntentAndroid", jsInvoker) { + methodMap_["getInitialURL"] = MethodMetadata {0, __hostFunction_NativeIntentAndroidCxxSpecJSI_getInitialURL}; + methodMap_["canOpenURL"] = MethodMetadata {1, __hostFunction_NativeIntentAndroidCxxSpecJSI_canOpenURL}; + methodMap_["openURL"] = MethodMetadata {1, __hostFunction_NativeIntentAndroidCxxSpecJSI_openURL}; + methodMap_["openSettings"] = MethodMetadata {0, __hostFunction_NativeIntentAndroidCxxSpecJSI_openSettings}; + methodMap_["sendIntent"] = MethodMetadata {2, __hostFunction_NativeIntentAndroidCxxSpecJSI_sendIntent}; +} +static jsi::Value __hostFunction_NativeLinkingManagerCxxSpecJSI_getInitialURL(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getInitialURL(rt); +} +static jsi::Value __hostFunction_NativeLinkingManagerCxxSpecJSI_canOpenURL(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->canOpenURL(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativeLinkingManagerCxxSpecJSI_openURL(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->openURL(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativeLinkingManagerCxxSpecJSI_openSettings(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->openSettings(rt); +} +static jsi::Value __hostFunction_NativeLinkingManagerCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeLinkingManagerCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} + +NativeLinkingManagerCxxSpecJSI::NativeLinkingManagerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("LinkingManager", jsInvoker) { + methodMap_["getInitialURL"] = MethodMetadata {0, __hostFunction_NativeLinkingManagerCxxSpecJSI_getInitialURL}; + methodMap_["canOpenURL"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerCxxSpecJSI_canOpenURL}; + methodMap_["openURL"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerCxxSpecJSI_openURL}; + methodMap_["openSettings"] = MethodMetadata {0, __hostFunction_NativeLinkingManagerCxxSpecJSI_openSettings}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerCxxSpecJSI_removeListeners}; +} +static jsi::Value __hostFunction_NativeModalManagerCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeModalManagerCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} + +NativeModalManagerCxxSpecJSI::NativeModalManagerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("ModalManager", jsInvoker) { + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeModalManagerCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeModalManagerCxxSpecJSI_removeListeners}; +} +static jsi::Value __hostFunction_NativeNetworkingAndroidCxxSpecJSI_sendRequest(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->sendRequest(rt, args[0].asString(rt), args[1].asString(rt), args[2].asNumber(), args[3].asObject(rt).asArray(rt), args[4].asObject(rt), args[5].asString(rt), args[6].asBool(), args[7].asNumber(), args[8].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeNetworkingAndroidCxxSpecJSI_abortRequest(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->abortRequest(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeNetworkingAndroidCxxSpecJSI_clearCookies(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->clearCookies(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeNetworkingAndroidCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeNetworkingAndroidCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} + +NativeNetworkingAndroidCxxSpecJSI::NativeNetworkingAndroidCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("Networking", jsInvoker) { + methodMap_["sendRequest"] = MethodMetadata {9, __hostFunction_NativeNetworkingAndroidCxxSpecJSI_sendRequest}; + methodMap_["abortRequest"] = MethodMetadata {1, __hostFunction_NativeNetworkingAndroidCxxSpecJSI_abortRequest}; + methodMap_["clearCookies"] = MethodMetadata {1, __hostFunction_NativeNetworkingAndroidCxxSpecJSI_clearCookies}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeNetworkingAndroidCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeNetworkingAndroidCxxSpecJSI_removeListeners}; +} +static jsi::Value __hostFunction_NativeNetworkingIOSCxxSpecJSI_sendRequest(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->sendRequest(rt, args[0].asObject(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeNetworkingIOSCxxSpecJSI_abortRequest(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->abortRequest(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeNetworkingIOSCxxSpecJSI_clearCookies(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->clearCookies(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeNetworkingIOSCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeNetworkingIOSCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} + +NativeNetworkingIOSCxxSpecJSI::NativeNetworkingIOSCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("Networking", jsInvoker) { + methodMap_["sendRequest"] = MethodMetadata {2, __hostFunction_NativeNetworkingIOSCxxSpecJSI_sendRequest}; + methodMap_["abortRequest"] = MethodMetadata {1, __hostFunction_NativeNetworkingIOSCxxSpecJSI_abortRequest}; + methodMap_["clearCookies"] = MethodMetadata {1, __hostFunction_NativeNetworkingIOSCxxSpecJSI_clearCookies}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeNetworkingIOSCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeNetworkingIOSCxxSpecJSI_removeListeners}; +} +static jsi::Value __hostFunction_NativeJSCSamplingProfilerCxxSpecJSI_operationComplete(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->operationComplete(rt, args[0].asNumber(), args[1].isNull() || args[1].isUndefined() ? std::nullopt : std::make_optional(args[1].asString(rt)), args[2].isNull() || args[2].isUndefined() ? std::nullopt : std::make_optional(args[2].asString(rt))); + return jsi::Value::undefined(); +} + +NativeJSCSamplingProfilerCxxSpecJSI::NativeJSCSamplingProfilerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("JSCSamplingProfiler", jsInvoker) { + methodMap_["operationComplete"] = MethodMetadata {3, __hostFunction_NativeJSCSamplingProfilerCxxSpecJSI_operationComplete}; +} +static jsi::Value __hostFunction_NativePermissionsAndroidCxxSpecJSI_checkPermission(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->checkPermission(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativePermissionsAndroidCxxSpecJSI_requestPermission(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->requestPermission(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativePermissionsAndroidCxxSpecJSI_shouldShowRequestPermissionRationale(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->shouldShowRequestPermissionRationale(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativePermissionsAndroidCxxSpecJSI_requestMultiplePermissions(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->requestMultiplePermissions(rt, args[0].asObject(rt).asArray(rt)); +} + +NativePermissionsAndroidCxxSpecJSI::NativePermissionsAndroidCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("PermissionsAndroid", jsInvoker) { + methodMap_["checkPermission"] = MethodMetadata {1, __hostFunction_NativePermissionsAndroidCxxSpecJSI_checkPermission}; + methodMap_["requestPermission"] = MethodMetadata {1, __hostFunction_NativePermissionsAndroidCxxSpecJSI_requestPermission}; + methodMap_["shouldShowRequestPermissionRationale"] = MethodMetadata {1, __hostFunction_NativePermissionsAndroidCxxSpecJSI_shouldShowRequestPermissionRationale}; + methodMap_["requestMultiplePermissions"] = MethodMetadata {1, __hostFunction_NativePermissionsAndroidCxxSpecJSI_requestMultiplePermissions}; +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_onFinishRemoteNotification(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->onFinishRemoteNotification(rt, args[0].asString(rt), args[1].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_setApplicationIconBadgeNumber(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setApplicationIconBadgeNumber(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_getApplicationIconBadgeNumber(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getApplicationIconBadgeNumber(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_requestPermissions(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->requestPermissions(rt, args[0].asObject(rt)); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_abandonPermissions(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->abandonPermissions(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_checkPermissions(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->checkPermissions(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_presentLocalNotification(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->presentLocalNotification(rt, args[0].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_scheduleLocalNotification(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->scheduleLocalNotification(rt, args[0].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_cancelAllLocalNotifications(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->cancelAllLocalNotifications(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_cancelLocalNotifications(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->cancelLocalNotifications(rt, args[0].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_getInitialNotification(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getInitialNotification(rt); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_getScheduledLocalNotifications(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getScheduledLocalNotifications(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_removeAllDeliveredNotifications(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeAllDeliveredNotifications(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_removeDeliveredNotifications(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeDeliveredNotifications(rt, args[0].asObject(rt).asArray(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_getDeliveredNotifications(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getDeliveredNotifications(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_getAuthorizationStatus(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getAuthorizationStatus(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} + +NativePushNotificationManagerIOSCxxSpecJSI::NativePushNotificationManagerIOSCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("PushNotificationManager", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_getConstants}; + methodMap_["onFinishRemoteNotification"] = MethodMetadata {2, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_onFinishRemoteNotification}; + methodMap_["setApplicationIconBadgeNumber"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_setApplicationIconBadgeNumber}; + methodMap_["getApplicationIconBadgeNumber"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_getApplicationIconBadgeNumber}; + methodMap_["requestPermissions"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_requestPermissions}; + methodMap_["abandonPermissions"] = MethodMetadata {0, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_abandonPermissions}; + methodMap_["checkPermissions"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_checkPermissions}; + methodMap_["presentLocalNotification"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_presentLocalNotification}; + methodMap_["scheduleLocalNotification"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_scheduleLocalNotification}; + methodMap_["cancelAllLocalNotifications"] = MethodMetadata {0, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_cancelAllLocalNotifications}; + methodMap_["cancelLocalNotifications"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_cancelLocalNotifications}; + methodMap_["getInitialNotification"] = MethodMetadata {0, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_getInitialNotification}; + methodMap_["getScheduledLocalNotifications"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_getScheduledLocalNotifications}; + methodMap_["removeAllDeliveredNotifications"] = MethodMetadata {0, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_removeAllDeliveredNotifications}; + methodMap_["removeDeliveredNotifications"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_removeDeliveredNotifications}; + methodMap_["getDeliveredNotifications"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_getDeliveredNotifications}; + methodMap_["getAuthorizationStatus"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_getAuthorizationStatus}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSCxxSpecJSI_removeListeners}; +} +static jsi::Value __hostFunction_NativeHeadlessJsTaskSupportCxxSpecJSI_notifyTaskFinished(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->notifyTaskFinished(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeHeadlessJsTaskSupportCxxSpecJSI_notifyTaskRetry(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->notifyTaskRetry(rt, args[0].asNumber()); +} + +NativeHeadlessJsTaskSupportCxxSpecJSI::NativeHeadlessJsTaskSupportCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("HeadlessJsTaskSupport", jsInvoker) { + methodMap_["notifyTaskFinished"] = MethodMetadata {1, __hostFunction_NativeHeadlessJsTaskSupportCxxSpecJSI_notifyTaskFinished}; + methodMap_["notifyTaskRetry"] = MethodMetadata {1, __hostFunction_NativeHeadlessJsTaskSupportCxxSpecJSI_notifyTaskRetry}; +} +static jsi::Value __hostFunction_NativeI18nManagerCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeI18nManagerCxxSpecJSI_allowRTL(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->allowRTL(rt, args[0].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeI18nManagerCxxSpecJSI_forceRTL(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->forceRTL(rt, args[0].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeI18nManagerCxxSpecJSI_swapLeftAndRightInRTL(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->swapLeftAndRightInRTL(rt, args[0].asBool()); + return jsi::Value::undefined(); +} + +NativeI18nManagerCxxSpecJSI::NativeI18nManagerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("I18nManager", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeI18nManagerCxxSpecJSI_getConstants}; + methodMap_["allowRTL"] = MethodMetadata {1, __hostFunction_NativeI18nManagerCxxSpecJSI_allowRTL}; + methodMap_["forceRTL"] = MethodMetadata {1, __hostFunction_NativeI18nManagerCxxSpecJSI_forceRTL}; + methodMap_["swapLeftAndRightInRTL"] = MethodMetadata {1, __hostFunction_NativeI18nManagerCxxSpecJSI_swapLeftAndRightInRTL}; +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_getConstantsForViewManager(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstantsForViewManager(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_getDefaultEventTypes(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getDefaultEventTypes(rt); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_lazilyLoadView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->lazilyLoadView(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_createView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->createView(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].asString(rt), args[2].getNumber(), args[3].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_updateView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->updateView(rt, args[0].asNumber(), args[1].asString(rt), args[2].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_focus(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->focus(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber())); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_blur(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->blur(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber())); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_findSubviewIn(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->findSubviewIn(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].asObject(rt).asArray(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_dispatchViewManagerCommand(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->dispatchViewManagerCommand(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].asNumber(), args[2].isNull() || args[2].isUndefined() ? std::nullopt : std::make_optional(args[2].asObject(rt).asArray(rt))); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_measure(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->measure(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_measureInWindow(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->measureInWindow(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_viewIsDescendantOf(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->viewIsDescendantOf(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].isNull() || args[1].isUndefined() ? std::nullopt : std::make_optional(args[1].asNumber()), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_measureLayout(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->measureLayout(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].isNull() || args[1].isUndefined() ? std::nullopt : std::make_optional(args[1].asNumber()), args[2].asObject(rt).asFunction(rt), args[3].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_measureLayoutRelativeToParent(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->measureLayoutRelativeToParent(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].asObject(rt).asFunction(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_setJSResponder(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setJSResponder(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_clearJSResponder(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->clearJSResponder(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_configureNextLayoutAnimation(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->configureNextLayoutAnimation(rt, args[0].asObject(rt), args[1].asObject(rt).asFunction(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_removeSubviewsFromContainerWithID(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeSubviewsFromContainerWithID(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_replaceExistingNonRootView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->replaceExistingNonRootView(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].isNull() || args[1].isUndefined() ? std::nullopt : std::make_optional(args[1].asNumber())); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_setChildren(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setChildren(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].asObject(rt).asArray(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_manageChildren(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->manageChildren(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].asObject(rt).asArray(rt), args[2].asObject(rt).asArray(rt), args[3].asObject(rt).asArray(rt), args[4].asObject(rt).asArray(rt), args[5].asObject(rt).asArray(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_setLayoutAnimationEnabledExperimental(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setLayoutAnimationEnabledExperimental(rt, args[0].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_sendAccessibilityEvent(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->sendAccessibilityEvent(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_showPopupMenu(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->showPopupMenu(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asNumber()), args[1].asObject(rt).asArray(rt), args[2].asObject(rt).asFunction(rt), args[3].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_dismissPopupMenu(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->dismissPopupMenu(rt); + return jsi::Value::undefined(); +} + +NativeUIManagerCxxSpecJSI::NativeUIManagerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("UIManager", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeUIManagerCxxSpecJSI_getConstants}; + methodMap_["getConstantsForViewManager"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_getConstantsForViewManager}; + methodMap_["getDefaultEventTypes"] = MethodMetadata {0, __hostFunction_NativeUIManagerCxxSpecJSI_getDefaultEventTypes}; + methodMap_["lazilyLoadView"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_lazilyLoadView}; + methodMap_["createView"] = MethodMetadata {4, __hostFunction_NativeUIManagerCxxSpecJSI_createView}; + methodMap_["updateView"] = MethodMetadata {3, __hostFunction_NativeUIManagerCxxSpecJSI_updateView}; + methodMap_["focus"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_focus}; + methodMap_["blur"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_blur}; + methodMap_["findSubviewIn"] = MethodMetadata {3, __hostFunction_NativeUIManagerCxxSpecJSI_findSubviewIn}; + methodMap_["dispatchViewManagerCommand"] = MethodMetadata {3, __hostFunction_NativeUIManagerCxxSpecJSI_dispatchViewManagerCommand}; + methodMap_["measure"] = MethodMetadata {2, __hostFunction_NativeUIManagerCxxSpecJSI_measure}; + methodMap_["measureInWindow"] = MethodMetadata {2, __hostFunction_NativeUIManagerCxxSpecJSI_measureInWindow}; + methodMap_["viewIsDescendantOf"] = MethodMetadata {3, __hostFunction_NativeUIManagerCxxSpecJSI_viewIsDescendantOf}; + methodMap_["measureLayout"] = MethodMetadata {4, __hostFunction_NativeUIManagerCxxSpecJSI_measureLayout}; + methodMap_["measureLayoutRelativeToParent"] = MethodMetadata {3, __hostFunction_NativeUIManagerCxxSpecJSI_measureLayoutRelativeToParent}; + methodMap_["setJSResponder"] = MethodMetadata {2, __hostFunction_NativeUIManagerCxxSpecJSI_setJSResponder}; + methodMap_["clearJSResponder"] = MethodMetadata {0, __hostFunction_NativeUIManagerCxxSpecJSI_clearJSResponder}; + methodMap_["configureNextLayoutAnimation"] = MethodMetadata {3, __hostFunction_NativeUIManagerCxxSpecJSI_configureNextLayoutAnimation}; + methodMap_["removeSubviewsFromContainerWithID"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_removeSubviewsFromContainerWithID}; + methodMap_["replaceExistingNonRootView"] = MethodMetadata {2, __hostFunction_NativeUIManagerCxxSpecJSI_replaceExistingNonRootView}; + methodMap_["setChildren"] = MethodMetadata {2, __hostFunction_NativeUIManagerCxxSpecJSI_setChildren}; + methodMap_["manageChildren"] = MethodMetadata {6, __hostFunction_NativeUIManagerCxxSpecJSI_manageChildren}; + methodMap_["setLayoutAnimationEnabledExperimental"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_setLayoutAnimationEnabledExperimental}; + methodMap_["sendAccessibilityEvent"] = MethodMetadata {2, __hostFunction_NativeUIManagerCxxSpecJSI_sendAccessibilityEvent}; + methodMap_["showPopupMenu"] = MethodMetadata {4, __hostFunction_NativeUIManagerCxxSpecJSI_showPopupMenu}; + methodMap_["dismissPopupMenu"] = MethodMetadata {0, __hostFunction_NativeUIManagerCxxSpecJSI_dismissPopupMenu}; +} +static jsi::Value __hostFunction_NativeSettingsManagerCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeSettingsManagerCxxSpecJSI_setValues(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setValues(rt, args[0].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeSettingsManagerCxxSpecJSI_deleteValues(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->deleteValues(rt, args[0].asObject(rt).asArray(rt)); + return jsi::Value::undefined(); +} + +NativeSettingsManagerCxxSpecJSI::NativeSettingsManagerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("SettingsManager", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeSettingsManagerCxxSpecJSI_getConstants}; + methodMap_["setValues"] = MethodMetadata {1, __hostFunction_NativeSettingsManagerCxxSpecJSI_setValues}; + methodMap_["deleteValues"] = MethodMetadata {1, __hostFunction_NativeSettingsManagerCxxSpecJSI_deleteValues}; +} +static jsi::Value __hostFunction_NativeShareModuleCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeShareModuleCxxSpecJSI_share(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->share(rt, args[0].asObject(rt), args[1].asString(rt)); +} + +NativeShareModuleCxxSpecJSI::NativeShareModuleCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("ShareModule", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeShareModuleCxxSpecJSI_getConstants}; + methodMap_["share"] = MethodMetadata {2, __hostFunction_NativeShareModuleCxxSpecJSI_share}; +} +static jsi::Value __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_multiGet(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->multiGet(rt, args[0].asObject(rt).asArray(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_multiSet(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->multiSet(rt, args[0].asObject(rt).asArray(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_multiMerge(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->multiMerge(rt, args[0].asObject(rt).asArray(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_multiRemove(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->multiRemove(rt, args[0].asObject(rt).asArray(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_clear(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->clear(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_getAllKeys(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getAllKeys(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} + +NativeAsyncLocalStorageCxxSpecJSI::NativeAsyncLocalStorageCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("AsyncLocalStorage", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_getConstants}; + methodMap_["multiGet"] = MethodMetadata {2, __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_multiGet}; + methodMap_["multiSet"] = MethodMetadata {2, __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_multiSet}; + methodMap_["multiMerge"] = MethodMetadata {2, __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_multiMerge}; + methodMap_["multiRemove"] = MethodMetadata {2, __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_multiRemove}; + methodMap_["clear"] = MethodMetadata {1, __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_clear}; + methodMap_["getAllKeys"] = MethodMetadata {1, __hostFunction_NativeAsyncLocalStorageCxxSpecJSI_getAllKeys}; +} +static jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_multiGet(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->multiGet(rt, args[0].asObject(rt).asArray(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_multiSet(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->multiSet(rt, args[0].asObject(rt).asArray(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_multiMerge(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->multiMerge(rt, args[0].asObject(rt).asArray(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_multiRemove(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->multiRemove(rt, args[0].asObject(rt).asArray(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_clear(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->clear(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_getAllKeys(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getAllKeys(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} + +NativeAsyncSQLiteDBStorageCxxSpecJSI::NativeAsyncSQLiteDBStorageCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("AsyncSQLiteDBStorage", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_getConstants}; + methodMap_["multiGet"] = MethodMetadata {2, __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_multiGet}; + methodMap_["multiSet"] = MethodMetadata {2, __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_multiSet}; + methodMap_["multiMerge"] = MethodMetadata {2, __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_multiMerge}; + methodMap_["multiRemove"] = MethodMetadata {2, __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_multiRemove}; + methodMap_["clear"] = MethodMetadata {1, __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_clear}; + methodMap_["getAllKeys"] = MethodMetadata {1, __hostFunction_NativeAsyncSQLiteDBStorageCxxSpecJSI_getAllKeys}; +} +static jsi::Value __hostFunction_NativeAppearanceCxxSpecJSI_getColorScheme(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + auto result = static_cast(&turboModule)->getColorScheme(rt); + return result ? jsi::Value(std::move(*result)) : jsi::Value::null(); +} +static jsi::Value __hostFunction_NativeAppearanceCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAppearanceCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} + +NativeAppearanceCxxSpecJSI::NativeAppearanceCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("Appearance", jsInvoker) { + methodMap_["getColorScheme"] = MethodMetadata {0, __hostFunction_NativeAppearanceCxxSpecJSI_getColorScheme}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeAppearanceCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeAppearanceCxxSpecJSI_removeListeners}; +} +static jsi::Value __hostFunction_NativeDeviceInfoCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} + +NativeDeviceInfoCxxSpecJSI::NativeDeviceInfoCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("DeviceInfo", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeDeviceInfoCxxSpecJSI_getConstants}; +} +static jsi::Value __hostFunction_NativeDevLoadingViewCxxSpecJSI_showMessage(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->showMessage(rt, args[0].asString(rt), args[1].isNull() || args[1].isUndefined() ? std::nullopt : std::make_optional(args[1].asNumber()), args[2].isNull() || args[2].isUndefined() ? std::nullopt : std::make_optional(args[2].asNumber())); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevLoadingViewCxxSpecJSI_hide(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->hide(rt); + return jsi::Value::undefined(); +} + +NativeDevLoadingViewCxxSpecJSI::NativeDevLoadingViewCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("DevLoadingView", jsInvoker) { + methodMap_["showMessage"] = MethodMetadata {3, __hostFunction_NativeDevLoadingViewCxxSpecJSI_showMessage}; + methodMap_["hide"] = MethodMetadata {0, __hostFunction_NativeDevLoadingViewCxxSpecJSI_hide}; +} +static jsi::Value __hostFunction_NativeDevSplitBundleLoaderCxxSpecJSI_loadBundle(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->loadBundle(rt, args[0].asString(rt)); +} + +NativeDevSplitBundleLoaderCxxSpecJSI::NativeDevSplitBundleLoaderCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("DevSplitBundleLoader", jsInvoker) { + methodMap_["loadBundle"] = MethodMetadata {1, __hostFunction_NativeDevSplitBundleLoaderCxxSpecJSI_loadBundle}; +} +static jsi::Value __hostFunction_NativePlatformConstantsAndroidCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativePlatformConstantsAndroidCxxSpecJSI_getAndroidID(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getAndroidID(rt); +} + +NativePlatformConstantsAndroidCxxSpecJSI::NativePlatformConstantsAndroidCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("PlatformConstants", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativePlatformConstantsAndroidCxxSpecJSI_getConstants}; + methodMap_["getAndroidID"] = MethodMetadata {0, __hostFunction_NativePlatformConstantsAndroidCxxSpecJSI_getAndroidID}; +} +static jsi::Value __hostFunction_NativePlatformConstantsIOSCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} + +NativePlatformConstantsIOSCxxSpecJSI::NativePlatformConstantsIOSCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("PlatformConstants", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativePlatformConstantsIOSCxxSpecJSI_getConstants}; +} +static jsi::Value __hostFunction_NativePlatformConstantsWinCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} + +NativePlatformConstantsWinCxxSpecJSI::NativePlatformConstantsWinCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("PlatformConstants", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativePlatformConstantsWinCxxSpecJSI_getConstants}; +} +static jsi::Value __hostFunction_NativeVibrationCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeVibrationCxxSpecJSI_vibrate(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->vibrate(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeVibrationCxxSpecJSI_vibrateByPattern(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->vibrateByPattern(rt, args[0].asObject(rt).asArray(rt), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeVibrationCxxSpecJSI_cancel(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->cancel(rt); + return jsi::Value::undefined(); +} + +NativeVibrationCxxSpecJSI::NativeVibrationCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("Vibration", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeVibrationCxxSpecJSI_getConstants}; + methodMap_["vibrate"] = MethodMetadata {1, __hostFunction_NativeVibrationCxxSpecJSI_vibrate}; + methodMap_["vibrateByPattern"] = MethodMetadata {2, __hostFunction_NativeVibrationCxxSpecJSI_vibrateByPattern}; + methodMap_["cancel"] = MethodMetadata {0, __hostFunction_NativeVibrationCxxSpecJSI_cancel}; +} +static jsi::Value __hostFunction_NativeWebSocketModuleCxxSpecJSI_connect(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->connect(rt, args[0].asString(rt), args[1].isNull() || args[1].isUndefined() ? std::nullopt : std::make_optional(args[1].asObject(rt).asArray(rt)), args[2].asObject(rt), args[3].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeWebSocketModuleCxxSpecJSI_send(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->send(rt, args[0].asString(rt), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeWebSocketModuleCxxSpecJSI_sendBinary(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->sendBinary(rt, args[0].asString(rt), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeWebSocketModuleCxxSpecJSI_ping(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->ping(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeWebSocketModuleCxxSpecJSI_close(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->close(rt, args[0].asNumber(), args[1].asString(rt), args[2].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeWebSocketModuleCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeWebSocketModuleCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} + +NativeWebSocketModuleCxxSpecJSI::NativeWebSocketModuleCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("WebSocketModule", jsInvoker) { + methodMap_["connect"] = MethodMetadata {4, __hostFunction_NativeWebSocketModuleCxxSpecJSI_connect}; + methodMap_["send"] = MethodMetadata {2, __hostFunction_NativeWebSocketModuleCxxSpecJSI_send}; + methodMap_["sendBinary"] = MethodMetadata {2, __hostFunction_NativeWebSocketModuleCxxSpecJSI_sendBinary}; + methodMap_["ping"] = MethodMetadata {1, __hostFunction_NativeWebSocketModuleCxxSpecJSI_ping}; + methodMap_["close"] = MethodMetadata {3, __hostFunction_NativeWebSocketModuleCxxSpecJSI_close}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeWebSocketModuleCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeWebSocketModuleCxxSpecJSI_removeListeners}; +} +static jsi::Value __hostFunction_NativeAccessibilityInfoCxxSpecJSI_isReduceMotionEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->isReduceMotionEnabled(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityInfoCxxSpecJSI_isTouchExplorationEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->isTouchExplorationEnabled(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityInfoCxxSpecJSI_isAccessibilityServiceEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->isAccessibilityServiceEnabled(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityInfoCxxSpecJSI_setAccessibilityFocus(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setAccessibilityFocus(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityInfoCxxSpecJSI_announceForAccessibility(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->announceForAccessibility(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityInfoCxxSpecJSI_getRecommendedTimeoutMillis(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getRecommendedTimeoutMillis(rt, args[0].asNumber(), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} + +NativeAccessibilityInfoCxxSpecJSI::NativeAccessibilityInfoCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("AccessibilityInfo", jsInvoker) { + methodMap_["isReduceMotionEnabled"] = MethodMetadata {1, __hostFunction_NativeAccessibilityInfoCxxSpecJSI_isReduceMotionEnabled}; + methodMap_["isTouchExplorationEnabled"] = MethodMetadata {1, __hostFunction_NativeAccessibilityInfoCxxSpecJSI_isTouchExplorationEnabled}; + methodMap_["isAccessibilityServiceEnabled"] = MethodMetadata {1, __hostFunction_NativeAccessibilityInfoCxxSpecJSI_isAccessibilityServiceEnabled}; + methodMap_["setAccessibilityFocus"] = MethodMetadata {1, __hostFunction_NativeAccessibilityInfoCxxSpecJSI_setAccessibilityFocus}; + methodMap_["announceForAccessibility"] = MethodMetadata {1, __hostFunction_NativeAccessibilityInfoCxxSpecJSI_announceForAccessibility}; + methodMap_["getRecommendedTimeoutMillis"] = MethodMetadata {2, __hostFunction_NativeAccessibilityInfoCxxSpecJSI_getRecommendedTimeoutMillis}; +} +static jsi::Value __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentBoldTextState(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getCurrentBoldTextState(rt, args[0].asObject(rt).asFunction(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentGrayscaleState(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getCurrentGrayscaleState(rt, args[0].asObject(rt).asFunction(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentInvertColorsState(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getCurrentInvertColorsState(rt, args[0].asObject(rt).asFunction(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentReduceMotionState(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getCurrentReduceMotionState(rt, args[0].asObject(rt).asFunction(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentPrefersCrossFadeTransitionsState(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getCurrentPrefersCrossFadeTransitionsState(rt, args[0].asObject(rt).asFunction(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentReduceTransparencyState(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getCurrentReduceTransparencyState(rt, args[0].asObject(rt).asFunction(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentVoiceOverState(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getCurrentVoiceOverState(rt, args[0].asObject(rt).asFunction(rt), args[1].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityManagerCxxSpecJSI_setAccessibilityContentSizeMultipliers(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setAccessibilityContentSizeMultipliers(rt, args[0].asObject(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityManagerCxxSpecJSI_setAccessibilityFocus(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setAccessibilityFocus(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityManagerCxxSpecJSI_announceForAccessibility(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->announceForAccessibility(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAccessibilityManagerCxxSpecJSI_announceForAccessibilityWithOptions(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->announceForAccessibilityWithOptions(rt, args[0].asString(rt), args[1].asObject(rt)); + return jsi::Value::undefined(); +} + +NativeAccessibilityManagerCxxSpecJSI::NativeAccessibilityManagerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("AccessibilityManager", jsInvoker) { + methodMap_["getCurrentBoldTextState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentBoldTextState}; + methodMap_["getCurrentGrayscaleState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentGrayscaleState}; + methodMap_["getCurrentInvertColorsState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentInvertColorsState}; + methodMap_["getCurrentReduceMotionState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentReduceMotionState}; + methodMap_["getCurrentPrefersCrossFadeTransitionsState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentPrefersCrossFadeTransitionsState}; + methodMap_["getCurrentReduceTransparencyState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentReduceTransparencyState}; + methodMap_["getCurrentVoiceOverState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerCxxSpecJSI_getCurrentVoiceOverState}; + methodMap_["setAccessibilityContentSizeMultipliers"] = MethodMetadata {1, __hostFunction_NativeAccessibilityManagerCxxSpecJSI_setAccessibilityContentSizeMultipliers}; + methodMap_["setAccessibilityFocus"] = MethodMetadata {1, __hostFunction_NativeAccessibilityManagerCxxSpecJSI_setAccessibilityFocus}; + methodMap_["announceForAccessibility"] = MethodMetadata {1, __hostFunction_NativeAccessibilityManagerCxxSpecJSI_announceForAccessibility}; + methodMap_["announceForAccessibilityWithOptions"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerCxxSpecJSI_announceForAccessibilityWithOptions}; +} +static jsi::Value __hostFunction_NativeClipboardCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeClipboardCxxSpecJSI_getString(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getString(rt); +} +static jsi::Value __hostFunction_NativeClipboardCxxSpecJSI_setString(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setString(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} + +NativeClipboardCxxSpecJSI::NativeClipboardCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("Clipboard", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeClipboardCxxSpecJSI_getConstants}; + methodMap_["getString"] = MethodMetadata {0, __hostFunction_NativeClipboardCxxSpecJSI_getString}; + methodMap_["setString"] = MethodMetadata {1, __hostFunction_NativeClipboardCxxSpecJSI_setString}; +} +static jsi::Value __hostFunction_NativeDatePickerAndroidCxxSpecJSI_open(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->open(rt, args[0].asObject(rt)); +} + +NativeDatePickerAndroidCxxSpecJSI::NativeDatePickerAndroidCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("DatePickerAndroid", jsInvoker) { + methodMap_["open"] = MethodMetadata {1, __hostFunction_NativeDatePickerAndroidCxxSpecJSI_open}; +} +static jsi::Value __hostFunction_NativeKeyboardObserverCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeKeyboardObserverCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} + +NativeKeyboardObserverCxxSpecJSI::NativeKeyboardObserverCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("KeyboardObserver", jsInvoker) { + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeKeyboardObserverCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeKeyboardObserverCxxSpecJSI_removeListeners}; +} +static jsi::Value __hostFunction_NativeSoundManagerCxxSpecJSI_playTouchSound(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->playTouchSound(rt); + return jsi::Value::undefined(); +} + +NativeSoundManagerCxxSpecJSI::NativeSoundManagerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("SoundManager", jsInvoker) { + methodMap_["playTouchSound"] = MethodMetadata {0, __hostFunction_NativeSoundManagerCxxSpecJSI_playTouchSound}; +} +static jsi::Value __hostFunction_NativeStatusBarManagerAndroidCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeStatusBarManagerAndroidCxxSpecJSI_setColor(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setColor(rt, args[0].asNumber(), args[1].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeStatusBarManagerAndroidCxxSpecJSI_setTranslucent(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setTranslucent(rt, args[0].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeStatusBarManagerAndroidCxxSpecJSI_setStyle(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setStyle(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asString(rt))); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeStatusBarManagerAndroidCxxSpecJSI_setHidden(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setHidden(rt, args[0].asBool()); + return jsi::Value::undefined(); +} + +NativeStatusBarManagerAndroidCxxSpecJSI::NativeStatusBarManagerAndroidCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("StatusBarManager", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeStatusBarManagerAndroidCxxSpecJSI_getConstants}; + methodMap_["setColor"] = MethodMetadata {2, __hostFunction_NativeStatusBarManagerAndroidCxxSpecJSI_setColor}; + methodMap_["setTranslucent"] = MethodMetadata {1, __hostFunction_NativeStatusBarManagerAndroidCxxSpecJSI_setTranslucent}; + methodMap_["setStyle"] = MethodMetadata {1, __hostFunction_NativeStatusBarManagerAndroidCxxSpecJSI_setStyle}; + methodMap_["setHidden"] = MethodMetadata {1, __hostFunction_NativeStatusBarManagerAndroidCxxSpecJSI_setHidden}; +} +static jsi::Value __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_getHeight(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getHeight(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_setNetworkActivityIndicatorVisible(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setNetworkActivityIndicatorVisible(rt, args[0].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_setStyle(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setStyle(rt, args[0].isNull() || args[0].isUndefined() ? std::nullopt : std::make_optional(args[0].asString(rt)), args[1].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_setHidden(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setHidden(rt, args[0].asBool(), args[1].asString(rt)); + return jsi::Value::undefined(); +} + +NativeStatusBarManagerIOSCxxSpecJSI::NativeStatusBarManagerIOSCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("StatusBarManager", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_getConstants}; + methodMap_["getHeight"] = MethodMetadata {1, __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_getHeight}; + methodMap_["setNetworkActivityIndicatorVisible"] = MethodMetadata {1, __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_setNetworkActivityIndicatorVisible}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_removeListeners}; + methodMap_["setStyle"] = MethodMetadata {2, __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_setStyle}; + methodMap_["setHidden"] = MethodMetadata {2, __hostFunction_NativeStatusBarManagerIOSCxxSpecJSI_setHidden}; +} +static jsi::Value __hostFunction_NativeToastAndroidCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeToastAndroidCxxSpecJSI_show(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->show(rt, args[0].asString(rt), args[1].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeToastAndroidCxxSpecJSI_showWithGravity(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->showWithGravity(rt, args[0].asString(rt), args[1].asNumber(), args[2].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeToastAndroidCxxSpecJSI_showWithGravityAndOffset(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->showWithGravityAndOffset(rt, args[0].asString(rt), args[1].asNumber(), args[2].asNumber(), args[3].asNumber(), args[4].asNumber()); + return jsi::Value::undefined(); +} + +NativeToastAndroidCxxSpecJSI::NativeToastAndroidCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("ToastAndroid", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeToastAndroidCxxSpecJSI_getConstants}; + methodMap_["show"] = MethodMetadata {2, __hostFunction_NativeToastAndroidCxxSpecJSI_show}; + methodMap_["showWithGravity"] = MethodMetadata {3, __hostFunction_NativeToastAndroidCxxSpecJSI_showWithGravity}; + methodMap_["showWithGravityAndOffset"] = MethodMetadata {5, __hostFunction_NativeToastAndroidCxxSpecJSI_showWithGravityAndOffset}; +} +static jsi::Value __hostFunction_NativeSegmentFetcherCxxSpecJSI_fetchSegment(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->fetchSegment(rt, args[0].asNumber(), args[1].asObject(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeSegmentFetcherCxxSpecJSI_getSegment(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getSegment(rt, args[0].asNumber(), args[1].asObject(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} + +NativeSegmentFetcherCxxSpecJSI::NativeSegmentFetcherCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("SegmentFetcher", jsInvoker) { + methodMap_["fetchSegment"] = MethodMetadata {3, __hostFunction_NativeSegmentFetcherCxxSpecJSI_fetchSegment}; + methodMap_["getSegment"] = MethodMetadata {3, __hostFunction_NativeSegmentFetcherCxxSpecJSI_getSegment}; +} +static jsi::Value __hostFunction_NativeTimingCxxSpecJSI_createTimer(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->createTimer(rt, args[0].asNumber(), args[1].asNumber(), args[2].asNumber(), args[3].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeTimingCxxSpecJSI_deleteTimer(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->deleteTimer(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeTimingCxxSpecJSI_setSendIdleEvents(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setSendIdleEvents(rt, args[0].asBool()); + return jsi::Value::undefined(); +} + +NativeTimingCxxSpecJSI::NativeTimingCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("Timing", jsInvoker) { + methodMap_["createTimer"] = MethodMetadata {4, __hostFunction_NativeTimingCxxSpecJSI_createTimer}; + methodMap_["deleteTimer"] = MethodMetadata {1, __hostFunction_NativeTimingCxxSpecJSI_deleteTimer}; + methodMap_["setSendIdleEvents"] = MethodMetadata {1, __hostFunction_NativeTimingCxxSpecJSI_setSendIdleEvents}; +} +static jsi::Value __hostFunction_NativeAnimationsDebugModuleCxxSpecJSI_startRecordingFps(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->startRecordingFps(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeAnimationsDebugModuleCxxSpecJSI_stopRecordingFps(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->stopRecordingFps(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} + +NativeAnimationsDebugModuleCxxSpecJSI::NativeAnimationsDebugModuleCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("AnimationsDebugModule", jsInvoker) { + methodMap_["startRecordingFps"] = MethodMetadata {0, __hostFunction_NativeAnimationsDebugModuleCxxSpecJSI_startRecordingFps}; + methodMap_["stopRecordingFps"] = MethodMetadata {1, __hostFunction_NativeAnimationsDebugModuleCxxSpecJSI_stopRecordingFps}; +} +static jsi::Value __hostFunction_NativeDeviceEventManagerCxxSpecJSI_invokeDefaultBackPressHandler(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->invokeDefaultBackPressHandler(rt); + return jsi::Value::undefined(); +} + +NativeDeviceEventManagerCxxSpecJSI::NativeDeviceEventManagerCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("DeviceEventManager", jsInvoker) { + methodMap_["invokeDefaultBackPressHandler"] = MethodMetadata {0, __hostFunction_NativeDeviceEventManagerCxxSpecJSI_invokeDefaultBackPressHandler}; +} +static jsi::Value __hostFunction_NativeDevMenuCxxSpecJSI_show(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->show(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevMenuCxxSpecJSI_reload(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->reload(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevMenuCxxSpecJSI_debugRemotely(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->debugRemotely(rt, args[0].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevMenuCxxSpecJSI_setProfilingEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setProfilingEnabled(rt, args[0].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevMenuCxxSpecJSI_setHotLoadingEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setHotLoadingEnabled(rt, args[0].asBool()); + return jsi::Value::undefined(); +} + +NativeDevMenuCxxSpecJSI::NativeDevMenuCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("DevMenu", jsInvoker) { + methodMap_["show"] = MethodMetadata {0, __hostFunction_NativeDevMenuCxxSpecJSI_show}; + methodMap_["reload"] = MethodMetadata {0, __hostFunction_NativeDevMenuCxxSpecJSI_reload}; + methodMap_["debugRemotely"] = MethodMetadata {1, __hostFunction_NativeDevMenuCxxSpecJSI_debugRemotely}; + methodMap_["setProfilingEnabled"] = MethodMetadata {1, __hostFunction_NativeDevMenuCxxSpecJSI_setProfilingEnabled}; + methodMap_["setHotLoadingEnabled"] = MethodMetadata {1, __hostFunction_NativeDevMenuCxxSpecJSI_setHotLoadingEnabled}; +} +static jsi::Value __hostFunction_NativeDevSettingsCxxSpecJSI_reload(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->reload(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevSettingsCxxSpecJSI_reloadWithReason(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->reloadWithReason(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevSettingsCxxSpecJSI_onFastRefresh(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->onFastRefresh(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevSettingsCxxSpecJSI_setHotLoadingEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setHotLoadingEnabled(rt, args[0].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevSettingsCxxSpecJSI_setIsDebuggingRemotely(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setIsDebuggingRemotely(rt, args[0].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevSettingsCxxSpecJSI_setProfilingEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setProfilingEnabled(rt, args[0].asBool()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevSettingsCxxSpecJSI_toggleElementInspector(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->toggleElementInspector(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevSettingsCxxSpecJSI_addMenuItem(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addMenuItem(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevSettingsCxxSpecJSI_addListener(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->addListener(rt, args[0].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevSettingsCxxSpecJSI_removeListeners(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->removeListeners(rt, args[0].asNumber()); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeDevSettingsCxxSpecJSI_setIsShakeToShowDevMenuEnabled(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setIsShakeToShowDevMenuEnabled(rt, args[0].asBool()); + return jsi::Value::undefined(); +} + +NativeDevSettingsCxxSpecJSI::NativeDevSettingsCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("DevSettings", jsInvoker) { + methodMap_["reload"] = MethodMetadata {0, __hostFunction_NativeDevSettingsCxxSpecJSI_reload}; + methodMap_["reloadWithReason"] = MethodMetadata {1, __hostFunction_NativeDevSettingsCxxSpecJSI_reloadWithReason}; + methodMap_["onFastRefresh"] = MethodMetadata {0, __hostFunction_NativeDevSettingsCxxSpecJSI_onFastRefresh}; + methodMap_["setHotLoadingEnabled"] = MethodMetadata {1, __hostFunction_NativeDevSettingsCxxSpecJSI_setHotLoadingEnabled}; + methodMap_["setIsDebuggingRemotely"] = MethodMetadata {1, __hostFunction_NativeDevSettingsCxxSpecJSI_setIsDebuggingRemotely}; + methodMap_["setProfilingEnabled"] = MethodMetadata {1, __hostFunction_NativeDevSettingsCxxSpecJSI_setProfilingEnabled}; + methodMap_["toggleElementInspector"] = MethodMetadata {0, __hostFunction_NativeDevSettingsCxxSpecJSI_toggleElementInspector}; + methodMap_["addMenuItem"] = MethodMetadata {1, __hostFunction_NativeDevSettingsCxxSpecJSI_addMenuItem}; + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeDevSettingsCxxSpecJSI_addListener}; + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeDevSettingsCxxSpecJSI_removeListeners}; + methodMap_["setIsShakeToShowDevMenuEnabled"] = MethodMetadata {1, __hostFunction_NativeDevSettingsCxxSpecJSI_setIsShakeToShowDevMenuEnabled}; +} +static jsi::Value __hostFunction_NativeDialogManagerAndroidCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeDialogManagerAndroidCxxSpecJSI_showAlert(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->showAlert(rt, args[0].asObject(rt), args[1].asObject(rt).asFunction(rt), args[2].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} + +NativeDialogManagerAndroidCxxSpecJSI::NativeDialogManagerAndroidCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("DialogManagerAndroid", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeDialogManagerAndroidCxxSpecJSI_getConstants}; + methodMap_["showAlert"] = MethodMetadata {3, __hostFunction_NativeDialogManagerAndroidCxxSpecJSI_showAlert}; +} +static jsi::Value __hostFunction_NativeLogBoxCxxSpecJSI_show(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->show(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeLogBoxCxxSpecJSI_hide(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->hide(rt); + return jsi::Value::undefined(); +} + +NativeLogBoxCxxSpecJSI::NativeLogBoxCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("LogBox", jsInvoker) { + methodMap_["show"] = MethodMetadata {0, __hostFunction_NativeLogBoxCxxSpecJSI_show}; + methodMap_["hide"] = MethodMetadata {0, __hostFunction_NativeLogBoxCxxSpecJSI_hide}; +} +static jsi::Value __hostFunction_NativeRedBoxCxxSpecJSI_setExtraData(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->setExtraData(rt, args[0].asObject(rt), args[1].asString(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeRedBoxCxxSpecJSI_dismiss(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->dismiss(rt); + return jsi::Value::undefined(); +} + +NativeRedBoxCxxSpecJSI::NativeRedBoxCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("RedBox", jsInvoker) { + methodMap_["setExtraData"] = MethodMetadata {2, __hostFunction_NativeRedBoxCxxSpecJSI_setExtraData}; + methodMap_["dismiss"] = MethodMetadata {0, __hostFunction_NativeRedBoxCxxSpecJSI_dismiss}; +} +static jsi::Value __hostFunction_NativeSourceCodeCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} + +NativeSourceCodeCxxSpecJSI::NativeSourceCodeCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("SourceCode", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeSourceCodeCxxSpecJSI_getConstants}; +} +static jsi::Value __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getConstants(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getConstants(rt); +} +static jsi::Value __hostFunction_NativeSampleTurboModuleCxxSpecJSI_voidFunc(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->voidFunc(rt); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getBool(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getBool(rt, args[0].asBool()); +} +static jsi::Value __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getNumber(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getNumber(rt, args[0].asNumber()); +} +static jsi::Value __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getString(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getString(rt, args[0].asString(rt)); +} +static jsi::Value __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getArray(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getArray(rt, args[0].asObject(rt).asArray(rt)); +} +static jsi::Value __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getObject(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getObject(rt, args[0].asObject(rt)); +} +static jsi::Value __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getUnsafeObject(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getUnsafeObject(rt, args[0].asObject(rt)); +} +static jsi::Value __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getRootTag(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getRootTag(rt, args[0].getNumber()); +} +static jsi::Value __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getValue(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getValue(rt, args[0].asNumber(), args[1].asString(rt), args[2].asObject(rt)); +} +static jsi::Value __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getValueWithCallback(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + static_cast(&turboModule)->getValueWithCallback(rt, args[0].asObject(rt).asFunction(rt)); + return jsi::Value::undefined(); +} +static jsi::Value __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getValueWithPromise(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) { + return static_cast(&turboModule)->getValueWithPromise(rt, args[0].asBool()); +} + +NativeSampleTurboModuleCxxSpecJSI::NativeSampleTurboModuleCxxSpecJSI(std::shared_ptr jsInvoker) + : TurboModule("SampleTurboModule", jsInvoker) { + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getConstants}; + methodMap_["voidFunc"] = MethodMetadata {0, __hostFunction_NativeSampleTurboModuleCxxSpecJSI_voidFunc}; + methodMap_["getBool"] = MethodMetadata {1, __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getBool}; + methodMap_["getNumber"] = MethodMetadata {1, __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getNumber}; + methodMap_["getString"] = MethodMetadata {1, __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getString}; + methodMap_["getArray"] = MethodMetadata {1, __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getArray}; + methodMap_["getObject"] = MethodMetadata {1, __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getObject}; + methodMap_["getUnsafeObject"] = MethodMetadata {1, __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getUnsafeObject}; + methodMap_["getRootTag"] = MethodMetadata {1, __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getRootTag}; + methodMap_["getValue"] = MethodMetadata {3, __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getValue}; + methodMap_["getValueWithCallback"] = MethodMetadata {1, __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getValueWithCallback}; + methodMap_["getValueWithPromise"] = MethodMetadata {1, __hostFunction_NativeSampleTurboModuleCxxSpecJSI_getValueWithPromise}; +} + + +} // namespace react +} // namespace facebook diff --git a/vnext/codegen/rnwcoreJSI.h b/vnext/codegen/rnwcoreJSI.h new file mode 100644 index 00000000000..cb3574002c4 --- /dev/null +++ b/vnext/codegen/rnwcoreJSI.h @@ -0,0 +1,4978 @@ +/** + * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). + * + * Do not edit this file as changes may cause incorrect behavior and will be lost + * once the code is regenerated. + * + * @generated by codegen project: GenerateModuleH.js + */ + +#pragma once + +#include +#include + +namespace facebook { +namespace react { + +class JSI_EXPORT NativeActionSheetManagerCxxSpecJSI : public TurboModule { +protected: + NativeActionSheetManagerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void showActionSheetWithOptions(jsi::Runtime &rt, jsi::Object options, jsi::Function callback) = 0; + virtual void showShareActionSheetWithOptions(jsi::Runtime &rt, jsi::Object options, jsi::Function failureCallback, jsi::Function successCallback) = 0; + virtual void dismissActionSheet(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeActionSheetManagerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeActionSheetManagerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("ActionSheetManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeActionSheetManagerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeActionSheetManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void showActionSheetWithOptions(jsi::Runtime &rt, jsi::Object options, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::showActionSheetWithOptions) == 3, + "Expected showActionSheetWithOptions(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::showActionSheetWithOptions, jsInvoker_, instance_, std::move(options), std::move(callback)); + } + void showShareActionSheetWithOptions(jsi::Runtime &rt, jsi::Object options, jsi::Function failureCallback, jsi::Function successCallback) override { + static_assert( + bridging::getParameterCount(&T::showShareActionSheetWithOptions) == 4, + "Expected showShareActionSheetWithOptions(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::showShareActionSheetWithOptions, jsInvoker_, instance_, std::move(options), std::move(failureCallback), std::move(successCallback)); + } + void dismissActionSheet(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::dismissActionSheet) == 1, + "Expected dismissActionSheet(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::dismissActionSheet, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeAlertManagerCxxSpecJSI : public TurboModule { +protected: + NativeAlertManagerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void alertWithArgs(jsi::Runtime &rt, jsi::Object args, jsi::Function callback) = 0; + +}; + +template +class JSI_EXPORT NativeAlertManagerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeAlertManagerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("AlertManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeAlertManagerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeAlertManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void alertWithArgs(jsi::Runtime &rt, jsi::Object args, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::alertWithArgs) == 3, + "Expected alertWithArgs(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::alertWithArgs, jsInvoker_, instance_, std::move(args), std::move(callback)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeDialogManagerWindowsCxxSpecJSI : public TurboModule { +protected: + NativeDialogManagerWindowsCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void showAlert(jsi::Runtime &rt, jsi::Object config, jsi::Function onError, jsi::Function onAction) = 0; + +}; + +template +class JSI_EXPORT NativeDialogManagerWindowsCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeDialogManagerWindowsCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("Alert", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeDialogManagerWindowsCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeDialogManagerWindowsCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void showAlert(jsi::Runtime &rt, jsi::Object config, jsi::Function onError, jsi::Function onAction) override { + static_assert( + bridging::getParameterCount(&T::showAlert) == 4, + "Expected showAlert(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::showAlert, jsInvoker_, instance_, std::move(config), std::move(onError), std::move(onAction)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeAnimatedModuleCxxSpecJSI : public TurboModule { +protected: + NativeAnimatedModuleCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void startOperationBatch(jsi::Runtime &rt) = 0; + virtual void finishOperationBatch(jsi::Runtime &rt) = 0; + virtual void createAnimatedNode(jsi::Runtime &rt, double tag, jsi::Object config) = 0; + virtual void updateAnimatedNodeConfig(jsi::Runtime &rt, double tag, jsi::Object config) = 0; + virtual void getValue(jsi::Runtime &rt, double tag, jsi::Function saveValueCallback) = 0; + virtual void startListeningToAnimatedNodeValue(jsi::Runtime &rt, double tag) = 0; + virtual void stopListeningToAnimatedNodeValue(jsi::Runtime &rt, double tag) = 0; + virtual void connectAnimatedNodes(jsi::Runtime &rt, double parentTag, double childTag) = 0; + virtual void disconnectAnimatedNodes(jsi::Runtime &rt, double parentTag, double childTag) = 0; + virtual void startAnimatingNode(jsi::Runtime &rt, double animationId, double nodeTag, jsi::Object config, jsi::Function endCallback) = 0; + virtual void stopAnimation(jsi::Runtime &rt, double animationId) = 0; + virtual void setAnimatedNodeValue(jsi::Runtime &rt, double nodeTag, double value) = 0; + virtual void setAnimatedNodeOffset(jsi::Runtime &rt, double nodeTag, double offset) = 0; + virtual void flattenAnimatedNodeOffset(jsi::Runtime &rt, double nodeTag) = 0; + virtual void extractAnimatedNodeOffset(jsi::Runtime &rt, double nodeTag) = 0; + virtual void connectAnimatedNodeToView(jsi::Runtime &rt, double nodeTag, double viewTag) = 0; + virtual void disconnectAnimatedNodeFromView(jsi::Runtime &rt, double nodeTag, double viewTag) = 0; + virtual void restoreDefaultValues(jsi::Runtime &rt, double nodeTag) = 0; + virtual void dropAnimatedNode(jsi::Runtime &rt, double tag) = 0; + virtual void addAnimatedEventToView(jsi::Runtime &rt, double viewTag, jsi::String eventName, jsi::Object eventMapping) = 0; + virtual void removeAnimatedEventFromView(jsi::Runtime &rt, double viewTag, jsi::String eventName, double animatedNodeTag) = 0; + virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + virtual void queueAndExecuteBatchedOperations(jsi::Runtime &rt, jsi::Array operationsAndArgs) = 0; + +}; + +template +class JSI_EXPORT NativeAnimatedModuleCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeAnimatedModuleCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("NativeAnimatedModule", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeAnimatedModuleCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeAnimatedModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void startOperationBatch(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::startOperationBatch) == 1, + "Expected startOperationBatch(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::startOperationBatch, jsInvoker_, instance_); + } + void finishOperationBatch(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::finishOperationBatch) == 1, + "Expected finishOperationBatch(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::finishOperationBatch, jsInvoker_, instance_); + } + void createAnimatedNode(jsi::Runtime &rt, double tag, jsi::Object config) override { + static_assert( + bridging::getParameterCount(&T::createAnimatedNode) == 3, + "Expected createAnimatedNode(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::createAnimatedNode, jsInvoker_, instance_, std::move(tag), std::move(config)); + } + void updateAnimatedNodeConfig(jsi::Runtime &rt, double tag, jsi::Object config) override { + static_assert( + bridging::getParameterCount(&T::updateAnimatedNodeConfig) == 3, + "Expected updateAnimatedNodeConfig(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::updateAnimatedNodeConfig, jsInvoker_, instance_, std::move(tag), std::move(config)); + } + void getValue(jsi::Runtime &rt, double tag, jsi::Function saveValueCallback) override { + static_assert( + bridging::getParameterCount(&T::getValue) == 3, + "Expected getValue(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getValue, jsInvoker_, instance_, std::move(tag), std::move(saveValueCallback)); + } + void startListeningToAnimatedNodeValue(jsi::Runtime &rt, double tag) override { + static_assert( + bridging::getParameterCount(&T::startListeningToAnimatedNodeValue) == 2, + "Expected startListeningToAnimatedNodeValue(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::startListeningToAnimatedNodeValue, jsInvoker_, instance_, std::move(tag)); + } + void stopListeningToAnimatedNodeValue(jsi::Runtime &rt, double tag) override { + static_assert( + bridging::getParameterCount(&T::stopListeningToAnimatedNodeValue) == 2, + "Expected stopListeningToAnimatedNodeValue(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::stopListeningToAnimatedNodeValue, jsInvoker_, instance_, std::move(tag)); + } + void connectAnimatedNodes(jsi::Runtime &rt, double parentTag, double childTag) override { + static_assert( + bridging::getParameterCount(&T::connectAnimatedNodes) == 3, + "Expected connectAnimatedNodes(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::connectAnimatedNodes, jsInvoker_, instance_, std::move(parentTag), std::move(childTag)); + } + void disconnectAnimatedNodes(jsi::Runtime &rt, double parentTag, double childTag) override { + static_assert( + bridging::getParameterCount(&T::disconnectAnimatedNodes) == 3, + "Expected disconnectAnimatedNodes(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::disconnectAnimatedNodes, jsInvoker_, instance_, std::move(parentTag), std::move(childTag)); + } + void startAnimatingNode(jsi::Runtime &rt, double animationId, double nodeTag, jsi::Object config, jsi::Function endCallback) override { + static_assert( + bridging::getParameterCount(&T::startAnimatingNode) == 5, + "Expected startAnimatingNode(...) to have 5 parameters"); + + return bridging::callFromJs( + rt, &T::startAnimatingNode, jsInvoker_, instance_, std::move(animationId), std::move(nodeTag), std::move(config), std::move(endCallback)); + } + void stopAnimation(jsi::Runtime &rt, double animationId) override { + static_assert( + bridging::getParameterCount(&T::stopAnimation) == 2, + "Expected stopAnimation(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::stopAnimation, jsInvoker_, instance_, std::move(animationId)); + } + void setAnimatedNodeValue(jsi::Runtime &rt, double nodeTag, double value) override { + static_assert( + bridging::getParameterCount(&T::setAnimatedNodeValue) == 3, + "Expected setAnimatedNodeValue(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::setAnimatedNodeValue, jsInvoker_, instance_, std::move(nodeTag), std::move(value)); + } + void setAnimatedNodeOffset(jsi::Runtime &rt, double nodeTag, double offset) override { + static_assert( + bridging::getParameterCount(&T::setAnimatedNodeOffset) == 3, + "Expected setAnimatedNodeOffset(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::setAnimatedNodeOffset, jsInvoker_, instance_, std::move(nodeTag), std::move(offset)); + } + void flattenAnimatedNodeOffset(jsi::Runtime &rt, double nodeTag) override { + static_assert( + bridging::getParameterCount(&T::flattenAnimatedNodeOffset) == 2, + "Expected flattenAnimatedNodeOffset(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::flattenAnimatedNodeOffset, jsInvoker_, instance_, std::move(nodeTag)); + } + void extractAnimatedNodeOffset(jsi::Runtime &rt, double nodeTag) override { + static_assert( + bridging::getParameterCount(&T::extractAnimatedNodeOffset) == 2, + "Expected extractAnimatedNodeOffset(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::extractAnimatedNodeOffset, jsInvoker_, instance_, std::move(nodeTag)); + } + void connectAnimatedNodeToView(jsi::Runtime &rt, double nodeTag, double viewTag) override { + static_assert( + bridging::getParameterCount(&T::connectAnimatedNodeToView) == 3, + "Expected connectAnimatedNodeToView(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::connectAnimatedNodeToView, jsInvoker_, instance_, std::move(nodeTag), std::move(viewTag)); + } + void disconnectAnimatedNodeFromView(jsi::Runtime &rt, double nodeTag, double viewTag) override { + static_assert( + bridging::getParameterCount(&T::disconnectAnimatedNodeFromView) == 3, + "Expected disconnectAnimatedNodeFromView(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::disconnectAnimatedNodeFromView, jsInvoker_, instance_, std::move(nodeTag), std::move(viewTag)); + } + void restoreDefaultValues(jsi::Runtime &rt, double nodeTag) override { + static_assert( + bridging::getParameterCount(&T::restoreDefaultValues) == 2, + "Expected restoreDefaultValues(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::restoreDefaultValues, jsInvoker_, instance_, std::move(nodeTag)); + } + void dropAnimatedNode(jsi::Runtime &rt, double tag) override { + static_assert( + bridging::getParameterCount(&T::dropAnimatedNode) == 2, + "Expected dropAnimatedNode(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::dropAnimatedNode, jsInvoker_, instance_, std::move(tag)); + } + void addAnimatedEventToView(jsi::Runtime &rt, double viewTag, jsi::String eventName, jsi::Object eventMapping) override { + static_assert( + bridging::getParameterCount(&T::addAnimatedEventToView) == 4, + "Expected addAnimatedEventToView(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::addAnimatedEventToView, jsInvoker_, instance_, std::move(viewTag), std::move(eventName), std::move(eventMapping)); + } + void removeAnimatedEventFromView(jsi::Runtime &rt, double viewTag, jsi::String eventName, double animatedNodeTag) override { + static_assert( + bridging::getParameterCount(&T::removeAnimatedEventFromView) == 4, + "Expected removeAnimatedEventFromView(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::removeAnimatedEventFromView, jsInvoker_, instance_, std::move(viewTag), std::move(eventName), std::move(animatedNodeTag)); + } + void addListener(jsi::Runtime &rt, jsi::String eventName) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventName)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + void queueAndExecuteBatchedOperations(jsi::Runtime &rt, jsi::Array operationsAndArgs) override { + static_assert( + bridging::getParameterCount(&T::queueAndExecuteBatchedOperations) == 2, + "Expected queueAndExecuteBatchedOperations(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::queueAndExecuteBatchedOperations, jsInvoker_, instance_, std::move(operationsAndArgs)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeAnimatedTurboModuleCxxSpecJSI : public TurboModule { +protected: + NativeAnimatedTurboModuleCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void startOperationBatch(jsi::Runtime &rt) = 0; + virtual void finishOperationBatch(jsi::Runtime &rt) = 0; + virtual void createAnimatedNode(jsi::Runtime &rt, double tag, jsi::Object config) = 0; + virtual void updateAnimatedNodeConfig(jsi::Runtime &rt, double tag, jsi::Object config) = 0; + virtual void getValue(jsi::Runtime &rt, double tag, jsi::Function saveValueCallback) = 0; + virtual void startListeningToAnimatedNodeValue(jsi::Runtime &rt, double tag) = 0; + virtual void stopListeningToAnimatedNodeValue(jsi::Runtime &rt, double tag) = 0; + virtual void connectAnimatedNodes(jsi::Runtime &rt, double parentTag, double childTag) = 0; + virtual void disconnectAnimatedNodes(jsi::Runtime &rt, double parentTag, double childTag) = 0; + virtual void startAnimatingNode(jsi::Runtime &rt, double animationId, double nodeTag, jsi::Object config, jsi::Function endCallback) = 0; + virtual void stopAnimation(jsi::Runtime &rt, double animationId) = 0; + virtual void setAnimatedNodeValue(jsi::Runtime &rt, double nodeTag, double value) = 0; + virtual void setAnimatedNodeOffset(jsi::Runtime &rt, double nodeTag, double offset) = 0; + virtual void flattenAnimatedNodeOffset(jsi::Runtime &rt, double nodeTag) = 0; + virtual void extractAnimatedNodeOffset(jsi::Runtime &rt, double nodeTag) = 0; + virtual void connectAnimatedNodeToView(jsi::Runtime &rt, double nodeTag, double viewTag) = 0; + virtual void disconnectAnimatedNodeFromView(jsi::Runtime &rt, double nodeTag, double viewTag) = 0; + virtual void restoreDefaultValues(jsi::Runtime &rt, double nodeTag) = 0; + virtual void dropAnimatedNode(jsi::Runtime &rt, double tag) = 0; + virtual void addAnimatedEventToView(jsi::Runtime &rt, double viewTag, jsi::String eventName, jsi::Object eventMapping) = 0; + virtual void removeAnimatedEventFromView(jsi::Runtime &rt, double viewTag, jsi::String eventName, double animatedNodeTag) = 0; + virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + virtual void queueAndExecuteBatchedOperations(jsi::Runtime &rt, jsi::Array operationsAndArgs) = 0; + +}; + +template +class JSI_EXPORT NativeAnimatedTurboModuleCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeAnimatedTurboModuleCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("NativeAnimatedTurboModule", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeAnimatedTurboModuleCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeAnimatedTurboModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void startOperationBatch(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::startOperationBatch) == 1, + "Expected startOperationBatch(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::startOperationBatch, jsInvoker_, instance_); + } + void finishOperationBatch(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::finishOperationBatch) == 1, + "Expected finishOperationBatch(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::finishOperationBatch, jsInvoker_, instance_); + } + void createAnimatedNode(jsi::Runtime &rt, double tag, jsi::Object config) override { + static_assert( + bridging::getParameterCount(&T::createAnimatedNode) == 3, + "Expected createAnimatedNode(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::createAnimatedNode, jsInvoker_, instance_, std::move(tag), std::move(config)); + } + void updateAnimatedNodeConfig(jsi::Runtime &rt, double tag, jsi::Object config) override { + static_assert( + bridging::getParameterCount(&T::updateAnimatedNodeConfig) == 3, + "Expected updateAnimatedNodeConfig(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::updateAnimatedNodeConfig, jsInvoker_, instance_, std::move(tag), std::move(config)); + } + void getValue(jsi::Runtime &rt, double tag, jsi::Function saveValueCallback) override { + static_assert( + bridging::getParameterCount(&T::getValue) == 3, + "Expected getValue(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getValue, jsInvoker_, instance_, std::move(tag), std::move(saveValueCallback)); + } + void startListeningToAnimatedNodeValue(jsi::Runtime &rt, double tag) override { + static_assert( + bridging::getParameterCount(&T::startListeningToAnimatedNodeValue) == 2, + "Expected startListeningToAnimatedNodeValue(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::startListeningToAnimatedNodeValue, jsInvoker_, instance_, std::move(tag)); + } + void stopListeningToAnimatedNodeValue(jsi::Runtime &rt, double tag) override { + static_assert( + bridging::getParameterCount(&T::stopListeningToAnimatedNodeValue) == 2, + "Expected stopListeningToAnimatedNodeValue(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::stopListeningToAnimatedNodeValue, jsInvoker_, instance_, std::move(tag)); + } + void connectAnimatedNodes(jsi::Runtime &rt, double parentTag, double childTag) override { + static_assert( + bridging::getParameterCount(&T::connectAnimatedNodes) == 3, + "Expected connectAnimatedNodes(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::connectAnimatedNodes, jsInvoker_, instance_, std::move(parentTag), std::move(childTag)); + } + void disconnectAnimatedNodes(jsi::Runtime &rt, double parentTag, double childTag) override { + static_assert( + bridging::getParameterCount(&T::disconnectAnimatedNodes) == 3, + "Expected disconnectAnimatedNodes(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::disconnectAnimatedNodes, jsInvoker_, instance_, std::move(parentTag), std::move(childTag)); + } + void startAnimatingNode(jsi::Runtime &rt, double animationId, double nodeTag, jsi::Object config, jsi::Function endCallback) override { + static_assert( + bridging::getParameterCount(&T::startAnimatingNode) == 5, + "Expected startAnimatingNode(...) to have 5 parameters"); + + return bridging::callFromJs( + rt, &T::startAnimatingNode, jsInvoker_, instance_, std::move(animationId), std::move(nodeTag), std::move(config), std::move(endCallback)); + } + void stopAnimation(jsi::Runtime &rt, double animationId) override { + static_assert( + bridging::getParameterCount(&T::stopAnimation) == 2, + "Expected stopAnimation(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::stopAnimation, jsInvoker_, instance_, std::move(animationId)); + } + void setAnimatedNodeValue(jsi::Runtime &rt, double nodeTag, double value) override { + static_assert( + bridging::getParameterCount(&T::setAnimatedNodeValue) == 3, + "Expected setAnimatedNodeValue(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::setAnimatedNodeValue, jsInvoker_, instance_, std::move(nodeTag), std::move(value)); + } + void setAnimatedNodeOffset(jsi::Runtime &rt, double nodeTag, double offset) override { + static_assert( + bridging::getParameterCount(&T::setAnimatedNodeOffset) == 3, + "Expected setAnimatedNodeOffset(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::setAnimatedNodeOffset, jsInvoker_, instance_, std::move(nodeTag), std::move(offset)); + } + void flattenAnimatedNodeOffset(jsi::Runtime &rt, double nodeTag) override { + static_assert( + bridging::getParameterCount(&T::flattenAnimatedNodeOffset) == 2, + "Expected flattenAnimatedNodeOffset(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::flattenAnimatedNodeOffset, jsInvoker_, instance_, std::move(nodeTag)); + } + void extractAnimatedNodeOffset(jsi::Runtime &rt, double nodeTag) override { + static_assert( + bridging::getParameterCount(&T::extractAnimatedNodeOffset) == 2, + "Expected extractAnimatedNodeOffset(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::extractAnimatedNodeOffset, jsInvoker_, instance_, std::move(nodeTag)); + } + void connectAnimatedNodeToView(jsi::Runtime &rt, double nodeTag, double viewTag) override { + static_assert( + bridging::getParameterCount(&T::connectAnimatedNodeToView) == 3, + "Expected connectAnimatedNodeToView(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::connectAnimatedNodeToView, jsInvoker_, instance_, std::move(nodeTag), std::move(viewTag)); + } + void disconnectAnimatedNodeFromView(jsi::Runtime &rt, double nodeTag, double viewTag) override { + static_assert( + bridging::getParameterCount(&T::disconnectAnimatedNodeFromView) == 3, + "Expected disconnectAnimatedNodeFromView(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::disconnectAnimatedNodeFromView, jsInvoker_, instance_, std::move(nodeTag), std::move(viewTag)); + } + void restoreDefaultValues(jsi::Runtime &rt, double nodeTag) override { + static_assert( + bridging::getParameterCount(&T::restoreDefaultValues) == 2, + "Expected restoreDefaultValues(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::restoreDefaultValues, jsInvoker_, instance_, std::move(nodeTag)); + } + void dropAnimatedNode(jsi::Runtime &rt, double tag) override { + static_assert( + bridging::getParameterCount(&T::dropAnimatedNode) == 2, + "Expected dropAnimatedNode(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::dropAnimatedNode, jsInvoker_, instance_, std::move(tag)); + } + void addAnimatedEventToView(jsi::Runtime &rt, double viewTag, jsi::String eventName, jsi::Object eventMapping) override { + static_assert( + bridging::getParameterCount(&T::addAnimatedEventToView) == 4, + "Expected addAnimatedEventToView(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::addAnimatedEventToView, jsInvoker_, instance_, std::move(viewTag), std::move(eventName), std::move(eventMapping)); + } + void removeAnimatedEventFromView(jsi::Runtime &rt, double viewTag, jsi::String eventName, double animatedNodeTag) override { + static_assert( + bridging::getParameterCount(&T::removeAnimatedEventFromView) == 4, + "Expected removeAnimatedEventFromView(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::removeAnimatedEventFromView, jsInvoker_, instance_, std::move(viewTag), std::move(eventName), std::move(animatedNodeTag)); + } + void addListener(jsi::Runtime &rt, jsi::String eventName) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventName)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + void queueAndExecuteBatchedOperations(jsi::Runtime &rt, jsi::Array operationsAndArgs) override { + static_assert( + bridging::getParameterCount(&T::queueAndExecuteBatchedOperations) == 2, + "Expected queueAndExecuteBatchedOperations(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::queueAndExecuteBatchedOperations, jsInvoker_, instance_, std::move(operationsAndArgs)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeAppStateCxxSpecJSI : public TurboModule { +protected: + NativeAppStateCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void getCurrentAppState(jsi::Runtime &rt, jsi::Function success, jsi::Function error) = 0; + virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + +}; + +template +class JSI_EXPORT NativeAppStateCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeAppStateCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("AppState", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeAppStateCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeAppStateCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void getCurrentAppState(jsi::Runtime &rt, jsi::Function success, jsi::Function error) override { + static_assert( + bridging::getParameterCount(&T::getCurrentAppState) == 3, + "Expected getCurrentAppState(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getCurrentAppState, jsInvoker_, instance_, std::move(success), std::move(error)); + } + void addListener(jsi::Runtime &rt, jsi::String eventName) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventName)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeAppThemeCxxSpecJSI : public TurboModule { +protected: + NativeAppThemeCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeAppThemeCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeAppThemeCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("AppTheme", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeAppThemeCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeAppThemeCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeBlobModuleCxxSpecJSI : public TurboModule { +protected: + NativeBlobModuleCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void addNetworkingHandler(jsi::Runtime &rt) = 0; + virtual void addWebSocketHandler(jsi::Runtime &rt, double id) = 0; + virtual void removeWebSocketHandler(jsi::Runtime &rt, double id) = 0; + virtual void sendOverSocket(jsi::Runtime &rt, jsi::Object blob, double socketID) = 0; + virtual void createFromParts(jsi::Runtime &rt, jsi::Array parts, jsi::String withId) = 0; + virtual void release(jsi::Runtime &rt, jsi::String blobId) = 0; + +}; + +template +class JSI_EXPORT NativeBlobModuleCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeBlobModuleCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("BlobModule", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeBlobModuleCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeBlobModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void addNetworkingHandler(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::addNetworkingHandler) == 1, + "Expected addNetworkingHandler(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::addNetworkingHandler, jsInvoker_, instance_); + } + void addWebSocketHandler(jsi::Runtime &rt, double id) override { + static_assert( + bridging::getParameterCount(&T::addWebSocketHandler) == 2, + "Expected addWebSocketHandler(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addWebSocketHandler, jsInvoker_, instance_, std::move(id)); + } + void removeWebSocketHandler(jsi::Runtime &rt, double id) override { + static_assert( + bridging::getParameterCount(&T::removeWebSocketHandler) == 2, + "Expected removeWebSocketHandler(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeWebSocketHandler, jsInvoker_, instance_, std::move(id)); + } + void sendOverSocket(jsi::Runtime &rt, jsi::Object blob, double socketID) override { + static_assert( + bridging::getParameterCount(&T::sendOverSocket) == 3, + "Expected sendOverSocket(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::sendOverSocket, jsInvoker_, instance_, std::move(blob), std::move(socketID)); + } + void createFromParts(jsi::Runtime &rt, jsi::Array parts, jsi::String withId) override { + static_assert( + bridging::getParameterCount(&T::createFromParts) == 3, + "Expected createFromParts(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::createFromParts, jsInvoker_, instance_, std::move(parts), std::move(withId)); + } + void release(jsi::Runtime &rt, jsi::String blobId) override { + static_assert( + bridging::getParameterCount(&T::release) == 2, + "Expected release(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::release, jsInvoker_, instance_, std::move(blobId)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeFileReaderModuleCxxSpecJSI : public TurboModule { +protected: + NativeFileReaderModuleCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Value readAsDataURL(jsi::Runtime &rt, jsi::Object data) = 0; + virtual jsi::Value readAsText(jsi::Runtime &rt, jsi::Object data, jsi::String encoding) = 0; + +}; + +template +class JSI_EXPORT NativeFileReaderModuleCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeFileReaderModuleCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("FileReaderModule", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeFileReaderModuleCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeFileReaderModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Value readAsDataURL(jsi::Runtime &rt, jsi::Object data) override { + static_assert( + bridging::getParameterCount(&T::readAsDataURL) == 2, + "Expected readAsDataURL(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::readAsDataURL, jsInvoker_, instance_, std::move(data)); + } + jsi::Value readAsText(jsi::Runtime &rt, jsi::Object data, jsi::String encoding) override { + static_assert( + bridging::getParameterCount(&T::readAsText) == 3, + "Expected readAsText(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::readAsText, jsInvoker_, instance_, std::move(data), std::move(encoding)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeBugReportingCxxSpecJSI : public TurboModule { +protected: + NativeBugReportingCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void startReportAProblemFlow(jsi::Runtime &rt) = 0; + virtual void setExtraData(jsi::Runtime &rt, jsi::Object extraData, jsi::Object extraFiles) = 0; + virtual void setCategoryID(jsi::Runtime &rt, jsi::String categoryID) = 0; + +}; + +template +class JSI_EXPORT NativeBugReportingCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeBugReportingCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("BugReporting", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeBugReportingCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeBugReportingCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void startReportAProblemFlow(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::startReportAProblemFlow) == 1, + "Expected startReportAProblemFlow(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::startReportAProblemFlow, jsInvoker_, instance_); + } + void setExtraData(jsi::Runtime &rt, jsi::Object extraData, jsi::Object extraFiles) override { + static_assert( + bridging::getParameterCount(&T::setExtraData) == 3, + "Expected setExtraData(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::setExtraData, jsInvoker_, instance_, std::move(extraData), std::move(extraFiles)); + } + void setCategoryID(jsi::Runtime &rt, jsi::String categoryID) override { + static_assert( + bridging::getParameterCount(&T::setCategoryID) == 2, + "Expected setCategoryID(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setCategoryID, jsInvoker_, instance_, std::move(categoryID)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeExceptionsManagerCxxSpecJSI : public TurboModule { +protected: + NativeExceptionsManagerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void reportFatalException(jsi::Runtime &rt, jsi::String message, jsi::Array stack, double exceptionId) = 0; + virtual void reportSoftException(jsi::Runtime &rt, jsi::String message, jsi::Array stack, double exceptionId) = 0; + virtual void reportException(jsi::Runtime &rt, jsi::Object data) = 0; + virtual void updateExceptionMessage(jsi::Runtime &rt, jsi::String message, jsi::Array stack, double exceptionId) = 0; + virtual void dismissRedbox(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeExceptionsManagerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeExceptionsManagerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("ExceptionsManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeExceptionsManagerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeExceptionsManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void reportFatalException(jsi::Runtime &rt, jsi::String message, jsi::Array stack, double exceptionId) override { + static_assert( + bridging::getParameterCount(&T::reportFatalException) == 4, + "Expected reportFatalException(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::reportFatalException, jsInvoker_, instance_, std::move(message), std::move(stack), std::move(exceptionId)); + } + void reportSoftException(jsi::Runtime &rt, jsi::String message, jsi::Array stack, double exceptionId) override { + static_assert( + bridging::getParameterCount(&T::reportSoftException) == 4, + "Expected reportSoftException(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::reportSoftException, jsInvoker_, instance_, std::move(message), std::move(stack), std::move(exceptionId)); + } + void reportException(jsi::Runtime &rt, jsi::Object data) override { + static_assert( + bridging::getParameterCount(&T::reportException) == 2, + "Expected reportException(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::reportException, jsInvoker_, instance_, std::move(data)); + } + void updateExceptionMessage(jsi::Runtime &rt, jsi::String message, jsi::Array stack, double exceptionId) override { + static_assert( + bridging::getParameterCount(&T::updateExceptionMessage) == 4, + "Expected updateExceptionMessage(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::updateExceptionMessage, jsInvoker_, instance_, std::move(message), std::move(stack), std::move(exceptionId)); + } + void dismissRedbox(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::dismissRedbox) == 1, + "Expected dismissRedbox(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::dismissRedbox, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeJSCHeapCaptureCxxSpecJSI : public TurboModule { +protected: + NativeJSCHeapCaptureCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void captureComplete(jsi::Runtime &rt, jsi::String path, std::optional error) = 0; + +}; + +template +class JSI_EXPORT NativeJSCHeapCaptureCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeJSCHeapCaptureCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("JSCHeapCapture", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeJSCHeapCaptureCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeJSCHeapCaptureCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void captureComplete(jsi::Runtime &rt, jsi::String path, std::optional error) override { + static_assert( + bridging::getParameterCount(&T::captureComplete) == 3, + "Expected captureComplete(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::captureComplete, jsInvoker_, instance_, std::move(path), std::move(error)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeImageEditorCxxSpecJSI : public TurboModule { +protected: + NativeImageEditorCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void cropImage(jsi::Runtime &rt, jsi::String uri, jsi::Object cropData, jsi::Function successCallback, jsi::Function errorCallback) = 0; + +}; + +template +class JSI_EXPORT NativeImageEditorCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeImageEditorCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("ImageEditingManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeImageEditorCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeImageEditorCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void cropImage(jsi::Runtime &rt, jsi::String uri, jsi::Object cropData, jsi::Function successCallback, jsi::Function errorCallback) override { + static_assert( + bridging::getParameterCount(&T::cropImage) == 5, + "Expected cropImage(...) to have 5 parameters"); + + return bridging::callFromJs( + rt, &T::cropImage, jsInvoker_, instance_, std::move(uri), std::move(cropData), std::move(successCallback), std::move(errorCallback)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeImageLoaderAndroidCxxSpecJSI : public TurboModule { +protected: + NativeImageLoaderAndroidCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void abortRequest(jsi::Runtime &rt, double requestId) = 0; + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual jsi::Value getSize(jsi::Runtime &rt, jsi::String uri) = 0; + virtual jsi::Value getSizeWithHeaders(jsi::Runtime &rt, jsi::String uri, jsi::Object headers) = 0; + virtual jsi::Value prefetchImage(jsi::Runtime &rt, jsi::String uri, double requestId) = 0; + virtual jsi::Value queryCache(jsi::Runtime &rt, jsi::Array uris) = 0; + +}; + +template +class JSI_EXPORT NativeImageLoaderAndroidCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeImageLoaderAndroidCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("ImageLoader", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeImageLoaderAndroidCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeImageLoaderAndroidCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void abortRequest(jsi::Runtime &rt, double requestId) override { + static_assert( + bridging::getParameterCount(&T::abortRequest) == 2, + "Expected abortRequest(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::abortRequest, jsInvoker_, instance_, std::move(requestId)); + } + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + jsi::Value getSize(jsi::Runtime &rt, jsi::String uri) override { + static_assert( + bridging::getParameterCount(&T::getSize) == 2, + "Expected getSize(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getSize, jsInvoker_, instance_, std::move(uri)); + } + jsi::Value getSizeWithHeaders(jsi::Runtime &rt, jsi::String uri, jsi::Object headers) override { + static_assert( + bridging::getParameterCount(&T::getSizeWithHeaders) == 3, + "Expected getSizeWithHeaders(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getSizeWithHeaders, jsInvoker_, instance_, std::move(uri), std::move(headers)); + } + jsi::Value prefetchImage(jsi::Runtime &rt, jsi::String uri, double requestId) override { + static_assert( + bridging::getParameterCount(&T::prefetchImage) == 3, + "Expected prefetchImage(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::prefetchImage, jsInvoker_, instance_, std::move(uri), std::move(requestId)); + } + jsi::Value queryCache(jsi::Runtime &rt, jsi::Array uris) override { + static_assert( + bridging::getParameterCount(&T::queryCache) == 2, + "Expected queryCache(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::queryCache, jsInvoker_, instance_, std::move(uris)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeImageLoaderIOSCxxSpecJSI : public TurboModule { +protected: + NativeImageLoaderIOSCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual jsi::Value getSize(jsi::Runtime &rt, jsi::String uri) = 0; + virtual jsi::Value getSizeWithHeaders(jsi::Runtime &rt, jsi::String uri, jsi::Object headers) = 0; + virtual jsi::Value prefetchImage(jsi::Runtime &rt, jsi::String uri) = 0; + virtual jsi::Value prefetchImageWithMetadata(jsi::Runtime &rt, jsi::String uri, jsi::String queryRootName, double rootTag) = 0; + virtual jsi::Value queryCache(jsi::Runtime &rt, jsi::Array uris) = 0; + +}; + +template +class JSI_EXPORT NativeImageLoaderIOSCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeImageLoaderIOSCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("ImageLoader", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeImageLoaderIOSCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeImageLoaderIOSCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + jsi::Value getSize(jsi::Runtime &rt, jsi::String uri) override { + static_assert( + bridging::getParameterCount(&T::getSize) == 2, + "Expected getSize(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getSize, jsInvoker_, instance_, std::move(uri)); + } + jsi::Value getSizeWithHeaders(jsi::Runtime &rt, jsi::String uri, jsi::Object headers) override { + static_assert( + bridging::getParameterCount(&T::getSizeWithHeaders) == 3, + "Expected getSizeWithHeaders(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getSizeWithHeaders, jsInvoker_, instance_, std::move(uri), std::move(headers)); + } + jsi::Value prefetchImage(jsi::Runtime &rt, jsi::String uri) override { + static_assert( + bridging::getParameterCount(&T::prefetchImage) == 2, + "Expected prefetchImage(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::prefetchImage, jsInvoker_, instance_, std::move(uri)); + } + jsi::Value prefetchImageWithMetadata(jsi::Runtime &rt, jsi::String uri, jsi::String queryRootName, double rootTag) override { + static_assert( + bridging::getParameterCount(&T::prefetchImageWithMetadata) == 4, + "Expected prefetchImageWithMetadata(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::prefetchImageWithMetadata, jsInvoker_, instance_, std::move(uri), std::move(queryRootName), std::move(rootTag)); + } + jsi::Value queryCache(jsi::Runtime &rt, jsi::Array uris) override { + static_assert( + bridging::getParameterCount(&T::queryCache) == 2, + "Expected queryCache(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::queryCache, jsInvoker_, instance_, std::move(uris)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeImagePickerIOSCxxSpecJSI : public TurboModule { +protected: + NativeImagePickerIOSCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void canRecordVideos(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual void canUseCamera(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual void openCameraDialog(jsi::Runtime &rt, jsi::Object config, jsi::Function successCallback, jsi::Function cancelCallback) = 0; + virtual void openSelectDialog(jsi::Runtime &rt, jsi::Object config, jsi::Function successCallback, jsi::Function cancelCallback) = 0; + virtual void clearAllPendingVideos(jsi::Runtime &rt) = 0; + virtual void removePendingVideo(jsi::Runtime &rt, jsi::String url) = 0; + +}; + +template +class JSI_EXPORT NativeImagePickerIOSCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeImagePickerIOSCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("ImagePickerIOS", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeImagePickerIOSCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeImagePickerIOSCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void canRecordVideos(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::canRecordVideos) == 2, + "Expected canRecordVideos(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::canRecordVideos, jsInvoker_, instance_, std::move(callback)); + } + void canUseCamera(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::canUseCamera) == 2, + "Expected canUseCamera(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::canUseCamera, jsInvoker_, instance_, std::move(callback)); + } + void openCameraDialog(jsi::Runtime &rt, jsi::Object config, jsi::Function successCallback, jsi::Function cancelCallback) override { + static_assert( + bridging::getParameterCount(&T::openCameraDialog) == 4, + "Expected openCameraDialog(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::openCameraDialog, jsInvoker_, instance_, std::move(config), std::move(successCallback), std::move(cancelCallback)); + } + void openSelectDialog(jsi::Runtime &rt, jsi::Object config, jsi::Function successCallback, jsi::Function cancelCallback) override { + static_assert( + bridging::getParameterCount(&T::openSelectDialog) == 4, + "Expected openSelectDialog(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::openSelectDialog, jsInvoker_, instance_, std::move(config), std::move(successCallback), std::move(cancelCallback)); + } + void clearAllPendingVideos(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::clearAllPendingVideos) == 1, + "Expected clearAllPendingVideos(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::clearAllPendingVideos, jsInvoker_, instance_); + } + void removePendingVideo(jsi::Runtime &rt, jsi::String url) override { + static_assert( + bridging::getParameterCount(&T::removePendingVideo) == 2, + "Expected removePendingVideo(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removePendingVideo, jsInvoker_, instance_, std::move(url)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeImageStoreAndroidCxxSpecJSI : public TurboModule { +protected: + NativeImageStoreAndroidCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void getBase64ForTag(jsi::Runtime &rt, jsi::String uri, jsi::Function successCallback, jsi::Function errorCallback) = 0; + +}; + +template +class JSI_EXPORT NativeImageStoreAndroidCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeImageStoreAndroidCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("ImageStoreManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeImageStoreAndroidCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeImageStoreAndroidCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void getBase64ForTag(jsi::Runtime &rt, jsi::String uri, jsi::Function successCallback, jsi::Function errorCallback) override { + static_assert( + bridging::getParameterCount(&T::getBase64ForTag) == 4, + "Expected getBase64ForTag(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::getBase64ForTag, jsInvoker_, instance_, std::move(uri), std::move(successCallback), std::move(errorCallback)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeImageStoreIOSCxxSpecJSI : public TurboModule { +protected: + NativeImageStoreIOSCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void getBase64ForTag(jsi::Runtime &rt, jsi::String uri, jsi::Function successCallback, jsi::Function errorCallback) = 0; + virtual void hasImageForTag(jsi::Runtime &rt, jsi::String uri, jsi::Function callback) = 0; + virtual void removeImageForTag(jsi::Runtime &rt, jsi::String uri) = 0; + virtual void addImageFromBase64(jsi::Runtime &rt, jsi::String base64ImageData, jsi::Function successCallback, jsi::Function errorCallback) = 0; + +}; + +template +class JSI_EXPORT NativeImageStoreIOSCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeImageStoreIOSCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("ImageStoreManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeImageStoreIOSCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeImageStoreIOSCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void getBase64ForTag(jsi::Runtime &rt, jsi::String uri, jsi::Function successCallback, jsi::Function errorCallback) override { + static_assert( + bridging::getParameterCount(&T::getBase64ForTag) == 4, + "Expected getBase64ForTag(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::getBase64ForTag, jsInvoker_, instance_, std::move(uri), std::move(successCallback), std::move(errorCallback)); + } + void hasImageForTag(jsi::Runtime &rt, jsi::String uri, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::hasImageForTag) == 3, + "Expected hasImageForTag(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::hasImageForTag, jsInvoker_, instance_, std::move(uri), std::move(callback)); + } + void removeImageForTag(jsi::Runtime &rt, jsi::String uri) override { + static_assert( + bridging::getParameterCount(&T::removeImageForTag) == 2, + "Expected removeImageForTag(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeImageForTag, jsInvoker_, instance_, std::move(uri)); + } + void addImageFromBase64(jsi::Runtime &rt, jsi::String base64ImageData, jsi::Function successCallback, jsi::Function errorCallback) override { + static_assert( + bridging::getParameterCount(&T::addImageFromBase64) == 4, + "Expected addImageFromBase64(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::addImageFromBase64, jsInvoker_, instance_, std::move(base64ImageData), std::move(successCallback), std::move(errorCallback)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeFrameRateLoggerCxxSpecJSI : public TurboModule { +protected: + NativeFrameRateLoggerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void setGlobalOptions(jsi::Runtime &rt, jsi::Object options) = 0; + virtual void setContext(jsi::Runtime &rt, jsi::String context) = 0; + virtual void beginScroll(jsi::Runtime &rt) = 0; + virtual void endScroll(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeFrameRateLoggerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeFrameRateLoggerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("FrameRateLogger", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeFrameRateLoggerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeFrameRateLoggerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void setGlobalOptions(jsi::Runtime &rt, jsi::Object options) override { + static_assert( + bridging::getParameterCount(&T::setGlobalOptions) == 2, + "Expected setGlobalOptions(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setGlobalOptions, jsInvoker_, instance_, std::move(options)); + } + void setContext(jsi::Runtime &rt, jsi::String context) override { + static_assert( + bridging::getParameterCount(&T::setContext) == 2, + "Expected setContext(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setContext, jsInvoker_, instance_, std::move(context)); + } + void beginScroll(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::beginScroll) == 1, + "Expected beginScroll(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::beginScroll, jsInvoker_, instance_); + } + void endScroll(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::endScroll) == 1, + "Expected endScroll(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::endScroll, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeIntentAndroidCxxSpecJSI : public TurboModule { +protected: + NativeIntentAndroidCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Value getInitialURL(jsi::Runtime &rt) = 0; + virtual jsi::Value canOpenURL(jsi::Runtime &rt, jsi::String url) = 0; + virtual jsi::Value openURL(jsi::Runtime &rt, jsi::String url) = 0; + virtual jsi::Value openSettings(jsi::Runtime &rt) = 0; + virtual jsi::Value sendIntent(jsi::Runtime &rt, jsi::String action, std::optional extras) = 0; + +}; + +template +class JSI_EXPORT NativeIntentAndroidCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeIntentAndroidCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("IntentAndroid", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeIntentAndroidCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeIntentAndroidCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Value getInitialURL(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getInitialURL) == 1, + "Expected getInitialURL(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getInitialURL, jsInvoker_, instance_); + } + jsi::Value canOpenURL(jsi::Runtime &rt, jsi::String url) override { + static_assert( + bridging::getParameterCount(&T::canOpenURL) == 2, + "Expected canOpenURL(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::canOpenURL, jsInvoker_, instance_, std::move(url)); + } + jsi::Value openURL(jsi::Runtime &rt, jsi::String url) override { + static_assert( + bridging::getParameterCount(&T::openURL) == 2, + "Expected openURL(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::openURL, jsInvoker_, instance_, std::move(url)); + } + jsi::Value openSettings(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::openSettings) == 1, + "Expected openSettings(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::openSettings, jsInvoker_, instance_); + } + jsi::Value sendIntent(jsi::Runtime &rt, jsi::String action, std::optional extras) override { + static_assert( + bridging::getParameterCount(&T::sendIntent) == 3, + "Expected sendIntent(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::sendIntent, jsInvoker_, instance_, std::move(action), std::move(extras)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeLinkingManagerCxxSpecJSI : public TurboModule { +protected: + NativeLinkingManagerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Value getInitialURL(jsi::Runtime &rt) = 0; + virtual jsi::Value canOpenURL(jsi::Runtime &rt, jsi::String url) = 0; + virtual jsi::Value openURL(jsi::Runtime &rt, jsi::String url) = 0; + virtual jsi::Value openSettings(jsi::Runtime &rt) = 0; + virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + +}; + +template +class JSI_EXPORT NativeLinkingManagerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeLinkingManagerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("LinkingManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeLinkingManagerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeLinkingManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Value getInitialURL(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getInitialURL) == 1, + "Expected getInitialURL(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getInitialURL, jsInvoker_, instance_); + } + jsi::Value canOpenURL(jsi::Runtime &rt, jsi::String url) override { + static_assert( + bridging::getParameterCount(&T::canOpenURL) == 2, + "Expected canOpenURL(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::canOpenURL, jsInvoker_, instance_, std::move(url)); + } + jsi::Value openURL(jsi::Runtime &rt, jsi::String url) override { + static_assert( + bridging::getParameterCount(&T::openURL) == 2, + "Expected openURL(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::openURL, jsInvoker_, instance_, std::move(url)); + } + jsi::Value openSettings(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::openSettings) == 1, + "Expected openSettings(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::openSettings, jsInvoker_, instance_); + } + void addListener(jsi::Runtime &rt, jsi::String eventName) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventName)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeModalManagerCxxSpecJSI : public TurboModule { +protected: + NativeModalManagerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + +}; + +template +class JSI_EXPORT NativeModalManagerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeModalManagerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("ModalManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeModalManagerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeModalManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void addListener(jsi::Runtime &rt, jsi::String eventName) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventName)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeNetworkingAndroidCxxSpecJSI : public TurboModule { +protected: + NativeNetworkingAndroidCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void sendRequest(jsi::Runtime &rt, jsi::String method, jsi::String url, double requestId, jsi::Array headers, jsi::Object data, jsi::String responseType, bool useIncrementalUpdates, double timeout, bool withCredentials) = 0; + virtual void abortRequest(jsi::Runtime &rt, double requestId) = 0; + virtual void clearCookies(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + +}; + +template +class JSI_EXPORT NativeNetworkingAndroidCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeNetworkingAndroidCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("Networking", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeNetworkingAndroidCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeNetworkingAndroidCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void sendRequest(jsi::Runtime &rt, jsi::String method, jsi::String url, double requestId, jsi::Array headers, jsi::Object data, jsi::String responseType, bool useIncrementalUpdates, double timeout, bool withCredentials) override { + static_assert( + bridging::getParameterCount(&T::sendRequest) == 10, + "Expected sendRequest(...) to have 10 parameters"); + + return bridging::callFromJs( + rt, &T::sendRequest, jsInvoker_, instance_, std::move(method), std::move(url), std::move(requestId), std::move(headers), std::move(data), std::move(responseType), std::move(useIncrementalUpdates), std::move(timeout), std::move(withCredentials)); + } + void abortRequest(jsi::Runtime &rt, double requestId) override { + static_assert( + bridging::getParameterCount(&T::abortRequest) == 2, + "Expected abortRequest(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::abortRequest, jsInvoker_, instance_, std::move(requestId)); + } + void clearCookies(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::clearCookies) == 2, + "Expected clearCookies(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::clearCookies, jsInvoker_, instance_, std::move(callback)); + } + void addListener(jsi::Runtime &rt, jsi::String eventName) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventName)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeNetworkingIOSCxxSpecJSI : public TurboModule { +protected: + NativeNetworkingIOSCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void sendRequest(jsi::Runtime &rt, jsi::Object query, jsi::Function callback) = 0; + virtual void abortRequest(jsi::Runtime &rt, double requestId) = 0; + virtual void clearCookies(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + +}; + +template +class JSI_EXPORT NativeNetworkingIOSCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeNetworkingIOSCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("Networking", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeNetworkingIOSCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeNetworkingIOSCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void sendRequest(jsi::Runtime &rt, jsi::Object query, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::sendRequest) == 3, + "Expected sendRequest(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::sendRequest, jsInvoker_, instance_, std::move(query), std::move(callback)); + } + void abortRequest(jsi::Runtime &rt, double requestId) override { + static_assert( + bridging::getParameterCount(&T::abortRequest) == 2, + "Expected abortRequest(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::abortRequest, jsInvoker_, instance_, std::move(requestId)); + } + void clearCookies(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::clearCookies) == 2, + "Expected clearCookies(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::clearCookies, jsInvoker_, instance_, std::move(callback)); + } + void addListener(jsi::Runtime &rt, jsi::String eventName) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventName)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeJSCSamplingProfilerCxxSpecJSI : public TurboModule { +protected: + NativeJSCSamplingProfilerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void operationComplete(jsi::Runtime &rt, double token, std::optional result, std::optional error) = 0; + +}; + +template +class JSI_EXPORT NativeJSCSamplingProfilerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeJSCSamplingProfilerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("JSCSamplingProfiler", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeJSCSamplingProfilerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeJSCSamplingProfilerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void operationComplete(jsi::Runtime &rt, double token, std::optional result, std::optional error) override { + static_assert( + bridging::getParameterCount(&T::operationComplete) == 4, + "Expected operationComplete(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::operationComplete, jsInvoker_, instance_, std::move(token), std::move(result), std::move(error)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativePermissionsAndroidCxxSpecJSI : public TurboModule { +protected: + NativePermissionsAndroidCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Value checkPermission(jsi::Runtime &rt, jsi::String permission) = 0; + virtual jsi::Value requestPermission(jsi::Runtime &rt, jsi::String permission) = 0; + virtual jsi::Value shouldShowRequestPermissionRationale(jsi::Runtime &rt, jsi::String permission) = 0; + virtual jsi::Value requestMultiplePermissions(jsi::Runtime &rt, jsi::Array permissions) = 0; + +}; + +template +class JSI_EXPORT NativePermissionsAndroidCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativePermissionsAndroidCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("PermissionsAndroid", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativePermissionsAndroidCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativePermissionsAndroidCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Value checkPermission(jsi::Runtime &rt, jsi::String permission) override { + static_assert( + bridging::getParameterCount(&T::checkPermission) == 2, + "Expected checkPermission(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::checkPermission, jsInvoker_, instance_, std::move(permission)); + } + jsi::Value requestPermission(jsi::Runtime &rt, jsi::String permission) override { + static_assert( + bridging::getParameterCount(&T::requestPermission) == 2, + "Expected requestPermission(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::requestPermission, jsInvoker_, instance_, std::move(permission)); + } + jsi::Value shouldShowRequestPermissionRationale(jsi::Runtime &rt, jsi::String permission) override { + static_assert( + bridging::getParameterCount(&T::shouldShowRequestPermissionRationale) == 2, + "Expected shouldShowRequestPermissionRationale(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::shouldShowRequestPermissionRationale, jsInvoker_, instance_, std::move(permission)); + } + jsi::Value requestMultiplePermissions(jsi::Runtime &rt, jsi::Array permissions) override { + static_assert( + bridging::getParameterCount(&T::requestMultiplePermissions) == 2, + "Expected requestMultiplePermissions(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::requestMultiplePermissions, jsInvoker_, instance_, std::move(permissions)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativePushNotificationManagerIOSCxxSpecJSI : public TurboModule { +protected: + NativePushNotificationManagerIOSCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void onFinishRemoteNotification(jsi::Runtime &rt, jsi::String notificationId, jsi::String fetchResult) = 0; + virtual void setApplicationIconBadgeNumber(jsi::Runtime &rt, double num) = 0; + virtual void getApplicationIconBadgeNumber(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual jsi::Value requestPermissions(jsi::Runtime &rt, jsi::Object permission) = 0; + virtual void abandonPermissions(jsi::Runtime &rt) = 0; + virtual void checkPermissions(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual void presentLocalNotification(jsi::Runtime &rt, jsi::Object notification) = 0; + virtual void scheduleLocalNotification(jsi::Runtime &rt, jsi::Object notification) = 0; + virtual void cancelAllLocalNotifications(jsi::Runtime &rt) = 0; + virtual void cancelLocalNotifications(jsi::Runtime &rt, jsi::Object userInfo) = 0; + virtual jsi::Value getInitialNotification(jsi::Runtime &rt) = 0; + virtual void getScheduledLocalNotifications(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual void removeAllDeliveredNotifications(jsi::Runtime &rt) = 0; + virtual void removeDeliveredNotifications(jsi::Runtime &rt, jsi::Array identifiers) = 0; + virtual void getDeliveredNotifications(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual void getAuthorizationStatus(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual void addListener(jsi::Runtime &rt, jsi::String eventType) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + +}; + +template +class JSI_EXPORT NativePushNotificationManagerIOSCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativePushNotificationManagerIOSCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("PushNotificationManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativePushNotificationManagerIOSCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativePushNotificationManagerIOSCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void onFinishRemoteNotification(jsi::Runtime &rt, jsi::String notificationId, jsi::String fetchResult) override { + static_assert( + bridging::getParameterCount(&T::onFinishRemoteNotification) == 3, + "Expected onFinishRemoteNotification(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::onFinishRemoteNotification, jsInvoker_, instance_, std::move(notificationId), std::move(fetchResult)); + } + void setApplicationIconBadgeNumber(jsi::Runtime &rt, double num) override { + static_assert( + bridging::getParameterCount(&T::setApplicationIconBadgeNumber) == 2, + "Expected setApplicationIconBadgeNumber(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setApplicationIconBadgeNumber, jsInvoker_, instance_, std::move(num)); + } + void getApplicationIconBadgeNumber(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::getApplicationIconBadgeNumber) == 2, + "Expected getApplicationIconBadgeNumber(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getApplicationIconBadgeNumber, jsInvoker_, instance_, std::move(callback)); + } + jsi::Value requestPermissions(jsi::Runtime &rt, jsi::Object permission) override { + static_assert( + bridging::getParameterCount(&T::requestPermissions) == 2, + "Expected requestPermissions(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::requestPermissions, jsInvoker_, instance_, std::move(permission)); + } + void abandonPermissions(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::abandonPermissions) == 1, + "Expected abandonPermissions(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::abandonPermissions, jsInvoker_, instance_); + } + void checkPermissions(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::checkPermissions) == 2, + "Expected checkPermissions(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::checkPermissions, jsInvoker_, instance_, std::move(callback)); + } + void presentLocalNotification(jsi::Runtime &rt, jsi::Object notification) override { + static_assert( + bridging::getParameterCount(&T::presentLocalNotification) == 2, + "Expected presentLocalNotification(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::presentLocalNotification, jsInvoker_, instance_, std::move(notification)); + } + void scheduleLocalNotification(jsi::Runtime &rt, jsi::Object notification) override { + static_assert( + bridging::getParameterCount(&T::scheduleLocalNotification) == 2, + "Expected scheduleLocalNotification(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::scheduleLocalNotification, jsInvoker_, instance_, std::move(notification)); + } + void cancelAllLocalNotifications(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::cancelAllLocalNotifications) == 1, + "Expected cancelAllLocalNotifications(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::cancelAllLocalNotifications, jsInvoker_, instance_); + } + void cancelLocalNotifications(jsi::Runtime &rt, jsi::Object userInfo) override { + static_assert( + bridging::getParameterCount(&T::cancelLocalNotifications) == 2, + "Expected cancelLocalNotifications(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::cancelLocalNotifications, jsInvoker_, instance_, std::move(userInfo)); + } + jsi::Value getInitialNotification(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getInitialNotification) == 1, + "Expected getInitialNotification(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getInitialNotification, jsInvoker_, instance_); + } + void getScheduledLocalNotifications(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::getScheduledLocalNotifications) == 2, + "Expected getScheduledLocalNotifications(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getScheduledLocalNotifications, jsInvoker_, instance_, std::move(callback)); + } + void removeAllDeliveredNotifications(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::removeAllDeliveredNotifications) == 1, + "Expected removeAllDeliveredNotifications(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::removeAllDeliveredNotifications, jsInvoker_, instance_); + } + void removeDeliveredNotifications(jsi::Runtime &rt, jsi::Array identifiers) override { + static_assert( + bridging::getParameterCount(&T::removeDeliveredNotifications) == 2, + "Expected removeDeliveredNotifications(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeDeliveredNotifications, jsInvoker_, instance_, std::move(identifiers)); + } + void getDeliveredNotifications(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::getDeliveredNotifications) == 2, + "Expected getDeliveredNotifications(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getDeliveredNotifications, jsInvoker_, instance_, std::move(callback)); + } + void getAuthorizationStatus(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::getAuthorizationStatus) == 2, + "Expected getAuthorizationStatus(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getAuthorizationStatus, jsInvoker_, instance_, std::move(callback)); + } + void addListener(jsi::Runtime &rt, jsi::String eventType) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventType)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeHeadlessJsTaskSupportCxxSpecJSI : public TurboModule { +protected: + NativeHeadlessJsTaskSupportCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void notifyTaskFinished(jsi::Runtime &rt, double taskId) = 0; + virtual jsi::Value notifyTaskRetry(jsi::Runtime &rt, double taskId) = 0; + +}; + +template +class JSI_EXPORT NativeHeadlessJsTaskSupportCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeHeadlessJsTaskSupportCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("HeadlessJsTaskSupport", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeHeadlessJsTaskSupportCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeHeadlessJsTaskSupportCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void notifyTaskFinished(jsi::Runtime &rt, double taskId) override { + static_assert( + bridging::getParameterCount(&T::notifyTaskFinished) == 2, + "Expected notifyTaskFinished(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::notifyTaskFinished, jsInvoker_, instance_, std::move(taskId)); + } + jsi::Value notifyTaskRetry(jsi::Runtime &rt, double taskId) override { + static_assert( + bridging::getParameterCount(&T::notifyTaskRetry) == 2, + "Expected notifyTaskRetry(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::notifyTaskRetry, jsInvoker_, instance_, std::move(taskId)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeI18nManagerCxxSpecJSI : public TurboModule { +protected: + NativeI18nManagerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void allowRTL(jsi::Runtime &rt, bool allowRTL) = 0; + virtual void forceRTL(jsi::Runtime &rt, bool forceRTL) = 0; + virtual void swapLeftAndRightInRTL(jsi::Runtime &rt, bool flipStyles) = 0; + +}; + +template +class JSI_EXPORT NativeI18nManagerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeI18nManagerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("I18nManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeI18nManagerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeI18nManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void allowRTL(jsi::Runtime &rt, bool allowRTL) override { + static_assert( + bridging::getParameterCount(&T::allowRTL) == 2, + "Expected allowRTL(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::allowRTL, jsInvoker_, instance_, std::move(allowRTL)); + } + void forceRTL(jsi::Runtime &rt, bool forceRTL) override { + static_assert( + bridging::getParameterCount(&T::forceRTL) == 2, + "Expected forceRTL(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::forceRTL, jsInvoker_, instance_, std::move(forceRTL)); + } + void swapLeftAndRightInRTL(jsi::Runtime &rt, bool flipStyles) override { + static_assert( + bridging::getParameterCount(&T::swapLeftAndRightInRTL) == 2, + "Expected swapLeftAndRightInRTL(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::swapLeftAndRightInRTL, jsInvoker_, instance_, std::move(flipStyles)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeUIManagerCxxSpecJSI : public TurboModule { +protected: + NativeUIManagerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual jsi::Object getConstantsForViewManager(jsi::Runtime &rt, jsi::String viewManagerName) = 0; + virtual jsi::Array getDefaultEventTypes(jsi::Runtime &rt) = 0; + virtual jsi::Object lazilyLoadView(jsi::Runtime &rt, jsi::String name) = 0; + virtual void createView(jsi::Runtime &rt, std::optional reactTag, jsi::String viewName, double rootTag, jsi::Object props) = 0; + virtual void updateView(jsi::Runtime &rt, double reactTag, jsi::String viewName, jsi::Object props) = 0; + virtual void focus(jsi::Runtime &rt, std::optional reactTag) = 0; + virtual void blur(jsi::Runtime &rt, std::optional reactTag) = 0; + virtual void findSubviewIn(jsi::Runtime &rt, std::optional reactTag, jsi::Array point, jsi::Function callback) = 0; + virtual void dispatchViewManagerCommand(jsi::Runtime &rt, std::optional reactTag, double commandID, std::optional commandArgs) = 0; + virtual void measure(jsi::Runtime &rt, std::optional reactTag, jsi::Function callback) = 0; + virtual void measureInWindow(jsi::Runtime &rt, std::optional reactTag, jsi::Function callback) = 0; + virtual void viewIsDescendantOf(jsi::Runtime &rt, std::optional reactTag, std::optional ancestorReactTag, jsi::Function callback) = 0; + virtual void measureLayout(jsi::Runtime &rt, std::optional reactTag, std::optional ancestorReactTag, jsi::Function errorCallback, jsi::Function callback) = 0; + virtual void measureLayoutRelativeToParent(jsi::Runtime &rt, std::optional reactTag, jsi::Function errorCallback, jsi::Function callback) = 0; + virtual void setJSResponder(jsi::Runtime &rt, std::optional reactTag, bool blockNativeResponder) = 0; + virtual void clearJSResponder(jsi::Runtime &rt) = 0; + virtual void configureNextLayoutAnimation(jsi::Runtime &rt, jsi::Object config, jsi::Function callback, jsi::Function errorCallback) = 0; + virtual void removeSubviewsFromContainerWithID(jsi::Runtime &rt, double containerID) = 0; + virtual void replaceExistingNonRootView(jsi::Runtime &rt, std::optional reactTag, std::optional newReactTag) = 0; + virtual void setChildren(jsi::Runtime &rt, std::optional containerTag, jsi::Array reactTags) = 0; + virtual void manageChildren(jsi::Runtime &rt, std::optional containerTag, jsi::Array moveFromIndices, jsi::Array moveToIndices, jsi::Array addChildReactTags, jsi::Array addAtIndices, jsi::Array removeAtIndices) = 0; + virtual void setLayoutAnimationEnabledExperimental(jsi::Runtime &rt, bool enabled) = 0; + virtual void sendAccessibilityEvent(jsi::Runtime &rt, std::optional reactTag, double eventType) = 0; + virtual void showPopupMenu(jsi::Runtime &rt, std::optional reactTag, jsi::Array items, jsi::Function error, jsi::Function success) = 0; + virtual void dismissPopupMenu(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeUIManagerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeUIManagerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("UIManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeUIManagerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeUIManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + jsi::Object getConstantsForViewManager(jsi::Runtime &rt, jsi::String viewManagerName) override { + static_assert( + bridging::getParameterCount(&T::getConstantsForViewManager) == 2, + "Expected getConstantsForViewManager(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getConstantsForViewManager, jsInvoker_, instance_, std::move(viewManagerName)); + } + jsi::Array getDefaultEventTypes(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getDefaultEventTypes) == 1, + "Expected getDefaultEventTypes(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getDefaultEventTypes, jsInvoker_, instance_); + } + jsi::Object lazilyLoadView(jsi::Runtime &rt, jsi::String name) override { + static_assert( + bridging::getParameterCount(&T::lazilyLoadView) == 2, + "Expected lazilyLoadView(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::lazilyLoadView, jsInvoker_, instance_, std::move(name)); + } + void createView(jsi::Runtime &rt, std::optional reactTag, jsi::String viewName, double rootTag, jsi::Object props) override { + static_assert( + bridging::getParameterCount(&T::createView) == 5, + "Expected createView(...) to have 5 parameters"); + + return bridging::callFromJs( + rt, &T::createView, jsInvoker_, instance_, std::move(reactTag), std::move(viewName), std::move(rootTag), std::move(props)); + } + void updateView(jsi::Runtime &rt, double reactTag, jsi::String viewName, jsi::Object props) override { + static_assert( + bridging::getParameterCount(&T::updateView) == 4, + "Expected updateView(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::updateView, jsInvoker_, instance_, std::move(reactTag), std::move(viewName), std::move(props)); + } + void focus(jsi::Runtime &rt, std::optional reactTag) override { + static_assert( + bridging::getParameterCount(&T::focus) == 2, + "Expected focus(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::focus, jsInvoker_, instance_, std::move(reactTag)); + } + void blur(jsi::Runtime &rt, std::optional reactTag) override { + static_assert( + bridging::getParameterCount(&T::blur) == 2, + "Expected blur(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::blur, jsInvoker_, instance_, std::move(reactTag)); + } + void findSubviewIn(jsi::Runtime &rt, std::optional reactTag, jsi::Array point, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::findSubviewIn) == 4, + "Expected findSubviewIn(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::findSubviewIn, jsInvoker_, instance_, std::move(reactTag), std::move(point), std::move(callback)); + } + void dispatchViewManagerCommand(jsi::Runtime &rt, std::optional reactTag, double commandID, std::optional commandArgs) override { + static_assert( + bridging::getParameterCount(&T::dispatchViewManagerCommand) == 4, + "Expected dispatchViewManagerCommand(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::dispatchViewManagerCommand, jsInvoker_, instance_, std::move(reactTag), std::move(commandID), std::move(commandArgs)); + } + void measure(jsi::Runtime &rt, std::optional reactTag, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::measure) == 3, + "Expected measure(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::measure, jsInvoker_, instance_, std::move(reactTag), std::move(callback)); + } + void measureInWindow(jsi::Runtime &rt, std::optional reactTag, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::measureInWindow) == 3, + "Expected measureInWindow(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::measureInWindow, jsInvoker_, instance_, std::move(reactTag), std::move(callback)); + } + void viewIsDescendantOf(jsi::Runtime &rt, std::optional reactTag, std::optional ancestorReactTag, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::viewIsDescendantOf) == 4, + "Expected viewIsDescendantOf(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::viewIsDescendantOf, jsInvoker_, instance_, std::move(reactTag), std::move(ancestorReactTag), std::move(callback)); + } + void measureLayout(jsi::Runtime &rt, std::optional reactTag, std::optional ancestorReactTag, jsi::Function errorCallback, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::measureLayout) == 5, + "Expected measureLayout(...) to have 5 parameters"); + + return bridging::callFromJs( + rt, &T::measureLayout, jsInvoker_, instance_, std::move(reactTag), std::move(ancestorReactTag), std::move(errorCallback), std::move(callback)); + } + void measureLayoutRelativeToParent(jsi::Runtime &rt, std::optional reactTag, jsi::Function errorCallback, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::measureLayoutRelativeToParent) == 4, + "Expected measureLayoutRelativeToParent(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::measureLayoutRelativeToParent, jsInvoker_, instance_, std::move(reactTag), std::move(errorCallback), std::move(callback)); + } + void setJSResponder(jsi::Runtime &rt, std::optional reactTag, bool blockNativeResponder) override { + static_assert( + bridging::getParameterCount(&T::setJSResponder) == 3, + "Expected setJSResponder(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::setJSResponder, jsInvoker_, instance_, std::move(reactTag), std::move(blockNativeResponder)); + } + void clearJSResponder(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::clearJSResponder) == 1, + "Expected clearJSResponder(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::clearJSResponder, jsInvoker_, instance_); + } + void configureNextLayoutAnimation(jsi::Runtime &rt, jsi::Object config, jsi::Function callback, jsi::Function errorCallback) override { + static_assert( + bridging::getParameterCount(&T::configureNextLayoutAnimation) == 4, + "Expected configureNextLayoutAnimation(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::configureNextLayoutAnimation, jsInvoker_, instance_, std::move(config), std::move(callback), std::move(errorCallback)); + } + void removeSubviewsFromContainerWithID(jsi::Runtime &rt, double containerID) override { + static_assert( + bridging::getParameterCount(&T::removeSubviewsFromContainerWithID) == 2, + "Expected removeSubviewsFromContainerWithID(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeSubviewsFromContainerWithID, jsInvoker_, instance_, std::move(containerID)); + } + void replaceExistingNonRootView(jsi::Runtime &rt, std::optional reactTag, std::optional newReactTag) override { + static_assert( + bridging::getParameterCount(&T::replaceExistingNonRootView) == 3, + "Expected replaceExistingNonRootView(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::replaceExistingNonRootView, jsInvoker_, instance_, std::move(reactTag), std::move(newReactTag)); + } + void setChildren(jsi::Runtime &rt, std::optional containerTag, jsi::Array reactTags) override { + static_assert( + bridging::getParameterCount(&T::setChildren) == 3, + "Expected setChildren(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::setChildren, jsInvoker_, instance_, std::move(containerTag), std::move(reactTags)); + } + void manageChildren(jsi::Runtime &rt, std::optional containerTag, jsi::Array moveFromIndices, jsi::Array moveToIndices, jsi::Array addChildReactTags, jsi::Array addAtIndices, jsi::Array removeAtIndices) override { + static_assert( + bridging::getParameterCount(&T::manageChildren) == 7, + "Expected manageChildren(...) to have 7 parameters"); + + return bridging::callFromJs( + rt, &T::manageChildren, jsInvoker_, instance_, std::move(containerTag), std::move(moveFromIndices), std::move(moveToIndices), std::move(addChildReactTags), std::move(addAtIndices), std::move(removeAtIndices)); + } + void setLayoutAnimationEnabledExperimental(jsi::Runtime &rt, bool enabled) override { + static_assert( + bridging::getParameterCount(&T::setLayoutAnimationEnabledExperimental) == 2, + "Expected setLayoutAnimationEnabledExperimental(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setLayoutAnimationEnabledExperimental, jsInvoker_, instance_, std::move(enabled)); + } + void sendAccessibilityEvent(jsi::Runtime &rt, std::optional reactTag, double eventType) override { + static_assert( + bridging::getParameterCount(&T::sendAccessibilityEvent) == 3, + "Expected sendAccessibilityEvent(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::sendAccessibilityEvent, jsInvoker_, instance_, std::move(reactTag), std::move(eventType)); + } + void showPopupMenu(jsi::Runtime &rt, std::optional reactTag, jsi::Array items, jsi::Function error, jsi::Function success) override { + static_assert( + bridging::getParameterCount(&T::showPopupMenu) == 5, + "Expected showPopupMenu(...) to have 5 parameters"); + + return bridging::callFromJs( + rt, &T::showPopupMenu, jsInvoker_, instance_, std::move(reactTag), std::move(items), std::move(error), std::move(success)); + } + void dismissPopupMenu(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::dismissPopupMenu) == 1, + "Expected dismissPopupMenu(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::dismissPopupMenu, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeSettingsManagerCxxSpecJSI : public TurboModule { +protected: + NativeSettingsManagerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void setValues(jsi::Runtime &rt, jsi::Object values) = 0; + virtual void deleteValues(jsi::Runtime &rt, jsi::Array values) = 0; + +}; + +template +class JSI_EXPORT NativeSettingsManagerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeSettingsManagerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("SettingsManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeSettingsManagerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeSettingsManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void setValues(jsi::Runtime &rt, jsi::Object values) override { + static_assert( + bridging::getParameterCount(&T::setValues) == 2, + "Expected setValues(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setValues, jsInvoker_, instance_, std::move(values)); + } + void deleteValues(jsi::Runtime &rt, jsi::Array values) override { + static_assert( + bridging::getParameterCount(&T::deleteValues) == 2, + "Expected deleteValues(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::deleteValues, jsInvoker_, instance_, std::move(values)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeShareModuleCxxSpecJSI : public TurboModule { +protected: + NativeShareModuleCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual jsi::Value share(jsi::Runtime &rt, jsi::Object content, jsi::String dialogTitle) = 0; + +}; + +template +class JSI_EXPORT NativeShareModuleCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeShareModuleCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("ShareModule", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeShareModuleCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeShareModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + jsi::Value share(jsi::Runtime &rt, jsi::Object content, jsi::String dialogTitle) override { + static_assert( + bridging::getParameterCount(&T::share) == 3, + "Expected share(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::share, jsInvoker_, instance_, std::move(content), std::move(dialogTitle)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeAsyncLocalStorageCxxSpecJSI : public TurboModule { +protected: + NativeAsyncLocalStorageCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void multiGet(jsi::Runtime &rt, jsi::Array keys, jsi::Function callback) = 0; + virtual void multiSet(jsi::Runtime &rt, jsi::Array kvPairs, jsi::Function callback) = 0; + virtual void multiMerge(jsi::Runtime &rt, jsi::Array kvPairs, jsi::Function callback) = 0; + virtual void multiRemove(jsi::Runtime &rt, jsi::Array keys, jsi::Function callback) = 0; + virtual void clear(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual void getAllKeys(jsi::Runtime &rt, jsi::Function callback) = 0; + +}; + +template +class JSI_EXPORT NativeAsyncLocalStorageCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeAsyncLocalStorageCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("AsyncLocalStorage", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeAsyncLocalStorageCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeAsyncLocalStorageCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void multiGet(jsi::Runtime &rt, jsi::Array keys, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::multiGet) == 3, + "Expected multiGet(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::multiGet, jsInvoker_, instance_, std::move(keys), std::move(callback)); + } + void multiSet(jsi::Runtime &rt, jsi::Array kvPairs, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::multiSet) == 3, + "Expected multiSet(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::multiSet, jsInvoker_, instance_, std::move(kvPairs), std::move(callback)); + } + void multiMerge(jsi::Runtime &rt, jsi::Array kvPairs, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::multiMerge) == 3, + "Expected multiMerge(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::multiMerge, jsInvoker_, instance_, std::move(kvPairs), std::move(callback)); + } + void multiRemove(jsi::Runtime &rt, jsi::Array keys, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::multiRemove) == 3, + "Expected multiRemove(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::multiRemove, jsInvoker_, instance_, std::move(keys), std::move(callback)); + } + void clear(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::clear) == 2, + "Expected clear(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::clear, jsInvoker_, instance_, std::move(callback)); + } + void getAllKeys(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::getAllKeys) == 2, + "Expected getAllKeys(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getAllKeys, jsInvoker_, instance_, std::move(callback)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeAsyncSQLiteDBStorageCxxSpecJSI : public TurboModule { +protected: + NativeAsyncSQLiteDBStorageCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void multiGet(jsi::Runtime &rt, jsi::Array keys, jsi::Function callback) = 0; + virtual void multiSet(jsi::Runtime &rt, jsi::Array kvPairs, jsi::Function callback) = 0; + virtual void multiMerge(jsi::Runtime &rt, jsi::Array kvPairs, jsi::Function callback) = 0; + virtual void multiRemove(jsi::Runtime &rt, jsi::Array keys, jsi::Function callback) = 0; + virtual void clear(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual void getAllKeys(jsi::Runtime &rt, jsi::Function callback) = 0; + +}; + +template +class JSI_EXPORT NativeAsyncSQLiteDBStorageCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeAsyncSQLiteDBStorageCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("AsyncSQLiteDBStorage", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeAsyncSQLiteDBStorageCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeAsyncSQLiteDBStorageCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void multiGet(jsi::Runtime &rt, jsi::Array keys, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::multiGet) == 3, + "Expected multiGet(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::multiGet, jsInvoker_, instance_, std::move(keys), std::move(callback)); + } + void multiSet(jsi::Runtime &rt, jsi::Array kvPairs, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::multiSet) == 3, + "Expected multiSet(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::multiSet, jsInvoker_, instance_, std::move(kvPairs), std::move(callback)); + } + void multiMerge(jsi::Runtime &rt, jsi::Array kvPairs, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::multiMerge) == 3, + "Expected multiMerge(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::multiMerge, jsInvoker_, instance_, std::move(kvPairs), std::move(callback)); + } + void multiRemove(jsi::Runtime &rt, jsi::Array keys, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::multiRemove) == 3, + "Expected multiRemove(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::multiRemove, jsInvoker_, instance_, std::move(keys), std::move(callback)); + } + void clear(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::clear) == 2, + "Expected clear(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::clear, jsInvoker_, instance_, std::move(callback)); + } + void getAllKeys(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::getAllKeys) == 2, + "Expected getAllKeys(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getAllKeys, jsInvoker_, instance_, std::move(callback)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeAppearanceCxxSpecJSI : public TurboModule { +protected: + NativeAppearanceCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual std::optional getColorScheme(jsi::Runtime &rt) = 0; + virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + +}; + +template +class JSI_EXPORT NativeAppearanceCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeAppearanceCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("Appearance", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeAppearanceCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeAppearanceCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + std::optional getColorScheme(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getColorScheme) == 1, + "Expected getColorScheme(...) to have 1 parameters"); + + return bridging::callFromJs>( + rt, &T::getColorScheme, jsInvoker_, instance_); + } + void addListener(jsi::Runtime &rt, jsi::String eventName) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventName)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeDeviceInfoCxxSpecJSI : public TurboModule { +protected: + NativeDeviceInfoCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeDeviceInfoCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeDeviceInfoCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("DeviceInfo", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeDeviceInfoCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeDeviceInfoCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeDevLoadingViewCxxSpecJSI : public TurboModule { +protected: + NativeDevLoadingViewCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void showMessage(jsi::Runtime &rt, jsi::String message, std::optional withColor, std::optional withBackgroundColor) = 0; + virtual void hide(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeDevLoadingViewCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeDevLoadingViewCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("DevLoadingView", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeDevLoadingViewCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeDevLoadingViewCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void showMessage(jsi::Runtime &rt, jsi::String message, std::optional withColor, std::optional withBackgroundColor) override { + static_assert( + bridging::getParameterCount(&T::showMessage) == 4, + "Expected showMessage(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::showMessage, jsInvoker_, instance_, std::move(message), std::move(withColor), std::move(withBackgroundColor)); + } + void hide(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::hide) == 1, + "Expected hide(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::hide, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeDevSplitBundleLoaderCxxSpecJSI : public TurboModule { +protected: + NativeDevSplitBundleLoaderCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Value loadBundle(jsi::Runtime &rt, jsi::String bundlePath) = 0; + +}; + +template +class JSI_EXPORT NativeDevSplitBundleLoaderCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeDevSplitBundleLoaderCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("DevSplitBundleLoader", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeDevSplitBundleLoaderCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeDevSplitBundleLoaderCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Value loadBundle(jsi::Runtime &rt, jsi::String bundlePath) override { + static_assert( + bridging::getParameterCount(&T::loadBundle) == 2, + "Expected loadBundle(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::loadBundle, jsInvoker_, instance_, std::move(bundlePath)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativePlatformConstantsAndroidCxxSpecJSI : public TurboModule { +protected: + NativePlatformConstantsAndroidCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual jsi::String getAndroidID(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativePlatformConstantsAndroidCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativePlatformConstantsAndroidCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("PlatformConstants", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativePlatformConstantsAndroidCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativePlatformConstantsAndroidCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + jsi::String getAndroidID(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getAndroidID) == 1, + "Expected getAndroidID(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getAndroidID, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativePlatformConstantsIOSCxxSpecJSI : public TurboModule { +protected: + NativePlatformConstantsIOSCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativePlatformConstantsIOSCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativePlatformConstantsIOSCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("PlatformConstants", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativePlatformConstantsIOSCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativePlatformConstantsIOSCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativePlatformConstantsWinCxxSpecJSI : public TurboModule { +protected: + NativePlatformConstantsWinCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativePlatformConstantsWinCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativePlatformConstantsWinCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("PlatformConstants", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativePlatformConstantsWinCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativePlatformConstantsWinCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeVibrationCxxSpecJSI : public TurboModule { +protected: + NativeVibrationCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void vibrate(jsi::Runtime &rt, double pattern) = 0; + virtual void vibrateByPattern(jsi::Runtime &rt, jsi::Array pattern, double repeat) = 0; + virtual void cancel(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeVibrationCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeVibrationCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("Vibration", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeVibrationCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeVibrationCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void vibrate(jsi::Runtime &rt, double pattern) override { + static_assert( + bridging::getParameterCount(&T::vibrate) == 2, + "Expected vibrate(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::vibrate, jsInvoker_, instance_, std::move(pattern)); + } + void vibrateByPattern(jsi::Runtime &rt, jsi::Array pattern, double repeat) override { + static_assert( + bridging::getParameterCount(&T::vibrateByPattern) == 3, + "Expected vibrateByPattern(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::vibrateByPattern, jsInvoker_, instance_, std::move(pattern), std::move(repeat)); + } + void cancel(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::cancel) == 1, + "Expected cancel(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::cancel, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeWebSocketModuleCxxSpecJSI : public TurboModule { +protected: + NativeWebSocketModuleCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void connect(jsi::Runtime &rt, jsi::String url, std::optional protocols, jsi::Object options, double socketID) = 0; + virtual void send(jsi::Runtime &rt, jsi::String message, double forSocketID) = 0; + virtual void sendBinary(jsi::Runtime &rt, jsi::String base64String, double forSocketID) = 0; + virtual void ping(jsi::Runtime &rt, double socketID) = 0; + virtual void close(jsi::Runtime &rt, double code, jsi::String reason, double socketID) = 0; + virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + +}; + +template +class JSI_EXPORT NativeWebSocketModuleCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeWebSocketModuleCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("WebSocketModule", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeWebSocketModuleCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeWebSocketModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void connect(jsi::Runtime &rt, jsi::String url, std::optional protocols, jsi::Object options, double socketID) override { + static_assert( + bridging::getParameterCount(&T::connect) == 5, + "Expected connect(...) to have 5 parameters"); + + return bridging::callFromJs( + rt, &T::connect, jsInvoker_, instance_, std::move(url), std::move(protocols), std::move(options), std::move(socketID)); + } + void send(jsi::Runtime &rt, jsi::String message, double forSocketID) override { + static_assert( + bridging::getParameterCount(&T::send) == 3, + "Expected send(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::send, jsInvoker_, instance_, std::move(message), std::move(forSocketID)); + } + void sendBinary(jsi::Runtime &rt, jsi::String base64String, double forSocketID) override { + static_assert( + bridging::getParameterCount(&T::sendBinary) == 3, + "Expected sendBinary(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::sendBinary, jsInvoker_, instance_, std::move(base64String), std::move(forSocketID)); + } + void ping(jsi::Runtime &rt, double socketID) override { + static_assert( + bridging::getParameterCount(&T::ping) == 2, + "Expected ping(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::ping, jsInvoker_, instance_, std::move(socketID)); + } + void close(jsi::Runtime &rt, double code, jsi::String reason, double socketID) override { + static_assert( + bridging::getParameterCount(&T::close) == 4, + "Expected close(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::close, jsInvoker_, instance_, std::move(code), std::move(reason), std::move(socketID)); + } + void addListener(jsi::Runtime &rt, jsi::String eventName) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventName)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeAccessibilityInfoCxxSpecJSI : public TurboModule { +protected: + NativeAccessibilityInfoCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void isReduceMotionEnabled(jsi::Runtime &rt, jsi::Function onSuccess) = 0; + virtual void isTouchExplorationEnabled(jsi::Runtime &rt, jsi::Function onSuccess) = 0; + virtual void isAccessibilityServiceEnabled(jsi::Runtime &rt, jsi::Function onSuccess) = 0; + virtual void setAccessibilityFocus(jsi::Runtime &rt, double reactTag) = 0; + virtual void announceForAccessibility(jsi::Runtime &rt, jsi::String announcement) = 0; + virtual void getRecommendedTimeoutMillis(jsi::Runtime &rt, double mSec, jsi::Function onSuccess) = 0; + +}; + +template +class JSI_EXPORT NativeAccessibilityInfoCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeAccessibilityInfoCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("AccessibilityInfo", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeAccessibilityInfoCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeAccessibilityInfoCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void isReduceMotionEnabled(jsi::Runtime &rt, jsi::Function onSuccess) override { + static_assert( + bridging::getParameterCount(&T::isReduceMotionEnabled) == 2, + "Expected isReduceMotionEnabled(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::isReduceMotionEnabled, jsInvoker_, instance_, std::move(onSuccess)); + } + void isTouchExplorationEnabled(jsi::Runtime &rt, jsi::Function onSuccess) override { + static_assert( + bridging::getParameterCount(&T::isTouchExplorationEnabled) == 2, + "Expected isTouchExplorationEnabled(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::isTouchExplorationEnabled, jsInvoker_, instance_, std::move(onSuccess)); + } + void isAccessibilityServiceEnabled(jsi::Runtime &rt, jsi::Function onSuccess) override { + static_assert( + bridging::getParameterCount(&T::isAccessibilityServiceEnabled) == 2, + "Expected isAccessibilityServiceEnabled(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::isAccessibilityServiceEnabled, jsInvoker_, instance_, std::move(onSuccess)); + } + void setAccessibilityFocus(jsi::Runtime &rt, double reactTag) override { + static_assert( + bridging::getParameterCount(&T::setAccessibilityFocus) == 2, + "Expected setAccessibilityFocus(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setAccessibilityFocus, jsInvoker_, instance_, std::move(reactTag)); + } + void announceForAccessibility(jsi::Runtime &rt, jsi::String announcement) override { + static_assert( + bridging::getParameterCount(&T::announceForAccessibility) == 2, + "Expected announceForAccessibility(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::announceForAccessibility, jsInvoker_, instance_, std::move(announcement)); + } + void getRecommendedTimeoutMillis(jsi::Runtime &rt, double mSec, jsi::Function onSuccess) override { + static_assert( + bridging::getParameterCount(&T::getRecommendedTimeoutMillis) == 3, + "Expected getRecommendedTimeoutMillis(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getRecommendedTimeoutMillis, jsInvoker_, instance_, std::move(mSec), std::move(onSuccess)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeAccessibilityManagerCxxSpecJSI : public TurboModule { +protected: + NativeAccessibilityManagerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void getCurrentBoldTextState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0; + virtual void getCurrentGrayscaleState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0; + virtual void getCurrentInvertColorsState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0; + virtual void getCurrentReduceMotionState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0; + virtual void getCurrentPrefersCrossFadeTransitionsState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0; + virtual void getCurrentReduceTransparencyState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0; + virtual void getCurrentVoiceOverState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) = 0; + virtual void setAccessibilityContentSizeMultipliers(jsi::Runtime &rt, jsi::Object JSMultipliers) = 0; + virtual void setAccessibilityFocus(jsi::Runtime &rt, double reactTag) = 0; + virtual void announceForAccessibility(jsi::Runtime &rt, jsi::String announcement) = 0; + virtual void announceForAccessibilityWithOptions(jsi::Runtime &rt, jsi::String announcement, jsi::Object options) = 0; + +}; + +template +class JSI_EXPORT NativeAccessibilityManagerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeAccessibilityManagerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("AccessibilityManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeAccessibilityManagerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeAccessibilityManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void getCurrentBoldTextState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) override { + static_assert( + bridging::getParameterCount(&T::getCurrentBoldTextState) == 3, + "Expected getCurrentBoldTextState(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getCurrentBoldTextState, jsInvoker_, instance_, std::move(onSuccess), std::move(onError)); + } + void getCurrentGrayscaleState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) override { + static_assert( + bridging::getParameterCount(&T::getCurrentGrayscaleState) == 3, + "Expected getCurrentGrayscaleState(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getCurrentGrayscaleState, jsInvoker_, instance_, std::move(onSuccess), std::move(onError)); + } + void getCurrentInvertColorsState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) override { + static_assert( + bridging::getParameterCount(&T::getCurrentInvertColorsState) == 3, + "Expected getCurrentInvertColorsState(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getCurrentInvertColorsState, jsInvoker_, instance_, std::move(onSuccess), std::move(onError)); + } + void getCurrentReduceMotionState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) override { + static_assert( + bridging::getParameterCount(&T::getCurrentReduceMotionState) == 3, + "Expected getCurrentReduceMotionState(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getCurrentReduceMotionState, jsInvoker_, instance_, std::move(onSuccess), std::move(onError)); + } + void getCurrentPrefersCrossFadeTransitionsState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) override { + static_assert( + bridging::getParameterCount(&T::getCurrentPrefersCrossFadeTransitionsState) == 3, + "Expected getCurrentPrefersCrossFadeTransitionsState(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getCurrentPrefersCrossFadeTransitionsState, jsInvoker_, instance_, std::move(onSuccess), std::move(onError)); + } + void getCurrentReduceTransparencyState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) override { + static_assert( + bridging::getParameterCount(&T::getCurrentReduceTransparencyState) == 3, + "Expected getCurrentReduceTransparencyState(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getCurrentReduceTransparencyState, jsInvoker_, instance_, std::move(onSuccess), std::move(onError)); + } + void getCurrentVoiceOverState(jsi::Runtime &rt, jsi::Function onSuccess, jsi::Function onError) override { + static_assert( + bridging::getParameterCount(&T::getCurrentVoiceOverState) == 3, + "Expected getCurrentVoiceOverState(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::getCurrentVoiceOverState, jsInvoker_, instance_, std::move(onSuccess), std::move(onError)); + } + void setAccessibilityContentSizeMultipliers(jsi::Runtime &rt, jsi::Object JSMultipliers) override { + static_assert( + bridging::getParameterCount(&T::setAccessibilityContentSizeMultipliers) == 2, + "Expected setAccessibilityContentSizeMultipliers(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setAccessibilityContentSizeMultipliers, jsInvoker_, instance_, std::move(JSMultipliers)); + } + void setAccessibilityFocus(jsi::Runtime &rt, double reactTag) override { + static_assert( + bridging::getParameterCount(&T::setAccessibilityFocus) == 2, + "Expected setAccessibilityFocus(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setAccessibilityFocus, jsInvoker_, instance_, std::move(reactTag)); + } + void announceForAccessibility(jsi::Runtime &rt, jsi::String announcement) override { + static_assert( + bridging::getParameterCount(&T::announceForAccessibility) == 2, + "Expected announceForAccessibility(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::announceForAccessibility, jsInvoker_, instance_, std::move(announcement)); + } + void announceForAccessibilityWithOptions(jsi::Runtime &rt, jsi::String announcement, jsi::Object options) override { + static_assert( + bridging::getParameterCount(&T::announceForAccessibilityWithOptions) == 3, + "Expected announceForAccessibilityWithOptions(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::announceForAccessibilityWithOptions, jsInvoker_, instance_, std::move(announcement), std::move(options)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeClipboardCxxSpecJSI : public TurboModule { +protected: + NativeClipboardCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual jsi::Value getString(jsi::Runtime &rt) = 0; + virtual void setString(jsi::Runtime &rt, jsi::String content) = 0; + +}; + +template +class JSI_EXPORT NativeClipboardCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeClipboardCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("Clipboard", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeClipboardCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeClipboardCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + jsi::Value getString(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getString) == 1, + "Expected getString(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getString, jsInvoker_, instance_); + } + void setString(jsi::Runtime &rt, jsi::String content) override { + static_assert( + bridging::getParameterCount(&T::setString) == 2, + "Expected setString(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setString, jsInvoker_, instance_, std::move(content)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeDatePickerAndroidCxxSpecJSI : public TurboModule { +protected: + NativeDatePickerAndroidCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Value open(jsi::Runtime &rt, jsi::Object options) = 0; + +}; + +template +class JSI_EXPORT NativeDatePickerAndroidCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeDatePickerAndroidCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("DatePickerAndroid", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeDatePickerAndroidCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeDatePickerAndroidCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Value open(jsi::Runtime &rt, jsi::Object options) override { + static_assert( + bridging::getParameterCount(&T::open) == 2, + "Expected open(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::open, jsInvoker_, instance_, std::move(options)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeKeyboardObserverCxxSpecJSI : public TurboModule { +protected: + NativeKeyboardObserverCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + +}; + +template +class JSI_EXPORT NativeKeyboardObserverCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeKeyboardObserverCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("KeyboardObserver", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeKeyboardObserverCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeKeyboardObserverCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void addListener(jsi::Runtime &rt, jsi::String eventName) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventName)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeSoundManagerCxxSpecJSI : public TurboModule { +protected: + NativeSoundManagerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void playTouchSound(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeSoundManagerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeSoundManagerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("SoundManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeSoundManagerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeSoundManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void playTouchSound(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::playTouchSound) == 1, + "Expected playTouchSound(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::playTouchSound, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeStatusBarManagerAndroidCxxSpecJSI : public TurboModule { +protected: + NativeStatusBarManagerAndroidCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void setColor(jsi::Runtime &rt, double color, bool animated) = 0; + virtual void setTranslucent(jsi::Runtime &rt, bool translucent) = 0; + virtual void setStyle(jsi::Runtime &rt, std::optional statusBarStyle) = 0; + virtual void setHidden(jsi::Runtime &rt, bool hidden) = 0; + +}; + +template +class JSI_EXPORT NativeStatusBarManagerAndroidCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeStatusBarManagerAndroidCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("StatusBarManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeStatusBarManagerAndroidCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeStatusBarManagerAndroidCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void setColor(jsi::Runtime &rt, double color, bool animated) override { + static_assert( + bridging::getParameterCount(&T::setColor) == 3, + "Expected setColor(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::setColor, jsInvoker_, instance_, std::move(color), std::move(animated)); + } + void setTranslucent(jsi::Runtime &rt, bool translucent) override { + static_assert( + bridging::getParameterCount(&T::setTranslucent) == 2, + "Expected setTranslucent(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setTranslucent, jsInvoker_, instance_, std::move(translucent)); + } + void setStyle(jsi::Runtime &rt, std::optional statusBarStyle) override { + static_assert( + bridging::getParameterCount(&T::setStyle) == 2, + "Expected setStyle(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setStyle, jsInvoker_, instance_, std::move(statusBarStyle)); + } + void setHidden(jsi::Runtime &rt, bool hidden) override { + static_assert( + bridging::getParameterCount(&T::setHidden) == 2, + "Expected setHidden(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setHidden, jsInvoker_, instance_, std::move(hidden)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeStatusBarManagerIOSCxxSpecJSI : public TurboModule { +protected: + NativeStatusBarManagerIOSCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void getHeight(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual void setNetworkActivityIndicatorVisible(jsi::Runtime &rt, bool visible) = 0; + virtual void addListener(jsi::Runtime &rt, jsi::String eventType) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + virtual void setStyle(jsi::Runtime &rt, std::optional statusBarStyle, bool animated) = 0; + virtual void setHidden(jsi::Runtime &rt, bool hidden, jsi::String withAnimation) = 0; + +}; + +template +class JSI_EXPORT NativeStatusBarManagerIOSCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeStatusBarManagerIOSCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("StatusBarManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeStatusBarManagerIOSCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeStatusBarManagerIOSCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void getHeight(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::getHeight) == 2, + "Expected getHeight(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getHeight, jsInvoker_, instance_, std::move(callback)); + } + void setNetworkActivityIndicatorVisible(jsi::Runtime &rt, bool visible) override { + static_assert( + bridging::getParameterCount(&T::setNetworkActivityIndicatorVisible) == 2, + "Expected setNetworkActivityIndicatorVisible(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setNetworkActivityIndicatorVisible, jsInvoker_, instance_, std::move(visible)); + } + void addListener(jsi::Runtime &rt, jsi::String eventType) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventType)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + void setStyle(jsi::Runtime &rt, std::optional statusBarStyle, bool animated) override { + static_assert( + bridging::getParameterCount(&T::setStyle) == 3, + "Expected setStyle(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::setStyle, jsInvoker_, instance_, std::move(statusBarStyle), std::move(animated)); + } + void setHidden(jsi::Runtime &rt, bool hidden, jsi::String withAnimation) override { + static_assert( + bridging::getParameterCount(&T::setHidden) == 3, + "Expected setHidden(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::setHidden, jsInvoker_, instance_, std::move(hidden), std::move(withAnimation)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeToastAndroidCxxSpecJSI : public TurboModule { +protected: + NativeToastAndroidCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void show(jsi::Runtime &rt, jsi::String message, double duration) = 0; + virtual void showWithGravity(jsi::Runtime &rt, jsi::String message, double duration, double gravity) = 0; + virtual void showWithGravityAndOffset(jsi::Runtime &rt, jsi::String message, double duration, double gravity, double xOffset, double yOffset) = 0; + +}; + +template +class JSI_EXPORT NativeToastAndroidCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeToastAndroidCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("ToastAndroid", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeToastAndroidCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeToastAndroidCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void show(jsi::Runtime &rt, jsi::String message, double duration) override { + static_assert( + bridging::getParameterCount(&T::show) == 3, + "Expected show(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::show, jsInvoker_, instance_, std::move(message), std::move(duration)); + } + void showWithGravity(jsi::Runtime &rt, jsi::String message, double duration, double gravity) override { + static_assert( + bridging::getParameterCount(&T::showWithGravity) == 4, + "Expected showWithGravity(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::showWithGravity, jsInvoker_, instance_, std::move(message), std::move(duration), std::move(gravity)); + } + void showWithGravityAndOffset(jsi::Runtime &rt, jsi::String message, double duration, double gravity, double xOffset, double yOffset) override { + static_assert( + bridging::getParameterCount(&T::showWithGravityAndOffset) == 6, + "Expected showWithGravityAndOffset(...) to have 6 parameters"); + + return bridging::callFromJs( + rt, &T::showWithGravityAndOffset, jsInvoker_, instance_, std::move(message), std::move(duration), std::move(gravity), std::move(xOffset), std::move(yOffset)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeSegmentFetcherCxxSpecJSI : public TurboModule { +protected: + NativeSegmentFetcherCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void fetchSegment(jsi::Runtime &rt, double segmentId, jsi::Object options, jsi::Function callback) = 0; + virtual void getSegment(jsi::Runtime &rt, double segmentId, jsi::Object options, jsi::Function callback) = 0; + +}; + +template +class JSI_EXPORT NativeSegmentFetcherCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeSegmentFetcherCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("SegmentFetcher", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeSegmentFetcherCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeSegmentFetcherCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void fetchSegment(jsi::Runtime &rt, double segmentId, jsi::Object options, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::fetchSegment) == 4, + "Expected fetchSegment(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::fetchSegment, jsInvoker_, instance_, std::move(segmentId), std::move(options), std::move(callback)); + } + void getSegment(jsi::Runtime &rt, double segmentId, jsi::Object options, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::getSegment) == 4, + "Expected getSegment(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::getSegment, jsInvoker_, instance_, std::move(segmentId), std::move(options), std::move(callback)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeTimingCxxSpecJSI : public TurboModule { +protected: + NativeTimingCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void createTimer(jsi::Runtime &rt, double callbackID, double duration, double jsSchedulingTime, bool repeats) = 0; + virtual void deleteTimer(jsi::Runtime &rt, double timerID) = 0; + virtual void setSendIdleEvents(jsi::Runtime &rt, bool sendIdleEvents) = 0; + +}; + +template +class JSI_EXPORT NativeTimingCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeTimingCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("Timing", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeTimingCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeTimingCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void createTimer(jsi::Runtime &rt, double callbackID, double duration, double jsSchedulingTime, bool repeats) override { + static_assert( + bridging::getParameterCount(&T::createTimer) == 5, + "Expected createTimer(...) to have 5 parameters"); + + return bridging::callFromJs( + rt, &T::createTimer, jsInvoker_, instance_, std::move(callbackID), std::move(duration), std::move(jsSchedulingTime), std::move(repeats)); + } + void deleteTimer(jsi::Runtime &rt, double timerID) override { + static_assert( + bridging::getParameterCount(&T::deleteTimer) == 2, + "Expected deleteTimer(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::deleteTimer, jsInvoker_, instance_, std::move(timerID)); + } + void setSendIdleEvents(jsi::Runtime &rt, bool sendIdleEvents) override { + static_assert( + bridging::getParameterCount(&T::setSendIdleEvents) == 2, + "Expected setSendIdleEvents(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setSendIdleEvents, jsInvoker_, instance_, std::move(sendIdleEvents)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeAnimationsDebugModuleCxxSpecJSI : public TurboModule { +protected: + NativeAnimationsDebugModuleCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void startRecordingFps(jsi::Runtime &rt) = 0; + virtual void stopRecordingFps(jsi::Runtime &rt, double animationStopTimeMs) = 0; + +}; + +template +class JSI_EXPORT NativeAnimationsDebugModuleCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeAnimationsDebugModuleCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("AnimationsDebugModule", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeAnimationsDebugModuleCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeAnimationsDebugModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void startRecordingFps(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::startRecordingFps) == 1, + "Expected startRecordingFps(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::startRecordingFps, jsInvoker_, instance_); + } + void stopRecordingFps(jsi::Runtime &rt, double animationStopTimeMs) override { + static_assert( + bridging::getParameterCount(&T::stopRecordingFps) == 2, + "Expected stopRecordingFps(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::stopRecordingFps, jsInvoker_, instance_, std::move(animationStopTimeMs)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeDeviceEventManagerCxxSpecJSI : public TurboModule { +protected: + NativeDeviceEventManagerCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void invokeDefaultBackPressHandler(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeDeviceEventManagerCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeDeviceEventManagerCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("DeviceEventManager", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeDeviceEventManagerCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeDeviceEventManagerCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void invokeDefaultBackPressHandler(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::invokeDefaultBackPressHandler) == 1, + "Expected invokeDefaultBackPressHandler(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::invokeDefaultBackPressHandler, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeDevMenuCxxSpecJSI : public TurboModule { +protected: + NativeDevMenuCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void show(jsi::Runtime &rt) = 0; + virtual void reload(jsi::Runtime &rt) = 0; + virtual void debugRemotely(jsi::Runtime &rt, bool enableDebug) = 0; + virtual void setProfilingEnabled(jsi::Runtime &rt, bool enabled) = 0; + virtual void setHotLoadingEnabled(jsi::Runtime &rt, bool enabled) = 0; + +}; + +template +class JSI_EXPORT NativeDevMenuCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeDevMenuCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("DevMenu", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeDevMenuCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeDevMenuCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void show(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::show) == 1, + "Expected show(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::show, jsInvoker_, instance_); + } + void reload(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::reload) == 1, + "Expected reload(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::reload, jsInvoker_, instance_); + } + void debugRemotely(jsi::Runtime &rt, bool enableDebug) override { + static_assert( + bridging::getParameterCount(&T::debugRemotely) == 2, + "Expected debugRemotely(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::debugRemotely, jsInvoker_, instance_, std::move(enableDebug)); + } + void setProfilingEnabled(jsi::Runtime &rt, bool enabled) override { + static_assert( + bridging::getParameterCount(&T::setProfilingEnabled) == 2, + "Expected setProfilingEnabled(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setProfilingEnabled, jsInvoker_, instance_, std::move(enabled)); + } + void setHotLoadingEnabled(jsi::Runtime &rt, bool enabled) override { + static_assert( + bridging::getParameterCount(&T::setHotLoadingEnabled) == 2, + "Expected setHotLoadingEnabled(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setHotLoadingEnabled, jsInvoker_, instance_, std::move(enabled)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeDevSettingsCxxSpecJSI : public TurboModule { +protected: + NativeDevSettingsCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void reload(jsi::Runtime &rt) = 0; + virtual void reloadWithReason(jsi::Runtime &rt, jsi::String reason) = 0; + virtual void onFastRefresh(jsi::Runtime &rt) = 0; + virtual void setHotLoadingEnabled(jsi::Runtime &rt, bool isHotLoadingEnabled) = 0; + virtual void setIsDebuggingRemotely(jsi::Runtime &rt, bool isDebuggingRemotelyEnabled) = 0; + virtual void setProfilingEnabled(jsi::Runtime &rt, bool isProfilingEnabled) = 0; + virtual void toggleElementInspector(jsi::Runtime &rt) = 0; + virtual void addMenuItem(jsi::Runtime &rt, jsi::String title) = 0; + virtual void addListener(jsi::Runtime &rt, jsi::String eventName) = 0; + virtual void removeListeners(jsi::Runtime &rt, double count) = 0; + virtual void setIsShakeToShowDevMenuEnabled(jsi::Runtime &rt, bool enabled) = 0; + +}; + +template +class JSI_EXPORT NativeDevSettingsCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeDevSettingsCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("DevSettings", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeDevSettingsCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeDevSettingsCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void reload(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::reload) == 1, + "Expected reload(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::reload, jsInvoker_, instance_); + } + void reloadWithReason(jsi::Runtime &rt, jsi::String reason) override { + static_assert( + bridging::getParameterCount(&T::reloadWithReason) == 2, + "Expected reloadWithReason(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::reloadWithReason, jsInvoker_, instance_, std::move(reason)); + } + void onFastRefresh(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::onFastRefresh) == 1, + "Expected onFastRefresh(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::onFastRefresh, jsInvoker_, instance_); + } + void setHotLoadingEnabled(jsi::Runtime &rt, bool isHotLoadingEnabled) override { + static_assert( + bridging::getParameterCount(&T::setHotLoadingEnabled) == 2, + "Expected setHotLoadingEnabled(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setHotLoadingEnabled, jsInvoker_, instance_, std::move(isHotLoadingEnabled)); + } + void setIsDebuggingRemotely(jsi::Runtime &rt, bool isDebuggingRemotelyEnabled) override { + static_assert( + bridging::getParameterCount(&T::setIsDebuggingRemotely) == 2, + "Expected setIsDebuggingRemotely(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setIsDebuggingRemotely, jsInvoker_, instance_, std::move(isDebuggingRemotelyEnabled)); + } + void setProfilingEnabled(jsi::Runtime &rt, bool isProfilingEnabled) override { + static_assert( + bridging::getParameterCount(&T::setProfilingEnabled) == 2, + "Expected setProfilingEnabled(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setProfilingEnabled, jsInvoker_, instance_, std::move(isProfilingEnabled)); + } + void toggleElementInspector(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::toggleElementInspector) == 1, + "Expected toggleElementInspector(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::toggleElementInspector, jsInvoker_, instance_); + } + void addMenuItem(jsi::Runtime &rt, jsi::String title) override { + static_assert( + bridging::getParameterCount(&T::addMenuItem) == 2, + "Expected addMenuItem(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addMenuItem, jsInvoker_, instance_, std::move(title)); + } + void addListener(jsi::Runtime &rt, jsi::String eventName) override { + static_assert( + bridging::getParameterCount(&T::addListener) == 2, + "Expected addListener(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::addListener, jsInvoker_, instance_, std::move(eventName)); + } + void removeListeners(jsi::Runtime &rt, double count) override { + static_assert( + bridging::getParameterCount(&T::removeListeners) == 2, + "Expected removeListeners(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::removeListeners, jsInvoker_, instance_, std::move(count)); + } + void setIsShakeToShowDevMenuEnabled(jsi::Runtime &rt, bool enabled) override { + static_assert( + bridging::getParameterCount(&T::setIsShakeToShowDevMenuEnabled) == 2, + "Expected setIsShakeToShowDevMenuEnabled(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::setIsShakeToShowDevMenuEnabled, jsInvoker_, instance_, std::move(enabled)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeDialogManagerAndroidCxxSpecJSI : public TurboModule { +protected: + NativeDialogManagerAndroidCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void showAlert(jsi::Runtime &rt, jsi::Object config, jsi::Function onError, jsi::Function onAction) = 0; + +}; + +template +class JSI_EXPORT NativeDialogManagerAndroidCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeDialogManagerAndroidCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("DialogManagerAndroid", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeDialogManagerAndroidCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeDialogManagerAndroidCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void showAlert(jsi::Runtime &rt, jsi::Object config, jsi::Function onError, jsi::Function onAction) override { + static_assert( + bridging::getParameterCount(&T::showAlert) == 4, + "Expected showAlert(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::showAlert, jsInvoker_, instance_, std::move(config), std::move(onError), std::move(onAction)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeLogBoxCxxSpecJSI : public TurboModule { +protected: + NativeLogBoxCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void show(jsi::Runtime &rt) = 0; + virtual void hide(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeLogBoxCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeLogBoxCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("LogBox", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeLogBoxCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeLogBoxCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void show(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::show) == 1, + "Expected show(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::show, jsInvoker_, instance_); + } + void hide(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::hide) == 1, + "Expected hide(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::hide, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeRedBoxCxxSpecJSI : public TurboModule { +protected: + NativeRedBoxCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual void setExtraData(jsi::Runtime &rt, jsi::Object extraData, jsi::String forIdentifier) = 0; + virtual void dismiss(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeRedBoxCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeRedBoxCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("RedBox", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeRedBoxCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeRedBoxCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + void setExtraData(jsi::Runtime &rt, jsi::Object extraData, jsi::String forIdentifier) override { + static_assert( + bridging::getParameterCount(&T::setExtraData) == 3, + "Expected setExtraData(...) to have 3 parameters"); + + return bridging::callFromJs( + rt, &T::setExtraData, jsInvoker_, instance_, std::move(extraData), std::move(forIdentifier)); + } + void dismiss(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::dismiss) == 1, + "Expected dismiss(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::dismiss, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeSourceCodeCxxSpecJSI : public TurboModule { +protected: + NativeSourceCodeCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + +}; + +template +class JSI_EXPORT NativeSourceCodeCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeSourceCodeCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("SourceCode", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeSourceCodeCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeSourceCodeCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +class JSI_EXPORT NativeSampleTurboModuleCxxSpecJSI : public TurboModule { +protected: + NativeSampleTurboModuleCxxSpecJSI(std::shared_ptr jsInvoker); + +public: + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void voidFunc(jsi::Runtime &rt) = 0; + virtual bool getBool(jsi::Runtime &rt, bool arg) = 0; + virtual double getNumber(jsi::Runtime &rt, double arg) = 0; + virtual jsi::String getString(jsi::Runtime &rt, jsi::String arg) = 0; + virtual jsi::Array getArray(jsi::Runtime &rt, jsi::Array arg) = 0; + virtual jsi::Object getObject(jsi::Runtime &rt, jsi::Object arg) = 0; + virtual jsi::Object getUnsafeObject(jsi::Runtime &rt, jsi::Object arg) = 0; + virtual double getRootTag(jsi::Runtime &rt, double arg) = 0; + virtual jsi::Object getValue(jsi::Runtime &rt, double x, jsi::String y, jsi::Object z) = 0; + virtual void getValueWithCallback(jsi::Runtime &rt, jsi::Function callback) = 0; + virtual jsi::Value getValueWithPromise(jsi::Runtime &rt, bool error) = 0; + +}; + +template +class JSI_EXPORT NativeSampleTurboModuleCxxSpec : public TurboModule { +public: + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &propName) override { + return delegate_.get(rt, propName); + } + +protected: + NativeSampleTurboModuleCxxSpec(std::shared_ptr jsInvoker) + : TurboModule("SampleTurboModule", jsInvoker), + delegate_(static_cast(this), jsInvoker) {} + +private: + class Delegate : public NativeSampleTurboModuleCxxSpecJSI { + public: + Delegate(T *instance, std::shared_ptr jsInvoker) : + NativeSampleTurboModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {} + + jsi::Object getConstants(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::getConstants) == 1, + "Expected getConstants(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::getConstants, jsInvoker_, instance_); + } + void voidFunc(jsi::Runtime &rt) override { + static_assert( + bridging::getParameterCount(&T::voidFunc) == 1, + "Expected voidFunc(...) to have 1 parameters"); + + return bridging::callFromJs( + rt, &T::voidFunc, jsInvoker_, instance_); + } + bool getBool(jsi::Runtime &rt, bool arg) override { + static_assert( + bridging::getParameterCount(&T::getBool) == 2, + "Expected getBool(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getBool, jsInvoker_, instance_, std::move(arg)); + } + double getNumber(jsi::Runtime &rt, double arg) override { + static_assert( + bridging::getParameterCount(&T::getNumber) == 2, + "Expected getNumber(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getNumber, jsInvoker_, instance_, std::move(arg)); + } + jsi::String getString(jsi::Runtime &rt, jsi::String arg) override { + static_assert( + bridging::getParameterCount(&T::getString) == 2, + "Expected getString(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getString, jsInvoker_, instance_, std::move(arg)); + } + jsi::Array getArray(jsi::Runtime &rt, jsi::Array arg) override { + static_assert( + bridging::getParameterCount(&T::getArray) == 2, + "Expected getArray(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getArray, jsInvoker_, instance_, std::move(arg)); + } + jsi::Object getObject(jsi::Runtime &rt, jsi::Object arg) override { + static_assert( + bridging::getParameterCount(&T::getObject) == 2, + "Expected getObject(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getObject, jsInvoker_, instance_, std::move(arg)); + } + jsi::Object getUnsafeObject(jsi::Runtime &rt, jsi::Object arg) override { + static_assert( + bridging::getParameterCount(&T::getUnsafeObject) == 2, + "Expected getUnsafeObject(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getUnsafeObject, jsInvoker_, instance_, std::move(arg)); + } + double getRootTag(jsi::Runtime &rt, double arg) override { + static_assert( + bridging::getParameterCount(&T::getRootTag) == 2, + "Expected getRootTag(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getRootTag, jsInvoker_, instance_, std::move(arg)); + } + jsi::Object getValue(jsi::Runtime &rt, double x, jsi::String y, jsi::Object z) override { + static_assert( + bridging::getParameterCount(&T::getValue) == 4, + "Expected getValue(...) to have 4 parameters"); + + return bridging::callFromJs( + rt, &T::getValue, jsInvoker_, instance_, std::move(x), std::move(y), std::move(z)); + } + void getValueWithCallback(jsi::Runtime &rt, jsi::Function callback) override { + static_assert( + bridging::getParameterCount(&T::getValueWithCallback) == 2, + "Expected getValueWithCallback(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getValueWithCallback, jsInvoker_, instance_, std::move(callback)); + } + jsi::Value getValueWithPromise(jsi::Runtime &rt, bool error) override { + static_assert( + bridging::getParameterCount(&T::getValueWithPromise) == 2, + "Expected getValueWithPromise(...) to have 2 parameters"); + + return bridging::callFromJs( + rt, &T::getValueWithPromise, jsInvoker_, instance_, std::move(error)); + } + + private: + T *instance_; + }; + + Delegate delegate_; +}; + +} // namespace react +} // namespace facebook diff --git a/vnext/just-task.js b/vnext/just-task.js index 390037c5a3d..4ed56d4e1f7 100644 --- a/vnext/just-task.js +++ b/vnext/just-task.js @@ -27,7 +27,11 @@ option('clean'); task('codegen', () => { execSync( - 'react-native-windows-codegen --files Libraries/**/*Native*.js --namespace Microsoft::ReactNativeSpecs --libraryName rnwcore', + 'react-native-windows-codegen --files Libraries/**/*Native*.js --namespace Microsoft::ReactNativeSpecs --libraryName rnwcore --modulesWindows --modulesCxx', + {env: process.env}, + ); + execSync( + 'react-native-windows-codegen --files Microsoft.ReactNative.IntegrationTests/**/*Native*.js --namespace Microsoft::ReactNativeIntegrationTestSpecs --libraryName msrnIntegrationTests --modulesCxx --outputDirectory Microsoft.ReactNative.IntegrationTests/codegen', {env: process.env}, ); });