v1
1/9/2022 by yakovlev-alexey -00
Setup HTML - click to add setup HTML
disable setup JavaScript
Setup JavaScript

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;
}, {});
delete caserun single casemove downdrag and drop case


ready



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)
delete caserun single casemove updrag and drop case


ready



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)
Test Case - click to add another test case
Teardown JS - click to add teardown JavaScript
Output (DOM) - click to monitor output (DOM) while test is running
RUN