Skip to content

Commit 07e8676

Browse files
author
Guillaume Chau
committed
perf(vuex): freeze getters & modules
1 parent 177d389 commit 07e8676

File tree

1 file changed

+14
-3
lines changed
  • packages/app-frontend/src/views/vuex

1 file changed

+14
-3
lines changed

packages/app-frontend/src/views/vuex/module.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,16 +74,16 @@ const mutations = {
7474
},
7575

7676
'UPDATE_INSPECTED_STATE' (state, value) {
77-
state.inspectedState = parse(value)
77+
state.inspectedState = parseStoreState(value)
7878
},
7979

8080
'RECEIVE_STATE' (state, { index, snapshot }) {
81-
state.lastReceivedState = parse(snapshot)
81+
state.lastReceivedState = parseStoreState(snapshot)
8282
snapshotsCache.set(index, snapshot)
8383
},
8484

8585
'UPDATE_BASE_STATE' (state, value) {
86-
state.base = parse(value)
86+
state.base = parseStoreState(value)
8787
},
8888

8989
'TIME_TRAVEL' (state, index) {
@@ -162,6 +162,17 @@ const getters = {
162162
}
163163
}
164164

165+
function parseStoreState (state) {
166+
const data = parse(state)
167+
if (data) {
168+
return {
169+
state: data.state,
170+
getters: Object.freeze(data.getters),
171+
modules: Object.freeze(data.modules)
172+
}
173+
}
174+
}
175+
165176
function processInspectedState ({ entry, data, inspectedModule }) {
166177
const res = {}
167178

0 commit comments

Comments
 (0)