UNPKG

cheetah-framework

Version:

Cheetah Framework JS used in all our applications

37 lines (31 loc) 811 B
import * as Library from './factory' const defaultOptions = { broadcastListener: true, subscribe (mutation, state) {}, subscribeAction (action, state) {}, state: {}, mutations: {}, getters: {}, actions: {} } class StoreFactory { static make (options) { options = _.defaults(options, defaultOptions) const Model = options.model const getters = _.extend(Library.buildGetters(Model), options.getters) const actions = _.extend(Library.buildActions(Model), options.actions) const mutations = _.extend(Library.buildMutations(Model), options.mutations) const state = _.extend(options.state, { items: [], loaded: false }) return { namespaced: true, state, getters, actions, mutations } } } export default StoreFactory