2.0.0-rc.3 • Published 8 years ago

vuex-promise v2.0.0-rc.3

Weekly downloads
4
License
MIT
Repository
github
Last release
8 years ago

VUEX-PROMISE

:two_hearts: A Promise Plugin for Vuex, compatible with 2.0.0-rc

Travis Coveralls dependencies devDependency Status NPM version

Change Log

  • 20160807 :warning: Breaking Changes
    • modify meta structure

Usage

set plugin in store

import createPromise from 'vuex-promise'

export default new Vuex.Store({
  strict: __DEV__,
  ...,
  plugins: [createPromise({
    debug: __DEV__,
    status: {
      PENDING: 'PROMISE_PENDING',
      SUCCESS: 'PROMISE_SUCCESS',
      FAILURE: 'PROMISE_FAILURE',
      FINALLY: 'PROMISE_FINALLY'
    },
    silent: false
  })]
})

define module with getters and actions

import request from 'plato-request'

import {
  GET_COMMITS
} from '../types'

import {
  PROMISE_SUCCESS
} from '../constants'

const state = {
  commits: null
}

const getters = {
  commits: state => state.commits
}

const actions = {
  getCommits ({ commit }, payload) {
    commit(GET_COMMITS, request('{base}/commits?sha=', {
      params: {
        base: 'https://api.github.com/repos/crossjs/plato'
      },
      query: {
        per_page: 3
      },
      headers: {
        'Accept': 'application/vnd.github.v3+json'
      }
    }))
  }
}

const mutations = {
  [GET_COMMITS] (state, { payload, meta }) {
    if (meta && meta.promise === PROMISE_SUCCESS) {
      state.commits = payload
    }
  }
}

export default {
  state,
  getters,
  actions,
  mutations
}

License

MIT

2.0.0-rc.3

8 years ago

2.0.0-rc.2

8 years ago

2.0.0-rc.1

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago

0.0.1

8 years ago

0.0.0

8 years ago