corocoto / conversify

npm-package that represents an advanced implementation of JSON.stringify method

Home Page:https://www.npmjs.com/package/conversify

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tests CI NPM bundle size NPM bundle size (minzip) GitHub repo size GitHub package.json version npm downloads License

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
convert array using JSON.stringify convert array using conversify package

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 ❔ or you have cool ideas for it improvement 💥, please write to me 📧.

If you find a bug 🐛, please create an appropriate issue with detailed information about it 💬.

Thanks!

About

npm-package that represents an advanced implementation of JSON.stringify method

https://www.npmjs.com/package/conversify

License:MIT License


Languages

Language:JavaScript 100.0%