One Peaceful Frontend+Backend Software Library Suite.
This repository facilitates Tom's Obvious Minimal Language operation for all Hestia Libraries user. This library uses the character-based streaming with low memory and low footprint (e.g. microcontroller adata processing) considerations.
This project was initiated primarily because of:
- Ensures proper interoperability between programming languages -
making sure the
hestiaTOML
library talks to each other seamlessly across programming languages with the same context. - Friendly to low memory and low footprint environment - using simple string character streaming algorithm to parse the required data from TOML syntax.
- Consumption freedom - HestiaTOML makes NO decision and NO assumption on
how you consume the parsed data: use the corresponding data type sanitization
function and libraries to convert from
string
into your desired data type; not here. - Simple to integrate - simple enough to use for all supported programming languages.
The definitions complies to only the following rules:
- STRICTLY: Everthing is a
string
. - Primarily uses Unicode for internal operations.
- Uses syntax behaviorial table algorithm even for restrictive languages like POSIX Shell (not BASH).
This library is heavily guarded with unit tests whenever available.
This library supports multiple programming languages for the same dataset. Please import based on your programming language(s) using the instructions in the sub-sections below.
Please do note that branches like main
, next
, and experimental
are for
maintenance & development uses (as in, the production factory itself). Hence,
please avoid them and only use it at your own risk.
This library depends on the following libraries:
- HestiaSTRING - https://github.com/ChewKeanHo/HestiaSTRING
To use hestiaTOML
library in your Javascript|Typescript project, you may use
the following methods for integrations:
It's highly recommended to use git
release branches inside your package.json
dependencies list. This is to avoid the registry configurations problem
involving npm
:
{
"dependencies": {
...
"@chewkeanho/hestiaSTRING": "git+https://github.com/ChewKeanHo/hestiaSTRING.git#[VERSION]_npm",
...
"@chewkeanho/hestiaTOML": "git+https://github.com/ChewKeanHo/hestiaTOML.git#[VERSION]_npm"
...
}
}
For always latest release, please use the latest
version tag. Example:
{
...
"dependencies": {
...
"@chewkeanho/hestiaSTRING": "git+https://github.com/ChewKeanHo/hestiaSTRING.git#latest_npm",
...
"@chewkeanho/hestiaTOML": "git+https://github.com/ChewKeanHo/hestiaTOML.git#latest_npm"
...
}
...
}
NOTE
To be updated.
The libraries are based on the following data sources:
- Specification - https://github.com/toml-lang/toml
This project is licensed under Chew Kean Ho's Hestia License Agreement.