UNPKG

@equinor/fusion-observable

Version:
24 lines 1.14 kB
/* eslint-disable @typescript-eslint/no-explicit-any */ import { actionSuffixDivider, createAction, matchActionSuffix, } from './create-action'; export function createAsyncAction(type, request, success, failure) { const action = createAction([type, 'request'].join(actionSuffixDivider), request); if (success) { Object.assign(action, { success: createAction([type, 'success'].join(actionSuffixDivider), success), }); } if (failure) { Object.assign(action, { failure: createAction([type, 'failure'].join(actionSuffixDivider), failure), }); } return action; } export function isActionWithSuffix(action, suffix) { return !!action.type.match(matchActionSuffix(suffix)); } export const isRequestAction = (action) => isActionWithSuffix(action, 'request'); export const isSuccessAction = (action) => isActionWithSuffix(action, 'success'); export const isFailureAction = (action) => isActionWithSuffix(action, 'failure'); export const isCompleteAction = (action) => isSuccessAction(action) || isFailureAction(action); //# sourceMappingURL=create-async-action.js.map