From 0e46080847595fb7577b18042c932db958bc0959 Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Thu, 5 Nov 2020 17:43:23 -0800 Subject: [PATCH] Clean up EventObjectPropertyType Summary: All ObjectTypeAnnotation *properties* in the codegen have the following shape: ``` { name: string, optional: boolean, typeAnnotation: ... } ``` EventObjectTypeProperty is a property of some ObjectTypeAnnotation, yet it doesn't follow this pattern. This diff cleans up EventObjectPropertyType. This is a part of a larger effort to clean up the Component Schema and unify the notion of a "type annotation" across the Component and Module schemas. Reviewed By: yungsters Differential Revision: D24701027 fbshipit-source-id: edc7dc632a217fb5a82ffd8a62aef990baf398c2 --- .../react-native-codegen/src/CodegenSchema.js | 80 +- .../components/GenerateEventEmitterCpp.js | 27 +- .../components/GenerateEventEmitterH.js | 20 +- .../components/__test_fixtures__/fixtures.js | 110 +- .../component-parser-test.js.snap | 7970 ++++++++++------- .../src/parsers/flow/components/events.js | 38 +- 6 files changed, 4990 insertions(+), 3255 deletions(-) diff --git a/packages/react-native-codegen/src/CodegenSchema.js b/packages/react-native-codegen/src/CodegenSchema.js index 358033306d91f3..3fe73a0ca60b9b 100644 --- a/packages/react-native-codegen/src/CodegenSchema.js +++ b/packages/react-native-codegen/src/CodegenSchema.js @@ -55,46 +55,28 @@ export type StringTypeAnnotation = $ReadOnly<{| type: 'StringTypeAnnotation', |}>; -export type EventObjectPropertyType = - | $ReadOnly<{| - type: 'BooleanTypeAnnotation', - name: string, - optional: boolean, - |}> - | $ReadOnly<{| - type: 'StringTypeAnnotation', - name: string, - optional: boolean, - |}> - | $ReadOnly<{| - type: 'DoubleTypeAnnotation', - name: string, - optional: boolean, - |}> - | $ReadOnly<{| - type: 'FloatTypeAnnotation', - name: string, - optional: boolean, - |}> - | $ReadOnly<{| - type: 'Int32TypeAnnotation', - name: string, - optional: boolean, - |}> - | $ReadOnly<{| - type: 'StringEnumTypeAnnotation', - name: string, - optional: boolean, - options: $ReadOnlyArray<{| - name: string, +export type StringEnumTypeAnnotation = $ReadOnly<{| + type: 'StringEnumTypeAnnotation', + options: $ReadOnlyArray<{| + name: string, + |}>, +|}>; + +export type EventObjectPropertyType = $ReadOnly<{| + name: string, + optional: boolean, + typeAnnotation: + | BooleanTypeAnnotation + | StringTypeAnnotation + | DoubleTypeAnnotation + | FloatTypeAnnotation + | Int32TypeAnnotation + | StringEnumTypeAnnotation + | $ReadOnly<{| + type: 'ObjectTypeAnnotation', + properties: $ReadOnlyArray, |}>, - |}> - | $ReadOnly<{| - type: 'ObjectTypeAnnotation', - name: string, - optional: boolean, - properties: $ReadOnlyArray, - |}>; +|}>; type PropTypeTypeAnnotation = | $ReadOnly<{| @@ -146,21 +128,11 @@ type PropTypeTypeAnnotation = | $ReadOnly<{| type: 'ArrayTypeAnnotation', elementType: - | $ReadOnly<{| - type: 'BooleanTypeAnnotation', - |}> - | $ReadOnly<{| - type: 'StringTypeAnnotation', - |}> - | $ReadOnly<{| - type: 'DoubleTypeAnnotation', - |}> - | $ReadOnly<{| - type: 'FloatTypeAnnotation', - |}> - | $ReadOnly<{| - type: 'Int32TypeAnnotation', - |}> + | BooleanTypeAnnotation + | StringTypeAnnotation + | DoubleTypeAnnotation + | FloatTypeAnnotation + | Int32TypeAnnotation | $ReadOnly<{| type: 'StringEnumTypeAnnotation', default: string, diff --git a/packages/react-native-codegen/src/generators/components/GenerateEventEmitterCpp.js b/packages/react-native-codegen/src/generators/components/GenerateEventEmitterCpp.js index f1e20d59070e06..cde931ae98d9c8 100644 --- a/packages/react-native-codegen/src/generators/components/GenerateEventEmitterCpp.js +++ b/packages/react-native-codegen/src/generators/components/GenerateEventEmitterCpp.js @@ -86,11 +86,32 @@ function generateSetters( ): string { const propSetters = properties .map(eventProperty => { - switch (eventProperty.type) { + const {typeAnnotation} = eventProperty; + switch (typeAnnotation.type) { case 'BooleanTypeAnnotation': + return generateSetter( + parentPropertyName, + eventProperty.name, + propertyParts, + ); case 'StringTypeAnnotation': + return generateSetter( + parentPropertyName, + eventProperty.name, + propertyParts, + ); case 'Int32TypeAnnotation': + return generateSetter( + parentPropertyName, + eventProperty.name, + propertyParts, + ); case 'DoubleTypeAnnotation': + return generateSetter( + parentPropertyName, + eventProperty.name, + propertyParts, + ); case 'FloatTypeAnnotation': return generateSetter( parentPropertyName, @@ -110,7 +131,7 @@ function generateSetters( auto ${propertyName} = jsi::Object(runtime); ${generateSetters( propertyName, - eventProperty.properties, + typeAnnotation.properties, propertyParts.concat([propertyName]), )} @@ -118,7 +139,7 @@ function generateSetters( } `.trim(); default: - (eventProperty: empty); + (typeAnnotation.type: empty); throw new Error('Received invalid event property type'); } }) diff --git a/packages/react-native-codegen/src/generators/components/GenerateEventEmitterH.js b/packages/react-native-codegen/src/generators/components/GenerateEventEmitterH.js index b9d6c3204c0e10..0415b7af9b446d 100644 --- a/packages/react-native-codegen/src/generators/components/GenerateEventEmitterH.js +++ b/packages/react-native-codegen/src/generators/components/GenerateEventEmitterH.js @@ -102,7 +102,7 @@ function getNativeTypeFromAnnotation( eventProperty: EventObjectPropertyType, nameParts: $ReadOnlyArray, ): string { - const type = eventProperty.type; + const {type} = eventProperty.typeAnnotation; switch (type) { case 'BooleanTypeAnnotation': @@ -163,13 +163,17 @@ function generateStruct( }) .join('\n' + ' '); - properties.forEach((property: EventObjectPropertyType) => { - const name = property.name; - switch (property.type) { + properties.forEach(property => { + const {name, typeAnnotation} = property; + switch (typeAnnotation.type) { case 'BooleanTypeAnnotation': + return; case 'StringTypeAnnotation': + return; case 'Int32TypeAnnotation': + return; case 'DoubleTypeAnnotation': + return; case 'FloatTypeAnnotation': return; case 'ObjectTypeAnnotation': @@ -177,16 +181,16 @@ function generateStruct( structs, componentName, nameParts.concat([name]), - nullthrows(property.properties), + nullthrows(typeAnnotation.properties), ); return; case 'StringEnumTypeAnnotation': - generateEnum(structs, property.options, nameParts.concat([name])); + generateEnum(structs, typeAnnotation.options, nameParts.concat([name])); return; default: - (property: empty); + (typeAnnotation.type: empty); throw new Error( - `Received invalid event property type ${property.type}`, + `Received invalid event property type ${typeAnnotation.type}`, ); } }); diff --git a/packages/react-native-codegen/src/generators/components/__test_fixtures__/fixtures.js b/packages/react-native-codegen/src/generators/components/__test_fixtures__/fixtures.js index 233254e8011281..02cae025420f35 100644 --- a/packages/react-native-codegen/src/generators/components/__test_fixtures__/fixtures.js +++ b/packages/react-native-codegen/src/generators/components/__test_fixtures__/fixtures.js @@ -58,9 +58,11 @@ const INTERFACE_ONLY: SchemaType = { type: 'ObjectTypeAnnotation', properties: [ { - type: 'BooleanTypeAnnotation', name: 'value', optional: false, + typeAnnotation: { + type: 'BooleanTypeAnnotation', + }, }, ], }, @@ -110,9 +112,11 @@ const EVENTS_WITH_PAPER_NAME: SchemaType = { type: 'ObjectTypeAnnotation', properties: [ { - type: 'BooleanTypeAnnotation', name: 'value', optional: false, + typeAnnotation: { + type: 'BooleanTypeAnnotation', + }, }, ], }, @@ -129,9 +133,11 @@ const EVENTS_WITH_PAPER_NAME: SchemaType = { type: 'ObjectTypeAnnotation', properties: [ { - type: 'BooleanTypeAnnotation', name: 'value', optional: false, + typeAnnotation: { + type: 'BooleanTypeAnnotation', + }, }, ], }, @@ -1134,24 +1140,32 @@ const EVENT_PROPS: SchemaType = { type: 'ObjectTypeAnnotation', properties: [ { - type: 'BooleanTypeAnnotation', name: 'value', optional: false, + typeAnnotation: { + type: 'BooleanTypeAnnotation', + }, }, { - type: 'StringTypeAnnotation', name: 'source', optional: true, + typeAnnotation: { + type: 'StringTypeAnnotation', + }, }, { - type: 'Int32TypeAnnotation', name: 'progress', optional: true, + typeAnnotation: { + type: 'Int32TypeAnnotation', + }, }, { - type: 'FloatTypeAnnotation', name: 'scale', optional: true, + typeAnnotation: { + type: 'FloatTypeAnnotation', + }, }, ], }, @@ -1167,9 +1181,11 @@ const EVENT_PROPS: SchemaType = { type: 'ObjectTypeAnnotation', properties: [ { - type: 'BooleanTypeAnnotation', name: 'value', optional: false, + typeAnnotation: { + type: 'BooleanTypeAnnotation', + }, }, ], }, @@ -1185,17 +1201,19 @@ const EVENT_PROPS: SchemaType = { type: 'ObjectTypeAnnotation', properties: [ { - type: 'StringEnumTypeAnnotation', name: 'orientation', optional: false, - options: [ - { - name: 'landscape', - }, - { - name: 'portrait', - }, - ], + typeAnnotation: { + type: 'StringEnumTypeAnnotation', + options: [ + { + name: 'landscape', + }, + { + name: 'portrait', + }, + ], + }, }, ], }, @@ -1250,33 +1268,43 @@ const EVENT_NESTED_OBJECT_PROPS: SchemaType = { type: 'ObjectTypeAnnotation', properties: [ { - type: 'ObjectTypeAnnotation', name: 'location', optional: false, - properties: [ - { - type: 'ObjectTypeAnnotation', - name: 'source', - optional: false, - properties: [ - { - type: 'StringTypeAnnotation', - name: 'url', - optional: false, + typeAnnotation: { + type: 'ObjectTypeAnnotation', + properties: [ + { + name: 'source', + optional: false, + typeAnnotation: { + type: 'ObjectTypeAnnotation', + properties: [ + { + name: 'url', + optional: false, + typeAnnotation: { + type: 'StringTypeAnnotation', + }, + }, + ], }, - ], - }, - { - type: 'Int32TypeAnnotation', - name: 'x', - optional: false, - }, - { - type: 'Int32TypeAnnotation', - name: 'y', - optional: false, - }, - ], + }, + { + name: 'x', + optional: false, + typeAnnotation: { + type: 'Int32TypeAnnotation', + }, + }, + { + name: 'y', + optional: false, + typeAnnotation: { + type: 'Int32TypeAnnotation', + }, + }, + ], + }, }, ], }, diff --git a/packages/react-native-codegen/src/parsers/flow/components/__tests__/__snapshots__/component-parser-test.js.snap b/packages/react-native-codegen/src/parsers/flow/components/__tests__/__snapshots__/component-parser-test.js.snap index b66ee965af504b..51bcdca03c4942 100644 --- a/packages/react-native-codegen/src/parsers/flow/components/__tests__/__snapshots__/component-parser-test.js.snap +++ b/packages/react-native-codegen/src/parsers/flow/components/__tests__/__snapshots__/component-parser-test.js.snap @@ -1300,291 +1300,385 @@ exports[`RN Codegen Flow Parser can generate fixture COMMANDS_AND_EVENTS_TYPES_E 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -1601,291 +1695,385 @@ exports[`RN Codegen Flow Parser can generate fixture COMMANDS_AND_EVENTS_TYPES_E 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -1901,291 +2089,385 @@ exports[`RN Codegen Flow Parser can generate fixture COMMANDS_AND_EVENTS_TYPES_E 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -2202,291 +2484,385 @@ exports[`RN Codegen Flow Parser can generate fixture COMMANDS_AND_EVENTS_TYPES_E 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -2833,291 +3209,385 @@ exports[`RN Codegen Flow Parser can generate fixture EVENTS_DEFINED_INLINE_WITH_ 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -3133,291 +3603,385 @@ exports[`RN Codegen Flow Parser can generate fixture EVENTS_DEFINED_INLINE_WITH_ 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -3433,291 +3997,385 @@ exports[`RN Codegen Flow Parser can generate fixture EVENTS_DEFINED_INLINE_WITH_ 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -3733,291 +4391,385 @@ exports[`RN Codegen Flow Parser can generate fixture EVENTS_DEFINED_INLINE_WITH_ 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -4034,291 +4786,385 @@ exports[`RN Codegen Flow Parser can generate fixture EVENTS_DEFINED_INLINE_WITH_ 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -4334,291 +5180,385 @@ exports[`RN Codegen Flow Parser can generate fixture EVENTS_DEFINED_INLINE_WITH_ 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -4634,291 +5574,385 @@ exports[`RN Codegen Flow Parser can generate fixture EVENTS_DEFINED_INLINE_WITH_ 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -4934,291 +5968,385 @@ exports[`RN Codegen Flow Parser can generate fixture EVENTS_DEFINED_INLINE_WITH_ 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -5234,291 +6362,385 @@ exports[`RN Codegen Flow Parser can generate fixture EVENTS_DEFINED_INLINE_WITH_ 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_readonly_optional_key', - 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'name': 'object_readonly_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -5535,291 +6757,385 @@ exports[`RN Codegen Flow Parser can generate fixture EVENTS_DEFINED_INLINE_WITH_ 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -6787,291 +8103,385 @@ exports[`RN Codegen Flow Parser can generate fixture PROPS_AND_EVENTS_TYPES_EXPO 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_readonly_optional_value', - 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + { + 'name': 'object_readonly_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -7088,291 +8498,385 @@ exports[`RN Codegen Flow Parser can generate fixture PROPS_AND_EVENTS_TYPES_EXPO 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -7388,291 +8892,385 @@ exports[`RN Codegen Flow Parser can generate fixture PROPS_AND_EVENTS_TYPES_EXPO 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_readonly_optional_both', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'name': 'object_readonly_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } @@ -7689,291 +9287,385 @@ exports[`RN Codegen Flow Parser can generate fixture PROPS_AND_EVENTS_TYPES_EXPO 'type': 'ObjectTypeAnnotation', 'properties': [ { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'BooleanTypeAnnotation', 'name': 'boolean_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'StringTypeAnnotation', 'name': 'string_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'DoubleTypeAnnotation', 'name': 'double_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'FloatTypeAnnotation', 'name': 'float_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_required', - 'optional': false + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_key', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_value', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'Int32TypeAnnotation', 'name': 'int32_optional_both', - 'optional': true + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_required', 'optional': false, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_key', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_value', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'StringEnumTypeAnnotation', 'name': 'enum_optional_both', 'optional': true, - 'options': [ - { - 'name': 'small' - }, - { - 'name': 'large' - } - ] + 'typeAnnotation': { + 'type': 'StringEnumTypeAnnotation', + 'options': [ + { + 'name': 'small' + }, + { + 'name': 'large' + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_required_nested_2_layers', 'optional': false, - 'properties': [ - { - 'type': 'ObjectTypeAnnotation', - 'name': 'object_optional_nested_1_layer', - 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'boolean_required', - 'optional': false - }, - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - }, - { - 'type': 'DoubleTypeAnnotation', - 'name': 'double_optional_value', - 'optional': true - }, - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - }, - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'object_optional_nested_1_layer', + 'optional': true, + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + }, + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + }, + { + 'name': 'double_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'DoubleTypeAnnotation' + } + }, + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + }, + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] } - ] - } - ] + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_required', 'optional': false, - 'properties': [ - { - 'type': 'BooleanTypeAnnotation', - 'name': 'boolean_required', - 'optional': false - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'boolean_required', + 'optional': false, + 'typeAnnotation': { + 'type': 'BooleanTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_key', 'optional': true, - 'properties': [ - { - 'type': 'StringTypeAnnotation', - 'name': 'string_optional_key', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'string_optional_key', + 'optional': true, + 'typeAnnotation': { + 'type': 'StringTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_value', 'optional': true, - 'properties': [ - { - 'type': 'FloatTypeAnnotation', - 'name': 'float_optional_value', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'float_optional_value', + 'optional': true, + 'typeAnnotation': { + 'type': 'FloatTypeAnnotation' + } + } + ] + } }, { - 'type': 'ObjectTypeAnnotation', 'name': 'object_readonly_optional_both', 'optional': true, - 'properties': [ - { - 'type': 'Int32TypeAnnotation', - 'name': 'int32_optional_both', - 'optional': true - } - ] + 'typeAnnotation': { + 'type': 'ObjectTypeAnnotation', + 'properties': [ + { + 'name': 'int32_optional_both', + 'optional': true, + 'typeAnnotation': { + 'type': 'Int32TypeAnnotation' + } + } + ] + } } ] } diff --git a/packages/react-native-codegen/src/parsers/flow/components/events.js b/packages/react-native-codegen/src/parsers/flow/components/events.js index 81295411a08c06..6f6105bbfd006c 100644 --- a/packages/react-native-codegen/src/parsers/flow/components/events.js +++ b/packages/react-native-codegen/src/parsers/flow/components/events.js @@ -15,7 +15,11 @@ import type { EventObjectPropertyType, } from '../../../CodegenSchema.js'; -function getPropertyType(name, optional, typeAnnotation) { +function getPropertyType( + name, + optional, + typeAnnotation, +): EventObjectPropertyType { const type = typeAnnotation.type === 'GenericTypeAnnotation' ? typeAnnotation.id.name @@ -24,33 +28,43 @@ function getPropertyType(name, optional, typeAnnotation) { switch (type) { case 'BooleanTypeAnnotation': return { - type: 'BooleanTypeAnnotation', name, optional, + typeAnnotation: { + type: 'BooleanTypeAnnotation', + }, }; case 'StringTypeAnnotation': return { - type: 'StringTypeAnnotation', name, optional, + typeAnnotation: { + type: 'StringTypeAnnotation', + }, }; case 'Int32': return { - type: 'Int32TypeAnnotation', name, optional, + typeAnnotation: { + type: 'Int32TypeAnnotation', + }, }; case 'Double': return { - type: 'DoubleTypeAnnotation', name, optional, + typeAnnotation: { + type: 'DoubleTypeAnnotation', + }, }; case 'Float': return { - type: 'FloatTypeAnnotation', name, optional, + typeAnnotation: { + type: 'FloatTypeAnnotation', + }, }; case '$ReadOnly': return getPropertyType( @@ -60,17 +74,21 @@ function getPropertyType(name, optional, typeAnnotation) { ); case 'ObjectTypeAnnotation': return { - type: 'ObjectTypeAnnotation', name, optional, - properties: typeAnnotation.properties.map(buildPropertiesForEvent), + typeAnnotation: { + type: 'ObjectTypeAnnotation', + properties: typeAnnotation.properties.map(buildPropertiesForEvent), + }, }; case 'UnionTypeAnnotation': return { - type: 'StringEnumTypeAnnotation', name, optional, - options: typeAnnotation.types.map(option => ({name: option.value})), + typeAnnotation: { + type: 'StringEnumTypeAnnotation', + options: typeAnnotation.types.map(option => ({name: option.value})), + }, }; default: (type: empty);