happy-dom 9.9.1 → 9.10.0

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.

Files changed (59) hide show
  1. package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js +1 -1
  2. package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js.map +1 -1
  3. package/lib/nodes/document/Document.d.ts.map +1 -1
  4. package/lib/nodes/document/Document.js +3 -0
  5. package/lib/nodes/document/Document.js.map +1 -1
  6. package/lib/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  7. package/lib/nodes/document-fragment/DocumentFragment.js +3 -0
  8. package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
  9. package/lib/nodes/element/Element.d.ts.map +1 -1
  10. package/lib/nodes/element/Element.js +5 -15
  11. package/lib/nodes/element/Element.js.map +1 -1
  12. package/lib/nodes/element/ElementUtility.d.ts.map +1 -1
  13. package/lib/nodes/element/ElementUtility.js +18 -22
  14. package/lib/nodes/element/ElementUtility.js.map +1 -1
  15. package/lib/nodes/node/Node.d.ts +0 -8
  16. package/lib/nodes/node/Node.d.ts.map +1 -1
  17. package/lib/nodes/node/Node.js +4 -23
  18. package/lib/nodes/node/Node.js.map +1 -1
  19. package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
  20. package/lib/nodes/node/NodeUtility.js +3 -4
  21. package/lib/nodes/node/NodeUtility.js.map +1 -1
  22. package/lib/query-selector/ISelectorAttribute.d.ts +6 -0
  23. package/lib/query-selector/ISelectorAttribute.d.ts.map +1 -0
  24. package/lib/query-selector/ISelectorAttribute.js +3 -0
  25. package/lib/query-selector/ISelectorAttribute.js.map +1 -0
  26. package/lib/query-selector/ISelectorMatch.d.ts +4 -0
  27. package/lib/query-selector/ISelectorMatch.d.ts.map +1 -0
  28. package/lib/query-selector/ISelectorMatch.js +3 -0
  29. package/lib/query-selector/ISelectorMatch.js.map +1 -0
  30. package/lib/query-selector/QuerySelector.d.ts +21 -31
  31. package/lib/query-selector/QuerySelector.d.ts.map +1 -1
  32. package/lib/query-selector/QuerySelector.js +123 -131
  33. package/lib/query-selector/QuerySelector.js.map +1 -1
  34. package/lib/query-selector/SelectorCombinatorEnum.d.ts +7 -0
  35. package/lib/query-selector/SelectorCombinatorEnum.d.ts.map +1 -0
  36. package/lib/query-selector/SelectorCombinatorEnum.js +10 -0
  37. package/lib/query-selector/SelectorCombinatorEnum.js.map +1 -0
  38. package/lib/query-selector/SelectorItem.d.ts +41 -56
  39. package/lib/query-selector/SelectorItem.d.ts.map +1 -1
  40. package/lib/query-selector/SelectorItem.js +194 -220
  41. package/lib/query-selector/SelectorItem.js.map +1 -1
  42. package/lib/query-selector/SelectorParser.d.ts +21 -0
  43. package/lib/query-selector/SelectorParser.d.ts.map +1 -0
  44. package/lib/query-selector/SelectorParser.js +154 -0
  45. package/lib/query-selector/SelectorParser.js.map +1 -0
  46. package/package.json +1 -1
  47. package/src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts +2 -2
  48. package/src/nodes/document/Document.ts +6 -0
  49. package/src/nodes/document-fragment/DocumentFragment.ts +6 -0
  50. package/src/nodes/element/Element.ts +9 -17
  51. package/src/nodes/element/ElementUtility.ts +20 -25
  52. package/src/nodes/node/Node.ts +6 -25
  53. package/src/nodes/node/NodeUtility.ts +3 -8
  54. package/src/query-selector/ISelectorAttribute.ts +5 -0
  55. package/src/query-selector/ISelectorMatch.ts +3 -0
  56. package/src/query-selector/QuerySelector.ts +187 -170
  57. package/src/query-selector/SelectorCombinatorEnum.ts +7 -0
  58. package/src/query-selector/SelectorItem.ts +238 -264
  59. package/src/query-selector/SelectorParser.ts +148 -0
@@ -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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"}
@@ -0,0 +1,7 @@
1
+ declare enum SelectorCombinatorEnum {
2
+ descendant = "descendant",
3
+ child = "child",
4
+ adjacentSibling = "adjacentSibling"
5
+ }
6
+ export default SelectorCombinatorEnum;
7
+ //# sourceMappingURL=SelectorCombinatorEnum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectorCombinatorEnum.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorCombinatorEnum.ts"],"names":[],"mappings":"AAAA,aAAK,sBAAsB;IAC1B,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,eAAe,oBAAoB;CACnC;AAED,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var SelectorCombinatorEnum;
4
+ (function (SelectorCombinatorEnum) {
5
+ SelectorCombinatorEnum["descendant"] = "descendant";
6
+ SelectorCombinatorEnum["child"] = "child";
7
+ SelectorCombinatorEnum["adjacentSibling"] = "adjacentSibling";
8
+ })(SelectorCombinatorEnum || (SelectorCombinatorEnum = {}));
9
+ exports.default = SelectorCombinatorEnum;
10
+ //# sourceMappingURL=SelectorCombinatorEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectorCombinatorEnum.js","sourceRoot":"","sources":["../../src/query-selector/SelectorCombinatorEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,sBAIJ;AAJD,WAAK,sBAAsB;IAC1B,mDAAyB,CAAA;IACzB,yCAAe,CAAA;IACf,6DAAmC,CAAA;AACpC,CAAC,EAJI,sBAAsB,KAAtB,sBAAsB,QAI1B;AAED,kBAAe,sBAAsB,CAAC"}
@@ -1,99 +1,84 @@
1
1
  import IElement from '../nodes/element/IElement';
2
+ import SelectorCombinatorEnum from './SelectorCombinatorEnum';
3
+ import ISelectorAttribute from './ISelectorAttribute';
4
+ import ISelectorMatch from './ISelectorMatch';
2
5
  /**
3
6
  * Selector item.
4
7
  */
5
8
  export default class SelectorItem {
6
- private isAll;
7
- private isID;
8
- private isAttribute;
9
- private isPseudo;
10
- private isClass;
11
- private isTagName;
12
- private tagName;
13
- private selector;
14
- private id;
9
+ all: string | null;
10
+ tagName: string | null;
11
+ id: string | null;
12
+ classNames: string[] | null;
13
+ attributes: ISelectorAttribute[] | null;
14
+ pseudoClass: string | null;
15
+ pseudoArguments: string | null;
16
+ combinator: SelectorCombinatorEnum;
15
17
  /**
16
18
  * Constructor.
17
19
  *
18
- * @param selector Selector.
20
+ * @param [options] Options.
21
+ * @param [options.combinator] Combinator.
22
+ * @param [options.all] All.
23
+ * @param [options.tagName] Tag name.
24
+ * @param [options.id] ID.
25
+ * @param [options.classNames] Class names.
26
+ * @param [options.attributes] Attributes.
27
+ * @param [options.pseudoClass] Pseudo class.
28
+ * @param [options.pseudoArguments] Pseudo arguments.
19
29
  */
20
- constructor(selector: string);
30
+ constructor(options?: {
31
+ all?: string;
32
+ tagName?: string;
33
+ id?: string;
34
+ classNames?: string[];
35
+ attributes?: ISelectorAttribute[];
36
+ pseudoClass?: string;
37
+ pseudoArguments?: string;
38
+ combinator?: SelectorCombinatorEnum;
39
+ });
21
40
  /**
22
41
  * Matches a selector against an element.
23
42
  *
24
43
  * @param element HTML element.
25
44
  * @returns Result.
26
45
  */
27
- match(element: IElement): {
28
- priorityWeight: number;
29
- matches: boolean;
30
- };
46
+ match(element: IElement): ISelectorMatch | null;
31
47
  /**
32
48
  * Matches a psuedo selector.
33
49
  *
34
50
  * @param element Element.
35
- * @param selector Selector.
36
- * @returns True if it is a match.
51
+ * @returns Result.
37
52
  */
38
- private matchesPsuedo;
53
+ private matchPsuedo;
39
54
  /**
40
55
  * Matches a nth-child selector.
41
56
  *
42
57
  * @param element Element.
43
- * @param psuedo Psuedo name.
44
- * @param place Place.
58
+ * @param parentChildren Parent children.
59
+ * @param placement Placement.
45
60
  * @returns True if it is a match.
46
61
  */
47
- private matchesNthChild;
48
- /**
49
- * Matches a psuedo selector expression.
50
- *
51
- * @param element Element.
52
- * @param psuedo Psuedo name.
53
- * @returns True if it is a match.
54
- */
55
- private matchesPsuedoExpression;
62
+ private matchNthChild;
56
63
  /**
57
64
  * Matches attribute.
58
65
  *
59
66
  * @param element Element.
60
- * @param selector Selector.
61
67
  * @returns Result.
62
68
  */
63
- private matchesAttribute;
69
+ private matchAttributes;
64
70
  /**
65
71
  * Matches class.
66
72
  *
67
73
  * @param element Element.
68
- * @param selector Selector.
69
74
  * @returns Result.
70
75
  */
71
- private matchesClass;
72
- /**
73
- * Matches attribute name only.
74
- *
75
- * @param element Element.
76
- * @param attributeName Attribute name.
77
- * @returns True if it is a match.
78
- */
79
- private matchesAttributeName;
80
- /** .
81
- *
82
- * Matches attribute name and value.
83
- *
84
- * @param element Element.
85
- * @param attributeName Attribute name.
86
- * @param attributeValue Attribute value.
87
- * @param [matchType] Match type.
88
- * @returns True if it is a match.
89
- */
76
+ private matchClass;
90
77
  /**
78
+ * Returns the selector string.
91
79
  *
92
- * @param element
93
- * @param attributeName
94
- * @param attributeValue
95
- * @param matchType
80
+ * @returns Selector string.
96
81
  */
97
- private matchesAttributeNameAndValue;
82
+ private getSelectorString;
98
83
  }
99
84
  //# sourceMappingURL=SelectorItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectorItem.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAejD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAChC,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,EAAE,CAAS;IAEnB;;;;OAIG;gBACS,QAAQ,EAAE,MAAM;IAkB5B;;;;;OAKG;IACI,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;IAsD7E;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IA8BrB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAgDvB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAiD/B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAoBpB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;;;;;OASG;IACH;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;CAuCpC"}
1
+ {"version":3,"file":"SelectorItem.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AAGjD,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,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,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,sBAAsB,CAAC;IAE1C;;;;;;;;;;;;OAYG;gBACS,OAAO,CAAC,EAAE;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,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,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,UAAU,CAAC,EAAE,sBAAsB,CAAC;KACpC;IAWD;;;;;OAKG;IACI,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,cAAc,GAAG,IAAI;IA6CtD;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAgGnB;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAkCrB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAiEvB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAgBzB"}