import { Action } from 'redux'; import { ISettings, TSettings } from '../reducers/settings'; import { SETTINGS } from './actionsTypes'; interface IAddSettings extends Action { payload: ISettings; } interface IUpdateSettings extends Action { payload: { id: string; value: TSettings }; } export type IActionSettings = IAddSettings & IUpdateSettings; export function addSettings(settings: ISettings): IAddSettings { return { type: SETTINGS.ADD, payload: settings }; } export function updateSettings(id: string, value: TSettings): IUpdateSettings { return { type: SETTINGS.UPDATE, payload: { id, value } }; } export function clearSettings(): Action { return { type: SETTINGS.CLEAR }; }