@types/line-column
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

Installation

npm install --save @types/line-column

Summary

This package contains type definitions for line-column (https://github.com/io-monad/line-column).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/line-column.

index.d.ts

/**
 * Interface definining the return type of calls to the `fromIndex` function.
 */
interface LineColumnInfo {
    line: number;
    col: number;
}

/**
 * Utility type for object structures that can be used as inputs to the `toIndex`
 * function.
 */
type LineColumnObject = LineColumnInfo | { line: number; column: number };

/**
 * Utility type for using an array as an input to the `toIndex` function.
 */
type LineColumnArray = [number, number];

/**
 * Interface defining the return type from the main `lineColumn` function.
 */
interface LineColumnFinder {
    /**
     * Find line and column from index in the string.
     * @param index Index in the string. (0-origin)
     * @returns Found line number and column number or `null` if the given index is out of range.
     */
    fromIndex(index: number): LineColumnInfo | null;

    /**
     * Find index from line and column in the string.
     * @param line Line number in the string, an object containing line and column numbers or
     *              an array containing line and column numbers.
     * @param col Column number in the string.
     * @returns Found index in the string or `-1` if the given line or column is out of range.
     */
    toIndex(line: number | LineColumnObject | LineColumnArray, col?: number): number;
}

/**
 * Options for the main `lineColumn` function.
 */
interface LineColumnOptions {
    origin: number;
}

/**
 * Returns a `LineColumnFinder` instance for given `string` str.
 * @param str the string to find the line-column info for.
 * @param options options for the finder or a number representing the 'from' index.
 * @returns a `LineColumnFinder` instance.
 */
declare function lineColumn(str: string, options?: LineColumnOptions | number): LineColumnFinder;

export = lineColumn;

Additional Details

  • Last updated: Tue, 07 Nov 2023 09:09:38 GMT
  • Dependencies: none

Credits

These definitions were written by Dom Parfitt.

Readme

Keywords

none

Package Sidebar

Install

npm i @types/line-column

Weekly Downloads

21,675

Version

1.0.2

License

MIT

Unpacked Size

6.13 kB

Total Files

5

Last publish

Collaborators

  • types