Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions apps/oxlint/src-js/plugins/tokens.ts
Original file line number Diff line number Diff line change
Expand Up @@ -716,14 +716,9 @@ export function getTokenBefore(
* @param skip - Number of tokens to skip.
* @returns `Token`, or `null` if all were skipped.
*/
/* oxlint-disable no-unused-vars */
export function getTokenOrCommentBefore(nodeOrToken: NodeOrToken | Comment, skip?: number): Token | null {
// TODO: Implement equivalent of:
// `return getTokenBefore(nodeOrToken, { includeComments: true, skip });`
// But could use a const object at top level for options object, to avoid creating temporary object on each call.
throw new Error('`sourceCode.getTokenOrCommentBefore` not implemented yet');
return getTokenBefore(nodeOrToken, { includeComments: true, skip });
}
/* oxlint-enable no-unused-vars */

/**
* Get the tokens that precede a given node or token.
Expand Down
13 changes: 9 additions & 4 deletions apps/oxlint/test/tokens.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -762,11 +762,16 @@ describe('when calling getTokenByRangeStart', () => {
getTokenByRangeStart;
});

// https://github.com/eslint/eslint/blob/v9.39.1/tests/lib/languages/js/source-code/token-store.js#L1564-L1582
describe('when calling getTokenOrCommentBefore', () => {
/* oxlint-disable-next-line no-disabled-tests expect-expect */
it('is to be implemented');
/* oxlint-disable-next-line no-unused-expressions */
getTokenOrCommentBefore;
it('should retrieve one token or comment before a node', () => {
expect(getTokenOrCommentBefore(BinaryExpression)!.value).toBe('C');
});

it('should skip a given number of tokens', () => {
expect(getTokenOrCommentBefore(BinaryExpression, 1)!.value).toBe('=');
expect(getTokenOrCommentBefore(BinaryExpression, 2)!.value).toBe('B');
});
});

describe('when calling getTokenOrCommentAfter', () => {
Expand Down
Loading