conversify
Description
conversify is a package that represents an advanced implementation of JSON.stringify
method.
It allows you to convert JSON unsupported values to string correctly.
Such as Date
value, +/-Infinity
, undefined
, NaN
and function realization in Array
or Object
.
Installation
npm install conversify
Example of using
const conversify = require('conversify');
const stringifiedObj = conversify({
name: 'Ivan',
surname: 'Ivanov',
fullname() {
return `${this.name} ${this.surname}`
},
birthday: new Date('1999-05-02')
}, 4); //Second argument is optional. It used to insert white space into the output JSON string for readability purposes.
console.log(stringifiedObj);
/*
* Output:
* {
* "name": "Ivan",
* "surname": "Ivanov",
* "fullname": function () {
* return `${this.name} ${this.surname}`;
* },
* "birthday": new Date('1999-05-02T00:00:00.000Z')
* }
*/
Comparison
Array that will be used for comparison two methods (JSON.strinigfy
and conversify
):
const testArr = [
NaN,
undefined,
null,
new Date(),
Date(),
new Date('2020-02-01'),
new Date('abcd'),
'some text',
3.14,
15845,
-Infinity,
Infinity,
() => console.log(`It's function body`),
{
name: 'Ivan',
surname: 'Ivanov',
fullname () {
return `${this.name} ${this.surname}`;
},
birthday: new Date('1999-05-02'),
},
];
Result:
JSON.stringify |
conversify |
---|---|
![]() |
![]() |
License
conversify package is open-sourced software licensed under the MIT License (MIT). Please see License File for more information.
Changelog
Detailed changes for each release are documented in the release notes.
Contributing
I'm thanks all the people who contributed or who want to contribute to conversify.
If you want to contribute, make sure that read the Contributing Guide before making a pull request, thanks.
Conclusion
If you still have questions about the work of this package
If you find a bug
Thanks!