Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
Module

x/yaml/src/parse/line-counter.ts>LineCounter

YAML parser and stringifier for JavaScript
Go to Latest
class LineCounter
import { LineCounter } from "https://deno.land/x/yaml@v2.4.1/src/parse/line-counter.ts";

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.

Properties

addNewLine: (offset: number) => unknown

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

linePos: (offset: number) => unknown

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.

lineStarts: number[]