.
This commit is contained in:
		
							
								
								
									
										21
									
								
								qwen/nodejs/node_modules/lines-and-columns/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								qwen/nodejs/node_modules/lines-and-columns/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
The MIT License (MIT)
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2015 Brian Donovan
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
in the Software without restriction, including without limitation the rights
 | 
			
		||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
			
		||||
copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
furnished to do so, subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in
 | 
			
		||||
all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
			
		||||
THE SOFTWARE.
 | 
			
		||||
							
								
								
									
										33
									
								
								qwen/nodejs/node_modules/lines-and-columns/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								qwen/nodejs/node_modules/lines-and-columns/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
# lines-and-columns
 | 
			
		||||
 | 
			
		||||
Maps lines and columns to character offsets and back. This is useful for parsers
 | 
			
		||||
and other text processors that deal in character ranges but process text with
 | 
			
		||||
meaningful lines and columns.
 | 
			
		||||
 | 
			
		||||
## Install
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ npm install [--save] lines-and-columns
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Usage
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
import { LinesAndColumns } from 'lines-and-columns'
 | 
			
		||||
 | 
			
		||||
const lines = new LinesAndColumns(
 | 
			
		||||
  `table {
 | 
			
		||||
  border: 0
 | 
			
		||||
}`
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
lines.locationForIndex(9)
 | 
			
		||||
// { line: 1, column: 1 }
 | 
			
		||||
 | 
			
		||||
lines.indexForLocation({ line: 1, column: 2 })
 | 
			
		||||
// 10
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
MIT
 | 
			
		||||
							
								
								
									
										13
									
								
								qwen/nodejs/node_modules/lines-and-columns/build/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								qwen/nodejs/node_modules/lines-and-columns/build/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
export declare type SourceLocation = {
 | 
			
		||||
    line: number;
 | 
			
		||||
    column: number;
 | 
			
		||||
};
 | 
			
		||||
export declare class LinesAndColumns {
 | 
			
		||||
    private string;
 | 
			
		||||
    private offsets;
 | 
			
		||||
    constructor(string: string);
 | 
			
		||||
    locationForIndex(index: number): SourceLocation | null;
 | 
			
		||||
    indexForLocation(location: SourceLocation): number | null;
 | 
			
		||||
    private lengthOfLine;
 | 
			
		||||
}
 | 
			
		||||
export default LinesAndColumns;
 | 
			
		||||
							
								
								
									
										62
									
								
								qwen/nodejs/node_modules/lines-and-columns/build/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								qwen/nodejs/node_modules/lines-and-columns/build/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -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;
 | 
			
		||||
							
								
								
									
										49
									
								
								qwen/nodejs/node_modules/lines-and-columns/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								qwen/nodejs/node_modules/lines-and-columns/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "lines-and-columns",
 | 
			
		||||
  "version": "1.2.4",
 | 
			
		||||
  "description": "Maps lines and columns to character offsets and back.",
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "lines",
 | 
			
		||||
    "columns",
 | 
			
		||||
    "parser"
 | 
			
		||||
  ],
 | 
			
		||||
  "homepage": "https://github.com/eventualbuddha/lines-and-columns#readme",
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/eventualbuddha/lines-and-columns/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "https://github.com/eventualbuddha/lines-and-columns.git"
 | 
			
		||||
  },
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "author": "Brian Donovan <brian@donovans.cc>",
 | 
			
		||||
  "main": "./build/index.js",
 | 
			
		||||
  "types": "./build/index.d.ts",
 | 
			
		||||
  "files": [
 | 
			
		||||
    "build"
 | 
			
		||||
  ],
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "build:watch": "tsc --build tsconfig.build.json --watch",
 | 
			
		||||
    "lint": "eslint .",
 | 
			
		||||
    "lint:fix": "eslint . --fix",
 | 
			
		||||
    "test": "is-ci test:coverage test:watch",
 | 
			
		||||
    "test:coverage": "jest --coverage",
 | 
			
		||||
    "test:watch": "jest --watch"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@types/jest": "^27.0.3",
 | 
			
		||||
    "@types/node": "^16.11.9",
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": "^5.4.0",
 | 
			
		||||
    "@typescript-eslint/parser": "^5.4.0",
 | 
			
		||||
    "esbuild": "^0.13.15",
 | 
			
		||||
    "esbuild-runner": "^2.2.1",
 | 
			
		||||
    "eslint": "^8.2.0",
 | 
			
		||||
    "eslint-config-prettier": "^8.3.0",
 | 
			
		||||
    "eslint-plugin-prettier": "^4.0.0",
 | 
			
		||||
    "is-ci-cli": "^2.2.0",
 | 
			
		||||
    "jest": "^27.3.1",
 | 
			
		||||
    "prettier": "^2.4.1",
 | 
			
		||||
    "semantic-release": "^18.0.0",
 | 
			
		||||
    "typescript": "^4.5.2"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user