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