@dmail/uneval
v5.7.0
Published
[](https://www.npmjs.com/package/@dmail/uneval) [](http://travis-ci.com/dmail/uneval) [ === "{}"- Transforms
-0into0
JSON.stringify(-0) === "0"- Transforms
NaNintonull
JSON.stringify(NaN) === "null"- Transforms
Infinityintonull
JSON.stringify(Infinity) === "null"- Does not support circular structure
const value = {}
value.self = value
try {
JSON.stringify(value)
} catch (error) {
error.name === "TypeError"
}- Transforms dates into strings
JSON.stringify(new Date(0)) === `"1970-01-01T00:00:00.000Z"`- Is not optimized for repetitive structure
JSON.stringify(["very-long-string", "very-long-string"]) ===
`["very-long-string","very-long-string"]`"very-long-string" is repeated twice. It can becomes a waste if you use it to stringify very big structures.
- Ignores non enumerable properties
JSON.stringify(Object.defineProperty({}, "foo", { enumerable: false })) === "{}"How to use
npm install --save-dev @dmail/unevalSee browser and node examples below.
browser example
<script src="https://unpkg.com/@dmail/[email protected]/dist/global/main.js"></script>
<script>
const { uneval } = window.__dmail_uneval__
console.log(eval(uneval({ answer: 42 })))
</script>node example
const { uneval } = require("@dmail/uneval")
console.log(eval(uneval({ answer: 42 })))Interactive browser example
— see https://dmail.github.io/uneval/browser-example.
Interactive node example
— see https://dmail.github.io/uneval/node-example
