aboutsummaryrefslogtreecommitdiff
path: root/node_modules/lines-and-columns/build/index.js
diff options
context:
space:
mode:
authorJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
committerJoel Kronqvist <joel.h.kronqvist@gmail.com>2022-03-05 19:02:27 +0200
commit5d309ff52cd399a6b71968a6b9a70c8ac0b98981 (patch)
tree360f7eb50f956e2367ef38fa1fc6ac7ac5258042 /node_modules/lines-and-columns/build/index.js
parentb500a50f1b97d93c98b36ed9a980f8188d648147 (diff)
downloadLYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.tar.gz
LYLLRuoka-5d309ff52cd399a6b71968a6b9a70c8ac0b98981.zip
Added node_modules for the updating to work properly.
Diffstat (limited to 'node_modules/lines-and-columns/build/index.js')
-rw-r--r--node_modules/lines-and-columns/build/index.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/node_modules/lines-and-columns/build/index.js b/node_modules/lines-and-columns/build/index.js
new file mode 100644
index 0000000..5117cad
--- /dev/null
+++ b/node_modules/lines-and-columns/build/index.js
@@ -0,0 +1,62 @@
+"use strict";
+exports.__esModule = true;
+exports.LinesAndColumns = void 0;
+var LF = '\n';
+var CR = '\r';
+var LinesAndColumns = /** @class */ (function () {
+ function LinesAndColumns(string) {
+ this.string = string;
+ var offsets = [0];
+ for (var offset = 0; offset < string.length;) {
+ switch (string[offset]) {
+ case LF:
+ offset += LF.length;
+ offsets.push(offset);
+ break;
+ case CR:
+ offset += CR.length;
+ if (string[offset] === LF) {
+ offset += LF.length;
+ }
+ offsets.push(offset);
+ break;
+ default:
+ offset++;
+ break;
+ }
+ }
+ this.offsets = offsets;
+ }
+ LinesAndColumns.prototype.locationForIndex = function (index) {
+ if (index < 0 || index > this.string.length) {
+ return null;
+ }
+ var line = 0;
+ var offsets = this.offsets;
+ while (offsets[line + 1] <= index) {
+ line++;
+ }
+ var column = index - offsets[line];
+ return { line: line, column: column };
+ };
+ LinesAndColumns.prototype.indexForLocation = function (location) {
+ var line = location.line, column = location.column;
+ if (line < 0 || line >= this.offsets.length) {
+ return null;
+ }
+ if (column < 0 || column > this.lengthOfLine(line)) {
+ return null;
+ }
+ return this.offsets[line] + column;
+ };
+ LinesAndColumns.prototype.lengthOfLine = function (line) {
+ var offset = this.offsets[line];
+ var nextOffset = line === this.offsets.length - 1
+ ? this.string.length
+ : this.offsets[line + 1];
+ return nextOffset - offset;
+ };
+ return LinesAndColumns;
+}());
+exports.LinesAndColumns = LinesAndColumns;
+exports["default"] = LinesAndColumns;