extends (a1: any, a2: infer I) => any ? I : never type T = typeof addTodo type U = A2<typeof addTodo> type T = (state: State, todo: Todo) => void type U = Todo inferred
type A2<T> = T extends (a1: any, a2: infer I) => any ? I : never type T = typeof addTodo type U = A2<typeof addTodo> type T = (state: State, todo: Todo) => void type U = Todo inferred
T extends (a1: any, a2: infer I) => any ? I : never type T = typeof addTodo type U = A2<typeof addTodo> type T = (state: State, todo: Todo) => void type U = Todo inferred
extends (a1: any, a2: infer I) => any ? I : never type T = typeof addTodo type U = A2<typeof addTodo> type T = (state: State, todo: Todo) => void type U = Todo inferred
extends (a1: any, a2: infer I) => any ? I : never type T = typeof addTodo type U = A2<typeof addTodo> type T = (state: State, todo: Todo) => void type U = Todo inferred
mutations = { addTodo(state: State, payload: { todo: Todo }) { state.todos.push(payload.todo) } } type T = A2<typeof mutations['addTodo']> type T = { todo: Todo }
mutations = { addTodo(state: State, payload: { todo: Todo }) { state.todos.push(payload.todo) } } type T = A2<typeof mutations['addTodo']> type T = { todo: Todo }
= { addTodo(state: State, payload: { todo: Todo }) { state.todos.push(payload.todo) } } type T = A2<typeof mutations['addTodo']> type T = { todo: Todo }
const mutations = { addTodo(state: State, payload: { todo: Todo }) { state.todos.push(payload.todo) } } type T = A2<typeof mutations['addTodo']> type T = { todo: Todo }
{ doneCount(state: State) { return state.todos.filter(todo => todo.done).length } } type T = ReturnType<typeof getters['doneCount']> type T = number this.$store.getters['todos/doneCount']