happy-dom 3.2.1 → 4.0.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/config/{SelfClosingElements.d.ts → VoidElements.d.ts} +0 -0
- package/lib/config/{SelfClosingElements.js → VoidElements.js} +2 -12
- package/lib/config/VoidElements.js.map +1 -0
- package/lib/nodes/html-script-element/HTMLScriptElement.js +6 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
- package/lib/window/Window.js +5 -2
- package/lib/window/Window.js.map +1 -1
- package/lib/xml-parser/XMLParser.d.ts +0 -7
- package/lib/xml-parser/XMLParser.js +11 -27
- package/lib/xml-parser/XMLParser.js.map +1 -1
- package/lib/xml-serializer/XMLSerializer.js +2 -6
- package/lib/xml-serializer/XMLSerializer.js.map +1 -1
- package/package.json +2 -2
- package/src/config/{SelfClosingElements.ts → VoidElements.ts} +1 -12
- package/src/nodes/html-script-element/HTMLScriptElement.ts +8 -1
- package/src/window/Window.ts +9 -2
- package/src/xml-parser/XMLParser.ts +11 -36
- package/src/xml-serializer/XMLSerializer.ts +2 -5
- package/lib/config/SelfClosingElements.js.map +0 -1
- package/lib/config/UnclosedElements.d.ts +0 -2
- package/lib/config/UnclosedElements.js +0 -4
- package/lib/config/UnclosedElements.js.map +0 -1
- package/src/config/UnclosedElements.ts +0 -1
File without changes
|
@@ -1,7 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.default = [
|
4
|
-
// Standard Elements
|
5
4
|
'area',
|
6
5
|
'base',
|
7
6
|
'br',
|
@@ -16,15 +15,6 @@ exports.default = [
|
|
16
15
|
'source',
|
17
16
|
'track',
|
18
17
|
'wbr',
|
19
|
-
|
20
|
-
'circle',
|
21
|
-
'ellipse',
|
22
|
-
'line',
|
23
|
-
'path',
|
24
|
-
'polygon',
|
25
|
-
'polyline',
|
26
|
-
'rect',
|
27
|
-
'stop',
|
28
|
-
'use'
|
18
|
+
'meta'
|
29
19
|
];
|
30
|
-
//# sourceMappingURL=
|
20
|
+
//# sourceMappingURL=VoidElements.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"VoidElements.js","sourceRoot":"","sources":["../../src/config/VoidElements.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,OAAO;IACP,IAAI;IACJ,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,KAAK;IACL,MAAM;CACN,CAAC"}
|
@@ -178,7 +178,12 @@ class HTMLScriptElement extends HTMLElement_1.default {
|
|
178
178
|
}
|
179
179
|
else {
|
180
180
|
const textContent = this.textContent;
|
181
|
-
|
181
|
+
const type = this.getAttributeNS(null, 'type');
|
182
|
+
if (textContent &&
|
183
|
+
(type === null ||
|
184
|
+
type === 'application/x-ecmascript' ||
|
185
|
+
type === 'application/x-javascript' ||
|
186
|
+
type.startsWith('text/javascript'))) {
|
182
187
|
this.ownerDocument.defaultView.eval(textContent);
|
183
188
|
}
|
184
189
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"HTMLScriptElement.js","sourceRoot":"","sources":["../../../src/nodes/html-script-element/HTMLScriptElement.ts"],"names":[],"mappings":";;;;;AACA,8EAAsD;AAEtD,oEAA4C;AAK5C;;;;;GAKG;AACH,MAAqB,iBAAkB,SAAQ,qBAAW;IAA1D;;QACQ,YAAO,GAAgC,IAAI,CAAC;QAC5C,WAAM,GAA2B,IAAI,CAAC;QACtC,oBAAe,GAAG,IAAI,CAAC;
|
1
|
+
{"version":3,"file":"HTMLScriptElement.js","sourceRoot":"","sources":["../../../src/nodes/html-script-element/HTMLScriptElement.ts"],"names":[],"mappings":"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"}
|
package/lib/window/Window.js
CHANGED
@@ -259,8 +259,11 @@ class Window extends EventTarget_1.default {
|
|
259
259
|
}
|
260
260
|
}
|
261
261
|
// Binds all methods to "this", so that it will use the correct context when called globally.
|
262
|
-
for (const key of Object.getOwnPropertyNames(
|
263
|
-
if (key !== 'constructor' &&
|
262
|
+
for (const key of Object.getOwnPropertyNames(Window.prototype).concat(Object.getOwnPropertyNames(EventTarget_1.default.prototype))) {
|
263
|
+
if (key !== 'constructor' &&
|
264
|
+
key[0] !== '_' &&
|
265
|
+
key[0] === key[0].toLowerCase() &&
|
266
|
+
typeof this[key] === 'function') {
|
264
267
|
this[key] = this[key].bind(this);
|
265
268
|
}
|
266
269
|
}
|
package/lib/window/Window.js.map
CHANGED
@@ -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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"}
|
@@ -36,17 +36,10 @@ export default class XMLParser {
|
|
36
36
|
* @returns Nodes.
|
37
37
|
*/
|
38
38
|
private static getTextAndCommentNodes;
|
39
|
-
/**
|
40
|
-
* Returns XMLNS attribute.
|
41
|
-
*
|
42
|
-
* @param attributesString Raw attributes.
|
43
|
-
*/
|
44
|
-
private static getXmlnsAttribute;
|
45
39
|
/**
|
46
40
|
* Sets raw attributes.
|
47
41
|
*
|
48
42
|
* @param element Element.
|
49
|
-
* @param namespaceURI Namespace URI.
|
50
43
|
* @param attributesString Raw attributes.
|
51
44
|
*/
|
52
45
|
private static setAttributes;
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
const
|
6
|
+
const VoidElements_1 = __importDefault(require("../config/VoidElements"));
|
7
7
|
const UnnestableElements_1 = __importDefault(require("../config/UnnestableElements"));
|
8
8
|
const ChildLessElements_1 = __importDefault(require("../config/ChildLessElements"));
|
9
9
|
const he_1 = require("he");
|
@@ -12,7 +12,6 @@ const MARKUP_REGEXP = /<(\/?)([a-z][-.0-9_a-z]*)\s*([^>]*?)(\/?)>/gi;
|
|
12
12
|
const COMMENT_REGEXP = /<!--(.*?)-->|<([!?])([^>]*)>/gi;
|
13
13
|
const DOCUMENT_TYPE_ATTRIBUTE_REGEXP = /"([^"]+)"/gm;
|
14
14
|
const ATTRIBUTE_REGEXP = /([^\s=]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|(\S+)))/gms;
|
15
|
-
const XMLNS_ATTRIBUTE_REGEXP = /xmlns[ ]*=[ ]*"([^"]+)"/;
|
16
15
|
/**
|
17
16
|
* XML parser.
|
18
17
|
*/
|
@@ -41,8 +40,8 @@ class XMLParser {
|
|
41
40
|
this.appendTextAndCommentNodes(document, parent, text);
|
42
41
|
}
|
43
42
|
if (isStartTag) {
|
44
|
-
const
|
45
|
-
const
|
43
|
+
const namespaceURI = tagName === 'svg' ? NamespaceURI_1.default.svg : parent.namespaceURI;
|
44
|
+
const newElement = document.createElementNS(namespaceURI, tagName);
|
46
45
|
// Scripts are not allowed to be executed when they are parsed using innerHTML, outerHTML, replaceWith() etc.
|
47
46
|
// However, they are allowed to be executed when document.write() is used.
|
48
47
|
// See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement
|
@@ -53,16 +52,8 @@ class XMLParser {
|
|
53
52
|
if (tagName === 'link') {
|
54
53
|
newElement._evaluateCSS = evaluateScripts;
|
55
54
|
}
|
56
|
-
|
57
|
-
|
58
|
-
if (tagName === 'svg' && parent.namespaceURI === NamespaceURI_1.default.html) {
|
59
|
-
newElement.namespaceURI = xmlnsAttribute || NamespaceURI_1.default.svg;
|
60
|
-
}
|
61
|
-
else {
|
62
|
-
newElement.namespaceURI = xmlnsAttribute || parent.namespaceURI;
|
63
|
-
}
|
64
|
-
this.setAttributes(newElement, newElement.namespaceURI, match[3]);
|
65
|
-
if (!SelfClosingElements_1.default.includes(tagName)) {
|
55
|
+
this.setAttributes(newElement, match[3]);
|
56
|
+
if (!match[4] && !VoidElements_1.default.includes(tagName)) {
|
66
57
|
// Some elements are not allowed to be nested (e.g. "<a><a></a></a>" is not allowed.).
|
67
58
|
// Therefore we will auto-close the tag.
|
68
59
|
if (parentUnnestableTagName === tagName) {
|
@@ -174,23 +165,13 @@ class XMLParser {
|
|
174
165
|
}
|
175
166
|
return nodes;
|
176
167
|
}
|
177
|
-
/**
|
178
|
-
* Returns XMLNS attribute.
|
179
|
-
*
|
180
|
-
* @param attributesString Raw attributes.
|
181
|
-
*/
|
182
|
-
static getXmlnsAttribute(attributesString) {
|
183
|
-
const match = attributesString.match(XMLNS_ATTRIBUTE_REGEXP);
|
184
|
-
return match ? match[1] : null;
|
185
|
-
}
|
186
168
|
/**
|
187
169
|
* Sets raw attributes.
|
188
170
|
*
|
189
171
|
* @param element Element.
|
190
|
-
* @param namespaceURI Namespace URI.
|
191
172
|
* @param attributesString Raw attributes.
|
192
173
|
*/
|
193
|
-
static setAttributes(element,
|
174
|
+
static setAttributes(element, attributesString) {
|
194
175
|
const attributes = attributesString.trim();
|
195
176
|
if (attributes) {
|
196
177
|
const regExp = new RegExp(ATTRIBUTE_REGEXP, 'gi');
|
@@ -198,13 +179,16 @@ class XMLParser {
|
|
198
179
|
// Attributes with value
|
199
180
|
while ((match = regExp.exec(attributes))) {
|
200
181
|
if (match[1]) {
|
201
|
-
|
182
|
+
const value = (0, he_1.decode)(match[2] || match[3] || match[4] || '');
|
183
|
+
const name = this._getAttributeName(element.namespaceURI, match[1]);
|
184
|
+
const namespaceURI = element.tagName === 'SVG' && name === 'xmlns' ? value : null;
|
185
|
+
element.setAttributeNS(namespaceURI, name, value);
|
202
186
|
}
|
203
187
|
}
|
204
188
|
// Attributes with no value
|
205
189
|
for (const name of attributes.replace(ATTRIBUTE_REGEXP, '').trim().split(' ')) {
|
206
190
|
if (name) {
|
207
|
-
element.setAttributeNS(null, this._getAttributeName(namespaceURI, name), '');
|
191
|
+
element.setAttributeNS(null, this._getAttributeName(element.namespaceURI, name), '');
|
208
192
|
}
|
209
193
|
}
|
210
194
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":";;;;;AAGA,
|
1
|
+
{"version":3,"file":"XMLParser.js","sourceRoot":"","sources":["../../src/xml-parser/XMLParser.ts"],"names":[],"mappings":"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"}
|
@@ -4,8 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
const Node_1 = __importDefault(require("../nodes/node/Node"));
|
7
|
-
const
|
8
|
-
const UnclosedElements_1 = __importDefault(require("../config/UnclosedElements"));
|
7
|
+
const VoidElements_1 = __importDefault(require("../config/VoidElements"));
|
9
8
|
const he_1 = require("he");
|
10
9
|
/**
|
11
10
|
* Utility for converting an element to string.
|
@@ -24,12 +23,9 @@ class XMLSerializer {
|
|
24
23
|
case Node_1.default.ELEMENT_NODE:
|
25
24
|
const element = root;
|
26
25
|
const tagName = element.tagName.toLowerCase();
|
27
|
-
if (
|
26
|
+
if (VoidElements_1.default.includes(tagName)) {
|
28
27
|
return `<${tagName}${this._getAttributes(element)}>`;
|
29
28
|
}
|
30
|
-
else if (SelfClosingElements_1.default.includes(tagName)) {
|
31
|
-
return `<${tagName}${this._getAttributes(element)}/>`;
|
32
|
-
}
|
33
29
|
let innerHTML = '';
|
34
30
|
for (const node of root.childNodes) {
|
35
31
|
innerHTML += this.serializeToString(node, options);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"XMLSerializer.js","sourceRoot":"","sources":["../../src/xml-serializer/XMLSerializer.ts"],"names":[],"mappings":";;;;;AACA,8DAAsC;AACtC,
|
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": "
|
3
|
+
"version": "4.0.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": "^27.1.3",
|
76
76
|
"typescript": "^4.6.2"
|
77
77
|
},
|
78
|
-
"gitHead": "
|
78
|
+
"gitHead": "d94aecf68f9f7b58b02cace84709776c6ee154c7"
|
79
79
|
}
|
@@ -1,5 +1,4 @@
|
|
1
1
|
export default [
|
2
|
-
// Standard Elements
|
3
2
|
'area',
|
4
3
|
'base',
|
5
4
|
'br',
|
@@ -14,15 +13,5 @@ export default [
|
|
14
13
|
'source',
|
15
14
|
'track',
|
16
15
|
'wbr',
|
17
|
-
|
18
|
-
// SVG Elements
|
19
|
-
'circle',
|
20
|
-
'ellipse',
|
21
|
-
'line',
|
22
|
-
'path',
|
23
|
-
'polygon',
|
24
|
-
'polyline',
|
25
|
-
'rect',
|
26
|
-
'stop',
|
27
|
-
'use'
|
16
|
+
'meta'
|
28
17
|
];
|
@@ -195,7 +195,14 @@ export default class HTMLScriptElement extends HTMLElement implements IHTMLScrip
|
|
195
195
|
ScriptUtility.loadExternalScript(this);
|
196
196
|
} else {
|
197
197
|
const textContent = this.textContent;
|
198
|
-
|
198
|
+
const type = this.getAttributeNS(null, 'type');
|
199
|
+
if (
|
200
|
+
textContent &&
|
201
|
+
(type === null ||
|
202
|
+
type === 'application/x-ecmascript' ||
|
203
|
+
type === 'application/x-javascript' ||
|
204
|
+
type.startsWith('text/javascript'))
|
205
|
+
) {
|
199
206
|
this.ownerDocument.defaultView.eval(textContent);
|
200
207
|
}
|
201
208
|
}
|
package/src/window/Window.ts
CHANGED
@@ -317,8 +317,15 @@ export default class Window extends EventTarget implements IWindow {
|
|
317
317
|
}
|
318
318
|
|
319
319
|
// Binds all methods to "this", so that it will use the correct context when called globally.
|
320
|
-
for (const key of Object.getOwnPropertyNames(
|
321
|
-
|
320
|
+
for (const key of Object.getOwnPropertyNames(Window.prototype).concat(
|
321
|
+
Object.getOwnPropertyNames(EventTarget.prototype)
|
322
|
+
)) {
|
323
|
+
if (
|
324
|
+
key !== 'constructor' &&
|
325
|
+
key[0] !== '_' &&
|
326
|
+
key[0] === key[0].toLowerCase() &&
|
327
|
+
typeof this[key] === 'function'
|
328
|
+
) {
|
322
329
|
this[key] = this[key].bind(this);
|
323
330
|
}
|
324
331
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import Node from '../nodes/node/Node';
|
2
2
|
import Element from '../nodes/element/Element';
|
3
3
|
import IDocument from '../nodes/document/IDocument';
|
4
|
-
import
|
4
|
+
import VoidElements from '../config/VoidElements';
|
5
5
|
import UnnestableElements from '../config/UnnestableElements';
|
6
6
|
import ChildLessElements from '../config/ChildLessElements';
|
7
7
|
import { decode } from 'he';
|
@@ -15,7 +15,6 @@ const MARKUP_REGEXP = /<(\/?)([a-z][-.0-9_a-z]*)\s*([^>]*?)(\/?)>/gi;
|
|
15
15
|
const COMMENT_REGEXP = /<!--(.*?)-->|<([!?])([^>]*)>/gi;
|
16
16
|
const DOCUMENT_TYPE_ATTRIBUTE_REGEXP = /"([^"]+)"/gm;
|
17
17
|
const ATTRIBUTE_REGEXP = /([^\s=]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|(\S+)))/gms;
|
18
|
-
const XMLNS_ATTRIBUTE_REGEXP = /xmlns[ ]*=[ ]*"([^"]+)"/;
|
19
18
|
|
20
19
|
/**
|
21
20
|
* XML parser.
|
@@ -48,8 +47,8 @@ export default class XMLParser {
|
|
48
47
|
}
|
49
48
|
|
50
49
|
if (isStartTag) {
|
51
|
-
const
|
52
|
-
const
|
50
|
+
const namespaceURI = tagName === 'svg' ? NamespaceURI.svg : parent.namespaceURI;
|
51
|
+
const newElement = document.createElementNS(namespaceURI, tagName);
|
53
52
|
|
54
53
|
// Scripts are not allowed to be executed when they are parsed using innerHTML, outerHTML, replaceWith() etc.
|
55
54
|
// However, they are allowed to be executed when document.write() is used.
|
@@ -63,17 +62,9 @@ export default class XMLParser {
|
|
63
62
|
(<HTMLLinkElement>newElement)._evaluateCSS = evaluateScripts;
|
64
63
|
}
|
65
64
|
|
66
|
-
|
67
|
-
// Even if "xmlns" is not set if the parent namespace is HTML.
|
68
|
-
if (tagName === 'svg' && parent.namespaceURI === NamespaceURI.html) {
|
69
|
-
(<string>newElement.namespaceURI) = xmlnsAttribute || NamespaceURI.svg;
|
70
|
-
} else {
|
71
|
-
(<string>newElement.namespaceURI) = xmlnsAttribute || parent.namespaceURI;
|
72
|
-
}
|
73
|
-
|
74
|
-
this.setAttributes(newElement, newElement.namespaceURI, match[3]);
|
65
|
+
this.setAttributes(newElement, match[3]);
|
75
66
|
|
76
|
-
if (!
|
67
|
+
if (!match[4] && !VoidElements.includes(tagName)) {
|
77
68
|
// Some elements are not allowed to be nested (e.g. "<a><a></a></a>" is not allowed.).
|
78
69
|
// Therefore we will auto-close the tag.
|
79
70
|
if (parentUnnestableTagName === tagName) {
|
@@ -203,28 +194,13 @@ export default class XMLParser {
|
|
203
194
|
return nodes;
|
204
195
|
}
|
205
196
|
|
206
|
-
/**
|
207
|
-
* Returns XMLNS attribute.
|
208
|
-
*
|
209
|
-
* @param attributesString Raw attributes.
|
210
|
-
*/
|
211
|
-
private static getXmlnsAttribute(attributesString: string): string {
|
212
|
-
const match = attributesString.match(XMLNS_ATTRIBUTE_REGEXP);
|
213
|
-
return match ? match[1] : null;
|
214
|
-
}
|
215
|
-
|
216
197
|
/**
|
217
198
|
* Sets raw attributes.
|
218
199
|
*
|
219
200
|
* @param element Element.
|
220
|
-
* @param namespaceURI Namespace URI.
|
221
201
|
* @param attributesString Raw attributes.
|
222
202
|
*/
|
223
|
-
private static setAttributes(
|
224
|
-
element: IElement,
|
225
|
-
namespaceURI: string,
|
226
|
-
attributesString: string
|
227
|
-
): void {
|
203
|
+
private static setAttributes(element: IElement, attributesString: string): void {
|
228
204
|
const attributes = attributesString.trim();
|
229
205
|
if (attributes) {
|
230
206
|
const regExp = new RegExp(ATTRIBUTE_REGEXP, 'gi');
|
@@ -233,18 +209,17 @@ export default class XMLParser {
|
|
233
209
|
// Attributes with value
|
234
210
|
while ((match = regExp.exec(attributes))) {
|
235
211
|
if (match[1]) {
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
);
|
212
|
+
const value = decode(match[2] || match[3] || match[4] || '');
|
213
|
+
const name = this._getAttributeName(element.namespaceURI, match[1]);
|
214
|
+
const namespaceURI = element.tagName === 'SVG' && name === 'xmlns' ? value : null;
|
215
|
+
element.setAttributeNS(namespaceURI, name, value);
|
241
216
|
}
|
242
217
|
}
|
243
218
|
|
244
219
|
// Attributes with no value
|
245
220
|
for (const name of attributes.replace(ATTRIBUTE_REGEXP, '').trim().split(' ')) {
|
246
221
|
if (name) {
|
247
|
-
element.setAttributeNS(null, this._getAttributeName(namespaceURI, name), '');
|
222
|
+
element.setAttributeNS(null, this._getAttributeName(element.namespaceURI, name), '');
|
248
223
|
}
|
249
224
|
}
|
250
225
|
}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import Element from '../nodes/element/Element';
|
2
2
|
import Node from '../nodes/node/Node';
|
3
|
-
import
|
4
|
-
import UnclosedElements from '../config/UnclosedElements';
|
3
|
+
import VoidElements from '../config/VoidElements';
|
5
4
|
import DocumentType from '../nodes/document-type/DocumentType';
|
6
5
|
import { escape } from 'he';
|
7
6
|
import INode from '../nodes/node/INode';
|
@@ -25,10 +24,8 @@ export default class XMLSerializer {
|
|
25
24
|
const element = <Element>root;
|
26
25
|
const tagName = element.tagName.toLowerCase();
|
27
26
|
|
28
|
-
if (
|
27
|
+
if (VoidElements.includes(tagName)) {
|
29
28
|
return `<${tagName}${this._getAttributes(element)}>`;
|
30
|
-
} else if (SelfClosingElements.includes(tagName)) {
|
31
|
-
return `<${tagName}${this._getAttributes(element)}/>`;
|
32
29
|
}
|
33
30
|
|
34
31
|
let innerHTML = '';
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"SelfClosingElements.js","sourceRoot":"","sources":["../../src/config/SelfClosingElements.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,oBAAoB;IACpB,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,OAAO;IACP,IAAI;IACJ,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,KAAK;IAEL,eAAe;IACf,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;IACN,SAAS;IACT,UAAU;IACV,MAAM;IACN,MAAM;IACN,KAAK;CACL,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"UnclosedElements.js","sourceRoot":"","sources":["../../src/config/UnclosedElements.ts"],"names":[],"mappings":";;AAAA,kBAAe,CAAC,MAAM,CAAC,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export default ['meta'];
|