0.3.1 • Published 9 years ago
tosource-polyfill v0.3.1
tosource-polyfill
toSource polyfill that converts JavaScript objects back to source code
It got inspiration on node-tosource
Introduction
This module set on objects prototype the Mozilla toSource() function that
allow to get a source code representation of an object. It also has a helper
function that allow to serialize some extra objects like null
or
undefined
.
Installation
npm install tosource-polyfill
Examples
The following code:
var toSource = require('tosource-polyfill')
console.log(toSource(
[ 4, 5, 6, "hello", {
a:2,
'b':3,
'1':4,
'if':5,
yes:true,
no:false,
nan:NaN,
infinity:Infinity,
'undefined':undefined,
'null':null,
foo: function(bar) {
console.log("woo! a is "+a)
console.log("and bar is "+bar)
}
},
/we$/gi,
new Date("Wed, 09 Aug 1995 00:00:00 GMT")]
))
Output:
[ 4,
5,
6,
"hello",
{ "1":4,
a:2,
b:3,
"if":5,
yes:true,
no:false,
nan:NaN,
infinity:Infinity,
"undefined":undefined,
"null":null,
foo:function (bar) {
console.log("woo! a is "+a)
console.log("and bar is "+bar)
} },
/we$/gi,
new Date(807926400000) ]
See test.js for more examples.
Supported Types
- Numbers
- Strings
- Array literals
- object literals
- function
- RegExp literals
- Dates
- true
- false
- undefined
- null
- NaN
- Infinity
Notes
- Functions are serialized with
func.toString()
, no closure properties are serialized - Multiple references to the same object become copies
- Circular references are encoded as
{$circularReference:1}
License
toSource is open source software under the zlib license.