diff --git a/src/store/modules/normalizers.js b/src/store/modules/normalizers.js index 37d17b6291ba7f413de4f8140407ca8ccaba182f..20a30e3b22829bad467c01cb3ebdfdd2b15b12b6 100644 --- a/src/store/modules/normalizers.js +++ b/src/store/modules/normalizers.js @@ -104,8 +104,12 @@ export const parseTuples = (tuples, key) => { nonAtomsTuples.includes(item.tuple[0]) ? accum[item.tuple[0].substr(1)] = parseNonAtomTuples(item.tuple[1]) : accum[item.tuple[0].substr(1)] = parseTuples(item.tuple[1]) + } else if (Array.isArray(item.tuple[1])) { + accum[item.tuple[0].substr(1)] = item.tuple[1] } else if (item.tuple[1] && typeof item.tuple[1] === 'object' && 'tuple' in item.tuple[1]) { accum[item.tuple[0].substr(1)] = item.tuple[1]['tuple'].join('.') + } else if (item.tuple[1] && typeof item.tuple[1] === 'object') { + accum[item.tuple[0].substr(1)] = parseObject(item.tuple[1]) } else { key === 'mrf_user_allowlist' ? accum[item.tuple[0]] = item.tuple[1] @@ -122,6 +126,13 @@ const parseNonAtomTuples = (tuples) => { }, {}) } +const parseObject = (object) => { + return Object.keys(object).reduce((acc, item) => { + acc[item.substr(1)] = object[item] + return acc + }, {}) +} + export const valueHasTuples = (key, value) => { const valueIsArrayOfNonObjects = Array.isArray(value) && value.length > 0 && typeof value[0] !== 'object' return key === 'meta' ||