JSPM

  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q73499F
  • License MIT

Convert string index to line-column position

Package Exports

  • line-column-mini

Readme

line-column-mini

Convert string index to line-column position

Install

This package is pure ESM. If you're not ready yet, install an older version of this program, 1.2.0 (npm i line-column-mini@1.2.0).

npm i line-column-mini

Quick Take

import { strict as assert } from "assert";

import { lineCol, getLineStartIndexes } from "line-column-mini";

// index 14 is letter "k" on the fourth line:
assert.deepEqual(lineCol("abc\ndef\r\nghi\njkl", 14), {
  line: 4,
  col: 2,
});

// ---------------------------------------------------------

// if you know you might query multiple times, use caching
const lineIndexes = getLineStartIndexes("abc\ndef\r\nghi\njkl");
assert.deepEqual(lineCol(lineIndexes, 14), {
  line: 4,
  col: 2,
});
// other queries will be by magnitude faster:
assert.deepEqual(lineCol(lineIndexes, 15), {
  line: 4,
  col: 3,
});

// by the way...
assert.deepEqual(lineCol(lineIndexes, 99), null);

Documentation

Please visit codsen.com for a full description of the API.

Contributing

To report bugs or request features or assistance, raise an issue on GitHub.

Licence

MIT License

Copyright (c) 2010-2022 Roy Revelt and other contributors

ok codsen star