node-stringify

0.2.1 • Public • Published

node-stringify

Build Status npm Total Downloads

Stringify javascript objects and retrieve with eval.

Important notes

This library IS NOT designed to replace JSON.stringify. Unless you truly understand what this library does, I suggest you use JSON.stringify in the first place.

Install

npm install node-stringify --save

Example

var stringify = require('node-stringify');
 
console.assert(stringify(123) === '123');
 
console.assert(stringify('abc') === '\'abc\'');
 
console.assert(stringify(null) === 'null');
 
console.assert(stringify(undefined) === 'undefined');
 
console.assert(stringify(new Date(1000)) === 'new Date(1000)');
 
console.assert(stringify(function (a,b,c) {}) === '(function (a,b,c) {})');
 
console.assert(stringify([1, 2, 3]) === '[1,2,3]');
 
// The parenthesis is to make the result work with `eval`
console.assert(stringify({a: 1, b: 2}) === '({a:1,b:2})');
 
console.assert(stringify({a: 1, b: [2, 3]}) === '({a:1,b:[2,3]})');
 
// You can turn off the parenthesis too
console.assert(stringify({a: 1, b: 2}, {parenthesis:false}) === '{a:1,b:2}');
 
console.assert(stringify({a: 1, b: [2, 3]}, {parenthesis:false}) === '{a:1,b:[2,3]}');

Supported types

  • null
  • undefined
  • number
  • string
  • date
  • regexp
  • function
  • array
  • object

Difference with JSON.stringify

  • The result of node-stringify can be retrieved directly using eval(Please be aware that eval may be insecure).

Known issues

  • Not support objects with circular references or too deeply nested(implemented in a recursive way).

License

MIT License.

Readme

Keywords

Package Sidebar

Install

npm i node-stringify

Weekly Downloads

3,253

Version

0.2.1

License

MIT

Last publish

Collaborators

  • fuqcool