mirror of
https://github.com/stjornleysi/telegram_glpi.git
synced 2025-11-29 16:43:10 +00:00
init
This commit is contained in:
148
node_modules/parseley/lib/ast.d.ts
generated
vendored
Normal file
148
node_modules/parseley/lib/ast.d.ts
generated
vendored
Normal file
@@ -0,0 +1,148 @@
|
||||
/**
|
||||
* Specificity as defined by Selectors spec.
|
||||
*
|
||||
* {@link https://www.w3.org/TR/selectors/#specificity}
|
||||
*
|
||||
* Three levels: for id, class, tag (type).
|
||||
*
|
||||
* Extra level(s) used in HTML styling don't fit the scope of this package
|
||||
* and no space reserved for them.
|
||||
*/
|
||||
export type Specificity = [number, number, number];
|
||||
/**
|
||||
* The `*` selector.
|
||||
*
|
||||
* {@link https://www.w3.org/TR/selectors/#the-universal-selector}
|
||||
*
|
||||
* `parseley` considers tag name and universal selectors to be unrelated entities
|
||||
* for simplicity of processing.
|
||||
*/
|
||||
export type UniversalSelector = {
|
||||
type: 'universal';
|
||||
namespace: string | null;
|
||||
specificity: Specificity;
|
||||
};
|
||||
/**
|
||||
* Tag name (type) selector.
|
||||
*
|
||||
* {@link https://www.w3.org/TR/selectors/#type-selectors}
|
||||
*
|
||||
* `parseley` considers tag name and universal selectors to be unrelated entities
|
||||
* for simplicity of processing.
|
||||
*/
|
||||
export type TagSelector = {
|
||||
type: 'tag';
|
||||
name: string;
|
||||
namespace: string | null;
|
||||
specificity: Specificity;
|
||||
};
|
||||
/**
|
||||
* Class selector.
|
||||
*
|
||||
* {@link https://www.w3.org/TR/selectors/#class-html}
|
||||
*/
|
||||
export type ClassSelector = {
|
||||
type: 'class';
|
||||
name: string;
|
||||
specificity: Specificity;
|
||||
};
|
||||
/**
|
||||
* Id selector.
|
||||
*
|
||||
* {@link https://www.w3.org/TR/selectors/#id-selectors}
|
||||
*/
|
||||
export type IdSelector = {
|
||||
type: 'id';
|
||||
name: string;
|
||||
specificity: Specificity;
|
||||
};
|
||||
/**
|
||||
* Attribute presence selector.
|
||||
*
|
||||
* {@link https://www.w3.org/TR/selectors/#attribute-selectors}
|
||||
*
|
||||
* `parseley` considers attribute presence and value selectors to be unrelated entities
|
||||
* for simplicity of processing.
|
||||
*/
|
||||
export type AttributePresenceSelector = {
|
||||
type: 'attrPresence';
|
||||
name: string;
|
||||
namespace: string | null;
|
||||
specificity: Specificity;
|
||||
};
|
||||
/**
|
||||
* Attribute value selector.
|
||||
*
|
||||
* {@link https://www.w3.org/TR/selectors/#attribute-selectors}
|
||||
*
|
||||
* `parseley` considers attribute presence and value selectors to be unrelated entities
|
||||
* for simplicity of processing.
|
||||
*/
|
||||
export type AttributeValueSelector = {
|
||||
type: 'attrValue';
|
||||
name: string;
|
||||
namespace: string | null;
|
||||
matcher: '=' | '~=' | '|=' | '^=' | '$=' | '*=';
|
||||
value: string;
|
||||
modifier: 'i' | 's' | null;
|
||||
specificity: Specificity;
|
||||
};
|
||||
/**
|
||||
* Represents a selectors combinator with what's on the left side of it.
|
||||
*
|
||||
* {@link https://www.w3.org/TR/selectors/#combinators}
|
||||
*/
|
||||
export type Combinator = {
|
||||
type: 'combinator';
|
||||
combinator: ' ' | '+' | '>' | '~' | '||';
|
||||
left: CompoundSelector;
|
||||
specificity: Specificity;
|
||||
};
|
||||
/**
|
||||
* Any thing representing a single condition on an element.
|
||||
*
|
||||
* {@link https://www.w3.org/TR/selectors/#simple}
|
||||
*
|
||||
* `parseley` deviates from the spec here by adding `Combinator` to the enumeration.
|
||||
* This is done for simplicity of processing.
|
||||
*
|
||||
* Combinator effectively considered an extra condition on a specific element
|
||||
* (*"have this kind of element in relation"*).
|
||||
*/
|
||||
export type SimpleSelector = UniversalSelector | TagSelector | ClassSelector | IdSelector | AttributePresenceSelector | AttributeValueSelector | Combinator;
|
||||
/**
|
||||
* Compound selector - a set of conditions describing a single element.
|
||||
*
|
||||
* {@link https://www.w3.org/TR/selectors/#compound}
|
||||
*
|
||||
* {@link https://www.w3.org/TR/selectors/#complex}
|
||||
*
|
||||
* Important note: due to the way `parseley` represents combinators,
|
||||
* every compound selector is also a complex selector with everything
|
||||
* connected from the left side.
|
||||
* Specificity value also includes any extra weight added by the left side.
|
||||
*
|
||||
* If there is a combinator in the selector - it is guaranteed to be
|
||||
* the last entry in the list of inner selectors.
|
||||
*/
|
||||
export type CompoundSelector = {
|
||||
type: 'compound';
|
||||
list: SimpleSelector[];
|
||||
specificity: Specificity;
|
||||
};
|
||||
/**
|
||||
* Represents a comma-separated list of compound selectors.
|
||||
*
|
||||
* {@link https://www.w3.org/TR/selectors/#selector-list}
|
||||
*
|
||||
* As this kind of selector can combine different ways to match elements,
|
||||
* a single specificity value doesn't make sense for it and therefore absent.
|
||||
*/
|
||||
export type ListSelector = {
|
||||
type: 'list';
|
||||
list: CompoundSelector[];
|
||||
};
|
||||
/**
|
||||
* Any kind of selector supported by `parseley`.
|
||||
*/
|
||||
export type Selector = ListSelector | CompoundSelector | SimpleSelector;
|
||||
Reference in New Issue
Block a user