didone
v0.3.3
Published
Minimalist dotenv-like parser for the browser
Downloads
8
Readme
didone
Minimalist dotenv-like parser for the browser.
Pronounced "dee-doh-neh".
This zero-dependency library is a minimalist dotenv-like parser. It intentionally does not perform validation and is simply designed to extract key-value pairs from a given string. The parse
function returns an array of objects with the following properties:
key
: The key of the variable.value
: The value of the variable. Multiline values are supported.duplicate
: Whether the key is duplicated or not.
DB_HOST=localhost
DB_PORT="5432"
DB_USER=myuser
DB_USER=myuser2 # Duplicate keys are parsed but marked as duplicates
Output
[
{
"duplicate": false,
"key": "DB_HOST",
"value": "localhost"
},
{
"duplicate": false,
"key": "DB_PORT",
"value": "5432"
},
{
"duplicate": false,
"key": "DB_USER",
"value": "myuser"
},
{
"duplicate": true,
"key": "DB_USER",
"value": "myuser2"
}
]
If the provided text does not contain any key-value pairs, an empty array is returned.
Install
npm i didone
Usage
parse
import { parse } from "didone";
const values = parse(
`
DB_HOST=localhost
DB_PORT="5432" # Quoted values
DB_USER=myuser
`
);
serialize
import { serialize } from "didone";
const text = serialize([
{
duplicate: false,
key: "FOO",
value: "bar",
},
]);
console.log(text); // "FOO=bar"
Options
Set removeDuplicates
to true
to remove duplicate keys.
serialize(values, {
removeDuplicates: true,
});