You need to sign in or sign up before continuing.
Name Last Update
..
LICENSE Loading commit data...
README.md Loading commit data...
index.d.ts Loading commit data...
index.js Loading commit data...
package.json Loading commit data...

parenthesis Build Status

Parse parentheses from a string, return folded arrays.

npm install parenthesis

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

:copyright: 2018 Dmitry Yv. MIT License