plugin to pretty-print or minify XML, JSON, CSS and SQL files
npm install sweet-datanodejs plugin to pretty-print or minify
text in XML, JSON, CSS and SQL formats.
NOTE: This library is under active development and is subject to breaking changes. Thank you for your patience and your support.
License: Dual licensed under
the MIT and GPL licenses:
http://www.opensource.org/licenses/mit-license.php
http://www.gnu.org/licenses/gpl.html
* sd.xml(data) - pretty print XML;
* sd.json(data) - pretty print JSON;
* sd.css(data) - pretty print CSS;
* sd.sql(data) - pretty print SQL;
* sd.xmlmin(data [, preserveComments]) - minify XML;
* sd.jsonmin(data) - minify JSON text;
* sd.cssmin(data [, preserveComments] ) - minify CSS text;
* sd.sqlmin(data) - minify SQL text;
* sd.setStep([indentationCount, indentationChar]) - update indentation character(s) and character count (per depth). SPACE or TAB will use respective characters. Any other character provided will be assumed as ' '. Default values are SPACE and 2
var sd = require('sweet-data');
var xml_pp = sd.xml(data);
var xml_min = sd.xmlmin(data [,true]);
var css_pp = sd.css(data);
var css_min = sd.cssmin(data [, true]);
var sql_pp = sd.sql(data);
var sql_min = sd.sqlmin(data);
#### setStep([indentationCount, indentationChar])
Set indentation character(s) and character count (per depth). SPACE or TAB will use respective characters. Any other character provided will be assumed as ' '.
Default values are SPACE and 2
#### json(json: string | object)
Returns a promise which is resolved asynchronously when the json input (string or object) is parsed and beautified. The promise resolves a string accessed via .then(). Errors can be caught/handled via .catch().
##### ES6
``
import { SweetData as sd } from 'sweet-data';
const json = { "foo": "bar" };
sd.json(json)
.then(beautifiedJSON => console.log(beautifiedJSON))
.catch(error => console.log(error));
`
##### CommonJS
`
const sd = require('sweet-data');
const json = { "foo": "bar" };
sd.json(json)
.then(beautifiedJSON => console.log(beautifiedJSON))
.catch(error => console.log(error));
`
#### jsonmin(json: string | object)
Returns a promise which is resolved asynchronously when the json input (string or object) is parsed and minified. The promise resolves a string accessed via .then(). Errors can be caught/handled via .catch().
##### ES6
`
import { SweetData as sd } from 'sweet-data';
const json = { "foo": "bar" };
sd.jsonmin(json)
.then(minifiedJSON => console.log(minifiedJSON))
.catch(error => console.log(error));
`
##### CommonJS
`
const sd = require('sweet-data');
const json = { "foo": "bar" };
sd.jsonmin(json)
.then(minifiedJSON => console.log(minifiedJSON))
.catch(error => console.log(error));
`
#### xml(xml: string)
Returns a promise which is resolved asynchronously when the xml string input is beautified. The promise resolves a string accessed via .then(). Errors can be caught/handled via .catch().
##### ES6
`
import { SweetData as sd } from 'sweet-data';
const xml = ' bbb
sd.xml(xml)
.then(beautifiedXML => console.log(beautifiedXML))
.catch(error => console.log(error));
`
##### CommonJS
`
const sd = require('sweet-data');
const xml = ' bbb
sd.xml(xml)
.then(beautifiedXML => console.log(beautifiedXML))
.catch(error => console.log(error));
`
#### xmlmin(xml: string)
Returns a promise which is resolved asynchronously when the xml string input is minified. The promise resolves a string accessed via .then(). Errors can be caught/handled via .catch().
##### ES6
`
import { SweetData as sd } from 'sweet-data';
const xml = ' bbb
sd.xmlmin(xml)
.then(minifiedXML => console.log(minifiedXML))
.catch(error => console.log(error));
`
##### CommonJS
`
const sd = require('sweet-data');
const xml = ' bbb
sd.xmlmin(xml)
.then(minifiedXML => console.log(minifiedXML))
.catch(error => console.log(error));
`
Install dependencies using npm install
Run tests
``
npm test
Watch tests
``
npm run test-watch
PARAMETERS:
@data - String; XML, JSON, CSS or SQL text to beautify;
@preserveComments - Bool (optional, used in npp.minxml and npp.mincss only);
Set this flag to true to prevent removing comments from @data;
@Return - String | Promise(String);
@indentationCount - Numeric (optional, used to set number of indentation (per level))
@indentationChar - String (optional, indentation character. SPACE or TAB* will use
respective characters, other values will assume a single space ())
*TAB` may not be visible in your editor within the web browser.