https://github.com/ftonato/plain-object
Convert nested JSON to simple plain JSON object
https://github.com/ftonato/plain-object
destruct destructure flat flatten object plain typescript
Last synced: 3 months ago
JSON representation
Convert nested JSON to simple plain JSON object
- Host: GitHub
- URL: https://github.com/ftonato/plain-object
- Owner: ftonato
- License: mit
- Created: 2022-03-02T20:40:58.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-03-04T14:30:58.000Z (about 3 years ago)
- Last Synced: 2025-02-07T06:36:26.130Z (3 months ago)
- Topics: destruct, destructure, flat, flatten, object, plain, typescript
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/plain-object
- Size: 59.6 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# plain-object
> Convert nested JSON to simple plain JSON object
## Install
```sh
npm install plain-object
```## Usage
```js
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: ,
//=> twelve: /[A-Za-z0-9_]/,
//=> thirteen: Promise { true } }
```