Socket
Book a DemoInstallSign in
Socket

nano-json

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nano-json

A well formatted JS objects stringifyer

1.2.4
latest
Source
npmnpm
Version published
Weekly downloads
4
33.33%
Maintainers
1
Weekly downloads
 
Created
Source

Gitter NPM version [Build status] travis-url [Test coverage] coveralls-url Dependency Status License Downloads

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'); // blah
id2str('blah-blah'); // 'blah-blah'
id2str('class'); // 'class'

str2str(str)

Returns quoted string. Automaticaly detects quotes symbols.

str2str('some string'); // 'some string'
str2str('some "" string with "double" quotes'); // 'some "" string with "double" quotes'
str2str("some '' string with 'single' quotes"); // "some '' string with 'single' quotes"

qstr(str)

Returns single qouted string.

qstr('some string'); // 'some string'
qstr('some "" string with "double" quotes'); // 'some "" string with "double" quotes'
qstr("some '' string with 'single' quotes"); // 'some \'\' string with \'single\' quotes'

dqstr(str)

Returns double quoted string.

dqstr('some string'); // "some string"
dqstr('some "" string with "double" quotes'); // "some \"\" string with \"double\" quotes"
dqstr("some '' string with 'single' quotes"); // "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); // 10,20,30
js2str([ 10, 20, 30 ], 10, 0); // [10,20,30]
js2str([ 10, 20, 30 ], 16, 0); // [0xa,0x14,0x28]
js2str({ a: 1 }); // {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); // '[ 1, 2, 3 ]'
render([ 1 ], style); // '[ 1 ]'
render([ ], style); // '[ ]'
render({ a:1, b:2, c:3 }, style); // '{ a:1, b:2, c:3 }'
render({ a:1 }, style); // '{ a:1 }'
render({ }, style); // '{ }'
'#,##'
var style = '#,##';
render([ 1, 2, 3 ], style); // '[1,2,3]'
render([ 1 ], style); // '[1]'
render([ ], style); // '[]'
render({ a:1, b:2, c:3 }, style); // '{a:1,b:2,c:3}'
render({ a:1 }, style); // '{a:1}'
render({ }, style); // '{}'
'\n+#,\n+#\n=# '

Where the '+' symbol means next level of indentation.

var style = '\n+#,\n+#\n=# ';
render([ 1, 2, 3 ], style, '', ' '); // '[\n 1,\n 2,\n 3\n]'
render([ 1 ], style); // '[\n 1\n]'
render([ ], style); // '[ ]'
render({ a:1, b:2, c:3 }, style); // '{\n a:1,\n b:2,\n c:3\n}'
render({ a:1 }, style); // '{\n a:1\n}'
render({ }, style); // '{ }'

Keywords

JSON

FAQs

Package last updated on 25 Apr 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.