44- [ ` Provider.make() ` ] ( #providermake )
55- [ ` DevTools.make(...) ` ] ( #devtoolsmake )
66- [ ` useQueryClient ` ] ( #usequeryclient )
7+ - [ ` queryClient ` ] ( #queryclient )
78- [ ` useQuery ` ] ( #usequery )
9+ - [ ` queryOptions ` ] ( #queryoptions )
810- [ ` useMutation ` ] ( #usemutation )
11+ - [ ` mutationOptions ` ] ( #mutationoptions )
912
1013
1114### ` Provider.createClient() `
@@ -80,6 +83,67 @@ Usage:
8083 let queryClient = useQueryClient()
8184```
8285
86+ ### ` queryClient `
87+ Type responsible for the return of the useQueryClient hook
88+
89+ Definition:
90+ ``` rescript
91+ type queryClient<'queryKey, 'queryData, 'queryError, 'pageParams> = {
92+ fetchQuery: fetchQueryOptions<'queryKey, 'queryData, 'queryError, 'pageParams> => Js.Promise.t<
93+ 'queryData,
94+ >,
95+ fetchInfiniteQuery: fetchQueryOptions<
96+ 'queryKey,
97+ 'queryData,
98+ 'queryError,
99+ 'pageParams,
100+ > => Js.Promise.t<ReactQuery_Types.infiniteData<'queryData>>,
101+ prefetchQuery: fetchQueryOptions<'queryKey, 'queryData, 'queryError, 'pageParams> => Js.Promise.t<
102+ unit,
103+ >,
104+ prefetchInfiniteQuery: fetchQueryOptions<
105+ 'queryKey,
106+ 'queryData,
107+ 'queryError,
108+ 'pageParams,
109+ > => Js.Promise.t<unit>,
110+ getQueryData: 'queryKey => option<'queryData>,
111+ setQueryData: ('queryKey, option<'queryData>) => 'queryData,
112+ getQueryState: (
113+ 'queryKey,
114+ ReactQuery_Types.queryFilter<'queryKey>,
115+ ) => queryState<'queryData, 'queryError>,
116+ setQueriesData: (
117+ ReactQuery_Types.queryDataKeyOrFilterValue<'queryKey>,
118+ option<'queryData> => 'queryData,
119+ ) => unit,
120+ invalidateQueries: (
121+ option<ReactQuery_Types.queryFilter<'queryKey>>,
122+ option<clientRefetchOptions>,
123+ ) => Js.Promise.t<unit>,
124+ refetchQueries: (
125+ option<ReactQuery_Types.queryFilter<'queryKey>>,
126+ option<clientRefetchOptions>,
127+ ) => Js.Promise.t<unit>,
128+ cancelQueries: option<ReactQuery_Types.queryFilter<'queryKey>> => Js.Promise.t<unit>,
129+ removeQueries: option<ReactQuery_Types.queryFilter<'queryKey>> => Js.Promise.t<unit>,
130+ resetQueries: (
131+ option<ReactQuery_Types.queryFilter<'queryKey>>,
132+ option<clientRefetchOptions>,
133+ ) => Js.Promise.t<unit>,
134+ isFetching: option<ReactQuery_Types.queryFilter<'queryKey>> => bool,
135+ isMutating: option<ReactQuery_Types.queryFilter<'queryKey>> => bool,
136+ clear: unit => unit,
137+ }
138+ ```
139+
140+ Usage:
141+
142+ ``` rescript
143+ let queryClient = useQueryClient()
144+ queryClient.fetchQuery(fetchQueryOptions(~queryKey=["articles"], ~retryOnMount=true))
145+ ```
146+
83147### ` useQuery `
84148
85149The hook responsible to get loading, error, and data when fetching data from an api
@@ -102,9 +166,59 @@ Usage:
102166 })
103167```
104168
169+ ### ` queryOptions `
170+ Type responsible for hold parameters for the useQuery hook
171+
172+ Definition:
173+ ``` rescript
174+ type queryOptions<'queryKey, 'queryData, 'queryError, 'pageParam> = {
175+ queryKey?: array<'queryKey>,
176+ queryFn?: ReactQuery_Types.queryFunctionContext<array<'queryKey>, 'pageParam> => Js.Promise.t<
177+ 'queryData,
178+ >,
179+ enabled?: bool,
180+ retry?: ReactQuery_Types.retryValue<'queryError>,
181+ retryOnMount?: bool,
182+ retryDelay?: ReactQuery_Types.retryDelayValue<'queryError>,
183+ staleTime?: ReactQuery_Types.timeValue,
184+ queryKeyHashFn?: array<'queryKey> => string,
185+ refetchInterval?: ReactQuery_Types.refetchIntervalValue,
186+ refetchIntervalInBackground?: bool,
187+ refetchOnMount?: ReactQuery_Types.boolOrAlwaysValue,
188+ refetchOnWindowFocus?: ReactQuery_Types.boolOrAlwaysValue,
189+ refetchOnReconnect?: ReactQuery_Types.boolOrAlwaysValue,
190+ notifyOnChangeProps?: ReactQuery_Types.notifyOnChangePropsValue,
191+ notifyOnChangePropsExclusions?: array<string>,
192+ onSuccess?: 'queryData => unit,
193+ onError?: 'queryError => unit,
194+ onSettled?: ('queryData, 'queryError) => unit,
195+ select?: 'queryData => 'queryData,
196+ suspense?: bool,
197+ keepPreviousData?: bool,
198+ structuralSharing?: bool,
199+ useErrorBoundary?: bool,
200+ initialData?: 'queryData => 'queryData,
201+ initialDataUpdatedAt?: unit => int,
202+ placeholderData?: unit => 'queryData,
203+ }
204+ ```
205+
206+ Usage:
207+
208+ ``` rescript
209+ let queryOptions = {
210+ queryKey: ["articles"],
211+ queryFn: () => fetchArticles()
212+ }
213+ let queryResult = useQuery(queryOptions)
214+
215+ ```
216+
105217
106218### ` useMutation `
107219
220+ The hook responsible to mutate a query, when update/create/delete anything
221+
108222Definition:
109223
110224``` rescript
@@ -124,3 +238,46 @@ Usage:
124238 mutationFn: () => addArticle(article)
125239 })
126240```
241+
242+ ### ` mutationOptions `
243+ Type responsible for hold the parameters for the useMutation hook
244+
245+ Definition:
246+
247+ ``` rescript
248+ type mutationOptions<'mutationVariables, 'mutationData, 'mutationError, 'unknown> = {
249+ mutationKey: array<string>,
250+ mutationFn: 'mutationVariables => Js.Promise.t<'mutationData>,
251+ onMutate?: 'mutationVariables => Js.Promise.t<mutationContext>,
252+ onSuccess?: (
253+ 'mutationData,
254+ 'mutationVariables,
255+ Js.Nullable.t<mutationContext>,
256+ ) => Js.Promise.t<'unknown>,
257+ onError?: (
258+ 'mutationError,
259+ 'mutationVariables,
260+ Js.Nullable.t<mutationContext>,
261+ ) => Js.Promise.t<'unknown>,
262+ onSettled?: (
263+ 'mutationData,
264+ 'mutationError,
265+ 'mutationVariables,
266+ Js.Nullable.t<mutationContext>,
267+ ) => Js.Promise.t<'unknown>,
268+ retry?: ReactQuery_Types.retryValue<'mutationError>,
269+ retryDelay?: ReactQuery_Types.retryDelayValue<'mutationError>,
270+ useErrorBoundary?: bool,
271+ }
272+ ```
273+
274+ Usage:
275+
276+ ``` rescript
277+ let mutationOptions = {
278+ mutationKey: ["articles"],
279+ mutationFn: () => addArticle(article)
280+ }
281+
282+ let mutationResult = useMutation(mutationOptions)
283+ ```
0 commit comments