diff options
| author | eug-vs <eug-vs@keemail.me> | 2020-08-10 13:47:02 +0300 | 
|---|---|---|
| committer | eug-vs <eug-vs@keemail.me> | 2020-08-10 13:47:02 +0300 | 
| commit | 78218c0f3427ad79de003ac59cffb99b08f0ae7d (patch) | |
| tree | 1d5220d68ab8ebb392c87038f2fc24cc72b28775 /src/hooks/APIClient.ts | |
| parent | 35fcdceb8f04fe333d45c5b1cb7ba395352c92d6 (diff) | |
| download | which-ui-78218c0f3427ad79de003ac59cffb99b08f0ae7d.tar.gz | |
fix: resolve eslint errors
Diffstat (limited to 'src/hooks/APIClient.ts')
| -rw-r--r-- | src/hooks/APIClient.ts | 23 | 
1 files changed, 14 insertions, 9 deletions
| diff --git a/src/hooks/APIClient.ts b/src/hooks/APIClient.ts index 2322af4..9563bd6 100644 --- a/src/hooks/APIClient.ts +++ b/src/hooks/APIClient.ts @@ -1,7 +1,12 @@ -import useSWR from 'swr'; +import useSWR, { responseInterface } from 'swr'; +import { User, Poll, Feedback } from 'which-types';  import { get } from '../requests'; +interface Response<T> extends responseInterface<T, Error> { +  data: T; +} +  const fetcher = (endpoint: string) => get(endpoint).then(response => response.data);  const arrayOptions = { @@ -9,21 +14,21 @@ const arrayOptions = {    revalidateOnMount: true  }; -export const useUser = (username: string | null) => { +export const useUser = (username: string | null): Response<User> => {    return useSWR(      username && `/users?username=${username}`,      (url: string) => get(url).then(response => response.data[0]) -  ); +  ) as Response<User>;  }; -export const useProfile = (id: string) => { -  return useSWR(id && `/profiles/${id}`, fetcher, arrayOptions); +export const useProfile = (id: string): Response<Poll[]> => { +  return useSWR(id && `/profiles/${id}`, fetcher, arrayOptions) as Response<Poll[]>;  }; -export const useFeed = () => { -  return useSWR('/feed', fetcher, { ...arrayOptions, revalidateOnFocus: false }); +export const useFeed = (): Response<Poll[]> => { +  return useSWR('/feed', fetcher, { ...arrayOptions, revalidateOnFocus: false }) as Response<Poll[]>;  }; -export const useFeedback = () => { -  return useSWR('/feedback', fetcher, arrayOptions); +export const useFeedback = (): Response<Feedback[]> => { +  return useSWR('/feedback', fetcher, arrayOptions) as Response<Feedback[]>;  }; | 
