Defers evaluation of a parser, allowing recursive parser definitions. Without lazy, you can't reference a parser before it's defined:
lazy
// ReferenceError: expr is not definedconst expr = or(number, seqR(char("("), expr, char(")")));// Works: the reference to expr is deferredconst expr = or(number, seqR(char("("), lazy(() => expr), char(")"))); Copy
// ReferenceError: expr is not definedconst expr = or(number, seqR(char("("), expr, char(")")));// Works: the reference to expr is deferredconst expr = or(number, seqR(char("("), lazy(() => expr), char(")")));
a function that returns the parser
Generated using TypeDoc
Defers evaluation of a parser, allowing recursive parser definitions. Without
lazy, you can't reference a parser before it's defined: