npm.io
2.0.0 • Published 3 years ago

parse-pairs

Licence
ISC
Version
2.0.0
Deps
0
Size
5 kB
Vulns
0
Weekly
0
Stars
2

parse-pairs

Package Version License PackagePhobia Node compatibility

Parse key-value pairs

Install

Installation of the npm package:

> npm install --save parse-pairs

Usage

import { parsePairs } from "parse-pairs";

parsePairs('Batman="Bruce Wayne" "Wonder Woman"="Diana Prince" # comment');
// {
//   Batman: 'Bruce Wayne',
//   'Wonder Woman': 'Diana Prince'
// }
  • both keys and values can be quoted
  • single and double quotes are supported
  • white spaces around pairs are ignored
  • no escape sequences, feel free to open an issue or PR if necessary
  • single line comments starting with # are ignored
Custom parser

For advanced needs, you can create a custom parser.

import { createParser } from 'parse-pairs'

const parse = createParser({
  keyTransform: lodash.cameCase,
  valueTransform: (value, key) => lodash.startCase(value.toLowerCase())
})

parse('BATMAN="BRUCE WAYNE" "WONDER WOMAN"="DIANA PRINCE"')
{
  batman: 'Bruce Wayne',
  wonderWoman: 'Diana Prince'
}

Contributions

Contributions are very welcomed, either on the documentation or on the code.

You may:

  • report any issue you've encountered;
  • fork and create a pull request.

License

ISC Julien Fontanet

Keywords