Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
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
  • npm
  • Socket score

Version published
Maintainers
1
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

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

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc