fediversity.eu/node_modules/yaml/dist/parse/line-counter.d.ts
2024-03-26 16:28:28 +01:00

23 lines
733 B
TypeScript

/**
* 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.
*/
export declare class LineCounter {
lineStarts: number[];
/**
* Should be called in ascending order. Otherwise, call
* `lineCounter.lineStarts.sort()` before calling `linePos()`.
*/
addNewLine: (offset: number) => 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.
*/
linePos: (offset: number) => {
line: number;
col: number;
};
}