@kohost/api-client 1.0.0-beta.4 → 3.0.0-beta.4

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 (150) hide show
  1. package/dist/cjs/Client.js +5049 -0
  2. package/dist/{commands.js → cjs/Commands.js} +57 -57
  3. package/dist/{errors.js → cjs/Errors.js} +23 -23
  4. package/dist/{events.js → cjs/Events.js} +33 -33
  5. package/dist/{models.js → cjs/Models.js} +79 -79
  6. package/dist/{defs.js → cjs/defs.js} +40 -61
  7. package/dist/cjs/index.cjs.js +17 -0
  8. package/dist/cjs/utils.js +246 -0
  9. package/dist/esm/Client.js +7388 -0
  10. package/dist/esm/Client.js.map +7 -0
  11. package/dist/esm/Commands.js +574 -0
  12. package/dist/esm/Commands.js.map +7 -0
  13. package/dist/esm/Errors.js +180 -0
  14. package/dist/esm/Errors.js.map +7 -0
  15. package/dist/esm/Events.js +381 -0
  16. package/dist/esm/Events.js.map +7 -0
  17. package/dist/esm/Models.js +13220 -0
  18. package/dist/esm/Models.js.map +7 -0
  19. package/dist/esm/defs.js +2514 -0
  20. package/dist/esm/defs.js.map +7 -0
  21. package/dist/esm/index.js +11 -0
  22. package/dist/esm/utils.js +7281 -0
  23. package/dist/esm/utils.js.map +7 -0
  24. package/dist/useCases/AddDefaultScenesToRooms.js +0 -7
  25. package/dist/useCases/AddScenesToRoom.js +0 -7
  26. package/dist/useCases/AdminCreateProperty.js +0 -7
  27. package/dist/useCases/AdminDescribeProperty.js +0 -7
  28. package/dist/useCases/AdminListCustomers.js +0 -7
  29. package/dist/useCases/AdminListProperties.js +0 -7
  30. package/dist/useCases/AdminUpdateProperty.js +0 -7
  31. package/dist/useCases/BatchNotifyPreArrival.js +0 -7
  32. package/dist/useCases/CheckInReservation.js +0 -7
  33. package/dist/useCases/CheckVerificationCode.js +0 -7
  34. package/dist/useCases/CreateAlarm.js +0 -7
  35. package/dist/useCases/CreateCamera.js +0 -7
  36. package/dist/useCases/CreateCourtesy.js +0 -7
  37. package/dist/useCases/CreateDefaultScenes.js +0 -7
  38. package/dist/useCases/CreateDimmer.js +0 -7
  39. package/dist/useCases/CreateDiscoveredDevice.js +0 -7
  40. package/dist/useCases/CreateDiscoveredDeviceAssociation.js +0 -7
  41. package/dist/useCases/CreateIntegration.js +0 -7
  42. package/dist/useCases/CreateIntegrationDeviceMapEntry.js +0 -7
  43. package/dist/useCases/CreateLock.js +0 -7
  44. package/dist/useCases/CreateReservation.js +0 -7
  45. package/dist/useCases/CreateRoom.js +0 -7
  46. package/dist/useCases/CreateRoomInSpace.js +0 -7
  47. package/dist/useCases/CreateSource.js +0 -7
  48. package/dist/useCases/CreateSpace.js +0 -7
  49. package/dist/useCases/CreateSwitch.js +0 -7
  50. package/dist/useCases/CreateThermostat.js +0 -7
  51. package/dist/useCases/CreateTicket.js +0 -7
  52. package/dist/useCases/CreateTicketMessage.js +0 -7
  53. package/dist/useCases/CreateUser.js +0 -7
  54. package/dist/useCases/CreateWindowCovering.js +0 -7
  55. package/dist/useCases/DeleteAlarm.js +0 -7
  56. package/dist/useCases/DeleteCamera.js +0 -7
  57. package/dist/useCases/DeleteCourtesy.js +0 -7
  58. package/dist/useCases/DeleteDimmer.js +0 -7
  59. package/dist/useCases/DeleteDiscoveredDevice.js +0 -7
  60. package/dist/useCases/DeleteIntegration.js +0 -7
  61. package/dist/useCases/DeleteLock.js +0 -7
  62. package/dist/useCases/DeleteReservation.js +0 -7
  63. package/dist/useCases/DeleteRoom.js +0 -7
  64. package/dist/useCases/DeleteSource.js +0 -7
  65. package/dist/useCases/DeleteSpace.js +0 -7
  66. package/dist/useCases/DeleteSwitch.js +0 -7
  67. package/dist/useCases/DeleteThermostat.js +0 -7
  68. package/dist/useCases/DeleteTicket.js +0 -7
  69. package/dist/useCases/DeleteUser.js +0 -7
  70. package/dist/useCases/DeleteWindowCovering.js +0 -7
  71. package/dist/useCases/DescribeAlarm.js +0 -7
  72. package/dist/useCases/DescribeCamera.js +0 -7
  73. package/dist/useCases/DescribeCourtesy.js +0 -7
  74. package/dist/useCases/DescribeDimmer.js +0 -7
  75. package/dist/useCases/DescribeDiscoveredDevice.js +0 -7
  76. package/dist/useCases/DescribeIntegration.js +0 -7
  77. package/dist/useCases/DescribeLock.js +0 -7
  78. package/dist/useCases/DescribeMyProperty.js +0 -7
  79. package/dist/useCases/DescribeReservation.js +0 -7
  80. package/dist/useCases/DescribeReservationCheckinStatus.js +0 -7
  81. package/dist/useCases/DescribeRoom.js +0 -7
  82. package/dist/useCases/DescribeSelf.js +0 -7
  83. package/dist/useCases/DescribeSource.js +0 -7
  84. package/dist/useCases/DescribeSpace.js +0 -7
  85. package/dist/useCases/DescribeSwitch.js +0 -7
  86. package/dist/useCases/DescribeThermostat.js +0 -7
  87. package/dist/useCases/DescribeTicket.js +0 -7
  88. package/dist/useCases/DescribeUser.js +0 -7
  89. package/dist/useCases/DescribeWindowCovering.js +0 -7
  90. package/dist/useCases/DiscoverReservations.js +0 -7
  91. package/dist/useCases/EmailUserAccountSetup.js +0 -7
  92. package/dist/useCases/ListAlarms.js +0 -7
  93. package/dist/useCases/ListCameras.js +0 -7
  94. package/dist/useCases/ListCourtesy.js +0 -7
  95. package/dist/useCases/ListDimmers.js +0 -7
  96. package/dist/useCases/ListDiscoveredDevices.js +0 -7
  97. package/dist/useCases/ListIntegrations.js +0 -7
  98. package/dist/useCases/ListLocks.js +0 -7
  99. package/dist/useCases/ListMyReservations.js +0 -7
  100. package/dist/useCases/ListMySpaces.js +0 -7
  101. package/dist/useCases/ListReservations.js +0 -7
  102. package/dist/useCases/ListRooms.js +0 -7
  103. package/dist/useCases/ListRoomsInSpace.js +0 -7
  104. package/dist/useCases/ListSources.js +0 -7
  105. package/dist/useCases/ListSpaces.js +0 -7
  106. package/dist/useCases/ListSwitches.js +0 -7
  107. package/dist/useCases/ListThermostats.js +0 -7
  108. package/dist/useCases/ListTickets.js +0 -7
  109. package/dist/useCases/ListUserReservations.js +0 -7
  110. package/dist/useCases/ListUsers.js +0 -7
  111. package/dist/useCases/ListWindowCoverings.js +0 -7
  112. package/dist/useCases/LoginUser.js +0 -7
  113. package/dist/useCases/MatchUserIdentification.js +0 -7
  114. package/dist/useCases/OCRDocument.js +0 -7
  115. package/dist/useCases/RefreshToken.js +0 -7
  116. package/dist/useCases/RequestLoginLink.js +0 -7
  117. package/dist/useCases/SendPreArrivalEmail.js +0 -7
  118. package/dist/useCases/SendPreArrivalSMS.js +0 -7
  119. package/dist/useCases/SendVerificationCode.js +0 -7
  120. package/dist/useCases/SetCamera.js +0 -7
  121. package/dist/useCases/SetCourtesy.js +0 -7
  122. package/dist/useCases/SetLock.js +0 -7
  123. package/dist/useCases/SetSource.js +0 -7
  124. package/dist/useCases/SetSwitch.js +0 -7
  125. package/dist/useCases/SetThermostat.js +0 -7
  126. package/dist/useCases/SetWindowCovering.js +0 -7
  127. package/dist/useCases/UpdateAlarm.js +0 -7
  128. package/dist/useCases/UpdateCamera.js +0 -7
  129. package/dist/useCases/UpdateCourtesy.js +0 -7
  130. package/dist/useCases/UpdateDimmer.js +0 -7
  131. package/dist/useCases/UpdateDiscoveredDevice.js +0 -7
  132. package/dist/useCases/UpdateIntegration.js +0 -7
  133. package/dist/useCases/UpdateLock.js +0 -7
  134. package/dist/useCases/UpdateMessageReadStatus.js +0 -7
  135. package/dist/useCases/UpdateReservation.js +0 -7
  136. package/dist/useCases/UpdateRoom.js +0 -7
  137. package/dist/useCases/UpdateSelf.js +0 -7
  138. package/dist/useCases/UpdateSource.js +0 -7
  139. package/dist/useCases/UpdateSpace.js +0 -7
  140. package/dist/useCases/UpdateSwitch.js +0 -7
  141. package/dist/useCases/UpdateThermostat.js +0 -7
  142. package/dist/useCases/UpdateTicket.js +0 -7
  143. package/dist/useCases/UpdateTicketStatus.js +0 -7
  144. package/dist/useCases/UpdateUser.js +0 -7
  145. package/dist/useCases/UpdateWindowCovering.js +0 -7
  146. package/dist/useCases/UpsertDiscoveredDevice.js +0 -7
  147. package/package.json +19 -6
  148. package/dist/Client.js +0 -19632
  149. package/dist/useCases/LoginGateway.js +0 -39
  150. package/dist/utils.js +0 -53
@@ -0,0 +1,2514 @@
1
+ var __getOwnPropNames = Object.getOwnPropertyNames;
2
+ var __commonJS = (cb, mod) => function __require() {
3
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
4
+ };
5
+
6
+ // src/defs/deviceTypes.js
7
+ var require_deviceTypes = __commonJS({
8
+ "src/defs/deviceTypes.js"(exports, module) {
9
+ var types = [
10
+ "dimmer",
11
+ "switch",
12
+ "thermostat",
13
+ "lock",
14
+ "windowCovering",
15
+ "sceneController",
16
+ "courtesy",
17
+ "alarm",
18
+ "camera",
19
+ "source",
20
+ "motionSensor"
21
+ ];
22
+ module.exports = types;
23
+ }
24
+ });
25
+
26
+ // src/defs/formalDeviceTypes.js
27
+ var require_formalDeviceTypes = __commonJS({
28
+ "src/defs/formalDeviceTypes.js"(exports, module) {
29
+ var deviceTypes = require_deviceTypes();
30
+ var formalDeviceTypes = deviceTypes.map(
31
+ (type) => type.charAt(0).toUpperCase() + type.slice(1)
32
+ );
33
+ module.exports = formalDeviceTypes;
34
+ }
35
+ });
36
+
37
+ // node_modules/events/events.js
38
+ var require_events = __commonJS({
39
+ "node_modules/events/events.js"(exports, module) {
40
+ "use strict";
41
+ var R = typeof Reflect === "object" ? Reflect : null;
42
+ var ReflectApply = R && typeof R.apply === "function" ? R.apply : function ReflectApply2(target, receiver, args) {
43
+ return Function.prototype.apply.call(target, receiver, args);
44
+ };
45
+ var ReflectOwnKeys;
46
+ if (R && typeof R.ownKeys === "function") {
47
+ ReflectOwnKeys = R.ownKeys;
48
+ } else if (Object.getOwnPropertySymbols) {
49
+ ReflectOwnKeys = function ReflectOwnKeys2(target) {
50
+ return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));
51
+ };
52
+ } else {
53
+ ReflectOwnKeys = function ReflectOwnKeys2(target) {
54
+ return Object.getOwnPropertyNames(target);
55
+ };
56
+ }
57
+ function ProcessEmitWarning(warning) {
58
+ if (console && console.warn)
59
+ console.warn(warning);
60
+ }
61
+ var NumberIsNaN = Number.isNaN || function NumberIsNaN2(value) {
62
+ return value !== value;
63
+ };
64
+ function EventEmitter() {
65
+ EventEmitter.init.call(this);
66
+ }
67
+ module.exports = EventEmitter;
68
+ module.exports.once = once;
69
+ EventEmitter.EventEmitter = EventEmitter;
70
+ EventEmitter.prototype._events = void 0;
71
+ EventEmitter.prototype._eventsCount = 0;
72
+ EventEmitter.prototype._maxListeners = void 0;
73
+ var defaultMaxListeners = 10;
74
+ function checkListener(listener) {
75
+ if (typeof listener !== "function") {
76
+ throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
77
+ }
78
+ }
79
+ Object.defineProperty(EventEmitter, "defaultMaxListeners", {
80
+ enumerable: true,
81
+ get: function() {
82
+ return defaultMaxListeners;
83
+ },
84
+ set: function(arg) {
85
+ if (typeof arg !== "number" || arg < 0 || NumberIsNaN(arg)) {
86
+ throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + ".");
87
+ }
88
+ defaultMaxListeners = arg;
89
+ }
90
+ });
91
+ EventEmitter.init = function() {
92
+ if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {
93
+ this._events = /* @__PURE__ */ Object.create(null);
94
+ this._eventsCount = 0;
95
+ }
96
+ this._maxListeners = this._maxListeners || void 0;
97
+ };
98
+ EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
99
+ if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) {
100
+ throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + ".");
101
+ }
102
+ this._maxListeners = n;
103
+ return this;
104
+ };
105
+ function _getMaxListeners(that) {
106
+ if (that._maxListeners === void 0)
107
+ return EventEmitter.defaultMaxListeners;
108
+ return that._maxListeners;
109
+ }
110
+ EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
111
+ return _getMaxListeners(this);
112
+ };
113
+ EventEmitter.prototype.emit = function emit(type) {
114
+ var args = [];
115
+ for (var i = 1; i < arguments.length; i++)
116
+ args.push(arguments[i]);
117
+ var doError = type === "error";
118
+ var events = this._events;
119
+ if (events !== void 0)
120
+ doError = doError && events.error === void 0;
121
+ else if (!doError)
122
+ return false;
123
+ if (doError) {
124
+ var er;
125
+ if (args.length > 0)
126
+ er = args[0];
127
+ if (er instanceof Error) {
128
+ throw er;
129
+ }
130
+ var err = new Error("Unhandled error." + (er ? " (" + er.message + ")" : ""));
131
+ err.context = er;
132
+ throw err;
133
+ }
134
+ var handler = events[type];
135
+ if (handler === void 0)
136
+ return false;
137
+ if (typeof handler === "function") {
138
+ ReflectApply(handler, this, args);
139
+ } else {
140
+ var len = handler.length;
141
+ var listeners = arrayClone(handler, len);
142
+ for (var i = 0; i < len; ++i)
143
+ ReflectApply(listeners[i], this, args);
144
+ }
145
+ return true;
146
+ };
147
+ function _addListener(target, type, listener, prepend) {
148
+ var m;
149
+ var events;
150
+ var existing;
151
+ checkListener(listener);
152
+ events = target._events;
153
+ if (events === void 0) {
154
+ events = target._events = /* @__PURE__ */ Object.create(null);
155
+ target._eventsCount = 0;
156
+ } else {
157
+ if (events.newListener !== void 0) {
158
+ target.emit(
159
+ "newListener",
160
+ type,
161
+ listener.listener ? listener.listener : listener
162
+ );
163
+ events = target._events;
164
+ }
165
+ existing = events[type];
166
+ }
167
+ if (existing === void 0) {
168
+ existing = events[type] = listener;
169
+ ++target._eventsCount;
170
+ } else {
171
+ if (typeof existing === "function") {
172
+ existing = events[type] = prepend ? [listener, existing] : [existing, listener];
173
+ } else if (prepend) {
174
+ existing.unshift(listener);
175
+ } else {
176
+ existing.push(listener);
177
+ }
178
+ m = _getMaxListeners(target);
179
+ if (m > 0 && existing.length > m && !existing.warned) {
180
+ existing.warned = true;
181
+ var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");
182
+ w.name = "MaxListenersExceededWarning";
183
+ w.emitter = target;
184
+ w.type = type;
185
+ w.count = existing.length;
186
+ ProcessEmitWarning(w);
187
+ }
188
+ }
189
+ return target;
190
+ }
191
+ EventEmitter.prototype.addListener = function addListener(type, listener) {
192
+ return _addListener(this, type, listener, false);
193
+ };
194
+ EventEmitter.prototype.on = EventEmitter.prototype.addListener;
195
+ EventEmitter.prototype.prependListener = function prependListener(type, listener) {
196
+ return _addListener(this, type, listener, true);
197
+ };
198
+ function onceWrapper() {
199
+ if (!this.fired) {
200
+ this.target.removeListener(this.type, this.wrapFn);
201
+ this.fired = true;
202
+ if (arguments.length === 0)
203
+ return this.listener.call(this.target);
204
+ return this.listener.apply(this.target, arguments);
205
+ }
206
+ }
207
+ function _onceWrap(target, type, listener) {
208
+ var state = { fired: false, wrapFn: void 0, target, type, listener };
209
+ var wrapped = onceWrapper.bind(state);
210
+ wrapped.listener = listener;
211
+ state.wrapFn = wrapped;
212
+ return wrapped;
213
+ }
214
+ EventEmitter.prototype.once = function once2(type, listener) {
215
+ checkListener(listener);
216
+ this.on(type, _onceWrap(this, type, listener));
217
+ return this;
218
+ };
219
+ EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {
220
+ checkListener(listener);
221
+ this.prependListener(type, _onceWrap(this, type, listener));
222
+ return this;
223
+ };
224
+ EventEmitter.prototype.removeListener = function removeListener(type, listener) {
225
+ var list, events, position, i, originalListener;
226
+ checkListener(listener);
227
+ events = this._events;
228
+ if (events === void 0)
229
+ return this;
230
+ list = events[type];
231
+ if (list === void 0)
232
+ return this;
233
+ if (list === listener || list.listener === listener) {
234
+ if (--this._eventsCount === 0)
235
+ this._events = /* @__PURE__ */ Object.create(null);
236
+ else {
237
+ delete events[type];
238
+ if (events.removeListener)
239
+ this.emit("removeListener", type, list.listener || listener);
240
+ }
241
+ } else if (typeof list !== "function") {
242
+ position = -1;
243
+ for (i = list.length - 1; i >= 0; i--) {
244
+ if (list[i] === listener || list[i].listener === listener) {
245
+ originalListener = list[i].listener;
246
+ position = i;
247
+ break;
248
+ }
249
+ }
250
+ if (position < 0)
251
+ return this;
252
+ if (position === 0)
253
+ list.shift();
254
+ else {
255
+ spliceOne(list, position);
256
+ }
257
+ if (list.length === 1)
258
+ events[type] = list[0];
259
+ if (events.removeListener !== void 0)
260
+ this.emit("removeListener", type, originalListener || listener);
261
+ }
262
+ return this;
263
+ };
264
+ EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
265
+ EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {
266
+ var listeners, events, i;
267
+ events = this._events;
268
+ if (events === void 0)
269
+ return this;
270
+ if (events.removeListener === void 0) {
271
+ if (arguments.length === 0) {
272
+ this._events = /* @__PURE__ */ Object.create(null);
273
+ this._eventsCount = 0;
274
+ } else if (events[type] !== void 0) {
275
+ if (--this._eventsCount === 0)
276
+ this._events = /* @__PURE__ */ Object.create(null);
277
+ else
278
+ delete events[type];
279
+ }
280
+ return this;
281
+ }
282
+ if (arguments.length === 0) {
283
+ var keys = Object.keys(events);
284
+ var key;
285
+ for (i = 0; i < keys.length; ++i) {
286
+ key = keys[i];
287
+ if (key === "removeListener")
288
+ continue;
289
+ this.removeAllListeners(key);
290
+ }
291
+ this.removeAllListeners("removeListener");
292
+ this._events = /* @__PURE__ */ Object.create(null);
293
+ this._eventsCount = 0;
294
+ return this;
295
+ }
296
+ listeners = events[type];
297
+ if (typeof listeners === "function") {
298
+ this.removeListener(type, listeners);
299
+ } else if (listeners !== void 0) {
300
+ for (i = listeners.length - 1; i >= 0; i--) {
301
+ this.removeListener(type, listeners[i]);
302
+ }
303
+ }
304
+ return this;
305
+ };
306
+ function _listeners(target, type, unwrap) {
307
+ var events = target._events;
308
+ if (events === void 0)
309
+ return [];
310
+ var evlistener = events[type];
311
+ if (evlistener === void 0)
312
+ return [];
313
+ if (typeof evlistener === "function")
314
+ return unwrap ? [evlistener.listener || evlistener] : [evlistener];
315
+ return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
316
+ }
317
+ EventEmitter.prototype.listeners = function listeners(type) {
318
+ return _listeners(this, type, true);
319
+ };
320
+ EventEmitter.prototype.rawListeners = function rawListeners(type) {
321
+ return _listeners(this, type, false);
322
+ };
323
+ EventEmitter.listenerCount = function(emitter, type) {
324
+ if (typeof emitter.listenerCount === "function") {
325
+ return emitter.listenerCount(type);
326
+ } else {
327
+ return listenerCount.call(emitter, type);
328
+ }
329
+ };
330
+ EventEmitter.prototype.listenerCount = listenerCount;
331
+ function listenerCount(type) {
332
+ var events = this._events;
333
+ if (events !== void 0) {
334
+ var evlistener = events[type];
335
+ if (typeof evlistener === "function") {
336
+ return 1;
337
+ } else if (evlistener !== void 0) {
338
+ return evlistener.length;
339
+ }
340
+ }
341
+ return 0;
342
+ }
343
+ EventEmitter.prototype.eventNames = function eventNames() {
344
+ return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
345
+ };
346
+ function arrayClone(arr, n) {
347
+ var copy = new Array(n);
348
+ for (var i = 0; i < n; ++i)
349
+ copy[i] = arr[i];
350
+ return copy;
351
+ }
352
+ function spliceOne(list, index) {
353
+ for (; index + 1 < list.length; index++)
354
+ list[index] = list[index + 1];
355
+ list.pop();
356
+ }
357
+ function unwrapListeners(arr) {
358
+ var ret = new Array(arr.length);
359
+ for (var i = 0; i < ret.length; ++i) {
360
+ ret[i] = arr[i].listener || arr[i];
361
+ }
362
+ return ret;
363
+ }
364
+ function once(emitter, name) {
365
+ return new Promise(function(resolve, reject) {
366
+ function errorListener(err) {
367
+ emitter.removeListener(name, resolver);
368
+ reject(err);
369
+ }
370
+ function resolver() {
371
+ if (typeof emitter.removeListener === "function") {
372
+ emitter.removeListener("error", errorListener);
373
+ }
374
+ resolve([].slice.call(arguments));
375
+ }
376
+ ;
377
+ eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
378
+ if (name !== "error") {
379
+ addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
380
+ }
381
+ });
382
+ }
383
+ function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
384
+ if (typeof emitter.on === "function") {
385
+ eventTargetAgnosticAddListener(emitter, "error", handler, flags);
386
+ }
387
+ }
388
+ function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
389
+ if (typeof emitter.on === "function") {
390
+ if (flags.once) {
391
+ emitter.once(name, listener);
392
+ } else {
393
+ emitter.on(name, listener);
394
+ }
395
+ } else if (typeof emitter.addEventListener === "function") {
396
+ emitter.addEventListener(name, function wrapListener(arg) {
397
+ if (flags.once) {
398
+ emitter.removeEventListener(name, wrapListener);
399
+ }
400
+ listener(arg);
401
+ });
402
+ } else {
403
+ throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
404
+ }
405
+ }
406
+ }
407
+ });
408
+
409
+ // node_modules/axios/dist/browser/axios.cjs
410
+ var require_axios = __commonJS({
411
+ "node_modules/axios/dist/browser/axios.cjs"(exports, module) {
412
+ "use strict";
413
+ function bind(fn, thisArg) {
414
+ return function wrap() {
415
+ return fn.apply(thisArg, arguments);
416
+ };
417
+ }
418
+ var { toString } = Object.prototype;
419
+ var { getPrototypeOf } = Object;
420
+ var kindOf = ((cache) => (thing) => {
421
+ const str = toString.call(thing);
422
+ return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
423
+ })(/* @__PURE__ */ Object.create(null));
424
+ var kindOfTest = (type) => {
425
+ type = type.toLowerCase();
426
+ return (thing) => kindOf(thing) === type;
427
+ };
428
+ var typeOfTest = (type) => (thing) => typeof thing === type;
429
+ var { isArray } = Array;
430
+ var isUndefined = typeOfTest("undefined");
431
+ function isBuffer(val) {
432
+ return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);
433
+ }
434
+ var isArrayBuffer = kindOfTest("ArrayBuffer");
435
+ function isArrayBufferView(val) {
436
+ let result;
437
+ if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
438
+ result = ArrayBuffer.isView(val);
439
+ } else {
440
+ result = val && val.buffer && isArrayBuffer(val.buffer);
441
+ }
442
+ return result;
443
+ }
444
+ var isString = typeOfTest("string");
445
+ var isFunction = typeOfTest("function");
446
+ var isNumber = typeOfTest("number");
447
+ var isObject = (thing) => thing !== null && typeof thing === "object";
448
+ var isBoolean = (thing) => thing === true || thing === false;
449
+ var isPlainObject = (val) => {
450
+ if (kindOf(val) !== "object") {
451
+ return false;
452
+ }
453
+ const prototype2 = getPrototypeOf(val);
454
+ return (prototype2 === null || prototype2 === Object.prototype || Object.getPrototypeOf(prototype2) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);
455
+ };
456
+ var isDate = kindOfTest("Date");
457
+ var isFile = kindOfTest("File");
458
+ var isBlob = kindOfTest("Blob");
459
+ var isFileList = kindOfTest("FileList");
460
+ var isStream = (val) => isObject(val) && isFunction(val.pipe);
461
+ var isFormData = (thing) => {
462
+ const pattern = "[object FormData]";
463
+ return thing && (typeof FormData === "function" && thing instanceof FormData || toString.call(thing) === pattern || isFunction(thing.toString) && thing.toString() === pattern);
464
+ };
465
+ var isURLSearchParams = kindOfTest("URLSearchParams");
466
+ var trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
467
+ function forEach(obj, fn, { allOwnKeys = false } = {}) {
468
+ if (obj === null || typeof obj === "undefined") {
469
+ return;
470
+ }
471
+ let i;
472
+ let l;
473
+ if (typeof obj !== "object") {
474
+ obj = [obj];
475
+ }
476
+ if (isArray(obj)) {
477
+ for (i = 0, l = obj.length; i < l; i++) {
478
+ fn.call(null, obj[i], i, obj);
479
+ }
480
+ } else {
481
+ const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
482
+ const len = keys.length;
483
+ let key;
484
+ for (i = 0; i < len; i++) {
485
+ key = keys[i];
486
+ fn.call(null, obj[key], key, obj);
487
+ }
488
+ }
489
+ }
490
+ function findKey(obj, key) {
491
+ key = key.toLowerCase();
492
+ const keys = Object.keys(obj);
493
+ let i = keys.length;
494
+ let _key;
495
+ while (i-- > 0) {
496
+ _key = keys[i];
497
+ if (key === _key.toLowerCase()) {
498
+ return _key;
499
+ }
500
+ }
501
+ return null;
502
+ }
503
+ var _global = (() => {
504
+ if (typeof globalThis !== "undefined")
505
+ return globalThis;
506
+ return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : window;
507
+ })();
508
+ var isContextDefined = (context) => !isUndefined(context) && context !== _global;
509
+ function merge() {
510
+ const { caseless } = isContextDefined(this) && this || {};
511
+ const result = {};
512
+ const assignValue = (val, key) => {
513
+ const targetKey = caseless && findKey(result, key) || key;
514
+ if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
515
+ result[targetKey] = merge(result[targetKey], val);
516
+ } else if (isPlainObject(val)) {
517
+ result[targetKey] = merge({}, val);
518
+ } else if (isArray(val)) {
519
+ result[targetKey] = val.slice();
520
+ } else {
521
+ result[targetKey] = val;
522
+ }
523
+ };
524
+ for (let i = 0, l = arguments.length; i < l; i++) {
525
+ arguments[i] && forEach(arguments[i], assignValue);
526
+ }
527
+ return result;
528
+ }
529
+ var extend = (a, b, thisArg, { allOwnKeys } = {}) => {
530
+ forEach(b, (val, key) => {
531
+ if (thisArg && isFunction(val)) {
532
+ a[key] = bind(val, thisArg);
533
+ } else {
534
+ a[key] = val;
535
+ }
536
+ }, { allOwnKeys });
537
+ return a;
538
+ };
539
+ var stripBOM = (content) => {
540
+ if (content.charCodeAt(0) === 65279) {
541
+ content = content.slice(1);
542
+ }
543
+ return content;
544
+ };
545
+ var inherits = (constructor, superConstructor, props, descriptors2) => {
546
+ constructor.prototype = Object.create(superConstructor.prototype, descriptors2);
547
+ constructor.prototype.constructor = constructor;
548
+ Object.defineProperty(constructor, "super", {
549
+ value: superConstructor.prototype
550
+ });
551
+ props && Object.assign(constructor.prototype, props);
552
+ };
553
+ var toFlatObject = (sourceObj, destObj, filter, propFilter) => {
554
+ let props;
555
+ let i;
556
+ let prop;
557
+ const merged = {};
558
+ destObj = destObj || {};
559
+ if (sourceObj == null)
560
+ return destObj;
561
+ do {
562
+ props = Object.getOwnPropertyNames(sourceObj);
563
+ i = props.length;
564
+ while (i-- > 0) {
565
+ prop = props[i];
566
+ if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
567
+ destObj[prop] = sourceObj[prop];
568
+ merged[prop] = true;
569
+ }
570
+ }
571
+ sourceObj = filter !== false && getPrototypeOf(sourceObj);
572
+ } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);
573
+ return destObj;
574
+ };
575
+ var endsWith = (str, searchString, position) => {
576
+ str = String(str);
577
+ if (position === void 0 || position > str.length) {
578
+ position = str.length;
579
+ }
580
+ position -= searchString.length;
581
+ const lastIndex = str.indexOf(searchString, position);
582
+ return lastIndex !== -1 && lastIndex === position;
583
+ };
584
+ var toArray = (thing) => {
585
+ if (!thing)
586
+ return null;
587
+ if (isArray(thing))
588
+ return thing;
589
+ let i = thing.length;
590
+ if (!isNumber(i))
591
+ return null;
592
+ const arr = new Array(i);
593
+ while (i-- > 0) {
594
+ arr[i] = thing[i];
595
+ }
596
+ return arr;
597
+ };
598
+ var isTypedArray = ((TypedArray) => {
599
+ return (thing) => {
600
+ return TypedArray && thing instanceof TypedArray;
601
+ };
602
+ })(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array));
603
+ var forEachEntry = (obj, fn) => {
604
+ const generator = obj && obj[Symbol.iterator];
605
+ const iterator = generator.call(obj);
606
+ let result;
607
+ while ((result = iterator.next()) && !result.done) {
608
+ const pair = result.value;
609
+ fn.call(obj, pair[0], pair[1]);
610
+ }
611
+ };
612
+ var matchAll = (regExp, str) => {
613
+ let matches;
614
+ const arr = [];
615
+ while ((matches = regExp.exec(str)) !== null) {
616
+ arr.push(matches);
617
+ }
618
+ return arr;
619
+ };
620
+ var isHTMLForm = kindOfTest("HTMLFormElement");
621
+ var toCamelCase = (str) => {
622
+ return str.toLowerCase().replace(
623
+ /[_-\s]([a-z\d])(\w*)/g,
624
+ function replacer(m, p1, p2) {
625
+ return p1.toUpperCase() + p2;
626
+ }
627
+ );
628
+ };
629
+ var hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype);
630
+ var isRegExp = kindOfTest("RegExp");
631
+ var reduceDescriptors = (obj, reducer) => {
632
+ const descriptors2 = Object.getOwnPropertyDescriptors(obj);
633
+ const reducedDescriptors = {};
634
+ forEach(descriptors2, (descriptor, name) => {
635
+ if (reducer(descriptor, name, obj) !== false) {
636
+ reducedDescriptors[name] = descriptor;
637
+ }
638
+ });
639
+ Object.defineProperties(obj, reducedDescriptors);
640
+ };
641
+ var freezeMethods = (obj) => {
642
+ reduceDescriptors(obj, (descriptor, name) => {
643
+ if (isFunction(obj) && ["arguments", "caller", "callee"].indexOf(name) !== -1) {
644
+ return false;
645
+ }
646
+ const value = obj[name];
647
+ if (!isFunction(value))
648
+ return;
649
+ descriptor.enumerable = false;
650
+ if ("writable" in descriptor) {
651
+ descriptor.writable = false;
652
+ return;
653
+ }
654
+ if (!descriptor.set) {
655
+ descriptor.set = () => {
656
+ throw Error("Can not rewrite read-only method '" + name + "'");
657
+ };
658
+ }
659
+ });
660
+ };
661
+ var toObjectSet = (arrayOrString, delimiter) => {
662
+ const obj = {};
663
+ const define = (arr) => {
664
+ arr.forEach((value) => {
665
+ obj[value] = true;
666
+ });
667
+ };
668
+ isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
669
+ return obj;
670
+ };
671
+ var noop = () => {
672
+ };
673
+ var toFiniteNumber = (value, defaultValue) => {
674
+ value = +value;
675
+ return Number.isFinite(value) ? value : defaultValue;
676
+ };
677
+ var toJSONObject = (obj) => {
678
+ const stack = new Array(10);
679
+ const visit = (source, i) => {
680
+ if (isObject(source)) {
681
+ if (stack.indexOf(source) >= 0) {
682
+ return;
683
+ }
684
+ if (!("toJSON" in source)) {
685
+ stack[i] = source;
686
+ const target = isArray(source) ? [] : {};
687
+ forEach(source, (value, key) => {
688
+ const reducedValue = visit(value, i + 1);
689
+ !isUndefined(reducedValue) && (target[key] = reducedValue);
690
+ });
691
+ stack[i] = void 0;
692
+ return target;
693
+ }
694
+ }
695
+ return source;
696
+ };
697
+ return visit(obj, 0);
698
+ };
699
+ var utils = {
700
+ isArray,
701
+ isArrayBuffer,
702
+ isBuffer,
703
+ isFormData,
704
+ isArrayBufferView,
705
+ isString,
706
+ isNumber,
707
+ isBoolean,
708
+ isObject,
709
+ isPlainObject,
710
+ isUndefined,
711
+ isDate,
712
+ isFile,
713
+ isBlob,
714
+ isRegExp,
715
+ isFunction,
716
+ isStream,
717
+ isURLSearchParams,
718
+ isTypedArray,
719
+ isFileList,
720
+ forEach,
721
+ merge,
722
+ extend,
723
+ trim,
724
+ stripBOM,
725
+ inherits,
726
+ toFlatObject,
727
+ kindOf,
728
+ kindOfTest,
729
+ endsWith,
730
+ toArray,
731
+ forEachEntry,
732
+ matchAll,
733
+ isHTMLForm,
734
+ hasOwnProperty,
735
+ hasOwnProp: hasOwnProperty,
736
+ // an alias to avoid ESLint no-prototype-builtins detection
737
+ reduceDescriptors,
738
+ freezeMethods,
739
+ toObjectSet,
740
+ toCamelCase,
741
+ noop,
742
+ toFiniteNumber,
743
+ findKey,
744
+ global: _global,
745
+ isContextDefined,
746
+ toJSONObject
747
+ };
748
+ function AxiosError(message, code, config, request, response) {
749
+ Error.call(this);
750
+ if (Error.captureStackTrace) {
751
+ Error.captureStackTrace(this, this.constructor);
752
+ } else {
753
+ this.stack = new Error().stack;
754
+ }
755
+ this.message = message;
756
+ this.name = "AxiosError";
757
+ code && (this.code = code);
758
+ config && (this.config = config);
759
+ request && (this.request = request);
760
+ response && (this.response = response);
761
+ }
762
+ utils.inherits(AxiosError, Error, {
763
+ toJSON: function toJSON() {
764
+ return {
765
+ // Standard
766
+ message: this.message,
767
+ name: this.name,
768
+ // Microsoft
769
+ description: this.description,
770
+ number: this.number,
771
+ // Mozilla
772
+ fileName: this.fileName,
773
+ lineNumber: this.lineNumber,
774
+ columnNumber: this.columnNumber,
775
+ stack: this.stack,
776
+ // Axios
777
+ config: utils.toJSONObject(this.config),
778
+ code: this.code,
779
+ status: this.response && this.response.status ? this.response.status : null
780
+ };
781
+ }
782
+ });
783
+ var prototype$1 = AxiosError.prototype;
784
+ var descriptors = {};
785
+ [
786
+ "ERR_BAD_OPTION_VALUE",
787
+ "ERR_BAD_OPTION",
788
+ "ECONNABORTED",
789
+ "ETIMEDOUT",
790
+ "ERR_NETWORK",
791
+ "ERR_FR_TOO_MANY_REDIRECTS",
792
+ "ERR_DEPRECATED",
793
+ "ERR_BAD_RESPONSE",
794
+ "ERR_BAD_REQUEST",
795
+ "ERR_CANCELED",
796
+ "ERR_NOT_SUPPORT",
797
+ "ERR_INVALID_URL"
798
+ // eslint-disable-next-line func-names
799
+ ].forEach((code) => {
800
+ descriptors[code] = { value: code };
801
+ });
802
+ Object.defineProperties(AxiosError, descriptors);
803
+ Object.defineProperty(prototype$1, "isAxiosError", { value: true });
804
+ AxiosError.from = (error, code, config, request, response, customProps) => {
805
+ const axiosError = Object.create(prototype$1);
806
+ utils.toFlatObject(error, axiosError, function filter(obj) {
807
+ return obj !== Error.prototype;
808
+ }, (prop) => {
809
+ return prop !== "isAxiosError";
810
+ });
811
+ AxiosError.call(axiosError, error.message, code, config, request, response);
812
+ axiosError.cause = error;
813
+ axiosError.name = error.name;
814
+ customProps && Object.assign(axiosError, customProps);
815
+ return axiosError;
816
+ };
817
+ var browser = typeof self == "object" ? self.FormData : window.FormData;
818
+ var FormData$2 = browser;
819
+ function isVisitable(thing) {
820
+ return utils.isPlainObject(thing) || utils.isArray(thing);
821
+ }
822
+ function removeBrackets(key) {
823
+ return utils.endsWith(key, "[]") ? key.slice(0, -2) : key;
824
+ }
825
+ function renderKey(path, key, dots) {
826
+ if (!path)
827
+ return key;
828
+ return path.concat(key).map(function each(token, i) {
829
+ token = removeBrackets(token);
830
+ return !dots && i ? "[" + token + "]" : token;
831
+ }).join(dots ? "." : "");
832
+ }
833
+ function isFlatArray(arr) {
834
+ return utils.isArray(arr) && !arr.some(isVisitable);
835
+ }
836
+ var predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {
837
+ return /^is[A-Z]/.test(prop);
838
+ });
839
+ function isSpecCompliant(thing) {
840
+ return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === "FormData" && thing[Symbol.iterator];
841
+ }
842
+ function toFormData(obj, formData, options) {
843
+ if (!utils.isObject(obj)) {
844
+ throw new TypeError("target must be an object");
845
+ }
846
+ formData = formData || new (FormData$2 || FormData)();
847
+ options = utils.toFlatObject(options, {
848
+ metaTokens: true,
849
+ dots: false,
850
+ indexes: false
851
+ }, false, function defined(option, source) {
852
+ return !utils.isUndefined(source[option]);
853
+ });
854
+ const metaTokens = options.metaTokens;
855
+ const visitor = options.visitor || defaultVisitor;
856
+ const dots = options.dots;
857
+ const indexes = options.indexes;
858
+ const _Blob = options.Blob || typeof Blob !== "undefined" && Blob;
859
+ const useBlob = _Blob && isSpecCompliant(formData);
860
+ if (!utils.isFunction(visitor)) {
861
+ throw new TypeError("visitor must be a function");
862
+ }
863
+ function convertValue(value) {
864
+ if (value === null)
865
+ return "";
866
+ if (utils.isDate(value)) {
867
+ return value.toISOString();
868
+ }
869
+ if (!useBlob && utils.isBlob(value)) {
870
+ throw new AxiosError("Blob is not supported. Use a Buffer instead.");
871
+ }
872
+ if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {
873
+ return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value);
874
+ }
875
+ return value;
876
+ }
877
+ function defaultVisitor(value, key, path) {
878
+ let arr = value;
879
+ if (value && !path && typeof value === "object") {
880
+ if (utils.endsWith(key, "{}")) {
881
+ key = metaTokens ? key : key.slice(0, -2);
882
+ value = JSON.stringify(value);
883
+ } else if (utils.isArray(value) && isFlatArray(value) || (utils.isFileList(value) || utils.endsWith(key, "[]") && (arr = utils.toArray(value)))) {
884
+ key = removeBrackets(key);
885
+ arr.forEach(function each(el, index) {
886
+ !(utils.isUndefined(el) || el === null) && formData.append(
887
+ // eslint-disable-next-line no-nested-ternary
888
+ indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + "[]",
889
+ convertValue(el)
890
+ );
891
+ });
892
+ return false;
893
+ }
894
+ }
895
+ if (isVisitable(value)) {
896
+ return true;
897
+ }
898
+ formData.append(renderKey(path, key, dots), convertValue(value));
899
+ return false;
900
+ }
901
+ const stack = [];
902
+ const exposedHelpers = Object.assign(predicates, {
903
+ defaultVisitor,
904
+ convertValue,
905
+ isVisitable
906
+ });
907
+ function build(value, path) {
908
+ if (utils.isUndefined(value))
909
+ return;
910
+ if (stack.indexOf(value) !== -1) {
911
+ throw Error("Circular reference detected in " + path.join("."));
912
+ }
913
+ stack.push(value);
914
+ utils.forEach(value, function each(el, key) {
915
+ const result = !(utils.isUndefined(el) || el === null) && visitor.call(
916
+ formData,
917
+ el,
918
+ utils.isString(key) ? key.trim() : key,
919
+ path,
920
+ exposedHelpers
921
+ );
922
+ if (result === true) {
923
+ build(el, path ? path.concat(key) : [key]);
924
+ }
925
+ });
926
+ stack.pop();
927
+ }
928
+ if (!utils.isObject(obj)) {
929
+ throw new TypeError("data must be an object");
930
+ }
931
+ build(obj);
932
+ return formData;
933
+ }
934
+ function encode$1(str) {
935
+ const charMap = {
936
+ "!": "%21",
937
+ "'": "%27",
938
+ "(": "%28",
939
+ ")": "%29",
940
+ "~": "%7E",
941
+ "%20": "+",
942
+ "%00": "\0"
943
+ };
944
+ return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
945
+ return charMap[match];
946
+ });
947
+ }
948
+ function AxiosURLSearchParams(params, options) {
949
+ this._pairs = [];
950
+ params && toFormData(params, this, options);
951
+ }
952
+ var prototype = AxiosURLSearchParams.prototype;
953
+ prototype.append = function append(name, value) {
954
+ this._pairs.push([name, value]);
955
+ };
956
+ prototype.toString = function toString2(encoder) {
957
+ const _encode = encoder ? function(value) {
958
+ return encoder.call(this, value, encode$1);
959
+ } : encode$1;
960
+ return this._pairs.map(function each(pair) {
961
+ return _encode(pair[0]) + "=" + _encode(pair[1]);
962
+ }, "").join("&");
963
+ };
964
+ function encode(val) {
965
+ return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
966
+ }
967
+ function buildURL(url, params, options) {
968
+ if (!params) {
969
+ return url;
970
+ }
971
+ const _encode = options && options.encode || encode;
972
+ const serializeFn = options && options.serialize;
973
+ let serializedParams;
974
+ if (serializeFn) {
975
+ serializedParams = serializeFn(params, options);
976
+ } else {
977
+ serializedParams = utils.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode);
978
+ }
979
+ if (serializedParams) {
980
+ const hashmarkIndex = url.indexOf("#");
981
+ if (hashmarkIndex !== -1) {
982
+ url = url.slice(0, hashmarkIndex);
983
+ }
984
+ url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
985
+ }
986
+ return url;
987
+ }
988
+ var InterceptorManager = class {
989
+ constructor() {
990
+ this.handlers = [];
991
+ }
992
+ /**
993
+ * Add a new interceptor to the stack
994
+ *
995
+ * @param {Function} fulfilled The function to handle `then` for a `Promise`
996
+ * @param {Function} rejected The function to handle `reject` for a `Promise`
997
+ *
998
+ * @return {Number} An ID used to remove interceptor later
999
+ */
1000
+ use(fulfilled, rejected, options) {
1001
+ this.handlers.push({
1002
+ fulfilled,
1003
+ rejected,
1004
+ synchronous: options ? options.synchronous : false,
1005
+ runWhen: options ? options.runWhen : null
1006
+ });
1007
+ return this.handlers.length - 1;
1008
+ }
1009
+ /**
1010
+ * Remove an interceptor from the stack
1011
+ *
1012
+ * @param {Number} id The ID that was returned by `use`
1013
+ *
1014
+ * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
1015
+ */
1016
+ eject(id) {
1017
+ if (this.handlers[id]) {
1018
+ this.handlers[id] = null;
1019
+ }
1020
+ }
1021
+ /**
1022
+ * Clear all interceptors from the stack
1023
+ *
1024
+ * @returns {void}
1025
+ */
1026
+ clear() {
1027
+ if (this.handlers) {
1028
+ this.handlers = [];
1029
+ }
1030
+ }
1031
+ /**
1032
+ * Iterate over all the registered interceptors
1033
+ *
1034
+ * This method is particularly useful for skipping over any
1035
+ * interceptors that may have become `null` calling `eject`.
1036
+ *
1037
+ * @param {Function} fn The function to call for each interceptor
1038
+ *
1039
+ * @returns {void}
1040
+ */
1041
+ forEach(fn) {
1042
+ utils.forEach(this.handlers, function forEachHandler(h) {
1043
+ if (h !== null) {
1044
+ fn(h);
1045
+ }
1046
+ });
1047
+ }
1048
+ };
1049
+ var InterceptorManager$1 = InterceptorManager;
1050
+ var transitionalDefaults = {
1051
+ silentJSONParsing: true,
1052
+ forcedJSONParsing: true,
1053
+ clarifyTimeoutError: false
1054
+ };
1055
+ var URLSearchParams$1 = typeof URLSearchParams !== "undefined" ? URLSearchParams : AxiosURLSearchParams;
1056
+ var FormData$1 = FormData;
1057
+ var isStandardBrowserEnv = (() => {
1058
+ let product;
1059
+ if (typeof navigator !== "undefined" && ((product = navigator.product) === "ReactNative" || product === "NativeScript" || product === "NS")) {
1060
+ return false;
1061
+ }
1062
+ return typeof window !== "undefined" && typeof document !== "undefined";
1063
+ })();
1064
+ var isStandardBrowserWebWorkerEnv = (() => {
1065
+ return typeof WorkerGlobalScope !== "undefined" && // eslint-disable-next-line no-undef
1066
+ self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
1067
+ })();
1068
+ var platform = {
1069
+ isBrowser: true,
1070
+ classes: {
1071
+ URLSearchParams: URLSearchParams$1,
1072
+ FormData: FormData$1,
1073
+ Blob
1074
+ },
1075
+ isStandardBrowserEnv,
1076
+ isStandardBrowserWebWorkerEnv,
1077
+ protocols: ["http", "https", "file", "blob", "url", "data"]
1078
+ };
1079
+ function toURLEncodedForm(data, options) {
1080
+ return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({
1081
+ visitor: function(value, key, path, helpers) {
1082
+ if (platform.isNode && utils.isBuffer(value)) {
1083
+ this.append(key, value.toString("base64"));
1084
+ return false;
1085
+ }
1086
+ return helpers.defaultVisitor.apply(this, arguments);
1087
+ }
1088
+ }, options));
1089
+ }
1090
+ function parsePropPath(name) {
1091
+ return utils.matchAll(/\w+|\[(\w*)]/g, name).map((match) => {
1092
+ return match[0] === "[]" ? "" : match[1] || match[0];
1093
+ });
1094
+ }
1095
+ function arrayToObject(arr) {
1096
+ const obj = {};
1097
+ const keys = Object.keys(arr);
1098
+ let i;
1099
+ const len = keys.length;
1100
+ let key;
1101
+ for (i = 0; i < len; i++) {
1102
+ key = keys[i];
1103
+ obj[key] = arr[key];
1104
+ }
1105
+ return obj;
1106
+ }
1107
+ function formDataToJSON(formData) {
1108
+ function buildPath(path, value, target, index) {
1109
+ let name = path[index++];
1110
+ const isNumericKey = Number.isFinite(+name);
1111
+ const isLast = index >= path.length;
1112
+ name = !name && utils.isArray(target) ? target.length : name;
1113
+ if (isLast) {
1114
+ if (utils.hasOwnProp(target, name)) {
1115
+ target[name] = [target[name], value];
1116
+ } else {
1117
+ target[name] = value;
1118
+ }
1119
+ return !isNumericKey;
1120
+ }
1121
+ if (!target[name] || !utils.isObject(target[name])) {
1122
+ target[name] = [];
1123
+ }
1124
+ const result = buildPath(path, value, target[name], index);
1125
+ if (result && utils.isArray(target[name])) {
1126
+ target[name] = arrayToObject(target[name]);
1127
+ }
1128
+ return !isNumericKey;
1129
+ }
1130
+ if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {
1131
+ const obj = {};
1132
+ utils.forEachEntry(formData, (name, value) => {
1133
+ buildPath(parsePropPath(name), value, obj, 0);
1134
+ });
1135
+ return obj;
1136
+ }
1137
+ return null;
1138
+ }
1139
+ var DEFAULT_CONTENT_TYPE = {
1140
+ "Content-Type": void 0
1141
+ };
1142
+ function stringifySafely(rawValue, parser, encoder) {
1143
+ if (utils.isString(rawValue)) {
1144
+ try {
1145
+ (parser || JSON.parse)(rawValue);
1146
+ return utils.trim(rawValue);
1147
+ } catch (e) {
1148
+ if (e.name !== "SyntaxError") {
1149
+ throw e;
1150
+ }
1151
+ }
1152
+ }
1153
+ return (encoder || JSON.stringify)(rawValue);
1154
+ }
1155
+ var defaults = {
1156
+ transitional: transitionalDefaults,
1157
+ adapter: ["xhr", "http"],
1158
+ transformRequest: [function transformRequest(data, headers) {
1159
+ const contentType = headers.getContentType() || "";
1160
+ const hasJSONContentType = contentType.indexOf("application/json") > -1;
1161
+ const isObjectPayload = utils.isObject(data);
1162
+ if (isObjectPayload && utils.isHTMLForm(data)) {
1163
+ data = new FormData(data);
1164
+ }
1165
+ const isFormData2 = utils.isFormData(data);
1166
+ if (isFormData2) {
1167
+ if (!hasJSONContentType) {
1168
+ return data;
1169
+ }
1170
+ return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;
1171
+ }
1172
+ if (utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {
1173
+ return data;
1174
+ }
1175
+ if (utils.isArrayBufferView(data)) {
1176
+ return data.buffer;
1177
+ }
1178
+ if (utils.isURLSearchParams(data)) {
1179
+ headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false);
1180
+ return data.toString();
1181
+ }
1182
+ let isFileList2;
1183
+ if (isObjectPayload) {
1184
+ if (contentType.indexOf("application/x-www-form-urlencoded") > -1) {
1185
+ return toURLEncodedForm(data, this.formSerializer).toString();
1186
+ }
1187
+ if ((isFileList2 = utils.isFileList(data)) || contentType.indexOf("multipart/form-data") > -1) {
1188
+ const _FormData = this.env && this.env.FormData;
1189
+ return toFormData(
1190
+ isFileList2 ? { "files[]": data } : data,
1191
+ _FormData && new _FormData(),
1192
+ this.formSerializer
1193
+ );
1194
+ }
1195
+ }
1196
+ if (isObjectPayload || hasJSONContentType) {
1197
+ headers.setContentType("application/json", false);
1198
+ return stringifySafely(data);
1199
+ }
1200
+ return data;
1201
+ }],
1202
+ transformResponse: [function transformResponse(data) {
1203
+ const transitional = this.transitional || defaults.transitional;
1204
+ const forcedJSONParsing = transitional && transitional.forcedJSONParsing;
1205
+ const JSONRequested = this.responseType === "json";
1206
+ if (data && utils.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) {
1207
+ const silentJSONParsing = transitional && transitional.silentJSONParsing;
1208
+ const strictJSONParsing = !silentJSONParsing && JSONRequested;
1209
+ try {
1210
+ return JSON.parse(data);
1211
+ } catch (e) {
1212
+ if (strictJSONParsing) {
1213
+ if (e.name === "SyntaxError") {
1214
+ throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);
1215
+ }
1216
+ throw e;
1217
+ }
1218
+ }
1219
+ }
1220
+ return data;
1221
+ }],
1222
+ /**
1223
+ * A timeout in milliseconds to abort a request. If set to 0 (default) a
1224
+ * timeout is not created.
1225
+ */
1226
+ timeout: 0,
1227
+ xsrfCookieName: "XSRF-TOKEN",
1228
+ xsrfHeaderName: "X-XSRF-TOKEN",
1229
+ maxContentLength: -1,
1230
+ maxBodyLength: -1,
1231
+ env: {
1232
+ FormData: platform.classes.FormData,
1233
+ Blob: platform.classes.Blob
1234
+ },
1235
+ validateStatus: function validateStatus(status) {
1236
+ return status >= 200 && status < 300;
1237
+ },
1238
+ headers: {
1239
+ common: {
1240
+ "Accept": "application/json, text/plain, */*"
1241
+ }
1242
+ }
1243
+ };
1244
+ utils.forEach(["delete", "get", "head"], function forEachMethodNoData(method) {
1245
+ defaults.headers[method] = {};
1246
+ });
1247
+ utils.forEach(["post", "put", "patch"], function forEachMethodWithData(method) {
1248
+ defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
1249
+ });
1250
+ var defaults$1 = defaults;
1251
+ var ignoreDuplicateOf = utils.toObjectSet([
1252
+ "age",
1253
+ "authorization",
1254
+ "content-length",
1255
+ "content-type",
1256
+ "etag",
1257
+ "expires",
1258
+ "from",
1259
+ "host",
1260
+ "if-modified-since",
1261
+ "if-unmodified-since",
1262
+ "last-modified",
1263
+ "location",
1264
+ "max-forwards",
1265
+ "proxy-authorization",
1266
+ "referer",
1267
+ "retry-after",
1268
+ "user-agent"
1269
+ ]);
1270
+ var parseHeaders = (rawHeaders) => {
1271
+ const parsed = {};
1272
+ let key;
1273
+ let val;
1274
+ let i;
1275
+ rawHeaders && rawHeaders.split("\n").forEach(function parser(line) {
1276
+ i = line.indexOf(":");
1277
+ key = line.substring(0, i).trim().toLowerCase();
1278
+ val = line.substring(i + 1).trim();
1279
+ if (!key || parsed[key] && ignoreDuplicateOf[key]) {
1280
+ return;
1281
+ }
1282
+ if (key === "set-cookie") {
1283
+ if (parsed[key]) {
1284
+ parsed[key].push(val);
1285
+ } else {
1286
+ parsed[key] = [val];
1287
+ }
1288
+ } else {
1289
+ parsed[key] = parsed[key] ? parsed[key] + ", " + val : val;
1290
+ }
1291
+ });
1292
+ return parsed;
1293
+ };
1294
+ var $internals = Symbol("internals");
1295
+ function normalizeHeader(header) {
1296
+ return header && String(header).trim().toLowerCase();
1297
+ }
1298
+ function normalizeValue(value) {
1299
+ if (value === false || value == null) {
1300
+ return value;
1301
+ }
1302
+ return utils.isArray(value) ? value.map(normalizeValue) : String(value);
1303
+ }
1304
+ function parseTokens(str) {
1305
+ const tokens = /* @__PURE__ */ Object.create(null);
1306
+ const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
1307
+ let match;
1308
+ while (match = tokensRE.exec(str)) {
1309
+ tokens[match[1]] = match[2];
1310
+ }
1311
+ return tokens;
1312
+ }
1313
+ function isValidHeaderName(str) {
1314
+ return /^[-_a-zA-Z]+$/.test(str.trim());
1315
+ }
1316
+ function matchHeaderValue(context, value, header, filter) {
1317
+ if (utils.isFunction(filter)) {
1318
+ return filter.call(this, value, header);
1319
+ }
1320
+ if (!utils.isString(value))
1321
+ return;
1322
+ if (utils.isString(filter)) {
1323
+ return value.indexOf(filter) !== -1;
1324
+ }
1325
+ if (utils.isRegExp(filter)) {
1326
+ return filter.test(value);
1327
+ }
1328
+ }
1329
+ function formatHeader(header) {
1330
+ return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => {
1331
+ return char.toUpperCase() + str;
1332
+ });
1333
+ }
1334
+ function buildAccessors(obj, header) {
1335
+ const accessorName = utils.toCamelCase(" " + header);
1336
+ ["get", "set", "has"].forEach((methodName) => {
1337
+ Object.defineProperty(obj, methodName + accessorName, {
1338
+ value: function(arg1, arg2, arg3) {
1339
+ return this[methodName].call(this, header, arg1, arg2, arg3);
1340
+ },
1341
+ configurable: true
1342
+ });
1343
+ });
1344
+ }
1345
+ var AxiosHeaders = class {
1346
+ constructor(headers) {
1347
+ headers && this.set(headers);
1348
+ }
1349
+ set(header, valueOrRewrite, rewrite) {
1350
+ const self2 = this;
1351
+ function setHeader(_value, _header, _rewrite) {
1352
+ const lHeader = normalizeHeader(_header);
1353
+ if (!lHeader) {
1354
+ throw new Error("header name must be a non-empty string");
1355
+ }
1356
+ const key = utils.findKey(self2, lHeader);
1357
+ if (!key || self2[key] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key] !== false) {
1358
+ self2[key || _header] = normalizeValue(_value);
1359
+ }
1360
+ }
1361
+ const setHeaders = (headers, _rewrite) => utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
1362
+ if (utils.isPlainObject(header) || header instanceof this.constructor) {
1363
+ setHeaders(header, valueOrRewrite);
1364
+ } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
1365
+ setHeaders(parseHeaders(header), valueOrRewrite);
1366
+ } else {
1367
+ header != null && setHeader(valueOrRewrite, header, rewrite);
1368
+ }
1369
+ return this;
1370
+ }
1371
+ get(header, parser) {
1372
+ header = normalizeHeader(header);
1373
+ if (header) {
1374
+ const key = utils.findKey(this, header);
1375
+ if (key) {
1376
+ const value = this[key];
1377
+ if (!parser) {
1378
+ return value;
1379
+ }
1380
+ if (parser === true) {
1381
+ return parseTokens(value);
1382
+ }
1383
+ if (utils.isFunction(parser)) {
1384
+ return parser.call(this, value, key);
1385
+ }
1386
+ if (utils.isRegExp(parser)) {
1387
+ return parser.exec(value);
1388
+ }
1389
+ throw new TypeError("parser must be boolean|regexp|function");
1390
+ }
1391
+ }
1392
+ }
1393
+ has(header, matcher) {
1394
+ header = normalizeHeader(header);
1395
+ if (header) {
1396
+ const key = utils.findKey(this, header);
1397
+ return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));
1398
+ }
1399
+ return false;
1400
+ }
1401
+ delete(header, matcher) {
1402
+ const self2 = this;
1403
+ let deleted = false;
1404
+ function deleteHeader(_header) {
1405
+ _header = normalizeHeader(_header);
1406
+ if (_header) {
1407
+ const key = utils.findKey(self2, _header);
1408
+ if (key && (!matcher || matchHeaderValue(self2, self2[key], key, matcher))) {
1409
+ delete self2[key];
1410
+ deleted = true;
1411
+ }
1412
+ }
1413
+ }
1414
+ if (utils.isArray(header)) {
1415
+ header.forEach(deleteHeader);
1416
+ } else {
1417
+ deleteHeader(header);
1418
+ }
1419
+ return deleted;
1420
+ }
1421
+ clear() {
1422
+ return Object.keys(this).forEach(this.delete.bind(this));
1423
+ }
1424
+ normalize(format) {
1425
+ const self2 = this;
1426
+ const headers = {};
1427
+ utils.forEach(this, (value, header) => {
1428
+ const key = utils.findKey(headers, header);
1429
+ if (key) {
1430
+ self2[key] = normalizeValue(value);
1431
+ delete self2[header];
1432
+ return;
1433
+ }
1434
+ const normalized = format ? formatHeader(header) : String(header).trim();
1435
+ if (normalized !== header) {
1436
+ delete self2[header];
1437
+ }
1438
+ self2[normalized] = normalizeValue(value);
1439
+ headers[normalized] = true;
1440
+ });
1441
+ return this;
1442
+ }
1443
+ concat(...targets) {
1444
+ return this.constructor.concat(this, ...targets);
1445
+ }
1446
+ toJSON(asStrings) {
1447
+ const obj = /* @__PURE__ */ Object.create(null);
1448
+ utils.forEach(this, (value, header) => {
1449
+ value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(", ") : value);
1450
+ });
1451
+ return obj;
1452
+ }
1453
+ [Symbol.iterator]() {
1454
+ return Object.entries(this.toJSON())[Symbol.iterator]();
1455
+ }
1456
+ toString() {
1457
+ return Object.entries(this.toJSON()).map(([header, value]) => header + ": " + value).join("\n");
1458
+ }
1459
+ get [Symbol.toStringTag]() {
1460
+ return "AxiosHeaders";
1461
+ }
1462
+ static from(thing) {
1463
+ return thing instanceof this ? thing : new this(thing);
1464
+ }
1465
+ static concat(first, ...targets) {
1466
+ const computed = new this(first);
1467
+ targets.forEach((target) => computed.set(target));
1468
+ return computed;
1469
+ }
1470
+ static accessor(header) {
1471
+ const internals = this[$internals] = this[$internals] = {
1472
+ accessors: {}
1473
+ };
1474
+ const accessors = internals.accessors;
1475
+ const prototype2 = this.prototype;
1476
+ function defineAccessor(_header) {
1477
+ const lHeader = normalizeHeader(_header);
1478
+ if (!accessors[lHeader]) {
1479
+ buildAccessors(prototype2, _header);
1480
+ accessors[lHeader] = true;
1481
+ }
1482
+ }
1483
+ utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
1484
+ return this;
1485
+ }
1486
+ };
1487
+ AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent"]);
1488
+ utils.freezeMethods(AxiosHeaders.prototype);
1489
+ utils.freezeMethods(AxiosHeaders);
1490
+ var AxiosHeaders$1 = AxiosHeaders;
1491
+ function transformData(fns, response) {
1492
+ const config = this || defaults$1;
1493
+ const context = response || config;
1494
+ const headers = AxiosHeaders$1.from(context.headers);
1495
+ let data = context.data;
1496
+ utils.forEach(fns, function transform(fn) {
1497
+ data = fn.call(config, data, headers.normalize(), response ? response.status : void 0);
1498
+ });
1499
+ headers.normalize();
1500
+ return data;
1501
+ }
1502
+ function isCancel(value) {
1503
+ return !!(value && value.__CANCEL__);
1504
+ }
1505
+ function CanceledError(message, config, request) {
1506
+ AxiosError.call(this, message == null ? "canceled" : message, AxiosError.ERR_CANCELED, config, request);
1507
+ this.name = "CanceledError";
1508
+ }
1509
+ utils.inherits(CanceledError, AxiosError, {
1510
+ __CANCEL__: true
1511
+ });
1512
+ var httpAdapter = null;
1513
+ function settle(resolve, reject, response) {
1514
+ const validateStatus = response.config.validateStatus;
1515
+ if (!response.status || !validateStatus || validateStatus(response.status)) {
1516
+ resolve(response);
1517
+ } else {
1518
+ reject(new AxiosError(
1519
+ "Request failed with status code " + response.status,
1520
+ [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],
1521
+ response.config,
1522
+ response.request,
1523
+ response
1524
+ ));
1525
+ }
1526
+ }
1527
+ var cookies = platform.isStandardBrowserEnv ? (
1528
+ // Standard browser envs support document.cookie
1529
+ function standardBrowserEnv() {
1530
+ return {
1531
+ write: function write(name, value, expires, path, domain, secure) {
1532
+ const cookie = [];
1533
+ cookie.push(name + "=" + encodeURIComponent(value));
1534
+ if (utils.isNumber(expires)) {
1535
+ cookie.push("expires=" + new Date(expires).toGMTString());
1536
+ }
1537
+ if (utils.isString(path)) {
1538
+ cookie.push("path=" + path);
1539
+ }
1540
+ if (utils.isString(domain)) {
1541
+ cookie.push("domain=" + domain);
1542
+ }
1543
+ if (secure === true) {
1544
+ cookie.push("secure");
1545
+ }
1546
+ document.cookie = cookie.join("; ");
1547
+ },
1548
+ read: function read(name) {
1549
+ const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)"));
1550
+ return match ? decodeURIComponent(match[3]) : null;
1551
+ },
1552
+ remove: function remove(name) {
1553
+ this.write(name, "", Date.now() - 864e5);
1554
+ }
1555
+ };
1556
+ }()
1557
+ ) : (
1558
+ // Non standard browser env (web workers, react-native) lack needed support.
1559
+ function nonStandardBrowserEnv() {
1560
+ return {
1561
+ write: function write() {
1562
+ },
1563
+ read: function read() {
1564
+ return null;
1565
+ },
1566
+ remove: function remove() {
1567
+ }
1568
+ };
1569
+ }()
1570
+ );
1571
+ function isAbsoluteURL(url) {
1572
+ return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
1573
+ }
1574
+ function combineURLs(baseURL, relativeURL) {
1575
+ return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
1576
+ }
1577
+ function buildFullPath(baseURL, requestedURL) {
1578
+ if (baseURL && !isAbsoluteURL(requestedURL)) {
1579
+ return combineURLs(baseURL, requestedURL);
1580
+ }
1581
+ return requestedURL;
1582
+ }
1583
+ var isURLSameOrigin = platform.isStandardBrowserEnv ? (
1584
+ // Standard browser envs have full support of the APIs needed to test
1585
+ // whether the request URL is of the same origin as current location.
1586
+ function standardBrowserEnv() {
1587
+ const msie = /(msie|trident)/i.test(navigator.userAgent);
1588
+ const urlParsingNode = document.createElement("a");
1589
+ let originURL;
1590
+ function resolveURL(url) {
1591
+ let href = url;
1592
+ if (msie) {
1593
+ urlParsingNode.setAttribute("href", href);
1594
+ href = urlParsingNode.href;
1595
+ }
1596
+ urlParsingNode.setAttribute("href", href);
1597
+ return {
1598
+ href: urlParsingNode.href,
1599
+ protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "",
1600
+ host: urlParsingNode.host,
1601
+ search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "",
1602
+ hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "",
1603
+ hostname: urlParsingNode.hostname,
1604
+ port: urlParsingNode.port,
1605
+ pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname
1606
+ };
1607
+ }
1608
+ originURL = resolveURL(window.location.href);
1609
+ return function isURLSameOrigin2(requestURL) {
1610
+ const parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;
1611
+ return parsed.protocol === originURL.protocol && parsed.host === originURL.host;
1612
+ };
1613
+ }()
1614
+ ) : (
1615
+ // Non standard browser envs (web workers, react-native) lack needed support.
1616
+ function nonStandardBrowserEnv() {
1617
+ return function isURLSameOrigin2() {
1618
+ return true;
1619
+ };
1620
+ }()
1621
+ );
1622
+ function parseProtocol(url) {
1623
+ const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
1624
+ return match && match[1] || "";
1625
+ }
1626
+ function speedometer(samplesCount, min) {
1627
+ samplesCount = samplesCount || 10;
1628
+ const bytes = new Array(samplesCount);
1629
+ const timestamps = new Array(samplesCount);
1630
+ let head = 0;
1631
+ let tail = 0;
1632
+ let firstSampleTS;
1633
+ min = min !== void 0 ? min : 1e3;
1634
+ return function push(chunkLength) {
1635
+ const now = Date.now();
1636
+ const startedAt = timestamps[tail];
1637
+ if (!firstSampleTS) {
1638
+ firstSampleTS = now;
1639
+ }
1640
+ bytes[head] = chunkLength;
1641
+ timestamps[head] = now;
1642
+ let i = tail;
1643
+ let bytesCount = 0;
1644
+ while (i !== head) {
1645
+ bytesCount += bytes[i++];
1646
+ i = i % samplesCount;
1647
+ }
1648
+ head = (head + 1) % samplesCount;
1649
+ if (head === tail) {
1650
+ tail = (tail + 1) % samplesCount;
1651
+ }
1652
+ if (now - firstSampleTS < min) {
1653
+ return;
1654
+ }
1655
+ const passed = startedAt && now - startedAt;
1656
+ return passed ? Math.round(bytesCount * 1e3 / passed) : void 0;
1657
+ };
1658
+ }
1659
+ function progressEventReducer(listener, isDownloadStream) {
1660
+ let bytesNotified = 0;
1661
+ const _speedometer = speedometer(50, 250);
1662
+ return (e) => {
1663
+ const loaded = e.loaded;
1664
+ const total = e.lengthComputable ? e.total : void 0;
1665
+ const progressBytes = loaded - bytesNotified;
1666
+ const rate = _speedometer(progressBytes);
1667
+ const inRange = loaded <= total;
1668
+ bytesNotified = loaded;
1669
+ const data = {
1670
+ loaded,
1671
+ total,
1672
+ progress: total ? loaded / total : void 0,
1673
+ bytes: progressBytes,
1674
+ rate: rate ? rate : void 0,
1675
+ estimated: rate && total && inRange ? (total - loaded) / rate : void 0,
1676
+ event: e
1677
+ };
1678
+ data[isDownloadStream ? "download" : "upload"] = true;
1679
+ listener(data);
1680
+ };
1681
+ }
1682
+ var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined";
1683
+ var xhrAdapter = isXHRAdapterSupported && function(config) {
1684
+ return new Promise(function dispatchXhrRequest(resolve, reject) {
1685
+ let requestData = config.data;
1686
+ const requestHeaders = AxiosHeaders$1.from(config.headers).normalize();
1687
+ const responseType = config.responseType;
1688
+ let onCanceled;
1689
+ function done() {
1690
+ if (config.cancelToken) {
1691
+ config.cancelToken.unsubscribe(onCanceled);
1692
+ }
1693
+ if (config.signal) {
1694
+ config.signal.removeEventListener("abort", onCanceled);
1695
+ }
1696
+ }
1697
+ if (utils.isFormData(requestData) && (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv)) {
1698
+ requestHeaders.setContentType(false);
1699
+ }
1700
+ let request = new XMLHttpRequest();
1701
+ if (config.auth) {
1702
+ const username = config.auth.username || "";
1703
+ const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : "";
1704
+ requestHeaders.set("Authorization", "Basic " + btoa(username + ":" + password));
1705
+ }
1706
+ const fullPath = buildFullPath(config.baseURL, config.url);
1707
+ request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
1708
+ request.timeout = config.timeout;
1709
+ function onloadend() {
1710
+ if (!request) {
1711
+ return;
1712
+ }
1713
+ const responseHeaders = AxiosHeaders$1.from(
1714
+ "getAllResponseHeaders" in request && request.getAllResponseHeaders()
1715
+ );
1716
+ const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response;
1717
+ const response = {
1718
+ data: responseData,
1719
+ status: request.status,
1720
+ statusText: request.statusText,
1721
+ headers: responseHeaders,
1722
+ config,
1723
+ request
1724
+ };
1725
+ settle(function _resolve(value) {
1726
+ resolve(value);
1727
+ done();
1728
+ }, function _reject(err) {
1729
+ reject(err);
1730
+ done();
1731
+ }, response);
1732
+ request = null;
1733
+ }
1734
+ if ("onloadend" in request) {
1735
+ request.onloadend = onloadend;
1736
+ } else {
1737
+ request.onreadystatechange = function handleLoad() {
1738
+ if (!request || request.readyState !== 4) {
1739
+ return;
1740
+ }
1741
+ if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) {
1742
+ return;
1743
+ }
1744
+ setTimeout(onloadend);
1745
+ };
1746
+ }
1747
+ request.onabort = function handleAbort() {
1748
+ if (!request) {
1749
+ return;
1750
+ }
1751
+ reject(new AxiosError("Request aborted", AxiosError.ECONNABORTED, config, request));
1752
+ request = null;
1753
+ };
1754
+ request.onerror = function handleError() {
1755
+ reject(new AxiosError("Network Error", AxiosError.ERR_NETWORK, config, request));
1756
+ request = null;
1757
+ };
1758
+ request.ontimeout = function handleTimeout() {
1759
+ let timeoutErrorMessage = config.timeout ? "timeout of " + config.timeout + "ms exceeded" : "timeout exceeded";
1760
+ const transitional = config.transitional || transitionalDefaults;
1761
+ if (config.timeoutErrorMessage) {
1762
+ timeoutErrorMessage = config.timeoutErrorMessage;
1763
+ }
1764
+ reject(new AxiosError(
1765
+ timeoutErrorMessage,
1766
+ transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,
1767
+ config,
1768
+ request
1769
+ ));
1770
+ request = null;
1771
+ };
1772
+ if (platform.isStandardBrowserEnv) {
1773
+ const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);
1774
+ if (xsrfValue) {
1775
+ requestHeaders.set(config.xsrfHeaderName, xsrfValue);
1776
+ }
1777
+ }
1778
+ requestData === void 0 && requestHeaders.setContentType(null);
1779
+ if ("setRequestHeader" in request) {
1780
+ utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {
1781
+ request.setRequestHeader(key, val);
1782
+ });
1783
+ }
1784
+ if (!utils.isUndefined(config.withCredentials)) {
1785
+ request.withCredentials = !!config.withCredentials;
1786
+ }
1787
+ if (responseType && responseType !== "json") {
1788
+ request.responseType = config.responseType;
1789
+ }
1790
+ if (typeof config.onDownloadProgress === "function") {
1791
+ request.addEventListener("progress", progressEventReducer(config.onDownloadProgress, true));
1792
+ }
1793
+ if (typeof config.onUploadProgress === "function" && request.upload) {
1794
+ request.upload.addEventListener("progress", progressEventReducer(config.onUploadProgress));
1795
+ }
1796
+ if (config.cancelToken || config.signal) {
1797
+ onCanceled = (cancel) => {
1798
+ if (!request) {
1799
+ return;
1800
+ }
1801
+ reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);
1802
+ request.abort();
1803
+ request = null;
1804
+ };
1805
+ config.cancelToken && config.cancelToken.subscribe(onCanceled);
1806
+ if (config.signal) {
1807
+ config.signal.aborted ? onCanceled() : config.signal.addEventListener("abort", onCanceled);
1808
+ }
1809
+ }
1810
+ const protocol = parseProtocol(fullPath);
1811
+ if (protocol && platform.protocols.indexOf(protocol) === -1) {
1812
+ reject(new AxiosError("Unsupported protocol " + protocol + ":", AxiosError.ERR_BAD_REQUEST, config));
1813
+ return;
1814
+ }
1815
+ request.send(requestData || null);
1816
+ });
1817
+ };
1818
+ var knownAdapters = {
1819
+ http: httpAdapter,
1820
+ xhr: xhrAdapter
1821
+ };
1822
+ utils.forEach(knownAdapters, (fn, value) => {
1823
+ if (fn) {
1824
+ try {
1825
+ Object.defineProperty(fn, "name", { value });
1826
+ } catch (e) {
1827
+ }
1828
+ Object.defineProperty(fn, "adapterName", { value });
1829
+ }
1830
+ });
1831
+ var adapters = {
1832
+ getAdapter: (adapters2) => {
1833
+ adapters2 = utils.isArray(adapters2) ? adapters2 : [adapters2];
1834
+ const { length } = adapters2;
1835
+ let nameOrAdapter;
1836
+ let adapter;
1837
+ for (let i = 0; i < length; i++) {
1838
+ nameOrAdapter = adapters2[i];
1839
+ if (adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter) {
1840
+ break;
1841
+ }
1842
+ }
1843
+ if (!adapter) {
1844
+ if (adapter === false) {
1845
+ throw new AxiosError(
1846
+ `Adapter ${nameOrAdapter} is not supported by the environment`,
1847
+ "ERR_NOT_SUPPORT"
1848
+ );
1849
+ }
1850
+ throw new Error(
1851
+ utils.hasOwnProp(knownAdapters, nameOrAdapter) ? `Adapter '${nameOrAdapter}' is not available in the build` : `Unknown adapter '${nameOrAdapter}'`
1852
+ );
1853
+ }
1854
+ if (!utils.isFunction(adapter)) {
1855
+ throw new TypeError("adapter is not a function");
1856
+ }
1857
+ return adapter;
1858
+ },
1859
+ adapters: knownAdapters
1860
+ };
1861
+ function throwIfCancellationRequested(config) {
1862
+ if (config.cancelToken) {
1863
+ config.cancelToken.throwIfRequested();
1864
+ }
1865
+ if (config.signal && config.signal.aborted) {
1866
+ throw new CanceledError(null, config);
1867
+ }
1868
+ }
1869
+ function dispatchRequest(config) {
1870
+ throwIfCancellationRequested(config);
1871
+ config.headers = AxiosHeaders$1.from(config.headers);
1872
+ config.data = transformData.call(
1873
+ config,
1874
+ config.transformRequest
1875
+ );
1876
+ if (["post", "put", "patch"].indexOf(config.method) !== -1) {
1877
+ config.headers.setContentType("application/x-www-form-urlencoded", false);
1878
+ }
1879
+ const adapter = adapters.getAdapter(config.adapter || defaults$1.adapter);
1880
+ return adapter(config).then(function onAdapterResolution(response) {
1881
+ throwIfCancellationRequested(config);
1882
+ response.data = transformData.call(
1883
+ config,
1884
+ config.transformResponse,
1885
+ response
1886
+ );
1887
+ response.headers = AxiosHeaders$1.from(response.headers);
1888
+ return response;
1889
+ }, function onAdapterRejection(reason) {
1890
+ if (!isCancel(reason)) {
1891
+ throwIfCancellationRequested(config);
1892
+ if (reason && reason.response) {
1893
+ reason.response.data = transformData.call(
1894
+ config,
1895
+ config.transformResponse,
1896
+ reason.response
1897
+ );
1898
+ reason.response.headers = AxiosHeaders$1.from(reason.response.headers);
1899
+ }
1900
+ }
1901
+ return Promise.reject(reason);
1902
+ });
1903
+ }
1904
+ var headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? thing.toJSON() : thing;
1905
+ function mergeConfig(config1, config2) {
1906
+ config2 = config2 || {};
1907
+ const config = {};
1908
+ function getMergedValue(target, source, caseless) {
1909
+ if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
1910
+ return utils.merge.call({ caseless }, target, source);
1911
+ } else if (utils.isPlainObject(source)) {
1912
+ return utils.merge({}, source);
1913
+ } else if (utils.isArray(source)) {
1914
+ return source.slice();
1915
+ }
1916
+ return source;
1917
+ }
1918
+ function mergeDeepProperties(a, b, caseless) {
1919
+ if (!utils.isUndefined(b)) {
1920
+ return getMergedValue(a, b, caseless);
1921
+ } else if (!utils.isUndefined(a)) {
1922
+ return getMergedValue(void 0, a, caseless);
1923
+ }
1924
+ }
1925
+ function valueFromConfig2(a, b) {
1926
+ if (!utils.isUndefined(b)) {
1927
+ return getMergedValue(void 0, b);
1928
+ }
1929
+ }
1930
+ function defaultToConfig2(a, b) {
1931
+ if (!utils.isUndefined(b)) {
1932
+ return getMergedValue(void 0, b);
1933
+ } else if (!utils.isUndefined(a)) {
1934
+ return getMergedValue(void 0, a);
1935
+ }
1936
+ }
1937
+ function mergeDirectKeys(a, b, prop) {
1938
+ if (prop in config2) {
1939
+ return getMergedValue(a, b);
1940
+ } else if (prop in config1) {
1941
+ return getMergedValue(void 0, a);
1942
+ }
1943
+ }
1944
+ const mergeMap = {
1945
+ url: valueFromConfig2,
1946
+ method: valueFromConfig2,
1947
+ data: valueFromConfig2,
1948
+ baseURL: defaultToConfig2,
1949
+ transformRequest: defaultToConfig2,
1950
+ transformResponse: defaultToConfig2,
1951
+ paramsSerializer: defaultToConfig2,
1952
+ timeout: defaultToConfig2,
1953
+ timeoutMessage: defaultToConfig2,
1954
+ withCredentials: defaultToConfig2,
1955
+ adapter: defaultToConfig2,
1956
+ responseType: defaultToConfig2,
1957
+ xsrfCookieName: defaultToConfig2,
1958
+ xsrfHeaderName: defaultToConfig2,
1959
+ onUploadProgress: defaultToConfig2,
1960
+ onDownloadProgress: defaultToConfig2,
1961
+ decompress: defaultToConfig2,
1962
+ maxContentLength: defaultToConfig2,
1963
+ maxBodyLength: defaultToConfig2,
1964
+ beforeRedirect: defaultToConfig2,
1965
+ transport: defaultToConfig2,
1966
+ httpAgent: defaultToConfig2,
1967
+ httpsAgent: defaultToConfig2,
1968
+ cancelToken: defaultToConfig2,
1969
+ socketPath: defaultToConfig2,
1970
+ responseEncoding: defaultToConfig2,
1971
+ validateStatus: mergeDirectKeys,
1972
+ headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)
1973
+ };
1974
+ utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {
1975
+ const merge2 = mergeMap[prop] || mergeDeepProperties;
1976
+ const configValue = merge2(config1[prop], config2[prop], prop);
1977
+ utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config[prop] = configValue);
1978
+ });
1979
+ return config;
1980
+ }
1981
+ var VERSION = "1.2.3";
1982
+ var validators$1 = {};
1983
+ ["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => {
1984
+ validators$1[type] = function validator2(thing) {
1985
+ return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type;
1986
+ };
1987
+ });
1988
+ var deprecatedWarnings = {};
1989
+ validators$1.transitional = function transitional(validator2, version, message) {
1990
+ function formatMessage(opt, desc) {
1991
+ return "[Axios v" + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : "");
1992
+ }
1993
+ return (value, opt, opts) => {
1994
+ if (validator2 === false) {
1995
+ throw new AxiosError(
1996
+ formatMessage(opt, " has been removed" + (version ? " in " + version : "")),
1997
+ AxiosError.ERR_DEPRECATED
1998
+ );
1999
+ }
2000
+ if (version && !deprecatedWarnings[opt]) {
2001
+ deprecatedWarnings[opt] = true;
2002
+ console.warn(
2003
+ formatMessage(
2004
+ opt,
2005
+ " has been deprecated since v" + version + " and will be removed in the near future"
2006
+ )
2007
+ );
2008
+ }
2009
+ return validator2 ? validator2(value, opt, opts) : true;
2010
+ };
2011
+ };
2012
+ function assertOptions(options, schema, allowUnknown) {
2013
+ if (typeof options !== "object") {
2014
+ throw new AxiosError("options must be an object", AxiosError.ERR_BAD_OPTION_VALUE);
2015
+ }
2016
+ const keys = Object.keys(options);
2017
+ let i = keys.length;
2018
+ while (i-- > 0) {
2019
+ const opt = keys[i];
2020
+ const validator2 = schema[opt];
2021
+ if (validator2) {
2022
+ const value = options[opt];
2023
+ const result = value === void 0 || validator2(value, opt, options);
2024
+ if (result !== true) {
2025
+ throw new AxiosError("option " + opt + " must be " + result, AxiosError.ERR_BAD_OPTION_VALUE);
2026
+ }
2027
+ continue;
2028
+ }
2029
+ if (allowUnknown !== true) {
2030
+ throw new AxiosError("Unknown option " + opt, AxiosError.ERR_BAD_OPTION);
2031
+ }
2032
+ }
2033
+ }
2034
+ var validator = {
2035
+ assertOptions,
2036
+ validators: validators$1
2037
+ };
2038
+ var validators = validator.validators;
2039
+ var Axios = class {
2040
+ constructor(instanceConfig) {
2041
+ this.defaults = instanceConfig;
2042
+ this.interceptors = {
2043
+ request: new InterceptorManager$1(),
2044
+ response: new InterceptorManager$1()
2045
+ };
2046
+ }
2047
+ /**
2048
+ * Dispatch a request
2049
+ *
2050
+ * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
2051
+ * @param {?Object} config
2052
+ *
2053
+ * @returns {Promise} The Promise to be fulfilled
2054
+ */
2055
+ request(configOrUrl, config) {
2056
+ if (typeof configOrUrl === "string") {
2057
+ config = config || {};
2058
+ config.url = configOrUrl;
2059
+ } else {
2060
+ config = configOrUrl || {};
2061
+ }
2062
+ config = mergeConfig(this.defaults, config);
2063
+ const { transitional, paramsSerializer, headers } = config;
2064
+ if (transitional !== void 0) {
2065
+ validator.assertOptions(transitional, {
2066
+ silentJSONParsing: validators.transitional(validators.boolean),
2067
+ forcedJSONParsing: validators.transitional(validators.boolean),
2068
+ clarifyTimeoutError: validators.transitional(validators.boolean)
2069
+ }, false);
2070
+ }
2071
+ if (paramsSerializer !== void 0) {
2072
+ validator.assertOptions(paramsSerializer, {
2073
+ encode: validators.function,
2074
+ serialize: validators.function
2075
+ }, true);
2076
+ }
2077
+ config.method = (config.method || this.defaults.method || "get").toLowerCase();
2078
+ let contextHeaders;
2079
+ contextHeaders = headers && utils.merge(
2080
+ headers.common,
2081
+ headers[config.method]
2082
+ );
2083
+ contextHeaders && utils.forEach(
2084
+ ["delete", "get", "head", "post", "put", "patch", "common"],
2085
+ (method) => {
2086
+ delete headers[method];
2087
+ }
2088
+ );
2089
+ config.headers = AxiosHeaders$1.concat(contextHeaders, headers);
2090
+ const requestInterceptorChain = [];
2091
+ let synchronousRequestInterceptors = true;
2092
+ this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
2093
+ if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) {
2094
+ return;
2095
+ }
2096
+ synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
2097
+ requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
2098
+ });
2099
+ const responseInterceptorChain = [];
2100
+ this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
2101
+ responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
2102
+ });
2103
+ let promise;
2104
+ let i = 0;
2105
+ let len;
2106
+ if (!synchronousRequestInterceptors) {
2107
+ const chain = [dispatchRequest.bind(this), void 0];
2108
+ chain.unshift.apply(chain, requestInterceptorChain);
2109
+ chain.push.apply(chain, responseInterceptorChain);
2110
+ len = chain.length;
2111
+ promise = Promise.resolve(config);
2112
+ while (i < len) {
2113
+ promise = promise.then(chain[i++], chain[i++]);
2114
+ }
2115
+ return promise;
2116
+ }
2117
+ len = requestInterceptorChain.length;
2118
+ let newConfig = config;
2119
+ i = 0;
2120
+ while (i < len) {
2121
+ const onFulfilled = requestInterceptorChain[i++];
2122
+ const onRejected = requestInterceptorChain[i++];
2123
+ try {
2124
+ newConfig = onFulfilled(newConfig);
2125
+ } catch (error) {
2126
+ onRejected.call(this, error);
2127
+ break;
2128
+ }
2129
+ }
2130
+ try {
2131
+ promise = dispatchRequest.call(this, newConfig);
2132
+ } catch (error) {
2133
+ return Promise.reject(error);
2134
+ }
2135
+ i = 0;
2136
+ len = responseInterceptorChain.length;
2137
+ while (i < len) {
2138
+ promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
2139
+ }
2140
+ return promise;
2141
+ }
2142
+ getUri(config) {
2143
+ config = mergeConfig(this.defaults, config);
2144
+ const fullPath = buildFullPath(config.baseURL, config.url);
2145
+ return buildURL(fullPath, config.params, config.paramsSerializer);
2146
+ }
2147
+ };
2148
+ utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) {
2149
+ Axios.prototype[method] = function(url, config) {
2150
+ return this.request(mergeConfig(config || {}, {
2151
+ method,
2152
+ url,
2153
+ data: (config || {}).data
2154
+ }));
2155
+ };
2156
+ });
2157
+ utils.forEach(["post", "put", "patch"], function forEachMethodWithData(method) {
2158
+ function generateHTTPMethod(isForm) {
2159
+ return function httpMethod(url, data, config) {
2160
+ return this.request(mergeConfig(config || {}, {
2161
+ method,
2162
+ headers: isForm ? {
2163
+ "Content-Type": "multipart/form-data"
2164
+ } : {},
2165
+ url,
2166
+ data
2167
+ }));
2168
+ };
2169
+ }
2170
+ Axios.prototype[method] = generateHTTPMethod();
2171
+ Axios.prototype[method + "Form"] = generateHTTPMethod(true);
2172
+ });
2173
+ var Axios$1 = Axios;
2174
+ var CancelToken = class {
2175
+ constructor(executor) {
2176
+ if (typeof executor !== "function") {
2177
+ throw new TypeError("executor must be a function.");
2178
+ }
2179
+ let resolvePromise;
2180
+ this.promise = new Promise(function promiseExecutor(resolve) {
2181
+ resolvePromise = resolve;
2182
+ });
2183
+ const token = this;
2184
+ this.promise.then((cancel) => {
2185
+ if (!token._listeners)
2186
+ return;
2187
+ let i = token._listeners.length;
2188
+ while (i-- > 0) {
2189
+ token._listeners[i](cancel);
2190
+ }
2191
+ token._listeners = null;
2192
+ });
2193
+ this.promise.then = (onfulfilled) => {
2194
+ let _resolve;
2195
+ const promise = new Promise((resolve) => {
2196
+ token.subscribe(resolve);
2197
+ _resolve = resolve;
2198
+ }).then(onfulfilled);
2199
+ promise.cancel = function reject() {
2200
+ token.unsubscribe(_resolve);
2201
+ };
2202
+ return promise;
2203
+ };
2204
+ executor(function cancel(message, config, request) {
2205
+ if (token.reason) {
2206
+ return;
2207
+ }
2208
+ token.reason = new CanceledError(message, config, request);
2209
+ resolvePromise(token.reason);
2210
+ });
2211
+ }
2212
+ /**
2213
+ * Throws a `CanceledError` if cancellation has been requested.
2214
+ */
2215
+ throwIfRequested() {
2216
+ if (this.reason) {
2217
+ throw this.reason;
2218
+ }
2219
+ }
2220
+ /**
2221
+ * Subscribe to the cancel signal
2222
+ */
2223
+ subscribe(listener) {
2224
+ if (this.reason) {
2225
+ listener(this.reason);
2226
+ return;
2227
+ }
2228
+ if (this._listeners) {
2229
+ this._listeners.push(listener);
2230
+ } else {
2231
+ this._listeners = [listener];
2232
+ }
2233
+ }
2234
+ /**
2235
+ * Unsubscribe from the cancel signal
2236
+ */
2237
+ unsubscribe(listener) {
2238
+ if (!this._listeners) {
2239
+ return;
2240
+ }
2241
+ const index = this._listeners.indexOf(listener);
2242
+ if (index !== -1) {
2243
+ this._listeners.splice(index, 1);
2244
+ }
2245
+ }
2246
+ /**
2247
+ * Returns an object that contains a new `CancelToken` and a function that, when called,
2248
+ * cancels the `CancelToken`.
2249
+ */
2250
+ static source() {
2251
+ let cancel;
2252
+ const token = new CancelToken(function executor(c) {
2253
+ cancel = c;
2254
+ });
2255
+ return {
2256
+ token,
2257
+ cancel
2258
+ };
2259
+ }
2260
+ };
2261
+ var CancelToken$1 = CancelToken;
2262
+ function spread(callback) {
2263
+ return function wrap(arr) {
2264
+ return callback.apply(null, arr);
2265
+ };
2266
+ }
2267
+ function isAxiosError(payload) {
2268
+ return utils.isObject(payload) && payload.isAxiosError === true;
2269
+ }
2270
+ var HttpStatusCode = {
2271
+ Continue: 100,
2272
+ SwitchingProtocols: 101,
2273
+ Processing: 102,
2274
+ EarlyHints: 103,
2275
+ Ok: 200,
2276
+ Created: 201,
2277
+ Accepted: 202,
2278
+ NonAuthoritativeInformation: 203,
2279
+ NoContent: 204,
2280
+ ResetContent: 205,
2281
+ PartialContent: 206,
2282
+ MultiStatus: 207,
2283
+ AlreadyReported: 208,
2284
+ ImUsed: 226,
2285
+ MultipleChoices: 300,
2286
+ MovedPermanently: 301,
2287
+ Found: 302,
2288
+ SeeOther: 303,
2289
+ NotModified: 304,
2290
+ UseProxy: 305,
2291
+ Unused: 306,
2292
+ TemporaryRedirect: 307,
2293
+ PermanentRedirect: 308,
2294
+ BadRequest: 400,
2295
+ Unauthorized: 401,
2296
+ PaymentRequired: 402,
2297
+ Forbidden: 403,
2298
+ NotFound: 404,
2299
+ MethodNotAllowed: 405,
2300
+ NotAcceptable: 406,
2301
+ ProxyAuthenticationRequired: 407,
2302
+ RequestTimeout: 408,
2303
+ Conflict: 409,
2304
+ Gone: 410,
2305
+ LengthRequired: 411,
2306
+ PreconditionFailed: 412,
2307
+ PayloadTooLarge: 413,
2308
+ UriTooLong: 414,
2309
+ UnsupportedMediaType: 415,
2310
+ RangeNotSatisfiable: 416,
2311
+ ExpectationFailed: 417,
2312
+ ImATeapot: 418,
2313
+ MisdirectedRequest: 421,
2314
+ UnprocessableEntity: 422,
2315
+ Locked: 423,
2316
+ FailedDependency: 424,
2317
+ TooEarly: 425,
2318
+ UpgradeRequired: 426,
2319
+ PreconditionRequired: 428,
2320
+ TooManyRequests: 429,
2321
+ RequestHeaderFieldsTooLarge: 431,
2322
+ UnavailableForLegalReasons: 451,
2323
+ InternalServerError: 500,
2324
+ NotImplemented: 501,
2325
+ BadGateway: 502,
2326
+ ServiceUnavailable: 503,
2327
+ GatewayTimeout: 504,
2328
+ HttpVersionNotSupported: 505,
2329
+ VariantAlsoNegotiates: 506,
2330
+ InsufficientStorage: 507,
2331
+ LoopDetected: 508,
2332
+ NotExtended: 510,
2333
+ NetworkAuthenticationRequired: 511
2334
+ };
2335
+ Object.entries(HttpStatusCode).forEach(([key, value]) => {
2336
+ HttpStatusCode[value] = key;
2337
+ });
2338
+ var HttpStatusCode$1 = HttpStatusCode;
2339
+ function createInstance(defaultConfig) {
2340
+ const context = new Axios$1(defaultConfig);
2341
+ const instance = bind(Axios$1.prototype.request, context);
2342
+ utils.extend(instance, Axios$1.prototype, context, { allOwnKeys: true });
2343
+ utils.extend(instance, context, null, { allOwnKeys: true });
2344
+ instance.create = function create(instanceConfig) {
2345
+ return createInstance(mergeConfig(defaultConfig, instanceConfig));
2346
+ };
2347
+ return instance;
2348
+ }
2349
+ var axios = createInstance(defaults$1);
2350
+ axios.Axios = Axios$1;
2351
+ axios.CanceledError = CanceledError;
2352
+ axios.CancelToken = CancelToken$1;
2353
+ axios.isCancel = isCancel;
2354
+ axios.VERSION = VERSION;
2355
+ axios.toFormData = toFormData;
2356
+ axios.AxiosError = AxiosError;
2357
+ axios.Cancel = axios.CanceledError;
2358
+ axios.all = function all(promises) {
2359
+ return Promise.all(promises);
2360
+ };
2361
+ axios.spread = spread;
2362
+ axios.isAxiosError = isAxiosError;
2363
+ axios.mergeConfig = mergeConfig;
2364
+ axios.AxiosHeaders = AxiosHeaders$1;
2365
+ axios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);
2366
+ axios.HttpStatusCode = HttpStatusCode$1;
2367
+ axios.default = axios;
2368
+ module.exports = axios;
2369
+ }
2370
+ });
2371
+
2372
+ // src/Client/index.js
2373
+ var require_Client = __commonJS({
2374
+ "src/Client/index.js"(exports, module) {
2375
+ var { EventEmitter } = require_events();
2376
+ var axios = require_axios();
2377
+ var KohostApiClient = class extends EventEmitter {
2378
+ /*
2379
+ @param {Object} options - The options to create the client
2380
+ @param {String} options.propertyId - The property ID
2381
+ @param {String} options.url - The base URL for the API endpint
2382
+ @param {Object} options.headers - Additional headers to send with each request
2383
+
2384
+ */
2385
+ constructor(options = {
2386
+ url: "",
2387
+ propertyId: "",
2388
+ headers: {}
2389
+ }) {
2390
+ super();
2391
+ if (!options.url)
2392
+ throw new Error("options.url is required");
2393
+ if (!options.propertyId)
2394
+ throw new Error("options.property is required");
2395
+ this.options = options;
2396
+ this.isBrowser = typeof window !== "undefined";
2397
+ this._http = axios.create({
2398
+ baseURL: options.url,
2399
+ responseType: "json",
2400
+ withCredentials: true,
2401
+ headers: {
2402
+ "Content-Type": "application/json",
2403
+ Accept: "application/json",
2404
+ [KohostApiClient.defs.propertyHeader]: options.propertyId,
2405
+ ...options.headers
2406
+ }
2407
+ });
2408
+ this._http.interceptors.response.use(
2409
+ this._handleResponse.bind(this),
2410
+ this._handleResponseError.bind(this)
2411
+ );
2412
+ this._http.interceptors.request.use((config) => {
2413
+ if (!this.isBrowser) {
2414
+ config.headers[KohostApiClient.defs.authTokenHeader] = this.authToken;
2415
+ }
2416
+ return config;
2417
+ });
2418
+ }
2419
+ static get defs() {
2420
+ return {
2421
+ authTokenHeader: "X-Auth-Token",
2422
+ refreshTokenHeader: "X-Refresh-Token",
2423
+ propertyHeader: "X-Property-Id"
2424
+ };
2425
+ }
2426
+ _handleResponse(response) {
2427
+ try {
2428
+ if (response?.data?.data) {
2429
+ response.query = response.data.query;
2430
+ response.pagination = response.data.pagination;
2431
+ response.data = response.data.data;
2432
+ }
2433
+ if (!this.isBrowser && response.headers[this.authTokenHeaderKey]) {
2434
+ this.authToken = response.headers[this.authTokenHeaderKey];
2435
+ }
2436
+ if (!this.isBrowser && response.headers[this.refreshTokenHeaderKey]) {
2437
+ this.refreshToken = response.headers[this.refreshTokenHeaderKey];
2438
+ }
2439
+ return response;
2440
+ } catch (error) {
2441
+ return Promise.reject(error);
2442
+ }
2443
+ }
2444
+ _handleResponseError(error) {
2445
+ const { config: originalReq } = error;
2446
+ if (!error.response)
2447
+ return Promise.reject(error);
2448
+ const { status, data } = error.response;
2449
+ const errorType = data?.error?.type;
2450
+ const errorMessage = data?.error?.message;
2451
+ try {
2452
+ const expectedError = status >= 400 && status < 500;
2453
+ const newTokensNeeded = expectedError && errorType === "TokenExpiredError";
2454
+ if (expectedError && errorMessage === "Login Required") {
2455
+ this._onLoginRequired();
2456
+ return Promise.reject(error);
2457
+ }
2458
+ if (expectedError && errorMessage === "No token provided") {
2459
+ this._onLoginRequired();
2460
+ return Promise.reject(error);
2461
+ }
2462
+ if (expectedError && newTokensNeeded) {
2463
+ return this.RefreshToken().then(() => {
2464
+ return this.http(originalReq);
2465
+ });
2466
+ }
2467
+ } catch (error2) {
2468
+ console.log(error2);
2469
+ }
2470
+ return Promise.reject(error);
2471
+ }
2472
+ get authTokenHeaderKey() {
2473
+ return KohostApiClient.defs.authTokenHeader.toLowerCase();
2474
+ }
2475
+ get refreshTokenHeaderKey() {
2476
+ return KohostApiClient.defs.refreshTokenHeader.toLowerCase();
2477
+ }
2478
+ get lsTokenKey() {
2479
+ return `${this.options.propertyId}_${KohostApiClient.defs.authTokenHeader}`;
2480
+ }
2481
+ get authToken() {
2482
+ return this._authToken;
2483
+ }
2484
+ /*
2485
+ @param {String} token - The token to set
2486
+ @returns undefined
2487
+ */
2488
+ set authToken(token) {
2489
+ this._authToken = token;
2490
+ }
2491
+ _onLoginRequired() {
2492
+ this.emit("LoginRequired");
2493
+ }
2494
+ };
2495
+ module.exports = KohostApiClient;
2496
+ }
2497
+ });
2498
+
2499
+ // src/defs/index.js
2500
+ var require_defs = __commonJS({
2501
+ "src/defs/index.js"(exports, module) {
2502
+ var deviceTypes = require_deviceTypes();
2503
+ var formalDeviceTypes = require_formalDeviceTypes();
2504
+ var { defs: httpDefs } = require_Client();
2505
+ var defs = {
2506
+ http: httpDefs,
2507
+ deviceTypes,
2508
+ formalDeviceTypes
2509
+ };
2510
+ module.exports = defs;
2511
+ }
2512
+ });
2513
+ export default require_defs();
2514
+ //# sourceMappingURL=defs.js.map