leanconf
Configuration without brackets, quotes or escaping, using just 2 markup characters:
- the key/value separator
:
- the comment character
#
Indented whitespace controls nesting and primitive data types are inferred.
example
# shop.conf
name: dizzib's corner shop: Leeds, Yorkshire
patrons:
alice:
cash: 5.03
bob:
credit: 10.00
fruits # omit key/val separator to parse immediate children to an array
apples
Braeburn
Cox's # omit key/val separator to parse as a value
Royal Gala
banana
orange:
special: true
stock: 17
node.js code:
var conf = ;var obj = ;console;
output:
name: 'dizzib\'s corner shop: Leeds, Yorkshire' patrons: alice: cash: 503 bob: credit: 10 fruits: apples: 'Braeburn' 'Cox\'s' 'Royal Gala' 'banana' orange: special: true stock: 17
methods
var leanconf = ;
var obj = leanconf.parse(conf, opts)
Parse configuration string conf
returning object obj
.
Set opts.asArray
to return top-level items in an array (default is false
).
Set opts.comment
to change the comment character (default is #
).
Keys or values cannot contain this character.
Set opts.sep
to change the key/value separator (default is :
).
var val = leanconf.value-parser(raw)
This function parses a raw value-string to the most appropriate data type of boolean, floating-point number, integer, null or string. Don't call this directly, rather replace or wrap it if you want to alter the default behaviour.
install
$ npm install leanconf
developer build and run
$ git clone --branch=dev https://github.com/dizzib/leanconf.git
$ cd leanconf
$ npm install # install dependencies
$ npm test # build all and run tests
$ npm start # start the task runner