Options
All
  • Public
  • Public/Protected
  • All
Menu

Tracks newlines during parsing in order to provide an efficient API for determining the one-indexed { line, col } position for any offset within the input.

Hierarchy

  • LineCounter

Index

Constructors

constructor

Properties

addNewLine

addNewLine: (offset: number) => number

Type declaration

    • (offset: number): number
    • Should be called in ascending order. Otherwise, call lineCounter.lineStarts.sort() before calling linePos().

      Parameters

      • offset: number

      Returns number

linePos

linePos: (offset: number) => { col: number; line: number }

Type declaration

    • (offset: number): { col: number; line: number }
    • Performs a binary search and returns the 1-indexed { line, col } position of offset. If line === 0, addNewLine has never been called or offset is before the first known newline.

      Parameters

      • offset: number

      Returns { col: number; line: number }

      • col: number
      • line: number

lineStarts

lineStarts: number[]

Generated using TypeDoc