UNPKG

mattermost-redux

Version:

Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client

43 lines (41 loc) 1.04 kB
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. import {RequestStatus} from '../../constants'; import {GenericAction} from 'types/actions'; import {RequestStatusType} from 'types/requests'; export function initialRequestState(): RequestStatusType { return { status: RequestStatus.NOT_STARTED, error: null, }; } export function handleRequest( REQUEST: string, SUCCESS: string, FAILURE: string, state: RequestStatusType, action: GenericAction, ): RequestStatusType { switch (action.type) { case REQUEST: return { ...state, status: RequestStatus.STARTED, }; case SUCCESS: return { ...state, status: RequestStatus.SUCCESS, error: null, }; case FAILURE: { return { ...state, status: RequestStatus.FAILURE, error: action.error, }; } default: return state; } }