UNPKG

@owlsdepartment/vuex-typed

Version:

Package for writing typed Vuex store with component helpers

44 lines (43 loc) 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getModuleImports = exports.getModule = void 0; var getState_1 = require("./getState"); var getGetters_1 = require("./getGetters"); var getMutations_1 = require("./getMutations"); var getActions_1 = require("./getActions"); var fields = ['state', 'getters', 'mutations', 'actions']; var methods = { state: getState_1.getState, getters: getGetters_1.getGetters, mutations: getMutations_1.getMutations, actions: getActions_1.getActions }; /** * Get Vuex module elements, mapped for export */ function getModule(module, namespace) { if (namespace === void 0) { namespace = ''; } var namespaced = !!module.namespaced; var out = {}; if (namespaced && !namespace) { throw new Error('[vuex-typed] Module is namespaced, but the namespace argument wasn\'t provided!'); } for (var _i = 0, fields_1 = fields; _i < fields_1.length; _i++) { var field = fields_1[_i]; var method = methods[field]; var entry = module[field]; if (entry) { out[field] = method(entry, namespace); } else { out[field] = {}; } } return out; } exports.getModule = getModule; /** * Get Vuex module elements, mapped for export * Alias for `getModule` */ exports.getModuleImports = getModule;