const createStubTranslation = () => {
return {
en: {
value: 'Lorem ipsum',
},
gb: {
value: 'Lorem ipsum',
},
meta: {
description: 'Dolore sit ame',
properties: {
name: 'string',
age: 'number',
},
},
};
};
const TRANSLATIONS = Array.from(Array(5000)).reduce((acc, _item, index) => {
acc[index] = createStubTranslation();
return acc;
}, {});const filterUnserializable = (
obj,
filteredValues = [undefined],
) => {
return Object.keys(obj).reduce((ret, key) => {
if (typeof obj[key] === 'object' && obj[key] !== null) {
return {
...ret,
[key]: filterUnserializable(obj[key]),
};
} else if (!filteredValues.includes(obj[key])) {
return { ...ret, [key]: obj[key] };
}
return ret;
}, {});
};
filterUnserializable(TRANSLATIONS)const filterUnserializable = (obj, filteredValues = [undefined]) => {
Object.keys(obj).forEach((key) => {
if (filteredValues.includes(obj[key])) {
delete obj[key];
return;
}
if (obj[key] === Object(obj[key]) && !Array.isArray(obj[key])) {
filterUnserializable(obj[key], filteredValues);
}
});
return obj;
};
filterUnserializable(TRANSLATIONS)