mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Use hasteModuleName for C++ Turbo Module enums (#44631)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/44631 Changelog: [General][Breaking] Use hasteModuleName for C++ Turbo Module enums This is a follow up to https://github.com/facebook/react-native/pull/44630 This changes the names of C++ Turbo Modules enums to use the `hasteModuleName`. Example: `NativeMyAbcModule.js` with this spec: ``` export enum EnumNone { NA, NB, } export interface Spec extends TurboModule { +getStrEnum: (arg: EnumNone) => EnumStr;t } export default (TurboModuleRegistry.get<Spec>('MyAbcModuleCxx'): ?Spec); ``` Before now we generated a base C++ struct with the name: ``` MyAbcModuleCxxEnumNone ^^^ ``` Now the generate name is: ``` NativeMyAbcModuleEnumNone ^^^^^^ ``` ## Changes: - No `Cxx` injected anymore - Ensure base struct is `Native` prefixed (all RN JS TM specs start with it) Reviewed By: cipolleschi Differential Revision: D57602082 fbshipit-source-id: 9ebd68b8059dfbc6e2ec11065915cf049aa3cb0b
This commit is contained in:
committed by
Facebook GitHub Bot
parent
b98c5b960c
commit
b7fc5867f2
@@ -390,12 +390,12 @@ struct Bridging<${enumName}> {
|
||||
};
|
||||
|
||||
function generateEnum(
|
||||
moduleName: string,
|
||||
hasteModuleName: string,
|
||||
origEnumName: string,
|
||||
members: NativeModuleEnumMembers,
|
||||
memberType: NativeModuleEnumMemberType,
|
||||
): string {
|
||||
const enumName = getEnumName(moduleName, origEnumName);
|
||||
const enumName = getEnumName(hasteModuleName, origEnumName);
|
||||
|
||||
const nativeEnumMemberType: NativeEnumMemberValueType =
|
||||
memberType === 'StringTypeAnnotation' ? 'std::string' : 'int32_t';
|
||||
@@ -437,14 +437,14 @@ function generateEnum(
|
||||
}
|
||||
|
||||
function createEnums(
|
||||
moduleName: string,
|
||||
hasteModuleName: string,
|
||||
enumMap: NativeModuleEnumMap,
|
||||
resolveAlias: AliasResolver,
|
||||
): string {
|
||||
return Object.entries(enumMap)
|
||||
.map(([enumName, enumNode]) => {
|
||||
return generateEnum(
|
||||
moduleName,
|
||||
hasteModuleName,
|
||||
enumName,
|
||||
enumNode.members,
|
||||
enumNode.memberType,
|
||||
@@ -455,7 +455,7 @@ function createEnums(
|
||||
}
|
||||
|
||||
function translatePropertyToCpp(
|
||||
moduleName: string,
|
||||
hasteModuleName: string,
|
||||
prop: NativeModulePropertyShape,
|
||||
resolveAlias: AliasResolver,
|
||||
enumMap: NativeModuleEnumMap,
|
||||
@@ -470,7 +470,7 @@ function translatePropertyToCpp(
|
||||
|
||||
const paramTypes = propTypeAnnotation.params.map(param => {
|
||||
const translatedParam = translatePrimitiveJSTypeToCpp(
|
||||
moduleName,
|
||||
hasteModuleName,
|
||||
null,
|
||||
param.typeAnnotation,
|
||||
param.optional,
|
||||
@@ -483,7 +483,7 @@ function translatePropertyToCpp(
|
||||
});
|
||||
|
||||
const returnType = translatePrimitiveJSTypeToCpp(
|
||||
moduleName,
|
||||
hasteModuleName,
|
||||
null,
|
||||
propTypeAnnotation.returnTypeAnnotation,
|
||||
false,
|
||||
@@ -535,14 +535,14 @@ module.exports = {
|
||||
resolveAlias,
|
||||
enumMap,
|
||||
);
|
||||
const enums = createEnums(moduleName, enumMap, resolveAlias);
|
||||
const enums = createEnums(hasteModuleName, enumMap, resolveAlias);
|
||||
|
||||
return [
|
||||
ModuleClassDeclarationTemplate({
|
||||
hasteModuleName,
|
||||
moduleProperties: properties.map(prop =>
|
||||
translatePropertyToCpp(
|
||||
moduleName,
|
||||
hasteModuleName,
|
||||
prop,
|
||||
resolveAlias,
|
||||
enumMap,
|
||||
@@ -556,7 +556,12 @@ module.exports = {
|
||||
hasteModuleName,
|
||||
moduleName,
|
||||
moduleProperties: properties.map(prop =>
|
||||
translatePropertyToCpp(moduleName, prop, resolveAlias, enumMap),
|
||||
translatePropertyToCpp(
|
||||
hasteModuleName,
|
||||
prop,
|
||||
resolveAlias,
|
||||
enumMap,
|
||||
),
|
||||
),
|
||||
}),
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user