Mutate clone of value in stringifyJSON instead of original

This commit is contained in:
Warren Seymour 2020-09-03 08:25:31 +01:00
parent b3083e5ba5
commit c04f28e25e

View File

@ -4,9 +4,10 @@ import { DATA_TYPE_KEY, DATA_REF_KEY } from '../constants/dataTypes';
function replacer(key, value) {
if (typeof value === 'object' && value !== null && DATA_TYPE_KEY in value) {
const __serializedType__ = value[DATA_TYPE_KEY];
delete value[DATA_TYPE_KEY]; // eslint-disable-line no-param-reassign
const r = { data: value, __serializedType__ };
if (DATA_REF_KEY in value) r.__serializedRef__ = value[DATA_REF_KEY];
const clone = { ...value };
delete clone[DATA_TYPE_KEY]; // eslint-disable-line no-param-reassign
const r = { data: clone, __serializedType__ };
if (DATA_REF_KEY in value) r.__serializedRef__ = clone[DATA_REF_KEY];
return r;
}
return value;