This is a small utility library to parse systemd unitfiles to- and from JavaScript data structures. Three formats are available:
1.`string`, which is the representation inside a unit file,
2.`ast`, which is a JS object representation of the parser AST, including comments,
3.`data`, which is a normalized representation of the data, useful to do general computing. It hast the following format:
```
{
title: String,
settings: {
[key:String]: String|String[],
}
}[]
```
Conversions are available in all directions between these formats, with the only external dependency being `chevrotain`.
This package does not know or check whether the logic of a unit file is correct (e.g. are you using the correct names for options, etc.), it only know what the syntax is supposed to be.
## Usage
For most usecases, you'll only need two functions: `stringToData` and `dataToString`:
```
import { readFile, writeFile } from 'fs/promises';
import { stringToData, dataToString } from 'systemd-unitfiles';