astro-ghostcms/.pnpm-store/v3/files/30/20d53886066a542e276bd6d9230...

53 lines
1.4 KiB
Plaintext

import type { TSESTree } from "@typescript-eslint/types";
export declare const enum CSSTokenType {
quoted = "Quoted",
block = "Block",
line = "Line",
word = "Word",
punctuator = "Punctuator"
}
export interface CSSWordToken {
type: CSSTokenType.word;
value: string;
range: TSESTree.Range;
}
export interface CSSQuotedToken {
type: CSSTokenType.quoted;
valueRange: TSESTree.Range;
value: string;
range: TSESTree.Range;
quote: '"' | "'";
}
export interface CSSPunctuatorToken {
type: CSSTokenType.punctuator;
value: string;
range: TSESTree.Range;
}
export interface CSSCommentToken {
type: CSSTokenType.block | CSSTokenType.line;
valueRange: TSESTree.Range;
value: string;
range: TSESTree.Range;
}
export type CSSToken = CSSWordToken | CSSQuotedToken | CSSPunctuatorToken | CSSCommentToken;
export type CSSTokenizeOption = {
inlineComment?: boolean;
};
export declare class CSSTokenizer {
readonly text: string;
private readonly options;
private cp;
private offset;
private nextOffset;
private reconsuming;
constructor(text: string, startOffset: number, options?: CSSTokenizeOption);
nextToken(): CSSToken | null;
private nextCodePoint;
private consumeNextCodePoint;
private consumeNextToken;
private consumeWord;
private consumeString;
private consumeComment;
private consumeInlineComment;
}