diff --git a/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/error_handling_fragment.expected b/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/error_handling_fragment.expected index cfd5644610b28..0b4e5e1c89fd5 100644 --- a/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/error_handling_fragment.expected +++ b/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/error_handling_fragment.expected @@ -17,7 +17,7 @@ type User { name: String } ==================================== OUTPUT =================================== //- __generated__/foo.graphql.js /** - * SignedSource<> + * SignedSource<<70a7a244e5796d4e6e9f2fbcd76c50f0>> * @flow * @lightSyntaxTransform * @nogrep @@ -32,7 +32,7 @@ import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { FragmentType } from "relay-runtime"; declare export opaque type foo$fragmentType: FragmentType; export type foo$data = {| - +name: ?string, + +name: string | null, +$fragmentType: foo$fragmentType, |}; export type foo$key = { diff --git a/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/error_handling_query.expected b/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/error_handling_query.expected index 8f76bcfe6859a..4c6cf2ecda5cc 100644 --- a/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/error_handling_query.expected +++ b/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/error_handling_query.expected @@ -19,7 +19,7 @@ type User { name: String } ==================================== OUTPUT =================================== //- __generated__/fooQuery.graphql.js /** - * SignedSource<<9b5cf0134e02913bc0d65df99f7ff0c3>> + * SignedSource<<2850659094fb71d3762177cc38cd028d>> * @flow * @lightSyntaxTransform * @nogrep @@ -33,9 +33,9 @@ type User { name: String } import type { ConcreteRequest, Query } from 'relay-runtime'; export type fooQuery$variables = {||}; export type fooQuery$data = {| - +me: ?{| - +name: ?string, - |}, + +me: {| + +name: string | null, + |} | null, |}; export type fooQuery = {| response: fooQuery$data, diff --git a/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/relay_resolvers_in_throw_on_field_error.expected b/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/relay_resolvers_in_throw_on_field_error.expected index da2284f8150d6..2b74aa42b7cb9 100644 --- a/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/relay_resolvers_in_throw_on_field_error.expected +++ b/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/relay_resolvers_in_throw_on_field_error.expected @@ -164,7 +164,7 @@ export default ((node/*: any*/)/*: Fragment< //- __generated__/fooQuery.graphql.js /** - * SignedSource<<3313eddbfdd22f715c9f61877c3934fc>> + * SignedSource<<993d76639831b1e563cb29101f10f1c9>> * @flow * @lightSyntaxTransform * @nogrep @@ -185,9 +185,9 @@ import {clientUser as queryClientUserResolverType} from "foo"; |}); export type fooQuery$variables = {||}; export type fooQuery$data = {| - +clientUser: ?{| + +clientUser: {| +id: string, - |}, + |} | null, |}; export type fooQuery = {| response: fooQuery$data, diff --git a/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/semantic_null_require_bubbling.expected b/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/semantic_null_require_bubbling.expected index f9a6bfd4ee629..2c829d06726a3 100644 --- a/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/semantic_null_require_bubbling.expected +++ b/compiler/crates/relay-compiler/tests/relay_compiler_integration/fixtures/semantic_null_require_bubbling.expected @@ -24,7 +24,7 @@ type Person { ==================================== OUTPUT =================================== //- __generated__/PersonComponentFragment.graphql.js /** - * SignedSource<> + * SignedSource<<0b312efbb631920c43da94a7f1c6bcff>> * @flow * @lightSyntaxTransform * @nogrep @@ -39,9 +39,9 @@ import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { FragmentType } from "relay-runtime"; declare export opaque type PersonComponentFragment$fragmentType: FragmentType; export type PersonComponentFragment$data = {| - +some_person: ?{| + +some_person: {| +name: string, - |}, + |} | null, +$fragmentType: PersonComponentFragment$fragmentType, |}; export type PersonComponentFragment$key = { diff --git a/compiler/crates/relay-typegen/src/flow.rs b/compiler/crates/relay-typegen/src/flow.rs index 695ec4d4c6aa8..9f2de581daf22 100644 --- a/compiler/crates/relay-typegen/src/flow.rs +++ b/compiler/crates/relay-typegen/src/flow.rs @@ -9,6 +9,7 @@ use std::fmt::Result as FmtResult; use std::fmt::Write; use ::intern::string_key::StringKey; +use intern::intern; use itertools::Itertools; use crate::writer::AST; @@ -48,6 +49,7 @@ impl Writer for FlowPrinter { AST::Union(members) => self.write_union(members), AST::ReadOnlyArray(of_type) => self.write_read_only_array(of_type), AST::Nullable(of_type) => self.write_nullable(of_type), + AST::Optional(of_type) => self.write_optional(of_type), AST::NonNullable(of_type) => self.write_non_nullable(of_type), AST::ExactObject(props) => self.write_object(props, true), AST::InexactObject(props) => self.write_object(props, false), @@ -212,6 +214,20 @@ impl FlowPrinter { } fn write_nullable(&mut self, of_type: &AST) -> FmtResult { + let null_type = AST::RawType(intern!("null")); + if let AST::Union(members) = of_type { + let mut new_members = Vec::with_capacity(members.len() + 1); + new_members.extend_from_slice(members); + new_members.push(null_type); + self.write_union(&new_members)?; + } else { + let members = vec![of_type.clone(), null_type]; + self.write_union(&members)?; + } + Ok(()) + } + + fn write_optional(&mut self, of_type: &AST) -> FmtResult { write!(&mut self.result, "?")?; match of_type { AST::Union(members) if members.len() > 1 => { @@ -386,8 +402,6 @@ impl FlowPrinter { #[cfg(test)] mod tests { - use intern::intern; - use super::*; use crate::writer::ExactObject; use crate::writer::InexactObject; @@ -426,18 +440,33 @@ mod tests { ); } + #[test] + fn optional_type() { + assert_eq!( + print_type(&AST::Optional(Box::new(AST::String))), + "?string".to_string() + ); + + assert_eq!( + print_type(&AST::Optional(Box::new(AST::Union(SortedASTList::new( + vec![AST::String, AST::Number,], + ))))), + "?(string | number)" + ) + } + #[test] fn nullable_type() { assert_eq!( print_type(&AST::Nullable(Box::new(AST::String))), - "?string".to_string() + "string | null".to_string() ); assert_eq!( print_type(&AST::Nullable(Box::new(AST::Union(SortedASTList::new( vec![AST::String, AST::Number,], ))))), - "?(string | number)" + "string | number | null" ) } diff --git a/compiler/crates/relay-typegen/src/type_selection.rs b/compiler/crates/relay-typegen/src/type_selection.rs index b5cb74dcb819b..6433e8118d4fb 100644 --- a/compiler/crates/relay-typegen/src/type_selection.rs +++ b/compiler/crates/relay-typegen/src/type_selection.rs @@ -138,6 +138,7 @@ pub(crate) struct TypeSelectionLinkedField { pub(crate) conditional: bool, pub(crate) concrete_type: Option, pub(crate) is_result_type: bool, + pub(crate) emit_semantic_type: bool, } #[derive(Debug, Clone)] diff --git a/compiler/crates/relay-typegen/src/typescript.rs b/compiler/crates/relay-typegen/src/typescript.rs index 05a2a3c6bb97b..dd4e4abaf68a7 100644 --- a/compiler/crates/relay-typegen/src/typescript.rs +++ b/compiler/crates/relay-typegen/src/typescript.rs @@ -62,6 +62,7 @@ impl Writer for TypeScriptPrinter { AST::Union(members) => self.write_union(members), AST::ReadOnlyArray(of_type) => self.write_read_only_array(of_type), AST::Nullable(of_type) => self.write_nullable(of_type), + AST::Optional(of_type) => self.write_optional(of_type), AST::NonNullable(of_type) => self.write_non_nullable(of_type), AST::ExactObject(object) => self.write_object(object), AST::InexactObject(object) => self.write_object(object), @@ -217,6 +218,20 @@ impl TypeScriptPrinter { } fn write_nullable(&mut self, of_type: &AST) -> FmtResult { + let null_type = AST::RawType(intern!("null")); + if let AST::Union(members) = of_type { + let mut new_members = Vec::with_capacity(members.len() + 1); + new_members.extend_from_slice(members); + new_members.push(null_type); + self.write_union(&new_members)?; + } else { + let union_members = vec![of_type.clone(), null_type]; + self.write_union(&union_members)?; + } + Ok(()) + } + + fn write_optional(&mut self, of_type: &AST) -> FmtResult { let null_type = AST::RawType(intern!("null")); let undefined_type = AST::RawType(intern!("undefined")); if let AST::Union(members) = of_type { @@ -447,18 +462,33 @@ mod tests { ); } + #[test] + fn optional_type() { + assert_eq!( + print_type(&AST::Optional(Box::new(AST::String))), + "string | null | undefined".to_string() + ); + + assert_eq!( + print_type(&AST::Optional(Box::new(AST::Union(SortedASTList::new( + vec![AST::String, AST::Number], + ))))), + "string | number | null | undefined" + ) + } + #[test] fn nullable_type() { assert_eq!( print_type(&AST::Nullable(Box::new(AST::String))), - "string | null | undefined".to_string() + "string | null".to_string() ); assert_eq!( print_type(&AST::Nullable(Box::new(AST::Union(SortedASTList::new( vec![AST::String, AST::Number], ))))), - "string | number | null | undefined" + "string | number | null" ) } diff --git a/compiler/crates/relay-typegen/src/visit.rs b/compiler/crates/relay-typegen/src/visit.rs index bf0978b0b1daa..0efa456ba47d1 100644 --- a/compiler/crates/relay-typegen/src/visit.rs +++ b/compiler/crates/relay-typegen/src/visit.rs @@ -401,7 +401,8 @@ fn generate_resolver_type( ResolverOutputTypeInfo::Legacy => AST::Mixed, }; - let ast = transform_type_reference_into_ast(&schema_field_type, |_| inner_ast); + let can_be_missing = true; + let ast = transform_type_reference_into_ast(&schema_field_type, |_| inner_ast, can_be_missing); let return_type = if resolver_metadata.live { runtime_imports.resolver_live_state_type = true; @@ -727,9 +728,12 @@ fn relay_resolver_field_type( true => field.semantic_type(), false => field.type_.clone(), }; - let inner_value = transform_type_reference_into_ast(&type_, |type_| { - expect_scalar_type(typegen_context, encountered_enums, custom_scalars, type_) - }); + let can_be_missing = !emit_semantic_types; + let inner_value = transform_type_reference_into_ast( + &type_, + |type_| expect_scalar_type(typegen_context, encountered_enums, custom_scalars, type_), + can_be_missing, + ); if required { if type_.is_non_null() { inner_value @@ -756,7 +760,7 @@ fn relay_resolver_field_type( if required || field_type.is_non_null() { AST::NonNullable(Box::new(inner_value)) } else { - AST::Nullable(Box::new(inner_value)) + AST::Optional(Box::new(inner_value)) } } } @@ -908,7 +912,7 @@ fn visit_inline_fragment( type_selections.push(TypeSelection::ScalarField(TypeSelectionScalarField { field_name_or_alias: *FRAGMENT_PROP_NAME, special_field: None, - value: AST::Nullable(Box::new(AST::String)), + value: AST::Optional(Box::new(AST::String)), conditional: false, concrete_type: None, is_result_type: false, @@ -916,7 +920,7 @@ fn visit_inline_fragment( type_selections.push(TypeSelection::ScalarField(TypeSelectionScalarField { field_name_or_alias: *MODULE_COMPONENT, special_field: None, - value: AST::Nullable(Box::new(AST::String)), + value: AST::Optional(Box::new(AST::String)), conditional: false, concrete_type: None, is_result_type: false, @@ -1011,6 +1015,7 @@ fn visit_inline_fragment( conditional: coerce_to_nullable, concrete_type: None, is_result_type, + emit_semantic_type: emit_semantic_types || is_result_type, })] } else { // If the inline fragment is on an abstract type, its selections must be @@ -1090,7 +1095,7 @@ fn visit_actor_change( schema_name, &typegen_context.project_config.schema_config, ), - value: AST::Nullable(Box::new(AST::ActorChangePoint(Box::new( + value: AST::Optional(Box::new(AST::ActorChangePoint(Box::new( selections_to_babel( typegen_context, &field.type_.inner(), @@ -1217,6 +1222,7 @@ fn gen_visit_linked_field( conditional: false, concrete_type: None, is_result_type, + emit_semantic_type: emit_semantic_types || is_result_type, })); } @@ -1277,14 +1283,17 @@ fn visit_scalar_field( )), conditional: false, concrete_type: None, - is_result_type: is_result_type_directive(&scalar_field.directives), + is_result_type, })); } } - let ast = transform_type_reference_into_ast(&field_type, |type_| { - expect_scalar_type(typegen_context, encountered_enums, custom_scalars, type_) - }); + let can_be_missing = !emit_semantic_types && !is_result_type; + let ast = transform_type_reference_into_ast( + &field_type, + |type_| expect_scalar_type(typegen_context, encountered_enums, custom_scalars, type_), + can_be_missing, + ); type_selections.push(TypeSelection::ScalarField(TypeSelectionScalarField { field_name_or_alias: key, @@ -1394,7 +1403,7 @@ pub(crate) fn get_data_type( custom_error_import, ); if emit_optional_type { - data_type = AST::Nullable(Box::new(data_type)) + data_type = AST::Optional(Box::new(data_type)) } if emit_plural_type { data_type = AST::ReadOnlyArray(Box::new(data_type)) @@ -1903,9 +1912,10 @@ fn make_prop( runtime_imports, custom_error_import, ); - - let getter_return_value = - transform_type_reference_into_ast(&linked_field.node_type, |type_| { + let can_be_missing = true; + let getter_return_value = transform_type_reference_into_ast( + &linked_field.node_type, + |type_| { return_ast_in_object_case( typegen_context, encountered_enums, @@ -1913,7 +1923,9 @@ fn make_prop( getter_object_props, type_, ) - }); + }, + can_be_missing, + ); let setter_parameter = if just_fragments.is_empty() { if linked_field.node_type.is_list() { @@ -1973,7 +1985,7 @@ fn make_prop( if linked_field.node_type.is_list() { AST::ReadOnlyArray(Box::new(setter_parameter)) } else { - AST::Nullable(Box::new(setter_parameter)) + AST::Optional(Box::new(setter_parameter)) } }; @@ -1995,8 +2007,10 @@ fn make_prop( runtime_imports, custom_error_import, ); - let mut value = - transform_type_reference_into_ast(&linked_field.node_type, |type_| { + let can_be_missing = !linked_field.emit_semantic_type; + let mut value = transform_type_reference_into_ast( + &linked_field.node_type, + |type_| { return_ast_in_object_case( typegen_context, encountered_enums, @@ -2004,7 +2018,9 @@ fn make_prop( object_props, type_, ) - }); + }, + can_be_missing, + ); if linked_field.is_result_type { value = make_result_type(typegen_context, value); @@ -2110,17 +2126,22 @@ fn raw_response_make_prop( runtime_imports, custom_scalars, ); + let can_be_missing = true; Prop::KeyValuePair(KeyValuePairProp { key: linked_field.field_name_or_alias, - value: transform_type_reference_into_ast(&node_type, |type_| { - return_ast_in_object_case( - typegen_context, - encountered_enums, - custom_scalars, - object_props, - type_, - ) - }), + value: transform_type_reference_into_ast( + &node_type, + |type_| { + return_ast_in_object_case( + typegen_context, + encountered_enums, + custom_scalars, + object_props, + type_, + ) + }, + can_be_missing, + ), read_only: true, optional, }) @@ -2164,25 +2185,40 @@ fn raw_response_make_prop( fn transform_type_reference_into_ast( type_reference: &TypeReference, transform_inner_type: impl FnOnce(&Type) -> AST, + can_be_missing: bool, ) -> AST { match type_reference { - TypeReference::NonNull(non_null_ref) => { - transform_non_nullable_type_reference_into_ast(non_null_ref, transform_inner_type) - } - _ => AST::Nullable(Box::new(transform_non_nullable_type_reference_into_ast( - type_reference, + TypeReference::NonNull(non_null_ref) => transform_non_nullable_type_reference_into_ast( + non_null_ref, transform_inner_type, - ))), + can_be_missing, + ), + _ => { + if can_be_missing { + AST::Optional(Box::new(transform_non_nullable_type_reference_into_ast( + type_reference, + transform_inner_type, + can_be_missing, + ))) + } else { + AST::Nullable(Box::new(transform_non_nullable_type_reference_into_ast( + type_reference, + transform_inner_type, + can_be_missing, + ))) + } + } } } fn transform_non_nullable_type_reference_into_ast( type_reference: &TypeReference, transform_inner_type: impl FnOnce(&Type) -> AST, + can_be_missing: bool, ) -> AST { match type_reference { TypeReference::List(of_type) => AST::ReadOnlyArray(Box::new( - transform_type_reference_into_ast(of_type, transform_inner_type), + transform_type_reference_into_ast(of_type, transform_inner_type, can_be_missing), )), TypeReference::Named(named_type) => transform_inner_type(named_type), TypeReference::NonNull(_) => panic!("unexpected NonNull"), @@ -2482,7 +2518,7 @@ pub(crate) fn transform_input_type( encountered_enums, custom_scalars, ), - _ => AST::Nullable(Box::new(transform_non_nullable_input_type( + _ => AST::Optional(Box::new(transform_non_nullable_input_type( typegen_context, type_ref, input_object_types, diff --git a/compiler/crates/relay-typegen/src/writer.rs b/compiler/crates/relay-typegen/src/writer.rs index 90ae1efd64bb8..37a8ad7175b1b 100644 --- a/compiler/crates/relay-typegen/src/writer.rs +++ b/compiler/crates/relay-typegen/src/writer.rs @@ -28,7 +28,10 @@ use crate::typescript::TypeScriptPrinter; pub enum AST { Union(SortedASTList), ReadOnlyArray(Box), + // Value can be null Nullable(Box), + // Value can be null or undefined + Optional(Box), NonNullable(Box), Identifier(StringKey), /// Printed as is, should be valid Flow code. diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested-custom-error-type.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested-custom-error-type.expected index db7b0e94c00d7..163e57caa12a8 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested-custom-error-type.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested-custom-error-type.expected @@ -13,7 +13,7 @@ import type { AComedyOfErrors } from "/all/the/worlds/a/stage"; export type FooQuery$variables = {||}; export type FooQuery$data = {| +me: ?{| - +firstName: Result, + +firstName: Result, +lastName: ?string, |}, |}; diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested-linked.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested-linked.expected index 979ba0566adb4..343067dfa72c6 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested-linked.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested-linked.expected @@ -9,10 +9,10 @@ query FooQuery { import type { Result } from "relay-runtime"; export type FooQuery$variables = {||}; export type FooQuery$data = {| - +me: Result, + +me: Result<{| + +firstName: string | null, + +lastName: string | null, + |} | null, mixed>, |}; export type FooQuery = {| response: FooQuery$data, diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested-raw-fragments-catch-in-fragment.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested-raw-fragments-catch-in-fragment.expected index 6bcc926b7e2bb..284d2e2d66e80 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested-raw-fragments-catch-in-fragment.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested-raw-fragments-catch-in-fragment.expected @@ -42,7 +42,7 @@ import type { FragmentType, Result } from "relay-runtime"; declare export opaque type AnotherFragment$fragmentType: FragmentType; export type AnotherFragment$data = {| +profilePicture: ?{| - +uri: Result, + +uri: Result, |}, +$fragmentType: AnotherFragment$fragmentType, |}; diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested.expected index f5db936aabaa1..dc64f22b179be 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-no-arg-nested.expected @@ -10,7 +10,7 @@ import type { Result } from "relay-runtime"; export type FooQuery$variables = {||}; export type FooQuery$data = {| +me: ?{| - +firstName: Result, + +firstName: Result, +lastName: ?string, |}, |}; diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-on-aliased-inline-fragment.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-on-aliased-inline-fragment.expected index aded9944fd077..368c7fcccfc1d 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-on-aliased-inline-fragment.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-on-aliased-inline-fragment.expected @@ -11,7 +11,7 @@ declare export opaque type MyFragment$fragmentType: FragmentType; export type MyFragment$data = {| +id: string, +myAlias?: {| - +name: ?string, + +name: string | null, |}, +$fragmentType: MyFragment$fragmentType, |}; diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-on-mutation.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-on-mutation.expected index bfa857760d90b..181dc0c13564d 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-on-mutation.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-on-mutation.expected @@ -10,11 +10,11 @@ mutation MutationFoo @catch(to: RESULT) { import type { Result } from "relay-runtime"; export type MutationFoo$variables = {||}; export type MutationFoo$data = Result<{| - +unfriend: ?{| - +formerFriend: ?{| - +name: ?string, - |}, - |}, + +unfriend: {| + +formerFriend: {| + +name: string | null, + |} | null, + |} | null, |}, mixed>; export type MutationFoo = {| response: MutationFoo$data, diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-on-root.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-on-root.expected index 72f53b0280d75..c960bb7f9f375 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-on-root.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-on-root.expected @@ -9,10 +9,10 @@ query MyQuery { import type { Result } from "relay-runtime"; export type MyQuery$variables = {||}; export type MyQuery$data = {| - +me: Result, + +name: string | null, + |} | null, mixed>, |}; export type MyQuery = {| response: MyQuery$data, diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-semantic-non-null-with-catch-to-null.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-semantic-non-null-with-catch-to-null.expected index 73cf7fba6f46a..e69e19aa48af7 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-semantic-non-null-with-catch-to-null.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-semantic-non-null-with-catch-to-null.expected @@ -12,7 +12,7 @@ type ClientUser { import type { FragmentType } from "relay-runtime"; declare export opaque type MyFragment$fragmentType: FragmentType; export type MyFragment$data = {| - +name: ?string, + +name: string | null, +$fragmentType: MyFragment$fragmentType, |}; export type MyFragment$key = { diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-null-on-aliased-inline-fragment.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-null-on-aliased-inline-fragment.expected index aa22e72585631..a2550c2da3fce 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-null-on-aliased-inline-fragment.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-null-on-aliased-inline-fragment.expected @@ -11,7 +11,7 @@ declare export opaque type MyFragment$fragmentType: FragmentType; export type MyFragment$data = {| +id: string, +myAlias: Result<{| - +name: ?string, + +name: string | null, |}, mixed>, +$fragmentType: MyFragment$fragmentType, |}; diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-null-on-fragment.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-null-on-fragment.expected index d86c1d857ff4a..aacd6226b4b12 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-null-on-fragment.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-null-on-fragment.expected @@ -8,7 +8,7 @@ import type { FragmentType } from "relay-runtime"; declare export opaque type MyFragment$fragmentType: FragmentType; export type MyFragment$data = ?{| +id: string, - +name: ?string, + +name: string | null, +$fragmentType: MyFragment$fragmentType, |}; export type MyFragment$key = { diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-null-on-query.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-null-on-query.expected index a50b6bb4371d8..2b87c11565553 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-null-on-query.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-null-on-query.expected @@ -8,10 +8,10 @@ query MyQuery @catch(to: NULL) { ==================================== OUTPUT =================================== export type MyQuery$variables = {||}; export type MyQuery$data = ?{| - +me: ?{| + +me: {| +id: string, - +name: ?string, - |}, + +name: string | null, + |} | null, |}; export type MyQuery = {| response: MyQuery$data, diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-nested.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-nested.expected index e086aabb396d4..c349cfd52d40f 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-nested.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-nested.expected @@ -11,7 +11,7 @@ export type FooQuery$variables = {||}; export type FooQuery$data = {| +me: ?{| +firstName: ?string, - +lastName: Result, + +lastName: Result, |}, |}; export type FooQuery = {| diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-on-aliased-inline-fragment.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-on-aliased-inline-fragment.expected index aa22e72585631..a2550c2da3fce 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-on-aliased-inline-fragment.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-on-aliased-inline-fragment.expected @@ -11,7 +11,7 @@ declare export opaque type MyFragment$fragmentType: FragmentType; export type MyFragment$data = {| +id: string, +myAlias: Result<{| - +name: ?string, + +name: string | null, |}, mixed>, +$fragmentType: MyFragment$fragmentType, |}; diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-on-fragment.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-on-fragment.expected index a9dd215d414a3..9a76153063a5b 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-on-fragment.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-on-fragment.expected @@ -8,7 +8,7 @@ import type { FragmentType, Result } from "relay-runtime"; declare export opaque type MyFragment$fragmentType: FragmentType; export type MyFragment$data = Result<{| +id: string, - +name: ?string, + +name: string | null, +$fragmentType: MyFragment$fragmentType, |}, mixed>; export type MyFragment$key = { diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-on-query.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-on-query.expected index 2a58cbdad9410..17df66f1ff814 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-on-query.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/catch-to-result-on-query.expected @@ -9,10 +9,10 @@ query MyQuery @catch { import type { Result } from "relay-runtime"; export type MyQuery$variables = {||}; export type MyQuery$data = Result<{| - +me: ?{| + +me: {| +id: string, - +name: ?string, - |}, + +name: string | null, + |} | null, |}, mixed>; export type MyQuery = {| response: MyQuery$data, diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_in_raw_response.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_in_raw_response.expected index 096130def163f..7e80d0086cdea 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_in_raw_response.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_in_raw_response.expected @@ -15,17 +15,17 @@ query MyQuery @raw_response_type @throwOnFieldError { ==================================== OUTPUT =================================== export type MyQuery$variables = {||}; export type MyQuery$data = {| - +opera: ?{| + +opera: {| +cast: $ReadOnlyArray<{| +character: string, +singer: {| - +name: ?string, + +name: string | null, |}, |}>, +composer: {| - +name: ?string, + +name: string | null, |}, - |}, + |} | null, |}; export type MyQuery$rawResponse = {| +opera?: ?{| diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_items_in_matrix.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_items_in_matrix.expected index 9ae752615eba5..9ca56e6691461 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_items_in_matrix.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_items_in_matrix.expected @@ -12,7 +12,7 @@ type Screen { import type { FragmentType } from "relay-runtime"; declare export opaque type MyFragment$fragmentType: FragmentType; export type MyFragment$data = {| - +pixels: ?$ReadOnlyArray>, + +pixels: $ReadOnlyArray<$ReadOnlyArray | null> | null, +$fragmentType: MyFragment$fragmentType, |}; export type MyFragment$key = { diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_liked_field_resolver.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_liked_field_resolver.expected index b010ceeb06d4b..d6c8a7fdd5082 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_liked_field_resolver.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_liked_field_resolver.expected @@ -37,7 +37,7 @@ import clientUserBestFriendResolverType from "bar"; declare export opaque type MyFragment$fragmentType: FragmentType; export type MyFragment$data = {| +best_friend: {| - +name: ?string, + +name: string | null, |}, +$fragmentType: MyFragment$fragmentType, |}; diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_liked_field_weak_resolver.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_liked_field_weak_resolver.expected index 0cb105fa5368b..c787ab0196599 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_liked_field_weak_resolver.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_liked_field_weak_resolver.expected @@ -36,7 +36,7 @@ import clientUserBlobResolverType from "bar"; declare export opaque type MyFragment$fragmentType: FragmentType; export type MyFragment$data = {| +blob: {| - +data: ?string, + +data: string | null, |}, +$fragmentType: MyFragment$fragmentType, |}; diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_linked_field.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_linked_field.expected index 9591a5bd78223..d54f0c9d79ab7 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_linked_field.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_linked_field.expected @@ -15,7 +15,7 @@ import type { FragmentType } from "relay-runtime"; declare export opaque type MyFragment$fragmentType: FragmentType; export type MyFragment$data = {| +best_friend: {| - +name: ?string, + +name: string | null, |}, +$fragmentType: MyFragment$fragmentType, |}; diff --git a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_list_item.expected b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_list_item.expected index 5016313160470..61a1ce0482cdb 100644 --- a/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_list_item.expected +++ b/compiler/crates/relay-typegen/tests/generate_flow/fixtures/semantic_non_null_list_item.expected @@ -12,7 +12,7 @@ type ClientUser { import type { FragmentType } from "relay-runtime"; declare export opaque type MyFragment$fragmentType: FragmentType; export type MyFragment$data = {| - +favorite_numbers: ?$ReadOnlyArray, + +favorite_numbers: $ReadOnlyArray | null, +$fragmentType: MyFragment$fragmentType, |}; export type MyFragment$key = { diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-no-arg-nested-custom-error-type.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-no-arg-nested-custom-error-type.expected index 5c4c8ad205836..35952b0abdfb9 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-no-arg-nested-custom-error-type.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-no-arg-nested-custom-error-type.expected @@ -13,7 +13,7 @@ import { AComedyOfErrors } from "/all/the/worlds/a/stage"; export type FooQuery$variables = Record; export type FooQuery$data = { readonly me: { - readonly firstName: Result; + readonly firstName: Result; readonly lastName: string | null | undefined; } | null | undefined; }; diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-no-arg-nested-linked.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-no-arg-nested-linked.expected index 8767cce202c33..ca9578cef4dd2 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-no-arg-nested-linked.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-no-arg-nested-linked.expected @@ -10,9 +10,9 @@ import { Result } from "relay-runtime"; export type FooQuery$variables = Record; export type FooQuery$data = { readonly me: Result<{ - readonly firstName: string | null | undefined; - readonly lastName: string | null | undefined; - } | null | undefined, unknown>; + readonly firstName: string | null; + readonly lastName: string | null; + } | null, unknown>; }; export type FooQuery = { response: FooQuery$data; diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-no-arg-nested.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-no-arg-nested.expected index 46ca79c76b3be..f0c05884ce426 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-no-arg-nested.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-no-arg-nested.expected @@ -11,7 +11,7 @@ export type FooQuery$variables = Record; export type FooQuery$data = { readonly me: { readonly firstName: string | null | undefined; - readonly lastName: Result; + readonly lastName: Result; } | null | undefined; }; export type FooQuery = { diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-semantic-non-null-with-catch-to-null.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-semantic-non-null-with-catch-to-null.expected index 7853cd801808b..222598f07370a 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-semantic-non-null-with-catch-to-null.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-semantic-non-null-with-catch-to-null.expected @@ -11,7 +11,7 @@ type ClientUser { ==================================== OUTPUT =================================== import { FragmentRefs } from "relay-runtime"; export type MyFragment$data = { - readonly name: string | null | undefined; + readonly name: string | null; readonly " $fragmentType": "MyFragment"; }; export type MyFragment$key = { diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-to-result-nested-raw-with-fragments.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-to-result-nested-raw-with-fragments.expected index cedbdcf43a78d..6a6fc59b422d3 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-to-result-nested-raw-with-fragments.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-to-result-nested-raw-with-fragments.expected @@ -20,7 +20,7 @@ export type TestEnums = "mark" | "zuck" | "%future added value"; export type FooQuery$variables = Record; export type FooQuery$data = { readonly me: { - readonly firstName: Result; + readonly firstName: Result; readonly " $fragmentSpreads": FragmentRefs<"FriendFragment">; } | null | undefined; }; @@ -44,7 +44,7 @@ export type FooQuery = { export type TestEnums = "mark" | "zuck" | "%future added value"; import { FragmentRefs, Result } from "relay-runtime"; export type FriendFragment$data = { - readonly lastName: Result; + readonly lastName: Result; readonly name: string | null | undefined; readonly profilePicture2: { readonly test_enums: TestEnums | null | undefined; diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-to-result-nested-raw.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-to-result-nested-raw.expected index 796b89d6609b2..11f6fbc08ef5f 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-to-result-nested-raw.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-to-result-nested-raw.expected @@ -11,7 +11,7 @@ export type FooQuery$variables = Record; export type FooQuery$data = { readonly me: { readonly firstName: string | null | undefined; - readonly lastName: Result; + readonly lastName: Result; } | null | undefined; }; export type FooQuery$rawResponse = { diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-to-result-nested.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-to-result-nested.expected index bb09a70dd7ce1..770754403ab5f 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-to-result-nested.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/catch-to-result-nested.expected @@ -11,7 +11,7 @@ export type FooQuery$variables = Record; export type FooQuery$data = { readonly me: { readonly firstName: string | null | undefined; - readonly lastName: Result; + readonly lastName: Result; } | null | undefined; }; export type FooQuery = { diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/linked-semantic-non-null-with-catch.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/linked-semantic-non-null-with-catch.expected index 5a2fc05b30f43..57a31843e4a71 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/linked-semantic-non-null-with-catch.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/linked-semantic-non-null-with-catch.expected @@ -15,7 +15,7 @@ extend type Query { import { FragmentRefs, Result } from "relay-runtime"; export type MyFragment$data = { readonly my_user: Result<{ - readonly name: string | null | undefined; + readonly name: string | null; }, unknown>; readonly " $fragmentType": "MyFragment"; }; diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic-non-null-deeply-nested-within-catch.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic-non-null-deeply-nested-within-catch.expected index 23dd1502eac48..c8d324ee31f65 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic-non-null-deeply-nested-within-catch.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic-non-null-deeply-nested-within-catch.expected @@ -23,7 +23,7 @@ export type MyFragment$data = { readonly me: { readonly clientUser: { readonly name: string; - } | null | undefined; + } | null; } | null | undefined; readonly " $fragmentType": "MyFragment"; }; diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_in_raw_response.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_in_raw_response.expected index d531b42780369..4ee3e0bfc01a3 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_in_raw_response.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_in_raw_response.expected @@ -19,13 +19,13 @@ export type MyQuery$data = { readonly cast: ReadonlyArray<{ readonly character: string; readonly singer: { - readonly name: string | null | undefined; + readonly name: string | null; }; }>; readonly composer: { - readonly name: string | null | undefined; + readonly name: string | null; }; - } | null | undefined; + } | null; }; export type MyQuery$rawResponse = { readonly opera?: { diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_items_in_matrix.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_items_in_matrix.expected index f66c1769aa364..38c9e3469b067 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_items_in_matrix.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_items_in_matrix.expected @@ -11,7 +11,7 @@ type Screen { ==================================== OUTPUT =================================== import { FragmentRefs } from "relay-runtime"; export type MyFragment$data = { - readonly pixels: ReadonlyArray | null | undefined> | null | undefined; + readonly pixels: ReadonlyArray | null> | null; readonly " $fragmentType": "MyFragment"; }; export type MyFragment$key = { diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_liked_field_resolver.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_liked_field_resolver.expected index b2d579a3aa371..f06f3b0d3ac46 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_liked_field_resolver.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_liked_field_resolver.expected @@ -36,7 +36,7 @@ import clientUserBestFriendResolverType from "bar"; }); export type MyFragment$data = { readonly best_friend: { - readonly name: string | null | undefined; + readonly name: string | null; }; readonly " $fragmentType": "MyFragment"; }; diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_liked_field_weak_resolver.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_liked_field_weak_resolver.expected index 60c20e53d3286..bb511b99d5b02 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_liked_field_weak_resolver.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_liked_field_weak_resolver.expected @@ -34,7 +34,7 @@ import clientUserBlobResolverType from "bar"; (clientUserBlobResolverType satisfies () => ClientUser__blob$normalization); export type MyFragment$data = { readonly blob: { - readonly data: string | null | undefined; + readonly data: string | null; }; readonly " $fragmentType": "MyFragment"; }; diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_linked_field.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_linked_field.expected index 6eccf5559059c..34f46cf3b56e3 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_linked_field.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_linked_field.expected @@ -14,7 +14,7 @@ type ClientUser { import { FragmentRefs } from "relay-runtime"; export type MyFragment$data = { readonly best_friend: { - readonly name: string | null | undefined; + readonly name: string | null; }; readonly " $fragmentType": "MyFragment"; }; diff --git a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_list_item.expected b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_list_item.expected index 7baf4f099bfd9..cea9b310512aa 100644 --- a/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_list_item.expected +++ b/compiler/crates/relay-typegen/tests/generate_typescript/fixtures/semantic_non_null_list_item.expected @@ -11,7 +11,7 @@ type ClientUser { ==================================== OUTPUT =================================== import { FragmentRefs } from "relay-runtime"; export type MyFragment$data = { - readonly favorite_numbers: ReadonlyArray | null | undefined; + readonly favorite_numbers: ReadonlyArray | null; readonly " $fragmentType": "MyFragment"; }; export type MyFragment$key = { diff --git a/packages/react-relay/__tests__/__generated__/CatchTest1Query.graphql.js b/packages/react-relay/__tests__/__generated__/CatchTest1Query.graphql.js index 9811ebf896c75..dea5937d2dbca 100644 --- a/packages/react-relay/__tests__/__generated__/CatchTest1Query.graphql.js +++ b/packages/react-relay/__tests__/__generated__/CatchTest1Query.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<417e169a6201cdf9a305076b14a46cdc>> + * @generated SignedSource<<85a25cb77813353a363d44711cbf5f97>> * @flow * @lightSyntaxTransform * @nogrep @@ -22,7 +22,7 @@ import type { Result } from "relay-runtime"; export type CatchTest1Query$variables = {||}; export type CatchTest1Query$data = {| +me: {| - +name: Result, + +name: Result, |}, |}; export type CatchTest1Query = {| diff --git a/packages/react-relay/__tests__/__generated__/CatchTestRequiredThrowQuery.graphql.js b/packages/react-relay/__tests__/__generated__/CatchTestRequiredThrowQuery.graphql.js index 2e96e354ce496..ad5b40f7e2029 100644 --- a/packages/react-relay/__tests__/__generated__/CatchTestRequiredThrowQuery.graphql.js +++ b/packages/react-relay/__tests__/__generated__/CatchTestRequiredThrowQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<2db0ebe700357b7621fd29538125f2b8>> * @flow * @lightSyntaxTransform * @nogrep @@ -21,9 +21,9 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; import type { Result } from "relay-runtime"; export type CatchTestRequiredThrowQuery$variables = {||}; export type CatchTestRequiredThrowQuery$data = {| - +me: Result, + |} | null, mixed>, |}; export type CatchTestRequiredThrowQuery = {| response: CatchTestRequiredThrowQuery$data, diff --git a/packages/react-relay/__tests__/__generated__/CatchTestResolverErrorThrowQuery.graphql.js b/packages/react-relay/__tests__/__generated__/CatchTestResolverErrorThrowQuery.graphql.js index df77e81dd7d29..be631d6c21787 100644 --- a/packages/react-relay/__tests__/__generated__/CatchTestResolverErrorThrowQuery.graphql.js +++ b/packages/react-relay/__tests__/__generated__/CatchTestResolverErrorThrowQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<64b14cf1c22887a8a9fbbaa435865ec4>> + * @generated SignedSource<<08a0b6232b32dd62219d1afb9793f3b7>> * @flow * @lightSyntaxTransform * @nogrep @@ -31,9 +31,9 @@ import type { TestResolverContextType } from "../../../relay-runtime/mutations/_ ) => ?string); export type CatchTestResolverErrorThrowQuery$variables = {||}; export type CatchTestResolverErrorThrowQuery$data = {| - +me: Result, + +me: Result<{| + +always_throws: string | null, + |} | null, mixed>, |}; export type CatchTestResolverErrorThrowQuery = {| response: CatchTestResolverErrorThrowQuery$data, diff --git a/packages/react-relay/relay-hooks/__tests__/__generated__/FragmentResourceSemanticNonNullTestFragment1.graphql.js b/packages/react-relay/relay-hooks/__tests__/__generated__/FragmentResourceSemanticNonNullTestFragment1.graphql.js index b599876d497b5..3967a9c4e09ec 100644 --- a/packages/react-relay/relay-hooks/__tests__/__generated__/FragmentResourceSemanticNonNullTestFragment1.graphql.js +++ b/packages/react-relay/relay-hooks/__tests__/__generated__/FragmentResourceSemanticNonNullTestFragment1.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<6a4bdcb388f029c340bc3eb602930970>> * @flow * @lightSyntaxTransform * @nogrep @@ -21,7 +21,7 @@ import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { FragmentType } from "relay-runtime"; declare export opaque type FragmentResourceSemanticNonNullTestFragment1$fragmentType: FragmentType; export type FragmentResourceSemanticNonNullTestFragment1$data = {| - +name: ?string, + +name: string | null, +$fragmentType: FragmentResourceSemanticNonNullTestFragment1$fragmentType, |}; export type FragmentResourceSemanticNonNullTestFragment1$key = { diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest010Query.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest010Query.graphql.js index 5913d12c33ef2..6d7a532165068 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest010Query.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest010Query.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<1133216130e3e282de2b570b99c574f6>> + * @generated SignedSource<<891b1073ab31ae26923612460fc01f51>> * @flow * @lightSyntaxTransform * @nogrep @@ -21,9 +21,9 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; import type { Result } from "relay-runtime"; export type RelayReaderCatchFieldsTest010Query$variables = {||}; export type RelayReaderCatchFieldsTest010Query$data = {| - +me: Result, + +me: Result<{| + +lastName: string | null, + |} | null, mixed>, |}; export type RelayReaderCatchFieldsTest010Query = {| response: RelayReaderCatchFieldsTest010Query$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest01Query.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest01Query.graphql.js index fc4e35dee56d6..386c8ee564ae1 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest01Query.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest01Query.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<5603e89d333c620552bc1a76ba0559e5>> + * @generated SignedSource<<06a684a540a02d343170782ebb34ea52>> * @flow * @lightSyntaxTransform * @nogrep @@ -22,7 +22,7 @@ import type { Result } from "relay-runtime"; export type RelayReaderCatchFieldsTest01Query$variables = {||}; export type RelayReaderCatchFieldsTest01Query$data = {| +me: ?{| - +lastName: Result, + +lastName: Result, |}, |}; export type RelayReaderCatchFieldsTest01Query = {| diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest02Query.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest02Query.graphql.js index 654a0dab22e3a..76d9b02f04c13 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest02Query.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest02Query.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<6238265b05637be20cddbbc7e3eabaf7>> + * @generated SignedSource<<823e90eb7b692add9f6c51ce994dd8f1>> * @flow * @lightSyntaxTransform * @nogrep @@ -21,9 +21,9 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; import type { Result } from "relay-runtime"; export type RelayReaderCatchFieldsTest02Query$variables = {||}; export type RelayReaderCatchFieldsTest02Query$data = {| - +me: Result, + |} | null, mixed>, |}; export type RelayReaderCatchFieldsTest02Query = {| response: RelayReaderCatchFieldsTest02Query$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest07Query.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest07Query.graphql.js index 2bb2065640415..4d11989530b32 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest07Query.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest07Query.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -21,9 +21,9 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; import type { Result } from "relay-runtime"; export type RelayReaderCatchFieldsTest07Query$variables = {||}; export type RelayReaderCatchFieldsTest07Query$data = {| - +me: Result, + +me: Result<{| + +lastName: string | null, + |} | null, mixed>, |}; export type RelayReaderCatchFieldsTest07Query = {| response: RelayReaderCatchFieldsTest07Query$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest09Query.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest09Query.graphql.js index 1ff1d0c0822e7..27f3b425f378a 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest09Query.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTest09Query.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<42f31a87c1b5e4b7c037710e013431a3>> + * @generated SignedSource<<48693116cc7b395d1ae78d4d431b1a84>> * @flow * @lightSyntaxTransform * @nogrep @@ -22,7 +22,7 @@ import type { Result } from "relay-runtime"; export type RelayReaderCatchFieldsTest09Query$variables = {||}; export type RelayReaderCatchFieldsTest09Query$data = {| +me: ?{| - +lastName: Result, + +lastName: Result, |}, |}; export type RelayReaderCatchFieldsTest09Query = {| diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInInlineFragmentToNullErrorQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInInlineFragmentToNullErrorQuery.graphql.js index 4038595e10bb7..d622e9a140f4d 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInInlineFragmentToNullErrorQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInInlineFragmentToNullErrorQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<278d9b1e89a80b5ae4ced17c29a015ff>> + * @generated SignedSource<<139aee7847e501c0555063d36b776687>> * @flow * @lightSyntaxTransform * @nogrep @@ -22,7 +22,7 @@ export type RelayReaderCatchFieldsTestCatchMissingInInlineFragmentToNullErrorQue export type RelayReaderCatchFieldsTestCatchMissingInInlineFragmentToNullErrorQuery$data = {| +me: ?{| +myAlias?: {| - +firstName: ?string, + +firstName: string | null, |}, |}, |}; diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInInlineFragmentToResultErrorQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInInlineFragmentToResultErrorQuery.graphql.js index b8ea17acb950e..32ca6ff9d7a0b 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInInlineFragmentToResultErrorQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInInlineFragmentToResultErrorQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<97fc88cd2d126da773e4c2bd76e0727a>> + * @generated SignedSource<<5c9db0b10cb05209fd69aadabe36f1ee>> * @flow * @lightSyntaxTransform * @nogrep @@ -23,7 +23,7 @@ export type RelayReaderCatchFieldsTestCatchMissingInInlineFragmentToResultErrorQ export type RelayReaderCatchFieldsTestCatchMissingInInlineFragmentToResultErrorQuery$data = {| +me: ?{| +myAlias: Result<{| - +firstName: ?string, + +firstName: string | null, |}, mixed>, |}, |}; diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInQueryToNullErrorQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInQueryToNullErrorQuery.graphql.js index ae8ed91a04949..8ad053c6a29f2 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInQueryToNullErrorQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInQueryToNullErrorQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<81328793e4ce977c4dae9ca02a525bdb>> + * @generated SignedSource<<5a4a1e7b26361879af9ffb0ca1a45b33>> * @flow * @lightSyntaxTransform * @nogrep @@ -20,9 +20,9 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; export type RelayReaderCatchFieldsTestCatchMissingInQueryToNullErrorQuery$variables = {||}; export type RelayReaderCatchFieldsTestCatchMissingInQueryToNullErrorQuery$data = ?{| - +me: ?{| - +firstName: ?string, - |}, + +me: {| + +firstName: string | null, + |} | null, |}; export type RelayReaderCatchFieldsTestCatchMissingInQueryToNullErrorQuery = {| response: RelayReaderCatchFieldsTestCatchMissingInQueryToNullErrorQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInQueryToResultErrorQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInQueryToResultErrorQuery.graphql.js index 99ef7fd9075a8..20138d1d9558f 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInQueryToResultErrorQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingInQueryToResultErrorQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<26736870d74b5df84afdef1f37960e39>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -21,9 +21,9 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; import type { Result } from "relay-runtime"; export type RelayReaderCatchFieldsTestCatchMissingInQueryToResultErrorQuery$variables = {||}; export type RelayReaderCatchFieldsTestCatchMissingInQueryToResultErrorQuery$data = Result<{| - +me: ?{| - +firstName: ?string, - |}, + +me: {| + +firstName: string | null, + |} | null, |}, mixed>; export type RelayReaderCatchFieldsTestCatchMissingInQueryToResultErrorQuery = {| response: RelayReaderCatchFieldsTestCatchMissingInQueryToResultErrorQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingToNullErrorQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingToNullErrorQuery.graphql.js index 1382c644cce62..b393389c7edd3 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingToNullErrorQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchMissingToNullErrorQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<67f563748ffa65c324ce15cd5d8fb5ff>> + * @generated SignedSource<<7193f66034084b4276622282fd091e46>> * @flow * @lightSyntaxTransform * @nogrep @@ -21,7 +21,7 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; export type RelayReaderCatchFieldsTestCatchMissingToNullErrorQuery$variables = {||}; export type RelayReaderCatchFieldsTestCatchMissingToNullErrorQuery$data = {| +me: ?{| - +firstName: ?string, + +firstName: string | null, |}, |}; export type RelayReaderCatchFieldsTestCatchMissingToNullErrorQuery = {| diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchToNullFragment.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchToNullFragment.graphql.js index 49397427e494e..9b96367d1c4f8 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchToNullFragment.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchToNullFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<6c2c417ec9d8c99fc33cbc2a2c54cc9e>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -21,9 +21,9 @@ import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { FragmentType } from "relay-runtime"; declare export opaque type RelayReaderCatchFieldsTestCatchToNullFragment$fragmentType: FragmentType; export type RelayReaderCatchFieldsTestCatchToNullFragment$data = ?{| - +me: ?{| - +firstName: ?string, - |}, + +me: {| + +firstName: string | null, + |} | null, +$fragmentType: RelayReaderCatchFieldsTestCatchToNullFragment$fragmentType, |}; export type RelayReaderCatchFieldsTestCatchToNullFragment$key = { diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchToResultFragment.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchToResultFragment.graphql.js index f600eba2ed44e..469bcbc84b3d9 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchToResultFragment.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestCatchToResultFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -21,9 +21,9 @@ import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { FragmentType, Result } from "relay-runtime"; declare export opaque type RelayReaderCatchFieldsTestCatchToResultFragment$fragmentType: FragmentType; export type RelayReaderCatchFieldsTestCatchToResultFragment$data = Result<{| - +me: ?{| - +firstName: ?string, - |}, + +me: {| + +firstName: string | null, + |} | null, +$fragmentType: RelayReaderCatchFieldsTestCatchToResultFragment$fragmentType, |}, mixed>; export type RelayReaderCatchFieldsTestCatchToResultFragment$key = { diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestSiblingErrorQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestSiblingErrorQuery.graphql.js index 887c8aae57d30..6f3e7790ff4e4 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestSiblingErrorQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestSiblingErrorQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -22,7 +22,7 @@ import type { Result } from "relay-runtime"; export type RelayReaderCatchFieldsTestSiblingErrorQuery$variables = {||}; export type RelayReaderCatchFieldsTestSiblingErrorQuery$data = {| +me: ?{| - +firstName: Result, + +firstName: Result, +lastName: ?string, |}, |}; diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestSiblingLogRequiredErrorQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestSiblingLogRequiredErrorQuery.graphql.js index a6890230c39be..1714a9ed7c933 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestSiblingLogRequiredErrorQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderCatchFieldsTestSiblingLogRequiredErrorQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<413a5d87005a669d51ac265f0285e4cd>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -24,9 +24,9 @@ export type RelayReaderCatchFieldsTestSiblingLogRequiredErrorQuery$data = {| +alsoMe: ?{| +lastName: string, |}, - +me: Result, + |} | null, mixed>, |}; export type RelayReaderCatchFieldsTestSiblingLogRequiredErrorQuery = {| response: RelayReaderCatchFieldsTestSiblingLogRequiredErrorQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTest3Query.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTest3Query.graphql.js index d7a8d8a20ac34..d3ac8f2f12673 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTest3Query.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTest3Query.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<858995f2343f71aa36d9d00b3e24ab11>> * @flow * @lightSyntaxTransform * @nogrep @@ -23,12 +23,12 @@ export type RelayReaderRelayErrorHandlingTest3Query$variables = {| size?: ?$ReadOnlyArray, |}; export type RelayReaderRelayErrorHandlingTest3Query$data = {| - +me: Result, + +me: Result<{| + +lastName: string | null, + +profilePicture: {| + +uri: string | null, + |} | null, + |} | null, mixed>, |}; export type RelayReaderRelayErrorHandlingTest3Query = {| response: RelayReaderRelayErrorHandlingTest3Query$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTest4Query.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTest4Query.graphql.js index 2a73d3334eaf4..d912c99daabb5 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTest4Query.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTest4Query.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -22,12 +22,12 @@ export type RelayReaderRelayErrorHandlingTest4Query$variables = {| size?: ?$ReadOnlyArray, |}; export type RelayReaderRelayErrorHandlingTest4Query$data = {| - +me: ?{| - +lastName: ?string, - +profilePicture: ?{| - +uri: ?string, - |}, - |}, + +me: {| + +lastName: string | null, + +profilePicture: {| + +uri: string | null, + |} | null, + |} | null, |}; export type RelayReaderRelayErrorHandlingTest4Query = {| response: RelayReaderRelayErrorHandlingTest4Query$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTest5Query.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTest5Query.graphql.js index 1aaba2043c839..f3ab57d296332 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTest5Query.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTest5Query.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<88410745e66537fa4174c9fe5183f8e8>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -30,9 +30,9 @@ import type { TestResolverContextType } from "../../../mutations/__tests__/TestR ) => ?string); export type RelayReaderRelayErrorHandlingTest5Query$variables = {||}; export type RelayReaderRelayErrorHandlingTest5Query$data = {| - +me: ?{| - +last_name_throw_on_field_error: ?string, - |}, + +me: {| + +last_name_throw_on_field_error: string | null, + |} | null, |}; export type RelayReaderRelayErrorHandlingTest5Query = {| response: RelayReaderRelayErrorHandlingTest5Query$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestErrorOrderQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestErrorOrderQuery.graphql.js index c4ac0670c86c4..5ff52d9198b73 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestErrorOrderQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestErrorOrderQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<2e1d56f339c3fc473fcf40d268b97df2>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -20,15 +20,15 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; export type RelayReaderRelayErrorHandlingTestErrorOrderQuery$variables = {||}; export type RelayReaderRelayErrorHandlingTestErrorOrderQuery$data = {| - +also_me: ?{| - +name: ?string, + +also_me: {| + +name: string | null, +nearest_neighbor: {| - +name: ?string, + +name: string | null, |}, - |}, - +me: ?{| - +name: ?string, - |}, + |} | null, + +me: {| + +name: string | null, + |} | null, |}; export type RelayReaderRelayErrorHandlingTestErrorOrderQuery = {| response: RelayReaderRelayErrorHandlingTestErrorOrderQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestInlineFragmentMatchesQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestInlineFragmentMatchesQuery.graphql.js index 90cc1b8d90191..b3934e85f042b 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestInlineFragmentMatchesQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestInlineFragmentMatchesQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<7bee43739001efcd6ea3b2f12497928f>> * @flow * @lightSyntaxTransform * @nogrep @@ -20,9 +20,9 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; export type RelayReaderRelayErrorHandlingTestInlineFragmentMatchesQuery$variables = {||}; export type RelayReaderRelayErrorHandlingTestInlineFragmentMatchesQuery$data = {| - +node: ?{| - +name?: ?string, - |}, + +node: {| + +name?: string | null, + |} | null, |}; export type RelayReaderRelayErrorHandlingTestInlineFragmentMatchesQuery = {| response: RelayReaderRelayErrorHandlingTestInlineFragmentMatchesQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestInlineFragmentQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestInlineFragmentQuery.graphql.js index 6b19ca12b7739..deb33b284072e 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestInlineFragmentQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestInlineFragmentQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<58c64deeb12751c56c0eeb8e3eab8847>> * @flow * @lightSyntaxTransform * @nogrep @@ -20,9 +20,9 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; export type RelayReaderRelayErrorHandlingTestInlineFragmentQuery$variables = {||}; export type RelayReaderRelayErrorHandlingTestInlineFragmentQuery$data = {| - +node: ?{| - +name?: ?string, - |}, + +node: {| + +name?: string | null, + |} | null, |}; export type RelayReaderRelayErrorHandlingTestInlineFragmentQuery = {| response: RelayReaderRelayErrorHandlingTestInlineFragmentQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestMissingPluralQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestMissingPluralQuery.graphql.js index fa60038c81cbd..b6687362bc73e 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestMissingPluralQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestMissingPluralQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<0952e46c01e925f5f9d6d46a37b10f66>> + * @generated SignedSource<<02eb4be39953812ccfe3e355db5a00bf>> * @flow * @lightSyntaxTransform * @nogrep @@ -22,12 +22,12 @@ export type RelayReaderRelayErrorHandlingTestMissingPluralQuery$variables = {| size?: ?$ReadOnlyArray, |}; export type RelayReaderRelayErrorHandlingTestMissingPluralQuery$data = {| - +nodes: ?$ReadOnlyArray, + +nodes: $ReadOnlyArray<{| + +lastName: string | null, + +profilePicture: {| + +uri: string | null, + |} | null, + |} | null> | null, |}; export type RelayReaderRelayErrorHandlingTestMissingPluralQuery = {| response: RelayReaderRelayErrorHandlingTestMissingPluralQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestNoncompliantEmptyLinkedFieldWithThrowOnFieldErrorQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestNoncompliantEmptyLinkedFieldWithThrowOnFieldErrorQuery.graphql.js index c6b07289258b1..c0fd357565c44 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestNoncompliantEmptyLinkedFieldWithThrowOnFieldErrorQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestNoncompliantEmptyLinkedFieldWithThrowOnFieldErrorQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<520b92b838637598ce6b190feda24304>> + * @generated SignedSource<<7d1a28b2d51a01a9d4b556575c692e8e>> * @flow * @lightSyntaxTransform * @nogrep @@ -20,15 +20,15 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; export type RelayReaderRelayErrorHandlingTestNoncompliantEmptyLinkedFieldWithThrowOnFieldErrorQuery$variables = {||}; export type RelayReaderRelayErrorHandlingTestNoncompliantEmptyLinkedFieldWithThrowOnFieldErrorQuery$data = {| - +node: ?{| + +node: {| +__typename: string, - +friends?: ?{| - +edges: ?$ReadOnlyArray, - |}, + +friends?: {| + +edges: $ReadOnlyArray<{| + +cursor: string | null, + |} | null> | null, + |} | null, +id: string, - |}, + |} | null, |}; export type RelayReaderRelayErrorHandlingTestNoncompliantEmptyLinkedFieldWithThrowOnFieldErrorQuery = {| response: RelayReaderRelayErrorHandlingTestNoncompliantEmptyLinkedFieldWithThrowOnFieldErrorQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestNoncompliantEmptyScalarFieldWithThrowOnFieldErrorQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestNoncompliantEmptyScalarFieldWithThrowOnFieldErrorQuery.graphql.js index a8ec8384776a7..efe147ed8dd38 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestNoncompliantEmptyScalarFieldWithThrowOnFieldErrorQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestNoncompliantEmptyScalarFieldWithThrowOnFieldErrorQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<7d7421d8f95edf6cade0e79bbabb6616>> + * @generated SignedSource<<9003f14507da1d8d82e8522e800f0101>> * @flow * @lightSyntaxTransform * @nogrep @@ -20,11 +20,11 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; export type RelayReaderRelayErrorHandlingTestNoncompliantEmptyScalarFieldWithThrowOnFieldErrorQuery$variables = {||}; export type RelayReaderRelayErrorHandlingTestNoncompliantEmptyScalarFieldWithThrowOnFieldErrorQuery$data = {| - +node: ?{| + +node: {| +__typename: string, - +emailAddresses?: ?$ReadOnlyArray, + +emailAddresses?: $ReadOnlyArray | null, +id: string, - |}, + |} | null, |}; export type RelayReaderRelayErrorHandlingTestNoncompliantEmptyScalarFieldWithThrowOnFieldErrorQuery = {| response: RelayReaderRelayErrorHandlingTestNoncompliantEmptyScalarFieldWithThrowOnFieldErrorQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestResolverClientEdgeClientObjectWithMissingDataQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestResolverClientEdgeClientObjectWithMissingDataQuery.graphql.js index 94a76023776a8..d0e1a6ede3a97 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestResolverClientEdgeClientObjectWithMissingDataQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestResolverClientEdgeClientObjectWithMissingDataQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<8ff5fb31ad3cf6df16ffea07abd3ab8d>> * @flow * @lightSyntaxTransform * @nogrep @@ -33,11 +33,11 @@ import type { TestResolverContextType } from "../../../mutations/__tests__/TestR |}); export type RelayReaderRelayErrorHandlingTestResolverClientEdgeClientObjectWithMissingDataQuery$variables = {||}; export type RelayReaderRelayErrorHandlingTestResolverClientEdgeClientObjectWithMissingDataQuery$data = {| - +me: ?{| - +astrological_sign: ?{| - +notes: ?string, - |}, - |}, + +me: {| + +astrological_sign: {| + +notes: string | null, + |} | null, + |} | null, |}; export type RelayReaderRelayErrorHandlingTestResolverClientEdgeClientObjectWithMissingDataQuery = {| response: RelayReaderRelayErrorHandlingTestResolverClientEdgeClientObjectWithMissingDataQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestResolverClientEdgeWithMissingDataQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestResolverClientEdgeWithMissingDataQuery.graphql.js index 4897aab92b457..df00a99430e99 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestResolverClientEdgeWithMissingDataQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestResolverClientEdgeWithMissingDataQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<7654479aee3c39fc982d1671172f78cc>> * @flow * @lightSyntaxTransform * @nogrep @@ -33,11 +33,11 @@ import type { TestResolverContextType } from "../../../mutations/__tests__/TestR |}); export type RelayReaderRelayErrorHandlingTestResolverClientEdgeWithMissingDataQuery$variables = {||}; export type RelayReaderRelayErrorHandlingTestResolverClientEdgeWithMissingDataQuery$data = {| - +me: ?{| - +client_edge: ?{| - +firstName: ?string, - |}, - |}, + +me: {| + +client_edge: {| + +firstName: string | null, + |} | null, + |} | null, |}; export type RelayReaderRelayErrorHandlingTestResolverClientEdgeWithMissingDataQuery = {| response: RelayReaderRelayErrorHandlingTestResolverClientEdgeWithMissingDataQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestResolverClientPluralEdgeClientObjectWithMissingDataQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestResolverClientPluralEdgeClientObjectWithMissingDataQuery.graphql.js index 30eb8e21adf9e..055e2969fb0a5 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestResolverClientPluralEdgeClientObjectWithMissingDataQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRelayErrorHandlingTestResolverClientPluralEdgeClientObjectWithMissingDataQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -33,9 +33,9 @@ import type { TestResolverContextType } from "../../../mutations/__tests__/TestR |}>); export type RelayReaderRelayErrorHandlingTestResolverClientPluralEdgeClientObjectWithMissingDataQuery$variables = {||}; export type RelayReaderRelayErrorHandlingTestResolverClientPluralEdgeClientObjectWithMissingDataQuery$data = {| - +all_astrological_signs: ?$ReadOnlyArray<{| - +notes: ?string, - |}>, + +all_astrological_signs: $ReadOnlyArray<{| + +notes: string | null, + |}> | null, |}; export type RelayReaderRelayErrorHandlingTestResolverClientPluralEdgeClientObjectWithMissingDataQuery = {| response: RelayReaderRelayErrorHandlingTestResolverClientPluralEdgeClientObjectWithMissingDataQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRequiredFieldsTest29Query.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRequiredFieldsTest29Query.graphql.js index d30fea14800af..d1b2c1825c6fd 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRequiredFieldsTest29Query.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/RelayReaderRequiredFieldsTest29Query.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<9c56d5cc14302b306bbb11420772888b>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -32,11 +32,11 @@ import type { TestResolverContextType } from "../../../mutations/__tests__/TestR import type { User__client_object$normalization } from "./../resolvers/__generated__/User__client_object$normalization.graphql"; export type RelayReaderRequiredFieldsTest29Query$variables = {||}; export type RelayReaderRequiredFieldsTest29Query$data = {| - +me: Result, + |} | null, mixed>, |}; export type RelayReaderRequiredFieldsTest29Query = {| response: RelayReaderRequiredFieldsTest29Query$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestMissingDataThrowOnFieldErrorFragment.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestMissingDataThrowOnFieldErrorFragment.graphql.js index 8adaa7f082a4d..cbef9ad694831 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestMissingDataThrowOnFieldErrorFragment.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestMissingDataThrowOnFieldErrorFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -21,9 +21,9 @@ import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { FragmentType } from "relay-runtime"; declare export opaque type observeFragmentTestMissingDataThrowOnFieldErrorFragment$fragmentType: FragmentType; export type observeFragmentTestMissingDataThrowOnFieldErrorFragment$data = {| - +me: ?{| - +name: ?string, - |}, + +me: {| + +name: string | null, + |} | null, +$fragmentType: observeFragmentTestMissingDataThrowOnFieldErrorFragment$fragmentType, |}; export type observeFragmentTestMissingDataThrowOnFieldErrorFragment$key = { diff --git a/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestPluralThrowOnFieldErrorFragment.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestPluralThrowOnFieldErrorFragment.graphql.js index 122853d5c2de7..67117309393fb 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestPluralThrowOnFieldErrorFragment.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestPluralThrowOnFieldErrorFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<73dfa993cd14eb071971ec8ae446eea0>> + * @generated SignedSource<<9ce7d82be81c9637641e26d193cc0e21>> * @flow * @lightSyntaxTransform * @nogrep @@ -21,7 +21,7 @@ import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { FragmentType } from "relay-runtime"; declare export opaque type observeFragmentTestPluralThrowOnFieldErrorFragment$fragmentType: FragmentType; export type observeFragmentTestPluralThrowOnFieldErrorFragment$data = $ReadOnlyArray<{| - +name: ?string, + +name: string | null, +$fragmentType: observeFragmentTestPluralThrowOnFieldErrorFragment$fragmentType, |}>; export type observeFragmentTestPluralThrowOnFieldErrorFragment$key = $ReadOnlyArray<{ diff --git a/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestResolverErrorWithPluralThrowOnFieldErrorFragment.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestResolverErrorWithPluralThrowOnFieldErrorFragment.graphql.js index ba9df1771894e..b9d2631c4d50a 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestResolverErrorWithPluralThrowOnFieldErrorFragment.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestResolverErrorWithPluralThrowOnFieldErrorFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -31,7 +31,7 @@ import type { TestResolverContextType } from "../../../mutations/__tests__/TestR ) => ?string); declare export opaque type observeFragmentTestResolverErrorWithPluralThrowOnFieldErrorFragment$fragmentType: FragmentType; export type observeFragmentTestResolverErrorWithPluralThrowOnFieldErrorFragment$data = $ReadOnlyArray<{| - +always_throws: ?string, + +always_throws: string | null, +$fragmentType: observeFragmentTestResolverErrorWithPluralThrowOnFieldErrorFragment$fragmentType, |}>; export type observeFragmentTestResolverErrorWithPluralThrowOnFieldErrorFragment$key = $ReadOnlyArray<{ diff --git a/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestResolverErrorWithThrowOnFieldErrorFragment.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestResolverErrorWithThrowOnFieldErrorFragment.graphql.js index 399bfaf8365fb..c9e02149889db 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestResolverErrorWithThrowOnFieldErrorFragment.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestResolverErrorWithThrowOnFieldErrorFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<60afda4fdaac41660aada81a1cb1b26f>> + * @generated SignedSource<<5ec7cb9ac29c1dde907ef0ab0f281ee8>> * @flow * @lightSyntaxTransform * @nogrep @@ -31,7 +31,7 @@ import type { TestResolverContextType } from "../../../mutations/__tests__/TestR ) => ?string); declare export opaque type observeFragmentTestResolverErrorWithThrowOnFieldErrorFragment$fragmentType: FragmentType; export type observeFragmentTestResolverErrorWithThrowOnFieldErrorFragment$data = {| - +always_throws: ?string, + +always_throws: string | null, +$fragmentType: observeFragmentTestResolverErrorWithThrowOnFieldErrorFragment$fragmentType, |}; export type observeFragmentTestResolverErrorWithThrowOnFieldErrorFragment$key = { diff --git a/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestThrowOnFieldErrorFragment.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestThrowOnFieldErrorFragment.graphql.js index 538b971ded75b..3e77f4b69a039 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestThrowOnFieldErrorFragment.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/observeFragmentTestThrowOnFieldErrorFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<38f14b632b65c24cc98b62c897ad54bd>> + * @generated SignedSource<<7b289f6d8a45c8e6658cb96eea2f9823>> * @flow * @lightSyntaxTransform * @nogrep @@ -21,7 +21,7 @@ import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { FragmentType } from "relay-runtime"; declare export opaque type observeFragmentTestThrowOnFieldErrorFragment$fragmentType: FragmentType; export type observeFragmentTestThrowOnFieldErrorFragment$data = {| - +name: ?string, + +name: string | null, +$fragmentType: observeFragmentTestThrowOnFieldErrorFragment$fragmentType, |}; export type observeFragmentTestThrowOnFieldErrorFragment$key = { diff --git a/packages/relay-runtime/store/__tests__/__generated__/observeQueryTestMissingDataThrowOnFieldErrorQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/observeQueryTestMissingDataThrowOnFieldErrorQuery.graphql.js index 68dece5bca1aa..491578592f610 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/observeQueryTestMissingDataThrowOnFieldErrorQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/observeQueryTestMissingDataThrowOnFieldErrorQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<63b805928cad74aec1262eb1dfaf9298>> + * @generated SignedSource<> * @flow * @lightSyntaxTransform * @nogrep @@ -20,9 +20,9 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; export type observeQueryTestMissingDataThrowOnFieldErrorQuery$variables = {||}; export type observeQueryTestMissingDataThrowOnFieldErrorQuery$data = {| - +me: ?{| - +name: ?string, - |}, + +me: {| + +name: string | null, + |} | null, |}; export type observeQueryTestMissingDataThrowOnFieldErrorQuery = {| response: observeQueryTestMissingDataThrowOnFieldErrorQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/observeQueryTestResolverErrorWithThrowOnFieldErrorQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/observeQueryTestResolverErrorWithThrowOnFieldErrorQuery.graphql.js index 709be22e4c0e2..8d3b35c6aa25c 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/observeQueryTestResolverErrorWithThrowOnFieldErrorQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/observeQueryTestResolverErrorWithThrowOnFieldErrorQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<963d582c126eb3757e630e12c9d0594d>> * @flow * @lightSyntaxTransform * @nogrep @@ -30,9 +30,9 @@ import type { TestResolverContextType } from "../../../mutations/__tests__/TestR ) => ?string); export type observeQueryTestResolverErrorWithThrowOnFieldErrorQuery$variables = {||}; export type observeQueryTestResolverErrorWithThrowOnFieldErrorQuery$data = {| - +me: ?{| - +always_throws: ?string, - |}, + +me: {| + +always_throws: string | null, + |} | null, |}; export type observeQueryTestResolverErrorWithThrowOnFieldErrorQuery = {| response: observeQueryTestResolverErrorWithThrowOnFieldErrorQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/observeQueryTestThrowOnFieldErrorQuery.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/observeQueryTestThrowOnFieldErrorQuery.graphql.js index 83f5f33c10fa3..5f6b21739af96 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/observeQueryTestThrowOnFieldErrorQuery.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/observeQueryTestThrowOnFieldErrorQuery.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<4def5f761d617b4eba0fe481b0871928>> + * @generated SignedSource<<6ec587d6b7f5fffd780726a90418c46f>> * @flow * @lightSyntaxTransform * @nogrep @@ -20,9 +20,9 @@ import type { ConcreteRequest, Query } from 'relay-runtime'; export type observeQueryTestThrowOnFieldErrorQuery$variables = {||}; export type observeQueryTestThrowOnFieldErrorQuery$data = {| - +me: ?{| - +name: ?string, - |}, + +me: {| + +name: string | null, + |} | null, |}; export type observeQueryTestThrowOnFieldErrorQuery = {| response: observeQueryTestThrowOnFieldErrorQuery$data, diff --git a/packages/relay-runtime/store/__tests__/__generated__/waitForFragmentDataTestMissingDataThrowOnFieldErrorFragment.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/waitForFragmentDataTestMissingDataThrowOnFieldErrorFragment.graphql.js index 4f7371f3a95d9..05b9e4d33fd89 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/waitForFragmentDataTestMissingDataThrowOnFieldErrorFragment.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/waitForFragmentDataTestMissingDataThrowOnFieldErrorFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<6f9afb2d256bb7fbeebffa25cbe8db7e>> * @flow * @lightSyntaxTransform * @nogrep @@ -21,9 +21,9 @@ import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { FragmentType } from "relay-runtime"; declare export opaque type waitForFragmentDataTestMissingDataThrowOnFieldErrorFragment$fragmentType: FragmentType; export type waitForFragmentDataTestMissingDataThrowOnFieldErrorFragment$data = {| - +me: ?{| - +name: ?string, - |}, + +me: {| + +name: string | null, + |} | null, +$fragmentType: waitForFragmentDataTestMissingDataThrowOnFieldErrorFragment$fragmentType, |}; export type waitForFragmentDataTestMissingDataThrowOnFieldErrorFragment$key = { diff --git a/packages/relay-runtime/store/__tests__/__generated__/waitForFragmentDataTestResolverErrorWithThrowOnFieldErrorFragment.graphql.js b/packages/relay-runtime/store/__tests__/__generated__/waitForFragmentDataTestResolverErrorWithThrowOnFieldErrorFragment.graphql.js index 54c373e2878f3..70d8d1d401f7b 100644 --- a/packages/relay-runtime/store/__tests__/__generated__/waitForFragmentDataTestResolverErrorWithThrowOnFieldErrorFragment.graphql.js +++ b/packages/relay-runtime/store/__tests__/__generated__/waitForFragmentDataTestResolverErrorWithThrowOnFieldErrorFragment.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<> + * @generated SignedSource<<9b5e070b061d61d42467aea92cfac950>> * @flow * @lightSyntaxTransform * @nogrep @@ -31,7 +31,7 @@ import type { TestResolverContextType } from "../../../mutations/__tests__/TestR ) => ?string); declare export opaque type waitForFragmentDataTestResolverErrorWithThrowOnFieldErrorFragment$fragmentType: FragmentType; export type waitForFragmentDataTestResolverErrorWithThrowOnFieldErrorFragment$data = {| - +always_throws: ?string, + +always_throws: string | null, +$fragmentType: waitForFragmentDataTestResolverErrorWithThrowOnFieldErrorFragment$fragmentType, |}; export type waitForFragmentDataTestResolverErrorWithThrowOnFieldErrorFragment$key = { diff --git a/packages/relay-runtime/store/__tests__/resolvers/__generated__/UserLastNameThrowOnFieldErrorResolver.graphql.js b/packages/relay-runtime/store/__tests__/resolvers/__generated__/UserLastNameThrowOnFieldErrorResolver.graphql.js index b0746fc408e08..0e0cf5e375d91 100644 --- a/packages/relay-runtime/store/__tests__/resolvers/__generated__/UserLastNameThrowOnFieldErrorResolver.graphql.js +++ b/packages/relay-runtime/store/__tests__/resolvers/__generated__/UserLastNameThrowOnFieldErrorResolver.graphql.js @@ -6,7 +6,7 @@ * * @oncall relay * - * @generated SignedSource<<4b89f1b59113317652b754a41da9d662>> + * @generated SignedSource<<4caa8ab0a26bff9885ce6a111932ae72>> * @flow * @lightSyntaxTransform * @nogrep @@ -21,7 +21,7 @@ import type { Fragment, ReaderFragment } from 'relay-runtime'; import type { FragmentType } from "relay-runtime"; declare export opaque type UserLastNameThrowOnFieldErrorResolver$fragmentType: FragmentType; export type UserLastNameThrowOnFieldErrorResolver$data = {| - +lastName: ?string, + +lastName: string | null, +$fragmentType: UserLastNameThrowOnFieldErrorResolver$fragmentType, |}; export type UserLastNameThrowOnFieldErrorResolver$key = {