JSPM

  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q74175F
  • 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 ESM only: Node 12+ is needed to use it and it must be imported instead of required:

npm i line-column-mini

If you need a legacy version which works with require, use version 1.2.0

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 and examples.

Contributing

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

Licence

MIT License

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

ok codsen star