sharyn
Version:
Combines all the other packages under one.
41 lines (34 loc) • 1.28 kB
Flow
// @flow
import {
SHARYN_ASYNC_REQUEST,
SHARYN_ASYNC_SUCCESS,
SHARYN_ASYNC_FAILURE,
SHARYN_FETCH_PAGE_REQUEST,
SHARYN_FETCH_PAGE_SUCCESS,
SHARYN_FETCH_PAGE_FAILURE,
SHARYN_NAVIGATION,
} from './actions'
import { clearAsync, delAsyncEntry, setAsyncRequest } from './async-reductions'
// eslint-disable-next-line no-unused-vars
export const asyncNavigationCase = (asyncState: Object, payload?: any) => [
SHARYN_NAVIGATION,
() => clearAsync('page')(asyncState),
]
// eslint-disable-next-line no-unused-vars
export const asyncFetchPageRequestCase = (asyncState: Object, payload?: any) => [
SHARYN_FETCH_PAGE_REQUEST,
() => setAsyncRequest(asyncState, { key: 'page' }),
]
export const asyncAsyncRequestCase = (asyncState: Object, payload: string) => [
SHARYN_ASYNC_REQUEST,
() => setAsyncRequest(asyncState, { key: payload }),
]
export const asyncAsyncSuccessOrFailureCase = (asyncState: Object, payload: Object) => [
[SHARYN_ASYNC_SUCCESS, SHARYN_ASYNC_FAILURE],
() => delAsyncEntry(payload.asyncKey)(asyncState),
]
// eslint-disable-next-line no-unused-vars
export const asyncFetchPageSuccessOrFailureCase = (asyncState: Object, payload?: any) => [
[SHARYN_FETCH_PAGE_SUCCESS, SHARYN_FETCH_PAGE_FAILURE],
() => delAsyncEntry('page')(asyncState),
]