@tiny-css/compiler
Version:
The compiler for compiling & reducing the bundle size of tiny-css
43 lines (42 loc) • 1.13 kB
TypeScript
export declare const sudoAttrSelectorRegex: RegExp;
export declare enum SelectorType {
class = "class",
id = "id",
tag = "tag",
pseudo = "pseudo",
invalid = "invalid"
}
export interface GroupSelectorObject {
nested: boolean;
type: "class" | "id" | "pseudo" | "tag" | "invalid";
selector: string;
child?: GroupSelectorObject;
}
export declare const nestOpRegex: RegExp;
export declare const classSelectors: RegExp;
export declare const idSelectors: RegExp;
export declare const pseudoSelectorRegex: RegExp;
export declare const globSelectorRegex: RegExp;
/**
* recursively creates CSS selector relations Object
* @author KR Tirtho
* @param {string} src css selector string
* @return {*} {GroupSelectorObject}
* @example
* groupSelector(.class + div > button); //would return
{
nested: true,
type: "class"
selector: ".class",
child: {
nested: true,
type: "tag",
selector: "div",
child: {
nested: false,
type: "tag", selector: "button"
},
},
},
*/
export declare function groupSelector(src: string): GroupSelectorObject;