diff --git a/packages/react-native-codegen/src/generators/Utils.js b/packages/react-native-codegen/src/generators/Utils.js index b52c0230720..e5d1e1b5f68 100644 --- a/packages/react-native-codegen/src/generators/Utils.js +++ b/packages/react-native-codegen/src/generators/Utils.js @@ -14,6 +14,20 @@ function capitalize(string: string): string { return string.charAt(0).toUpperCase() + string.slice(1); } +function indent(nice: string, spaces: number): string { + return nice + .split('\n') + .map((line, index) => { + if (line.length === 0 || index === 0) { + return line; + } + const emptySpaces = new Array(spaces + 1).join(' '); + return emptySpaces + line; + }) + .join('\n'); +} + module.exports = { capitalize, + indent, }; diff --git a/packages/react-native-codegen/src/generators/components/GenerateEventEmitterH.js b/packages/react-native-codegen/src/generators/components/GenerateEventEmitterH.js index 009ff91d25b..c3637b02bbc 100644 --- a/packages/react-native-codegen/src/generators/components/GenerateEventEmitterH.js +++ b/packages/react-native-codegen/src/generators/components/GenerateEventEmitterH.js @@ -16,7 +16,8 @@ const { getCppTypeForAnnotation, toSafeCppString, generateEventStructName, -} = require('./CppHelpers.js'); +} = require('./CppHelpers'); +const {indent} = require('../Utils'); import type { ComponentShape, @@ -110,19 +111,6 @@ static char const *toString(const ${enumName} value) { } `.trim(); -function indent(nice: string, spaces: number) { - return nice - .split('\n') - .map((line, index) => { - if (line.length === 0 || index === 0) { - return line; - } - const emptySpaces = new Array(spaces + 1).join(' '); - return emptySpaces + line; - }) - .join('\n'); -} - function getNativeTypeFromAnnotation( componentName: string, eventProperty: NamedShape, diff --git a/packages/react-native-codegen/src/generators/modules/GenerateModuleH.js b/packages/react-native-codegen/src/generators/modules/GenerateModuleH.js index df78ed566e7..b6ba2d1fd9b 100644 --- a/packages/react-native-codegen/src/generators/modules/GenerateModuleH.js +++ b/packages/react-native-codegen/src/generators/modules/GenerateModuleH.js @@ -19,6 +19,7 @@ import type { import type {AliasResolver} from './Utils'; const {createAliasResolver, getModules} = require('./Utils'); +const {indent} = require('../Utils'); const {unwrapNullable} = require('../../parsers/flow/modules/utils'); type FilesOutput = Map; @@ -32,7 +33,7 @@ protected: ${hasteModuleName}CxxSpecJSI(std::shared_ptr jsInvoker); public: -${moduleProperties} + ${indent(moduleProperties, 2)} };`; }; @@ -57,6 +58,7 @@ const FileTemplate = ({ namespace facebook { namespace react { + ${modules} } // namespace react diff --git a/packages/react-native-codegen/src/generators/modules/__tests__/__snapshots__/GenerateModuleH-test.js.snap b/packages/react-native-codegen/src/generators/modules/__tests__/__snapshots__/GenerateModuleH-test.js.snap index 06ca479a201..c9600debd63 100644 --- a/packages/react-native-codegen/src/generators/modules/__tests__/__snapshots__/GenerateModuleH-test.js.snap +++ b/packages/react-native-codegen/src/generators/modules/__tests__/__snapshots__/GenerateModuleH-test.js.snap @@ -17,12 +17,13 @@ Map { namespace facebook { namespace react { + class JSI_EXPORT NativeSampleTurboModuleCxxSpecJSI : public TurboModule { protected: NativeSampleTurboModuleCxxSpecJSI(std::shared_ptr jsInvoker); public: - + }; @@ -49,15 +50,16 @@ Map { namespace facebook { namespace react { + class JSI_EXPORT NativeSampleTurboModuleCxxSpecJSI : public TurboModule { protected: NativeSampleTurboModuleCxxSpecJSI(std::shared_ptr jsInvoker); public: -virtual jsi::Object difficult(jsi::Runtime &rt, const jsi::Object &A) = 0; -virtual void optionals(jsi::Runtime &rt, const jsi::Object &A) = 0; -virtual void optionalMethod(jsi::Runtime &rt, const jsi::Object &options, const jsi::Function &callback, const jsi::Array &extras) = 0; -virtual void getArrays(jsi::Runtime &rt, const jsi::Object &options) = 0; + virtual jsi::Object difficult(jsi::Runtime &rt, const jsi::Object &A) = 0; + virtual void optionals(jsi::Runtime &rt, const jsi::Object &A) = 0; + virtual void optionalMethod(jsi::Runtime &rt, const jsi::Object &options, const jsi::Function &callback, const jsi::Array &extras) = 0; + virtual void getArrays(jsi::Runtime &rt, const jsi::Object &options) = 0; }; @@ -84,12 +86,13 @@ Map { namespace facebook { namespace react { + class JSI_EXPORT NativeSampleTurboModuleCxxSpecJSI : public TurboModule { protected: NativeSampleTurboModuleCxxSpecJSI(std::shared_ptr jsInvoker); public: - + }; @@ -116,13 +119,14 @@ Map { namespace facebook { namespace react { + class JSI_EXPORT AliasTurboModuleCxxSpecJSI : public TurboModule { protected: AliasTurboModuleCxxSpecJSI(std::shared_ptr jsInvoker); public: -virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; -virtual void cropImage(jsi::Runtime &rt, const jsi::Object &cropData) = 0; + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void cropImage(jsi::Runtime &rt, const jsi::Object &cropData) = 0; }; @@ -149,15 +153,16 @@ Map { namespace facebook { namespace react { + class JSI_EXPORT NativeCameraRollManagerCxxSpecJSI : public TurboModule { protected: NativeCameraRollManagerCxxSpecJSI(std::shared_ptr jsInvoker); public: -virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; -virtual jsi::Value getPhotos(jsi::Runtime &rt, const jsi::Object ¶ms) = 0; -virtual jsi::Value saveToCameraRoll(jsi::Runtime &rt, const jsi::String &uri, const jsi::String &type) = 0; -virtual jsi::Value deletePhotos(jsi::Runtime &rt, const jsi::Array &assets) = 0; + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual jsi::Value getPhotos(jsi::Runtime &rt, const jsi::Object ¶ms) = 0; + virtual jsi::Value saveToCameraRoll(jsi::Runtime &rt, const jsi::String &uri, const jsi::String &type) = 0; + virtual jsi::Value deletePhotos(jsi::Runtime &rt, const jsi::Array &assets) = 0; }; class JSI_EXPORT NativeImagePickerIOSCxxSpecJSI : public TurboModule { @@ -165,7 +170,7 @@ protected: NativeImagePickerIOSCxxSpecJSI(std::shared_ptr jsInvoker); public: -virtual void openCameraDialog(jsi::Runtime &rt, const jsi::Object &config, const jsi::Function &successCallback, const jsi::Function &cancelCallback) = 0; + virtual void openCameraDialog(jsi::Runtime &rt, const jsi::Object &config, const jsi::Function &successCallback, const jsi::Function &cancelCallback) = 0; }; class JSI_EXPORT NativeExceptionsManagerCxxSpecJSI : public TurboModule { @@ -173,11 +178,11 @@ protected: NativeExceptionsManagerCxxSpecJSI(std::shared_ptr jsInvoker); public: -virtual void reportFatalException(jsi::Runtime &rt, const jsi::String &message, const jsi::Array &stack, double exceptionId) = 0; -virtual void reportSoftException(jsi::Runtime &rt, const jsi::String &message, const jsi::Array &stack, double exceptionId) = 0; -virtual void reportException(jsi::Runtime &rt, const jsi::Object &data) = 0; -virtual void updateExceptionMessage(jsi::Runtime &rt, const jsi::String &message, const jsi::Array &stack, double exceptionId) = 0; -virtual void dismissRedbox(jsi::Runtime &rt) = 0; + virtual void reportFatalException(jsi::Runtime &rt, const jsi::String &message, const jsi::Array &stack, double exceptionId) = 0; + virtual void reportSoftException(jsi::Runtime &rt, const jsi::String &message, const jsi::Array &stack, double exceptionId) = 0; + virtual void reportException(jsi::Runtime &rt, const jsi::Object &data) = 0; + virtual void updateExceptionMessage(jsi::Runtime &rt, const jsi::String &message, const jsi::Array &stack, double exceptionId) = 0; + virtual void dismissRedbox(jsi::Runtime &rt) = 0; }; @@ -204,22 +209,23 @@ Map { namespace facebook { namespace react { + 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, 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 double getRootTag(jsi::Runtime &rt, double 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; + 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 double getRootTag(jsi::Runtime &rt, double 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; }; @@ -246,12 +252,13 @@ Map { namespace facebook { namespace react { + class JSI_EXPORT NativeSampleTurboModuleCxxSpecJSI : public TurboModule { protected: NativeSampleTurboModuleCxxSpecJSI(std::shared_ptr jsInvoker); public: -virtual void voidFunc(jsi::Runtime &rt) = 0; + virtual void voidFunc(jsi::Runtime &rt) = 0; }; class JSI_EXPORT NativeSampleTurboModule2CxxSpecJSI : public TurboModule { @@ -259,8 +266,8 @@ protected: NativeSampleTurboModule2CxxSpecJSI(std::shared_ptr jsInvoker); public: -virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; -virtual void voidFunc(jsi::Runtime &rt) = 0; + virtual jsi::Object getConstants(jsi::Runtime &rt) = 0; + virtual void voidFunc(jsi::Runtime &rt) = 0; };