conversify v1.0.7
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 conversifyExample 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 :grey_question: or you have cool ideas for it improvement :boom:, please write to me :email:.
If you find a bug :bug:, please create an appropriate issue with detailed information about it :speech_balloon:.
Thanks!