From 78218c0f3427ad79de003ac59cffb99b08f0ae7d Mon Sep 17 00:00:00 2001 From: eug-vs Date: Mon, 10 Aug 2020 13:47:02 +0300 Subject: fix: resolve eslint errors --- src/hooks/APIClient.ts | 23 ++++++++++++++--------- src/hooks/useAuth.tsx | 4 ++-- 2 files changed, 16 insertions(+), 11 deletions(-) (limited to 'src/hooks') 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 extends responseInterface { + 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 => { return useSWR( username && `/users?username=${username}`, (url: string) => get(url).then(response => response.data[0]) - ); + ) as Response; }; -export const useProfile = (id: string) => { - return useSWR(id && `/profiles/${id}`, fetcher, arrayOptions); +export const useProfile = (id: string): Response => { + return useSWR(id && `/profiles/${id}`, fetcher, arrayOptions) as Response; }; -export const useFeed = () => { - return useSWR('/feed', fetcher, { ...arrayOptions, revalidateOnFocus: false }); +export const useFeed = (): Response => { + return useSWR('/feed', fetcher, { ...arrayOptions, revalidateOnFocus: false }) as Response; }; -export const useFeedback = () => { - return useSWR('/feedback', fetcher, arrayOptions); +export const useFeedback = (): Response => { + return useSWR('/feedback', fetcher, arrayOptions) as Response; }; diff --git a/src/hooks/useAuth.tsx b/src/hooks/useAuth.tsx index ed1e428..2f03a33 100644 --- a/src/hooks/useAuth.tsx +++ b/src/hooks/useAuth.tsx @@ -8,14 +8,14 @@ import useLocalStorage from './useLocalStorage'; interface ContextType { - user: User | null, + user: User | undefined, login: (username: string, password: string, remember?: boolean) => Promise; logout: () => void; isAuthenticated: boolean; } const authContext = createContext({ - user: null, + user: undefined, login: async () => false, logout: () => {}, isAuthenticated: false -- cgit v1.2.3