From 979e170bd6880d0ee85bf0dd8898cf53d91055b5 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 29 Sep 2019 22:33:15 +0300 Subject: created mergedConfig getter to avoid obnoxious checks for undefined everywhere --- src/modules/config.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/modules/config.js') diff --git a/src/modules/config.js b/src/modules/config.js index cf04d14f..5245308d 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -40,8 +40,27 @@ const defaultState = { minimalScopesMode: undefined // instance default } +// caching the instance default properties +export const instanceDefaultProperties = Object.entries(defaultState) + .filter(([key, value]) => value === undefined) + .map(([key, value]) => key) + const config = { state: defaultState, + getters: { + mergedConfig (state, getters, rootState, rootGetters) { + const { instance } = rootState + return { + ...state, + ...instanceDefaultProperties + .map(key => [key, state[key] === undefined + ? instance[key] + : state[key] + ]) + .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}) + } + } + }, mutations: { setOption (state, { name, value }) { set(state, name, value) -- cgit v1.2.3-70-g09d2