Migrated remoteServers reducer to TS

This commit is contained in:
Alejandro Celaya
2020-08-23 11:58:43 +02:00
parent 3e2fee0df5
commit 0b4a348969
2 changed files with 14 additions and 8 deletions

View File

@@ -1,19 +1,22 @@
import { pipe, prop } from 'ramda';
import { AxiosInstance } from 'axios';
import { Dispatch } from 'redux';
import { homepage } from '../../../package.json';
import { ServerData } from '../data';
import { createServers } from './servers';
const responseToServersList = pipe(
prop('data'),
(value) => {
if (!Array.isArray(value)) {
prop<any, any>('data'),
(data: any): ServerData[] => {
if (!Array.isArray(data)) {
throw new Error('Value is not an array');
}
return value;
return data as ServerData[];
},
);
export const fetchServers = ({ get }) => () => async (dispatch) => {
export const fetchServers = ({ get }: AxiosInstance) => () => async (dispatch: Dispatch) => {
const remoteList = await get(`${homepage}/servers.json`)
.then(responseToServersList)
.catch(() => []);