Skip to content
On this page

takeLeft composite

Signature

ts
function takeLeft<T1, T2>(p1: Parser<T1>, p2: Parser<T2>): Parser<T1>

Description

takeLeft combinator takes exactly two parsers and applies them in order. Returns the result of the leftmost p1 parser.

Usage

ts
const Parser = takeLeft(
  whole(),
  sequence(whitespace(), string('spartans'))
)

Success

ts
run(Parser).with('42 spartans')

{
  isOk: true,
  span: [ 0, 11 ],
  pos: 11,
  value: 42
}

Failure

ts
run(Parser).with('42 haskellers')

{
  isOk: false,
  span: [ 3, 11 ],
  pos: 3,
  expected: 'spartans'
}