Generate Apollo › customDecoder.re › output [@ocaml.ppx.context { tool_name: \"migrate_driver\", include_dirs: [], load_path: [], open_modules: [], for_package: None, debug: false, use_threads: false, use_vmthreads: false, recursive_types: false, principal: false, transparent_modules: false, unboxed_types: false, unsafe_string: false, cookies: [], } ]; module StringOfInt = { let parse = string_of_int; let serialize = int_of_string; type t = string; }; module IntOfString = { let parse = int_of_string; let serialize = string_of_int; type t = int; }; module MyQuery: { module Raw: { type t_variousScalars = { __typename: string, string, int, }; type t = {variousScalars: t_variousScalars}; type t_variables = unit; }; type t_variousScalars = { __typename: string, string: IntOfString.t, int: StringOfInt.t, }; type t = {variousScalars: t_variousScalars}; type t_variables = unit; /** The GraphQL query */ let query: string; /** Parse the JSON-compatible GraphQL data to ReasonML data types */ let parse: Raw.t => t; /** Serialize the ReasonML GraphQL data that was parsed using the parse function back to the original JSON compatible data */ let serialize: t => Raw.t; let serializeVariables: unit => unit; let makeVariables: unit => unit; let makeDefaultVariables: unit => t_variables; external unsafe_fromJson: Js.Json.t => Raw.t = \"%identity\"; external toJson: Raw.t => Js.Json.t = \"%identity\"; external variablesToJson: Raw.t_variables => Js.Json.t = \"%identity\"; } = { [@ocaml.warning \"-32\"]; module Raw = { type t_variousScalars = { __typename: string, string, int, }; type t = {variousScalars: t_variousScalars}; type t_variables = unit; }; type t_variousScalars = { __typename: string, string: IntOfString.t, int: StringOfInt.t, }; type t = {variousScalars: t_variousScalars}; type t_variables = unit; let query = \"query {\\nvariousScalars {\\n__typename \\nstring \\nint \\n}\\n\\n}\\n\"; let parse: Raw.t => t = (value) => ( { variousScalars: { let value = (value: Raw.t).variousScalars; ( { __typename: { let value = (value: Raw.t_variousScalars).__typename; value; }, string: { let value = (value: Raw.t_variousScalars).string; IntOfString.parse(value); }, int: { let value = (value: Raw.t_variousScalars).int; StringOfInt.parse(value); }, }: t_variousScalars ); }, }: t ); let serialize: t => Raw.t = (value) => ( { let variousScalars = { let value = (value: t).variousScalars; ( { let int = { let value = (value: t_variousScalars).int; let value = StringOfInt.serialize(value); value; } and string = { let value = (value: t_variousScalars).string; let value = IntOfString.serialize(value); value; } and __typename = { let value = (value: t_variousScalars).__typename; value; }; {__typename, string, int}; }: Raw.t_variousScalars ); }; {variousScalars: variousScalars}; }: Raw.t ); let serializeVariables = () => (); let makeVariables = () => (); let makeDefaultVariables = () => makeVariables(); external unsafe_fromJson: Js.Json.t => Raw.t = \"%identity\"; external toJson: Raw.t => Js.Json.t = \"%identity\"; external variablesToJson: Raw.t_variables => Js.Json.t = \"%identity\"; };