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
@@ -1 +1 @@
1
- {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "2.50.0",
3
+ "version": "2.51.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -60,6 +60,7 @@
60
60
  "@types/he": "^1.1.2",
61
61
  "@types/jest": "^27.4.1",
62
62
  "@types/node": "^15.6.0",
63
+ "@types/node-fetch": "^2.6.1",
63
64
  "@typescript-eslint/eslint-plugin": "^5.16.0",
64
65
  "@typescript-eslint/parser": "^5.16.0",
65
66
  "eslint": "^8.11.0",
@@ -75,5 +76,5 @@
75
76
  "ts-jest": "^27.1.3",
76
77
  "typescript": "^4.6.2"
77
78
  },
78
- "gitHead": "6f5427b83c3aaa08f5a27063309d83f29da72054"
79
+ "gitHead": "b02716daf82e29b7cf7fc25e7d133e09f4dfcf16"
79
80
  }
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Handles async tasks.
3
+ */
4
+ export default class AsyncTaskManager {
5
+ private static taskID = 0;
6
+ private runningTasks: number[] = [];
7
+ private runningTimers: NodeJS.Timeout[] = [];
8
+ private queue: { resolve: () => void; reject: (error: Error) => void }[] = [];
9
+
10
+ /**
11
+ * Returns a promise that is fulfilled when async tasks are complete.
12
+ * This method is not part of the HTML standard.
13
+ *
14
+ * @returns Promise.
15
+ */
16
+ public async whenComplete(): Promise<void> {
17
+ return new Promise((resolve, reject) => {
18
+ const timerID = global.setTimeout(() => {
19
+ this.endTimer(timerID);
20
+ }, 0);
21
+ this.startTimer(timerID);
22
+ this.queue.push({ resolve, reject });
23
+ });
24
+ }
25
+
26
+ /**
27
+ * Cancels all tasks.
28
+ *
29
+ * @param [error] Error.
30
+ */
31
+ public cancelAll(error?: Error): void {
32
+ for (const timerID of this.runningTimers) {
33
+ global.clearTimeout(timerID);
34
+ }
35
+
36
+ const promises = this.queue;
37
+
38
+ this.runningTasks = [];
39
+ this.runningTimers = [];
40
+ this.queue = [];
41
+
42
+ for (const promise of promises) {
43
+ if (error) {
44
+ promise.reject(error);
45
+ } else {
46
+ promise.resolve();
47
+ }
48
+ }
49
+ }
50
+
51
+ /**
52
+ * Starts a timer.
53
+ *
54
+ * @param timerID Timer ID.
55
+ */
56
+ public startTimer(timerID: NodeJS.Timeout): void {
57
+ this.runningTimers.push(timerID);
58
+ }
59
+
60
+ /**
61
+ * Ends a timer.
62
+ *
63
+ * @param timerID Timer ID.
64
+ */
65
+ public endTimer(timerID: NodeJS.Timeout): void {
66
+ const index = this.runningTimers.indexOf(timerID);
67
+ if (index !== -1) {
68
+ this.runningTimers.splice(index, 1);
69
+ }
70
+ if (!this.runningTasks.length && !this.runningTimers.length) {
71
+ this.cancelAll();
72
+ }
73
+ }
74
+
75
+ /**
76
+ * Starts an async task.
77
+ *
78
+ * @returns Task ID.
79
+ */
80
+ public startTask(): number {
81
+ const taskID = this.newTaskID();
82
+ this.runningTasks.push(taskID);
83
+ return taskID;
84
+ }
85
+
86
+ /**
87
+ * Ends an async task.
88
+ *
89
+ * @param taskID Task ID.
90
+ */
91
+ public endTask(taskID: number): void {
92
+ const index = this.runningTasks.indexOf(taskID);
93
+ if (index !== -1) {
94
+ this.runningTasks.splice(index, 1);
95
+ }
96
+ if (!this.runningTasks.length && !this.runningTimers.length) {
97
+ this.cancelAll();
98
+ }
99
+ }
100
+
101
+ /**
102
+ * Returns the amount of running tasks.
103
+ *
104
+ * @returns Count.
105
+ */
106
+ public getTaskCount(): number {
107
+ return this.runningTasks.length;
108
+ }
109
+
110
+ /**
111
+ * Returns the amount of running timers.
112
+ *
113
+ * @returns Count.
114
+ */
115
+ public getTimerCount(): number {
116
+ return this.runningTimers.length;
117
+ }
118
+
119
+ /**
120
+ * Returns a new task ID.
121
+ *
122
+ * @returns Task ID.
123
+ */
124
+ private newTaskID(): number {
125
+ (<typeof AsyncTaskManager>this.constructor).taskID++;
126
+ return (<typeof AsyncTaskManager>this.constructor).taskID;
127
+ }
128
+ }
@@ -0,0 +1,54 @@
1
+ import RelativeURL from '../location/RelativeURL';
2
+ import IRequestInit from './IRequestInit';
3
+ import IDocument from '../nodes/document/IDocument';
4
+ import IResponse from './IResponse';
5
+
6
+ /**
7
+ * Helper class for performing fetch.
8
+ */
9
+ export default class FetchHandler {
10
+ /**
11
+ * Returns resource data asynchonously.
12
+ *
13
+ * @param document Document.
14
+ * @param url URL to resource.
15
+ * @param [init] Init.
16
+ * @returns Response.
17
+ */
18
+ public static fetch(document: IDocument, url: string, init?: IRequestInit): Promise<IResponse> {
19
+ // We want to only load NodeFetch when it is needed to improve performance and not have direct dependencies to server side packages.
20
+ const nodeFetch = require('node-fetch');
21
+ const Response = require('./Response').default;
22
+ const taskManager = document.defaultView.happyDOM.asyncTaskManager;
23
+
24
+ return new Promise((resolve, reject) => {
25
+ const taskID = taskManager.startTask();
26
+
27
+ nodeFetch(RelativeURL.getAbsoluteURL(document.defaultView.location, url), init)
28
+ .then((response) => {
29
+ if (taskManager.getTaskCount() === 0) {
30
+ reject(new Error('Failed to complete fetch request. Task was canceled.'));
31
+ } else {
32
+ response.constructor['_ownerDocument'] = document;
33
+
34
+ for (const key of Object.keys(Response.prototype)) {
35
+ if (Response.prototype.hasOwnProperty(key) && key !== 'constructor') {
36
+ if (typeof Response.prototype[key] === 'function') {
37
+ response[key] = Response.prototype[key].bind(response);
38
+ } else {
39
+ response[key] = Response.prototype[key];
40
+ }
41
+ }
42
+ }
43
+
44
+ taskManager.endTask(taskID);
45
+ resolve(response);
46
+ }
47
+ })
48
+ .catch((error) => {
49
+ reject(error);
50
+ taskManager.cancelAll(error);
51
+ });
52
+ });
53
+ }
54
+ }
@@ -0,0 +1,7 @@
1
+ import * as NodeFetch from 'node-fetch';
2
+ import IHeaders from './IHeaders';
3
+
4
+ /**
5
+ * Fetch headers.
6
+ */
7
+ export default class Headers extends NodeFetch.Headers implements IHeaders {}
@@ -0,0 +1,34 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+
3
+ /**
4
+ * Abort signal.
5
+ */
6
+ export default interface IAbortSignal {
7
+ aborted: boolean;
8
+
9
+ addEventListener: (
10
+ type: 'abort',
11
+ listener: (this: IAbortSignal, event: any) => any,
12
+ options?:
13
+ | boolean
14
+ | {
15
+ capture?: boolean | undefined;
16
+ once?: boolean | undefined;
17
+ passive?: boolean | undefined;
18
+ }
19
+ ) => void;
20
+
21
+ removeEventListener: (
22
+ type: 'abort',
23
+ listener: (this: IAbortSignal, event: any) => any,
24
+ options?:
25
+ | boolean
26
+ | {
27
+ capture?: boolean | undefined;
28
+ }
29
+ ) => void;
30
+
31
+ dispatchEvent: (event: any) => boolean;
32
+
33
+ onabort: null | ((this: IAbortSignal, event: any) => void);
34
+ }
@@ -0,0 +1,18 @@
1
+ import IBlob from '../file/IBlob';
2
+
3
+ /**
4
+ * Fetch response.
5
+ */
6
+ export default interface IBody {
7
+ readonly body: NodeJS.ReadableStream;
8
+ readonly bodyUsed: boolean;
9
+ readonly size: number;
10
+ readonly timeout: number;
11
+
12
+ arrayBuffer(): Promise<ArrayBuffer>;
13
+ blob(): Promise<IBlob>;
14
+ buffer(): Promise<Buffer>;
15
+ json(): Promise<unknown>;
16
+ text(): Promise<string>;
17
+ textConverted(): Promise<string>;
18
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Fetch headers.
3
+ */
4
+ export default interface IHeaders extends Iterable<[string, string]> {
5
+ forEach(callback: (value: string, name: string) => void): void;
6
+ append(name: string, value: string): void;
7
+ delete(name: string): void;
8
+ get(name: string): string | null;
9
+ has(name: string): boolean;
10
+ raw(): { [k: string]: string[] };
11
+ set(name: string, value: string): void;
12
+
13
+ // Iterable methods
14
+ entries(): IterableIterator<[string, string]>;
15
+ keys(): IterableIterator<string>;
16
+ values(): IterableIterator<string>;
17
+ [Symbol.iterator](): Iterator<[string, string]>;
18
+ }
@@ -0,0 +1,5 @@
1
+ import IHeaders from './IHeaders';
2
+
3
+ type IHeadersInit = string[][] | { [key: string]: string } | IHeaders;
4
+
5
+ export default IHeadersInit;
@@ -0,0 +1,59 @@
1
+ import IHeaders from './IHeaders';
2
+ import IBody from './IBody';
3
+
4
+ /**
5
+ * Fetch request.
6
+ */
7
+ export default interface IRequest extends IBody {
8
+ readonly headers: IHeaders;
9
+ readonly method: string;
10
+ readonly redirect: 'error' | 'follow' | 'manual';
11
+ readonly referrer: string;
12
+ readonly url: string;
13
+
14
+ /**
15
+ * Returns a clone.
16
+ *
17
+ * @returns Clone.
18
+ */
19
+ clone(): IRequest;
20
+
21
+ // Not implemented:
22
+ // Readonly cache: 'default' | 'force-cache' | 'no-cache' | 'no-store' | 'only-if-cached' | 'reload';
23
+ // Readonly credentials: 'include' | 'omit' | 'same-origin';
24
+ // Readonly destination:
25
+ // | ''
26
+ // | 'object'
27
+ // | 'audio'
28
+ // | 'audioworklet'
29
+ // | 'document'
30
+ // | 'embed'
31
+ // | 'font'
32
+ // | 'frame'
33
+ // | 'iframe'
34
+ // | 'image'
35
+ // | 'manifest'
36
+ // | 'paintworklet'
37
+ // | 'report'
38
+ // | 'script'
39
+ // | 'sharedworker'
40
+ // | 'style'
41
+ // | 'track'
42
+ // | 'video'
43
+ // | 'worker'
44
+ // | 'xslt';
45
+ // Readonly referrerPolicy:
46
+ // | ''
47
+ // | 'same-origin'
48
+ // | 'no-referrer'
49
+ // | 'no-referrer-when-downgrade'
50
+ // | 'origin'
51
+ // | 'origin-when-cross-origin'
52
+ // | 'strict-origin'
53
+ // | 'strict-origin-when-cross-origin'
54
+ // | 'unsafe-url';
55
+ // Readonly signal: AbortSignal;
56
+ // Readonly integrity: string;
57
+ // Readonly keepalive: boolean;
58
+ // Readonly mode: 'same-origin' | 'cors' | 'navigate' | 'no-cors';
59
+ }
@@ -0,0 +1,41 @@
1
+ import IHeadersInit from './IHeadersInit';
2
+ import IAbortSignal from './IAbortSignal';
3
+ import { URLSearchParams } from 'url';
4
+ import IFormData from '../form-data/IFormData';
5
+
6
+ /**
7
+ * Fetch request init.
8
+ */
9
+ export default interface IRequestInit {
10
+ body?:
11
+ | ArrayBuffer
12
+ | ArrayBufferView
13
+ | NodeJS.ReadableStream
14
+ | string
15
+ | URLSearchParams
16
+ | IFormData
17
+ | null;
18
+ headers?: IHeadersInit;
19
+ method?: string;
20
+ redirect?: 'error' | 'manual' | 'follow';
21
+ signal?: IAbortSignal | null;
22
+
23
+ // Not implemented:
24
+ // Cache?: 'default' | 'force-cache' | 'no-cache' | 'no-store' | 'only-if-cached' | 'reload';
25
+ // Credentials?: 'include' | 'omit' | 'same-origin';
26
+ // Integrity?: string;
27
+ // Keepalive?: boolean;
28
+ // Mode?: 'same-origin' | 'cors' | 'navigate' | 'no-cors';
29
+ // Referrer?: string;
30
+ // ReferrerPolicy?:
31
+ // | ''
32
+ // | 'same-origin'
33
+ // | 'no-referrer'
34
+ // | 'no-referrer-when-downgrade'
35
+ // | 'origin'
36
+ // | 'origin-when-cross-origin'
37
+ // | 'strict-origin'
38
+ // | 'strict-origin-when-cross-origin'
39
+ // | 'unsafe-url';
40
+ // Window?: unknown;
41
+ }
@@ -0,0 +1,22 @@
1
+ import IHeaders from './IHeaders';
2
+ import IBody from './IBody';
3
+
4
+ /**
5
+ * Fetch response.
6
+ */
7
+ export default interface IResponse extends IBody {
8
+ readonly headers: IHeaders;
9
+ readonly ok: boolean;
10
+ readonly redirected: boolean;
11
+ readonly status: number;
12
+ readonly statusText: string;
13
+ readonly type: 'basic' | 'cors' | 'default' | 'error' | 'opaque' | 'opaqueredirect';
14
+ readonly url: string;
15
+
16
+ /**
17
+ * Returns a clone.
18
+ *
19
+ * @returns Clone.
20
+ */
21
+ clone(): IResponse;
22
+ }
@@ -0,0 +1,10 @@
1
+ import IHeaders from './IHeaders';
2
+
3
+ /**
4
+ * Response init.
5
+ */
6
+ export default interface IResponseInit {
7
+ headers?: IHeaders | string[][] | Record<string, string>;
8
+ status?: number;
9
+ statusText?: string;
10
+ }
@@ -0,0 +1,149 @@
1
+ import * as NodeFetch from 'node-fetch';
2
+ import IRequest from './IRequest';
3
+ import IBlob from '../file/IBlob';
4
+ import IDocument from '../nodes/document/IDocument';
5
+
6
+ /**
7
+ * Fetch request.
8
+ */
9
+ export default class Request extends NodeFetch.Request implements IRequest {
10
+ public static _ownerDocument: IDocument = null;
11
+
12
+ /**
13
+ * Returns array buffer.
14
+ *
15
+ * @returns Array buffer.
16
+ */
17
+ public arrayBuffer(): Promise<ArrayBuffer> {
18
+ return new Promise((resolve, reject) => {
19
+ const taskID = this._handlePromiseStart();
20
+ super
21
+ .arrayBuffer()
22
+ .then(this._handlePromiseEnd.bind(this, resolve, reject, taskID))
23
+ .catch(this._handlePromiseError.bind(this, reject));
24
+ });
25
+ }
26
+
27
+ /**
28
+ * Returns blob.
29
+ *
30
+ * @returns Blob.
31
+ */
32
+ public blob(): Promise<IBlob> {
33
+ return new Promise((resolve, reject) => {
34
+ const taskID = this._handlePromiseStart();
35
+ super
36
+ .blob()
37
+ .then(this._handlePromiseEnd.bind(this, resolve, reject, taskID))
38
+ .catch(this._handlePromiseError.bind(this, reject));
39
+ });
40
+ }
41
+
42
+ /**
43
+ * Returns buffer.
44
+ *
45
+ * @returns Buffer.
46
+ */
47
+ public buffer(): Promise<Buffer> {
48
+ return new Promise((resolve, reject) => {
49
+ const taskID = this._handlePromiseStart();
50
+ super
51
+ .buffer()
52
+ .then(this._handlePromiseEnd.bind(this, resolve, reject, taskID))
53
+ .catch(this._handlePromiseError.bind(this, reject));
54
+ });
55
+ }
56
+
57
+ /**
58
+ * Returns json.
59
+ *
60
+ * @returns JSON.
61
+ */
62
+ public json(): Promise<unknown> {
63
+ return new Promise((resolve, reject) => {
64
+ const taskID = this._handlePromiseStart();
65
+ super
66
+ .json()
67
+ .then(this._handlePromiseEnd.bind(this, resolve, reject, taskID))
68
+ .catch(this._handlePromiseError.bind(this, reject));
69
+ });
70
+ }
71
+
72
+ /**
73
+ * Returns json.
74
+ *
75
+ * @returns JSON.
76
+ */
77
+ public text(): Promise<string> {
78
+ return new Promise((resolve, reject) => {
79
+ const taskID = this._handlePromiseStart();
80
+ super
81
+ .text()
82
+ .then(this._handlePromiseEnd.bind(this, resolve, reject, taskID))
83
+ .catch(this._handlePromiseError.bind(this, reject));
84
+ });
85
+ }
86
+
87
+ /**
88
+ * Returns json.
89
+ *
90
+ * @returns JSON.
91
+ */
92
+ public textConverted(): Promise<string> {
93
+ return new Promise((resolve, reject) => {
94
+ const taskID = this._handlePromiseStart();
95
+ super
96
+ .textConverted()
97
+ .then(this._handlePromiseEnd.bind(this, resolve, reject, taskID))
98
+ .catch(this._handlePromiseError.bind(this, reject));
99
+ });
100
+ }
101
+
102
+ /**
103
+ * Handles promise start.
104
+ *
105
+ * @returns Task ID.
106
+ */
107
+ private _handlePromiseStart(): number {
108
+ const taskManager = (<typeof Request>this.constructor)._ownerDocument.defaultView.happyDOM
109
+ .asyncTaskManager;
110
+ return taskManager.startTask();
111
+ }
112
+
113
+ /**
114
+ * Handles promise end.
115
+ *
116
+ * @param resolve Resolve.
117
+ * @param reject Reject.
118
+ * @param taskID Task ID.
119
+ * @param response Response.
120
+ */
121
+ private _handlePromiseEnd(
122
+ resolve: (response: unknown) => void,
123
+ reject: (error: Error) => void,
124
+ taskID: number,
125
+ response: unknown
126
+ ): void {
127
+ const taskManager = (<typeof Request>this.constructor)._ownerDocument.defaultView.happyDOM
128
+ .asyncTaskManager;
129
+ if (taskManager.getTaskCount() === 0) {
130
+ reject(new Error('Failed to complete fetch request. Task was canceled.'));
131
+ } else {
132
+ resolve(response);
133
+ taskManager.endTask(taskID);
134
+ }
135
+ }
136
+
137
+ /**
138
+ * Handles promise error.
139
+ *
140
+ * @param error
141
+ * @param reject
142
+ */
143
+ private _handlePromiseError(reject: (error: Error) => void, error: Error): void {
144
+ const taskManager = (<typeof Request>this.constructor)._ownerDocument.defaultView.happyDOM
145
+ .asyncTaskManager;
146
+ reject(error);
147
+ taskManager.cancelAll(error);
148
+ }
149
+ }