parenthesis
v3.1.8
Published
Parse parentheses from a string
Downloads
1,052,228
Readme
parenthesis ![Build Status](https://travis-ci.org/dy/parenthesis.svg?branch=master)
Parse parentheses from a string, return folded arrays.
var parse = require('parenthesis')
// Parse into nested format
parse('a(b[c{d}])')
// ['a(', ['b[', ['c{', ['d'], '}'], ']'], ')']
// Parse into flat format with cross-references
parse('a(b[c{d}])', {
brackets: ['()'],
escape: '\\',
flat: true
})
// ['a(\\1)', 'b[c{d}]']
// Stringify nested format
parse.stringify(['a(', ['b[', ['c{', ['d'], '}'], ']'], ')'])
// 'a(b[c{d}])'
// Stringify flat format with cross-references
parse.stringify(['a(\\1)', 'b[c{d}]'], {flat: true, escape: '\\'})
// 'a(b[c{d}])'
API
tokens = paren.parse(string, brackets|opts?)
Return array with tokens.
Option | Default | Meaning
---|---|---
brackets
| ['{}', '[]', '()']
| Single brackets string or list of strings to detect brackets. Can be repeating brackets eg. "" or ''
.
escape
| '___'
| Escape prefix for flat references.
flat
| false
| Return flat array instead of nested arrays.
str = paren.stringify(tokens, {flat}?)
Stringify tokens back. Pass {flat: true}
flag for flat tokens array.
Related
License
© 2018 Dmitry Yv. MIT License