eslint-plugin-vue-scoped-css
Version:
ESLint plugin for Scoped CSS in Vue.js
253 lines (252 loc) • 10.5 kB
TypeScript
import type { SourceLocation, Range, PostCSSNode, PostCSSRule, PostCSSDeclaration, PostCSSAtRule, PostCSSSPNode, PostCSSSPTypeNode, PostCSSSPIDNode, PostCSSSPClassNameNode, PostCSSSPNestingNode, PostCSSSPUniversalNode, PostCSSSPAttributeNode, PostCSSSPPseudoNode, PostCSSSPCombinatorNode, PostCSSComment, PostCSSSPCommentNode, PostCSSRoot } from "../types";
type CopyProps = {
node?: PostCSSNode | PostCSSSPNode;
loc?: SourceLocation;
start?: number;
end?: number;
};
declare class Node<T extends string> {
readonly type: T;
readonly loc: SourceLocation;
start: number;
end: number;
range: Range;
readonly node: PostCSSNode | PostCSSSPNode;
readonly lang: string;
protected constructor(node: PostCSSNode | PostCSSSPNode, type: T, loc: SourceLocation, start: number, end: number, lang: string);
}
declare class HasParentNode<T extends string, P extends VCSSContainerNode | VCSSSelector | VCSSSelectorPseudo> extends Node<T> {
readonly parent: P;
protected constructor(node: PostCSSNode | PostCSSSPNode, type: T, loc: SourceLocation, start: number, end: number, props: {
parent: P;
});
}
export declare class VCSSParsingError extends Node<"VCSSParsingError"> {
readonly message: string;
constructor(node: PostCSSDeclaration, loc: SourceLocation, start: number, end: number, props: {
lang: string;
message: string;
});
}
export declare class VCSSStyleSheet extends Node<"VCSSStyleSheet"> {
nodes: VCSSNode[];
comments: VCSSCommentNode[];
readonly errors: VCSSParsingError[];
constructor(node: PostCSSRoot, loc: SourceLocation, start: number, end: number, props: {
nodes?: VCSSNode[];
comments?: VCSSCommentNode[];
errors?: VCSSParsingError[];
lang: string;
});
copy(props?: CopyProps): VCSSStyleSheet;
}
export declare class VCSSStyleRule extends HasParentNode<"VCSSStyleRule", VCSSContainerNode> {
nodes: VCSSNode[];
readonly selectorText: string;
readonly rawSelectorText: string;
selectors: VCSSSelectorNode[];
constructor(node: PostCSSRule, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSContainerNode;
selectorText?: string;
rawSelectorText: string | null;
selectors?: VCSSSelectorNode[];
nodes?: VCSSNode[];
});
copy(props?: CopyProps): VCSSStyleRule;
}
export declare class VCSSDeclarationProperty extends HasParentNode<"VCSSDeclarationProperty", VCSSContainerNode> {
readonly property: string;
readonly value: string;
readonly important: boolean;
constructor(node: PostCSSDeclaration, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSContainerNode;
property?: string;
important?: boolean;
value?: string;
});
copy(props?: CopyProps): VCSSDeclarationProperty;
}
export declare class VCSSAtRule extends HasParentNode<"VCSSAtRule", VCSSContainerNode> {
nodes: VCSSNode[];
readonly name: string;
readonly identifier: string;
readonly paramsText: string;
readonly rawParamsText: string;
rawSelectorText?: string;
selectors?: VCSSSelectorNode[];
readonly node: PostCSSAtRule;
constructor(node: PostCSSAtRule, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSContainerNode;
identifier: string;
paramsText?: string;
rawParamsText: string | null;
selectors?: VCSSSelectorNode[];
nodes?: VCSSNode[];
});
copy(props?: CopyProps): VCSSAtRule;
}
export declare class VCSSUnknown extends HasParentNode<"VCSSUnknown", VCSSContainerNode> {
nodes: VCSSNode[];
unknownType?: string;
constructor(node: PostCSSNode, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSContainerNode;
nodes?: VCSSNode[];
unknownType?: string;
});
copy(props?: CopyProps): VCSSUnknown;
}
export declare class VCSSSelector extends HasParentNode<"VCSSSelector", VCSSStyleRule | VCSSAtRule | VCSSSelectorPseudo> {
nodes: VCSSSelectorValueNode[];
parent: VCSSStyleRule | VCSSAtRule | VCSSSelectorPseudo;
constructor(node: PostCSSSPNode, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSStyleRule | VCSSAtRule | VCSSSelectorPseudo;
nodes?: VCSSSelectorValueNode[];
});
copy(props?: CopyProps): VCSSSelector;
get selector(): string;
}
export declare class VCSSTypeSelector extends HasParentNode<"VCSSTypeSelector", VCSSSelector> {
readonly value: string;
readonly selector: string;
constructor(node: PostCSSSPTypeNode, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSSelector;
value?: string;
});
copy(props?: CopyProps & {
parent?: VCSSSelector;
value?: string;
}): VCSSTypeSelector;
}
export declare class VCSSIDSelector extends HasParentNode<"VCSSIDSelector", VCSSSelector> {
readonly value: string;
readonly selector: string;
constructor(node: PostCSSSPIDNode, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSSelector;
value?: string;
});
copy(props?: CopyProps & {
parent?: VCSSSelector;
value?: string;
}): VCSSIDSelector;
}
export declare class VCSSClassSelector extends HasParentNode<"VCSSClassSelector", VCSSSelector> {
readonly value: string;
readonly selector: string;
constructor(node: PostCSSSPClassNameNode, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSSelector;
value?: string;
});
copy(props?: CopyProps & {
parent?: VCSSSelector;
value?: string;
}): VCSSClassSelector;
}
export declare class VCSSNestingSelector extends HasParentNode<"VCSSNestingSelector", VCSSSelector> {
readonly value: string;
readonly selector: string;
constructor(node: PostCSSSPNestingNode, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSSelector;
value?: string;
});
copy(props?: CopyProps & {
parent?: VCSSSelector;
value?: string;
}): VCSSNestingSelector;
}
export declare class VCSSUniversalSelector extends HasParentNode<"VCSSUniversalSelector", VCSSSelector> {
readonly value: string;
readonly selector: string;
constructor(node: PostCSSSPUniversalNode, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSSelector;
value?: string;
});
copy(props?: CopyProps & {
parent?: VCSSSelector;
value?: string;
}): VCSSUniversalSelector;
}
export declare class VCSSAttributeSelector extends HasParentNode<"VCSSAttributeSelector", VCSSSelector> {
readonly value: string | null;
readonly attribute: string;
readonly operator: string | null;
readonly quoteMark: string | null;
readonly insensitiveFlag: string | null;
readonly selector: string;
constructor(node: PostCSSSPAttributeNode, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSSelector;
value?: string;
insensitiveFlag?: string;
});
private refreshSelector;
copy(props?: CopyProps & {
parent?: VCSSSelector;
value?: string;
}): VCSSAttributeSelector;
}
export declare class VCSSSelectorPseudo extends HasParentNode<"VCSSSelectorPseudo", VCSSSelector> {
readonly value: string;
nodes: VCSSSelector[];
constructor(node: PostCSSSPPseudoNode, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSSelector;
nodes?: VCSSSelector[];
});
copy(props?: CopyProps & {
parent?: VCSSSelector;
value?: string;
}): VCSSSelectorPseudo;
get selector(): string;
}
export declare class VCSSSelectorCombinator extends HasParentNode<"VCSSSelectorCombinator", VCSSSelector> {
value: string;
selector: string;
constructor(node: PostCSSSPCombinatorNode, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSSelector;
value?: string;
});
copy(props?: CopyProps & {
parent?: VCSSSelector;
value?: string;
}): VCSSSelectorCombinator;
}
export declare class VCSSUnknownSelector extends HasParentNode<"VCSSUnknownSelector", VCSSSelector> {
readonly value: string;
readonly selector: string;
constructor(node: PostCSSSPNode, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSSelector;
});
copy(props?: CopyProps & {
parent?: VCSSSelector;
value?: string;
}): VCSSUnknownSelector;
}
export declare class VCSSComment extends HasParentNode<"VCSSComment", VCSSContainerNode | VCSSSelector> {
readonly node: PostCSSComment | PostCSSSPCommentNode;
readonly text: string;
constructor(node: PostCSSComment | PostCSSSPCommentNode, text: string, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSContainerNode | VCSSSelector;
});
copy(props?: CopyProps & {
parent?: VCSSContainerNode | VCSSSelector;
node?: PostCSSComment | PostCSSSPCommentNode;
text?: string;
}): VCSSComment;
}
export declare class VCSSInlineComment extends HasParentNode<"VCSSInlineComment", VCSSContainerNode | VCSSSelector> {
readonly node: PostCSSComment | PostCSSSPCommentNode;
readonly text: string;
constructor(node: PostCSSComment | PostCSSSPCommentNode, text: string, loc: SourceLocation, start: number, end: number, props: {
parent: VCSSContainerNode | VCSSSelector;
});
copy(props?: CopyProps & {
parent?: VCSSContainerNode | VCSSSelector;
node?: PostCSSComment | PostCSSSPCommentNode;
text?: string;
}): VCSSInlineComment;
}
export type VCSS = VCSSNode | VCSSSelectorNode;
export type VCSSNode = VCSSContainerNode | VCSSDeclarationProperty | VCSSCommentNode;
export type VCSSCommentNode = VCSSInlineComment | VCSSComment;
export type VCSSContainerNode = VCSSStyleSheet | VCSSStyleRule | VCSSAtRule | VCSSUnknown;
export type VCSSSelectorNode = VCSSSelector | VCSSTypeSelector | VCSSIDSelector | VCSSClassSelector | VCSSNestingSelector | VCSSUniversalSelector | VCSSAttributeSelector | VCSSSelectorPseudo | VCSSSelectorCombinator | VCSSUnknownSelector;
export type VCSSSelectorValueNode = VCSSTypeSelector | VCSSIDSelector | VCSSClassSelector | VCSSNestingSelector | VCSSUniversalSelector | VCSSAttributeSelector | VCSSSelectorPseudo | VCSSSelectorCombinator | VCSSUnknownSelector;
export {};