import {Action, AnyAction} from 'typescript-fsa'; import {takeLatest} from 'typed-redux-saga'; import {SagaIterator} from 'redux-saga'; import {FormEngineActions} from '@com.mgmtp.a12.client/client-core/lib/extensions/form-engine'; export function* documentUploadSaga(): SagaIterator { yield* takeLatest( eventButtonTrigger, handleDocumentUpload ); } export const eventButtonTrigger = (action: AnyAction) => FormEngineActions.event.match(action) && action?.payload?.engineEvent?.type === "form-engine/event/MULTI_FILE_UPLOAD"; export function* handleDocumentUpload({payload}: Action): SagaIterator { const toBeAdded = payload.engineEvent.payload.toBeAdded; payload.engineEvent.payload.toBeAdded = toBeAdded.map((attachment: any) => ( { ...attachment, category: 'UPLOAD', } )); }