happy-dom 2.50.0 → 2.51.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 (104) hide show
  1. package/lib/async-task-manager/AsyncTaskManager.d.ts +65 -0
  2. package/lib/{window → async-task-manager}/AsyncTaskManager.js +52 -55
  3. package/lib/async-task-manager/AsyncTaskManager.js.map +1 -0
  4. package/lib/fetch/FetchHandler.d.ts +17 -0
  5. package/lib/fetch/FetchHandler.js +59 -0
  6. package/lib/fetch/FetchHandler.js.map +1 -0
  7. package/lib/fetch/Headers.d.ts +7 -0
  8. package/lib/fetch/Headers.js +53 -0
  9. package/lib/fetch/Headers.js.map +1 -0
  10. package/lib/fetch/IAbortSignal.d.ts +16 -0
  11. package/lib/fetch/IAbortSignal.js +4 -0
  12. package/lib/fetch/IAbortSignal.js.map +1 -0
  13. package/lib/fetch/IBody.d.ts +17 -0
  14. package/lib/{window/IFetchOptions.js → fetch/IBody.js} +1 -1
  15. package/lib/fetch/IBody.js.map +1 -0
  16. package/lib/fetch/IHeaders.d.ts +18 -0
  17. package/lib/fetch/IHeaders.js +3 -0
  18. package/lib/fetch/IHeaders.js.map +1 -0
  19. package/lib/fetch/IHeadersInit.d.ts +5 -0
  20. package/lib/fetch/IHeadersInit.js +3 -0
  21. package/lib/fetch/IHeadersInit.js.map +1 -0
  22. package/lib/fetch/IRequest.d.ts +18 -0
  23. package/lib/fetch/IRequest.js +3 -0
  24. package/lib/fetch/IRequest.js.map +1 -0
  25. package/lib/fetch/IRequestInit.d.ts +15 -0
  26. package/lib/fetch/IRequestInit.js +3 -0
  27. package/lib/fetch/IRequestInit.js.map +1 -0
  28. package/lib/fetch/IResponse.d.ts +20 -0
  29. package/lib/{window → fetch}/IResponse.js +0 -0
  30. package/lib/{window → fetch}/IResponse.js.map +1 -1
  31. package/lib/fetch/IResponseInit.d.ts +9 -0
  32. package/lib/fetch/IResponseInit.js +3 -0
  33. package/lib/fetch/IResponseInit.js.map +1 -0
  34. package/lib/fetch/Request.d.ts +69 -0
  35. package/lib/fetch/Request.js +179 -0
  36. package/lib/fetch/Request.js.map +1 -0
  37. package/lib/fetch/ResourceFetchHandler.d.ts +22 -0
  38. package/lib/fetch/{ResourceFetcher.js → ResourceFetchHandler.js} +19 -26
  39. package/lib/fetch/ResourceFetchHandler.js.map +1 -0
  40. package/lib/fetch/Response.d.ts +69 -0
  41. package/lib/fetch/Response.js +179 -0
  42. package/lib/fetch/Response.js.map +1 -0
  43. package/lib/file/Blob.d.ts +8 -1
  44. package/lib/file/Blob.js +48 -0
  45. package/lib/file/Blob.js.map +1 -1
  46. package/lib/file/IBlob.d.ts +10 -0
  47. package/lib/file/IBlob.js +3 -0
  48. package/lib/file/IBlob.js.map +1 -0
  49. package/lib/form-data/IFormData.d.ts +30 -0
  50. package/lib/form-data/IFormData.js +3 -0
  51. package/lib/form-data/IFormData.js.map +1 -0
  52. package/lib/index.d.ts +3 -5
  53. package/lib/index.js +3 -3
  54. package/lib/index.js.map +1 -1
  55. package/lib/nodes/html-link-element/HTMLLinkElement.js +3 -3
  56. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  57. package/lib/nodes/html-script-element/ScriptUtility.js +3 -9
  58. package/lib/nodes/html-script-element/ScriptUtility.js.map +1 -1
  59. package/lib/window/IWindow.d.ts +20 -16
  60. package/lib/window/Window.d.ts +45 -10
  61. package/lib/window/Window.js +72 -66
  62. package/lib/window/Window.js.map +1 -1
  63. package/package.json +3 -2
  64. package/src/async-task-manager/AsyncTaskManager.ts +128 -0
  65. package/src/fetch/FetchHandler.ts +54 -0
  66. package/src/fetch/Headers.ts +7 -0
  67. package/src/fetch/IAbortSignal.ts +34 -0
  68. package/src/fetch/IBody.ts +18 -0
  69. package/src/fetch/IHeaders.ts +18 -0
  70. package/src/fetch/IHeadersInit.ts +5 -0
  71. package/src/fetch/IRequest.ts +59 -0
  72. package/src/fetch/IRequestInit.ts +41 -0
  73. package/src/fetch/IResponse.ts +22 -0
  74. package/src/fetch/IResponseInit.ts +10 -0
  75. package/src/fetch/Request.ts +149 -0
  76. package/src/fetch/ResourceFetchHandler.ts +47 -0
  77. package/src/fetch/Response.ts +149 -0
  78. package/src/file/Blob.ts +12 -1
  79. package/src/file/IBlob.ts +10 -0
  80. package/src/form-data/IFormData.ts +33 -0
  81. package/src/index.ts +2 -6
  82. package/src/nodes/html-link-element/HTMLLinkElement.ts +3 -3
  83. package/src/nodes/html-script-element/ScriptUtility.ts +3 -9
  84. package/src/window/IWindow.ts +14 -16
  85. package/src/window/Window.ts +68 -67
  86. package/lib/fetch/ResourceFetcher.d.ts +0 -30
  87. package/lib/fetch/ResourceFetcher.js.map +0 -1
  88. package/lib/url-search-params/URLSearchParams.d.ts +0 -87
  89. package/lib/url-search-params/URLSearchParams.js +0 -196
  90. package/lib/url-search-params/URLSearchParams.js.map +0 -1
  91. package/lib/window/AsyncTaskManager.d.ts +0 -54
  92. package/lib/window/AsyncTaskManager.js.map +0 -1
  93. package/lib/window/AsyncTaskTypeEnum.d.ts +0 -5
  94. package/lib/window/AsyncTaskTypeEnum.js +0 -9
  95. package/lib/window/AsyncTaskTypeEnum.js.map +0 -1
  96. package/lib/window/IFetchOptions.d.ts +0 -13
  97. package/lib/window/IFetchOptions.js.map +0 -1
  98. package/lib/window/IResponse.d.ts +0 -32
  99. package/src/fetch/ResourceFetcher.ts +0 -55
  100. package/src/url-search-params/URLSearchParams.ts +0 -198
  101. package/src/window/AsyncTaskManager.ts +0 -127
  102. package/src/window/AsyncTaskTypeEnum.ts +0 -5
  103. package/src/window/IFetchOptions.ts +0 -11
  104. package/src/window/IResponse.ts +0 -34
@@ -0,0 +1,30 @@
1
+ /// <reference types="node" />
2
+ import Stream from 'stream';
3
+ import HTTP from 'http';
4
+ interface IHeaders {
5
+ [key: string]: unknown;
6
+ }
7
+ interface IAppendOptions {
8
+ header?: string | IHeaders;
9
+ knownLength?: number;
10
+ filename?: string;
11
+ filepath?: string;
12
+ contentType?: string;
13
+ }
14
+ interface ISubmitOptions extends HTTP.RequestOptions {
15
+ protocol?: 'https:' | 'http:';
16
+ }
17
+ export default interface IFormData extends Stream.Readable {
18
+ append(key: string, value: unknown, options?: IAppendOptions | string): void;
19
+ getHeaders(userHeaders?: IHeaders): {
20
+ [key: string]: IHeaders;
21
+ };
22
+ submit(params: string | ISubmitOptions, callback?: (error: Error | null, response: HTTP.IncomingMessage) => void): HTTP.ClientRequest;
23
+ getBuffer(): Buffer;
24
+ setBoundary(boundary: string): void;
25
+ getBoundary(): string;
26
+ getLength(callback: (err: Error | null, length: number) => void): void;
27
+ getLengthSync(): number;
28
+ hasKnownLength(): boolean;
29
+ }
30
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IFormData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IFormData.js","sourceRoot":"","sources":["../../src/form-data/IFormData.ts"],"names":[],"mappings":""}
package/lib/index.d.ts CHANGED
@@ -14,9 +14,7 @@ import DOMException from './exception/DOMException';
14
14
  import History from './history/History';
15
15
  import CSSStyleDeclaration from './css/CSSStyleDeclaration';
16
16
  import Screen from './screen/Screen';
17
- import AsyncTaskManager from './window/AsyncTaskManager';
18
- import IResponse from './window/IResponse';
19
- import IFetchOptions from './window/IFetchOptions';
17
+ import AsyncTaskManager from './async-task-manager/AsyncTaskManager';
20
18
  import NodeFilter from './tree-walker/NodeFilter';
21
19
  import Event from './event/Event';
22
20
  import EventTarget from './event/EventTarget';
@@ -101,6 +99,6 @@ import XMLParser from './xml-parser/XMLParser';
101
99
  import XMLSerializer from './xml-serializer/XMLSerializer';
102
100
  import CSSStyleSheet from './css/CSSStyleSheet';
103
101
  import Storage from './storage/Storage';
104
- import URLSearchParams from './url-search-params/URLSearchParams';
102
+ import { URLSearchParams } from 'url';
105
103
  import Selection from './selection/Selection';
106
- export { AsyncWindow, Window, IWindow, DataTransfer, DataTransferItem, DataTransferItemList, URL, Location, MutationObserver, ResizeObserver, Blob, File, FileReader, DOMException, History, CSSStyleDeclaration, Screen, AsyncTaskManager, IResponse, IFetchOptions, 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, 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, URLSearchParams, Selection };
104
+ export { AsyncWindow, 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, 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, URLSearchParams, Selection };
package/lib/index.js CHANGED
@@ -35,7 +35,7 @@ var CSSStyleDeclaration_1 = __importDefault(require("./css/CSSStyleDeclaration")
35
35
  exports.CSSStyleDeclaration = CSSStyleDeclaration_1.default;
36
36
  var Screen_1 = __importDefault(require("./screen/Screen"));
37
37
  exports.Screen = Screen_1.default;
38
- var AsyncTaskManager_1 = __importDefault(require("./window/AsyncTaskManager"));
38
+ var AsyncTaskManager_1 = __importDefault(require("./async-task-manager/AsyncTaskManager"));
39
39
  exports.AsyncTaskManager = AsyncTaskManager_1.default;
40
40
  var NodeFilter_1 = __importDefault(require("./tree-walker/NodeFilter"));
41
41
  exports.NodeFilter = NodeFilter_1.default;
@@ -133,8 +133,8 @@ var CSSStyleSheet_1 = __importDefault(require("./css/CSSStyleSheet"));
133
133
  exports.CSSStyleSheet = CSSStyleSheet_1.default;
134
134
  var Storage_1 = __importDefault(require("./storage/Storage"));
135
135
  exports.Storage = Storage_1.default;
136
- var URLSearchParams_1 = __importDefault(require("./url-search-params/URLSearchParams"));
137
- exports.URLSearchParams = URLSearchParams_1.default;
136
+ var url_1 = require("url");
137
+ Object.defineProperty(exports, "URLSearchParams", { enumerable: true, get: function () { return url_1.URLSearchParams; } });
138
138
  var Selection_1 = __importDefault(require("./selection/Selection"));
139
139
  exports.Selection = Selection_1.default;
140
140
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  var CSSStyleSheet_1 = __importDefault(require("../../css/CSSStyleSheet"));
22
- var ResourceFetcher_1 = __importDefault(require("../../fetch/ResourceFetcher"));
22
+ var ResourceFetchHandler_1 = __importDefault(require("../../fetch/ResourceFetchHandler"));
23
23
  var HTMLElement_1 = __importDefault(require("../html-element/HTMLElement"));
24
24
  var Event_1 = __importDefault(require("../../event/Event"));
25
25
  var ErrorEvent_1 = __importDefault(require("../../event/events/ErrorEvent"));
@@ -234,7 +234,7 @@ var HTMLLinkElement = /** @class */ (function (_super) {
234
234
  rel.toLowerCase() === 'stylesheet' &&
235
235
  this.isConnected) {
236
236
  this.ownerDocument._readyStateManager.startTask();
237
- ResourceFetcher_1.default.fetch({ window: this.ownerDocument.defaultView, url: href })
237
+ ResourceFetchHandler_1.default.fetch(this.ownerDocument, href)
238
238
  .then(function (code) {
239
239
  var styleSheet = new CSSStyleSheet_1.default();
240
240
  styleSheet.replaceSync(code);
@@ -273,7 +273,7 @@ var HTMLLinkElement = /** @class */ (function (_super) {
273
273
  var rel = this.getAttributeNS(null, 'rel');
274
274
  if (href !== null && rel && rel.toLowerCase() === 'stylesheet') {
275
275
  this.ownerDocument._readyStateManager.startTask();
276
- ResourceFetcher_1.default.fetch({ window: this.ownerDocument.defaultView, url: href })
276
+ ResourceFetchHandler_1.default.fetch(this.ownerDocument, href)
277
277
  .then(function (code) {
278
278
  var styleSheet = new CSSStyleSheet_1.default();
279
279
  styleSheet.replaceSync(code);
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLLinkElement.js","sourceRoot":"","sources":["../../../src/nodes/html-link-element/HTMLLinkElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLLinkElement.js","sourceRoot":"","sources":["../../../src/nodes/html-link-element/HTMLLinkElement.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
42
  var Event_1 = __importDefault(require("../../event/Event"));
43
43
  var ErrorEvent_1 = __importDefault(require("../../event/events/ErrorEvent"));
44
- var ResourceFetcher_1 = __importDefault(require("../../fetch/ResourceFetcher"));
44
+ var ResourceFetchHandler_1 = __importDefault(require("../../fetch/ResourceFetchHandler"));
45
45
  /**
46
46
  * Helper class for getting the URL relative to a Location object.
47
47
  */
@@ -69,10 +69,7 @@ var ScriptUtility = /** @class */ (function () {
69
69
  _a.label = 1;
70
70
  case 1:
71
71
  _a.trys.push([1, 3, , 4]);
72
- return [4 /*yield*/, ResourceFetcher_1.default.fetch({
73
- window: element.ownerDocument.defaultView,
74
- url: src
75
- })];
72
+ return [4 /*yield*/, ResourceFetchHandler_1.default.fetch(element.ownerDocument, src)];
76
73
  case 2:
77
74
  code = _a.sent();
78
75
  return [3 /*break*/, 4];
@@ -101,10 +98,7 @@ var ScriptUtility = /** @class */ (function () {
101
98
  case 5:
102
99
  code = null;
103
100
  try {
104
- code = ResourceFetcher_1.default.fetchSync({
105
- window: element.ownerDocument.defaultView,
106
- url: src
107
- });
101
+ code = ResourceFetchHandler_1.default.fetchSync(element.ownerDocument, src);
108
102
  }
109
103
  catch (error) {
110
104
  element.dispatchEvent(new ErrorEvent_1.default('error', {
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptUtility.js","sourceRoot":"","sources":["../../../src/nodes/html-script-element/ScriptUtility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScriptUtility.js","sourceRoot":"","sources":["../../../src/nodes/html-script-element/ScriptUtility.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4DAAsC;AACtC,6EAAuD;AACvD,0FAAoE;AAGpE;;GAEG;AACH;IAAA;IAuEA,CAAC;IAtEA;;;;;;OAMG;IACiB,gCAAkB,GAAtC,UAAuC,OAA0B;;;;;;wBAC1D,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBAC1C,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;6BACzD,KAAK,EAAL,wBAAK;wBACJ,IAAI,GAAG,IAAI,CAAC;wBACL,OAAO,CAAC,aAAc,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;;;;wBAEzD,qBAAM,8BAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAA;;wBAAnE,IAAI,GAAG,SAA4D,CAAC;;;;wBAEpE,OAAO,CAAC,aAAa,CACpB,IAAI,oBAAU,CAAC,OAAO,EAAE;4BACvB,OAAO,EAAE,OAAK,CAAC,OAAO;4BACtB,KAAK,SAAA;yBACL,CAAC,CACF,CAAC;wBACF,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAC9C,IAAI,oBAAU,CAAC,OAAO,EAAE;4BACvB,OAAO,EAAE,OAAK,CAAC,OAAO;4BACtB,KAAK,SAAA;yBACL,CAAC,CACF,CAAC;wBACF,IACC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;4BAC5B,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,EACrD;4BACD,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,OAAK,CAAC,CAAC;yBACvD;;;wBAEF,IAAI,IAAI,EAAE;4BACT,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC7C,OAAO,CAAC,aAAa,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC;yBACzC;wBACU,OAAO,CAAC,aAAc,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;;;wBAE3D,IAAI,GAAG,IAAI,CAAC;wBAChB,IAAI;4BACH,IAAI,GAAG,8BAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;yBAClE;wBAAC,OAAO,KAAK,EAAE;4BACf,OAAO,CAAC,aAAa,CACpB,IAAI,oBAAU,CAAC,OAAO,EAAE;gCACvB,OAAO,EAAE,KAAK,CAAC,OAAO;gCACtB,KAAK,OAAA;6BACL,CAAC,CACF,CAAC;4BACF,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,CAC9C,IAAI,oBAAU,CAAC,OAAO,EAAE;gCACvB,OAAO,EAAE,KAAK,CAAC,OAAO;gCACtB,KAAK,OAAA;6BACL,CAAC,CACF,CAAC;4BACF,IACC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;gCAC5B,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,EACrD;gCACD,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;6BACvD;yBACD;wBACD,IAAI,IAAI,EAAE;4BACT,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC7C,OAAO,CAAC,aAAa,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC;yBACzC;;;;;;KAEF;IACF,oBAAC;AAAD,CAAC,AAvED,IAuEC"}
@@ -61,13 +61,15 @@ import UIEvent from '../event/UIEvent';
61
61
  import ErrorEvent from '../event/events/ErrorEvent';
62
62
  import StorageEvent from '../event/events/StorageEvent';
63
63
  import Screen from '../screen/Screen';
64
- import AsyncTaskManager from './AsyncTaskManager';
65
- import IResponse from './IResponse';
64
+ import AsyncTaskManager from '../async-task-manager/AsyncTaskManager';
65
+ import IResponse from '../fetch/IResponse';
66
+ import IResponseInit from '../fetch/IResponseInit';
67
+ import IRequest from '../fetch/IRequest';
68
+ import IRequestInit from '../fetch/IRequestInit';
69
+ import IHeaders from '../fetch/IHeaders';
66
70
  import Storage from '../storage/Storage';
67
- import IFetchOptions from './IFetchOptions';
68
71
  import NodeFilter from '../tree-walker/NodeFilter';
69
72
  import Window from './Window';
70
- import URLSearchParams from '../url-search-params/URLSearchParams';
71
73
  import HTMLCollection from '../nodes/element/HTMLCollection';
72
74
  import NodeList from '../nodes/node/NodeList';
73
75
  import Selection from '../selection/Selection';
@@ -77,6 +79,7 @@ import MimeType from '../navigator/MimeType';
77
79
  import MimeTypeArray from '../navigator/MimeTypeArray';
78
80
  import Plugin from '../navigator/Plugin';
79
81
  import PluginArray from '../navigator/PluginArray';
82
+ import { URLSearchParams } from 'url';
80
83
  /**
81
84
  * Window.
82
85
  */
@@ -138,7 +141,15 @@ export default interface IWindow extends IEventTarget {
138
141
  readonly Location: typeof Location;
139
142
  readonly CustomElementRegistry: typeof CustomElementRegistry;
140
143
  readonly Window: typeof Window;
141
- readonly Headers: typeof Map;
144
+ readonly Headers: {
145
+ new (init?: string[][] | Record<string, string> | IHeaders): IHeaders;
146
+ };
147
+ readonly Request: {
148
+ new (input: string | IRequest, init?: IRequestInit): IRequest;
149
+ };
150
+ readonly Response: {
151
+ new (body?: unknown | null, init?: IResponseInit): IResponse;
152
+ };
142
153
  readonly XMLSerializer: typeof XMLSerializer;
143
154
  readonly ResizeObserver: typeof ResizeObserver;
144
155
  readonly CSSStyleSheet: typeof CSSStyleSheet;
@@ -217,7 +228,6 @@ export default interface IWindow extends IEventTarget {
217
228
  /**
218
229
  * Sets a timer which executes a function once the timer expires.
219
230
  *
220
- * @override
221
231
  * @param callback Function to be executed.
222
232
  * @param [delay=0] Delay in ms.
223
233
  * @returns Timeout ID.
@@ -226,14 +236,12 @@ export default interface IWindow extends IEventTarget {
226
236
  /**
227
237
  * Cancels a timeout previously established by calling setTimeout().
228
238
  *
229
- * @override
230
239
  * @param id ID of the timeout.
231
240
  */
232
241
  clearTimeout(id: NodeJS.Timeout): void;
233
242
  /**
234
243
  * Calls a function with a fixed time delay between each call.
235
244
  *
236
- * @override
237
245
  * @param callback Function to be executed.
238
246
  * @param [delay=0] Delay in ms.
239
247
  * @returns Interval ID.
@@ -242,14 +250,12 @@ export default interface IWindow extends IEventTarget {
242
250
  /**
243
251
  * Cancels a timed repeating action which was previously established by a call to setInterval().
244
252
  *
245
- * @override
246
253
  * @param id ID of the interval.
247
254
  */
248
255
  clearInterval(id: NodeJS.Timeout): void;
249
256
  /**
250
257
  * Mock animation frames with timeouts.
251
258
  *
252
- * @override
253
259
  * @param {Function} callback Callback.
254
260
  * @returns {NodeJS.Timeout} Timeout ID.
255
261
  */
@@ -257,17 +263,15 @@ export default interface IWindow extends IEventTarget {
257
263
  /**
258
264
  * Mock animation frames with timeouts.
259
265
  *
260
- * @override
261
266
  * @param {NodeJS.Timeout} id Timeout ID.
262
267
  */
263
268
  cancelAnimationFrame(id: NodeJS.Timeout): void;
264
269
  /**
265
- * Provides a global fetch() method that provides an easy, logical way to fetch resources asynchronously across the network.
270
+ * This method provides an easy, logical way to fetch resources asynchronously across the network.
266
271
  *
267
- * @override
268
- * @param url URL to resource.
269
- * @param [options] Options.
272
+ * @param url URL.
273
+ * @param [init] Init.
270
274
  * @returns Promise.
271
275
  */
272
- fetch(url: string, options?: IFetchOptions): Promise<IResponse>;
276
+ fetch(url: string, init?: IRequestInit): Promise<IResponse>;
273
277
  }
@@ -61,12 +61,15 @@ import UIEvent from '../event/UIEvent';
61
61
  import ErrorEvent from '../event/events/ErrorEvent';
62
62
  import StorageEvent from '../event/events/StorageEvent';
63
63
  import Screen from '../screen/Screen';
64
- import AsyncTaskManager from './AsyncTaskManager';
65
- import IResponse from './IResponse';
64
+ import AsyncTaskManager from '../async-task-manager/AsyncTaskManager';
65
+ import IResponse from '../fetch/IResponse';
66
+ import IResponseInit from '../fetch/IResponseInit';
67
+ import IRequest from '../fetch/IRequest';
68
+ import IRequestInit from '../fetch/IRequestInit';
69
+ import IHeaders from '../fetch/IHeaders';
70
+ import IHeadersInit from '../fetch/IHeadersInit';
66
71
  import Storage from '../storage/Storage';
67
- import IFetchOptions from './IFetchOptions';
68
72
  import IWindow from './IWindow';
69
- import URLSearchParams from '../url-search-params/URLSearchParams';
70
73
  import HTMLCollection from '../nodes/element/HTMLCollection';
71
74
  import NodeList from '../nodes/node/NodeList';
72
75
  import MediaQueryList from '../match-media/MediaQueryList';
@@ -77,6 +80,7 @@ import MimeType from '../navigator/MimeType';
77
80
  import MimeTypeArray from '../navigator/MimeTypeArray';
78
81
  import Plugin from '../navigator/Plugin';
79
82
  import PluginArray from '../navigator/PluginArray';
83
+ import { URLSearchParams } from 'url';
80
84
  /**
81
85
  * Handles the Window.
82
86
  */
@@ -155,7 +159,6 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
155
159
  readonly Location: typeof Location;
156
160
  readonly CustomElementRegistry: typeof CustomElementRegistry;
157
161
  readonly Window: typeof Window;
158
- readonly Headers: MapConstructor;
159
162
  readonly XMLSerializer: typeof XMLSerializer;
160
163
  readonly ResizeObserver: typeof ResizeObserver;
161
164
  readonly CSSStyleSheet: typeof CSSStyleSheet;
@@ -197,7 +200,6 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
197
200
  readonly sessionStorage: Storage;
198
201
  readonly localStorage: Storage;
199
202
  readonly performance: PerfHooks.Performance;
200
- Array: ArrayConstructor;
201
203
  ArrayBuffer: ArrayBufferConstructor;
202
204
  Boolean: BooleanConstructor;
203
205
  Buffer: any;
@@ -263,6 +265,7 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
263
265
  prototype: AbortSignal;
264
266
  };
265
267
  private _objectClass;
268
+ private _arrayClass;
266
269
  private _functionClass;
267
270
  /**
268
271
  * Constructor.
@@ -274,6 +277,12 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
274
277
  * @returns Object class.
275
278
  */
276
279
  get Object(): typeof globalThis.Object;
280
+ /**
281
+ * Returns Array class.
282
+ *
283
+ * @returns Array class.
284
+ */
285
+ get Array(): typeof globalThis.Array;
277
286
  /**
278
287
  * Returns Function class.
279
288
  *
@@ -286,6 +295,32 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
286
295
  * @returns CSS interface.
287
296
  */
288
297
  get CSS(): CSS;
298
+ /**
299
+ * Returns Headers class.
300
+ *
301
+ * @returns Headers.
302
+ */
303
+ get Headers(): {
304
+ new (init?: IHeadersInit): IHeaders;
305
+ };
306
+ /**
307
+ * Returns Request class.
308
+ *
309
+ * @returns Request.
310
+ */
311
+ get Request(): {
312
+ new (input: string | {
313
+ href: string;
314
+ } | IRequest, init?: IRequestInit): IRequest;
315
+ };
316
+ /**
317
+ * Returns Response class.
318
+ *
319
+ * @returns Response.
320
+ */
321
+ get Response(): {
322
+ new (body?: NodeJS.ReadableStream | null, init?: IResponseInit): IResponse;
323
+ };
289
324
  /**
290
325
  * Evaluates code.
291
326
  *
@@ -377,12 +412,12 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
377
412
  */
378
413
  cancelAnimationFrame(id: NodeJS.Timeout): void;
379
414
  /**
380
- * Provides a global fetch() method that provides an easy, logical way to fetch resources asynchronously across the network.
415
+ * This method provides an easy, logical way to fetch resources asynchronously across the network.
381
416
  *
382
417
  * @override
383
- * @param url URL to resource.
384
- * @param [options] Options.
418
+ * @param url URL.
419
+ * @param [init] Init.
385
420
  * @returns Promise.
386
421
  */
387
- fetch(url: string, options?: IFetchOptions): Promise<IResponse>;
422
+ fetch(url: string, init?: IRequestInit): Promise<IResponse>;
388
423
  }
@@ -142,11 +142,8 @@ var UIEvent_1 = __importDefault(require("../event/UIEvent"));
142
142
  var ErrorEvent_1 = __importDefault(require("../event/events/ErrorEvent"));
143
143
  var StorageEvent_1 = __importDefault(require("../event/events/StorageEvent"));
144
144
  var Screen_1 = __importDefault(require("../screen/Screen"));
145
- var AsyncTaskManager_1 = __importDefault(require("./AsyncTaskManager"));
146
- var AsyncTaskTypeEnum_1 = __importDefault(require("./AsyncTaskTypeEnum"));
147
- var RelativeURL_1 = __importDefault(require("../location/RelativeURL"));
145
+ var AsyncTaskManager_1 = __importDefault(require("../async-task-manager/AsyncTaskManager"));
148
146
  var Storage_1 = __importDefault(require("../storage/Storage"));
149
- var URLSearchParams_1 = __importDefault(require("../url-search-params/URLSearchParams"));
150
147
  var HTMLCollection_1 = __importDefault(require("../nodes/element/HTMLCollection"));
151
148
  var NodeList_1 = __importDefault(require("../nodes/node/NodeList"));
152
149
  var MediaQueryList_1 = __importDefault(require("../match-media/MediaQueryList"));
@@ -157,7 +154,8 @@ var MimeType_1 = __importDefault(require("../navigator/MimeType"));
157
154
  var MimeTypeArray_1 = __importDefault(require("../navigator/MimeTypeArray"));
158
155
  var Plugin_1 = __importDefault(require("../navigator/Plugin"));
159
156
  var PluginArray_1 = __importDefault(require("../navigator/PluginArray"));
160
- var FETCH_RESPONSE_TYPE_METHODS = ['blob', 'json', 'text'];
157
+ var FetchHandler_1 = __importDefault(require("../fetch/FetchHandler"));
158
+ var url_1 = require("url");
161
159
  /**
162
160
  * Handles the Window.
163
161
  */
@@ -179,7 +177,7 @@ var Window = /** @class */ (function (_super) {
179
177
  });
180
178
  }); },
181
179
  cancelAsync: function () {
182
- _this.happyDOM.asyncTaskManager.cancelAllTasks();
180
+ _this.happyDOM.asyncTaskManager.cancelAll();
183
181
  },
184
182
  asyncTaskManager: new AsyncTaskManager_1.default()
185
183
  };
@@ -236,7 +234,6 @@ var Window = /** @class */ (function (_super) {
236
234
  _this.Location = Location_1.default;
237
235
  _this.CustomElementRegistry = CustomElementRegistry_1.default;
238
236
  _this.Window = Window;
239
- _this.Headers = Map;
240
237
  _this.XMLSerializer = XMLSerializer_1.default;
241
238
  _this.ResizeObserver = ResizeObserver_1.default;
242
239
  _this.CSSStyleSheet = CSSStyleSheet_1.default;
@@ -247,7 +244,7 @@ var Window = /** @class */ (function (_super) {
247
244
  _this.History = History_1.default;
248
245
  _this.Screen = Screen_1.default;
249
246
  _this.Storage = Storage_1.default;
250
- _this.URLSearchParams = URLSearchParams_1.default;
247
+ _this.URLSearchParams = url_1.URLSearchParams;
251
248
  _this.HTMLCollection = HTMLCollection_1.default;
252
249
  _this.NodeList = NodeList_1.default;
253
250
  _this.MediaQueryList = MediaQueryList_1.default;
@@ -279,7 +276,6 @@ var Window = /** @class */ (function (_super) {
279
276
  _this.localStorage = new Storage_1.default();
280
277
  _this.performance = PerfHooks.performance;
281
278
  // Node.js Globals
282
- _this.Array = global ? global.Array : null;
283
279
  _this.ArrayBuffer = global ? global.ArrayBuffer : null;
284
280
  _this.Boolean = global ? global.Boolean : null;
285
281
  _this.Buffer = null;
@@ -340,6 +336,7 @@ var Window = /** @class */ (function (_super) {
340
336
  _this.AbortSignal = global ? global.AbortSignal : null;
341
337
  // Private properties
342
338
  _this._objectClass = null;
339
+ _this._arrayClass = null;
343
340
  _this._functionClass = null;
344
341
  _this.document = new HTMLDocument_1.default();
345
342
  _this.document.defaultView = _this;
@@ -388,6 +385,24 @@ var Window = /** @class */ (function (_super) {
388
385
  enumerable: false,
389
386
  configurable: true
390
387
  });
388
+ Object.defineProperty(Window.prototype, "Array", {
389
+ /**
390
+ * Returns Array class.
391
+ *
392
+ * @returns Array class.
393
+ */
394
+ get: function () {
395
+ if (this._arrayClass) {
396
+ return this._arrayClass;
397
+ }
398
+ // When inside a VM global.Object is not the same as [].constructor
399
+ // We will therefore run the code inside the VM to get the real constructor
400
+ this._arrayClass = this.eval('[].constructor');
401
+ return this._arrayClass;
402
+ },
403
+ enumerable: false,
404
+ configurable: true
405
+ });
391
406
  Object.defineProperty(Window.prototype, "Function", {
392
407
  /**
393
408
  * Returns Function class.
@@ -418,6 +433,46 @@ var Window = /** @class */ (function (_super) {
418
433
  enumerable: false,
419
434
  configurable: true
420
435
  });
436
+ Object.defineProperty(Window.prototype, "Headers", {
437
+ /**
438
+ * Returns Headers class.
439
+ *
440
+ * @returns Headers.
441
+ */
442
+ get: function () {
443
+ return require('../fetch/Headers').default;
444
+ },
445
+ enumerable: false,
446
+ configurable: true
447
+ });
448
+ Object.defineProperty(Window.prototype, "Request", {
449
+ /**
450
+ * Returns Request class.
451
+ *
452
+ * @returns Request.
453
+ */
454
+ get: function () {
455
+ var Request = require('../fetch/Request').default;
456
+ Request._ownerDocument = Request._ownerDocument || this.document;
457
+ return Request;
458
+ },
459
+ enumerable: false,
460
+ configurable: true
461
+ });
462
+ Object.defineProperty(Window.prototype, "Response", {
463
+ /**
464
+ * Returns Response class.
465
+ *
466
+ * @returns Response.
467
+ */
468
+ get: function () {
469
+ var Response = require('../fetch/Response').default;
470
+ Response._ownerDocument = Response._ownerDocument || this.document;
471
+ return Response;
472
+ },
473
+ enumerable: false,
474
+ configurable: true
475
+ });
421
476
  /**
422
477
  * Evaluates code.
423
478
  *
@@ -577,69 +632,20 @@ var Window = /** @class */ (function (_super) {
577
632
  this.clearTimeout(id);
578
633
  };
579
634
  /**
580
- * Provides a global fetch() method that provides an easy, logical way to fetch resources asynchronously across the network.
635
+ * This method provides an easy, logical way to fetch resources asynchronously across the network.
581
636
  *
582
637
  * @override
583
- * @param url URL to resource.
584
- * @param [options] Options.
638
+ * @param url URL.
639
+ * @param [init] Init.
585
640
  * @returns Promise.
586
641
  */
587
- Window.prototype.fetch = function (url, options) {
642
+ Window.prototype.fetch = function (url, init) {
588
643
  return __awaiter(this, void 0, void 0, function () {
589
- var _this = this;
590
644
  return __generator(this, function (_a) {
591
- return [2 /*return*/, new Promise(function (resolve, reject) {
592
- var fetch = null;
593
- try {
594
- fetch = require('node-fetch');
595
- }
596
- catch (error) {
597
- throw new Error('Failed to perform fetch. "node-fetch" could not be loaded.');
598
- }
599
- _this.happyDOM.asyncTaskManager.startTask(AsyncTaskTypeEnum_1.default.fetch);
600
- fetch(RelativeURL_1.default.getAbsoluteURL(_this.location, url), options)
601
- .then(function (response) {
602
- if (_this.happyDOM.asyncTaskManager.getRunningCount(AsyncTaskTypeEnum_1.default.fetch) === 0) {
603
- reject(new Error('Failed to complete fetch request. Task was canceled.'));
604
- }
605
- else {
606
- var _loop_1 = function (methodName) {
607
- var asyncMethod = response[methodName];
608
- response[methodName] = function () {
609
- return new Promise(function (resolve, reject) {
610
- _this.happyDOM.asyncTaskManager.startTask(AsyncTaskTypeEnum_1.default.fetch);
611
- asyncMethod
612
- .call(response)
613
- .then(function (response) {
614
- if (_this.happyDOM.asyncTaskManager.getRunningCount(AsyncTaskTypeEnum_1.default.fetch) ===
615
- 0) {
616
- reject(new Error('Failed to complete fetch request. Task was canceled.'));
617
- }
618
- else {
619
- resolve(response);
620
- _this.happyDOM.asyncTaskManager.endTask(AsyncTaskTypeEnum_1.default.fetch);
621
- }
622
- })
623
- .catch(function (error) {
624
- reject(error);
625
- _this.happyDOM.asyncTaskManager.endTask(AsyncTaskTypeEnum_1.default.fetch, error);
626
- });
627
- });
628
- };
629
- };
630
- for (var _i = 0, FETCH_RESPONSE_TYPE_METHODS_1 = FETCH_RESPONSE_TYPE_METHODS; _i < FETCH_RESPONSE_TYPE_METHODS_1.length; _i++) {
631
- var methodName = FETCH_RESPONSE_TYPE_METHODS_1[_i];
632
- _loop_1(methodName);
633
- }
634
- resolve(response);
635
- _this.happyDOM.asyncTaskManager.endTask(AsyncTaskTypeEnum_1.default.fetch);
636
- }
637
- })
638
- .catch(function (error) {
639
- reject(error);
640
- _this.happyDOM.asyncTaskManager.endTask(AsyncTaskTypeEnum_1.default.fetch, error);
641
- });
642
- })];
645
+ switch (_a.label) {
646
+ case 0: return [4 /*yield*/, FetchHandler_1.default.fetch(this.document, url, init)];
647
+ case 1: return [2 /*return*/, _a.sent()];
648
+ }
643
649
  });
644
650
  });
645
651
  };