Skip to content

Various bugs #1

@theBowja

Description

@theBowja
  1. Properties with undefined values should be removed from the output.
  2. Strings with \n newline characters aren't handled properly.
  3. Support tab indent?
const perfectJson = require('perfect-json');
const data = {
  name: 'Dmitriy',
  surname: 'Pushkov',
  asdf: undefined,
  skills: ['Java\nScript', 'Node.js', 'ES6'],
  env: { node: '14.0.0', eslint: true, babel: true, typescript: false }
};

console.log(perfectJson(data, {
  singleLine: ({ key }) => {
    return ['skills', 'env'].includes(key);
  }
}));

Actual (improper json):

{
  "name": "Dmitriy",
  "surname": "Pushkov",
  "asdf": undefined,
  "skills": ["Java
Script", "Node.js", "ES6"],
  "env": { "node": "14.0.0", "eslint": true, "babel": true, "typescript": false }
}

Expected:

{
  "name": "Dmitriy",
  "surname": "Pushkov",
  "skills": ["Java\nScript", "Node.js", "ES6"],
  "env": { "node": "14.0.0", "eslint": true, "babel": true, "typescript": false }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions