mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
react-native-code-gen Add Enum Type support for iOS/Android TurboModules
Summary: Adding enum support to Android/iOS generated code Changelog: [General][Added] - react-native-code-gen Add Enum Type support for iOS/Android TurboModules Reviewed By: javache Differential Revision: D38967241 fbshipit-source-id: d8bb3019dab198e16905a6422e877cd751119122
This commit is contained in:
committed by
Facebook GitHub Bot
parent
e9b89b5ff2
commit
745f3ee8c5
+27
@@ -138,6 +138,15 @@ function translateFunctionParamToJavaType(
|
||||
return !isRequired ? 'Double' : 'double';
|
||||
case 'BooleanTypeAnnotation':
|
||||
return !isRequired ? 'Boolean' : 'boolean';
|
||||
case 'EnumDeclaration':
|
||||
switch (realTypeAnnotation.memberType) {
|
||||
case 'NumberTypeAnnotation':
|
||||
return !isRequired ? 'Double' : 'double';
|
||||
case 'StringTypeAnnotation':
|
||||
return wrapIntoNullableIfNeeded('String');
|
||||
default:
|
||||
throw new Error(createErrorMessage(realTypeAnnotation.type));
|
||||
}
|
||||
case 'ObjectTypeAnnotation':
|
||||
imports.add('com.facebook.react.bridge.ReadableMap');
|
||||
if (typeAnnotation.type === 'TypeAliasTypeAnnotation') {
|
||||
@@ -213,6 +222,15 @@ function translateFunctionReturnTypeToJavaType(
|
||||
return nullable ? 'Double' : 'double';
|
||||
case 'BooleanTypeAnnotation':
|
||||
return nullable ? 'Boolean' : 'boolean';
|
||||
case 'EnumDeclaration':
|
||||
switch (realTypeAnnotation.memberType) {
|
||||
case 'NumberTypeAnnotation':
|
||||
return nullable ? 'Double' : 'double';
|
||||
case 'StringTypeAnnotation':
|
||||
return wrapIntoNullableIfNeeded('String');
|
||||
default:
|
||||
throw new Error(createErrorMessage(realTypeAnnotation.type));
|
||||
}
|
||||
case 'ObjectTypeAnnotation':
|
||||
imports.add('com.facebook.react.bridge.WritableMap');
|
||||
return wrapIntoNullableIfNeeded('WritableMap');
|
||||
@@ -269,6 +287,15 @@ function getFalsyReturnStatementFromReturnType(
|
||||
return nullable ? 'return null;' : 'return 0;';
|
||||
case 'BooleanTypeAnnotation':
|
||||
return nullable ? 'return null;' : 'return false;';
|
||||
case 'EnumDeclaration':
|
||||
switch (realTypeAnnotation.memberType) {
|
||||
case 'NumberTypeAnnotation':
|
||||
return nullable ? 'return null;' : 'return 0;';
|
||||
case 'StringTypeAnnotation':
|
||||
return nullable ? 'return null;' : 'return "";';
|
||||
default:
|
||||
throw new Error(createErrorMessage(realTypeAnnotation.type));
|
||||
}
|
||||
case 'StringTypeAnnotation':
|
||||
return nullable ? 'return null;' : 'return "";';
|
||||
case 'ObjectTypeAnnotation':
|
||||
|
||||
Reference in New Issue
Block a user