routie dev init since i didn't adhere to any proper guidance up until now
This commit is contained in:
+43
@@ -0,0 +1,43 @@
|
||||
import { TSESTree } from '@typescript-eslint/types'
|
||||
import { TSESLint } from '@typescript-eslint/utils'
|
||||
/**
|
||||
* Calculates the size of a node excluding trailing punctuation.
|
||||
*
|
||||
* Computes the character length of a node's text representation, automatically
|
||||
* subtracting trailing commas or semicolons from the size. This provides a more
|
||||
* accurate measure of the actual content size, which is useful for sorting by
|
||||
* line length.
|
||||
*
|
||||
* The function is widely used across all sorting rules when the sort type is
|
||||
* set to 'line-length', ensuring consistent size calculation that ignores
|
||||
* syntactic punctuation.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* ```ts
|
||||
* // Node text: "const foo = 'bar';"
|
||||
* rangeToDiff(node, sourceCode) // Returns: 17 (18 - 1 for semicolon)
|
||||
* ```
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* ```ts
|
||||
* // Node text: "{ name: 'John', age: 30 },"
|
||||
* rangeToDiff(node, sourceCode) // Returns: 26 (27 - 1 for comma)
|
||||
* ```
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* ```ts
|
||||
* // Node text: "const value = 42"
|
||||
* rangeToDiff(node, sourceCode) // Returns: 16 (no trailing punctuation)
|
||||
* ```
|
||||
*
|
||||
* @param node - AST node to measure.
|
||||
* @param sourceCode - ESLint source code object for text extraction.
|
||||
* @returns Character count of the node excluding trailing comma or semicolon.
|
||||
*/
|
||||
export declare function rangeToDiff(
|
||||
node: TSESTree.Node,
|
||||
sourceCode: TSESLint.SourceCode,
|
||||
): number
|
||||
Reference in New Issue
Block a user