Skip to content

fuqcool/node-stringify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published