kjelsrud.dev/node_modules/hast-util-parse-selector/lib/extract.ts

17 lines
516 B
TypeScript
Raw Normal View History

2023-07-19 21:31:30 +02:00
export type ExtractTagName<
SimpleSelector extends string,
DefaultTagName extends string
> = SimpleSelector extends `#${infer Rest}`
? DefaultTagName
: SimpleSelector extends `.${infer Rest}`
? DefaultTagName
: SimpleSelector extends `${infer TagName}.${infer Rest}`
? ExtractTagName<TagName, DefaultTagName>
: SimpleSelector extends `${infer TagName}#${infer Rest}`
? TagName
: SimpleSelector extends ''
? DefaultTagName
: SimpleSelector extends string
? SimpleSelector
: DefaultTagName