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.
- package/lib/async-task-manager/AsyncTaskManager.d.ts +65 -0
- package/lib/{window → async-task-manager}/AsyncTaskManager.js +52 -55
- package/lib/async-task-manager/AsyncTaskManager.js.map +1 -0
- package/lib/fetch/FetchHandler.d.ts +17 -0
- package/lib/fetch/FetchHandler.js +59 -0
- package/lib/fetch/FetchHandler.js.map +1 -0
- package/lib/fetch/Headers.d.ts +7 -0
- package/lib/fetch/Headers.js +53 -0
- package/lib/fetch/Headers.js.map +1 -0
- package/lib/fetch/IAbortSignal.d.ts +16 -0
- package/lib/fetch/IAbortSignal.js +4 -0
- package/lib/fetch/IAbortSignal.js.map +1 -0
- package/lib/fetch/IBody.d.ts +17 -0
- package/lib/{window/IFetchOptions.js → fetch/IBody.js} +1 -1
- package/lib/fetch/IBody.js.map +1 -0
- package/lib/fetch/IHeaders.d.ts +18 -0
- package/lib/fetch/IHeaders.js +3 -0
- package/lib/fetch/IHeaders.js.map +1 -0
- package/lib/fetch/IHeadersInit.d.ts +5 -0
- package/lib/fetch/IHeadersInit.js +3 -0
- package/lib/fetch/IHeadersInit.js.map +1 -0
- package/lib/fetch/IRequest.d.ts +18 -0
- package/lib/fetch/IRequest.js +3 -0
- package/lib/fetch/IRequest.js.map +1 -0
- package/lib/fetch/IRequestInit.d.ts +15 -0
- package/lib/fetch/IRequestInit.js +3 -0
- package/lib/fetch/IRequestInit.js.map +1 -0
- package/lib/fetch/IResponse.d.ts +20 -0
- package/lib/{window → fetch}/IResponse.js +0 -0
- package/lib/{window → fetch}/IResponse.js.map +1 -1
- package/lib/fetch/IResponseInit.d.ts +9 -0
- package/lib/fetch/IResponseInit.js +3 -0
- package/lib/fetch/IResponseInit.js.map +1 -0
- package/lib/fetch/Request.d.ts +69 -0
- package/lib/fetch/Request.js +179 -0
- package/lib/fetch/Request.js.map +1 -0
- package/lib/fetch/ResourceFetchHandler.d.ts +22 -0
- package/lib/fetch/{ResourceFetcher.js → ResourceFetchHandler.js} +19 -26
- package/lib/fetch/ResourceFetchHandler.js.map +1 -0
- package/lib/fetch/Response.d.ts +69 -0
- package/lib/fetch/Response.js +179 -0
- package/lib/fetch/Response.js.map +1 -0
- package/lib/file/Blob.d.ts +8 -1
- package/lib/file/Blob.js +48 -0
- package/lib/file/Blob.js.map +1 -1
- package/lib/file/IBlob.d.ts +10 -0
- package/lib/file/IBlob.js +3 -0
- package/lib/file/IBlob.js.map +1 -0
- package/lib/form-data/IFormData.d.ts +30 -0
- package/lib/form-data/IFormData.js +3 -0
- package/lib/form-data/IFormData.js.map +1 -0
- package/lib/index.d.ts +3 -5
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.js +3 -3
- package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
- package/lib/nodes/html-script-element/ScriptUtility.js +3 -9
- package/lib/nodes/html-script-element/ScriptUtility.js.map +1 -1
- package/lib/window/IWindow.d.ts +20 -16
- package/lib/window/Window.d.ts +45 -10
- package/lib/window/Window.js +72 -66
- package/lib/window/Window.js.map +1 -1
- package/package.json +3 -2
- package/src/async-task-manager/AsyncTaskManager.ts +128 -0
- package/src/fetch/FetchHandler.ts +54 -0
- package/src/fetch/Headers.ts +7 -0
- package/src/fetch/IAbortSignal.ts +34 -0
- package/src/fetch/IBody.ts +18 -0
- package/src/fetch/IHeaders.ts +18 -0
- package/src/fetch/IHeadersInit.ts +5 -0
- package/src/fetch/IRequest.ts +59 -0
- package/src/fetch/IRequestInit.ts +41 -0
- package/src/fetch/IResponse.ts +22 -0
- package/src/fetch/IResponseInit.ts +10 -0
- package/src/fetch/Request.ts +149 -0
- package/src/fetch/ResourceFetchHandler.ts +47 -0
- package/src/fetch/Response.ts +149 -0
- package/src/file/Blob.ts +12 -1
- package/src/file/IBlob.ts +10 -0
- package/src/form-data/IFormData.ts +33 -0
- package/src/index.ts +2 -6
- package/src/nodes/html-link-element/HTMLLinkElement.ts +3 -3
- package/src/nodes/html-script-element/ScriptUtility.ts +3 -9
- package/src/window/IWindow.ts +14 -16
- package/src/window/Window.ts +68 -67
- package/lib/fetch/ResourceFetcher.d.ts +0 -30
- package/lib/fetch/ResourceFetcher.js.map +0 -1
- package/lib/url-search-params/URLSearchParams.d.ts +0 -87
- package/lib/url-search-params/URLSearchParams.js +0 -196
- package/lib/url-search-params/URLSearchParams.js.map +0 -1
- package/lib/window/AsyncTaskManager.d.ts +0 -54
- package/lib/window/AsyncTaskManager.js.map +0 -1
- package/lib/window/AsyncTaskTypeEnum.d.ts +0 -5
- package/lib/window/AsyncTaskTypeEnum.js +0 -9
- package/lib/window/AsyncTaskTypeEnum.js.map +0 -1
- package/lib/window/IFetchOptions.d.ts +0 -13
- package/lib/window/IFetchOptions.js.map +0 -1
- package/lib/window/IResponse.d.ts +0 -32
- package/src/fetch/ResourceFetcher.ts +0 -55
- package/src/url-search-params/URLSearchParams.ts +0 -198
- package/src/window/AsyncTaskManager.ts +0 -127
- package/src/window/AsyncTaskTypeEnum.ts +0 -5
- package/src/window/IFetchOptions.ts +0 -11
- package/src/window/IResponse.ts +0 -34
@@ -0,0 +1,179 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
3
|
+
var extendStatics = function (d, b) {
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
7
|
+
return extendStatics(d, b);
|
8
|
+
};
|
9
|
+
return function (d, b) {
|
10
|
+
if (typeof b !== "function" && b !== null)
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
12
|
+
extendStatics(d, b);
|
13
|
+
function __() { this.constructor = d; }
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
15
|
+
};
|
16
|
+
})();
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
18
|
+
if (k2 === undefined) k2 = k;
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
22
|
+
}
|
23
|
+
Object.defineProperty(o, k2, desc);
|
24
|
+
}) : (function(o, m, k, k2) {
|
25
|
+
if (k2 === undefined) k2 = k;
|
26
|
+
o[k2] = m[k];
|
27
|
+
}));
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
30
|
+
}) : function(o, v) {
|
31
|
+
o["default"] = v;
|
32
|
+
});
|
33
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
34
|
+
if (mod && mod.__esModule) return mod;
|
35
|
+
var result = {};
|
36
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
37
|
+
__setModuleDefault(result, mod);
|
38
|
+
return result;
|
39
|
+
};
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
41
|
+
var NodeFetch = __importStar(require("node-fetch"));
|
42
|
+
/**
|
43
|
+
* Fetch request.
|
44
|
+
*/
|
45
|
+
var Request = /** @class */ (function (_super) {
|
46
|
+
__extends(Request, _super);
|
47
|
+
function Request() {
|
48
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
49
|
+
}
|
50
|
+
/**
|
51
|
+
* Returns array buffer.
|
52
|
+
*
|
53
|
+
* @returns Array buffer.
|
54
|
+
*/
|
55
|
+
Request.prototype.arrayBuffer = function () {
|
56
|
+
var _this = this;
|
57
|
+
return new Promise(function (resolve, reject) {
|
58
|
+
var taskID = _this._handlePromiseStart();
|
59
|
+
_super.prototype.arrayBuffer.call(_this)
|
60
|
+
.then(_this._handlePromiseEnd.bind(_this, resolve, reject, taskID))
|
61
|
+
.catch(_this._handlePromiseError.bind(_this, reject));
|
62
|
+
});
|
63
|
+
};
|
64
|
+
/**
|
65
|
+
* Returns blob.
|
66
|
+
*
|
67
|
+
* @returns Blob.
|
68
|
+
*/
|
69
|
+
Request.prototype.blob = function () {
|
70
|
+
var _this = this;
|
71
|
+
return new Promise(function (resolve, reject) {
|
72
|
+
var taskID = _this._handlePromiseStart();
|
73
|
+
_super.prototype.blob.call(_this)
|
74
|
+
.then(_this._handlePromiseEnd.bind(_this, resolve, reject, taskID))
|
75
|
+
.catch(_this._handlePromiseError.bind(_this, reject));
|
76
|
+
});
|
77
|
+
};
|
78
|
+
/**
|
79
|
+
* Returns buffer.
|
80
|
+
*
|
81
|
+
* @returns Buffer.
|
82
|
+
*/
|
83
|
+
Request.prototype.buffer = function () {
|
84
|
+
var _this = this;
|
85
|
+
return new Promise(function (resolve, reject) {
|
86
|
+
var taskID = _this._handlePromiseStart();
|
87
|
+
_super.prototype.buffer.call(_this)
|
88
|
+
.then(_this._handlePromiseEnd.bind(_this, resolve, reject, taskID))
|
89
|
+
.catch(_this._handlePromiseError.bind(_this, reject));
|
90
|
+
});
|
91
|
+
};
|
92
|
+
/**
|
93
|
+
* Returns json.
|
94
|
+
*
|
95
|
+
* @returns JSON.
|
96
|
+
*/
|
97
|
+
Request.prototype.json = function () {
|
98
|
+
var _this = this;
|
99
|
+
return new Promise(function (resolve, reject) {
|
100
|
+
var taskID = _this._handlePromiseStart();
|
101
|
+
_super.prototype.json.call(_this)
|
102
|
+
.then(_this._handlePromiseEnd.bind(_this, resolve, reject, taskID))
|
103
|
+
.catch(_this._handlePromiseError.bind(_this, reject));
|
104
|
+
});
|
105
|
+
};
|
106
|
+
/**
|
107
|
+
* Returns json.
|
108
|
+
*
|
109
|
+
* @returns JSON.
|
110
|
+
*/
|
111
|
+
Request.prototype.text = function () {
|
112
|
+
var _this = this;
|
113
|
+
return new Promise(function (resolve, reject) {
|
114
|
+
var taskID = _this._handlePromiseStart();
|
115
|
+
_super.prototype.text.call(_this)
|
116
|
+
.then(_this._handlePromiseEnd.bind(_this, resolve, reject, taskID))
|
117
|
+
.catch(_this._handlePromiseError.bind(_this, reject));
|
118
|
+
});
|
119
|
+
};
|
120
|
+
/**
|
121
|
+
* Returns json.
|
122
|
+
*
|
123
|
+
* @returns JSON.
|
124
|
+
*/
|
125
|
+
Request.prototype.textConverted = function () {
|
126
|
+
var _this = this;
|
127
|
+
return new Promise(function (resolve, reject) {
|
128
|
+
var taskID = _this._handlePromiseStart();
|
129
|
+
_super.prototype.textConverted.call(_this)
|
130
|
+
.then(_this._handlePromiseEnd.bind(_this, resolve, reject, taskID))
|
131
|
+
.catch(_this._handlePromiseError.bind(_this, reject));
|
132
|
+
});
|
133
|
+
};
|
134
|
+
/**
|
135
|
+
* Handles promise start.
|
136
|
+
*
|
137
|
+
* @returns Task ID.
|
138
|
+
*/
|
139
|
+
Request.prototype._handlePromiseStart = function () {
|
140
|
+
var taskManager = this.constructor._ownerDocument.defaultView.happyDOM
|
141
|
+
.asyncTaskManager;
|
142
|
+
return taskManager.startTask();
|
143
|
+
};
|
144
|
+
/**
|
145
|
+
* Handles promise end.
|
146
|
+
*
|
147
|
+
* @param resolve Resolve.
|
148
|
+
* @param reject Reject.
|
149
|
+
* @param taskID Task ID.
|
150
|
+
* @param response Response.
|
151
|
+
*/
|
152
|
+
Request.prototype._handlePromiseEnd = function (resolve, reject, taskID, response) {
|
153
|
+
var taskManager = this.constructor._ownerDocument.defaultView.happyDOM
|
154
|
+
.asyncTaskManager;
|
155
|
+
if (taskManager.getTaskCount() === 0) {
|
156
|
+
reject(new Error('Failed to complete fetch request. Task was canceled.'));
|
157
|
+
}
|
158
|
+
else {
|
159
|
+
resolve(response);
|
160
|
+
taskManager.endTask(taskID);
|
161
|
+
}
|
162
|
+
};
|
163
|
+
/**
|
164
|
+
* Handles promise error.
|
165
|
+
*
|
166
|
+
* @param error
|
167
|
+
* @param reject
|
168
|
+
*/
|
169
|
+
Request.prototype._handlePromiseError = function (reject, error) {
|
170
|
+
var taskManager = this.constructor._ownerDocument.defaultView.happyDOM
|
171
|
+
.asyncTaskManager;
|
172
|
+
reject(error);
|
173
|
+
taskManager.cancelAll(error);
|
174
|
+
};
|
175
|
+
Request._ownerDocument = null;
|
176
|
+
return Request;
|
177
|
+
}(NodeFetch.Request));
|
178
|
+
exports.default = Request;
|
179
|
+
//# sourceMappingURL=Request.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../src/fetch/Request.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import IDocument from '../nodes/document/IDocument';
|
2
|
+
/**
|
3
|
+
* Helper class for performing fetch of resources.
|
4
|
+
*/
|
5
|
+
export default class ResourceFetchHandler {
|
6
|
+
/**
|
7
|
+
* Returns resource data asynchonously.
|
8
|
+
*
|
9
|
+
* @param document Document.
|
10
|
+
* @param url URL.
|
11
|
+
* @returns Response.
|
12
|
+
*/
|
13
|
+
static fetch(document: IDocument, url: string): Promise<string>;
|
14
|
+
/**
|
15
|
+
* Returns resource data synchonously.
|
16
|
+
*
|
17
|
+
* @param document Document.
|
18
|
+
* @param url URL.
|
19
|
+
* @returns Response.
|
20
|
+
*/
|
21
|
+
static fetchSync(document: IDocument, url: string): string;
|
22
|
+
}
|
@@ -42,29 +42,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
42
|
var RelativeURL_1 = __importDefault(require("../location/RelativeURL"));
|
43
43
|
var DOMException_1 = __importDefault(require("../exception/DOMException"));
|
44
44
|
/**
|
45
|
-
* Helper class for performing
|
45
|
+
* Helper class for performing fetch of resources.
|
46
46
|
*/
|
47
|
-
var
|
48
|
-
function
|
47
|
+
var ResourceFetchHandler = /** @class */ (function () {
|
48
|
+
function ResourceFetchHandler() {
|
49
49
|
}
|
50
50
|
/**
|
51
51
|
* Returns resource data asynchonously.
|
52
52
|
*
|
53
|
-
* @param
|
54
|
-
* @param
|
55
|
-
* @param options.url URL.
|
53
|
+
* @param document Document.
|
54
|
+
* @param url URL.
|
56
55
|
* @returns Response.
|
57
56
|
*/
|
58
|
-
|
57
|
+
ResourceFetchHandler.fetch = function (document, url) {
|
59
58
|
return __awaiter(this, void 0, void 0, function () {
|
60
59
|
var response;
|
61
60
|
return __generator(this, function (_a) {
|
62
61
|
switch (_a.label) {
|
63
|
-
case 0: return [4 /*yield*/,
|
62
|
+
case 0: return [4 /*yield*/, document.defaultView.fetch(url)];
|
64
63
|
case 1:
|
65
64
|
response = _a.sent();
|
66
65
|
if (!response.ok) {
|
67
|
-
throw new DOMException_1.default("Failed to perform request to \"".concat(
|
66
|
+
throw new DOMException_1.default("Failed to perform request to \"".concat(url, "\". Status code: ").concat(response.status));
|
68
67
|
}
|
69
68
|
return [4 /*yield*/, response.text()];
|
70
69
|
case 2: return [2 /*return*/, _a.sent()];
|
@@ -75,27 +74,21 @@ var ResourceFetcher = /** @class */ (function () {
|
|
75
74
|
/**
|
76
75
|
* Returns resource data synchonously.
|
77
76
|
*
|
78
|
-
* @param
|
79
|
-
* @param
|
80
|
-
* @param options.url URL.
|
77
|
+
* @param document Document.
|
78
|
+
* @param url URL.
|
81
79
|
* @returns Response.
|
82
80
|
*/
|
83
|
-
|
84
|
-
|
85
|
-
var
|
86
|
-
|
87
|
-
|
88
|
-
}
|
89
|
-
catch (error) {
|
90
|
-
throw new DOMException_1.default('Failed to load script. "sync-request" could not be loaded.');
|
91
|
-
}
|
92
|
-
var response = request('GET', url);
|
81
|
+
ResourceFetchHandler.fetchSync = function (document, url) {
|
82
|
+
// We want to only load SyncRequest when it is needed to improve performance and not have direct dependencies to server side packages.
|
83
|
+
var syncRequest = require('sync-request');
|
84
|
+
var absoluteURL = RelativeURL_1.default.getAbsoluteURL(document.defaultView.location, url);
|
85
|
+
var response = syncRequest('GET', absoluteURL);
|
93
86
|
if (response.isError()) {
|
94
|
-
throw new DOMException_1.default("Failed to perform request to \"".concat(
|
87
|
+
throw new DOMException_1.default("Failed to perform request to \"".concat(absoluteURL, "\". Status code: ").concat(response.statusCode));
|
95
88
|
}
|
96
89
|
return response.getBody();
|
97
90
|
};
|
98
|
-
return
|
91
|
+
return ResourceFetchHandler;
|
99
92
|
}());
|
100
|
-
exports.default =
|
101
|
-
//# sourceMappingURL=
|
93
|
+
exports.default = ResourceFetchHandler;
|
94
|
+
//# sourceMappingURL=ResourceFetchHandler.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ResourceFetchHandler.js","sourceRoot":"","sources":["../../src/fetch/ResourceFetchHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wEAAkD;AAClD,2EAAqD;AAGrD;;GAEG;AACH;IAAA;IAuCA,CAAC;IAtCA;;;;;;OAMG;IACiB,0BAAK,GAAzB,UAA0B,QAAmB,EAAE,GAAW;;;;;4BACxC,qBAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAA;;wBAAhD,QAAQ,GAAG,SAAqC;wBACtD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;4BACjB,MAAM,IAAI,sBAAY,CACrB,yCAAiC,GAAG,8BAAmB,QAAQ,CAAC,MAAM,CAAE,CACxE,CAAC;yBACF;wBACM,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;4BAA5B,sBAAO,SAAqB,EAAC;;;;KAC7B;IAED;;;;;;OAMG;IACW,8BAAS,GAAvB,UAAwB,QAAmB,EAAE,GAAW;QACvD,sIAAsI;QACtI,IAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5C,IAAM,WAAW,GAAG,qBAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnF,IAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEjD,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;YACvB,MAAM,IAAI,sBAAY,CACrB,yCAAiC,WAAW,8BAAmB,QAAQ,CAAC,UAAU,CAAE,CACpF,CAAC;SACF;QAED,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACF,2BAAC;AAAD,CAAC,AAvCD,IAuCC"}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
/// <reference types="node" />
|
2
|
+
import IResponse from './IResponse';
|
3
|
+
import IBlob from '../file/IBlob';
|
4
|
+
import IDocument from '../nodes/document/IDocument';
|
5
|
+
import * as NodeFetch from 'node-fetch';
|
6
|
+
/**
|
7
|
+
* Fetch response.
|
8
|
+
*/
|
9
|
+
export default class Response extends NodeFetch.Response implements IResponse {
|
10
|
+
static _ownerDocument: IDocument;
|
11
|
+
/**
|
12
|
+
* Returns array buffer.
|
13
|
+
*
|
14
|
+
* @returns Array buffer.
|
15
|
+
*/
|
16
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
17
|
+
/**
|
18
|
+
* Returns blob.
|
19
|
+
*
|
20
|
+
* @returns Blob.
|
21
|
+
*/
|
22
|
+
blob(): Promise<IBlob>;
|
23
|
+
/**
|
24
|
+
* Returns buffer.
|
25
|
+
*
|
26
|
+
* @returns Buffer.
|
27
|
+
*/
|
28
|
+
buffer(): Promise<Buffer>;
|
29
|
+
/**
|
30
|
+
* Returns json.
|
31
|
+
*
|
32
|
+
* @returns JSON.
|
33
|
+
*/
|
34
|
+
json(): Promise<unknown>;
|
35
|
+
/**
|
36
|
+
* Returns json.
|
37
|
+
*
|
38
|
+
* @returns JSON.
|
39
|
+
*/
|
40
|
+
text(): Promise<string>;
|
41
|
+
/**
|
42
|
+
* Returns json.
|
43
|
+
*
|
44
|
+
* @returns JSON.
|
45
|
+
*/
|
46
|
+
textConverted(): Promise<string>;
|
47
|
+
/**
|
48
|
+
* Handles promise start.
|
49
|
+
*
|
50
|
+
* @returns Task ID.
|
51
|
+
*/
|
52
|
+
private _handlePromiseStart;
|
53
|
+
/**
|
54
|
+
* Handles promise end.
|
55
|
+
*
|
56
|
+
* @param resolve Resolve.
|
57
|
+
* @param reject Reject.
|
58
|
+
* @param taskID Task ID.
|
59
|
+
* @param response Response.
|
60
|
+
*/
|
61
|
+
private _handlePromiseEnd;
|
62
|
+
/**
|
63
|
+
* Handles promise error.
|
64
|
+
*
|
65
|
+
* @param error
|
66
|
+
* @param reject
|
67
|
+
*/
|
68
|
+
private _handlePromiseError;
|
69
|
+
}
|
@@ -0,0 +1,179 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
3
|
+
var extendStatics = function (d, b) {
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
7
|
+
return extendStatics(d, b);
|
8
|
+
};
|
9
|
+
return function (d, b) {
|
10
|
+
if (typeof b !== "function" && b !== null)
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
12
|
+
extendStatics(d, b);
|
13
|
+
function __() { this.constructor = d; }
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
15
|
+
};
|
16
|
+
})();
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
18
|
+
if (k2 === undefined) k2 = k;
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
22
|
+
}
|
23
|
+
Object.defineProperty(o, k2, desc);
|
24
|
+
}) : (function(o, m, k, k2) {
|
25
|
+
if (k2 === undefined) k2 = k;
|
26
|
+
o[k2] = m[k];
|
27
|
+
}));
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
30
|
+
}) : function(o, v) {
|
31
|
+
o["default"] = v;
|
32
|
+
});
|
33
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
34
|
+
if (mod && mod.__esModule) return mod;
|
35
|
+
var result = {};
|
36
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
37
|
+
__setModuleDefault(result, mod);
|
38
|
+
return result;
|
39
|
+
};
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
41
|
+
var NodeFetch = __importStar(require("node-fetch"));
|
42
|
+
/**
|
43
|
+
* Fetch response.
|
44
|
+
*/
|
45
|
+
var Response = /** @class */ (function (_super) {
|
46
|
+
__extends(Response, _super);
|
47
|
+
function Response() {
|
48
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
49
|
+
}
|
50
|
+
/**
|
51
|
+
* Returns array buffer.
|
52
|
+
*
|
53
|
+
* @returns Array buffer.
|
54
|
+
*/
|
55
|
+
Response.prototype.arrayBuffer = function () {
|
56
|
+
var _this = this;
|
57
|
+
return new Promise(function (resolve, reject) {
|
58
|
+
var taskID = _this._handlePromiseStart();
|
59
|
+
_super.prototype.arrayBuffer.call(_this)
|
60
|
+
.then(_this._handlePromiseEnd.bind(_this, resolve, reject, taskID))
|
61
|
+
.catch(_this._handlePromiseError.bind(_this, reject));
|
62
|
+
});
|
63
|
+
};
|
64
|
+
/**
|
65
|
+
* Returns blob.
|
66
|
+
*
|
67
|
+
* @returns Blob.
|
68
|
+
*/
|
69
|
+
Response.prototype.blob = function () {
|
70
|
+
var _this = this;
|
71
|
+
return new Promise(function (resolve, reject) {
|
72
|
+
var taskID = _this._handlePromiseStart();
|
73
|
+
_super.prototype.blob.call(_this)
|
74
|
+
.then(_this._handlePromiseEnd.bind(_this, resolve, reject, taskID))
|
75
|
+
.catch(_this._handlePromiseError.bind(_this, reject));
|
76
|
+
});
|
77
|
+
};
|
78
|
+
/**
|
79
|
+
* Returns buffer.
|
80
|
+
*
|
81
|
+
* @returns Buffer.
|
82
|
+
*/
|
83
|
+
Response.prototype.buffer = function () {
|
84
|
+
var _this = this;
|
85
|
+
return new Promise(function (resolve, reject) {
|
86
|
+
var taskID = _this._handlePromiseStart();
|
87
|
+
_super.prototype.buffer.call(_this)
|
88
|
+
.then(_this._handlePromiseEnd.bind(_this, resolve, reject, taskID))
|
89
|
+
.catch(_this._handlePromiseError.bind(_this, reject));
|
90
|
+
});
|
91
|
+
};
|
92
|
+
/**
|
93
|
+
* Returns json.
|
94
|
+
*
|
95
|
+
* @returns JSON.
|
96
|
+
*/
|
97
|
+
Response.prototype.json = function () {
|
98
|
+
var _this = this;
|
99
|
+
return new Promise(function (resolve, reject) {
|
100
|
+
var taskID = _this._handlePromiseStart();
|
101
|
+
_super.prototype.json.call(_this)
|
102
|
+
.then(_this._handlePromiseEnd.bind(_this, resolve, reject, taskID))
|
103
|
+
.catch(_this._handlePromiseError.bind(_this, reject));
|
104
|
+
});
|
105
|
+
};
|
106
|
+
/**
|
107
|
+
* Returns json.
|
108
|
+
*
|
109
|
+
* @returns JSON.
|
110
|
+
*/
|
111
|
+
Response.prototype.text = function () {
|
112
|
+
var _this = this;
|
113
|
+
return new Promise(function (resolve, reject) {
|
114
|
+
var taskID = _this._handlePromiseStart();
|
115
|
+
_super.prototype.text.call(_this)
|
116
|
+
.then(_this._handlePromiseEnd.bind(_this, resolve, reject, taskID))
|
117
|
+
.catch(_this._handlePromiseError.bind(_this, reject));
|
118
|
+
});
|
119
|
+
};
|
120
|
+
/**
|
121
|
+
* Returns json.
|
122
|
+
*
|
123
|
+
* @returns JSON.
|
124
|
+
*/
|
125
|
+
Response.prototype.textConverted = function () {
|
126
|
+
var _this = this;
|
127
|
+
return new Promise(function (resolve, reject) {
|
128
|
+
var taskID = _this._handlePromiseStart();
|
129
|
+
_super.prototype.textConverted.call(_this)
|
130
|
+
.then(_this._handlePromiseEnd.bind(_this, resolve, reject, taskID))
|
131
|
+
.catch(_this._handlePromiseError.bind(_this, reject));
|
132
|
+
});
|
133
|
+
};
|
134
|
+
/**
|
135
|
+
* Handles promise start.
|
136
|
+
*
|
137
|
+
* @returns Task ID.
|
138
|
+
*/
|
139
|
+
Response.prototype._handlePromiseStart = function () {
|
140
|
+
var taskManager = this.constructor._ownerDocument.defaultView.happyDOM
|
141
|
+
.asyncTaskManager;
|
142
|
+
return taskManager.startTask();
|
143
|
+
};
|
144
|
+
/**
|
145
|
+
* Handles promise end.
|
146
|
+
*
|
147
|
+
* @param resolve Resolve.
|
148
|
+
* @param reject Reject.
|
149
|
+
* @param taskID Task ID.
|
150
|
+
* @param response Response.
|
151
|
+
*/
|
152
|
+
Response.prototype._handlePromiseEnd = function (resolve, reject, taskID, response) {
|
153
|
+
var taskManager = this.constructor._ownerDocument.defaultView.happyDOM
|
154
|
+
.asyncTaskManager;
|
155
|
+
if (taskManager.getTaskCount() === 0) {
|
156
|
+
reject(new Error('Failed to complete fetch request. Task was canceled.'));
|
157
|
+
}
|
158
|
+
else {
|
159
|
+
resolve(response);
|
160
|
+
taskManager.endTask(taskID);
|
161
|
+
}
|
162
|
+
};
|
163
|
+
/**
|
164
|
+
* Handles promise error.
|
165
|
+
*
|
166
|
+
* @param error
|
167
|
+
* @param reject
|
168
|
+
*/
|
169
|
+
Response.prototype._handlePromiseError = function (reject, error) {
|
170
|
+
var taskManager = this.constructor._ownerDocument.defaultView.happyDOM
|
171
|
+
.asyncTaskManager;
|
172
|
+
reject(error);
|
173
|
+
taskManager.cancelAll(error);
|
174
|
+
};
|
175
|
+
Response._ownerDocument = null;
|
176
|
+
return Response;
|
177
|
+
}(NodeFetch.Response));
|
178
|
+
exports.default = Response;
|
179
|
+
//# sourceMappingURL=Response.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Response.js","sourceRoot":"","sources":["../../src/fetch/Response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oDAAwC;AAExC;;GAEG;AACH;IAAsC,4BAAkB;IAAxD;;IA4IA,CAAC;IAzIA;;;;OAIG;IACI,8BAAW,GAAlB;QAAA,iBAQC;QAPA,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAClC,IAAM,MAAM,GAAG,KAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,iBACE,WAAW,YAAE;iBACb,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE,KAAK,CAAC,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,uBAAI,GAAX;QAAA,iBAQC;QAPA,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAClC,IAAM,MAAM,GAAG,KAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,iBACE,IAAI,YAAE;iBACN,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE,KAAK,CAAC,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,yBAAM,GAAb;QAAA,iBAQC;QAPA,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAClC,IAAM,MAAM,GAAG,KAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,iBACE,MAAM,YAAE;iBACR,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE,KAAK,CAAC,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,uBAAI,GAAX;QAAA,iBAQC;QAPA,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAClC,IAAM,MAAM,GAAG,KAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,iBACE,IAAI,YAAE;iBACN,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE,KAAK,CAAC,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,uBAAI,GAAX;QAAA,iBAQC;QAPA,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAClC,IAAM,MAAM,GAAG,KAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,iBACE,IAAI,YAAE;iBACN,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE,KAAK,CAAC,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,gCAAa,GAApB;QAAA,iBAQC;QAPA,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAClC,IAAM,MAAM,GAAG,KAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1C,iBACE,aAAa,YAAE;iBACf,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE,KAAK,CAAC,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,sCAAmB,GAA3B;QACC,IAAM,WAAW,GAAqB,IAAI,CAAC,WAAY,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ;aACzF,gBAAgB,CAAC;QACnB,OAAO,WAAW,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACK,oCAAiB,GAAzB,UACC,OAAoC,EACpC,MAA8B,EAC9B,MAAc,EACd,QAAiB;QAEjB,IAAM,WAAW,GAAqB,IAAI,CAAC,WAAY,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ;aACzF,gBAAgB,CAAC;QACnB,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,sCAAmB,GAA3B,UAA4B,MAA8B,EAAE,KAAY;QACvE,IAAM,WAAW,GAAqB,IAAI,CAAC,WAAY,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ;aACzF,gBAAgB,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,CAAC;QACd,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IA1Ia,uBAAc,GAAc,IAAI,CAAC;IA2IhD,eAAC;CAAA,AA5ID,CAAsC,SAAS,CAAC,QAAQ,GA4IvD;kBA5IoB,QAAQ"}
|
package/lib/file/Blob.d.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
/// <reference types="node" />
|
2
|
+
import IBlob from './IBlob';
|
2
3
|
/**
|
3
4
|
* Reference:
|
4
5
|
* https://developer.mozilla.org/en-US/docs/Web/API/Blob.
|
@@ -6,7 +7,7 @@
|
|
6
7
|
* Based on:
|
7
8
|
* https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/file-api/Blob-impl.js (MIT licensed).
|
8
9
|
*/
|
9
|
-
export default class Blob {
|
10
|
+
export default class Blob implements IBlob {
|
10
11
|
readonly _buffer: Buffer;
|
11
12
|
readonly type: string;
|
12
13
|
/**
|
@@ -34,6 +35,12 @@ export default class Blob {
|
|
34
35
|
* @returns New Blob.
|
35
36
|
*/
|
36
37
|
slice(start?: number, end?: number, contentType?: string): Blob;
|
38
|
+
/**
|
39
|
+
* Returns a Promise that resolves to a text.
|
40
|
+
*
|
41
|
+
* @returns Text.
|
42
|
+
*/
|
43
|
+
text(): Promise<string>;
|
37
44
|
/**
|
38
45
|
* Closes the blob.
|
39
46
|
*
|
package/lib/file/Blob.js
CHANGED
@@ -1,4 +1,40 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
15
|
+
function step(op) {
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
17
|
+
while (_) try {
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
20
|
+
switch (op[0]) {
|
21
|
+
case 0: case 1: t = op; break;
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
25
|
+
default:
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
30
|
+
if (t[2]) _.ops.pop();
|
31
|
+
_.trys.pop(); continue;
|
32
|
+
}
|
33
|
+
op = body.call(thisArg, _);
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
36
|
+
}
|
37
|
+
};
|
2
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
39
|
/**
|
4
40
|
* Reference:
|
@@ -107,6 +143,18 @@ var Blob = /** @class */ (function () {
|
|
107
143
|
blob._buffer = slicedBuffer;
|
108
144
|
return blob;
|
109
145
|
};
|
146
|
+
/**
|
147
|
+
* Returns a Promise that resolves to a text.
|
148
|
+
*
|
149
|
+
* @returns Text.
|
150
|
+
*/
|
151
|
+
Blob.prototype.text = function () {
|
152
|
+
return __awaiter(this, void 0, void 0, function () {
|
153
|
+
return __generator(this, function (_a) {
|
154
|
+
return [2 /*return*/, this._buffer.toString()];
|
155
|
+
});
|
156
|
+
});
|
157
|
+
};
|
110
158
|
/**
|
111
159
|
* Closes the blob.
|
112
160
|
*
|
package/lib/file/Blob.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Blob.js","sourceRoot":"","sources":["../../src/file/Blob.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"Blob.js","sourceRoot":"","sources":["../../src/file/Blob.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IBlob.js","sourceRoot":"","sources":["../../src/file/IBlob.ts"],"names":[],"mappings":""}
|