import { useCallback, useEffect, useRef } from 'react'; import { useAsyncFetcher } from './useAsyncFetcher'; export function useApi() { const asyncFetcher = useAsyncFetcher(); const v1 = { login: useCallback( async (args) => { const { username, password } = args; console.log('nik submitting with username', username); console.log('nik submitting with password', password); const ret = asyncFetcher.submit({ username, password }, { action: '/api/v1/login' }); return ret; }, [asyncFetcher] ), mongodb: { rawResults: useCallback( async (args) => { const { query } = args; console.log('submitting query', query); const ret = asyncFetcher.submit({ query }, { action: '/api/v1/mongodb/raw-results' }); return ret; }, [asyncFetcher] ) } }; const ret = { v1 }; return ret; }