mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2024-11-25 19:13:56 +03:00
83 lines
1.5 KiB
TypeScript
83 lines
1.5 KiB
TypeScript
import * as types from '../constants/ActionTypes';
|
|
|
|
interface AddTodoAction {
|
|
type: typeof types.ADD_TODO;
|
|
text: string;
|
|
}
|
|
export function addTodo(text: string): AddTodoAction {
|
|
return {
|
|
type: types.ADD_TODO,
|
|
text,
|
|
};
|
|
}
|
|
|
|
interface DeleteTodoAction {
|
|
type: typeof types.DELETE_TODO;
|
|
id: number;
|
|
}
|
|
export function deleteTodo(id: number): DeleteTodoAction {
|
|
return {
|
|
type: types.DELETE_TODO,
|
|
id,
|
|
};
|
|
}
|
|
|
|
interface EditTodoAction {
|
|
type: typeof types.EDIT_TODO;
|
|
id: number;
|
|
text: string;
|
|
}
|
|
export function editTodo(id: number, text: string): EditTodoAction {
|
|
return {
|
|
type: types.EDIT_TODO,
|
|
id,
|
|
text,
|
|
};
|
|
}
|
|
|
|
interface MarkTodoAction {
|
|
type: typeof types.MARK_TODO;
|
|
id: number;
|
|
}
|
|
export function markTodo(id: number): MarkTodoAction {
|
|
return {
|
|
type: types.MARK_TODO,
|
|
id,
|
|
};
|
|
}
|
|
|
|
interface MarkAllAction {
|
|
type: typeof types.MARK_ALL;
|
|
}
|
|
export function markAll(): MarkAllAction {
|
|
return {
|
|
type: types.MARK_ALL,
|
|
};
|
|
}
|
|
|
|
interface ClearMarkedAction {
|
|
type: typeof types.CLEAR_MARKED;
|
|
}
|
|
export function clearMarked(): ClearMarkedAction {
|
|
return {
|
|
type: types.CLEAR_MARKED,
|
|
};
|
|
}
|
|
|
|
export type TodoAction =
|
|
| AddTodoAction
|
|
| DeleteTodoAction
|
|
| EditTodoAction
|
|
| MarkTodoAction
|
|
| MarkAllAction
|
|
| ClearMarkedAction;
|
|
|
|
export interface TodoActions {
|
|
addTodo(text: string): AddTodoAction;
|
|
deleteTodo(id: number): DeleteTodoAction;
|
|
editTodo(id: number, text: string): EditTodoAction;
|
|
markTodo(id: number): MarkTodoAction;
|
|
markAll(): MarkAllAction;
|
|
clearMarked(): ClearMarkedAction;
|
|
}
|