happy-dom 2.42.0 → 2.45.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 (67) hide show
  1. package/lib/css/CSSStyleDeclaration.js +1 -1
  2. package/lib/css/CSSStyleDeclaration.js.map +1 -1
  3. package/lib/{nodes/element → dom-token-list}/DOMTokenList.d.ts +32 -29
  4. package/lib/dom-token-list/DOMTokenList.js +209 -0
  5. package/lib/dom-token-list/DOMTokenList.js.map +1 -0
  6. package/lib/{nodes/element → dom-token-list}/IDOMTokenList.d.ts +6 -4
  7. package/lib/{nodes/element → dom-token-list}/IDOMTokenList.js +0 -0
  8. package/lib/dom-token-list/IDOMTokenList.js.map +1 -0
  9. package/lib/navigator/MimeType.d.ts +25 -0
  10. package/lib/navigator/MimeType.js +32 -0
  11. package/lib/navigator/MimeType.js.map +1 -0
  12. package/lib/navigator/MimeTypeArray.d.ts +31 -0
  13. package/lib/navigator/MimeTypeArray.js +45 -0
  14. package/lib/navigator/MimeTypeArray.js.map +1 -0
  15. package/lib/navigator/Navigator.d.ts +41 -0
  16. package/lib/navigator/Navigator.js +78 -0
  17. package/lib/navigator/Navigator.js.map +1 -0
  18. package/lib/navigator/Plugin.d.ts +40 -0
  19. package/lib/navigator/Plugin.js +55 -0
  20. package/lib/navigator/Plugin.js.map +1 -0
  21. package/lib/navigator/PluginArray.d.ts +38 -0
  22. package/lib/navigator/PluginArray.js +54 -0
  23. package/lib/navigator/PluginArray.js.map +1 -0
  24. package/lib/nodes/document/Document.d.ts +2 -1
  25. package/lib/nodes/document/Document.js.map +1 -1
  26. package/lib/nodes/document/IDocument.d.ts +13 -2
  27. package/lib/nodes/element/Element.d.ts +12 -2
  28. package/lib/nodes/element/Element.js +27 -2
  29. package/lib/nodes/element/Element.js.map +1 -1
  30. package/lib/nodes/element/IElement.d.ts +2 -2
  31. package/lib/nodes/html-label-element/HTMLLabelElement.d.ts +0 -1
  32. package/lib/nodes/html-label-element/HTMLLabelElement.js +2 -6
  33. package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
  34. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +12 -0
  35. package/lib/nodes/html-link-element/HTMLLinkElement.js +26 -0
  36. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  37. package/lib/nodes/html-link-element/IHTMLLinkElement.d.ts +2 -0
  38. package/lib/query-selector/SelectorItem.d.ts +18 -2
  39. package/lib/query-selector/SelectorItem.js +54 -25
  40. package/lib/query-selector/SelectorItem.js.map +1 -1
  41. package/lib/window/IWindow.d.ts +13 -4
  42. package/lib/window/Window.d.ts +11 -3
  43. package/lib/window/Window.js +11 -1
  44. package/lib/window/Window.js.map +1 -1
  45. package/package.json +2 -2
  46. package/src/css/CSSStyleDeclaration.ts +1 -1
  47. package/src/dom-token-list/DOMTokenList.ts +219 -0
  48. package/src/{nodes/element → dom-token-list}/IDOMTokenList.ts +6 -4
  49. package/src/navigator/MimeType.ts +35 -0
  50. package/src/navigator/MimeTypeArray.ts +48 -0
  51. package/src/navigator/Navigator.ts +93 -0
  52. package/src/navigator/Plugin.ts +61 -0
  53. package/src/navigator/PluginArray.ts +58 -0
  54. package/src/nodes/document/Document.ts +3 -2
  55. package/src/nodes/document/IDocument.ts +13 -2
  56. package/src/nodes/element/Element.ts +29 -3
  57. package/src/nodes/element/IElement.ts +2 -2
  58. package/src/nodes/html-label-element/HTMLLabelElement.ts +1 -5
  59. package/src/nodes/html-link-element/HTMLLinkElement.ts +26 -0
  60. package/src/nodes/html-link-element/IHTMLLinkElement.ts +2 -0
  61. package/src/query-selector/SelectorItem.ts +62 -26
  62. package/src/window/IWindow.ts +13 -2
  63. package/src/window/Window.ts +11 -1
  64. package/lib/nodes/element/DOMTokenList.js +0 -205
  65. package/lib/nodes/element/DOMTokenList.js.map +0 -1
  66. package/lib/nodes/element/IDOMTokenList.js.map +0 -1
  67. package/src/nodes/element/DOMTokenList.ts +0 -201
@@ -20,10 +20,10 @@ var SelectorItem = /** @class */ (function () {
20
20
  */
21
21
  function SelectorItem(selector) {
22
22
  this.tagName = null;
23
+ var isNotPseudo = selector.includes(':not(');
23
24
  this.isAll = selector === '*';
24
25
  this.isID = !this.isAll ? selector.startsWith('#') : false;
25
- this.isAttribute =
26
- !this.isAll && !this.isID && selector.includes('[') && !selector.includes(':not(');
26
+ this.isAttribute = !this.isAll && !this.isID && selector.includes('[') && !isNotPseudo;
27
27
  this.isPseudo = !this.isAll && !this.isID && selector.includes(':');
28
28
  this.isClass = !this.isAll && !this.isID && new RegExp(CLASS_REGEXP, 'g').test(selector);
29
29
  this.tagName = !this.isAll && !this.isID ? selector.match(TAG_NAME_REGEXP) : null;
@@ -40,7 +40,6 @@ var SelectorItem = /** @class */ (function () {
40
40
  */
41
41
  SelectorItem.prototype.match = function (element) {
42
42
  var selector = this.selector;
43
- var match;
44
43
  // Is all (*)
45
44
  if (this.isAll) {
46
45
  return true;
@@ -56,28 +55,12 @@ var SelectorItem = /** @class */ (function () {
56
55
  }
57
56
  }
58
57
  // Class match
59
- if (this.isClass) {
60
- var regexp = new RegExp(CLASS_REGEXP, 'g');
61
- while ((match = regexp.exec(selector))) {
62
- if (!element.classList.contains(match[1])) {
63
- return false;
64
- }
65
- }
58
+ if (this.isClass && !this.matchesClass(element, selector)) {
59
+ return false;
66
60
  }
67
61
  // Pseudo match
68
- if (this.isPseudo) {
69
- var regexp = new RegExp(PSUEDO_REGEXP, 'g');
70
- while ((match = regexp.exec(selector))) {
71
- if (match[1] && !this.matchesNthChild(element, match[1], match[2])) {
72
- return false;
73
- }
74
- else if (match[3] && this.matchesAttribute(element, match[3])) {
75
- return false;
76
- }
77
- else if (match[4] && !this.matchesPsuedo(element, match[4])) {
78
- return false;
79
- }
80
- }
62
+ if (this.isPseudo && !this.matchesPsuedo(element, selector)) {
63
+ return false;
81
64
  }
82
65
  // Attribute match
83
66
  if (this.isAttribute && !this.matchesAttribute(element, selector)) {
@@ -85,6 +68,32 @@ var SelectorItem = /** @class */ (function () {
85
68
  }
86
69
  return true;
87
70
  };
71
+ /**
72
+ * Matches a psuedo selector.
73
+ *
74
+ * @param element Element.
75
+ * @param selector Selector.
76
+ * @returns True if it is a match.
77
+ */
78
+ SelectorItem.prototype.matchesPsuedo = function (element, selector) {
79
+ var regexp = new RegExp(PSUEDO_REGEXP, 'g');
80
+ var match;
81
+ while ((match = regexp.exec(selector))) {
82
+ var isNotClass = match[3] && match[3].trim()[0] === '.';
83
+ if (match[1] && !this.matchesNthChild(element, match[1], match[2])) {
84
+ return false;
85
+ }
86
+ else if (match[3] &&
87
+ ((isNotClass && this.matchesClass(element, match[3])) ||
88
+ (!isNotClass && this.matchesAttribute(element, match[3])))) {
89
+ return false;
90
+ }
91
+ else if (match[4] && !this.matchesPsuedoExpression(element, match[4])) {
92
+ return false;
93
+ }
94
+ }
95
+ return true;
96
+ };
88
97
  /**
89
98
  * Matches a nth-child selector.
90
99
  *
@@ -136,13 +145,13 @@ var SelectorItem = /** @class */ (function () {
136
145
  return children[number - 1] === element;
137
146
  };
138
147
  /**
139
- * Matches a psuedo selector.
148
+ * Matches a psuedo selector expression.
140
149
  *
141
150
  * @param element Element.
142
151
  * @param psuedo Psuedo name.
143
152
  * @returns True if it is a match.
144
153
  */
145
- SelectorItem.prototype.matchesPsuedo = function (element, psuedo) {
154
+ SelectorItem.prototype.matchesPsuedoExpression = function (element, psuedo) {
146
155
  var parent = element.parentNode;
147
156
  if (!parent) {
148
157
  return false;
@@ -207,6 +216,26 @@ var SelectorItem = /** @class */ (function () {
207
216
  }
208
217
  return true;
209
218
  };
219
+ /**
220
+ * Matches class.
221
+ *
222
+ * @param element Element.
223
+ * @param selector Selector.
224
+ * @returns True if it is a match.
225
+ */
226
+ SelectorItem.prototype.matchesClass = function (element, selector) {
227
+ var regexp = new RegExp(CLASS_REGEXP, 'g');
228
+ var classList = element.className.split(' ');
229
+ var previousIndex = 0;
230
+ var match;
231
+ while ((match = regexp.exec(selector)) && match.index === previousIndex) {
232
+ if (!classList.includes(match[1])) {
233
+ return false;
234
+ }
235
+ previousIndex = match.index + match[0].length - 1;
236
+ }
237
+ return true;
238
+ };
210
239
  /**
211
240
  * Matches attribute name only.
212
241
  *
@@ -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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"}
@@ -70,10 +70,16 @@ import URLSearchParams from '../url-search-params/URLSearchParams';
70
70
  import HTMLCollection from '../nodes/element/HTMLCollection';
71
71
  import NodeList from '../nodes/node/NodeList';
72
72
  import Selection from '../selection/Selection';
73
+ import IEventTarget from '../event/IEventTarget';
74
+ import Navigator from '../navigator/Navigator';
75
+ import MimeType from '../navigator/MimeType';
76
+ import MimeTypeArray from '../navigator/MimeTypeArray';
77
+ import Plugin from '../navigator/Plugin';
78
+ import PluginArray from '../navigator/PluginArray';
73
79
  /**
74
80
  * Window.
75
81
  */
76
- export default interface IWindow {
82
+ export default interface IWindow extends IEventTarget {
77
83
  readonly happyDOM: {
78
84
  whenAsyncComplete: () => Promise<void>;
79
85
  cancelAsync: () => void;
@@ -147,15 +153,18 @@ export default interface IWindow {
147
153
  readonly CSSUnitValue: typeof CSSUnitValue;
148
154
  readonly CSS: CSS;
149
155
  readonly Selection: typeof Selection;
156
+ readonly Navigator: typeof Navigator;
157
+ readonly MimeType: typeof MimeType;
158
+ readonly MimeTypeArray: typeof MimeTypeArray;
159
+ readonly Plugin: typeof Plugin;
160
+ readonly PluginArray: typeof PluginArray;
150
161
  onload: (event: Event) => void;
151
162
  onerror: (event: ErrorEvent) => void;
152
163
  readonly document: Document;
153
164
  readonly customElements: CustomElementRegistry;
154
165
  readonly location: Location;
155
166
  readonly history: History;
156
- readonly navigator: {
157
- userAgent: string;
158
- };
167
+ readonly navigator: Navigator;
159
168
  readonly console: Console;
160
169
  readonly self: IWindow;
161
170
  readonly top: IWindow;
@@ -71,6 +71,11 @@ import NodeList from '../nodes/node/NodeList';
71
71
  import MediaQueryList from '../match-media/MediaQueryList';
72
72
  import Selection from '../selection/Selection';
73
73
  import * as PerfHooks from 'perf_hooks';
74
+ import Navigator from '../navigator/Navigator';
75
+ import MimeType from '../navigator/MimeType';
76
+ import MimeTypeArray from '../navigator/MimeTypeArray';
77
+ import Plugin from '../navigator/Plugin';
78
+ import PluginArray from '../navigator/PluginArray';
74
79
  /**
75
80
  * Handles the Window.
76
81
  */
@@ -165,15 +170,18 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
165
170
  readonly MediaQueryList: typeof MediaQueryList;
166
171
  readonly CSSUnitValue: typeof CSSUnitValue;
167
172
  readonly Selection: typeof Selection;
173
+ readonly Navigator: typeof Navigator;
174
+ readonly MimeType: typeof MimeType;
175
+ readonly MimeTypeArray: typeof MimeTypeArray;
176
+ readonly Plugin: typeof Plugin;
177
+ readonly PluginArray: typeof PluginArray;
168
178
  onload: (event: Event) => void;
169
179
  onerror: (event: ErrorEvent) => void;
170
180
  readonly document: Document;
171
181
  readonly customElements: CustomElementRegistry;
172
182
  readonly location: Location;
173
183
  readonly history: History;
174
- readonly navigator: {
175
- userAgent: string;
176
- };
184
+ readonly navigator: Navigator;
177
185
  readonly console: Console;
178
186
  readonly self: this;
179
187
  readonly top: this;
@@ -147,6 +147,11 @@ var NodeList_1 = __importDefault(require("../nodes/node/NodeList"));
147
147
  var MediaQueryList_1 = __importDefault(require("../match-media/MediaQueryList"));
148
148
  var Selection_1 = __importDefault(require("../selection/Selection"));
149
149
  var PerfHooks = __importStar(require("perf_hooks"));
150
+ var Navigator_1 = __importDefault(require("../navigator/Navigator"));
151
+ var MimeType_1 = __importDefault(require("../navigator/MimeType"));
152
+ var MimeTypeArray_1 = __importDefault(require("../navigator/MimeTypeArray"));
153
+ var Plugin_1 = __importDefault(require("../navigator/Plugin"));
154
+ var PluginArray_1 = __importDefault(require("../navigator/PluginArray"));
150
155
  var FETCH_RESPONSE_TYPE_METHODS = ['blob', 'json', 'text'];
151
156
  /**
152
157
  * Handles the Window.
@@ -242,13 +247,18 @@ var Window = /** @class */ (function (_super) {
242
247
  _this.MediaQueryList = MediaQueryList_1.default;
243
248
  _this.CSSUnitValue = CSSUnitValue_1.default;
244
249
  _this.Selection = Selection_1.default;
250
+ _this.Navigator = Navigator_1.default;
251
+ _this.MimeType = MimeType_1.default;
252
+ _this.MimeTypeArray = MimeTypeArray_1.default;
253
+ _this.Plugin = Plugin_1.default;
254
+ _this.PluginArray = PluginArray_1.default;
245
255
  // Events
246
256
  _this.onload = null;
247
257
  _this.onerror = null;
248
258
  _this.customElements = new CustomElementRegistry_1.default();
249
259
  _this.location = new Location_1.default();
250
260
  _this.history = new History_1.default();
251
- _this.navigator = { userAgent: 'happy-dom' };
261
+ _this.navigator = new Navigator_1.default();
252
262
  _this.console = global ? global.console : null;
253
263
  _this.self = _this;
254
264
  _this.top = _this;
@@ -1 +1 @@
1
- {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kGAA4E;AAC5E,wEAAkD;AAClD,qFAA+D;AAC/D,kFAA4D;AAC5D,kFAA4D;AAC5D,4DAAsC;AACtC,yEAAmD;AACnD,4DAAsC;AACtC,qEAA+C;AAC/C,+EAAyD;AACzD,qEAA+C;AAC/C,2GAAqF;AACrF,+FAAyE;AACzE,kFAA4D;AAC5D,kGAA4E;AAC5E,4GAAsF;AACtF,+FAAyE;AACzE,kGAA4E;AAC5E,+FAAyE;AACzE,kGAA4E;AAC5E,+FAAyE;AACzE,qFAA+D;AAC/D,+EAAyD;AACzD,qGAA+E;AAC/E,kGAA4E;AAC5E,4EAAsD;AACtD,iGAA2E;AAC3E,wFAAkE;AAClE,yEAAmD;AACnD,yDAAmC;AACnC,4EAAsD;AACtD,kFAA4D;AAC5D,gFAA0D;AAC1D,gFAA0D;AAC1D,qEAA+C;AAC/C,wDAAkC;AAClC,kEAA4C;AAC5C,+FAAyE;AACzE,2FAAqE;AACrE,wEAAkD;AAClD,sEAAgD;AAChD,kFAA4D;AAC5D,qFAA+D;AAC/D,sDAAgC;AAChC,sDAAgC;AAChC,2EAAqD;AACrD,kEAA4C;AAC5C,+DAAyC;AACzC,uEAAiD;AACjD,mFAA6D;AAC7D,mDAA6B;AAC7B,qEAA+C;AAC/C,0EAAoD;AACpD,8EAAwD;AACxD,0EAAoD;AACpD,0EAAoD;AACpD,uEAAiD;AACjD,+EAAyD;AACzD,uFAAiE;AACjE,0EAAoD;AACpD,6DAAuC;AACvC,0EAAoD;AACpD,8EAAwD;AACxD,4DAAsC;AACtC,wEAAkD;AAElD,0EAAoD;AACpD,wEAAkD;AAClD,+DAAyC;AAGzC,yFAAmE;AACnE,mFAA6D;AAC7D,oEAA8C;AAC9C,iFAA2D;AAC3D,qEAA+C;AAC/C,oDAAwC;AAExC,IAAM,2BAA2B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7D;;GAEG;AACH;IAAoC,0BAAW;IAyK9C;;OAEG;IACH;QAAA,YACC,iBAAO,SA8BP;QA1MD,oBAAoB;QACJ,cAAQ,GAAG;YAC1B,iBAAiB,EAAE;;;gCACX,qBAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAA;gCAA1D,sBAAO,SAAmD,EAAC;;;iBAC3D;YACD,WAAW,EAAE;gBACZ,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;YACjD,CAAC;YACD,gBAAgB,EAAE,IAAI,0BAAgB,EAAE;SACxC,CAAC;QAEF,iBAAiB;QACD,UAAI,GAAG,cAAI,CAAC;QACZ,iBAAW,GAAG,qBAAW,CAAC;QAC1B,yBAAmB,GAAG,6BAAmB,CAAC;QAC1C,qBAAe,GAAG,yBAAe,CAAC;QAClC,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,yBAAmB,GAAG,6BAAmB,CAAC;QAC1C,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,WAAK,GAAG,eAAK,CAAC;QACd,uBAAiB,GAAG,2BAAiB,CAAC;QACtC,qBAAe,GAAG,yBAAe,CAAC;QAClC,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,qBAAe,GAAG,yBAAe,CAAC;QAClC,qBAAe,GAAG,yBAAe,CAAC;QAClC,mBAAa,GAAG,uBAAa,CAAC;QAC9B,gBAAU,GAAG,oBAAU,CAAC;QACxB,UAAI,GAAG,cAAI,CAAC;QACZ,aAAO,GAAG,iBAAO,CAAC;QAClB,gBAAU,GAAG,oBAAU,CAAC;QACxB,aAAO,GAAG,iBAAO,CAAC;QAClB,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,mBAAa,GAAG,uBAAa,CAAC;QAC9B,gBAAU,GAAG,oBAAU,CAAC;QACxB,gBAAU,GAAG,oBAAU,CAAC;QACxB,eAAS,GAAG,mBAAS,CAAC;QACtB,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,cAAQ,GAAG,kBAAQ,CAAC;QACpB,kBAAY,GAAG,sBAAY,CAAC;QAC5B,iBAAW,GAAG,qBAAW,CAAC;QAC1B,iBAAW,GAAG,qBAAW,CAAC;QAC1B,WAAK,GAAG,eAAK,CAAC;QACd,aAAO,GAAG,iBAAO,CAAC;QAClB,iBAAW,GAAG,qBAAW,CAAC;QAC1B,oBAAc,GAAG,wBAAc,CAAC;QAChC,mBAAa,GAAG,uBAAa,CAAC;QAC9B,gBAAU,GAAG,oBAAU,CAAC;QACxB,kBAAY,GAAG,sBAAY,CAAC;QAC5B,gBAAU,GAAG,oBAAU,CAAC;QACxB,gBAAU,GAAG,oBAAU,CAAC;QACxB,gBAAU,GAAG,oBAAU,CAAC;QACxB,gBAAU,GAAG,oBAAU,CAAC;QACxB,kBAAY,GAAG,sBAAY,CAAC;QAC5B,mBAAa,GAAG,uBAAa,CAAC;QAC9B,iBAAW,GAAG,qBAAW,CAAC;QAC1B,kBAAY,GAAG,sBAAY,CAAC;QAC5B,sBAAgB,GAAG,0BAAgB,CAAC;QACpC,0BAAoB,GAAG,8BAAoB,CAAC;QAC5C,SAAG,GAAG,aAAG,CAAC;QACV,cAAQ,GAAG,kBAAQ,CAAC;QACpB,2BAAqB,GAAG,+BAAqB,CAAC;QAC9C,YAAM,GAAG,MAAM,CAAC;QAChB,aAAO,GAAG,GAAG,CAAC;QACd,mBAAa,GAAG,uBAAa,CAAC;QAC9B,oBAAc,GAAG,wBAAc,CAAC;QAChC,mBAAa,GAAG,uBAAa,CAAC;QAC9B,UAAI,GAAG,cAAI,CAAC;QACZ,UAAI,GAAG,cAAI,CAAC;QACZ,gBAAU,GAAG,oBAAU,CAAC;QACxB,kBAAY,GAAG,sBAAY,CAAC;QAC5B,aAAO,GAAG,iBAAO,CAAC;QAClB,YAAM,GAAG,gBAAM,CAAC;QAChB,aAAO,GAAG,iBAAO,CAAC;QAClB,qBAAe,GAAG,yBAAe,CAAC;QAClC,oBAAc,GAAG,wBAAc,CAAC;QAChC,cAAQ,GAAG,kBAAQ,CAAC;QACpB,oBAAc,GAAG,wBAAc,CAAC;QAChC,kBAAY,GAAG,sBAAY,CAAC;QAC5B,eAAS,GAAG,mBAAS,CAAC;QAEtC,SAAS;QACF,YAAM,GAA2B,IAAI,CAAC;QACtC,aAAO,GAAgC,IAAI,CAAC;QAInC,oBAAc,GAA0B,IAAI,+BAAqB,EAAE,CAAC;QACpE,cAAQ,GAAG,IAAI,kBAAQ,EAAE,CAAC;QAC1B,aAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;QACxB,eAAS,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QACvC,aAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,UAAI,GAAG,KAAI,CAAC;QACZ,SAAG,GAAG,KAAI,CAAC;QACX,YAAM,GAAG,KAAI,CAAC;QACd,YAAM,GAAG,KAAI,CAAC;QACd,gBAAU,GAAG,KAAI,CAAC;QAClB,YAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;QACtB,gBAAU,GAAG,IAAI,CAAC;QAClB,iBAAW,GAAG,GAAG,CAAC;QAClB,sBAAgB,GAAG,CAAC,CAAC;QACrB,oBAAc,GAAG,IAAI,iBAAO,EAAE,CAAC;QAC/B,kBAAY,GAAG,IAAI,iBAAO,EAAE,CAAC;QAC7B,iBAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QAEpD,kBAAkB;QACX,WAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,iBAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,aAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,YAAM,GAAG,IAAI,CAAC;QACd,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,UAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,WAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,eAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,kBAAY,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,kBAAY,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,YAAM,GAAG,IAAI,CAAC;QACd,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,gBAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,gBAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,eAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,UAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,UAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,SAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,UAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,SAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,YAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,YAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,aAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,gBAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,oBAAc,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,YAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,aAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,SAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,YAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,iBAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,YAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,eAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,iBAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,iBAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,gBAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,uBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,aAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,aAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,oBAAc,GAAG,IAAI,CAAC;QACtB,eAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,wBAAkB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,eAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,wBAAkB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,YAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,YAAM,GAAG,IAAI,CAAC;QACd,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,WAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,gBAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,aAAO,GAAG,IAAI,CAAC;QACf,UAAI,GAAG,IAAI,CAAC;QACZ,kBAAY,GAAG,IAAI,CAAC;QACpB,oBAAc,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,eAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,cAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,QAAE,GAAG,IAAI,CAAC;QACV,aAAO,GAAG,IAAI,CAAC;QACf,qBAAe,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,iBAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAQvD,KAAI,CAAC,QAAQ,GAAG,IAAI,sBAAY,EAAE,CAAC;QACnC,KAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC;QACjC,KAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC;YACpD,KAAI,CAAC,aAAa,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,mBAAS,CAAC,cAAc,GAAG,mBAAS,CAAC,cAAc,IAAI,KAAI,CAAC,QAAQ,CAAC;QACrE,oBAAU,CAAC,cAAc,GAAG,oBAAU,CAAC,cAAc,IAAI,KAAI,CAAC,QAAQ,CAAC;QACvE,eAAK,CAAC,aAAa,GAAG,eAAK,CAAC,aAAa,IAAI,KAAI,CAAC,QAAQ,CAAC;QAE3D,KAAwB,UAAwB,EAAxB,6BAAA,kCAAwB,EAAxB,sCAAwB,EAAxB,IAAwB,EAAE;YAA7C,IAAM,SAAS,iCAAA;YACnB,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,eAAK,CAAC;aACxB;SACD;QAED,KAAwB,UAAyB,EAAzB,KAAA,MAAM,CAAC,IAAI,CAAC,sBAAY,CAAC,EAAzB,cAAyB,EAAzB,IAAyB,EAAE;YAA9C,IAAM,SAAS,SAAA;YACnB,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC,EAAE;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,sBAAY,CAAC,SAAS,CAAC,CAAC;aAC1C;SACD;QAED,6FAA6F;QAC7F,KAAkB,UAA6B,EAA7B,KAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAA7B,cAA6B,EAA7B,IAA6B,EAAE;YAA5C,IAAM,GAAG,SAAA;YACb,IAAI,OAAO,KAAI,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;gBACpC,KAAI,CAAC,GAAG,CAAC,GAAG,KAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;aACjC;SACD;;IACF,CAAC;IAOD,sBAAW,uBAAG;QALd;;;;WAIG;aACH;YACC,OAAO,IAAI,aAAG,EAAE,CAAC;QAClB,CAAC;;;OAAA;IAED;;;;OAIG;IACI,qBAAI,GAAX,UAAY,IAAY;QACvB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,EAAE,GAAG,IAAI,CAAC;QAEd,IAAI;YACH,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;YACf,gBAAgB;SAChB;QAED,IAAI,QAAQ,EAAE;YACb,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SACnB;QAED,IAAI,MAAM,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACvC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC5B;aAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;IACF,CAAC;IAED;;;;;OAKG;IACI,iCAAgB,GAAvB,UAAwB,OAAoB;QAC3C,OAAO,IAAI,6BAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACI,uBAAM,GAAb,UAAc,CAA8D,EAAE,CAAU;QAAxF,iBAuBC;QAtBA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC5B,IAAI,CAAC,UAAU,CAAC;oBACf,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE;wBACf,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAU,GAAG,CAAC,CAAC,GAAG,CAAC;qBAC1D;oBACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;wBAChB,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAW,GAAG,CAAC,CAAC,IAAI,CAAC;qBAC5D;gBACF,CAAC,CAAC,CAAC;aACH;iBAAM;gBACN,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE;oBACf,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAU,GAAG,CAAC,CAAC,GAAG,CAAC;iBAC1D;gBACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;oBAChB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAW,GAAG,CAAC,CAAC,IAAI,CAAC;iBAC5D;aACD;SACD;aAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAW,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAU,GAAG,CAAC,CAAC;SACtD;IACF,CAAC;IAED;;;;;OAKG;IACI,yBAAQ,GAAf,UACC,CAA8D,EAC9D,CAAU;QAEV,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACI,2BAAU,GAAjB,UAAkB,gBAAwB;QACzC,IAAM,cAAc,GAAG,IAAI,wBAAc,EAAE,CAAC;QAC5C,cAAc,CAAC,MAAM,GAAG,gBAAgB,CAAC;QACzC,OAAO,cAAc,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACI,2BAAU,GAAjB,UAAkB,QAAoB,EAAE,KAAS;QAAjD,iBAOC;QAPuC,sBAAA,EAAA,SAAS;QAChD,IAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;YAC5B,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5C,QAAQ,EAAE,CAAC;QACZ,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACI,6BAAY,GAAnB,UAAoB,EAAkB;QACrC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACI,4BAAW,GAAlB,UAAmB,QAAoB,EAAE,KAAS;QAAT,sBAAA,EAAA,SAAS;QACjD,IAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACI,8BAAa,GAApB,UAAqB,EAAkB;QACtC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACI,sCAAqB,GAA5B,UAA6B,QAAqC;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC;YACtB,QAAQ,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,qCAAoB,GAA3B,UAA4B,EAAkB;QAC7C,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACU,sBAAK,GAAlB,UAAmB,GAAW,EAAE,OAAuB;;;;gBACtD,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;wBAClC,IAAI,KAAK,GAAG,IAAI,CAAC;wBAEjB,IAAI;4BACH,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;yBAC9B;wBAAC,OAAO,KAAK,EAAE;4BACf,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;yBAC9E;wBAED,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,2BAAiB,CAAC,KAAK,CAAC,CAAC;wBAElE,KAAK,CAAC,qBAAW,CAAC,cAAc,CAAC,KAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC;6BAC5D,IAAI,CAAC,UAAA,QAAQ;4BACb,IAAI,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,2BAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gCAClF,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;6BAC1E;iCAAM;wDACK,UAAU;oCACpB,IAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;oCACzC,QAAQ,CAAC,UAAU,CAAC,GAAG;wCACtB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;4CAClC,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,2BAAiB,CAAC,KAAK,CAAC,CAAC;4CAElE,WAAW;iDACT,IAAI,CAAC,QAAQ,CAAC;iDACd,IAAI,CAAC,UAAA,QAAQ;gDACb,IACC,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,2BAAiB,CAAC,KAAK,CAAC;oDACvE,CAAC,EACA;oDACD,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;iDAC1E;qDAAM;oDACN,OAAO,CAAC,QAAQ,CAAC,CAAC;oDAClB,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,2BAAiB,CAAC,KAAK,CAAC,CAAC;iDAChE;4CACF,CAAC,CAAC;iDACD,KAAK,CAAC,UAAA,KAAK;gDACX,MAAM,CAAC,KAAK,CAAC,CAAC;gDACd,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,2BAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;4CACxE,CAAC,CAAC,CAAC;wCACL,CAAC,CAAC,CAAC;oCACJ,CAAC,CAAC;;gCAxBH,KAAyB,UAA2B,EAA3B,2DAA2B,EAA3B,yCAA2B,EAA3B,IAA2B;oCAA/C,IAAM,UAAU,oCAAA;4CAAV,UAAU;iCAyBpB;gCAED,OAAO,CAAC,QAAQ,CAAC,CAAC;gCAClB,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,2BAAiB,CAAC,KAAK,CAAC,CAAC;6BAChE;wBACF,CAAC,CAAC;6BACD,KAAK,CAAC,UAAA,KAAK;4BACX,MAAM,CAAC,KAAK,CAAC,CAAC;4BACd,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,2BAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;wBACxE,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,EAAC;;;KACH;IACF,aAAC;AAAD,CAAC,AA5bD,CAAoC,qBAAW,GA4b9C"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "2.42.0",
3
+ "version": "2.45.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -75,5 +75,5 @@
75
75
  "ts-jest": "^26.5.6",
76
76
  "typescript": "^4.2.4"
77
77
  },
78
- "gitHead": "f463a9e7e94ff43649a47350e096c8e1bd96b079"
78
+ "gitHead": "b4194bab2382295367574f6b651c97cf28b0fa2a"
79
79
  }
@@ -4898,7 +4898,7 @@ export default class CSSStyleDeclaration {
4898
4898
  * @returns Item.
4899
4899
  */
4900
4900
  public item(index: number): string {
4901
- return this[String(index)] || '';
4901
+ return this[index] || '';
4902
4902
  }
4903
4903
 
4904
4904
  /**
@@ -0,0 +1,219 @@
1
+ import DOMException from '../exception/DOMException';
2
+ import Element from '../nodes/element/Element';
3
+ import IDOMTokenList from './IDOMTokenList';
4
+
5
+ /**
6
+ * DOM Token List.
7
+ *
8
+ * Reference:
9
+ * https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList.
10
+ */
11
+ export default class DOMTokenList implements IDOMTokenList {
12
+ public readonly length = 0;
13
+ private _ownerElement: Element;
14
+ private _attributeName: string;
15
+
16
+ /**
17
+ * Constructor.
18
+ *
19
+ * @param ownerElement Owner element.
20
+ * @param attributeName Attribute name.
21
+ */
22
+ constructor(ownerElement: Element, attributeName) {
23
+ this._ownerElement = ownerElement;
24
+ this._attributeName = attributeName;
25
+ this._updateIndices();
26
+ }
27
+
28
+ /**
29
+ * Set value.
30
+ *
31
+ * @param value Value.
32
+ */
33
+ public set value(value: string) {
34
+ this._ownerElement.setAttributeNS(null, this._attributeName, value);
35
+ }
36
+
37
+ /**
38
+ * Get value.
39
+ */
40
+ public get value(): string {
41
+ return this._ownerElement.getAttributeNS(null, this._attributeName);
42
+ }
43
+
44
+ /**
45
+ * Get ClassName.
46
+ *
47
+ * @param index Index.
48
+ * */
49
+ public item(index: number | string): string {
50
+ index = typeof index === 'number' ? index : 0;
51
+ return index >= 0 && this[index] ? this[index] : null;
52
+ }
53
+
54
+ /**
55
+ * Replace Token.
56
+ *
57
+ * @param token Token.
58
+ * @param newToken NewToken.
59
+ */
60
+ public replace(token: string, newToken: string): boolean {
61
+ const attr = this._ownerElement.getAttributeNS(null, this._attributeName);
62
+ const list = attr ? attr.split(' ') : [];
63
+ const index = list.indexOf(token);
64
+ if (index === -1) {
65
+ return false;
66
+ }
67
+ list[index] = newToken;
68
+ this._ownerElement.setAttributeNS(null, this._attributeName, list.join(' '));
69
+ return true;
70
+ }
71
+
72
+ /**
73
+ * Supports.
74
+ *
75
+ * @param token Token.
76
+ */
77
+ public supports(token: string): boolean {
78
+ // TODO: Only implemented for classList, which does not have any supported tokens
79
+ throw new DOMException(
80
+ `Failed to execute '${token}' on 'DOMTokenList': DOMTokenList has no supported tokens.`,
81
+ 'TypeError'
82
+ );
83
+ }
84
+
85
+ /**
86
+ * Returns an iterator, allowing you to go through all values of the key/value pairs contained in this object.
87
+ *
88
+ *
89
+ */
90
+ public values(): IterableIterator<string> {
91
+ const attr = this._ownerElement.getAttributeNS(null, this._attributeName);
92
+ return (attr ? attr.split(' ') : []).values();
93
+ }
94
+
95
+ /**
96
+ * Returns an iterator, allowing you to go through all key/value pairs contained in this object.
97
+ *
98
+ *
99
+ */
100
+ public entries(): IterableIterator<[number, string]> {
101
+ const attr = this._ownerElement.getAttributeNS(null, this._attributeName);
102
+ return (attr ? attr.split(' ') : []).entries();
103
+ }
104
+
105
+ /**
106
+ * Executes a provided callback function once for each DOMTokenList element.
107
+ *
108
+ * @param callback
109
+ * @param thisArg
110
+ */
111
+ public forEach(callback: (currentValue, currentIndex, listObj) => void, thisArg?: this): void {
112
+ const attr = this._ownerElement.getAttributeNS(null, this._attributeName);
113
+ return (attr ? attr.split(' ') : []).forEach(callback, thisArg);
114
+ }
115
+
116
+ /**
117
+ * Returns an iterator, allowing you to go through all keys of the key/value pairs contained in this object.
118
+ *
119
+ */
120
+ public keys(): IterableIterator<number> {
121
+ const attr = this._ownerElement.getAttributeNS(null, this._attributeName);
122
+ return (attr ? attr.split(' ') : []).keys();
123
+ }
124
+
125
+ /**
126
+ * Adds tokens.
127
+ *
128
+ * @param tokens Tokens.
129
+ */
130
+ public add(...tokens: string[]): void {
131
+ const attr = this._ownerElement.getAttributeNS(null, this._attributeName);
132
+ const list = attr ? attr.split(' ') : [];
133
+
134
+ for (const token of tokens) {
135
+ const index = list.indexOf(token);
136
+ if (index === -1) {
137
+ list.push(token);
138
+ } else {
139
+ list[index] = token;
140
+ }
141
+ }
142
+
143
+ this._ownerElement.setAttributeNS(null, this._attributeName, list.join(' '));
144
+ }
145
+
146
+ /**
147
+ * Removes tokens.
148
+ *
149
+ * @param tokens Tokens.
150
+ */
151
+ public remove(...tokens: string[]): void {
152
+ const attr = this._ownerElement.getAttributeNS(null, this._attributeName);
153
+ const list = attr ? attr.split(' ') : [];
154
+
155
+ for (const token of tokens) {
156
+ const index = list.indexOf(token);
157
+ if (index !== -1) {
158
+ list.splice(index, 1);
159
+ }
160
+ }
161
+
162
+ this._ownerElement.setAttributeNS(null, this._attributeName, list.join(' '));
163
+ }
164
+
165
+ /**
166
+ * Check if the list contains a class.
167
+ *
168
+ * @param className Class name.
169
+ * @returns TRUE if it contains.
170
+ */
171
+ public contains(className: string): boolean {
172
+ const attr = this._ownerElement.getAttributeNS(null, this._attributeName);
173
+ return (attr ? attr.split(' ') : []).includes(className);
174
+ }
175
+
176
+ /**
177
+ * Toggle a class name.
178
+ *
179
+ * @param token A string representing the class name you want to toggle.
180
+ * @param [force] If included, turns the toggle into a one way-only operation. If set to `false`, then class name will only be removed, but not added. If set to `true`, then class name will only be added, but not removed.
181
+ * @returns A boolean value, `true` or `false`, indicating whether class name is in the list after the call or not.
182
+ */
183
+ public toggle(token: string, force?: boolean): boolean {
184
+ let shouldAdd: boolean;
185
+
186
+ if (force !== undefined) {
187
+ shouldAdd = force;
188
+ } else {
189
+ shouldAdd = !this.contains(token);
190
+ }
191
+
192
+ if (shouldAdd) {
193
+ this.add(token);
194
+ return true;
195
+ }
196
+
197
+ this.remove(token);
198
+
199
+ return false;
200
+ }
201
+
202
+ /**
203
+ * Updates indices.
204
+ */
205
+ public _updateIndices(): void {
206
+ const attr = this._ownerElement.getAttribute('class');
207
+ const list = attr ? Array.from(new Set(attr.split(' '))) : [];
208
+
209
+ for (let i = list.length - 1, max = this.length; i < max; i++) {
210
+ delete this[i];
211
+ }
212
+
213
+ for (let i = 0, max = list.length; i < max; i++) {
214
+ this[i] = list[i];
215
+ }
216
+
217
+ (<number>this.length) = list.length;
218
+ }
219
+ }
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * IDOMTokenList.
3
3
  */
4
- export default interface IDOMTokenList<T> {
5
- item(index: number): string;
4
+ export default interface IDOMTokenList {
5
+ value: string;
6
+ readonly length: number;
7
+ item(index: number | string): string;
6
8
  contains(token: string): boolean;
7
9
  add(...tokens: string[]): void;
8
10
  remove(...tokens: string[]): void;
@@ -10,8 +12,8 @@ export default interface IDOMTokenList<T> {
10
12
  replace(token: string, newToken: string): boolean;
11
13
  supports(token: string): boolean;
12
14
 
13
- values(): IterableIterator<T>;
14
- entries(): IterableIterator<[number, T]>;
15
+ values(): IterableIterator<string>;
16
+ entries(): IterableIterator<[number, string]>;
15
17
  forEach(callback: (currentValue, currentIndex, listObj) => void, thisArg?: this): void;
16
18
  keys(): IterableIterator<number>;
17
19
  }
@@ -0,0 +1,35 @@
1
+ import Plugin from './Plugin';
2
+
3
+ /**
4
+ * MimeType.
5
+ */
6
+ export default class MimeType {
7
+ public readonly description: string;
8
+ public readonly enabledPlugin: Plugin;
9
+ public readonly suffixes: string;
10
+ public readonly type: string;
11
+
12
+ /**
13
+ * Constructor.
14
+ *
15
+ * @param description
16
+ * @param enabledPlugin
17
+ * @param suffixes
18
+ * @param type
19
+ */
20
+ constructor(description: string, enabledPlugin: Plugin, suffixes: string, type: string) {
21
+ this.description = description;
22
+ this.enabledPlugin = enabledPlugin;
23
+ this.suffixes = suffixes;
24
+ this.type = type;
25
+ }
26
+
27
+ /**
28
+ * Returns the object as a string.
29
+ *
30
+ * @returns String.
31
+ */
32
+ public toString(): string {
33
+ return '[object MimeType]';
34
+ }
35
+ }