import { UserDecision } from '@usercentrics/cmp-browser-sdk'; import { Decision } from './types'; import { ActionMap } from '../../utils/types'; export enum DecisionsActionTypes { InitFromItems = 'INIT_FROM_ITEMS', Update = 'UPDATE', } interface DecisionsPayload { [DecisionsActionTypes.InitFromItems]: Decision[]; [DecisionsActionTypes.Update]: UserDecision; } export type DecisionsActions = ActionMap[keyof ActionMap]; export const initFromItems = (payload: DecisionsPayload[DecisionsActionTypes.InitFromItems]): DecisionsActions => ({ payload, type: DecisionsActionTypes.InitFromItems, }); export const update = (payload: DecisionsPayload[DecisionsActionTypes.Update]): DecisionsActions => ({ payload, type: DecisionsActionTypes.Update, }); export const decisionsActions = { initFromItems, update, };