import type { ASTNode, SourceCode } from '../../types'; | |
import type { AST } from 'svelte-eslint-parser'; | |
import type { OffsetContext } from './offset-context'; | |
export type AnyToken = AST.Token | AST.Comment; | |
export type MaybeNode = { | |
type: string; | |
range: [number, number]; | |
loc: AST.SourceLocation; | |
}; | |
export type IndentOptions = { | |
indentChar: ' ' | '\t'; | |
indentScript: boolean; | |
indentSize: number; | |
switchCase: number; | |
alignAttributesVertically: boolean; | |
ignoredNodes: string[]; | |
}; | |
export type IndentContext = { | |
sourceCode: SourceCode; | |
options: IndentOptions; | |
offsets: OffsetContext; | |
}; | |
/** | |
* Get the first and last tokens of the given node. | |
* If the node is parenthesized, this gets the outermost parentheses. | |
* If the node have whitespace at the start and the end, they will be skipped. | |
*/ | |
export declare function getFirstAndLastTokens(sourceCode: SourceCode, node: ASTNode | AnyToken | MaybeNode, borderOffset?: number): { | |
firstToken: AST.Token; | |
lastToken: AST.Token; | |
}; | |
/** | |
* Check whether the given node or token is the beginning of a line. | |
*/ | |
export declare function isBeginningOfLine(sourceCode: SourceCode, node: ASTNode | AnyToken | MaybeNode): boolean; | |
/** | |
* Check whether the given node is the beginning of element. | |
*/ | |
export declare function isBeginningOfElement(node: AST.SvelteText): boolean; | |