node/deps/npm/node_modules/ini/README.md

80 lines
2.1 KiB
Markdown
Raw Normal View History

An ini format parser and serializer for node.
Sections are treated as nested objects. Items before the first heading
are saved on the object directly.
## Usage
Consider an ini-file `config.ini` that looks like this:
2012-01-17 07:06:16 +08:00
; this comment is being ignored
scope = global
[database]
user = dbuser
password = dbpassword
database = use_this_database
[paths.default]
datadir = /var/lib/data
2013-02-07 00:39:27 +08:00
array[] = first value
array[] = second value
array[] = third value
You can read, manipulate and write the ini-file like so:
var fs = require('fs')
, ini = require('ini')
var config = ini.parse(fs.readFileSync('./config.ini', 'utf-8'))
config.scope = 'local'
config.database.database = 'use_another_database'
config.paths.default.tmpdir = '/tmp'
delete config.paths.default.datadir
2013-02-07 00:39:27 +08:00
config.paths.default.array.push('fourth value')
fs.writeFileSync('./config_modified.ini', ini.stringify(config, 'section'))
This will result in a file called `config_modified.ini` being written to the filesystem with the following content:
[section]
scope = local
[section.database]
user = dbuser
password = dbpassword
database = use_another_database
[section.paths.default]
tmpdir = /tmp
2013-02-07 00:39:27 +08:00
array[] = first value
array[] = second value
array[] = third value
array[] = fourth value
## API
### decode(inistring)
Decode the ini-style formatted `inistring` into a nested object.
### parse(inistring)
Alias for `decode(inistring)`
### encode(object, [section])
Encode the object `object` into an ini-style formatted string. If the optional parameter `section` is given, then all top-level properties of the object are put into this section and the `section`-string is prepended to all sub-sections, see the usage example above.
### stringify(object, [section])
Alias for `encode(object, [section])`
### safe(val)
Escapes the string `val` such that it is safe to be used as a key or value in an ini-file. Basically escapes quotes. For example
ini.safe('"unsafe string"')
would result in
"\"unsafe string\""
### unsafe(val)
Unescapes the string `val`