import createAction, { PayloadCreator, TsActionCreator, identity } from './create-action'; export default < PStart, AStart extends any[] = [PStart], PSuc = PStart, ASuc extends any[] = AStart, PErr = Error, AErr extends any[] = [PErr] >( name: string, startPc: PayloadCreator = identity, sucPc: PayloadCreator = identity, errPc: PayloadCreator = identity, ): [ TsActionCreator, TsActionCreator, TsActionCreator, ] => [ createAction(name, startPc), createAction(`${name}/SUCCESS`, sucPc), createAction(`${name}/ERROR`, errPc), ];