Skip to content

Methods for synchronously stringifying various data formats from JS objects.

License

Notifications You must be signed in to change notification settings

dskrepps-legacy/stringify-formats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

stringify-formats

Provides a list of various modules to stringify objects to differect data formats synchronously with a unified api.

Feel free to suggest more formats or better modules to stringify them with via issue or pull request.

NPM

Formats

Ext format npm module
.cson cson cson-parser
.csv csv to-csv
.hjson hjson hjson
.ini ini ini
.json json native
.json5 json5 json5
.xml xml xml2json
.yaml, .yml yaml js-yaml

Source

/* Common patterns */
function stringify (serializer, data, opts) {
	return serializer.stringify(data, opts);
}

function self (serializer, data, opts) {
	return serializer(data, opts);
}


/* { ext: { moduleName: function(module, data, opts) } } */
module.exports = {
	'.cson': { 'cson-parser': stringify },
	'.csv': { 'to-csv': self },
	'.hjson': { 'hjson': stringify },
	'.ini': { 'ini': stringify },
	'.json': {
		'path': function (_, data) {
			return JSON.stringify(data);
		},
	},
	'.json5': { 'json5': stringify },
	'.xml': {
		'xml2json': function (xml2json, data, opts) {
			return xml2json.toXml(JSON.stringify(data), opts);
		},
	},
	'.yaml': { 'js-yaml': jsYaml },
	'.yml': { 'js-yaml': jsYaml },
};

function jsYaml (jsYaml, data, opts) {
	return jsYaml.safeDump(data, opts);
}

About

Methods for synchronously stringifying various data formats from JS objects.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published