https://github.com/prantlf/fast-ini
Packages for parsing and formatting INI files with great performance.
https://github.com/prantlf/fast-ini
ini ini-file ini-parser ini-reader ini-serialization ini-writer
Last synced: 6 months ago
JSON representation
Packages for parsing and formatting INI files with great performance.
- Host: GitHub
- URL: https://github.com/prantlf/fast-ini
- Owner: prantlf
- License: mit
- Created: 2022-06-26T23:13:00.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-06-27T00:19:18.000Z (almost 3 years ago)
- Last Synced: 2024-11-13T19:13:43.394Z (7 months ago)
- Topics: ini, ini-file, ini-parser, ini-reader, ini-serialization, ini-writer
- Language: JavaScript
- Homepage:
- Size: 93.8 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Fast INI File Support
Packages for parsing and formatting INI files with great performance.
Although reading configuration is usually not the time-critical part of the application, sometimes it may be so. For example, when many localisation texts are stored in INI files, loading them may take longer. This package attempts to process INI file contents as fast as possible, while focusing on the [original INI file format].
* [Extremely fast].
* Offers [ES], [CJS] and [UMD] modules.
* Includes TypeScript types.
* No dependencies.
* Tiny size:
* parser - 4.47 kB minified, 1.95 kB gzipped, 1.79 kB brotlied.
* reader - 736 B minified, 482 B gzipped, 409 B brotlied.
* writer - 367 B minified, 263 B gzipped, 235 B brotlied.See also the [INI file grammar].
## Packages
* [linter] - checks syntax of INI files
* [parser] - parses INI file contents to AST
* [formatter] - formats AST to INI file contents
* [decoder] - decodes AST to JSON object
* [encoder] - encodes JSON object to AST
* [reader] - reads INI file contents to JSON object
* [writer] - writes JSON object to INI file contents**This is currently work in progress.**
[original INI file format]: https://en.wikipedia.org/wiki/INI_file#Example
[INI file grammar]: ./doc/grammar.md#ini-file-grammar
[Extremely fast]: ./perf/README.md#performance
[CJS]: https://blog.risingstack.com/node-js-at-scale-module-system-commonjs-require/#commonjstotherescue
[UMD]: https://github.com/umdjs/umd#readme
[ES]: https://hacks.mozilla.org/2018/03/es-modules-a-cartoon-deep-dive/#content-head
[linter]: ./pkg/linter/#fast-ini-linter
[parser]: ./pkg/parser/#fast-ini-parser
[formatter]: ./pkg/linter/#fast-ini-formatter
[decoder]: ./pkg/linter/#fast-ini-decoder
[encoder]: ./pkg/linter/#fast-ini-encoder
[reader]: ./pkg/reader/#fast-ini-reader
[writer]: ./pkg/writer/#fast-ini-writer