@glennsl/bs-revamp
v0.2.0
Published
A safe and functional API for JavaScript regexes
Downloads
13
Maintainers
Readme
bs-re:vamp
An experimental safe and functional API for JavaScript regexes
Example
/*
* Dasherize camelCased identifiers inside string literals
*/
let code = {|
let borderLeftColor = "borderLeftColor";
let borderRightColor = "borderRightColor";
|};
code |> Revamp.replace({|"([^"]+)"|}, /* Matches the content of string literals */
Revamp.replace("[A-Z]", letter => /* Matches uppercase letters */
"-" ++ letter |> Js.String.toLowerCase)) /* Convert to lower case and prefix with a dash */
|> Js.log;
/* Outputs:
let borderLeftColor = "border-left-color";
let borderRightColor = "border-right-color";
*/
Installation
npm install --save @glennsl/bs-revamp
Then add @glennsl/bs-revamp
to bs-dependencies
in your bsconfig.json
:
{
...
"bs-dependencies": ["@glennsl/bs-revamp"]
}
Goals
- A sane, safe API
- Low performance overhead (secondary)
Non-goals
- Full feature parity
Documentation
For the moment, please see the interface file, Revamp.rei.
Changes
0.2.0
- [BREAKING] Removed
Match.matches
, deprecated in 0.1.0, due to being unsound
0.1.0
- Changed type of
captures
fromSequence.t(array(string))
toSequence.t(list(option(string)))
because the former was unsound. - Added
Match.match
andMatch.captures
- Deprecated
Match.matches
due to being unsound