@@ -70,8 +70,9 @@ type operation = {
7070/* The result of the GraphQL operation. */
7171type operationResult = {
7272 operation,
73- data: option (Js . Json . t ),
73+ data: Js . Nullable . t (Js . Json . t ),
7474 error: option (CombinedError . combinedErrorJs ),
75+ extensions: option (Js . Dict . t (string )),
7576 stale: option (bool ),
7677};
7778
@@ -99,22 +100,22 @@ type response('response) =
99100 | Error (CombinedError . t)
100101 | Empty ;
101102
102- type hookResponse (' response , ' extensions ) = {
103+ type hookResponse (' response ) = {
103104 operation,
104105 fetching: bool,
105106 data: option('response),
106107 error: option(CombinedError . t),
107108 response: response('response),
108- extensions: option('extensions ),
109+ extensions: option(Js . Json . t ),
109110 stale: bool,
110111};
111112
112- type hookResponseJs (' response , ' extensions ) = {
113+ type hookResponseJs (' response ) = {
113114 operation,
114115 fetching: bool,
115- data: option ('response),
116+ data: Js . Nullable . t ('response),
116117 error: option(CombinedError . combinedErrorJs),
117- extensions: option('extensions ),
118+ extensions: option(Js . Json . t ),
118119 stale: bool,
119120};
120121
@@ -123,11 +124,12 @@ type hookResponseJs('response, 'extensions) = {
123124 * JavaScript representation to a typed Reason record.
124125 */
125126let urqlResponseToReason = (~response, ~parse) => {
126- let data = Belt . Option . map(response. data, parse);
127- let error =
128- Belt . Option . map(response. error, CombinedError . combinedErrorToRecord);
129127 let {operation, fetching, extensions, stale} = response;
130128
129+ let data = response. data-> Js . Nullable . toOption-> Belt . Option . map(parse);
130+ let error =
131+ response. error-> Belt . Option . map(CombinedError . combinedErrorToRecord);
132+
131133 let response =
132134 switch (fetching, data, error) {
133135 | (true , None , _ ) => Fetching
@@ -154,5 +156,4 @@ type graphqlDefinition('parseResult, 'composeReturnType, 'hookReturnType) = (
154156type executionResult = {
155157 errors: option (array (GraphQLError . t )),
156158 data: option (Js . Json . t ),
157- extensions: Js . Json . t ,
158159};
0 commit comments