-
Notifications
You must be signed in to change notification settings - Fork 1
/
ReasonReactApollo_Make.bs.js
92 lines (87 loc) · 3.38 KB
/
ReasonReactApollo_Make.bs.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// Generated by BUCKLESCRIPT VERSION 5.0.6, PLEASE EDIT WITH CARE
import * as Curry from "bs-platform/lib/es6/curry.js";
import * as Caml_obj from "bs-platform/lib/es6/caml_obj.js";
import * as Belt_Option from "bs-platform/lib/es6/belt_Option.js";
import * as Caml_option from "bs-platform/lib/es6/caml_option.js";
import * as ReactHooks from "@apollo/react-hooks";
function mapEmptyObject(data) {
var match = Caml_obj.caml_equal(data, { });
if (match) {
return undefined;
} else {
return Caml_option.some(data);
}
}
function MakeProject(Config) {
var MakeQuery = function (QueryConfig) {
var mapOnCompleted = function (oc, jsData) {
return Curry._1(oc, Curry._1(Config[/* parse */0], jsData));
};
var useQuery = function (query, displayName, skip, variables, fetchPolicy, errorPolicy, pollInterval, client, notifyOnNetworkStatusChange, context, partialRefetch, returnPartialData, ssr, onCompleted, onError, param) {
var tmp = { };
if (displayName !== undefined) {
tmp.displayName = Caml_option.valFromOption(displayName);
}
if (skip !== undefined) {
tmp.skip = Caml_option.valFromOption(skip);
}
var tmp$1 = Belt_Option.map(variables, QueryConfig[/* parse */0]);
if (tmp$1 !== undefined) {
tmp.variables = Caml_option.valFromOption(tmp$1);
}
if (fetchPolicy !== undefined) {
tmp.fetchPolicy = Caml_option.valFromOption(fetchPolicy);
}
if (errorPolicy !== undefined) {
tmp.errorPolicy = Caml_option.valFromOption(errorPolicy);
}
if (pollInterval !== undefined) {
tmp.pollInterval = Caml_option.valFromOption(pollInterval);
}
if (client !== undefined) {
tmp.client = Caml_option.valFromOption(client);
}
if (notifyOnNetworkStatusChange !== undefined) {
tmp.notifyOnNetworkStatusChange = Caml_option.valFromOption(notifyOnNetworkStatusChange);
}
if (context !== undefined) {
tmp.context = Caml_option.valFromOption(context);
}
if (partialRefetch !== undefined) {
tmp.partialRefetch = Caml_option.valFromOption(partialRefetch);
}
if (returnPartialData !== undefined) {
tmp.returnPartialData = Caml_option.valFromOption(returnPartialData);
}
if (ssr !== undefined) {
tmp.ssr = Caml_option.valFromOption(ssr);
}
var tmp$2 = Belt_Option.map(onCompleted, mapOnCompleted);
if (tmp$2 !== undefined) {
tmp.onCompleted = Caml_option.valFromOption(tmp$2);
}
if (onError !== undefined) {
tmp.onError = Caml_option.valFromOption(onError);
}
var opt = tmp;
var response = ReactHooks.useQuery(query, opt);
return /* record */[
/* data */Belt_Option.map(Belt_Option.flatMap(Caml_option.undefined_to_opt(response.data), mapEmptyObject), Config[/* parse */0]),
/* loading */response.loading,
/* error */Caml_option.undefined_to_opt(response.error),
/* variables */Curry._1(QueryConfig[/* parse */0], response.variables),
/* networkStatus */response.networkStatus
];
};
return /* module */[
/* mapOnCompleted */mapOnCompleted,
/* useQuery */useQuery
];
};
return /* module */[/* MakeQuery */MakeQuery];
}
export {
mapEmptyObject ,
MakeProject ,
}
/* @apollo/react-hooks Not a pure module */