Circular serializer
Circular safe, extensible, Date support
Usage
Simple
var cs = ;var testObject =k: 1 2 'rrr'b: 'test'c: '2014-10-11T11:51:56.822Z';testObjectd = testObject; // circularvar string = cs;console;/*{ k: [ 1, 2, 'rrr' ],b: 'test',c: Sat Oct 11 2014 15:51:56 GMT+0400 (MSK),d: '[Circular#d]' }*/
Custom types
var csf = ;{thisname = name;};var typeMap = Object;typeMapMyType ={return x instanceof MyType;}{return name: xname;}{return xname;};var cs = ;var testObject =k: 1 2 'rrr'b: 'test'my: 'test'c: '2014-10-11T11:51:56.822Z';var string = cs;console;/*{ k: [ 1, 2, 'rrr' ],b: 'test',my: { name: 'test' },c: Sat Oct 11 2014 15:51:56 GMT+0400 (MSK) }*/