diff --git a/package.json b/package.json index 6f45d9be..c449c660 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-eslint-parser", - "version": "10.0.0", + "version": "10.1.0", "description": "The ESLint custom parser for `.vue` files.", "main": "index.js", "files": [ diff --git a/src/external/token-store/index.ts b/src/external/token-store/index.ts index a0bdabbe..3369210d 100644 --- a/src/external/token-store/index.ts +++ b/src/external/token-store/index.ts @@ -751,4 +751,24 @@ export default class TokenStore { filter: isCommentToken, }) } + + /** + * Returns the location of the given node or token. + * @param nodeOrToken The node or token to get the location of. + * @returns The location of the node or token. + */ + // eslint-disable-next-line class-methods-use-this + public getLoc(nodeOrToken: HasLocation) { + return nodeOrToken.loc + } + + /** + * Returns the range of the given node or token. + * @param nodeOrToken The node or token to get the range of. + * @returns The range of the node or token. + */ + // eslint-disable-next-line class-methods-use-this + public getRange(nodeOrToken: HasLocation) { + return nodeOrToken.range + } } diff --git a/test/tokens.js b/test/tokens.js index 51a68c27..de370298 100644 --- a/test/tokens.js +++ b/test/tokens.js @@ -285,4 +285,19 @@ describe("services.getTemplateBodyTokenStore", () => { assert.deepStrictEqual(actual, ["div", ">"]) }) }) + + describe("TokenStore#get{Range,Loc}()", () => { + it("should return loc and range.", () => { + const { + templateBody: { + children: [node], + tokens: [token], + }, + } = ast + assert.equal(typeof tokens.getRange(node)[0], "number") + assert.equal(typeof tokens.getRange(token)[1], "number") + assert.equal(typeof tokens.getLoc(node).start.line, "number") + assert.equal(typeof tokens.getLoc(node).end.column, "number") + }) + }) })
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: