Parser combinators written in and for TypeScript.
npm install parsnip-ts
import { list, text } from 'parsnip-ts'
import { integer } from 'parsnip-ts/numbers'
import { ws } from 'parsnip-ts/whitespace'
const array = text('[')
.and(list(integer, ws.and(text(',').and(ws)))
.bind(integers =>
text(']').map(() => integers)
)
array.parseToEnd('[1, 2, 3]') // [1, 2, 3]
For a more thorough example, check out the examples folder.