HerringtonDarkholme / kilimanjaro

typed vuex 2.0
62 stars 4 forks source link

Possibility to use native vuex API #6

Closed HerringtonDarkholme closed 7 years ago

HerringtonDarkholme commented 7 years ago
type Action = {
  action1: string,
  action2: number
}

type Mutation = {
  commit1: string,
  commit2: number
}

new Store({
  state: {
  },
  actions: {
    action1(state, payload) {},
    action2(state, payload) {}
  }
  mutations: {
    commit1(state, payload) {},
    commit2(state, payload) {}
  }
})

Because we have mapped type, action1 and action2 can be typed.

HerringtonDarkholme commented 7 years ago

We cannot ensure every action/mutation must be defined, which is not possible.