diff --git a/package.json b/package.json index 6f45d9b..c449c66 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 a0bdabb..3369210 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 51a68c2..de37029 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: