happy-dom 2.46.2 → 2.47.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.

Files changed (48) hide show
  1. package/README.md +84 -12
  2. package/lib/config/ElementTag.d.ts +128 -21
  3. package/lib/config/ElementTag.js +128 -21
  4. package/lib/config/ElementTag.js.map +1 -1
  5. package/lib/config/NonImplemenetedElementClasses.d.ts +2 -0
  6. package/lib/config/NonImplemenetedElementClasses.js +64 -0
  7. package/lib/config/NonImplemenetedElementClasses.js.map +1 -0
  8. package/lib/custom-element/CustomElementRegistry.d.ts +3 -1
  9. package/lib/custom-element/CustomElementRegistry.js +15 -14
  10. package/lib/custom-element/CustomElementRegistry.js.map +1 -1
  11. package/lib/index.d.ts +1 -5
  12. package/lib/index.js +1 -9
  13. package/lib/index.js.map +1 -1
  14. package/lib/nodes/document/Document.js +5 -6
  15. package/lib/nodes/document/Document.js.map +1 -1
  16. package/lib/nodes/element/Element.d.ts +18 -3
  17. package/lib/nodes/element/Element.js +33 -8
  18. package/lib/nodes/element/Element.js.map +1 -1
  19. package/lib/nodes/element/IElement.d.ts +22 -0
  20. package/lib/nodes/html-unknown-element/HTMLUnknownElement.d.ts +18 -0
  21. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +76 -0
  22. package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -0
  23. package/lib/nodes/node/Node.js +2 -2
  24. package/lib/nodes/node/Node.js.map +1 -1
  25. package/lib/window/IWindow.d.ts +4 -1
  26. package/lib/window/Window.d.ts +4 -1
  27. package/lib/window/Window.js +11 -10
  28. package/lib/window/Window.js.map +1 -1
  29. package/lib/xml-serializer/XMLSerializer.d.ts +6 -5
  30. package/lib/xml-serializer/XMLSerializer.js +16 -9
  31. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  32. package/package.json +2 -2
  33. package/src/config/ElementTag.ts +128 -21
  34. package/src/config/NonImplemenetedElementClasses.ts +61 -0
  35. package/src/custom-element/CustomElementRegistry.ts +16 -14
  36. package/src/index.ts +0 -8
  37. package/src/nodes/document/Document.ts +6 -6
  38. package/src/nodes/element/Element.ts +38 -8
  39. package/src/nodes/element/IElement.ts +22 -0
  40. package/src/nodes/html-unknown-element/HTMLUnknownElement.ts +52 -0
  41. package/src/nodes/node/Node.ts +2 -2
  42. package/src/window/IWindow.ts +4 -1
  43. package/src/window/Window.ts +10 -7
  44. package/src/xml-serializer/XMLSerializer.ts +17 -7
  45. package/lib/config/ElementClass.d.ts +0 -65
  46. package/lib/config/ElementClass.js +0 -70
  47. package/lib/config/ElementClass.js.map +0 -1
  48. package/src/config/ElementClass.ts +0 -65
@@ -87,6 +87,7 @@ var Element_1 = __importDefault(require("../nodes/element/Element"));
87
87
  var HTMLTemplateElement_1 = __importDefault(require("../nodes/html-template-element/HTMLTemplateElement"));
88
88
  var HTMLFormElement_1 = __importDefault(require("../nodes/html-form-element/HTMLFormElement"));
89
89
  var HTMLElement_1 = __importDefault(require("../nodes/html-element/HTMLElement"));
90
+ var HTMLUnknownElement_1 = __importDefault(require("../nodes/html-unknown-element/HTMLUnknownElement"));
90
91
  var HTMLInputElement_1 = __importDefault(require("../nodes/html-input-element/HTMLInputElement"));
91
92
  var HTMLTextAreaElement_1 = __importDefault(require("../nodes/html-text-area-element/HTMLTextAreaElement"));
92
93
  var HTMLLinkElement_1 = __importDefault(require("../nodes/html-link-element/HTMLLinkElement"));
@@ -112,7 +113,7 @@ var URL_1 = __importDefault(require("../location/URL"));
112
113
  var Location_1 = __importDefault(require("../location/Location"));
113
114
  var NonImplementedEventTypes_1 = __importDefault(require("../event/NonImplementedEventTypes"));
114
115
  var MutationObserver_1 = __importDefault(require("../mutation-observer/MutationObserver"));
115
- var ElementClass_1 = __importDefault(require("../config/ElementClass"));
116
+ var NonImplemenetedElementClasses_1 = __importDefault(require("../config/NonImplemenetedElementClasses"));
116
117
  var DOMParser_1 = __importDefault(require("../dom-parser/DOMParser"));
117
118
  var XMLSerializer_1 = __importDefault(require("../xml-serializer/XMLSerializer"));
118
119
  var ResizeObserver_1 = __importDefault(require("../resize-observer/ResizeObserver"));
@@ -181,6 +182,7 @@ var Window = /** @class */ (function (_super) {
181
182
  // Global classes
182
183
  _this.Node = Node_1.default;
183
184
  _this.HTMLElement = HTMLElement_1.default;
185
+ _this.HTMLUnknownElement = HTMLUnknownElement_1.default;
184
186
  _this.HTMLTemplateElement = HTMLTemplateElement_1.default;
185
187
  _this.HTMLFormElement = HTMLFormElement_1.default;
186
188
  _this.HTMLInputElement = HTMLInputElement_1.default;
@@ -348,15 +350,15 @@ var Window = /** @class */ (function (_super) {
348
350
  _this[eventType] = Event_1.default;
349
351
  }
350
352
  }
351
- for (var _a = 0, _b = Object.keys(ElementClass_1.default); _a < _b.length; _a++) {
352
- var className = _b[_a];
353
+ for (var _a = 0, NonImplemenetedElementClasses_2 = NonImplemenetedElementClasses_1.default; _a < NonImplemenetedElementClasses_2.length; _a++) {
354
+ var className = NonImplemenetedElementClasses_2[_a];
353
355
  if (!_this[className]) {
354
- _this[className] = ElementClass_1.default[className];
356
+ _this[className] = HTMLElement_1.default;
355
357
  }
356
358
  }
357
359
  // Binds all methods to "this", so that it will use the correct context when called globally.
358
- for (var _c = 0, _d = Object.keys(Window.prototype); _c < _d.length; _c++) {
359
- var key = _d[_c];
360
+ for (var _b = 0, _c = Object.keys(Window.prototype); _b < _c.length; _b++) {
361
+ var key = _c[_b];
360
362
  if (typeof _this[key] === 'function') {
361
363
  _this[key] = _this[key].bind(_this);
362
364
  }
@@ -379,6 +381,7 @@ var Window = /** @class */ (function (_super) {
379
381
  * Evaluates code.
380
382
  *
381
383
  * @param code Code.
384
+ * @returns Result.
382
385
  */
383
386
  Window.prototype.eval = function (code) {
384
387
  var vmExists = false;
@@ -393,11 +396,9 @@ var Window = /** @class */ (function (_super) {
393
396
  vm = require('vm');
394
397
  }
395
398
  if (global && vm && vm.isContext(this)) {
396
- vm.runInContext(code, this);
397
- }
398
- else if (global && global.eval) {
399
- global.eval(code);
399
+ return vm.runInContext(code, this);
400
400
  }
401
+ return global.eval(code);
401
402
  };
402
403
  /**
403
404
  * Returns an object containing the values of all CSS properties of an element.
@@ -1 +1 @@
1
- {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,19 @@
1
1
  import INode from '../nodes/node/INode';
2
2
  /**
3
3
  * Utility for converting an element to string.
4
- *
5
- * @class QuerySelector
6
4
  */
7
5
  export default class XMLSerializer {
8
6
  /**
9
7
  * Renders an element as HTML.
10
8
  *
11
- * @param element Element to render.
12
- * @param root
9
+ * @param root Root element.
10
+ * @param [options] Options.
11
+ * @param [options.includeShadowRoots] Set to "true" to include shadow roots.
13
12
  * @returns Result.
14
13
  */
15
- serializeToString(root: INode): string;
14
+ serializeToString(root: INode, options?: {
15
+ includeShadowRoots?: boolean;
16
+ }): string;
16
17
  /**
17
18
  * Returns attributes as a string.
18
19
  *
@@ -9,8 +9,6 @@ var UnclosedElements_1 = __importDefault(require("../config/UnclosedElements"));
9
9
  var he_1 = require("he");
10
10
  /**
11
11
  * Utility for converting an element to string.
12
- *
13
- * @class QuerySelector
14
12
  */
15
13
  var XMLSerializer = /** @class */ (function () {
16
14
  function XMLSerializer() {
@@ -18,11 +16,12 @@ var XMLSerializer = /** @class */ (function () {
18
16
  /**
19
17
  * Renders an element as HTML.
20
18
  *
21
- * @param element Element to render.
22
- * @param root
19
+ * @param root Root element.
20
+ * @param [options] Options.
21
+ * @param [options.includeShadowRoots] Set to "true" to include shadow roots.
23
22
  * @returns Result.
24
23
  */
25
- XMLSerializer.prototype.serializeToString = function (root) {
24
+ XMLSerializer.prototype.serializeToString = function (root, options) {
26
25
  switch (root.nodeType) {
27
26
  case Node_1.default.ELEMENT_NODE:
28
27
  var element = root;
@@ -36,15 +35,23 @@ var XMLSerializer = /** @class */ (function () {
36
35
  var innerHTML = '';
37
36
  for (var _i = 0, _a = root.childNodes; _i < _a.length; _i++) {
38
37
  var node = _a[_i];
39
- innerHTML += this.serializeToString(node);
38
+ innerHTML += this.serializeToString(node, options);
39
+ }
40
+ if ((options === null || options === void 0 ? void 0 : options.includeShadowRoots) && element.shadowRoot) {
41
+ innerHTML += "<template shadowroot=\"".concat(element.shadowRoot.mode, "\">");
42
+ for (var _b = 0, _c = element.shadowRoot.childNodes; _b < _c.length; _b++) {
43
+ var node = _c[_b];
44
+ innerHTML += this.serializeToString(node, options);
45
+ }
46
+ innerHTML += '</template>';
40
47
  }
41
48
  return "<".concat(tagName).concat(this._getAttributes(element), ">").concat(innerHTML, "</").concat(tagName, ">");
42
49
  case Node_1.default.DOCUMENT_FRAGMENT_NODE:
43
50
  case Node_1.default.DOCUMENT_NODE:
44
51
  var html = '';
45
- for (var _b = 0, _c = root.childNodes; _b < _c.length; _b++) {
46
- var node = _c[_b];
47
- html += this.serializeToString(node);
52
+ for (var _d = 0, _e = root.childNodes; _d < _e.length; _d++) {
53
+ var node = _e[_d];
54
+ html += this.serializeToString(node, options);
48
55
  }
49
56
  return html;
50
57
  case Node_1.default.COMMENT_NODE:
@@ -1 +1 @@
1
- {"version":3,"file":"XMLSerializer.js","sourceRoot":"","sources":["../../src/xml-serializer/XMLSerializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XMLSerializer.js","sourceRoot":"","sources":["../../src/xml-serializer/XMLSerializer.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.46.2",
3
+ "version": "2.47.1",
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": "98efb5446d795d199e4ad0fcf6dfe1d727b6c417"
78
+ "gitHead": "1482754b8d36b77238988a4d1d3bbe305481cdcd"
79
79
  }
@@ -1,3 +1,4 @@
1
+ import HTMLElement from '../nodes/html-element/HTMLElement';
1
2
  import HTMLTemplateElement from '../nodes/html-template-element/HTMLTemplateElement';
2
3
  import HTMLFormElement from '../nodes/html-form-element/HTMLFormElement';
3
4
  import HTMLInputElement from '../nodes/html-input-element/HTMLInputElement';
@@ -13,25 +14,131 @@ import HTMLSlotElement from '../nodes/html-slot-element/HTMLSlotElement';
13
14
  import HTMLMetaElement from '../nodes/html-meta-element/HTMLMetaElement';
14
15
 
15
16
  export default {
16
- template: HTMLTemplateElement,
17
- form: HTMLFormElement,
18
- input: HTMLInputElement,
19
- textarea: HTMLTextAreaElement,
20
- script: HTMLScriptElement,
21
- img: HTMLImageElement,
22
- link: HTMLLinkElement,
23
- style: HTMLStyleElement,
24
- label: HTMLLabelElement,
25
- slot: HTMLSlotElement,
26
- svg: SVGSVGElement,
27
- circle: SVGElement,
28
- ellipse: SVGElement,
29
- line: SVGElement,
30
- path: SVGElement,
31
- polygon: SVGElement,
32
- polyline: SVGElement,
33
- rect: SVGElement,
34
- stop: SVGElement,
35
- use: SVGElement,
36
- meta: HTMLMetaElement
17
+ A: HTMLElement,
18
+ ABBR: HTMLElement,
19
+ ADDRESS: HTMLElement,
20
+ AREA: HTMLElement,
21
+ ARTICLE: HTMLElement,
22
+ ASIDE: HTMLElement,
23
+ AUDIO: HTMLElement,
24
+ B: HTMLElement,
25
+ BASE: HTMLElement,
26
+ BDI: HTMLElement,
27
+ BDO: HTMLElement,
28
+ BLOCKQUAOTE: HTMLElement,
29
+ BODY: HTMLElement,
30
+ TEMPLATE: HTMLTemplateElement,
31
+ FORM: HTMLFormElement,
32
+ INPUT: HTMLInputElement,
33
+ TEXTAREA: HTMLTextAreaElement,
34
+ SCRIPT: HTMLScriptElement,
35
+ IMG: HTMLImageElement,
36
+ LINK: HTMLLinkElement,
37
+ STYLE: HTMLStyleElement,
38
+ LABEL: HTMLLabelElement,
39
+ SLOT: HTMLSlotElement,
40
+ SVG: SVGSVGElement,
41
+ CIRCLE: SVGElement,
42
+ ELLIPSE: SVGElement,
43
+ LINE: SVGElement,
44
+ PATH: SVGElement,
45
+ POLYGON: SVGElement,
46
+ POLYLINE: SVGElement,
47
+ RECT: SVGElement,
48
+ STOP: SVGElement,
49
+ USE: SVGElement,
50
+ META: HTMLMetaElement,
51
+ BLOCKQUOTE: HTMLElement,
52
+ BR: HTMLElement,
53
+ BUTTON: HTMLElement,
54
+ CANVAS: HTMLElement,
55
+ CAPTION: HTMLElement,
56
+ CITE: HTMLElement,
57
+ CODE: HTMLElement,
58
+ COL: HTMLElement,
59
+ COLGROUP: HTMLElement,
60
+ DATA: HTMLElement,
61
+ DATALIST: HTMLElement,
62
+ DD: HTMLElement,
63
+ DEL: HTMLElement,
64
+ DETAILS: HTMLElement,
65
+ DFN: HTMLElement,
66
+ DIALOG: HTMLElement,
67
+ DIV: HTMLElement,
68
+ DL: HTMLElement,
69
+ DT: HTMLElement,
70
+ EM: HTMLElement,
71
+ EMBED: HTMLElement,
72
+ FIELDSET: HTMLElement,
73
+ FIGCAPTION: HTMLElement,
74
+ FIGURE: HTMLElement,
75
+ FOOTER: HTMLElement,
76
+ H1: HTMLElement,
77
+ H2: HTMLElement,
78
+ H3: HTMLElement,
79
+ H4: HTMLElement,
80
+ H5: HTMLElement,
81
+ H6: HTMLElement,
82
+ HEAD: HTMLElement,
83
+ HEADER: HTMLElement,
84
+ HGROUP: HTMLElement,
85
+ HR: HTMLElement,
86
+ HTML: HTMLElement,
87
+ I: HTMLElement,
88
+ IFRAME: HTMLElement,
89
+ INS: HTMLElement,
90
+ KBD: HTMLElement,
91
+ LEGEND: HTMLElement,
92
+ LI: HTMLElement,
93
+ MAIN: HTMLElement,
94
+ MAP: HTMLElement,
95
+ MARK: HTMLElement,
96
+ MATH: HTMLElement,
97
+ MENU: HTMLElement,
98
+ MENUITEM: HTMLElement,
99
+ METER: HTMLElement,
100
+ NAV: HTMLElement,
101
+ NOSCRIPT: HTMLElement,
102
+ OBJECT: HTMLElement,
103
+ OL: HTMLElement,
104
+ OPTGROUP: HTMLElement,
105
+ OPTION: HTMLElement,
106
+ OUTPUT: HTMLElement,
107
+ P: HTMLElement,
108
+ PARAM: HTMLElement,
109
+ PICTURE: HTMLElement,
110
+ PRE: HTMLElement,
111
+ PROGRESS: HTMLElement,
112
+ Q: HTMLElement,
113
+ RB: HTMLElement,
114
+ RP: HTMLElement,
115
+ RT: HTMLElement,
116
+ RTC: HTMLElement,
117
+ RUBY: HTMLElement,
118
+ S: HTMLElement,
119
+ SAMP: HTMLElement,
120
+ SECTION: HTMLElement,
121
+ SELECT: HTMLElement,
122
+ SMALL: HTMLElement,
123
+ SOURCE: HTMLElement,
124
+ SPAN: HTMLElement,
125
+ STRONG: HTMLElement,
126
+ SUB: HTMLElement,
127
+ SUMMARY: HTMLElement,
128
+ SUP: HTMLElement,
129
+ TABLE: HTMLElement,
130
+ TBODY: HTMLElement,
131
+ TD: HTMLElement,
132
+ TFOOT: HTMLElement,
133
+ TH: HTMLElement,
134
+ THEAD: HTMLElement,
135
+ TIME: HTMLElement,
136
+ TITLE: HTMLElement,
137
+ TR: HTMLElement,
138
+ TRACK: HTMLElement,
139
+ U: HTMLElement,
140
+ UL: HTMLElement,
141
+ VAR: HTMLElement,
142
+ VIDEO: HTMLElement,
143
+ WBR: HTMLElement
37
144
  };
@@ -0,0 +1,61 @@
1
+ export default [
2
+ 'HTMLHeadElement',
3
+ 'HTMLTitleElement',
4
+ 'HTMLBaseElement',
5
+ 'HTMLMetaElement',
6
+ 'HTMLBodyElement',
7
+ 'HTMLHeadingElement',
8
+ 'HTMLParagraphElement',
9
+ 'HTMLHRElement',
10
+ 'HTMLPreElement',
11
+ 'HTMLUListElement',
12
+ 'HTMLOListElement',
13
+ 'HTMLLIElement',
14
+ 'HTMLMenuElement',
15
+ 'HTMLDListElement',
16
+ 'HTMLDivElement',
17
+ 'HTMLAnchorElement',
18
+ 'HTMLAreaElement',
19
+ 'HTMLBRElement',
20
+ 'HTMLButtonElement',
21
+ 'HTMLCanvasElement',
22
+ 'HTMLDataElement',
23
+ 'HTMLDataListElement',
24
+ 'HTMLDetailsElement',
25
+ 'HTMLDialogElement',
26
+ 'HTMLDirectoryElement',
27
+ 'HTMLFieldSetElement',
28
+ 'HTMLFontElement',
29
+ 'HTMLHtmlElement',
30
+ 'HTMLLegendElement',
31
+ 'HTMLMapElement',
32
+ 'HTMLMarqueeElement',
33
+ 'HTMLMediaElement',
34
+ 'HTMLMeterElement',
35
+ 'HTMLModElement',
36
+ 'HTMLOptGroupElement',
37
+ 'HTMLOptionElement',
38
+ 'HTMLOutputElement',
39
+ 'HTMLPictureElement',
40
+ 'HTMLProgressElement',
41
+ 'HTMLQuoteElement',
42
+ 'HTMLSelectElement',
43
+ 'HTMLSourceElement',
44
+ 'HTMLSpanElement',
45
+ 'HTMLTableCaptionElement',
46
+ 'HTMLTableCellElement',
47
+ 'HTMLTableColElement',
48
+ 'HTMLTableElement',
49
+ 'HTMLTimeElement',
50
+ 'HTMLTableRowElement',
51
+ 'HTMLTableSectionElement',
52
+ 'HTMLFrameElement',
53
+ 'HTMLFrameSetElement',
54
+ 'HTMLIFrameElement',
55
+ 'HTMLEmbedElement',
56
+ 'HTMLObjectElement',
57
+ 'HTMLParamElement',
58
+ 'HTMLVideoElement',
59
+ 'HTMLAudioElement',
60
+ 'HTMLTrackElement'
61
+ ];
@@ -7,7 +7,7 @@ import Node from '../nodes/node/Node';
7
7
  */
8
8
  export default class CustomElementRegistry {
9
9
  public _registry: { [k: string]: { elementClass: typeof HTMLElement; extends: string } } = {};
10
- private _callbacks: { [k: string]: (() => void)[] } = {};
10
+ public _callbacks: { [k: string]: (() => void)[] } = {};
11
11
 
12
12
  /**
13
13
  * Defines a custom element class.
@@ -22,16 +22,17 @@ export default class CustomElementRegistry {
22
22
  elementClass: typeof HTMLElement,
23
23
  options?: { extends: string }
24
24
  ): void {
25
- const name = tagName.toLowerCase();
26
- if (!name.includes('-')) {
25
+ const upperTagName = tagName.toUpperCase();
26
+
27
+ if (!upperTagName.includes('-')) {
27
28
  throw new DOMException(
28
29
  "Failed to execute 'define' on 'CustomElementRegistry': \"" +
29
- name +
30
+ tagName +
30
31
  '" is not a valid custom element name.'
31
32
  );
32
33
  }
33
34
 
34
- this._registry[name] = {
35
+ this._registry[upperTagName] = {
35
36
  elementClass,
36
37
  extends: options && options.extends ? options.extends.toLowerCase() : null
37
38
  };
@@ -41,11 +42,12 @@ export default class CustomElementRegistry {
41
42
  elementClass._observedAttributes = elementClass.observedAttributes;
42
43
  }
43
44
 
44
- if (this._callbacks[name]) {
45
- for (const callback of this._callbacks[name]) {
45
+ if (this._callbacks[upperTagName]) {
46
+ const callbacks = this._callbacks[upperTagName];
47
+ delete this._callbacks[upperTagName];
48
+ for (const callback of callbacks) {
46
49
  callback();
47
50
  }
48
- delete this._callbacks[name];
49
51
  }
50
52
  }
51
53
 
@@ -56,8 +58,8 @@ export default class CustomElementRegistry {
56
58
  * @param HTMLElement Class defined.
57
59
  */
58
60
  public get(tagName: string): typeof HTMLElement {
59
- const name = tagName.toLowerCase();
60
- return this._registry[name] ? this._registry[name].elementClass : undefined;
61
+ const upperTagName = tagName.toUpperCase();
62
+ return this._registry[upperTagName] ? this._registry[upperTagName].elementClass : undefined;
61
63
  }
62
64
 
63
65
  /**
@@ -78,13 +80,13 @@ export default class CustomElementRegistry {
78
80
  * @returns Promise.
79
81
  */
80
82
  public whenDefined(tagName: string): Promise<void> {
81
- const name = tagName.toLowerCase();
82
- if (this.get(name)) {
83
+ const upperTagName = tagName.toUpperCase();
84
+ if (this.get(upperTagName)) {
83
85
  return Promise.resolve();
84
86
  }
85
87
  return new Promise(resolve => {
86
- this._callbacks[name] = this._callbacks[name] || [];
87
- this._callbacks[name].push(resolve);
88
+ this._callbacks[upperTagName] = this._callbacks[upperTagName] || [];
89
+ this._callbacks[upperTagName].push(resolve);
88
90
  });
89
91
  }
90
92
  }
package/src/index.ts CHANGED
@@ -99,10 +99,6 @@ import TreeWalker from './tree-walker/TreeWalker';
99
99
  import CustomElementRegistry from './custom-element/CustomElementRegistry';
100
100
  import XMLParser from './xml-parser/XMLParser';
101
101
  import XMLSerializer from './xml-serializer/XMLSerializer';
102
- import ElementTag from './config/ElementTag';
103
- import SelfClosingElements from './config/SelfClosingElements';
104
- import UnclosedElements from './config/UnclosedElements';
105
- import ChildLessElements from './config/ChildLessElements';
106
102
  import CSSStyleSheet from './css/CSSStyleSheet';
107
103
  import Storage from './storage/Storage';
108
104
  import URLSearchParams from './url-search-params/URLSearchParams';
@@ -210,10 +206,6 @@ export {
210
206
  CustomElementRegistry,
211
207
  XMLParser,
212
208
  XMLSerializer,
213
- ElementTag,
214
- SelfClosingElements,
215
- UnclosedElements,
216
- ChildLessElements,
217
209
  CSSStyleSheet,
218
210
  Storage,
219
211
  URLSearchParams,
@@ -1,5 +1,5 @@
1
1
  import Element from '../element/Element';
2
- import HTMLElement from '../html-element/HTMLElement';
2
+ import HTMLUnknownElement from '../html-unknown-element/HTMLUnknownElement';
3
3
  import Text from '../text/Text';
4
4
  import Comment from '../comment/Comment';
5
5
  import Window from '../../window/Window';
@@ -572,21 +572,21 @@ export default class Document extends Node implements IDocument {
572
572
  qualifiedName: string,
573
573
  options?: { is: string }
574
574
  ): IElement {
575
+ const tagName = qualifiedName.toUpperCase();
576
+
575
577
  let customElementClass;
576
578
  if (this.defaultView && options && options.is) {
577
579
  customElementClass = this.defaultView.customElements.get(options.is);
578
580
  } else if (this.defaultView) {
579
- customElementClass = this.defaultView.customElements.get(qualifiedName);
581
+ customElementClass = this.defaultView.customElements.get(tagName);
580
582
  }
581
583
 
582
- const elementClass = customElementClass
583
- ? customElementClass
584
- : ElementTag[qualifiedName] || HTMLElement;
584
+ const elementClass = customElementClass || ElementTag[tagName] || HTMLUnknownElement;
585
585
 
586
586
  elementClass.ownerDocument = this;
587
587
 
588
588
  const element = new elementClass();
589
- element.tagName = qualifiedName.toUpperCase();
589
+ element.tagName = tagName;
590
590
  element.ownerDocument = this;
591
591
  element.namespaceURI = namespaceURI;
592
592