happy-dom 14.3.3 → 14.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of happy-dom might be problematic. Click here for more details.
- package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs +5 -3
- package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs.map +1 -1
- package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
- package/cjs/custom-element/CustomElementRegistry.cjs +3 -18
- package/cjs/custom-element/CustomElementRegistry.cjs.map +1 -1
- package/cjs/custom-element/CustomElementRegistry.d.ts.map +1 -1
- package/cjs/nodes/element/Element.cjs +19 -16
- package/cjs/nodes/element/Element.cjs.map +1 -1
- package/cjs/nodes/element/Element.d.ts +3 -0
- package/cjs/nodes/element/Element.d.ts.map +1 -1
- package/cjs/query-selector/QuerySelector.cjs +10 -4
- package/cjs/query-selector/QuerySelector.cjs.map +1 -1
- package/cjs/query-selector/QuerySelector.d.ts +5 -1
- package/cjs/query-selector/QuerySelector.d.ts.map +1 -1
- package/cjs/query-selector/SelectorItem.cjs +9 -4
- package/cjs/query-selector/SelectorItem.cjs.map +1 -1
- package/cjs/query-selector/SelectorItem.d.ts +4 -1
- package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
- package/cjs/query-selector/SelectorParser.cjs +39 -18
- package/cjs/query-selector/SelectorParser.cjs.map +1 -1
- package/cjs/query-selector/SelectorParser.d.ts +12 -2
- package/cjs/query-selector/SelectorParser.d.ts.map +1 -1
- package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
- package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +5 -3
- package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -1
- package/lib/custom-element/CustomElementRegistry.d.ts.map +1 -1
- package/lib/custom-element/CustomElementRegistry.js +3 -18
- package/lib/custom-element/CustomElementRegistry.js.map +1 -1
- package/lib/nodes/element/Element.d.ts +3 -0
- package/lib/nodes/element/Element.d.ts.map +1 -1
- package/lib/nodes/element/Element.js +19 -16
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/query-selector/QuerySelector.d.ts +5 -1
- package/lib/query-selector/QuerySelector.d.ts.map +1 -1
- package/lib/query-selector/QuerySelector.js +10 -4
- package/lib/query-selector/QuerySelector.js.map +1 -1
- package/lib/query-selector/SelectorItem.d.ts +4 -1
- package/lib/query-selector/SelectorItem.d.ts.map +1 -1
- package/lib/query-selector/SelectorItem.js +9 -4
- package/lib/query-selector/SelectorItem.js.map +1 -1
- package/lib/query-selector/SelectorParser.d.ts +12 -2
- package/lib/query-selector/SelectorParser.d.ts.map +1 -1
- package/lib/query-selector/SelectorParser.js +39 -18
- package/lib/query-selector/SelectorParser.js.map +1 -1
- package/package.json +1 -1
- package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +5 -3
- package/src/custom-element/CustomElementRegistry.ts +3 -21
- package/src/nodes/element/Element.ts +10 -5
- package/src/query-selector/QuerySelector.ts +15 -4
- package/src/query-selector/SelectorItem.ts +15 -4
- package/src/query-selector/SelectorParser.ts +49 -18
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QuerySelector.d.ts","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAGlD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAGjD,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,gBAAgB,MAAM,gDAAgD,CAAC;AAE9E,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AAYvE;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC;;;;;;OAMG;WACW,gBAAgB,CAAC,CAAC,SAAS,MAAM,sBAAsB,EACpE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,EAC3C,QAAQ,EAAE,CAAC,GACT,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAEtC;;;;;;OAMG;WACW,gBAAgB,CAAC,CAAC,SAAS,MAAM,qBAAqB,EACnE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,EAC3C,QAAQ,EAAE,CAAC,GACT,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAErC;;;;;;OAMG;WACW,gBAAgB,CAC7B,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,EAC3C,QAAQ,EAAE,MAAM,GACd,QAAQ,CAAC,OAAO,CAAC;IAuDpB;;;;;;OAMG;WACW,aAAa,CAAC,CAAC,SAAS,MAAM,sBAAsB,EACjE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,EAC3C,QAAQ,EAAE,CAAC,GACT,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI;IAEnC;;;;;;OAMG;WACW,aAAa,CAAC,CAAC,SAAS,MAAM,qBAAqB,EAChE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,EAC3C,QAAQ,EAAE,CAAC,GACT,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI;IAElC;;;;;;OAMG;WACW,aAAa,CAC1B,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,EAC3C,QAAQ,EAAE,MAAM,GACd,OAAO,GAAG,IAAI;IA2CjB
|
1
|
+
{"version":3,"file":"QuerySelector.d.ts","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAGlD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAGjD,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,gBAAgB,MAAM,gDAAgD,CAAC;AAE9E,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AAYvE;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC;;;;;;OAMG;WACW,gBAAgB,CAAC,CAAC,SAAS,MAAM,sBAAsB,EACpE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,EAC3C,QAAQ,EAAE,CAAC,GACT,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAEtC;;;;;;OAMG;WACW,gBAAgB,CAAC,CAAC,SAAS,MAAM,qBAAqB,EACnE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,EAC3C,QAAQ,EAAE,CAAC,GACT,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAErC;;;;;;OAMG;WACW,gBAAgB,CAC7B,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,EAC3C,QAAQ,EAAE,MAAM,GACd,QAAQ,CAAC,OAAO,CAAC;IAuDpB;;;;;;OAMG;WACW,aAAa,CAAC,CAAC,SAAS,MAAM,sBAAsB,EACjE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,EAC3C,QAAQ,EAAE,CAAC,GACT,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI;IAEnC;;;;;;OAMG;WACW,aAAa,CAAC,CAAC,SAAS,MAAM,qBAAqB,EAChE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,EAC3C,QAAQ,EAAE,CAAC,GACT,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI;IAElC;;;;;;OAMG;WACW,aAAa,CAC1B,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,EAC3C,QAAQ,EAAE,MAAM,GACd,OAAO,GAAG,IAAI;IA2CjB;;;;;;;;OAQG;WACW,OAAO,CACpB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClC,cAAc,GAAG,IAAI;IAiCxB;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAgE5B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAqEtB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CA6DxB"}
|
@@ -80,9 +80,11 @@ export default class QuerySelector {
|
|
80
80
|
*
|
81
81
|
* @param element Element to match.
|
82
82
|
* @param selector Selector to match with.
|
83
|
+
* @param [options] Options.
|
84
|
+
* @param [options.ignoreErrors] Ignores errors.
|
83
85
|
* @returns Result.
|
84
86
|
*/
|
85
|
-
static
|
87
|
+
static matches(element, selector, options) {
|
86
88
|
if (!selector) {
|
87
89
|
return null;
|
88
90
|
}
|
@@ -91,11 +93,15 @@ export default class QuerySelector {
|
|
91
93
|
priorityWeight: 1
|
92
94
|
};
|
93
95
|
}
|
96
|
+
const ignoreErrors = options?.ignoreErrors;
|
94
97
|
if (INVALID_SELECTOR_REGEXP.test(selector)) {
|
95
|
-
|
98
|
+
if (ignoreErrors) {
|
99
|
+
return null;
|
100
|
+
}
|
101
|
+
throw new Error(`Failed to execute 'matches' on '${element.constructor.name}': '${selector}' is not a valid selector.`);
|
96
102
|
}
|
97
|
-
for (const items of SelectorParser.getSelectorGroups(selector)) {
|
98
|
-
const result = this.matchSelector(element, element, items.reverse());
|
103
|
+
for (const items of SelectorParser.getSelectorGroups(selector, options)) {
|
104
|
+
const result = this.matchSelector(element, element, items.reverse(), 0);
|
99
105
|
if (result) {
|
100
106
|
return result;
|
101
107
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QuerySelector.js","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"QuerySelector.js","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"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"}
|
@@ -14,6 +14,7 @@ export default class SelectorItem {
|
|
14
14
|
pseudos: ISelectorPseudo[] | null;
|
15
15
|
isPseudoElement: boolean;
|
16
16
|
combinator: SelectorCombinatorEnum;
|
17
|
+
ignoreErrors: boolean;
|
17
18
|
/**
|
18
19
|
* Constructor.
|
19
20
|
*
|
@@ -25,6 +26,7 @@ export default class SelectorItem {
|
|
25
26
|
* @param [options.attributes] Attributes.
|
26
27
|
* @param [options.pseudos] Pseudos.
|
27
28
|
* @param [options.isPseudoElement] Is pseudo element.
|
29
|
+
* @param [options.ignoreErrors] Ignore errors.
|
28
30
|
*/
|
29
31
|
constructor(options?: {
|
30
32
|
tagName?: string;
|
@@ -34,6 +36,7 @@ export default class SelectorItem {
|
|
34
36
|
pseudos?: ISelectorPseudo[];
|
35
37
|
isPseudoElement?: boolean;
|
36
38
|
combinator?: SelectorCombinatorEnum;
|
39
|
+
ignoreErrors?: boolean;
|
37
40
|
});
|
38
41
|
/**
|
39
42
|
* Matches a selector against an element.
|
@@ -48,7 +51,7 @@ export default class SelectorItem {
|
|
48
51
|
* @param element Element.
|
49
52
|
* @returns Result.
|
50
53
|
*/
|
51
|
-
private
|
54
|
+
private matchPseudo;
|
52
55
|
/**
|
53
56
|
* Matches a pseudo selector.
|
54
57
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorItem.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAElD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,sBAAsB,CAAC;
|
1
|
+
{"version":3,"file":"SelectorItem.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAElD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,sBAAsB,CAAC;IACnC,YAAY,EAAE,OAAO,CAAC;IAE7B;;;;;;;;;;;;OAYG;gBACS,OAAO,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;QAClC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,sBAAsB,CAAC;QACpC,YAAY,CAAC,EAAE,OAAO,CAAC;KACvB;IAWD;;;;;OAKG;IACI,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI;IAqDrD;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IA8DnB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkHvB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA+BvB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAsBzB"}
|
@@ -16,6 +16,7 @@ export default class SelectorItem {
|
|
16
16
|
* @param [options.attributes] Attributes.
|
17
17
|
* @param [options.pseudos] Pseudos.
|
18
18
|
* @param [options.isPseudoElement] Is pseudo element.
|
19
|
+
* @param [options.ignoreErrors] Ignore errors.
|
19
20
|
*/
|
20
21
|
constructor(options) {
|
21
22
|
this.tagName = options?.tagName || null;
|
@@ -25,6 +26,7 @@ export default class SelectorItem {
|
|
25
26
|
this.pseudos = options?.pseudos || null;
|
26
27
|
this.isPseudoElement = options?.isPseudoElement || false;
|
27
28
|
this.combinator = options?.combinator || SelectorCombinatorEnum.descendant;
|
29
|
+
this.ignoreErrors = options?.ignoreErrors || false;
|
28
30
|
}
|
29
31
|
/**
|
30
32
|
* Matches a selector against an element.
|
@@ -69,7 +71,7 @@ export default class SelectorItem {
|
|
69
71
|
}
|
70
72
|
// Pseudo match
|
71
73
|
if (this.pseudos) {
|
72
|
-
const result = this.
|
74
|
+
const result = this.matchPseudo(element);
|
73
75
|
if (!result) {
|
74
76
|
return null;
|
75
77
|
}
|
@@ -83,7 +85,7 @@ export default class SelectorItem {
|
|
83
85
|
* @param element Element.
|
84
86
|
* @returns Result.
|
85
87
|
*/
|
86
|
-
|
88
|
+
matchPseudo(element) {
|
87
89
|
const parent = element[PropertySymbol.parentNode];
|
88
90
|
const parentChildren = element[PropertySymbol.parentNode]
|
89
91
|
? element[PropertySymbol.parentNode][PropertySymbol.children]
|
@@ -101,7 +103,10 @@ export default class SelectorItem {
|
|
101
103
|
case 'nth-last-child':
|
102
104
|
case 'nth-last-of-type':
|
103
105
|
if (!pseudo.arguments) {
|
104
|
-
|
106
|
+
if (this.ignoreErrors) {
|
107
|
+
return null;
|
108
|
+
}
|
109
|
+
throw new DOMException(`Failed to execute 'matches' on '${element.constructor.name}': '${this.getSelectorString()}' is not a valid selector.`);
|
105
110
|
}
|
106
111
|
break;
|
107
112
|
}
|
@@ -297,7 +302,7 @@ export default class SelectorItem {
|
|
297
302
|
* @returns Selector string.
|
298
303
|
*/
|
299
304
|
getSelectorString() {
|
300
|
-
return `${this.tagName
|
305
|
+
return `${this.tagName ? this.tagName.toLowerCase() : ''}${this.id ? `#${this.id}` : ''}${this.classNames ? `.${this.classNames.join('.')}` : ''}${this.attributes
|
301
306
|
? this.attributes
|
302
307
|
.map((attribute) => `[${attribute.name}${attribute.value ? `${attribute.operator || ''}="${attribute.value}"` : ''}]`)
|
303
308
|
.join('')
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorItem.js","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"SelectorItem.js","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"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"}
|
@@ -7,16 +7,24 @@ export default class SelectorParser {
|
|
7
7
|
* Parses a selector string and returns an instance of SelectorItem.
|
8
8
|
*
|
9
9
|
* @param selector Selector.
|
10
|
+
* @param [options] Options.
|
11
|
+
* @param [options.ignoreErrors] Ignores errors.
|
10
12
|
* @returns Selector item.
|
11
13
|
*/
|
12
|
-
static getSelectorItem(selector: string
|
14
|
+
static getSelectorItem(selector: string, options?: {
|
15
|
+
ignoreErrors?: boolean;
|
16
|
+
}): SelectorItem;
|
13
17
|
/**
|
14
18
|
* Parses a selector string and returns groups with SelectorItem instances.
|
15
19
|
*
|
16
20
|
* @param selector Selector.
|
21
|
+
* @param [options] Options.
|
22
|
+
* @param [options.ignoreErrors] Ignores errors.
|
17
23
|
* @returns Selector groups.
|
18
24
|
*/
|
19
|
-
static getSelectorGroups(selector: string
|
25
|
+
static getSelectorGroups(selector: string, options?: {
|
26
|
+
ignoreErrors?: boolean;
|
27
|
+
}): Array<Array<SelectorItem>>;
|
20
28
|
/**
|
21
29
|
* Returns attribute RegExp.
|
22
30
|
*
|
@@ -32,6 +40,8 @@ export default class SelectorParser {
|
|
32
40
|
*
|
33
41
|
* @param name Pseudo name.
|
34
42
|
* @param args Pseudo arguments.
|
43
|
+
* @param [options] Options.
|
44
|
+
* @param [options.ignoreErrors] Ignores errors.
|
35
45
|
* @returns Pseudo.
|
36
46
|
*/
|
37
47
|
private static getPseudo;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAyD7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC
|
1
|
+
{"version":3,"file":"SelectorParser.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAyD7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;;;;;;OAOG;WACW,eAAe,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClC,YAAY;IAIf;;;;;;;OAOG;WACW,iBAAiB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAkI7B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAmCjC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IA2DxB;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA2CnC"}
|
@@ -55,36 +55,44 @@ export default class SelectorParser {
|
|
55
55
|
* Parses a selector string and returns an instance of SelectorItem.
|
56
56
|
*
|
57
57
|
* @param selector Selector.
|
58
|
+
* @param [options] Options.
|
59
|
+
* @param [options.ignoreErrors] Ignores errors.
|
58
60
|
* @returns Selector item.
|
59
61
|
*/
|
60
|
-
static getSelectorItem(selector) {
|
61
|
-
return this.getSelectorGroups(selector)[0][0];
|
62
|
+
static getSelectorItem(selector, options) {
|
63
|
+
return this.getSelectorGroups(selector, options)[0][0];
|
62
64
|
}
|
63
65
|
/**
|
64
66
|
* Parses a selector string and returns groups with SelectorItem instances.
|
65
67
|
*
|
66
68
|
* @param selector Selector.
|
69
|
+
* @param [options] Options.
|
70
|
+
* @param [options.ignoreErrors] Ignores errors.
|
67
71
|
* @returns Selector groups.
|
68
72
|
*/
|
69
|
-
static getSelectorGroups(selector) {
|
73
|
+
static getSelectorGroups(selector, options) {
|
74
|
+
const ignoreErrors = options?.ignoreErrors;
|
70
75
|
if (selector === '*') {
|
71
|
-
return [[new SelectorItem({ tagName: '*' })]];
|
76
|
+
return [[new SelectorItem({ tagName: '*', ignoreErrors })]];
|
72
77
|
}
|
73
78
|
const simpleMatch = selector.match(SIMPLE_SELECTOR_REGEXP);
|
74
79
|
if (simpleMatch) {
|
75
80
|
if (simpleMatch[1]) {
|
76
|
-
return [[new SelectorItem({ tagName: selector.toUpperCase() })]];
|
81
|
+
return [[new SelectorItem({ tagName: selector.toUpperCase(), ignoreErrors })]];
|
77
82
|
}
|
78
83
|
else if (simpleMatch[2]) {
|
79
|
-
return [
|
84
|
+
return [
|
85
|
+
[new SelectorItem({ classNames: selector.replace('.', '').split('.'), ignoreErrors })]
|
86
|
+
];
|
80
87
|
}
|
81
88
|
else if (simpleMatch[3]) {
|
82
|
-
return [[new SelectorItem({ id: selector.replace('#', '') })]];
|
89
|
+
return [[new SelectorItem({ id: selector.replace('#', ''), ignoreErrors })]];
|
83
90
|
}
|
84
91
|
}
|
85
92
|
const regexp = new RegExp(SELECTOR_REGEXP);
|
86
93
|
let currentSelectorItem = new SelectorItem({
|
87
|
-
combinator: SelectorCombinatorEnum.descendant
|
94
|
+
combinator: SelectorCombinatorEnum.descendant,
|
95
|
+
ignoreErrors
|
88
96
|
});
|
89
97
|
let currentGroup = [currentSelectorItem];
|
90
98
|
const groups = [currentGroup];
|
@@ -142,11 +150,11 @@ export default class SelectorParser {
|
|
142
150
|
}
|
143
151
|
else if (match[13] && match[14]) {
|
144
152
|
currentSelectorItem.pseudos = currentSelectorItem.pseudos || [];
|
145
|
-
currentSelectorItem.pseudos.push(this.getPseudo(match[13], match[14]));
|
153
|
+
currentSelectorItem.pseudos.push(this.getPseudo(match[13], match[14], options));
|
146
154
|
}
|
147
155
|
else if (match[15]) {
|
148
156
|
currentSelectorItem.pseudos = currentSelectorItem.pseudos || [];
|
149
|
-
currentSelectorItem.pseudos.push(this.getPseudo(match[15]));
|
157
|
+
currentSelectorItem.pseudos.push(this.getPseudo(match[15], null, options));
|
150
158
|
}
|
151
159
|
else if (match[16]) {
|
152
160
|
currentSelectorItem.isPseudoElement = true;
|
@@ -155,24 +163,30 @@ export default class SelectorParser {
|
|
155
163
|
switch (match[17].trim()) {
|
156
164
|
case ',':
|
157
165
|
currentSelectorItem = new SelectorItem({
|
158
|
-
combinator: SelectorCombinatorEnum.descendant
|
166
|
+
combinator: SelectorCombinatorEnum.descendant,
|
167
|
+
ignoreErrors
|
159
168
|
});
|
160
169
|
currentGroup = [currentSelectorItem];
|
161
170
|
groups.push(currentGroup);
|
162
171
|
break;
|
163
172
|
case '>':
|
164
|
-
currentSelectorItem = new SelectorItem({
|
173
|
+
currentSelectorItem = new SelectorItem({
|
174
|
+
combinator: SelectorCombinatorEnum.child,
|
175
|
+
ignoreErrors
|
176
|
+
});
|
165
177
|
currentGroup.push(currentSelectorItem);
|
166
178
|
break;
|
167
179
|
case '+':
|
168
180
|
currentSelectorItem = new SelectorItem({
|
169
|
-
combinator: SelectorCombinatorEnum.adjacentSibling
|
181
|
+
combinator: SelectorCombinatorEnum.adjacentSibling,
|
182
|
+
ignoreErrors
|
170
183
|
});
|
171
184
|
currentGroup.push(currentSelectorItem);
|
172
185
|
break;
|
173
186
|
case '':
|
174
187
|
currentSelectorItem = new SelectorItem({
|
175
|
-
combinator: SelectorCombinatorEnum.descendant
|
188
|
+
combinator: SelectorCombinatorEnum.descendant,
|
189
|
+
ignoreErrors
|
176
190
|
});
|
177
191
|
currentGroup.push(currentSelectorItem);
|
178
192
|
break;
|
@@ -184,6 +198,9 @@ export default class SelectorParser {
|
|
184
198
|
}
|
185
199
|
}
|
186
200
|
if (!isValid) {
|
201
|
+
if (options?.ignoreErrors) {
|
202
|
+
return [];
|
203
|
+
}
|
187
204
|
throw new DOMException(`Invalid selector: "${selector}"`);
|
188
205
|
}
|
189
206
|
return groups;
|
@@ -227,9 +244,11 @@ export default class SelectorParser {
|
|
227
244
|
*
|
228
245
|
* @param name Pseudo name.
|
229
246
|
* @param args Pseudo arguments.
|
247
|
+
* @param [options] Options.
|
248
|
+
* @param [options.ignoreErrors] Ignores errors.
|
230
249
|
* @returns Pseudo.
|
231
250
|
*/
|
232
|
-
static getPseudo(name, args) {
|
251
|
+
static getPseudo(name, args, options) {
|
233
252
|
const lowerName = name.toLowerCase();
|
234
253
|
if (!args) {
|
235
254
|
return { name: lowerName, arguments: null, selectorItems: null, nthFunction: null };
|
@@ -239,7 +258,9 @@ export default class SelectorParser {
|
|
239
258
|
case 'nth-child':
|
240
259
|
const nthOfIndex = args.indexOf(' of ');
|
241
260
|
const nthFunction = nthOfIndex !== -1 ? args.substring(0, nthOfIndex) : args;
|
242
|
-
const selectorItem = nthOfIndex !== -1
|
261
|
+
const selectorItem = nthOfIndex !== -1
|
262
|
+
? this.getSelectorItem(args.substring(nthOfIndex + 4).trim(), options)
|
263
|
+
: null;
|
243
264
|
return {
|
244
265
|
name: lowerName,
|
245
266
|
arguments: args,
|
@@ -258,12 +279,12 @@ export default class SelectorParser {
|
|
258
279
|
return {
|
259
280
|
name: lowerName,
|
260
281
|
arguments: args,
|
261
|
-
selectorItems: [this.getSelectorItem(args)],
|
282
|
+
selectorItems: [this.getSelectorItem(args, options)],
|
262
283
|
nthFunction: null
|
263
284
|
};
|
264
285
|
case 'is':
|
265
286
|
case 'where':
|
266
|
-
const selectorGroups = this.getSelectorGroups(args);
|
287
|
+
const selectorGroups = this.getSelectorGroups(args, options);
|
267
288
|
const selectorItems = [];
|
268
289
|
for (const group of selectorGroups) {
|
269
290
|
selectorItems.push(group[0]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.js","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,YAAY,MAAM,8BAA8B,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,eAAe,GACpB,oSAAoS,CAAC;AAEtS;;GAEG;AACH,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAEvC;;GAEG;AACH,MAAM,YAAY,GAAG;IACpB,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACrC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACtC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG,6DAA6D,CAAC;AAE7F;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC
|
1
|
+
{"version":3,"file":"SelectorParser.js","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -328,11 +328,13 @@ export default class CSSStyleDeclarationElementStyle {
|
|
328
328
|
}
|
329
329
|
} else {
|
330
330
|
for (const element of options.elements) {
|
331
|
-
const
|
332
|
-
|
331
|
+
const match = QuerySelector.matches(<Element>element.element, selectorText, {
|
332
|
+
ignoreErrors: true
|
333
|
+
});
|
334
|
+
if (match) {
|
333
335
|
element.cssTexts.push({
|
334
336
|
cssText: (<CSSStyleRule>rule)[PropertySymbol.cssText],
|
335
|
-
priorityWeight:
|
337
|
+
priorityWeight: match.priorityWeight
|
336
338
|
});
|
337
339
|
}
|
338
340
|
}
|
@@ -59,27 +59,9 @@ export default class CustomElementRegistry {
|
|
59
59
|
const tagName = name.toUpperCase();
|
60
60
|
|
61
61
|
elementClass[PropertySymbol.ownerDocument] = this.#window.document;
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
get: function () {
|
66
|
-
return this[PropertySymbol.localName] || name;
|
67
|
-
}
|
68
|
-
});
|
69
|
-
|
70
|
-
Object.defineProperty(elementClass.prototype, 'tagName', {
|
71
|
-
configurable: true,
|
72
|
-
get: function () {
|
73
|
-
return this[PropertySymbol.tagName] || tagName;
|
74
|
-
}
|
75
|
-
});
|
76
|
-
|
77
|
-
Object.defineProperty(elementClass.prototype, 'namespaceURI', {
|
78
|
-
configurable: true,
|
79
|
-
get: function () {
|
80
|
-
return this[PropertySymbol.namespaceURI] || NamespaceURI.html;
|
81
|
-
}
|
82
|
-
});
|
62
|
+
elementClass[PropertySymbol.tagName] = tagName;
|
63
|
+
elementClass[PropertySymbol.localName] = name;
|
64
|
+
elementClass[PropertySymbol.namespaceURI] = NamespaceURI.html;
|
83
65
|
|
84
66
|
this[PropertySymbol.registry][name] = {
|
85
67
|
elementClass,
|
@@ -45,6 +45,9 @@ export default class Element
|
|
45
45
|
// ObservedAttributes should only be called once by CustomElementRegistry (see #117)
|
46
46
|
// CustomElementRegistry will therefore populate "[PropertySymbol.observedAttributes]" when CustomElementRegistry.define() is called
|
47
47
|
public static [PropertySymbol.observedAttributes]: string[];
|
48
|
+
public static [PropertySymbol.tagName]: string | null = null;
|
49
|
+
public static [PropertySymbol.localName]: string | null = null;
|
50
|
+
public static [PropertySymbol.namespaceURI]: string | null = null;
|
48
51
|
public static observedAttributes: string[];
|
49
52
|
|
50
53
|
// Events
|
@@ -89,8 +92,9 @@ export default class Element
|
|
89
92
|
public [PropertySymbol.isValue]: string | null = null;
|
90
93
|
public [PropertySymbol.computedStyle]: CSSStyleDeclaration | null = null;
|
91
94
|
public [PropertySymbol.nodeType] = NodeTypeEnum.elementNode;
|
92
|
-
public [PropertySymbol.tagName]: string | null = null;
|
93
|
-
public [PropertySymbol.localName]: string | null =
|
95
|
+
public [PropertySymbol.tagName]: string | null = this.constructor[PropertySymbol.tagName] || null;
|
96
|
+
public [PropertySymbol.localName]: string | null =
|
97
|
+
this.constructor[PropertySymbol.localName] || null;
|
94
98
|
public [PropertySymbol.prefix]: string | null = null;
|
95
99
|
public [PropertySymbol.shadowRoot]: ShadowRoot | null = null;
|
96
100
|
public [PropertySymbol.scrollHeight] = 0;
|
@@ -98,7 +102,8 @@ export default class Element
|
|
98
102
|
public [PropertySymbol.scrollTop] = 0;
|
99
103
|
public [PropertySymbol.scrollLeft] = 0;
|
100
104
|
public [PropertySymbol.attributes]: NamedNodeMap = new ElementNamedNodeMap(this);
|
101
|
-
public [PropertySymbol.namespaceURI]: string | null =
|
105
|
+
public [PropertySymbol.namespaceURI]: string | null =
|
106
|
+
this.constructor[PropertySymbol.namespaceURI] || null;
|
102
107
|
|
103
108
|
/**
|
104
109
|
* Returns tag name.
|
@@ -851,7 +856,7 @@ export default class Element
|
|
851
856
|
* @returns "true" if matching.
|
852
857
|
*/
|
853
858
|
public matches(selector: string): boolean {
|
854
|
-
return !!QuerySelector.
|
859
|
+
return !!QuerySelector.matches(this, selector);
|
855
860
|
}
|
856
861
|
|
857
862
|
/**
|
@@ -865,7 +870,7 @@ export default class Element
|
|
865
870
|
let parent: Element = this;
|
866
871
|
|
867
872
|
while (parent) {
|
868
|
-
if (QuerySelector.
|
873
|
+
if (QuerySelector.matches(parent, selector)) {
|
869
874
|
return parent;
|
870
875
|
}
|
871
876
|
parent = parent.parentElement;
|
@@ -198,9 +198,15 @@ export default class QuerySelector {
|
|
198
198
|
*
|
199
199
|
* @param element Element to match.
|
200
200
|
* @param selector Selector to match with.
|
201
|
+
* @param [options] Options.
|
202
|
+
* @param [options.ignoreErrors] Ignores errors.
|
201
203
|
* @returns Result.
|
202
204
|
*/
|
203
|
-
public static
|
205
|
+
public static matches(
|
206
|
+
element: Element,
|
207
|
+
selector: string,
|
208
|
+
options?: { ignoreErrors?: boolean }
|
209
|
+
): ISelectorMatch | null {
|
204
210
|
if (!selector) {
|
205
211
|
return null;
|
206
212
|
}
|
@@ -211,14 +217,19 @@ export default class QuerySelector {
|
|
211
217
|
};
|
212
218
|
}
|
213
219
|
|
220
|
+
const ignoreErrors = options?.ignoreErrors;
|
221
|
+
|
214
222
|
if (INVALID_SELECTOR_REGEXP.test(selector)) {
|
223
|
+
if (ignoreErrors) {
|
224
|
+
return null;
|
225
|
+
}
|
215
226
|
throw new Error(
|
216
|
-
`Failed to execute '
|
227
|
+
`Failed to execute 'matches' on '${element.constructor.name}': '${selector}' is not a valid selector.`
|
217
228
|
);
|
218
229
|
}
|
219
230
|
|
220
|
-
for (const items of SelectorParser.getSelectorGroups(selector)) {
|
221
|
-
const result = this.matchSelector(element, element, items.reverse());
|
231
|
+
for (const items of SelectorParser.getSelectorGroups(selector, options)) {
|
232
|
+
const result = this.matchSelector(element, element, items.reverse(), 0);
|
222
233
|
|
223
234
|
if (result) {
|
224
235
|
return result;
|