happy-dom 9.12.0 → 9.13.1
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/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js +4 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js.map +1 -1
- package/lib/query-selector/QuerySelector.d.ts.map +1 -1
- package/lib/query-selector/QuerySelector.js +22 -14
- package/lib/query-selector/QuerySelector.js.map +1 -1
- package/lib/query-selector/SelectorParser.d.ts.map +1 -1
- package/lib/query-selector/SelectorParser.js +8 -6
- package/lib/query-selector/SelectorParser.js.map +1 -1
- package/package.json +1 -1
- package/src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts +4 -0
- package/src/query-selector/QuerySelector.ts +34 -18
- package/src/query-selector/SelectorParser.ts +8 -9
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CSSStyleDeclarationElementStyle.d.ts","sourceRoot":"","sources":["../../../../src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAIvD,OAAO,kCAAkC,MAAM,sCAAsC,CAAC;AAkBtF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,+BAA+B;IACnD,OAAO,CAAC,KAAK,CAQX;IAEF,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,QAAQ,CAAU;IAE1B;;;;;OAKG;gBACS,OAAO,EAAE,QAAQ,EAAE,QAAQ,UAAQ;IAK/C;;;;OAIG;IACI,eAAe,IAAI,kCAAkC;IAmB5D;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAkL/B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;
|
1
|
+
{"version":3,"file":"CSSStyleDeclarationElementStyle.d.ts","sourceRoot":"","sources":["../../../../src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAIvD,OAAO,kCAAkC,MAAM,sCAAsC,CAAC;AAkBtF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,+BAA+B;IACnD,OAAO,CAAC,KAAK,CAQX;IAEF,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,QAAQ,CAAU;IAE1B;;;;;OAKG;gBACS,OAAO,EAAE,QAAQ,EAAE,QAAQ,UAAQ;IAK/C;;;;OAIG;IACI,eAAe,IAAI,kCAAkC;IAmB5D;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAkL/B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAmDrB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;CAanB"}
|
@@ -228,6 +228,10 @@ class CSSStyleDeclarationElementStyle {
|
|
228
228
|
}
|
229
229
|
else {
|
230
230
|
for (const element of options.elements) {
|
231
|
+
// Skip @-rules.
|
232
|
+
if (selectorText.startsWith('@')) {
|
233
|
+
continue;
|
234
|
+
}
|
231
235
|
const matchResult = QuerySelector_1.default.match(element.element, selectorText);
|
232
236
|
if (matchResult) {
|
233
237
|
element.cssTexts.push({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CSSStyleDeclarationElementStyle.js","sourceRoot":"","sources":["../../../../src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"CSSStyleDeclarationElementStyle.js","sourceRoot":"","sources":["../../../../src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QuerySelector.d.ts","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAKhD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AAE7E,OAAO,cAAc,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"QuerySelector.d.ts","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAKhD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,iBAAiB,MAAM,8CAA8C,CAAC;AAE7E,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAO9C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC;;;;;;OAMG;WACW,gBAAgB,CAC7B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,iBAAiB,EAC9C,QAAQ,EAAE,MAAM,GACd,SAAS,CAAC,QAAQ,CAAC;IAqCtB;;;;;;OAMG;WACW,aAAa,CAC1B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,iBAAiB,EAC9C,QAAQ,EAAE,MAAM,GACd,QAAQ;IAyBX;;;;;;OAMG;WACW,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAkB/E;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAgE5B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAwDtB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CAkDxB"}
|
@@ -21,22 +21,27 @@ class QuerySelector {
|
|
21
21
|
* @returns HTML elements.
|
22
22
|
*/
|
23
23
|
static querySelectorAll(node, selector) {
|
24
|
-
const nodeList = new NodeList_1.default();
|
25
|
-
const allMatches = {};
|
26
24
|
if (selector === '') {
|
27
25
|
throw new Error("Failed to execute 'querySelectorAll' on 'Element': The provided selector is empty.");
|
28
26
|
}
|
29
27
|
if (selector === null || selector === undefined) {
|
30
|
-
return
|
28
|
+
return new NodeList_1.default();
|
31
29
|
}
|
32
|
-
|
33
|
-
|
30
|
+
const groups = SelectorParser_1.default.getSelectorGroups(selector);
|
31
|
+
let matches = [];
|
32
|
+
for (const items of groups) {
|
33
|
+
matches = matches.concat(node.nodeType === NodeTypeEnum_1.default.elementNode
|
34
34
|
? this.findAll(node, [node], items)
|
35
|
-
: this.findAll(null, node.children, items);
|
36
|
-
|
35
|
+
: this.findAll(null, node.children, items));
|
36
|
+
}
|
37
|
+
const nodeList = new NodeList_1.default();
|
38
|
+
const matchesMap = {};
|
39
|
+
for (let i = 0, max = matches.length; i < max; i++) {
|
40
|
+
matchesMap[matches[i].documentPosition] = matches[i].element;
|
37
41
|
}
|
38
|
-
|
39
|
-
|
42
|
+
const keys = Object.keys(matchesMap).sort();
|
43
|
+
for (let i = 0, max = keys.length; i < max; i++) {
|
44
|
+
nodeList.push(matchesMap[keys[i]]);
|
40
45
|
}
|
41
46
|
return nodeList;
|
42
47
|
}
|
@@ -142,32 +147,35 @@ class QuerySelector {
|
|
142
147
|
static findAll(rootElement, children, selectorItems, documentPosition) {
|
143
148
|
const selectorItem = selectorItems[0];
|
144
149
|
const nextSelectorItem = selectorItems[1];
|
145
|
-
|
150
|
+
let matched = [];
|
146
151
|
for (let i = 0, max = children.length; i < max; i++) {
|
147
152
|
const child = children[i];
|
148
153
|
const position = (documentPosition ? documentPosition + '>' : '') + i;
|
149
154
|
if (selectorItem.match(child)) {
|
150
155
|
if (!nextSelectorItem) {
|
151
156
|
if (rootElement !== child) {
|
152
|
-
matched
|
157
|
+
matched.push({
|
158
|
+
documentPosition: position,
|
159
|
+
element: child
|
160
|
+
});
|
153
161
|
}
|
154
162
|
}
|
155
163
|
else {
|
156
164
|
switch (nextSelectorItem.combinator) {
|
157
165
|
case SelectorCombinatorEnum_1.default.adjacentSibling:
|
158
166
|
if (child.nextElementSibling) {
|
159
|
-
|
167
|
+
matched = matched.concat(this.findAll(rootElement, [child.nextElementSibling], selectorItems.slice(1), position));
|
160
168
|
}
|
161
169
|
break;
|
162
170
|
case SelectorCombinatorEnum_1.default.descendant:
|
163
171
|
case SelectorCombinatorEnum_1.default.child:
|
164
|
-
|
172
|
+
matched = matched.concat(this.findAll(rootElement, child.children, selectorItems.slice(1), position));
|
165
173
|
break;
|
166
174
|
}
|
167
175
|
}
|
168
176
|
}
|
169
177
|
if (selectorItem.combinator === SelectorCombinatorEnum_1.default.descendant && child.children.length) {
|
170
|
-
|
178
|
+
matched = matched.concat(this.findAll(rootElement, child.children, selectorItems, position));
|
171
179
|
}
|
172
180
|
}
|
173
181
|
return matched;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QuerySelector.js","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":";;;;;AAGA,sEAA8C;AAC9C,8EAAsD;AACtD,sFAA8D;AAG9D,sEAA8C;
|
1
|
+
{"version":3,"file":"QuerySelector.js","sourceRoot":"","sources":["../../src/query-selector/QuerySelector.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAuD1C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;;;;OAKG;WACW,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAI7D;;;;;OAKG;WACW,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAyG7E;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAwCxB;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;
|
1
|
+
{"version":3,"file":"SelectorParser.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAuD1C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;;;;OAKG;WACW,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAI7D;;;;;OAKG;WACW,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAyG7E;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAwCxB;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA2CnC"}
|
@@ -250,14 +250,16 @@ class SelectorParser {
|
|
250
250
|
partB = 1;
|
251
251
|
}
|
252
252
|
if (partA >= 1 || partA <= -1) {
|
253
|
-
const innerExpression = (partB ? '(n' + (partB > 0 ? '-' : '+') + Math.abs(partB) + ')' : 'n') +
|
254
|
-
'%' +
|
255
|
-
partA +
|
256
|
-
'==0';
|
257
253
|
if (partA >= 1) {
|
258
|
-
|
254
|
+
if (Math.abs(partA) === 1) {
|
255
|
+
return (n) => n > partB - 1;
|
256
|
+
}
|
257
|
+
return (n) => n > partB - 1 && (n + -1 * partB) % partA === 0;
|
258
|
+
}
|
259
|
+
if (Math.abs(partA) === 1) {
|
260
|
+
return (n) => n < partB + 1;
|
259
261
|
}
|
260
|
-
return
|
262
|
+
return (n) => n < partB + 1 && (n + -1 * partB) % partA === 0;
|
261
263
|
}
|
262
264
|
if (parts[0]) {
|
263
265
|
return (n) => n === partB;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.js","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"SelectorParser.js","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -289,6 +289,10 @@ export default class CSSStyleDeclarationElementStyle {
|
|
289
289
|
}
|
290
290
|
} else {
|
291
291
|
for (const element of options.elements) {
|
292
|
+
// Skip @-rules.
|
293
|
+
if (selectorText.startsWith('@')) {
|
294
|
+
continue;
|
295
|
+
}
|
292
296
|
const matchResult = QuerySelector.match(<IElement>element.element, selectorText);
|
293
297
|
if (matchResult) {
|
294
298
|
element.cssTexts.push({
|
@@ -9,6 +9,11 @@ import IDocumentFragment from '../nodes/document-fragment/IDocumentFragment';
|
|
9
9
|
import SelectorParser from './SelectorParser';
|
10
10
|
import ISelectorMatch from './ISelectorMatch';
|
11
11
|
|
12
|
+
type IDocumentPositionAndElement = {
|
13
|
+
documentPosition: string;
|
14
|
+
element: IElement;
|
15
|
+
};
|
16
|
+
|
12
17
|
/**
|
13
18
|
* Utility for query selection in an HTML element.
|
14
19
|
*
|
@@ -26,9 +31,6 @@ export default class QuerySelector {
|
|
26
31
|
node: IElement | IDocument | IDocumentFragment,
|
27
32
|
selector: string
|
28
33
|
): INodeList<IElement> {
|
29
|
-
const nodeList = new NodeList<IElement>();
|
30
|
-
const allMatches = {};
|
31
|
-
|
32
34
|
if (selector === '') {
|
33
35
|
throw new Error(
|
34
36
|
"Failed to execute 'querySelectorAll' on 'Element': The provided selector is empty."
|
@@ -36,19 +38,30 @@ export default class QuerySelector {
|
|
36
38
|
}
|
37
39
|
|
38
40
|
if (selector === null || selector === undefined) {
|
39
|
-
return
|
41
|
+
return new NodeList<IElement>();
|
40
42
|
}
|
41
43
|
|
42
|
-
|
43
|
-
|
44
|
+
const groups = SelectorParser.getSelectorGroups(selector);
|
45
|
+
let matches: IDocumentPositionAndElement[] = [];
|
46
|
+
|
47
|
+
for (const items of groups) {
|
48
|
+
matches = matches.concat(
|
44
49
|
node.nodeType === NodeTypeEnum.elementNode
|
45
50
|
? this.findAll(<IElement>node, [<IElement>node], items)
|
46
|
-
: this.findAll(null, node.children, items)
|
47
|
-
|
51
|
+
: this.findAll(null, node.children, items)
|
52
|
+
);
|
53
|
+
}
|
54
|
+
|
55
|
+
const nodeList = new NodeList<IElement>();
|
56
|
+
const matchesMap: { [position: string]: IElement } = {};
|
57
|
+
|
58
|
+
for (let i = 0, max = matches.length; i < max; i++) {
|
59
|
+
matchesMap[matches[i].documentPosition] = matches[i].element;
|
48
60
|
}
|
49
61
|
|
50
|
-
|
51
|
-
|
62
|
+
const keys = Object.keys(matchesMap).sort();
|
63
|
+
for (let i = 0, max = keys.length; i < max; i++) {
|
64
|
+
nodeList.push(matchesMap[keys[i]]);
|
52
65
|
}
|
53
66
|
|
54
67
|
return nodeList;
|
@@ -201,10 +214,10 @@ export default class QuerySelector {
|
|
201
214
|
children: IElement[],
|
202
215
|
selectorItems: SelectorItem[],
|
203
216
|
documentPosition?: string
|
204
|
-
):
|
217
|
+
): IDocumentPositionAndElement[] {
|
205
218
|
const selectorItem = selectorItems[0];
|
206
219
|
const nextSelectorItem = selectorItems[1];
|
207
|
-
|
220
|
+
let matched: IDocumentPositionAndElement[] = [];
|
208
221
|
|
209
222
|
for (let i = 0, max = children.length; i < max; i++) {
|
210
223
|
const child = children[i];
|
@@ -213,14 +226,16 @@ export default class QuerySelector {
|
|
213
226
|
if (selectorItem.match(child)) {
|
214
227
|
if (!nextSelectorItem) {
|
215
228
|
if (rootElement !== child) {
|
216
|
-
matched
|
229
|
+
matched.push({
|
230
|
+
documentPosition: position,
|
231
|
+
element: child
|
232
|
+
});
|
217
233
|
}
|
218
234
|
} else {
|
219
235
|
switch (nextSelectorItem.combinator) {
|
220
236
|
case SelectorCombinatorEnum.adjacentSibling:
|
221
237
|
if (child.nextElementSibling) {
|
222
|
-
|
223
|
-
matched,
|
238
|
+
matched = matched.concat(
|
224
239
|
this.findAll(
|
225
240
|
rootElement,
|
226
241
|
[child.nextElementSibling],
|
@@ -232,8 +247,7 @@ export default class QuerySelector {
|
|
232
247
|
break;
|
233
248
|
case SelectorCombinatorEnum.descendant:
|
234
249
|
case SelectorCombinatorEnum.child:
|
235
|
-
|
236
|
-
matched,
|
250
|
+
matched = matched.concat(
|
237
251
|
this.findAll(rootElement, child.children, selectorItems.slice(1), position)
|
238
252
|
);
|
239
253
|
break;
|
@@ -242,7 +256,9 @@ export default class QuerySelector {
|
|
242
256
|
}
|
243
257
|
|
244
258
|
if (selectorItem.combinator === SelectorCombinatorEnum.descendant && child.children.length) {
|
245
|
-
|
259
|
+
matched = matched.concat(
|
260
|
+
this.findAll(rootElement, child.children, selectorItems, position)
|
261
|
+
);
|
246
262
|
}
|
247
263
|
}
|
248
264
|
|
@@ -259,17 +259,16 @@ export default class SelectorParser {
|
|
259
259
|
}
|
260
260
|
|
261
261
|
if (partA >= 1 || partA <= -1) {
|
262
|
-
const innerExpression =
|
263
|
-
(partB ? '(n' + (partB > 0 ? '-' : '+') + Math.abs(partB) + ')' : 'n') +
|
264
|
-
'%' +
|
265
|
-
partA +
|
266
|
-
'==0';
|
267
262
|
if (partA >= 1) {
|
268
|
-
|
269
|
-
|
270
|
-
|
263
|
+
if (Math.abs(partA) === 1) {
|
264
|
+
return (n: number): boolean => n > partB - 1;
|
265
|
+
}
|
266
|
+
return (n: number): boolean => n > partB - 1 && (n + -1 * partB) % partA === 0;
|
267
|
+
}
|
268
|
+
if (Math.abs(partA) === 1) {
|
269
|
+
return (n: number): boolean => n < partB + 1;
|
271
270
|
}
|
272
|
-
return
|
271
|
+
return (n) => n < partB + 1 && (n + -1 * partB) % partA === 0;
|
273
272
|
}
|
274
273
|
|
275
274
|
if (parts[0]) {
|