[] travis-url
[] coveralls-url
nano-json
Well formatted(customizable) JSON like generator. Not compatible with pure JSON (smart strings/ids qouting).
Its very usefull for easy readble JS-objects dumps because you can define formats for sub-elements of objects deeply pretty.
API
id2str(id)
Returns quoted id
value if it's keyword or not identifier.
id2str('blah');
id2str('blah-blah');
id2str('class');
str2str(str)
Returns quoted string. Automaticaly detects quotes symbols.
str2str('some string');
str2str('some "" string with "double" quotes');
str2str("some '' string with 'single' quotes");
qstr(str)
Returns single qouted string.
qstr('some string');
qstr('some "" string with "double" quotes');
qstr("some '' string with 'single' quotes");
dqstr(str)
Returns double quoted string.
dqstr('some string');
dqstr('some "" string with "double" quotes');
dqstr("some '' string with 'single' quotes");
js2str(obj, default_radix, unarray)
- obj
Object
; - default_radix
Number
- radix for number values (10 if undefined); - unarray
Boolean
- stringify root array as list (without square brackets).
Returns stringified object.
js2str([ 10, 20, 30 ], 10, 1);
js2str([ 10, 20, 30 ], 10, 0);
js2str([ 10, 20, 30 ], 16, 0);
js2str({ a: 1 });
render(obj[, style[, indent[, tab]]])
- obj
Object
- style
Object
or String
String
- list format string: '###'Object
- { '':'', ['":':1], ['<>:':][, :]* }
- '':
String
- current object list format string: '###' - '":':
Boolean
- force qouting of object keys flag - '<>:':
Number
- minimal width of object keys (will be padded by spaces) - '#':
Boolean
- enable array items index number comments - ID:
Object
- style for sub-object with identifier ID - '*':
Object
- style for array sub-items
- indent
String
- indent string ('' by default) - tab
String
- one indentation level spaces string
style samples
' #, # # '
var style = ' #, # # ';
render([ 1, 2, 3 ], style);
render([ 1 ], style);
render([ ], style);
render({ a:1, b:2, c:3 }, style);
render({ a:1 }, style);
render({ }, style);
'#,##'
var style = '#,##';
render([ 1, 2, 3 ], style);
render([ 1 ], style);
render([ ], style);
render({ a:1, b:2, c:3 }, style);
render({ a:1 }, style);
render({ }, style);
'\n+#,\n+#\n=# '
Where the '+' symbol means next level of indentation.
var style = '\n+#,\n+#\n=# ';
render([ 1, 2, 3 ], style, '', ' ');
render([ 1 ], style);
render([ ], style);
render({ a:1, b:2, c:3 }, style);
render({ a:1 }, style);
render({ }, style);