diff options
Diffstat (limited to 'src/hooks/APIClient.ts')
-rw-r--r-- | src/hooks/APIClient.ts | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/hooks/APIClient.ts b/src/hooks/APIClient.ts new file mode 100644 index 0000000..d3c4542 --- /dev/null +++ b/src/hooks/APIClient.ts @@ -0,0 +1,17 @@ +import useSWR, { responseInterface } from 'swr'; +import { get } from '../requests'; +import { User, Event } from '../types'; + +type Response<T> = responseInterface<T, Error>; + +const fetcher = (endpoint: string) => get(endpoint).then(response => response.data); + + +export const useUser = (id: string): Response<User> => { + return useSWR(id && `/users/${id}`, fetcher); +}; + +export const useEvents = (): Response<Event[]> => { + return useSWR(`/events`, fetcher); +}; + |