22 lines
710 B
JavaScript
22 lines
710 B
JavaScript
|
'use strict';
|
||
|
|
||
|
/**
|
||
|
Get location info for the given node or range.
|
||
|
|
||
|
@param {import('estree').Node | number[]} nodeOrRange - The AST node or range to get the location for.
|
||
|
@param {import('eslint').SourceCode} sourceCode - The source code object.
|
||
|
@param {int} [startOffset] - Start position offset.
|
||
|
@param {int} [endOffset] - End position offset.
|
||
|
@returns {import('estree').SourceLocation}
|
||
|
*/
|
||
|
function toLocation(nodeOrRange, sourceCode, startOffset = 0, endOffset = 0) {
|
||
|
const [start, end] = Array.isArray(nodeOrRange) ? nodeOrRange : nodeOrRange.range;
|
||
|
|
||
|
return {
|
||
|
start: sourceCode.getLocFromIndex(start + startOffset),
|
||
|
end: sourceCode.getLocFromIndex(end + endOffset),
|
||
|
};
|
||
|
}
|
||
|
|
||
|
module.exports = toLocation;
|