happy-dom 5.3.4 → 6.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/.eslintrc.js +2 -2
- package/lib/base64/Base64.d.ts +23 -0
- package/lib/base64/Base64.js +89 -0
- package/lib/base64/Base64.js.map +1 -0
- package/lib/config/ElementTag.d.ts +2 -1
- package/lib/config/ElementTag.js +2 -1
- package/lib/config/ElementTag.js.map +1 -1
- package/lib/config/NonImplemenetedElementClasses.js +0 -1
- package/lib/config/NonImplemenetedElementClasses.js.map +1 -1
- package/lib/dom-implementation/DOMImplementation.d.ts +7 -1
- package/lib/dom-implementation/DOMImplementation.js +10 -2
- package/lib/dom-implementation/DOMImplementation.js.map +1 -1
- package/lib/dom-parser/DOMParser.d.ts +9 -4
- package/lib/dom-parser/DOMParser.js +13 -2
- package/lib/dom-parser/DOMParser.js.map +1 -1
- package/lib/exception/DOMExceptionNameEnum.d.ts +5 -1
- package/lib/exception/DOMExceptionNameEnum.js +4 -0
- package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
- package/lib/fetch/Request.d.ts +8 -0
- package/lib/fetch/Request.js +15 -6
- package/lib/fetch/Request.js.map +1 -1
- package/lib/fetch/Response.d.ts +5 -0
- package/lib/fetch/Response.js +12 -6
- package/lib/fetch/Response.js.map +1 -1
- package/lib/file/FileReader.d.ts +7 -2
- package/lib/file/FileReader.js +9 -3
- package/lib/file/FileReader.js.map +1 -1
- package/lib/index.d.ts +4 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/nodes/comment/Comment.d.ts +1 -1
- package/lib/nodes/document/Document.d.ts +18 -15
- package/lib/nodes/document/Document.js +36 -33
- package/lib/nodes/document/Document.js.map +1 -1
- package/lib/nodes/document/IDocument.d.ts +7 -0
- package/lib/nodes/document-fragment/DocumentFragment.d.ts +1 -1
- package/lib/nodes/document-type/DocumentType.d.ts +1 -1
- package/lib/nodes/element/DOMRectListFactory.d.ts +23 -0
- package/lib/nodes/element/DOMRectListFactory.js +33 -0
- package/lib/nodes/element/DOMRectListFactory.js.map +1 -0
- package/lib/nodes/element/Element.d.ts +6 -5
- package/lib/nodes/element/Element.js +9 -11
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/element/IDOMRectList.d.ts +11 -0
- package/lib/nodes/element/IDOMRectList.js +3 -0
- package/lib/nodes/element/IDOMRectList.js.map +1 -0
- package/lib/nodes/element/IElement.d.ts +5 -4
- package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts +31 -0
- package/lib/nodes/html-dialog-element/HTMLDialogElement.js +51 -0
- package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -0
- package/lib/nodes/html-dialog-element/IHTMLDialogElement.d.ts +25 -0
- package/lib/nodes/html-dialog-element/IHTMLDialogElement.js +3 -0
- package/lib/nodes/html-dialog-element/IHTMLDialogElement.js.map +1 -0
- package/lib/nodes/html-element/DatasetUtility.js +3 -1
- package/lib/nodes/html-element/DatasetUtility.js.map +1 -1
- package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts +1 -10
- package/lib/nodes/html-template-element/HTMLTemplateElement.js +2 -15
- package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
- package/lib/nodes/node/INode.d.ts +8 -6
- package/lib/nodes/node/Node.d.ts +20 -17
- package/lib/nodes/node/Node.js +19 -15
- package/lib/nodes/node/Node.js.map +1 -1
- package/lib/nodes/node/NodeTypeEnum.d.ts +10 -0
- package/lib/nodes/node/NodeTypeEnum.js +14 -0
- package/lib/nodes/node/NodeTypeEnum.js.map +1 -0
- package/lib/nodes/node/NodeUtility.d.ts +59 -0
- package/lib/nodes/node/NodeUtility.js +123 -0
- package/lib/nodes/node/NodeUtility.js.map +1 -0
- package/lib/nodes/text/IText.d.ts +9 -0
- package/lib/nodes/text/Text.d.ts +10 -1
- package/lib/nodes/text/Text.js +24 -0
- package/lib/nodes/text/Text.js.map +1 -1
- package/lib/range/IRangeBoundaryPoint.d.ts +8 -0
- package/lib/range/IRangeBoundaryPoint.js +3 -0
- package/lib/range/IRangeBoundaryPoint.js.map +1 -0
- package/lib/range/Range.d.ts +249 -0
- package/lib/range/Range.js +820 -0
- package/lib/range/Range.js.map +1 -0
- package/lib/range/RangeHowEnum.d.ts +7 -0
- package/lib/range/RangeHowEnum.js +11 -0
- package/lib/range/RangeHowEnum.js.map +1 -0
- package/lib/range/RangeUtility.d.ts +46 -0
- package/lib/range/RangeUtility.js +92 -0
- package/lib/range/RangeUtility.js.map +1 -0
- package/lib/selection/Selection.d.ts +167 -44
- package/lib/selection/Selection.js +369 -58
- package/lib/selection/Selection.js.map +1 -1
- package/lib/selection/SelectionDirectionEnum.d.ts +6 -0
- package/lib/selection/SelectionDirectionEnum.js +10 -0
- package/lib/selection/SelectionDirectionEnum.js.map +1 -0
- package/lib/window/IWindow.d.ts +22 -0
- package/lib/window/Window.d.ts +25 -9
- package/lib/window/Window.js +85 -35
- package/lib/window/Window.js.map +1 -1
- package/lib/xml-parser/XMLParser.d.ts +2 -2
- package/lib/xml-parser/XMLParser.js +5 -3
- package/lib/xml-parser/XMLParser.js.map +1 -1
- package/lib/xml-serializer/XMLSerializer.js +4 -1
- package/lib/xml-serializer/XMLSerializer.js.map +1 -1
- package/package.json +2 -2
- package/src/base64/Base64.ts +97 -0
- package/src/config/ElementTag.ts +2 -1
- package/src/config/NonImplemenetedElementClasses.ts +0 -1
- package/src/dom-implementation/DOMImplementation.ts +13 -2
- package/src/dom-parser/DOMParser.ts +20 -7
- package/src/exception/DOMExceptionNameEnum.ts +5 -1
- package/src/fetch/Request.ts +16 -6
- package/src/fetch/Response.ts +13 -6
- package/src/file/FileReader.ts +14 -4
- package/src/index.ts +7 -1
- package/src/nodes/document/Document.ts +47 -39
- package/src/nodes/document/IDocument.ts +8 -0
- package/src/nodes/element/DOMRectListFactory.ts +33 -0
- package/src/nodes/element/Element.ts +10 -11
- package/src/nodes/element/IDOMRectList.ts +11 -0
- package/src/nodes/element/IElement.ts +5 -4
- package/src/nodes/html-dialog-element/HTMLDialogElement.ts +47 -0
- package/src/nodes/html-dialog-element/IHTMLDialogElement.ts +29 -0
- package/src/nodes/html-element/DatasetUtility.ts +3 -1
- package/src/nodes/html-template-element/HTMLTemplateElement.ts +3 -21
- package/src/nodes/node/INode.ts +8 -6
- package/src/nodes/node/Node.ts +24 -19
- package/src/nodes/node/NodeTypeEnum.ts +11 -0
- package/src/nodes/node/NodeUtility.ts +139 -0
- package/src/nodes/text/IText.ts +10 -0
- package/src/nodes/text/Text.ts +33 -0
- package/src/range/IRangeBoundaryPoint.ts +9 -0
- package/src/range/Range.ts +1057 -0
- package/src/range/RangeHowEnum.ts +8 -0
- package/src/range/RangeUtility.ts +114 -0
- package/src/selection/Selection.ts +444 -60
- package/src/selection/SelectionDirectionEnum.ts +7 -0
- package/src/window/IWindow.ts +24 -0
- package/src/window/Window.ts +104 -32
- package/src/xml-parser/XMLParser.ts +15 -7
- package/src/xml-serializer/XMLSerializer.ts +6 -1
- package/lib/nodes/element/Range.d.ts +0 -167
- package/lib/nodes/element/Range.js +0 -215
- package/lib/nodes/element/Range.js.map +0 -1
- package/lib/window/WindowBase64.d.ts +0 -19
- package/lib/window/WindowBase64.js +0 -88
- package/lib/window/WindowBase64.js.map +0 -1
- package/src/nodes/element/Range.ts +0 -237
- package/src/window/WindowBase64.ts +0 -95
package/.eslintrc.js
CHANGED
@@ -34,12 +34,12 @@ const COMMON_CONFIG = {
|
|
34
34
|
'jsdoc/check-tag-names': WARN,
|
35
35
|
'jsdoc/check-types': WARN,
|
36
36
|
'jsdoc/implements-on-classes': WARN,
|
37
|
-
'jsdoc/match-description':
|
37
|
+
'jsdoc/match-description': OFF,
|
38
38
|
'jsdoc/newline-after-description': WARN,
|
39
39
|
'jsdoc/no-types': OFF,
|
40
40
|
'jsdoc/no-undefined-types': OFF,
|
41
41
|
'jsdoc/require-description': OFF,
|
42
|
-
'jsdoc/require-description-complete-sentence':
|
42
|
+
'jsdoc/require-description-complete-sentence': OFF,
|
43
43
|
'jsdoc/require-example': OFF,
|
44
44
|
'jsdoc/require-hyphen-before-param-description': [WARN, 'never'],
|
45
45
|
'jsdoc/require-param': WARN,
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
* Base64 encoding and decoding.
|
3
|
+
*/
|
4
|
+
export default class Base64 {
|
5
|
+
/**
|
6
|
+
* Creates a Base64-encoded ASCII string from a binary string (i.e., a string in which each character in the string is treated as a byte of binary data).
|
7
|
+
*
|
8
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/btoa
|
9
|
+
* @param data Binay data.
|
10
|
+
* @returns Base64-encoded string.
|
11
|
+
*/
|
12
|
+
static btoa(data: unknown): string;
|
13
|
+
/**
|
14
|
+
* Decodes a string of data which has been encoded using Base64 encoding.
|
15
|
+
*
|
16
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/atob
|
17
|
+
* @see https://infra.spec.whatwg.org/#forgiving-base64-encode.
|
18
|
+
* @see Https://html.spec.whatwg.org/multipage/webappapis.html#btoa.
|
19
|
+
* @param data Binay string.
|
20
|
+
* @returns An ASCII string containing decoded data from encodedData.
|
21
|
+
*/
|
22
|
+
static atob(data: unknown): string;
|
23
|
+
}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const DOMException_1 = __importDefault(require("../exception/DOMException"));
|
7
|
+
const DOMExceptionNameEnum_1 = __importDefault(require("../exception/DOMExceptionNameEnum"));
|
8
|
+
const BASE64_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
9
|
+
/**
|
10
|
+
* Base64 encoding and decoding.
|
11
|
+
*/
|
12
|
+
class Base64 {
|
13
|
+
/**
|
14
|
+
* Creates a Base64-encoded ASCII string from a binary string (i.e., a string in which each character in the string is treated as a byte of binary data).
|
15
|
+
*
|
16
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/btoa
|
17
|
+
* @param data Binay data.
|
18
|
+
* @returns Base64-encoded string.
|
19
|
+
*/
|
20
|
+
static btoa(data) {
|
21
|
+
const str = data.toString();
|
22
|
+
if (/[^\u0000-\u00ff]/.test(str)) {
|
23
|
+
throw new DOMException_1.default("Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.", DOMExceptionNameEnum_1.default.invalidCharacterError);
|
24
|
+
}
|
25
|
+
let t = '';
|
26
|
+
let p = -6;
|
27
|
+
let a = 0;
|
28
|
+
let i = 0;
|
29
|
+
let v = 0;
|
30
|
+
let c;
|
31
|
+
while (i < str.length || p > -6) {
|
32
|
+
if (p < 0) {
|
33
|
+
if (i < str.length) {
|
34
|
+
c = str.charCodeAt(i++);
|
35
|
+
v += 8;
|
36
|
+
}
|
37
|
+
else {
|
38
|
+
c = 0;
|
39
|
+
}
|
40
|
+
a = ((a & 255) << 8) | (c & 255);
|
41
|
+
p += 8;
|
42
|
+
}
|
43
|
+
t += BASE64_CHARS.charAt(v > 0 ? (a >> p) & 63 : 64);
|
44
|
+
p -= 6;
|
45
|
+
v -= 6;
|
46
|
+
}
|
47
|
+
return t;
|
48
|
+
}
|
49
|
+
/**
|
50
|
+
* Decodes a string of data which has been encoded using Base64 encoding.
|
51
|
+
*
|
52
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/atob
|
53
|
+
* @see https://infra.spec.whatwg.org/#forgiving-base64-encode.
|
54
|
+
* @see Https://html.spec.whatwg.org/multipage/webappapis.html#btoa.
|
55
|
+
* @param data Binay string.
|
56
|
+
* @returns An ASCII string containing decoded data from encodedData.
|
57
|
+
*/
|
58
|
+
static atob(data) {
|
59
|
+
const str = data.toString();
|
60
|
+
if (/[^\u0000-\u00ff]/.test(str)) {
|
61
|
+
throw new DOMException_1.default("Failed to execute 'atob' on 'Window': The string to be decoded contains characters outside of the Latin1 range.", DOMExceptionNameEnum_1.default.invalidCharacterError);
|
62
|
+
}
|
63
|
+
if (/[^A-Za-z\d+/=]/.test(str) || str.length % 4 == 1) {
|
64
|
+
throw new DOMException_1.default("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.", DOMExceptionNameEnum_1.default.invalidCharacterError);
|
65
|
+
}
|
66
|
+
let t = '';
|
67
|
+
let p = -8;
|
68
|
+
let a = 0;
|
69
|
+
let c;
|
70
|
+
let d;
|
71
|
+
for (let i = 0; i < str.length; i++) {
|
72
|
+
if ((c = BASE64_CHARS.indexOf(str.charAt(i))) < 0) {
|
73
|
+
continue;
|
74
|
+
}
|
75
|
+
a = (a << 6) | (c & 63);
|
76
|
+
if ((p += 6) >= 0) {
|
77
|
+
d = (a >> p) & 255;
|
78
|
+
if (c !== 64) {
|
79
|
+
t += String.fromCharCode(d);
|
80
|
+
}
|
81
|
+
a &= 63;
|
82
|
+
p -= 8;
|
83
|
+
}
|
84
|
+
}
|
85
|
+
return t;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
exports.default = Base64;
|
89
|
+
//# sourceMappingURL=Base64.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Base64.js","sourceRoot":"","sources":["../../src/base64/Base64.ts"],"names":[],"mappings":"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"}
|
@@ -16,6 +16,7 @@ import HTMLBaseElement from '../nodes/html-base-element/HTMLBaseElement';
|
|
16
16
|
import HTMLSelectElement from '../nodes/html-select-element/HTMLSelectElement';
|
17
17
|
import HTMLOptionElement from '../nodes/html-option-element/HTMLOptionElement';
|
18
18
|
import HTMLOptGroupElement from '../nodes/html-opt-group-element/HTMLOptGroupElement';
|
19
|
+
import HTMLDialogElement from '../nodes/html-dialog-element/HTMLDialogElement';
|
19
20
|
declare const _default: {
|
20
21
|
A: typeof HTMLElement;
|
21
22
|
ABBR: typeof HTMLElement;
|
@@ -66,7 +67,7 @@ declare const _default: {
|
|
66
67
|
DEL: typeof HTMLElement;
|
67
68
|
DETAILS: typeof HTMLElement;
|
68
69
|
DFN: typeof HTMLElement;
|
69
|
-
DIALOG: typeof
|
70
|
+
DIALOG: typeof HTMLDialogElement;
|
70
71
|
DIV: typeof HTMLElement;
|
71
72
|
DL: typeof HTMLElement;
|
72
73
|
DT: typeof HTMLElement;
|
package/lib/config/ElementTag.js
CHANGED
@@ -21,6 +21,7 @@ const HTMLBaseElement_1 = __importDefault(require("../nodes/html-base-element/HT
|
|
21
21
|
const HTMLSelectElement_1 = __importDefault(require("../nodes/html-select-element/HTMLSelectElement"));
|
22
22
|
const HTMLOptionElement_1 = __importDefault(require("../nodes/html-option-element/HTMLOptionElement"));
|
23
23
|
const HTMLOptGroupElement_1 = __importDefault(require("../nodes/html-opt-group-element/HTMLOptGroupElement"));
|
24
|
+
const HTMLDialogElement_1 = __importDefault(require("../nodes/html-dialog-element/HTMLDialogElement"));
|
24
25
|
exports.default = {
|
25
26
|
A: HTMLElement_1.default,
|
26
27
|
ABBR: HTMLElement_1.default,
|
@@ -71,7 +72,7 @@ exports.default = {
|
|
71
72
|
DEL: HTMLElement_1.default,
|
72
73
|
DETAILS: HTMLElement_1.default,
|
73
74
|
DFN: HTMLElement_1.default,
|
74
|
-
DIALOG:
|
75
|
+
DIALOG: HTMLDialogElement_1.default,
|
75
76
|
DIV: HTMLElement_1.default,
|
76
77
|
DL: HTMLElement_1.default,
|
77
78
|
DT: HTMLElement_1.default,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ElementTag.js","sourceRoot":"","sources":["../../src/config/ElementTag.ts"],"names":[],"mappings":";;;;;AAAA,oFAA4D;AAC5D,6GAAqF;AACrF,iGAAyE;AACzE,oGAA4E;AAC5E,8GAAsF;AACtF,uFAA+D;AAC/D,iFAAyD;AACzD,uGAA+E;AAC/E,oGAA4E;AAC5E,iGAAyE;AACzE,oGAA4E;AAC5E,oGAA4E;AAC5E,iGAAyE;AACzE,iGAAyE;AACzE,iGAAyE;AACzE,uGAA+E;AAC/E,uGAA+E;AAC/E,8GAAsF;
|
1
|
+
{"version":3,"file":"ElementTag.js","sourceRoot":"","sources":["../../src/config/ElementTag.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NonImplemenetedElementClasses.js","sourceRoot":"","sources":["../../src/config/NonImplemenetedElementClasses.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,sBAAsB;IACtB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,mBAAmB;IACnB,mBAAmB;IACnB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB;IACpB,
|
1
|
+
{"version":3,"file":"NonImplemenetedElementClasses.js","sourceRoot":"","sources":["../../src/config/NonImplemenetedElementClasses.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,sBAAsB;IACtB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IACjB,eAAe;IACf,mBAAmB;IACnB,mBAAmB;IACnB,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;IACtB,qBAAqB;IACrB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,oBAAoB;IACpB,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,yBAAyB;IACzB,sBAAsB;IACtB,qBAAqB;IACrB,kBAAkB;IAClB,iBAAiB;IACjB,qBAAqB;IACrB,yBAAyB;IACzB,kBAAkB;IAClB,qBAAqB;IACrB,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;CAClB,CAAC"}
|
@@ -4,7 +4,13 @@ import IDocument from '../nodes/document/IDocument';
|
|
4
4
|
* The DOMImplementation interface represents an object providing methods which are not dependent on any particular document. Such an object is returned by the.
|
5
5
|
*/
|
6
6
|
export default class DOMImplementation {
|
7
|
-
_ownerDocument: IDocument;
|
7
|
+
protected _ownerDocument: IDocument;
|
8
|
+
/**
|
9
|
+
* Constructor.
|
10
|
+
*
|
11
|
+
* @param ownerDocument
|
12
|
+
*/
|
13
|
+
constructor(ownerDocument: IDocument);
|
8
14
|
/**
|
9
15
|
* Creates and returns an XML Document.
|
10
16
|
*
|
@@ -8,8 +8,14 @@ const DocumentType_1 = __importDefault(require("../nodes/document-type/DocumentT
|
|
8
8
|
* The DOMImplementation interface represents an object providing methods which are not dependent on any particular document. Such an object is returned by the.
|
9
9
|
*/
|
10
10
|
class DOMImplementation {
|
11
|
-
|
11
|
+
/**
|
12
|
+
* Constructor.
|
13
|
+
*
|
14
|
+
* @param ownerDocument
|
15
|
+
*/
|
16
|
+
constructor(ownerDocument) {
|
12
17
|
this._ownerDocument = null;
|
18
|
+
this._ownerDocument = ownerDocument;
|
13
19
|
}
|
14
20
|
/**
|
15
21
|
* Creates and returns an XML Document.
|
@@ -19,6 +25,8 @@ class DOMImplementation {
|
|
19
25
|
createDocument() {
|
20
26
|
const documentClass = this._ownerDocument.constructor;
|
21
27
|
// @ts-ignore
|
28
|
+
documentClass._defaultView = this._ownerDocument.defaultView;
|
29
|
+
// @ts-ignore
|
22
30
|
return new documentClass();
|
23
31
|
}
|
24
32
|
/**
|
@@ -35,7 +43,7 @@ class DOMImplementation {
|
|
35
43
|
* @param systemId System ID.
|
36
44
|
*/
|
37
45
|
createDocumentType(qualifiedName, publicId, systemId) {
|
38
|
-
DocumentType_1.default.
|
46
|
+
DocumentType_1.default._ownerDocument = this._ownerDocument;
|
39
47
|
const documentType = new DocumentType_1.default();
|
40
48
|
documentType.name = qualifiedName;
|
41
49
|
documentType.publicId = publicId;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DOMImplementation.js","sourceRoot":"","sources":["../../src/dom-implementation/DOMImplementation.ts"],"names":[],"mappings":";;;;;AAAA,uFAA+D;AAG/D;;GAEG;AACH,MAAqB,iBAAiB;
|
1
|
+
{"version":3,"file":"DOMImplementation.js","sourceRoot":"","sources":["../../src/dom-implementation/DOMImplementation.ts"],"names":[],"mappings":";;;;;AAAA,uFAA+D;AAG/D;;GAEG;AACH,MAAqB,iBAAiB;IAGrC;;;;OAIG;IACH,YAAY,aAAwB;QAP1B,mBAAc,GAAc,IAAI,CAAC;QAQ1C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,cAAc;QACpB,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACtD,aAAa;QACb,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QAC7D,aAAa;QACb,OAAO,IAAI,aAAa,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,kBAAkB;QACxB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACI,kBAAkB,CACxB,aAAqB,EACrB,QAAgB,EAChB,QAAgB;QAEhB,sBAAY,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,sBAAY,EAAE,CAAC;QACxC,YAAY,CAAC,IAAI,GAAG,aAAa,CAAC;QAClC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACjC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACjC,OAAO,YAAY,CAAC;IACrB,CAAC;CACD;AAnDD,oCAmDC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import IDocument from '../nodes/document/IDocument';
|
2
2
|
/**
|
3
3
|
* DOM parser.
|
4
4
|
*
|
@@ -6,7 +6,12 @@ import Document from '../nodes/document/Document';
|
|
6
6
|
* https://developer.mozilla.org/en-US/docs/Web/API/DOMParser.
|
7
7
|
*/
|
8
8
|
export default class DOMParser {
|
9
|
-
static _ownerDocument:
|
9
|
+
static _ownerDocument: IDocument;
|
10
|
+
readonly _ownerDocument: IDocument;
|
11
|
+
/**
|
12
|
+
* Constructor.
|
13
|
+
*/
|
14
|
+
constructor();
|
10
15
|
/**
|
11
16
|
* Parses HTML and returns a root element.
|
12
17
|
*
|
@@ -14,11 +19,11 @@ export default class DOMParser {
|
|
14
19
|
* @param mimeType Mime type.
|
15
20
|
* @returns Root element.
|
16
21
|
*/
|
17
|
-
parseFromString(string: string, mimeType: string):
|
22
|
+
parseFromString(string: string, mimeType: string): IDocument;
|
18
23
|
/**
|
19
24
|
*
|
20
25
|
* @param mimeType Mime type.
|
21
|
-
* @returns
|
26
|
+
* @returns IDocument.
|
22
27
|
*/
|
23
28
|
private _createDocument;
|
24
29
|
}
|
@@ -16,6 +16,13 @@ const SVGDocument_1 = __importDefault(require("../nodes/svg-document/SVGDocument
|
|
16
16
|
* https://developer.mozilla.org/en-US/docs/Web/API/DOMParser.
|
17
17
|
*/
|
18
18
|
class DOMParser {
|
19
|
+
/**
|
20
|
+
* Constructor.
|
21
|
+
*/
|
22
|
+
constructor() {
|
23
|
+
this._ownerDocument = null;
|
24
|
+
this._ownerDocument = this.constructor._ownerDocument;
|
25
|
+
}
|
19
26
|
/**
|
20
27
|
* Parses HTML and returns a root element.
|
21
28
|
*
|
@@ -27,7 +34,7 @@ class DOMParser {
|
|
27
34
|
if (!mimeType) {
|
28
35
|
throw new DOMException_1.default('Second parameter "mimeType" is mandatory.');
|
29
36
|
}
|
30
|
-
const ownerDocument = this.
|
37
|
+
const ownerDocument = this._ownerDocument;
|
31
38
|
const newDocument = this._createDocument(mimeType);
|
32
39
|
newDocument.defaultView = ownerDocument.defaultView;
|
33
40
|
newDocument.childNodes.length = 0;
|
@@ -74,17 +81,20 @@ class DOMParser {
|
|
74
81
|
/**
|
75
82
|
*
|
76
83
|
* @param mimeType Mime type.
|
77
|
-
* @returns
|
84
|
+
* @returns IDocument.
|
78
85
|
*/
|
79
86
|
_createDocument(mimeType) {
|
80
87
|
switch (mimeType) {
|
81
88
|
case 'text/html':
|
89
|
+
HTMLDocument_1.default._defaultView = this._ownerDocument.defaultView;
|
82
90
|
return new HTMLDocument_1.default();
|
83
91
|
case 'image/svg+xml':
|
92
|
+
SVGDocument_1.default._defaultView = this._ownerDocument.defaultView;
|
84
93
|
return new SVGDocument_1.default();
|
85
94
|
case 'text/xml':
|
86
95
|
case 'application/xml':
|
87
96
|
case 'application/xhtml+xml':
|
97
|
+
XMLDocument_1.default._defaultView = this._ownerDocument.defaultView;
|
88
98
|
return new XMLDocument_1.default();
|
89
99
|
default:
|
90
100
|
throw new DOMException_1.default(`Unknown mime type "${mimeType}".`);
|
@@ -92,5 +102,6 @@ class DOMParser {
|
|
92
102
|
}
|
93
103
|
}
|
94
104
|
exports.default = DOMParser;
|
105
|
+
// Owner document is set by a sub-class in the Window constructor
|
95
106
|
DOMParser._ownerDocument = null;
|
96
107
|
//# sourceMappingURL=DOMParser.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DOMParser.js","sourceRoot":"","sources":["../../src/dom-parser/DOMParser.ts"],"names":[],"mappings":";;;;;AACA,wEAAgD;AAChD,8DAAsC;AACtC,6EAAqD;AACrD,uFAA+D;AAC/D,oFAA4D;AAC5D,oFAA4D;
|
1
|
+
{"version":3,"file":"DOMParser.js","sourceRoot":"","sources":["../../src/dom-parser/DOMParser.ts"],"names":[],"mappings":"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"}
|
@@ -3,6 +3,10 @@ declare enum DOMExceptionNameEnum {
|
|
3
3
|
indexSizeError = "IndexSizeError",
|
4
4
|
syntaxError = "SyntaxError",
|
5
5
|
hierarchyRequestError = "HierarchyRequestError",
|
6
|
-
|
6
|
+
notSupportedError = "NotSupportedError",
|
7
|
+
wrongDocumentError = "WrongDocumentError",
|
8
|
+
invalidNodeTypeError = "InvalidNodeTypeError",
|
9
|
+
invalidCharacterError = "InvalidCharacterError",
|
10
|
+
notFoundError = "NotFoundError"
|
7
11
|
}
|
8
12
|
export default DOMExceptionNameEnum;
|
@@ -6,7 +6,11 @@ var DOMExceptionNameEnum;
|
|
6
6
|
DOMExceptionNameEnum["indexSizeError"] = "IndexSizeError";
|
7
7
|
DOMExceptionNameEnum["syntaxError"] = "SyntaxError";
|
8
8
|
DOMExceptionNameEnum["hierarchyRequestError"] = "HierarchyRequestError";
|
9
|
+
DOMExceptionNameEnum["notSupportedError"] = "NotSupportedError";
|
10
|
+
DOMExceptionNameEnum["wrongDocumentError"] = "WrongDocumentError";
|
11
|
+
DOMExceptionNameEnum["invalidNodeTypeError"] = "InvalidNodeTypeError";
|
9
12
|
DOMExceptionNameEnum["invalidCharacterError"] = "InvalidCharacterError";
|
13
|
+
DOMExceptionNameEnum["notFoundError"] = "NotFoundError";
|
10
14
|
})(DOMExceptionNameEnum || (DOMExceptionNameEnum = {}));
|
11
15
|
exports.default = DOMExceptionNameEnum;
|
12
16
|
//# sourceMappingURL=DOMExceptionNameEnum.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DOMExceptionNameEnum.js","sourceRoot":"","sources":["../../src/exception/DOMExceptionNameEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,
|
1
|
+
{"version":3,"file":"DOMExceptionNameEnum.js","sourceRoot":"","sources":["../../src/exception/DOMExceptionNameEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,oBAUJ;AAVD,WAAK,oBAAoB;IACxB,+DAAuC,CAAA;IACvC,yDAAiC,CAAA;IACjC,mDAA2B,CAAA;IAC3B,uEAA+C,CAAA;IAC/C,+DAAuC,CAAA;IACvC,iEAAyC,CAAA;IACzC,qEAA6C,CAAA;IAC7C,uEAA+C,CAAA;IAC/C,uDAA+B,CAAA;AAChC,CAAC,EAVI,oBAAoB,KAApB,oBAAoB,QAUxB;AACD,kBAAe,oBAAoB,CAAC"}
|
package/lib/fetch/Request.d.ts
CHANGED
@@ -8,6 +8,14 @@ import IDocument from '../nodes/document/IDocument';
|
|
8
8
|
*/
|
9
9
|
export default class Request extends NodeFetch.Request implements IRequest {
|
10
10
|
static _ownerDocument: IDocument;
|
11
|
+
readonly _ownerDocument: IDocument;
|
12
|
+
/**
|
13
|
+
* Constructor.
|
14
|
+
*
|
15
|
+
* @param input Input.
|
16
|
+
* @param [init] Init.
|
17
|
+
*/
|
18
|
+
constructor(input: NodeFetch.RequestInfo, init?: NodeFetch.RequestInit);
|
11
19
|
/**
|
12
20
|
* Returns array buffer.
|
13
21
|
*
|
package/lib/fetch/Request.js
CHANGED
@@ -28,6 +28,17 @@ const NodeFetch = __importStar(require("node-fetch"));
|
|
28
28
|
* Fetch request.
|
29
29
|
*/
|
30
30
|
class Request extends NodeFetch.Request {
|
31
|
+
/**
|
32
|
+
* Constructor.
|
33
|
+
*
|
34
|
+
* @param input Input.
|
35
|
+
* @param [init] Init.
|
36
|
+
*/
|
37
|
+
constructor(input, init) {
|
38
|
+
super(input, init);
|
39
|
+
this._ownerDocument = null;
|
40
|
+
this._ownerDocument = this.constructor._ownerDocument;
|
41
|
+
}
|
31
42
|
/**
|
32
43
|
* Returns array buffer.
|
33
44
|
*
|
@@ -118,8 +129,7 @@ class Request extends NodeFetch.Request {
|
|
118
129
|
* @returns Task ID.
|
119
130
|
*/
|
120
131
|
_handlePromiseStart() {
|
121
|
-
const taskManager = this.
|
122
|
-
.asyncTaskManager;
|
132
|
+
const taskManager = this._ownerDocument.defaultView.happyDOM.asyncTaskManager;
|
123
133
|
return taskManager.startTask();
|
124
134
|
}
|
125
135
|
/**
|
@@ -131,8 +141,7 @@ class Request extends NodeFetch.Request {
|
|
131
141
|
* @param response Response.
|
132
142
|
*/
|
133
143
|
_handlePromiseEnd(resolve, reject, taskID, response) {
|
134
|
-
const taskManager = this.
|
135
|
-
.asyncTaskManager;
|
144
|
+
const taskManager = this._ownerDocument.defaultView.happyDOM.asyncTaskManager;
|
136
145
|
if (taskManager.getTaskCount() === 0) {
|
137
146
|
reject(new Error('Failed to complete fetch request. Task was canceled.'));
|
138
147
|
}
|
@@ -148,12 +157,12 @@ class Request extends NodeFetch.Request {
|
|
148
157
|
* @param reject
|
149
158
|
*/
|
150
159
|
_handlePromiseError(reject, error) {
|
151
|
-
const taskManager = this.
|
152
|
-
.asyncTaskManager;
|
160
|
+
const taskManager = this._ownerDocument.defaultView.happyDOM.asyncTaskManager;
|
153
161
|
reject(error);
|
154
162
|
taskManager.cancelAll(error);
|
155
163
|
}
|
156
164
|
}
|
157
165
|
exports.default = Request;
|
166
|
+
// Owner document is set by a sub-class in the Window constructor
|
158
167
|
Request._ownerDocument = null;
|
159
168
|
//# sourceMappingURL=Request.js.map
|
package/lib/fetch/Request.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../src/fetch/Request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwC;AAKxC;;GAEG;AACH,MAAqB,OAAQ,SAAQ,SAAS,CAAC,OAAO;
|
1
|
+
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../src/fetch/Request.ts"],"names":[],"mappings":"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"}
|
package/lib/fetch/Response.d.ts
CHANGED
@@ -8,6 +8,11 @@ import * as NodeFetch from 'node-fetch';
|
|
8
8
|
*/
|
9
9
|
export default class Response extends NodeFetch.Response implements IResponse {
|
10
10
|
static _ownerDocument: IDocument;
|
11
|
+
readonly _ownerDocument: IDocument;
|
12
|
+
/**
|
13
|
+
* Constructor.
|
14
|
+
*/
|
15
|
+
constructor();
|
11
16
|
/**
|
12
17
|
* Returns array buffer.
|
13
18
|
*
|
package/lib/fetch/Response.js
CHANGED
@@ -28,6 +28,14 @@ const NodeFetch = __importStar(require("node-fetch"));
|
|
28
28
|
* Fetch response.
|
29
29
|
*/
|
30
30
|
class Response extends NodeFetch.Response {
|
31
|
+
/**
|
32
|
+
* Constructor.
|
33
|
+
*/
|
34
|
+
constructor() {
|
35
|
+
super();
|
36
|
+
this._ownerDocument = null;
|
37
|
+
this._ownerDocument = this.constructor._ownerDocument;
|
38
|
+
}
|
31
39
|
/**
|
32
40
|
* Returns array buffer.
|
33
41
|
*
|
@@ -118,8 +126,7 @@ class Response extends NodeFetch.Response {
|
|
118
126
|
* @returns Task ID.
|
119
127
|
*/
|
120
128
|
_handlePromiseStart() {
|
121
|
-
const taskManager = this.
|
122
|
-
.asyncTaskManager;
|
129
|
+
const taskManager = this._ownerDocument.defaultView.happyDOM.asyncTaskManager;
|
123
130
|
return taskManager.startTask();
|
124
131
|
}
|
125
132
|
/**
|
@@ -131,8 +138,7 @@ class Response extends NodeFetch.Response {
|
|
131
138
|
* @param response Response.
|
132
139
|
*/
|
133
140
|
_handlePromiseEnd(resolve, reject, taskID, response) {
|
134
|
-
const taskManager = this.
|
135
|
-
.asyncTaskManager;
|
141
|
+
const taskManager = this._ownerDocument.defaultView.happyDOM.asyncTaskManager;
|
136
142
|
if (taskManager.getTaskCount() === 0) {
|
137
143
|
reject(new Error('Failed to complete fetch request. Task was canceled.'));
|
138
144
|
}
|
@@ -148,12 +154,12 @@ class Response extends NodeFetch.Response {
|
|
148
154
|
* @param reject
|
149
155
|
*/
|
150
156
|
_handlePromiseError(reject, error) {
|
151
|
-
const taskManager = this.
|
152
|
-
.asyncTaskManager;
|
157
|
+
const taskManager = this._ownerDocument.defaultView.happyDOM.asyncTaskManager;
|
153
158
|
reject(error);
|
154
159
|
taskManager.cancelAll(error);
|
155
160
|
}
|
156
161
|
}
|
157
162
|
exports.default = Response;
|
163
|
+
// Owner document is set by a sub-class in the Window constructor
|
158
164
|
Response._ownerDocument = null;
|
159
165
|
//# sourceMappingURL=Response.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Response.js","sourceRoot":"","sources":["../../src/fetch/Response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,sDAAwC;AAExC;;GAEG;AACH,MAAqB,QAAS,SAAQ,SAAS,CAAC,QAAQ;
|
1
|
+
{"version":3,"file":"Response.js","sourceRoot":"","sources":["../../src/fetch/Response.ts"],"names":[],"mappings":"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"}
|
package/lib/file/FileReader.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/// <reference types="node" />
|
2
|
-
import
|
2
|
+
import IDocument from '../nodes/document/IDocument';
|
3
3
|
import ProgressEvent from '../event/events/ProgressEvent';
|
4
4
|
import Blob from './Blob';
|
5
5
|
import EventTarget from '../event/EventTarget';
|
@@ -11,7 +11,7 @@ import EventTarget from '../event/EventTarget';
|
|
11
11
|
* https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/file-api/FileReader-impl.js (MIT licensed).
|
12
12
|
*/
|
13
13
|
export default class FileReader extends EventTarget {
|
14
|
-
static _ownerDocument:
|
14
|
+
static _ownerDocument: IDocument;
|
15
15
|
readonly error: Error;
|
16
16
|
readonly result: Buffer | ArrayBuffer | string;
|
17
17
|
readonly readyState: number;
|
@@ -21,9 +21,14 @@ export default class FileReader extends EventTarget {
|
|
21
21
|
readonly onloadstart: (event: ProgressEvent) => void;
|
22
22
|
readonly onloadend: (event: ProgressEvent) => void;
|
23
23
|
readonly onprogress: (event: ProgressEvent) => void;
|
24
|
+
readonly _ownerDocument: IDocument;
|
24
25
|
private _isTerminated;
|
25
26
|
private _loadTimeout;
|
26
27
|
private _parseTimeout;
|
28
|
+
/**
|
29
|
+
* Constructor.
|
30
|
+
*/
|
31
|
+
constructor();
|
27
32
|
/**
|
28
33
|
* Reads as ArrayBuffer.
|
29
34
|
*
|
package/lib/file/FileReader.js
CHANGED
@@ -20,8 +20,11 @@ const FileReaderEventTypeEnum_1 = __importDefault(require("./FileReaderEventType
|
|
20
20
|
* https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/file-api/FileReader-impl.js (MIT licensed).
|
21
21
|
*/
|
22
22
|
class FileReader extends EventTarget_1.default {
|
23
|
+
/**
|
24
|
+
* Constructor.
|
25
|
+
*/
|
23
26
|
constructor() {
|
24
|
-
super(
|
27
|
+
super();
|
25
28
|
this.error = null;
|
26
29
|
this.result = null;
|
27
30
|
this.readyState = FileReaderReadyStateEnum_1.default.empty;
|
@@ -31,9 +34,11 @@ class FileReader extends EventTarget_1.default {
|
|
31
34
|
this.onloadstart = null;
|
32
35
|
this.onloadend = null;
|
33
36
|
this.onprogress = null;
|
37
|
+
this._ownerDocument = null;
|
34
38
|
this._isTerminated = false;
|
35
39
|
this._loadTimeout = null;
|
36
40
|
this._parseTimeout = null;
|
41
|
+
this._ownerDocument = this.constructor._ownerDocument;
|
37
42
|
}
|
38
43
|
/**
|
39
44
|
* Reads as ArrayBuffer.
|
@@ -72,7 +77,7 @@ class FileReader extends EventTarget_1.default {
|
|
72
77
|
* Aborts the file reader.
|
73
78
|
*/
|
74
79
|
abort() {
|
75
|
-
const window = this.
|
80
|
+
const window = this._ownerDocument.defaultView;
|
76
81
|
window.clearTimeout(this._loadTimeout);
|
77
82
|
window.clearTimeout(this._parseTimeout);
|
78
83
|
if (this.readyState === FileReaderReadyStateEnum_1.default.empty ||
|
@@ -96,7 +101,7 @@ class FileReader extends EventTarget_1.default {
|
|
96
101
|
* @param [encoding] Encoding.
|
97
102
|
*/
|
98
103
|
_readFile(blob, format, encoding = null) {
|
99
|
-
const window = this.
|
104
|
+
const window = this._ownerDocument.defaultView;
|
100
105
|
if (this.readyState === FileReaderReadyStateEnum_1.default.loading) {
|
101
106
|
throw new DOMException_1.default('The object is in an invalid state.', DOMExceptionNameEnum_1.default.invalidStateError);
|
102
107
|
}
|
@@ -150,5 +155,6 @@ class FileReader extends EventTarget_1.default {
|
|
150
155
|
}
|
151
156
|
}
|
152
157
|
exports.default = FileReader;
|
158
|
+
// Owner document is set by a sub-class in the Window constructor
|
153
159
|
FileReader._ownerDocument = null;
|
154
160
|
//# sourceMappingURL=FileReader.js.map
|