UNPKG

@thi.ng/parse

Version:

Purely functional parser combinators & AST generation for generic inputs

17 lines (16 loc) 358 B
import { discard } from "../xform/discard.js"; const seq = (parsers, id = "seq") => (ctx) => { if (ctx.done) return false; ctx.start(id); for (let i = 0, n = parsers.length; i < n; i++) { if (!parsers[i](ctx)) { return ctx.discard(); } } return ctx.end(); }; const seqD = (parsers) => discard(seq(parsers)); export { seq, seqD };