https://github.com/fabiospampinato/ini-simple-parser
A simple, fast and configurable INI parser.
https://github.com/fabiospampinato/ini-simple-parser
editorconfig ini parser simple
Last synced: 2 months ago
JSON representation
A simple, fast and configurable INI parser.
- Host: GitHub
- URL: https://github.com/fabiospampinato/ini-simple-parser
- Owner: fabiospampinato
- License: mit
- Created: 2023-11-14T19:07:54.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-01-26T14:22:03.000Z (8 months ago)
- Last Synced: 2025-06-03T12:14:29.954Z (4 months ago)
- Topics: editorconfig, ini, parser, simple
- Language: JavaScript
- Homepage:
- Size: 6.84 KB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# INI Simple Parser
A simple, fast and configurable INI parser.
## Install
```sh
npm install ini-simple-parser
```## Usage
The following options are supported:
```ts
type Options = {
inferBooleans?: boolean, // Interpret true/TRUE/false/FALSE as booleans
inferNulls?: boolean, // Interpret null/NULL as nulls
inferNumbers?: boolean, // Interpret some strings that can be parsed as numbers as numbers
inferStrings?: boolean, // Automatically remove wrapping quotes from strings
inlineComments?: boolean // Automatically remove inline comments
};
```This is how you'd use it:
```ts
import parse from 'ini-simple-parser';// Let's define some initial string to parse
const INPUT = `
root=true
notRoot="false"; last modified 1 April 2001 by John Doe
[owner]
name=John Doe
organization=Acme Widgets Inc.[database]
# use IP address in case network name resolution is not working
server = 192.0.2.62
port = 143
file = "payroll.dat"
extra1 = something ; Inline comment
extra2 = something else # Inline comment
null = null
nil = "0"
`;// Let's parse it normally, without setting any options
const parsed = parse ( INPUT );
// {
// root: 'true',
// notRoot: '"false"',
// owner: {
// name: 'John Doe',
// organization: 'Acme Widgets Inc.'
// },
// database: {
// server: '192.0.2.62',
// port: '143',
// file: '"payroll.dat"',
// extra1: 'something ; Inline comment',
// extra2: 'something else # Inline comment',
// null: 'null',
// nil: '"0"'
// }
// }// Let's parse with every option enabled
const parsed = parse ( INPUT, {
inferBooleans: true,
inferNulls: true,
inferNumbers: true,
inferStrings: true,
inlineComments: true
});
// {
// root: true,
// notRoot: 'false',
// owner: {
// name: 'John Doe',
// organization: 'Acme Widgets Inc.'
// },
// database: {
// server: '192.0.2.62',
// port: 143,
// file: 'payroll.dat',
// extra1: 'something',
// extra2: 'something else',
// null: null,
// nil: '0'
// }
// }
```## License
MIT © Fabio Spampinato