mphttpx 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +994 -994
  2. package/dist/cjs/fetchP.js +22 -0
  3. package/dist/cjs/index.js +197 -55
  4. package/dist/esm/fetchP.js +12 -0
  5. package/dist/esm/index.js +5 -18
  6. package/dist/index.d.ts +8 -394
  7. package/dist/mphttpx.cjs.js +6646 -0
  8. package/dist/mphttpx.cjs.min.js +1 -1
  9. package/dist/mphttpx.esm.js +6595 -0
  10. package/dist/mphttpx.esm.min.js +1 -1
  11. package/package.json +27 -9
  12. package/dist/cjs/encoding/TextDecoderP.js +0 -174
  13. package/dist/cjs/encoding/TextEncoderP.js +0 -121
  14. package/dist/cjs/event-system/AbortControllerP.js +0 -28
  15. package/dist/cjs/event-system/AbortSignalP.js +0 -120
  16. package/dist/cjs/event-system/CloseEventP.js +0 -36
  17. package/dist/cjs/event-system/CustomEventP.js +0 -35
  18. package/dist/cjs/event-system/EventP.js +0 -127
  19. package/dist/cjs/event-system/EventTargetP.js +0 -155
  20. package/dist/cjs/event-system/MessageEventP.js +0 -61
  21. package/dist/cjs/event-system/ProgressEventP.js +0 -42
  22. package/dist/cjs/fetch-api/BodyImpl.js +0 -167
  23. package/dist/cjs/fetch-api/HeadersP.js +0 -155
  24. package/dist/cjs/fetch-api/RequestP.js +0 -163
  25. package/dist/cjs/fetch-api/ResponseP.js +0 -93
  26. package/dist/cjs/fetch-api/fetchP.js +0 -125
  27. package/dist/cjs/file-system/BlobP.js +0 -111
  28. package/dist/cjs/file-system/FileP.js +0 -34
  29. package/dist/cjs/file-system/FileReaderP.js +0 -173
  30. package/dist/cjs/helpers/Payload.js +0 -96
  31. package/dist/cjs/helpers/decode.js +0 -11
  32. package/dist/cjs/helpers/emitEvent.js +0 -14
  33. package/dist/cjs/helpers/emitProgressEvent.js +0 -19
  34. package/dist/cjs/helpers/encode.js +0 -11
  35. package/dist/cjs/helpers/handlers.js +0 -23
  36. package/dist/cjs/helpers/isArrayBuffer.js +0 -11
  37. package/dist/cjs/helpers/isBlob.js +0 -20
  38. package/dist/cjs/helpers/isEventTarget.js +0 -18
  39. package/dist/cjs/helpers/isSequence.js +0 -13
  40. package/dist/cjs/helpers/isURLSearchParams.js +0 -10
  41. package/dist/cjs/helpers/normalizeMethod.js +0 -11
  42. package/dist/cjs/helpers/statusTextMap.js +0 -68
  43. package/dist/cjs/helpers/toBase64.js +0 -28
  44. package/dist/cjs/mini-program/WebSocketImpl.js +0 -197
  45. package/dist/cjs/mini-program/XMLHttpRequestImpl.js +0 -493
  46. package/dist/cjs/mini-program/connectSocket.js +0 -28
  47. package/dist/cjs/mini-program/platform.js +0 -29
  48. package/dist/cjs/mini-program/request.js +0 -36
  49. package/dist/cjs/network/FormDataP.js +0 -160
  50. package/dist/cjs/network/URLSearchParamsP.js +0 -226
  51. package/dist/cjs/network/XMLHttpRequestEventTargetP.js +0 -64
  52. package/dist/cjs/network/XMLHttpRequestUploadP.js +0 -28
  53. package/dist/cjs/utils.js +0 -56
  54. package/dist/esm/encoding/TextDecoderP.js +0 -171
  55. package/dist/esm/encoding/TextEncoderP.js +0 -118
  56. package/dist/esm/event-system/AbortControllerP.js +0 -25
  57. package/dist/esm/event-system/AbortSignalP.js +0 -115
  58. package/dist/esm/event-system/CloseEventP.js +0 -34
  59. package/dist/esm/event-system/CustomEventP.js +0 -32
  60. package/dist/esm/event-system/EventP.js +0 -122
  61. package/dist/esm/event-system/EventTargetP.js +0 -150
  62. package/dist/esm/event-system/MessageEventP.js +0 -59
  63. package/dist/esm/event-system/ProgressEventP.js +0 -40
  64. package/dist/esm/fetch-api/BodyImpl.js +0 -164
  65. package/dist/esm/fetch-api/HeadersP.js +0 -149
  66. package/dist/esm/fetch-api/RequestP.js +0 -160
  67. package/dist/esm/fetch-api/ResponseP.js +0 -90
  68. package/dist/esm/fetch-api/fetchP.js +0 -121
  69. package/dist/esm/file-system/BlobP.js +0 -108
  70. package/dist/esm/file-system/FileP.js +0 -31
  71. package/dist/esm/file-system/FileReaderP.js +0 -170
  72. package/dist/esm/helpers/Payload.js +0 -94
  73. package/dist/esm/helpers/decode.js +0 -9
  74. package/dist/esm/helpers/emitEvent.js +0 -12
  75. package/dist/esm/helpers/emitProgressEvent.js +0 -17
  76. package/dist/esm/helpers/encode.js +0 -9
  77. package/dist/esm/helpers/handlers.js +0 -20
  78. package/dist/esm/helpers/isArrayBuffer.js +0 -9
  79. package/dist/esm/helpers/isBlob.js +0 -18
  80. package/dist/esm/helpers/isEventTarget.js +0 -16
  81. package/dist/esm/helpers/isSequence.js +0 -11
  82. package/dist/esm/helpers/isURLSearchParams.js +0 -8
  83. package/dist/esm/helpers/normalizeMethod.js +0 -9
  84. package/dist/esm/helpers/statusTextMap.js +0 -66
  85. package/dist/esm/helpers/toBase64.js +0 -26
  86. package/dist/esm/mini-program/WebSocketImpl.js +0 -193
  87. package/dist/esm/mini-program/XMLHttpRequestImpl.js +0 -489
  88. package/dist/esm/mini-program/connectSocket.js +0 -26
  89. package/dist/esm/mini-program/platform.js +0 -27
  90. package/dist/esm/mini-program/request.js +0 -34
  91. package/dist/esm/network/FormDataP.js +0 -157
  92. package/dist/esm/network/URLSearchParamsP.js +0 -223
  93. package/dist/esm/network/XMLHttpRequestEventTargetP.js +0 -61
  94. package/dist/esm/network/XMLHttpRequestUploadP.js +0 -25
  95. package/dist/esm/utils.js +0 -48
@@ -1,28 +0,0 @@
1
- 'use strict';
2
-
3
- var platform = require('./platform.js');
4
-
5
- /** @internal */
6
- function getConnectSocket() {
7
- let mp = platform.getPlatform();
8
- return mp ? mp.connectSocket : function errorConnectSocket(options) {
9
- return {
10
- send(obj) { },
11
- close(obj) { },
12
- onOpen(listener) { },
13
- onMessage(listener) { },
14
- onError(listener) {
15
- if (typeof listener === "function") {
16
- listener({ errMsg: "NOT_SUPPORTED_ERR" });
17
- }
18
- },
19
- onClose(listener) {
20
- if (typeof listener === "function") {
21
- setTimeout(() => { listener({ code: 3009, reason: "NOT_SUPPORTED_ERR" }); });
22
- }
23
- },
24
- };
25
- };
26
- }
27
-
28
- exports.getConnectSocket = getConnectSocket;
@@ -1,29 +0,0 @@
1
- 'use strict';
2
-
3
- /** @internal */
4
- function getPlatform() {
5
- let u = "undefined", r = "request", f = "function";
6
- let mp;
7
- mp =
8
- (typeof wx !== u && typeof (wx === null || wx === void 0 ? void 0 : wx[r]) === f && wx) || // 微信
9
- (typeof my !== u && typeof (my === null || my === void 0 ? void 0 : my[r]) === f && my) || // 支付宝
10
- (typeof qq !== u && typeof (qq === null || qq === void 0 ? void 0 : qq[r]) === f && qq) || // QQ
11
- (typeof jd !== u && typeof (jd === null || jd === void 0 ? void 0 : jd[r]) === f && jd) || // 京东
12
- (typeof swan !== u && typeof (swan === null || swan === void 0 ? void 0 : swan[r]) === f && swan) || // 百度
13
- (typeof tt !== u && typeof (tt === null || tt === void 0 ? void 0 : tt[r]) === f && tt) || // 抖音 | 飞书
14
- (typeof ks !== u && typeof (ks === null || ks === void 0 ? void 0 : ks[r]) === f && ks) || // 快手
15
- (typeof qh !== u && typeof (qh === null || qh === void 0 ? void 0 : qh[r]) === f && qh) || // 360
16
- (typeof xhs !== u && typeof (xhs === null || xhs === void 0 ? void 0 : xhs[r]) === f && xhs) || // 小红书
17
- undefined;
18
- if (typeof XMLHttpRequest === f && typeof WebSocket === f) {
19
- return;
20
- }
21
- if (mp === undefined)
22
- mp =
23
- (typeof uni !== u && typeof (uni === null || uni === void 0 ? void 0 : uni[r]) === f && uni) || // UniApp
24
- (typeof Taro !== u && typeof (Taro === null || Taro === void 0 ? void 0 : Taro[r]) === f && Taro) || // Taro
25
- undefined;
26
- return mp;
27
- }
28
-
29
- exports.getPlatform = getPlatform;
@@ -1,36 +0,0 @@
1
- 'use strict';
2
-
3
- var platform = require('./platform.js');
4
-
5
- /** @internal */
6
- function getRequest() {
7
- let mp = platform.getPlatform();
8
- return mp ? mp.request : function errorRequest(options) {
9
- const errMsg = "NOT_SUPPORTED_ERR";
10
- const errno = 9;
11
- const err = {
12
- errMsg,
13
- errno,
14
- exception: {
15
- retryCount: 0,
16
- reasons: [{ errMsg, errno }],
17
- },
18
- useHttpDNS: false,
19
- };
20
- Promise.resolve(err)
21
- .then(err => { try {
22
- if (options.fail) {
23
- options.fail(err);
24
- }
25
- }
26
- catch (e) {
27
- console.error(e);
28
- } })
29
- .then(() => { if (options.complete) {
30
- options.complete(err);
31
- } });
32
- throw new ReferenceError("request is not defined");
33
- };
34
- }
35
-
36
- exports.getRequest = getRequest;
@@ -1,160 +0,0 @@
1
- 'use strict';
2
-
3
- var isBlob = require('../helpers/isBlob.js');
4
- var FileP = require('../file-system/FileP.js');
5
- var utils = require('../utils.js');
6
-
7
- class FormDataP {
8
- constructor(form, submitter) {
9
- if (submitter === undefined) {
10
- if (form !== undefined) {
11
- throw new TypeError("Failed to construct 'FormData': parameter 1 not implemented.");
12
- }
13
- }
14
- else {
15
- if (submitter !== null) {
16
- throw new TypeError("Failed to construct 'FormData': parameter 1 and parameter 2 not implemented.");
17
- }
18
- }
19
- utils.setState(this, "__FormData__", new FormDataState());
20
- }
21
- append(name, blobValue, filename) {
22
- checkArgsFn(arguments.length, 2, "append");
23
- state(this).array.push(normalizeArgs(name, blobValue, filename));
24
- }
25
- delete(name) {
26
- checkArgsFn(arguments.length, 1, "delete");
27
- let _name = "" + name;
28
- let index = -1;
29
- let array = state(this).array;
30
- let result = [];
31
- for (let i = 0; i < array.length; ++i) {
32
- let item = array[i];
33
- if (item[0] === _name) {
34
- index = i;
35
- continue;
36
- }
37
- result.push(item);
38
- }
39
- if (index > -1) {
40
- state(this).array = result;
41
- }
42
- }
43
- get(name) {
44
- checkArgsFn(arguments.length, 1, "get");
45
- let _name = "" + name;
46
- let array = state(this).array;
47
- for (let i = 0; i < array.length; ++i) {
48
- let item = array[i];
49
- if (item[0] === _name) {
50
- return item[1];
51
- }
52
- }
53
- return null;
54
- }
55
- getAll(name) {
56
- checkArgsFn(arguments.length, 1, "getAll");
57
- let _name = "" + name;
58
- let array = state(this).array;
59
- let result = [];
60
- for (let i = 0; i < array.length; ++i) {
61
- let item = array[i];
62
- if (item[0] === _name) {
63
- result.push(item[1]);
64
- }
65
- }
66
- return result;
67
- }
68
- has(name) {
69
- checkArgsFn(arguments.length, 1, "has");
70
- let _name = "" + name;
71
- let array = state(this).array;
72
- for (let i = 0; i < array.length; ++i) {
73
- let item = array[i];
74
- if (item[0] === _name) {
75
- return true;
76
- }
77
- }
78
- return false;
79
- }
80
- set(name, blobValue, filename) {
81
- checkArgsFn(arguments.length, 2, "set");
82
- let _name = "" + name;
83
- let _args = normalizeArgs(name, blobValue, filename);
84
- let index = -1;
85
- let array = state(this).array;
86
- let result = [];
87
- for (let i = 0; i < array.length; ++i) {
88
- let item = array[i];
89
- if (item[0] === _name) {
90
- if (index === -1) {
91
- index = i;
92
- result.push(_args);
93
- }
94
- continue;
95
- }
96
- result.push(item);
97
- }
98
- if (index === -1) {
99
- result.push(_args);
100
- }
101
- state(this).array = result;
102
- }
103
- forEach(callbackfn, thisArg) {
104
- checkArgsFn(arguments.length, 1, "forEach");
105
- if (typeof callbackfn !== "function") {
106
- throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.");
107
- }
108
- let array = state(this).array;
109
- for (let i = 0; i < array.length; ++i) {
110
- let item = array[i];
111
- callbackfn.call(thisArg, item[1], item[0], thisArg);
112
- }
113
- }
114
- entries() {
115
- return state(this).array.map(x => [x[0], x[1]]).values();
116
- }
117
- keys() {
118
- return state(this).array.map(x => x[0]).values();
119
- }
120
- values() {
121
- return state(this).array.map(x => x[1]).values();
122
- }
123
- // @ts-ignore
124
- /** @internal */ [utils.SymbolP.iterator]() {
125
- return this.entries();
126
- }
127
- /** @internal */ toString() { return "[object FormData]"; }
128
- /** @internal */ get [utils.SymbolP.toStringTag]() { return "FormData"; }
129
- /** @internal */ get __MPHTTPX__() { return { chain: ["FormData"] }; }
130
- }
131
- /** @internal */
132
- class FormDataState {
133
- constructor() {
134
- this.array = [];
135
- }
136
- }
137
- function state(target) {
138
- return target.__FormData__;
139
- }
140
- function checkArgsFn(actual, expect, funcName) {
141
- return utils.checkArgsLength(actual, expect, "FormData", funcName);
142
- }
143
- function normalizeArgs(name, value, filename) {
144
- if (isBlob.isBlob(value)) {
145
- filename = filename !== undefined
146
- ? ("" + filename)
147
- : typeof value.name === "string"
148
- ? value.name
149
- : "blob";
150
- if (value.name !== filename || isBlob.isBlob(value, true)) {
151
- value = new FileP.FileP([value], filename);
152
- }
153
- return ["" + name, value];
154
- }
155
- return ["" + name, "" + value];
156
- }
157
- const FormDataE = (typeof FormData !== "undefined" && FormData) || FormDataP;
158
-
159
- exports.FormData = FormDataE;
160
- exports.FormDataP = FormDataP;
@@ -1,226 +0,0 @@
1
- 'use strict';
2
-
3
- var utils = require('../utils.js');
4
- var isSequence = require('../helpers/isSequence.js');
5
- var isURLSearchParams = require('../helpers/isURLSearchParams.js');
6
-
7
- class URLSearchParamsP {
8
- constructor(init) {
9
- utils.setState(this, "__URLSearchParams__", new URLSearchParamsState());
10
- if (init !== undefined) {
11
- if (isURLSearchParams.isURLSearchParams(init)) {
12
- init.forEach((value, name) => { this.append(name, value); }, this);
13
- }
14
- else if (init && typeof init === "object") {
15
- if (isSequence.isSequence(init)) {
16
- let _init = Array.isArray(init) ? init : Array.from(init);
17
- for (let i = 0; i < _init.length; ++i) {
18
- let item = _init[i];
19
- if (isSequence.isSequence(item)) {
20
- let pair = Array.isArray(item) ? item : Array.from(item);
21
- if (pair.length === 2) {
22
- this.append(pair[0], pair[1]);
23
- }
24
- else {
25
- throw new TypeError("Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements");
26
- }
27
- }
28
- else {
29
- throw new TypeError("Failed to construct 'URLSearchParams': The provided value cannot be converted to a sequence.");
30
- }
31
- }
32
- }
33
- else {
34
- Object.getOwnPropertyNames(init).forEach(name => { this.append(name, init[name]); }, this);
35
- }
36
- }
37
- else {
38
- let _init = "" + init;
39
- if (_init.indexOf("?") === 0) {
40
- _init = _init.slice(1);
41
- }
42
- let pairs = _init.split("&");
43
- for (let i = 0; i < pairs.length; ++i) {
44
- let pair = pairs[i], separatorIndex = pair.indexOf("=");
45
- if (separatorIndex > -1) {
46
- this.append(decode(pair.slice(0, separatorIndex)), decode(pair.slice(separatorIndex + 1)));
47
- }
48
- else {
49
- if (pair) {
50
- this.append(decode(pair), "");
51
- }
52
- }
53
- }
54
- }
55
- }
56
- }
57
- get size() { return state(this).array.length; }
58
- append(name, value) {
59
- checkArgsFn(arguments.length, 2, "append");
60
- state(this).array.push(["" + name, normalizeValue(value)]);
61
- }
62
- delete(name, value) {
63
- checkArgsFn(arguments.length, 1, "delete");
64
- let _name = "" + name;
65
- let index = -1;
66
- let array = state(this).array;
67
- let result = [];
68
- for (let i = 0; i < array.length; ++i) {
69
- let item = array[i];
70
- if (item[0] === _name) {
71
- if (arguments.length !== 1 && item[1] !== normalizeValue(value)) {
72
- result.push(item);
73
- }
74
- index = i;
75
- continue;
76
- }
77
- result.push(item);
78
- }
79
- if (index > -1) {
80
- state(this).array = result;
81
- }
82
- }
83
- get(name) {
84
- checkArgsFn(arguments.length, 1, "get");
85
- let _name = "" + name;
86
- let array = state(this).array;
87
- for (let i = 0; i < array.length; ++i) {
88
- let item = array[i];
89
- if (item[0] === _name) {
90
- return item[1];
91
- }
92
- }
93
- return null;
94
- }
95
- getAll(name) {
96
- checkArgsFn(arguments.length, 1, "getAll");
97
- let _name = "" + name;
98
- let array = state(this).array;
99
- let result = [];
100
- for (let i = 0; i < array.length; ++i) {
101
- let item = array[i];
102
- if (item[0] === _name) {
103
- result.push(item[1]);
104
- }
105
- }
106
- return result;
107
- }
108
- has(name, value) {
109
- checkArgsFn(arguments.length, 1, "has");
110
- let _name = "" + name;
111
- let array = state(this).array;
112
- for (let i = 0; i < array.length; ++i) {
113
- let item = array[i];
114
- if (item[0] === _name) {
115
- if (arguments.length === 1) {
116
- return true;
117
- }
118
- else {
119
- if (item[1] === normalizeValue(value)) {
120
- return true;
121
- }
122
- }
123
- }
124
- }
125
- return false;
126
- }
127
- set(name, value) {
128
- checkArgsFn(arguments.length, 2, "set");
129
- let _name = "" + name;
130
- let _value = normalizeValue(value);
131
- let index = -1;
132
- let array = state(this).array;
133
- let result = [];
134
- for (let i = 0; i < array.length; ++i) {
135
- let item = array[i];
136
- if (item[0] === _name) {
137
- if (index === -1) {
138
- index = i;
139
- result.push([_name, _value]);
140
- }
141
- continue;
142
- }
143
- result.push(item);
144
- }
145
- if (index === -1) {
146
- result.push([_name, _value]);
147
- }
148
- state(this).array = result;
149
- }
150
- sort() {
151
- state(this).array.sort((a, b) => a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0);
152
- }
153
- forEach(callbackfn, thisArg) {
154
- checkArgsFn(arguments.length, 1, "forEach");
155
- if (typeof callbackfn !== "function") {
156
- throw new TypeError("Failed to execute 'forEach' on 'URLSearchParams': parameter 1 is not of type 'Function'.");
157
- }
158
- let array = state(this).array;
159
- for (let i = 0; i < array.length; ++i) {
160
- let item = array[i];
161
- callbackfn.call(thisArg, item[1], item[0], this);
162
- }
163
- }
164
- entries() {
165
- return state(this).array.map(x => [x[0], x[1]]).values();
166
- }
167
- keys() {
168
- return state(this).array.map(x => x[0]).values();
169
- }
170
- values() {
171
- return state(this).array.map(x => x[1]).values();
172
- }
173
- // @ts-ignore
174
- /** @internal */ [utils.SymbolP.iterator]() {
175
- return this.entries();
176
- }
177
- toString() {
178
- let array = state(this).array;
179
- let result = [];
180
- for (let i = 0; i < array.length; ++i) {
181
- let item = array[i];
182
- result.push(encode(item[0]) + "=" + encode(item[1]));
183
- }
184
- return result.join("&");
185
- }
186
- /** @internal */ get [utils.SymbolP.toStringTag]() { return "URLSearchParams"; }
187
- /** @internal */ get __MPHTTPX__() { return { chain: ["URLSearchParams"] }; }
188
- }
189
- /** @internal */
190
- class URLSearchParamsState {
191
- constructor() {
192
- this.array = [];
193
- }
194
- }
195
- function state(target) {
196
- return target.__URLSearchParams__;
197
- }
198
- function checkArgsFn(actual, expect, funcName) {
199
- utils.checkArgsLength(actual, expect, "URLSearchParams", funcName);
200
- }
201
- function normalizeValue(value) {
202
- return typeof value === "string" ? value : (value !== null && value !== undefined && typeof value.toString === "function"
203
- ? value.toString()
204
- : JSON.stringify(value));
205
- }
206
- function encode(str) {
207
- const replace = {
208
- "!": "%21",
209
- "'": "%27",
210
- "(": "%28",
211
- ")": "%29",
212
- "~": "%7E",
213
- "%20": "+",
214
- "%00": "\x00",
215
- };
216
- return encodeURIComponent(str).replace(/[!'\(\)~]|%20|%00/g, match => replace[match]);
217
- }
218
- function decode(str) {
219
- return str
220
- .replace(/[ +]/g, "%20")
221
- .replace(/(%[a-f0-9]{2})+/ig, match => decodeURIComponent(match));
222
- }
223
- const URLSearchParamsE = (typeof URLSearchParams !== "undefined" && URLSearchParams) || URLSearchParamsP;
224
-
225
- exports.URLSearchParams = URLSearchParamsE;
226
- exports.URLSearchParamsP = URLSearchParamsP;
@@ -1,64 +0,0 @@
1
- 'use strict';
2
-
3
- var utils = require('../utils.js');
4
- var handlers = require('../helpers/handlers.js');
5
- var EventTargetP = require('../event-system/EventTargetP.js');
6
-
7
- class XMLHttpRequestEventTargetP extends EventTargetP.EventTargetP {
8
- /** @internal */
9
- constructor() {
10
- if (new.target === XMLHttpRequestEventTargetP) {
11
- throw new TypeError("Failed to construct 'XMLHttpRequestEventTarget': Illegal constructor");
12
- }
13
- super();
14
- utils.setState(this, "__XMLHttpRequestEventTarget__", new XMLHttpRequestEventTargetState(this));
15
- }
16
- get onabort() { return state(this).onabort; }
17
- set onabort(value) { state(this).onabort = value; state(this).attach("abort"); }
18
- get onerror() { return state(this).onerror; }
19
- set onerror(value) { state(this).onerror = value; state(this).attach("error"); }
20
- get onload() { return state(this).onload; }
21
- set onload(value) { state(this).onload = value; state(this).attach("load"); }
22
- get onloadend() { return state(this).onloadend; }
23
- set onloadend(value) { state(this).onloadend = value; state(this).attach("loadend"); }
24
- get onloadstart() { return state(this).onloadstart; }
25
- set onloadstart(value) { state(this).onloadstart = value; state(this).attach("loadstart"); }
26
- get onprogress() { return state(this).onprogress; }
27
- set onprogress(value) { state(this).onprogress = value; state(this).attach("progress"); }
28
- get ontimeout() { return state(this).ontimeout; }
29
- set ontimeout(value) { state(this).ontimeout = value; state(this).attach("timeout"); }
30
- /** @internal */ toString() { return "[object XMLHttpRequestEventTarget]"; }
31
- /** @internal */ get [utils.SymbolP.toStringTag]() { return "XMLHttpRequestEventTarget"; }
32
- /** @internal */ get __MPHTTPX__() { return { chain: ["XMLHttpRequestEventTarget", "EventTarget"] }; }
33
- }
34
- /** @internal */
35
- class XMLHttpRequestEventTargetState {
36
- /** @param target XMLHttpRequestEventTarget */
37
- constructor(target) {
38
- this.onabort = null;
39
- this.onerror = null;
40
- this.onload = null;
41
- this.onloadend = null;
42
- this.onloadstart = null;
43
- this.onprogress = null;
44
- this.ontimeout = null;
45
- this.attach = handlers.attachFn(target, getHandlers(target));
46
- }
47
- }
48
- function getHandlers(t) {
49
- return {
50
- onabort: (ev) => { handlers.executeFn(t, t.onabort, ev); },
51
- onerror: (ev) => { handlers.executeFn(t, t.onerror, ev); },
52
- onload: (ev) => { handlers.executeFn(t, t.onload, ev); },
53
- onloadend: (ev) => { handlers.executeFn(t, t.onloadend, ev); },
54
- onloadstart: (ev) => { handlers.executeFn(t, t.onloadstart, ev); },
55
- onprogress: (ev) => { handlers.executeFn(t, t.onprogress, ev); },
56
- ontimeout: (ev) => { handlers.executeFn(t, t.ontimeout, ev); },
57
- };
58
- }
59
- function state(target) {
60
- return target.__XMLHttpRequestEventTarget__;
61
- }
62
-
63
- exports.XMLHttpRequestEventTargetP = XMLHttpRequestEventTargetP;
64
- exports.XMLHttpRequestEventTargetState = XMLHttpRequestEventTargetState;
@@ -1,28 +0,0 @@
1
- 'use strict';
2
-
3
- var utils = require('../utils.js');
4
- var EventTargetP = require('../event-system/EventTargetP.js');
5
- var XMLHttpRequestEventTargetP = require('./XMLHttpRequestEventTargetP.js');
6
-
7
- class XMLHttpRequestUploadP extends XMLHttpRequestEventTargetP.XMLHttpRequestEventTargetP {
8
- /** @internal */
9
- constructor() {
10
- if (new.target === XMLHttpRequestUploadP) {
11
- throw new TypeError("Failed to construct 'XMLHttpRequestUpload': Illegal constructor");
12
- }
13
- super();
14
- }
15
- /** @internal */ toString() { return "[object XMLHttpRequestUpload]"; }
16
- /** @internal */ get [utils.SymbolP.toStringTag]() { return "XMLHttpRequestUpload"; }
17
- /** @internal */ get __MPHTTPX__() { return { chain: ["XMLHttpRequestUpload", "XMLHttpRequestEventTarget", "EventTarget"] }; }
18
- }
19
- /** @internal */
20
- function createXMLHttpRequestUpload() {
21
- let upload = Object.create(XMLHttpRequestUploadP.prototype);
22
- utils.setState(upload, "__EventTarget__", new EventTargetP.EventTargetState());
23
- utils.setState(upload, "__XMLHttpRequestEventTarget__", new XMLHttpRequestEventTargetP.XMLHttpRequestEventTargetState(upload));
24
- return upload;
25
- }
26
-
27
- exports.XMLHttpRequestUploadP = XMLHttpRequestUploadP;
28
- exports.createXMLHttpRequestUpload = createXMLHttpRequestUpload;
package/dist/cjs/utils.js DELETED
@@ -1,56 +0,0 @@
1
- 'use strict';
2
-
3
- /* eslint-disable no-prototype-builtins */
4
- /** @internal */
5
- const SymbolP = {
6
- iterator: ((typeof Symbol === "function") && (Symbol.iterator || "Symbol(Symbol.iterator)")),
7
- toStringTag: ((typeof Symbol === "function") && (Symbol.toStringTag || "Symbol(Symbol.toStringTag)")),
8
- };
9
- /** @internal */
10
- class DOMExceptionP extends Error {
11
- constructor(message, name) {
12
- super(message);
13
- if (name !== undefined)
14
- this.name = "" + name;
15
- }
16
- /** @internal */ get [SymbolP.toStringTag]() { return "DOMException"; }
17
- /** @internal */ get __MPHTTPX__() { return { chain: ["DOMException"] }; }
18
- }
19
- /** @internal */
20
- function className(object) {
21
- return object.__MPHTTPX__.chain[0];
22
- }
23
- /** @internal */
24
- function setState(target, name, value) {
25
- Object.defineProperty(target, name, { value });
26
- }
27
- /** @internal */
28
- function isObjectType(name, value) {
29
- return Object.prototype.toString.call(value) === `[object ${name}]`;
30
- }
31
- /** @internal */
32
- function isPolyfillType(name, value, strict = false) {
33
- const field = "__MPHTTPX__";
34
- return !!value
35
- && typeof value === "object"
36
- && field in value
37
- && !!value[field]
38
- && typeof value[field] === "object"
39
- && "chain" in value[field]
40
- && Array.isArray(value[field].chain)
41
- && ((index) => strict ? index === 0 : index > -1)(value[field].chain.indexOf(name));
42
- }
43
- /** @internal */
44
- function checkArgsLength(actual, expect, className, funcName) {
45
- if (actual < expect) {
46
- throw new TypeError(`Failed to ${funcName ? ("execute '" + funcName + "' on") : "construct"} '${className}': ${expect} argument${expect > 1 ? "s" : ""} required, but only ${actual} present.`);
47
- }
48
- }
49
-
50
- exports.DOMExceptionP = DOMExceptionP;
51
- exports.SymbolP = SymbolP;
52
- exports.checkArgsLength = checkArgsLength;
53
- exports.className = className;
54
- exports.isObjectType = isObjectType;
55
- exports.isPolyfillType = isPolyfillType;
56
- exports.setState = setState;