Skip to content

ftonato/plain-object

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Mar 4, 2022
5e33c58 · Mar 4, 2022

History

8 Commits
Mar 3, 2022
Mar 4, 2022
Mar 2, 2022
Mar 2, 2022
Mar 3, 2022
Mar 3, 2022
Mar 4, 2022
Mar 4, 2022
Mar 4, 2022
Mar 4, 2022
Mar 4, 2022

Repository files navigation

plain-object

Convert nested JSON to simple plain JSON object

Install

npm install plain-object

Usage

const plainObject = require("plain-object");

plainObject({
  one: {
    one: "1",
  },
});
//=> { one: '1' }

plainObject({
  a: {
    a: true,
    b: {
      b: new Map(),
    },
  },
});
//=> { a: true, b: Map {  } }'

// Given a "weird" structure like this:

plainObject({
  one: {
    one: "1",
    two: {
      two: true,
      three: {
        three: 1,
        four: {
          four: [1, 2, 3],
          five: {
            five: new Date(),
            six: {
              six: function () {
                return "seven";
              },
              seven: {
                seven: new Map(),
                eight: {
                  eight: new Set(),
                  nine: {
                    nine: BigInt(Number.MAX_SAFE_INTEGER + 1),
                    ten: {
                      ten: Symbol("Sym"),
                      eleven: {
                        eleven: Buffer.from("ftonato", "utf-8"),
                        twelve: {
                          twelve: new RegExp("[A-Za-z0-9_]"),
                          thirteen: {
                            thirteen: new Promise((resolve) => resolve(true)),
                          },
                        },
                      },
                    },
                  },
                },
              },
            },
          },
        },
      },
    },
  },
});

// You will get this simple and clean object:

//=> { one: '1',
//=>   two: true,
//=>   three: 1,
//=>   four: [ 1, 2, 3 ],
//=>   five: Wed Mar 02 2022 20:04:04 GMT+0000 (Western European Standard Time),
//=>   six: [λ: six],
//=>   seven: Map {  },
//=>   eight: Set {  },
//=>   nine: 1,
//=>   ten: Symbol(Sym),
//=>   eleven: <Buffer 66 74 6f 6e 61 74 6f>,
//=>   twelve: /[A-Za-z0-9_]/,
//=>   thirteen: Promise { true } }