happy-dom 5.4.0 → 6.0.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 (135) hide show
  1. package/.eslintrc.js +2 -2
  2. package/lib/base64/Base64.d.ts +23 -0
  3. package/lib/base64/Base64.js +89 -0
  4. package/lib/base64/Base64.js.map +1 -0
  5. package/lib/config/NonImplemenetedElementClasses.js +0 -1
  6. package/lib/config/NonImplemenetedElementClasses.js.map +1 -1
  7. package/lib/dom-implementation/DOMImplementation.d.ts +7 -1
  8. package/lib/dom-implementation/DOMImplementation.js +10 -2
  9. package/lib/dom-implementation/DOMImplementation.js.map +1 -1
  10. package/lib/dom-parser/DOMParser.d.ts +9 -4
  11. package/lib/dom-parser/DOMParser.js +13 -2
  12. package/lib/dom-parser/DOMParser.js.map +1 -1
  13. package/lib/exception/DOMExceptionNameEnum.d.ts +5 -1
  14. package/lib/exception/DOMExceptionNameEnum.js +4 -0
  15. package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
  16. package/lib/fetch/Request.d.ts +8 -0
  17. package/lib/fetch/Request.js +15 -6
  18. package/lib/fetch/Request.js.map +1 -1
  19. package/lib/fetch/Response.d.ts +5 -0
  20. package/lib/fetch/Response.js +12 -6
  21. package/lib/fetch/Response.js.map +1 -1
  22. package/lib/file/FileReader.d.ts +7 -2
  23. package/lib/file/FileReader.js +9 -3
  24. package/lib/file/FileReader.js.map +1 -1
  25. package/lib/index.d.ts +2 -1
  26. package/lib/index.js +3 -1
  27. package/lib/index.js.map +1 -1
  28. package/lib/nodes/comment/Comment.d.ts +1 -1
  29. package/lib/nodes/document/Document.d.ts +18 -15
  30. package/lib/nodes/document/Document.js +36 -33
  31. package/lib/nodes/document/Document.js.map +1 -1
  32. package/lib/nodes/document/IDocument.d.ts +7 -0
  33. package/lib/nodes/document-fragment/DocumentFragment.d.ts +1 -1
  34. package/lib/nodes/document-type/DocumentType.d.ts +1 -1
  35. package/lib/nodes/element/DOMRectListFactory.d.ts +23 -0
  36. package/lib/nodes/element/DOMRectListFactory.js +33 -0
  37. package/lib/nodes/element/DOMRectListFactory.js.map +1 -0
  38. package/lib/nodes/element/Element.d.ts +6 -5
  39. package/lib/nodes/element/Element.js +9 -11
  40. package/lib/nodes/element/Element.js.map +1 -1
  41. package/lib/nodes/element/IDOMRectList.d.ts +11 -0
  42. package/lib/nodes/element/IDOMRectList.js +3 -0
  43. package/lib/nodes/element/IDOMRectList.js.map +1 -0
  44. package/lib/nodes/element/IElement.d.ts +5 -4
  45. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts +1 -6
  46. package/lib/nodes/html-dialog-element/HTMLDialogElement.js +7 -3
  47. package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
  48. package/lib/nodes/html-dialog-element/IHTMLDialogElement.d.ts +11 -0
  49. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts +1 -10
  50. package/lib/nodes/html-template-element/HTMLTemplateElement.js +2 -15
  51. package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
  52. package/lib/nodes/node/INode.d.ts +8 -6
  53. package/lib/nodes/node/Node.d.ts +20 -17
  54. package/lib/nodes/node/Node.js +19 -15
  55. package/lib/nodes/node/Node.js.map +1 -1
  56. package/lib/nodes/node/NodeTypeEnum.d.ts +10 -0
  57. package/lib/nodes/node/NodeTypeEnum.js +14 -0
  58. package/lib/nodes/node/NodeTypeEnum.js.map +1 -0
  59. package/lib/nodes/node/NodeUtility.d.ts +59 -0
  60. package/lib/nodes/node/NodeUtility.js +123 -0
  61. package/lib/nodes/node/NodeUtility.js.map +1 -0
  62. package/lib/nodes/text/IText.d.ts +9 -0
  63. package/lib/nodes/text/Text.d.ts +10 -1
  64. package/lib/nodes/text/Text.js +24 -0
  65. package/lib/nodes/text/Text.js.map +1 -1
  66. package/lib/range/IRangeBoundaryPoint.d.ts +8 -0
  67. package/lib/range/IRangeBoundaryPoint.js +3 -0
  68. package/lib/range/IRangeBoundaryPoint.js.map +1 -0
  69. package/lib/range/Range.d.ts +249 -0
  70. package/lib/range/Range.js +820 -0
  71. package/lib/range/Range.js.map +1 -0
  72. package/lib/range/RangeHowEnum.d.ts +7 -0
  73. package/lib/range/RangeHowEnum.js +11 -0
  74. package/lib/range/RangeHowEnum.js.map +1 -0
  75. package/lib/range/RangeUtility.d.ts +46 -0
  76. package/lib/range/RangeUtility.js +92 -0
  77. package/lib/range/RangeUtility.js.map +1 -0
  78. package/lib/selection/Selection.d.ts +167 -44
  79. package/lib/selection/Selection.js +369 -58
  80. package/lib/selection/Selection.js.map +1 -1
  81. package/lib/selection/SelectionDirectionEnum.d.ts +6 -0
  82. package/lib/selection/SelectionDirectionEnum.js +10 -0
  83. package/lib/selection/SelectionDirectionEnum.js.map +1 -0
  84. package/lib/window/IWindow.d.ts +20 -0
  85. package/lib/window/Window.d.ts +23 -9
  86. package/lib/window/Window.js +83 -35
  87. package/lib/window/Window.js.map +1 -1
  88. package/lib/xml-parser/XMLParser.d.ts +2 -2
  89. package/lib/xml-parser/XMLParser.js +5 -3
  90. package/lib/xml-parser/XMLParser.js.map +1 -1
  91. package/lib/xml-serializer/XMLSerializer.js +4 -1
  92. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  93. package/package.json +2 -2
  94. package/src/base64/Base64.ts +97 -0
  95. package/src/config/NonImplemenetedElementClasses.ts +0 -1
  96. package/src/dom-implementation/DOMImplementation.ts +13 -2
  97. package/src/dom-parser/DOMParser.ts +20 -7
  98. package/src/exception/DOMExceptionNameEnum.ts +5 -1
  99. package/src/fetch/Request.ts +16 -6
  100. package/src/fetch/Response.ts +13 -6
  101. package/src/file/FileReader.ts +14 -4
  102. package/src/index.ts +2 -0
  103. package/src/nodes/document/Document.ts +47 -39
  104. package/src/nodes/document/IDocument.ts +8 -0
  105. package/src/nodes/element/DOMRectListFactory.ts +33 -0
  106. package/src/nodes/element/Element.ts +10 -11
  107. package/src/nodes/element/IDOMRectList.ts +11 -0
  108. package/src/nodes/element/IElement.ts +5 -4
  109. package/src/nodes/html-dialog-element/HTMLDialogElement.ts +4 -9
  110. package/src/nodes/html-dialog-element/IHTMLDialogElement.ts +14 -0
  111. package/src/nodes/html-template-element/HTMLTemplateElement.ts +3 -21
  112. package/src/nodes/node/INode.ts +8 -6
  113. package/src/nodes/node/Node.ts +24 -19
  114. package/src/nodes/node/NodeTypeEnum.ts +11 -0
  115. package/src/nodes/node/NodeUtility.ts +139 -0
  116. package/src/nodes/text/IText.ts +10 -0
  117. package/src/nodes/text/Text.ts +33 -0
  118. package/src/range/IRangeBoundaryPoint.ts +9 -0
  119. package/src/range/Range.ts +1057 -0
  120. package/src/range/RangeHowEnum.ts +8 -0
  121. package/src/range/RangeUtility.ts +114 -0
  122. package/src/selection/Selection.ts +444 -60
  123. package/src/selection/SelectionDirectionEnum.ts +7 -0
  124. package/src/window/IWindow.ts +22 -0
  125. package/src/window/Window.ts +102 -32
  126. package/src/xml-parser/XMLParser.ts +15 -7
  127. package/src/xml-serializer/XMLSerializer.ts +6 -1
  128. package/lib/nodes/element/Range.d.ts +0 -167
  129. package/lib/nodes/element/Range.js +0 -215
  130. package/lib/nodes/element/Range.js.map +0 -1
  131. package/lib/window/WindowBase64.d.ts +0 -19
  132. package/lib/window/WindowBase64.js +0 -88
  133. package/lib/window/WindowBase64.js.map +0 -1
  134. package/src/nodes/element/Range.ts +0 -237
  135. 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': WARN,
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': WARN,
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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"}
@@ -23,7 +23,6 @@ exports.default = [
23
23
  'HTMLDataElement',
24
24
  'HTMLDataListElement',
25
25
  'HTMLDetailsElement',
26
- 'HTMLDialogElement',
27
26
  'HTMLDirectoryElement',
28
27
  'HTMLFieldSetElement',
29
28
  'HTMLFontElement',
@@ -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,mBAAmB;IACnB,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"}
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
- constructor() {
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.ownerDocument = this._ownerDocument;
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;IAAtC;QACQ,mBAAc,GAAc,IAAI,CAAC;IAuCzC,CAAC;IArCA;;;;OAIG;IACI,cAAc;QACpB,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACtD,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,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,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;AAxCD,oCAwCC"}
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 Document from '../nodes/document/Document';
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: Document;
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): Document;
22
+ parseFromString(string: string, mimeType: string): IDocument;
18
23
  /**
19
24
  *
20
25
  * @param mimeType Mime type.
21
- * @returns Document.
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.constructor._ownerDocument;
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 Document.
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":"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"}
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;AAG5D;;;;;GAKG;AACH,MAAqB,SAAS;IAK7B;;OAEG;IACH;QALgB,mBAAc,GAAc,IAAI,CAAC;QAMhD,IAAI,CAAC,cAAc,GAAsB,IAAI,CAAC,WAAY,CAAC,cAAc,CAAC;IAC3E,CAAC;IAED;;;;;;OAMG;IACI,eAAe,CAAC,MAAc,EAAE,QAAgB;QACtD,IAAI,CAAC,QAAQ,EAAE;YACd,MAAM,IAAI,sBAAY,CAAC,2CAA2C,CAAC,CAAC;SACpE;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEzC,WAAW,CAAC,WAAY,GAAG,aAAa,CAAC,WAAW,CAAC;QAC/D,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhC,MAAM,IAAI,GAAG,mBAAS,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,eAAe,GAAG,IAAI,CAAC;QAC3B,IAAI,gBAAgB,GAAG,IAAI,CAAC;QAE5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YACnC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE;gBAC/B,eAAe,GAAG,IAAI,CAAC;aACvB;iBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAI,CAAC,kBAAkB,EAAE;gBACrD,gBAAgB,GAAG,IAAI,CAAC;aACxB;YAED,IAAI,eAAe,IAAI,gBAAgB,EAAE;gBACxC,MAAM;aACN;SACD;QAED,IAAI,eAAe,EAAE;YACpB,IAAI,gBAAgB,EAAE;gBACrB,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;aAC1C;YACD,WAAW,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,IAAI,EAAE;gBACT,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;oBAC5C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;iBACxB;aACD;SACD;aAAM;YACN,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAEtD,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACzC,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACzC,WAAW,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAEzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;gBAC3C,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC9B;SACD;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,QAAgB;QACvC,QAAQ,QAAQ,EAAE;YACjB,KAAK,WAAW;gBACf,sBAAY,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;gBAC5D,OAAO,IAAI,sBAAY,EAAE,CAAC;YAC3B,KAAK,eAAe;gBACnB,qBAAW,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;gBAC3D,OAAO,IAAI,qBAAW,EAAE,CAAC;YAC1B,KAAK,UAAU,CAAC;YAChB,KAAK,iBAAiB,CAAC;YACvB,KAAK,uBAAuB;gBAC3B,qBAAW,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;gBAC3D,OAAO,IAAI,qBAAW,EAAE,CAAC;YAC1B;gBACC,MAAM,IAAI,sBAAY,CAAC,sBAAsB,QAAQ,IAAI,CAAC,CAAC;SAC5D;IACF,CAAC;;AAhGF,4BAiGC;AAhGA,iEAAiE;AACnD,wBAAc,GAAc,IAAI,CAAC"}
@@ -3,6 +3,10 @@ declare enum DOMExceptionNameEnum {
3
3
  indexSizeError = "IndexSizeError",
4
4
  syntaxError = "SyntaxError",
5
5
  hierarchyRequestError = "HierarchyRequestError",
6
- invalidCharacterError = "InvalidCharacterError"
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,oBAMJ;AAND,WAAK,oBAAoB;IACxB,+DAAuC,CAAA;IACvC,yDAAiC,CAAA;IACjC,mDAA2B,CAAA;IAC3B,uEAA+C,CAAA;IAC/C,uEAA+C,CAAA;AAChD,CAAC,EANI,oBAAoB,KAApB,oBAAoB,QAMxB;AACD,kBAAe,oBAAoB,CAAC"}
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"}
@@ -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
  *
@@ -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.constructor._ownerDocument.defaultView.happyDOM
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.constructor._ownerDocument.defaultView.happyDOM
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.constructor._ownerDocument.defaultView.happyDOM
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
@@ -1 +1 @@
1
- {"version":3,"file":"Request.js","sourceRoot":"","sources":["../../src/fetch/Request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Request.js","sourceRoot":"","sources":["../../src/fetch/Request.ts"],"names":[],"mappings":"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"}
@@ -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
  *
@@ -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.constructor._ownerDocument.defaultView.happyDOM
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.constructor._ownerDocument.defaultView.happyDOM
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.constructor._ownerDocument.defaultView.happyDOM
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":"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"}
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;IAKvD;;OAEG;IACH;QACC,KAAK,EAAE,CAAC;QANO,mBAAc,GAAc,IAAI,CAAC;QAOhD,IAAI,CAAC,cAAc,GAAqB,IAAI,CAAC,WAAY,CAAC,cAAc,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACI,WAAW;QACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,KAAK;iBACH,WAAW,EAAE;iBACb,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,IAAI;QACV,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,KAAK;iBACH,IAAI,EAAE;iBACN,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,MAAM;QACZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,KAAK;iBACH,MAAM,EAAE;iBACR,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,IAAI;QACV,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,KAAK;iBACH,IAAI,EAAE;iBACN,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,IAAI;QACV,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,KAAK;iBACH,IAAI,EAAE;iBACN,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,aAAa;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,KAAK;iBACH,aAAa,EAAE;iBACf,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,mBAAmB;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC9E,OAAO,WAAW,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACK,iBAAiB,CACxB,OAAoC,EACpC,MAA8B,EAC9B,MAAc,EACd,QAAiB;QAEjB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC9E,IAAI,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE;YACrC,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;SAC1E;aAAM;YACN,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC5B;IACF,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,MAA8B,EAAE,KAAY;QACvE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,CAAC;QACd,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;;AAlJF,2BAmJC;AAlJA,iEAAiE;AACnD,uBAAc,GAAc,IAAI,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import Document from '../nodes/document/Document';
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: Document;
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
  *
@@ -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(...arguments);
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.constructor._ownerDocument.defaultView;
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.constructor._ownerDocument.defaultView;
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
@@ -1 +1 @@
1
- {"version":3,"file":"FileReader.js","sourceRoot":"","sources":["../../src/file/FileReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileReader.js","sourceRoot":"","sources":["../../src/file/FileReader.ts"],"names":[],"mappings":";;;;;AAAA,sEAA6C;AAC7C,sEAA6C;AAE7C,kFAA0D;AAC1D,6EAAqD;AACrD,6FAAqE;AAErE,0FAAkE;AAClE,kFAA0D;AAC1D,uEAA+C;AAC/C,wFAAgE;AAEhE;;;;;;GAMG;AACH,MAAqB,UAAW,SAAQ,qBAAW;IAiBlD;;OAEG;IACH;QACC,KAAK,EAAE,CAAC;QAlBO,UAAK,GAAU,IAAI,CAAC;QACpB,WAAM,GAAkC,IAAI,CAAC;QAC7C,eAAU,GAAW,kCAAwB,CAAC,KAAK,CAAC;QACpD,YAAO,GAAmC,IAAI,CAAC;QAC/C,YAAO,GAAmC,IAAI,CAAC;QAC/C,WAAM,GAAmC,IAAI,CAAC;QAC9C,gBAAW,GAAmC,IAAI,CAAC;QACnD,cAAS,GAAmC,IAAI,CAAC;QACjD,eAAU,GAAmC,IAAI,CAAC;QAClD,mBAAc,GAAc,IAAI,CAAC;QACzC,kBAAa,GAAG,KAAK,CAAC;QACtB,iBAAY,GAAmB,IAAI,CAAC;QACpC,kBAAa,GAAmB,IAAI,CAAC;QAO5C,IAAI,CAAC,cAAc,GAAuB,IAAI,CAAC,WAAY,CAAC,cAAc,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACI,iBAAiB,CAAC,IAAU;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,8BAAoB,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACI,kBAAkB,CAAC,IAAU;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,8BAAoB,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,IAAU;QAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,8BAAoB,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,IAAU,EAAE,WAAmB,IAAI;QACpD,IAAI,CAAC,SAAS,CACb,IAAI,EACJ,8BAAoB,CAAC,IAAI,EACzB,yBAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,OAAO,CAC/C,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QAE/C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAExC,IACC,IAAI,CAAC,UAAU,KAAK,kCAAwB,CAAC,KAAK;YAClD,IAAI,CAAC,UAAU,KAAK,kCAAwB,CAAC,IAAI,EAChD;YAC+B,IAAI,CAAC,MAAO,GAAG,IAAI,CAAC;YACpD,OAAO;SACP;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,kCAAwB,CAAC,OAAO,EAAE;YAChD,IAAI,CAAC,UAAW,GAAG,kCAAwB,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,MAAO,GAAG,IAAI,CAAC;SACpD;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,uBAAa,CAAC,iCAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,CAAC,IAAI,uBAAa,CAAC,iCAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;OAMG;IACK,SAAS,CAAC,IAAU,EAAE,MAA4B,EAAE,WAAmB,IAAI;QAClF,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QAE/C,IAAI,IAAI,CAAC,UAAU,KAAK,kCAAwB,CAAC,OAAO,EAAE;YACzD,MAAM,IAAI,sBAAY,CACrB,oCAAoC,EACpC,8BAAoB,CAAC,iBAAiB,CACtC,CAAC;SACF;QAEQ,IAAI,CAAC,UAAW,GAAG,kCAAwB,CAAC,OAAO,CAAC;QAE7D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1C,IAAI,IAAI,CAAC,aAAa,EAAE;gBACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,OAAO;aACP;YAED,IAAI,CAAC,aAAa,CAAC,IAAI,uBAAa,CAAC,iCAAuB,CAAC,SAAS,CAAC,CAAC,CAAC;YAEzE,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,CAAC,IAAI,EAAE;gBACV,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACvB;YAED,IAAI,CAAC,aAAa,CACjB,IAAI,uBAAa,CAAC,iCAAuB,CAAC,SAAS,EAAE;gBACpD,gBAAgB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnC,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,MAAM,EAAE,IAAI,CAAC,MAAM;aACnB,CAAC,CACF,CAAC;YAEF,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC3C,IAAI,IAAI,CAAC,aAAa,EAAE;oBACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,OAAO;iBACP;gBAED,QAAQ,MAAM,EAAE;oBACf,QAAQ;oBACR,KAAK,8BAAoB,CAAC,MAAM,CAAC,CAAC;wBACD,IAAI,CAAC,MAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;wBAC3E,MAAM;qBACN;oBACD,KAAK,8BAAoB,CAAC,YAAY,CAAC,CAAC;wBACP,IAAI,CAAC,MAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;wBACvE,MAAM;qBACN;oBACD,KAAK,8BAAoB,CAAC,OAAO,CAAC,CAAC;wBAClC,+EAA+E;wBAC/E,MAAM,WAAW,GAAG,yBAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC;wBAClD,CAC/B,IAAI,CAAC,MAAM,CACV,GAAG,QAAQ,WAAW,WAAW,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7D,MAAM;qBACN;oBACD,KAAK,8BAAoB,CAAC,IAAI,CAAC,CAAC;wBACC,IAAI,CAAC,MAAO,GAAG,yBAAc,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBACrF,MAAM;qBACN;iBACD;gBACQ,IAAI,CAAC,UAAW,GAAG,kCAAwB,CAAC,IAAI,CAAC;gBAC1D,IAAI,CAAC,aAAa,CAAC,IAAI,uBAAa,CAAC,iCAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpE,IAAI,CAAC,aAAa,CAAC,IAAI,uBAAa,CAAC,iCAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;;AAvKF,6BAwKC;AAvKA,iEAAiE;AACnD,yBAAc,GAAc,IAAI,CAAC"}
package/lib/index.d.ts CHANGED
@@ -104,6 +104,7 @@ import Storage from './storage/Storage';
104
104
  import DOMRect from './nodes/element/DOMRect';
105
105
  import { URLSearchParams } from 'url';
106
106
  import Selection from './selection/Selection';
107
+ import Range from './range/Range';
107
108
  import HTMLDialogElement from './nodes/html-dialog-element/HTMLDialogElement';
108
109
  import IHTMLDialogElement from './nodes/html-dialog-element/IHTMLDialogElement';
109
- export { GlobalWindow, Window, IWindow, DataTransfer, DataTransferItem, DataTransferItemList, URL, Location, MutationObserver, ResizeObserver, Blob, File, FileReader, DOMException, History, CSSStyleDeclaration, Screen, AsyncTaskManager, NodeFilter, Event, EventTarget, IEventInit, IEventListener, IUIEventInit, UIEvent, ErrorEvent, FocusEvent, AnimationEvent, IAnimationEventInit, ICustomEventInit, CustomEvent, IErrorEventInit, IFocusEventInit, IInputEventInit, IKeyboardEventInit, IMouseEventInit, IProgressEventInit, IWheelEventInit, InputEvent, KeyboardEvent, MouseEvent, ProgressEvent, WheelEvent, DOMParser, Document, IDocument, HTMLDocument, XMLDocument, SVGDocument, Element, IElement, IHTMLCollection, HTMLElement, IHTMLElement, HTMLTemplateElement, IHTMLTemplateElement, HTMLFormElement, IHTMLFormElement, HTMLInputElement, IHTMLInputElement, HTMLTextAreaElement, IHTMLTextAreaElement, HTMLImageElement, IHTMLImageElement, Image, HTMLScriptElement, HTMLLinkElement, IHTMLLinkElement, HTMLStyleElement, IHTMLStyleElement, HTMLSlotElement, IHTMLSlotElement, HTMLLabelElement, IHTMLLabelElement, HTMLMetaElement, IHTMLMetaElement, HTMLBaseElement, IHTMLBaseElement, SVGElement, ISVGElement, SVGGraphicsElement, ISVGGraphicsElement, SVGSVGElement, ISVGSVGElement, DocumentFragment, IDocumentFragment, ShadowRoot, IShadowRoot, Node, INode, INodeList, Text, IText, Comment, IComment, DocumentType, IDocumentType, TreeWalker, CustomElementRegistry, XMLParser, XMLSerializer, CSSStyleSheet, Storage, DOMRect, URLSearchParams, Selection, HTMLDialogElement, IHTMLDialogElement };
110
+ export { GlobalWindow, Window, IWindow, DataTransfer, DataTransferItem, DataTransferItemList, URL, Location, MutationObserver, ResizeObserver, Blob, File, FileReader, DOMException, History, CSSStyleDeclaration, Screen, AsyncTaskManager, NodeFilter, Event, EventTarget, IEventInit, IEventListener, IUIEventInit, UIEvent, ErrorEvent, FocusEvent, AnimationEvent, IAnimationEventInit, ICustomEventInit, CustomEvent, IErrorEventInit, IFocusEventInit, IInputEventInit, IKeyboardEventInit, IMouseEventInit, IProgressEventInit, IWheelEventInit, InputEvent, KeyboardEvent, MouseEvent, ProgressEvent, WheelEvent, DOMParser, Document, IDocument, HTMLDocument, XMLDocument, SVGDocument, Element, IElement, IHTMLCollection, HTMLElement, IHTMLElement, HTMLTemplateElement, IHTMLTemplateElement, HTMLFormElement, IHTMLFormElement, HTMLInputElement, IHTMLInputElement, HTMLTextAreaElement, IHTMLTextAreaElement, HTMLImageElement, IHTMLImageElement, Image, HTMLScriptElement, HTMLLinkElement, IHTMLLinkElement, HTMLStyleElement, IHTMLStyleElement, HTMLSlotElement, IHTMLSlotElement, HTMLLabelElement, IHTMLLabelElement, HTMLMetaElement, IHTMLMetaElement, HTMLBaseElement, IHTMLBaseElement, SVGElement, ISVGElement, SVGGraphicsElement, ISVGGraphicsElement, SVGSVGElement, ISVGSVGElement, DocumentFragment, IDocumentFragment, ShadowRoot, IShadowRoot, Node, INode, INodeList, Text, IText, Comment, IComment, DocumentType, IDocumentType, TreeWalker, CustomElementRegistry, XMLParser, XMLSerializer, CSSStyleSheet, Storage, DOMRect, URLSearchParams, Selection, Range, HTMLDialogElement, IHTMLDialogElement };