Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/l-chris/yaf-config-ini
ini file loader act like Yaf_Config_Ini
https://github.com/l-chris/yaf-config-ini
Last synced: about 2 months ago
JSON representation
ini file loader act like Yaf_Config_Ini
- Host: GitHub
- URL: https://github.com/l-chris/yaf-config-ini
- Owner: L-Chris
- License: mit
- Created: 2019-10-07T09:44:03.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-10T04:48:41.000Z (about 2 years ago)
- Last Synced: 2024-04-26T11:22:10.771Z (8 months ago)
- Language: JavaScript
- Homepage:
- Size: 198 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# yaf-config-ini
## Notice
This package is used to parse and serialize ini file for Yaf.## Info
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:
; this comment is being ignored
scope = global[database]
user = dbuser
password = dbpassword
database = use_this_database[paths.default]
datadir = /var/lib/data
array[] = first value
array[] = second value
array[] = third valueYou 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
config.paths.default.array.push('fourth value')fs.writeFileSync('./config_modified.ini', ini.stringify(config, { section: '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
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, [options])
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.The `options` object may contain the following:
* `section` A string which will be the first `section` in the encoded
ini data. Defaults to none.
* `whitespace` Boolean to specify whether to put whitespace around the
`=` character. By default, whitespace is omitted, to be friendly to
some persnickety old parsers that don't tolerate it well. But some
find that it's more human-readable and pretty with the whitespace.For backwards compatibility reasons, if a `string` options is passed
in, then it is assumed to be the `section` value.### stringify(object, [options])
Alias for `encode(object, [options])`
### 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 exampleini.safe('"unsafe string"')
would result in
"\"unsafe string\""
### unsafe(val)
Unescapes the string `val`