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,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 };