@rendomnet/apiservice 1.3.7 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.FetchError = void 0;
7
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
9
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
10
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
11
- function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
12
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
13
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
14
- function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
15
- function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
16
- function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
17
- function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
18
- function _wrapNativeSuper(t) { var r = "function" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }
19
- function _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }
20
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
21
- function _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf("[native code]"); } catch (n) { return "function" == typeof t; } }
22
- function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
23
- function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
24
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
25
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
26
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
27
- var FetchError = exports.FetchError = /*#__PURE__*/function (_Error) {
28
- function FetchError(response) {
29
- var _this;
30
- var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
31
- var code = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'FETCH_ERROR';
32
- _classCallCheck(this, FetchError);
33
- _this = _callSuper(this, FetchError);
34
- _defineProperty(_this, "name", 'FetchError');
35
- var defaultMessage = 'An unspecified error occurred';
36
- var getMessage = function getMessage(data, locations) {
37
- return locations.map(function (item) {
38
- var parts = item.split('.');
39
- var value = data;
40
- var _iterator = _createForOfIteratorHelper(parts),
41
- _step;
42
- try {
43
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
44
- var _value;
45
- var part = _step.value;
46
- value = (_value = value) === null || _value === void 0 ? void 0 : _value[part];
47
- }
48
- } catch (err) {
49
- _iterator.e(err);
50
- } finally {
51
- _iterator.f();
52
- }
53
- return value;
54
- }).find(function (message) {
55
- return typeof message === 'string';
56
- }) || null;
57
- };
58
- var messageFromData = getMessage(data, ['error.errors.0.message', 'error.message', 'message']);
59
- _this.message = messageFromData || response.statusText || defaultMessage;
60
- _this.status = response.status;
61
- _this.code = code;
62
- _this.data = data;
63
- _this.message = _this.message || defaultMessage;
64
- Object.setPrototypeOf(_this, (this instanceof FetchError ? this.constructor : void 0).prototype);
65
- return _this;
66
- }
67
- _inherits(FetchError, _Error);
68
- return _createClass(FetchError);
69
- }(/*#__PURE__*/_wrapNativeSuper(Error));
70
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGZXRjaEVycm9yIiwiZXhwb3J0cyIsIl9FcnJvciIsInJlc3BvbnNlIiwiX3RoaXMiLCJkYXRhIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiY29kZSIsIl9jbGFzc0NhbGxDaGVjayIsIl9jYWxsU3VwZXIiLCJfZGVmaW5lUHJvcGVydHkiLCJkZWZhdWx0TWVzc2FnZSIsImdldE1lc3NhZ2UiLCJsb2NhdGlvbnMiLCJtYXAiLCJpdGVtIiwicGFydHMiLCJzcGxpdCIsInZhbHVlIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsIl92YWx1ZSIsInBhcnQiLCJlcnIiLCJlIiwiZiIsImZpbmQiLCJtZXNzYWdlIiwibWVzc2FnZUZyb21EYXRhIiwic3RhdHVzVGV4dCIsInN0YXR1cyIsIk9iamVjdCIsInNldFByb3RvdHlwZU9mIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfaW5oZXJpdHMiLCJfY3JlYXRlQ2xhc3MiLCJfd3JhcE5hdGl2ZVN1cGVyIiwiRXJyb3IiXSwic291cmNlcyI6WyIuLi9zcmMvRmV0Y2hFcnJvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRmV0Y2hFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgbmFtZTogc3RyaW5nID0gJ0ZldGNoRXJyb3InO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgY29kZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGRhdGE6IGFueTtcblxuICBjb25zdHJ1Y3RvcihyZXNwb25zZTogUmVzcG9uc2UsIGRhdGE6IGFueSA9IHt9LCBjb2RlOiBzdHJpbmcgPSAnRkVUQ0hfRVJST1InKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCBkZWZhdWx0TWVzc2FnZSA9ICdBbiB1bnNwZWNpZmllZCBlcnJvciBvY2N1cnJlZCc7XG5cbiAgICBjb25zdCBnZXRNZXNzYWdlID0gKGRhdGE6IGFueSwgbG9jYXRpb25zOiBzdHJpbmdbXSk6IHN0cmluZyB8IG51bGwgPT5cbiAgICAgIGxvY2F0aW9uc1xuICAgICAgICAubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGFydHMgPSBpdGVtLnNwbGl0KCcuJyk7XG4gICAgICAgICAgbGV0IHZhbHVlID0gZGF0YTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWU/LltwYXJ0XTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9KVxuICAgICAgICAuZmluZCgobWVzc2FnZSkgPT4gdHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnKSB8fCBudWxsO1xuXG4gICAgY29uc3QgbWVzc2FnZUZyb21EYXRhID0gZ2V0TWVzc2FnZShkYXRhLCBbXG4gICAgICAnZXJyb3IuZXJyb3JzLjAubWVzc2FnZScsXG4gICAgICAnZXJyb3IubWVzc2FnZScsXG4gICAgICAnbWVzc2FnZScsXG4gICAgXSk7XG5cbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlRnJvbURhdGEgfHwgcmVzcG9uc2Uuc3RhdHVzVGV4dCB8fCBkZWZhdWx0TWVzc2FnZTtcbiAgICB0aGlzLnN0YXR1cyA9IHJlc3BvbnNlLnN0YXR1cztcbiAgICB0aGlzLmNvZGUgPSBjb2RlO1xuICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgdGhpcy5tZXNzYWdlID0gdGhpcy5tZXNzYWdlIHx8IGRlZmF1bHRNZXNzYWdlO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBuZXcudGFyZ2V0LnByb3RvdHlwZSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFBYUEsVUFBVSxHQUFBQyxPQUFBLENBQUFELFVBQUEsMEJBQUFFLE1BQUE7RUFPckIsU0FBQUYsV0FBWUcsUUFBa0IsRUFBZ0Q7SUFBQSxJQUFBQyxLQUFBO0lBQUEsSUFBOUNDLElBQVMsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsQ0FBQyxDQUFDO0lBQUEsSUFBRUcsSUFBWSxHQUFBSCxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxhQUFhO0lBQUFJLGVBQUEsT0FBQVYsVUFBQTtJQUMxRUksS0FBQSxHQUFBTyxVQUFBLE9BQUFYLFVBQUE7SUFBUVksZUFBQSxDQUFBUixLQUFBLFVBUEssWUFBWTtJQVF6QixJQUFNUyxjQUFjLEdBQUcsK0JBQStCO0lBRXRELElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJVCxJQUFTLEVBQUVVLFNBQW1CO01BQUEsT0FDaERBLFNBQVMsQ0FDTkMsR0FBRyxDQUFDLFVBQUNDLElBQUksRUFBSztRQUNiLElBQU1DLEtBQUssR0FBR0QsSUFBSSxDQUFDRSxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzdCLElBQUlDLEtBQUssR0FBR2YsSUFBSTtRQUFDLElBQUFnQixTQUFBLEdBQUFDLDBCQUFBLENBQ0VKLEtBQUs7VUFBQUssS0FBQTtRQUFBO1VBQXhCLEtBQUFGLFNBQUEsQ0FBQUcsQ0FBQSxNQUFBRCxLQUFBLEdBQUFGLFNBQUEsQ0FBQUksQ0FBQSxJQUFBQyxJQUFBLEdBQTBCO1lBQUEsSUFBQUMsTUFBQTtZQUFBLElBQWZDLElBQUksR0FBQUwsS0FBQSxDQUFBSCxLQUFBO1lBQ2JBLEtBQUssSUFBQU8sTUFBQSxHQUFHUCxLQUFLLGNBQUFPLE1BQUEsdUJBQUxBLE1BQUEsQ0FBUUMsSUFBSSxDQUFDO1VBQ3ZCO1FBQUMsU0FBQUMsR0FBQTtVQUFBUixTQUFBLENBQUFTLENBQUEsQ0FBQUQsR0FBQTtRQUFBO1VBQUFSLFNBQUEsQ0FBQVUsQ0FBQTtRQUFBO1FBQ0QsT0FBT1gsS0FBSztNQUNkLENBQUMsQ0FBQyxDQUNEWSxJQUFJLENBQUMsVUFBQ0MsT0FBTztRQUFBLE9BQUssT0FBT0EsT0FBTyxLQUFLLFFBQVE7TUFBQSxFQUFDLElBQUksSUFBSTtJQUFBO0lBRTNELElBQU1DLGVBQWUsR0FBR3BCLFVBQVUsQ0FBQ1QsSUFBSSxFQUFFLENBQ3ZDLHdCQUF3QixFQUN4QixlQUFlLEVBQ2YsU0FBUyxDQUNWLENBQUM7SUFFRkQsS0FBQSxDQUFLNkIsT0FBTyxHQUFHQyxlQUFlLElBQUkvQixRQUFRLENBQUNnQyxVQUFVLElBQUl0QixjQUFjO0lBQ3ZFVCxLQUFBLENBQUtnQyxNQUFNLEdBQUdqQyxRQUFRLENBQUNpQyxNQUFNO0lBQzdCaEMsS0FBQSxDQUFLSyxJQUFJLEdBQUdBLElBQUk7SUFDaEJMLEtBQUEsQ0FBS0MsSUFBSSxHQUFHQSxJQUFJO0lBQ2hCRCxLQUFBLENBQUs2QixPQUFPLEdBQUc3QixLQUFBLENBQUs2QixPQUFPLElBQUlwQixjQUFjO0lBQzdDd0IsTUFBTSxDQUFDQyxjQUFjLENBQUFsQyxLQUFBLEVBQU8saUJBQUFKLFVBQUEsUUFBQXVDLFdBQUEsV0FBV0MsU0FBUyxDQUFDO0lBQUMsT0FBQXBDLEtBQUE7RUFDcEQ7RUFBQ3FDLFNBQUEsQ0FBQXpDLFVBQUEsRUFBQUUsTUFBQTtFQUFBLE9BQUF3QyxZQUFBLENBQUExQyxVQUFBO0FBQUEsZUFBQTJDLGdCQUFBLENBbkM2QkMsS0FBSyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,28 +0,0 @@
1
- import { HookSettings, StatusCode } from './types';
2
- /**
3
- * Manages hooks for different status codes and their processing
4
- */
5
- export declare class HookManager {
6
- private hooks;
7
- private hookPromises;
8
- /**
9
- * Set hooks for different status codes
10
- */
11
- setHooks(hooks: Record<StatusCode, HookSettings>): void;
12
- /**
13
- * Get a hook for a specific status code
14
- */
15
- getHook(status: StatusCode): HookSettings | undefined;
16
- /**
17
- * Process a hook for a specific status code
18
- */
19
- processHook(accountId: string, status: StatusCode, error: any): Promise<Record<string, any> | null>;
20
- /**
21
- * Handle a retry failure with the appropriate hook
22
- */
23
- handleRetryFailure(accountId: string, status: StatusCode, error: any): Promise<void>;
24
- /**
25
- * Check if a hook exists and should retry for a given status
26
- */
27
- shouldRetry(status: StatusCode): boolean;
28
- }
@@ -1,156 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.HookManager = void 0;
7
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
- function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
9
- function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
10
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
11
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
12
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
15
- function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
16
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
17
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
- /**
21
- * Manages hooks for different status codes and their processing
22
- */
23
- var HookManager = exports.HookManager = /*#__PURE__*/function () {
24
- function HookManager() {
25
- _classCallCheck(this, HookManager);
26
- _defineProperty(this, "hooks", {});
27
- _defineProperty(this, "hookPromises", {});
28
- }
29
- return _createClass(HookManager, [{
30
- key: "setHooks",
31
- value:
32
- /**
33
- * Set hooks for different status codes
34
- */
35
- function setHooks(hooks) {
36
- this.hooks = _objectSpread(_objectSpread({}, this.hooks), hooks);
37
- }
38
-
39
- /**
40
- * Get a hook for a specific status code
41
- */
42
- }, {
43
- key: "getHook",
44
- value: function getHook(status) {
45
- return this.hooks[status];
46
- }
47
-
48
- /**
49
- * Process a hook for a specific status code
50
- */
51
- }, {
52
- key: "processHook",
53
- value: (function () {
54
- var _processHook = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(accountId, status, error) {
55
- var hook, hookKey, result, _t, _t2;
56
- return _regenerator().w(function (_context) {
57
- while (1) switch (_context.n) {
58
- case 0:
59
- hook = this.hooks[status];
60
- if (!(!hook || !hook.handler)) {
61
- _context.n = 1;
62
- break;
63
- }
64
- return _context.a(2, null);
65
- case 1:
66
- hookKey = "".concat(accountId || 'default', "-").concat(status);
67
- _context.p = 2;
68
- if (!hook.preventConcurrentCalls) {
69
- _context.n = 4;
70
- break;
71
- }
72
- if (!this.hookPromises[hookKey]) {
73
- this.hookPromises[hookKey] = Promise.resolve(hook.handler(accountId, error.response) || {});
74
- }
75
- _context.n = 3;
76
- return this.hookPromises[hookKey];
77
- case 3:
78
- result = _context.v;
79
- delete this.hookPromises[hookKey];
80
- return _context.a(2, result);
81
- case 4:
82
- _context.n = 5;
83
- return hook.handler(accountId, error.response);
84
- case 5:
85
- _t = _context.v;
86
- if (_t) {
87
- _context.n = 6;
88
- break;
89
- }
90
- _t = {};
91
- case 6:
92
- return _context.a(2, _t);
93
- case 7:
94
- _context.p = 7;
95
- _t2 = _context.v;
96
- console.error("Hook handler failed for status ".concat(status, ":"), _t2);
97
- if (!hook.onHandlerError) {
98
- _context.n = 8;
99
- break;
100
- }
101
- _context.n = 8;
102
- return hook.onHandlerError(accountId, _t2);
103
- case 8:
104
- throw _t2;
105
- case 9:
106
- return _context.a(2);
107
- }
108
- }, _callee, this, [[2, 7]]);
109
- }));
110
- function processHook(_x, _x2, _x3) {
111
- return _processHook.apply(this, arguments);
112
- }
113
- return processHook;
114
- }()
115
- /**
116
- * Handle a retry failure with the appropriate hook
117
- */
118
- )
119
- }, {
120
- key: "handleRetryFailure",
121
- value: (function () {
122
- var _handleRetryFailure = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(accountId, status, error) {
123
- var hook;
124
- return _regenerator().w(function (_context2) {
125
- while (1) switch (_context2.n) {
126
- case 0:
127
- hook = this.hooks[status];
128
- if (!(hook !== null && hook !== void 0 && hook.onMaxRetriesExceeded)) {
129
- _context2.n = 1;
130
- break;
131
- }
132
- _context2.n = 1;
133
- return hook.onMaxRetriesExceeded(accountId, error);
134
- case 1:
135
- return _context2.a(2);
136
- }
137
- }, _callee2, this);
138
- }));
139
- function handleRetryFailure(_x4, _x5, _x6) {
140
- return _handleRetryFailure.apply(this, arguments);
141
- }
142
- return handleRetryFailure;
143
- }()
144
- /**
145
- * Check if a hook exists and should retry for a given status
146
- */
147
- )
148
- }, {
149
- key: "shouldRetry",
150
- value: function shouldRetry(status) {
151
- var hook = this.hooks[status];
152
- return !!hook && !!hook.shouldRetry;
153
- }
154
- }]);
155
- }();
156
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX2ludm9rZSIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfZGVmaW5lUHJvcGVydGllcyIsIl90b1Byb3BlcnR5S2V5Iiwia2V5IiwiX2NyZWF0ZUNsYXNzIiwiX3RvUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiSG9va01hbmFnZXIiLCJleHBvcnRzIiwic2V0SG9va3MiLCJob29rcyIsImdldEhvb2siLCJzdGF0dXMiLCJfcHJvY2Vzc0hvb2siLCJfY2FsbGVlIiwiYWNjb3VudElkIiwiZXJyb3IiLCJob29rIiwiaG9va0tleSIsInJlc3VsdCIsIl90IiwiX3QyIiwiX2NvbnRleHQiLCJoYW5kbGVyIiwiY29uY2F0IiwicHJldmVudENvbmN1cnJlbnRDYWxscyIsImhvb2tQcm9taXNlcyIsInJlc3BvbnNlIiwiY29uc29sZSIsIm9uSGFuZGxlckVycm9yIiwicHJvY2Vzc0hvb2siLCJfeCIsIl94MiIsIl94MyIsIl9oYW5kbGVSZXRyeUZhaWx1cmUiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsIm9uTWF4UmV0cmllc0V4Y2VlZGVkIiwiaGFuZGxlUmV0cnlGYWlsdXJlIiwiX3g0IiwiX3g1IiwiX3g2Iiwic2hvdWxkUmV0cnkiXSwic291cmNlcyI6WyIuLi9zcmMvSG9va01hbmFnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSG9va1NldHRpbmdzLCBTdGF0dXNDb2RlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogTWFuYWdlcyBob29rcyBmb3IgZGlmZmVyZW50IHN0YXR1cyBjb2RlcyBhbmQgdGhlaXIgcHJvY2Vzc2luZ1xuICovXG5leHBvcnQgY2xhc3MgSG9va01hbmFnZXIge1xuICBwcml2YXRlIGhvb2tzOiBSZWNvcmQ8U3RhdHVzQ29kZSwgSG9va1NldHRpbmdzPiA9IHt9O1xuICBwcml2YXRlIGhvb2tQcm9taXNlczogUmVjb3JkPHN0cmluZywgUHJvbWlzZTxvYmplY3Q+PiA9IHt9O1xuXG4gIC8qKlxuICAgKiBTZXQgaG9va3MgZm9yIGRpZmZlcmVudCBzdGF0dXMgY29kZXNcbiAgICovXG4gIHB1YmxpYyBzZXRIb29rcyhob29rczogUmVjb3JkPFN0YXR1c0NvZGUsIEhvb2tTZXR0aW5ncz4pOiB2b2lkIHtcbiAgICB0aGlzLmhvb2tzID0geyAuLi50aGlzLmhvb2tzLCAuLi5ob29rcyB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIGhvb2sgZm9yIGEgc3BlY2lmaWMgc3RhdHVzIGNvZGVcbiAgICovXG4gIHB1YmxpYyBnZXRIb29rKHN0YXR1czogU3RhdHVzQ29kZSk6IEhvb2tTZXR0aW5ncyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaG9va3Nbc3RhdHVzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIGEgaG9vayBmb3IgYSBzcGVjaWZpYyBzdGF0dXMgY29kZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIHByb2Nlc3NIb29rKFxuICAgIGFjY291bnRJZDogc3RyaW5nLFxuICAgIHN0YXR1czogU3RhdHVzQ29kZSxcbiAgICBlcnJvcjogYW55XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55PiB8IG51bGw+IHtcbiAgICBjb25zdCBob29rID0gdGhpcy5ob29rc1tzdGF0dXNdO1xuICAgIGlmICghaG9vayB8fCAhaG9vay5oYW5kbGVyKSByZXR1cm4gbnVsbDtcbiAgICBcbiAgICBjb25zdCBob29rS2V5ID0gYCR7YWNjb3VudElkIHx8ICdkZWZhdWx0J30tJHtzdGF0dXN9YDtcbiAgICBcbiAgICB0cnkge1xuICAgICAgLy8gSGFuZGxlIHdhaXRpbmcgZm9yIGV4aXN0aW5nIGhvb2sgY2FsbCBpZiBuZWVkZWRcbiAgICAgIGlmIChob29rLnByZXZlbnRDb25jdXJyZW50Q2FsbHMpIHtcbiAgICAgICAgaWYgKCF0aGlzLmhvb2tQcm9taXNlc1tob29rS2V5XSkge1xuICAgICAgICAgIHRoaXMuaG9va1Byb21pc2VzW2hvb2tLZXldID0gUHJvbWlzZS5yZXNvbHZlKFxuICAgICAgICAgICAgaG9vay5oYW5kbGVyKGFjY291bnRJZCwgZXJyb3IucmVzcG9uc2UpIHx8IHt9XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5ob29rUHJvbWlzZXNbaG9va0tleV07XG4gICAgICAgIGRlbGV0ZSB0aGlzLmhvb2tQcm9taXNlc1tob29rS2V5XTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0gXG4gICAgICBcbiAgICAgIC8vIE90aGVyd2lzZSBqdXN0IGNhbGwgdGhlIGhvb2sgZGlyZWN0bHlcbiAgICAgIHJldHVybiBhd2FpdCBob29rLmhhbmRsZXIoYWNjb3VudElkLCBlcnJvci5yZXNwb25zZSkgfHwge307XG4gICAgfSBcbiAgICBjYXRjaCAoaG9va0Vycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBIb29rIGhhbmRsZXIgZmFpbGVkIGZvciBzdGF0dXMgJHtzdGF0dXN9OmAsIGhvb2tFcnJvcik7XG4gICAgICBcbiAgICAgIGlmIChob29rLm9uSGFuZGxlckVycm9yKSB7XG4gICAgICAgIGF3YWl0IGhvb2sub25IYW5kbGVyRXJyb3IoYWNjb3VudElkLCBob29rRXJyb3IpO1xuICAgICAgfVxuICAgICAgXG4gICAgICB0aHJvdyBob29rRXJyb3I7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBhIHJldHJ5IGZhaWx1cmUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgaG9va1xuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhbmRsZVJldHJ5RmFpbHVyZShhY2NvdW50SWQ6IHN0cmluZywgc3RhdHVzOiBTdGF0dXNDb2RlLCBlcnJvcjogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaG9vayA9IHRoaXMuaG9va3Nbc3RhdHVzXTtcbiAgICBpZiAoaG9vaz8ub25NYXhSZXRyaWVzRXhjZWVkZWQpIHtcbiAgICAgIGF3YWl0IGhvb2sub25NYXhSZXRyaWVzRXhjZWVkZWQoYWNjb3VudElkLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGEgaG9vayBleGlzdHMgYW5kIHNob3VsZCByZXRyeSBmb3IgYSBnaXZlbiBzdGF0dXNcbiAgICovXG4gIHB1YmxpYyBzaG91bGRSZXRyeShzdGF0dXM6IFN0YXR1c0NvZGUpOiBib29sZWFuIHtcbiAgICBjb25zdCBob29rID0gdGhpcy5ob29rc1tzdGF0dXNdO1xuICAgIHJldHVybiAhIWhvb2sgJiYgISFob29rLnNob3VsZFJldHJ5O1xuICB9XG59ICJdLCJtYXBwaW5ncyI6Ijs7Ozs7OzswQkFDQSx1S0FBQUEsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsd0JBQUFDLE1BQUEsR0FBQUEsTUFBQSxPQUFBQyxDQUFBLEdBQUFGLENBQUEsQ0FBQUcsUUFBQSxrQkFBQUMsQ0FBQSxHQUFBSixDQUFBLENBQUFLLFdBQUEsOEJBQUFDLEVBQUFOLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsUUFBQUMsQ0FBQSxHQUFBTCxDQUFBLElBQUFBLENBQUEsQ0FBQU0sU0FBQSxZQUFBQyxTQUFBLEdBQUFQLENBQUEsR0FBQU8sU0FBQSxFQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsTUFBQSxDQUFBTCxDQUFBLENBQUFDLFNBQUEsVUFBQUssbUJBQUEsQ0FBQUgsQ0FBQSx1QkFBQVYsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsUUFBQUUsQ0FBQSxFQUFBQyxDQUFBLEVBQUFHLENBQUEsRUFBQUksQ0FBQSxNQUFBQyxDQUFBLEdBQUFYLENBQUEsUUFBQVksQ0FBQSxPQUFBQyxDQUFBLEtBQUFGLENBQUEsS0FBQWIsQ0FBQSxLQUFBZ0IsQ0FBQSxFQUFBcEIsQ0FBQSxFQUFBcUIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFOLENBQUEsRUFBQU0sQ0FBQSxDQUFBQyxJQUFBLENBQUF2QixDQUFBLE1BQUFzQixDQUFBLFdBQUFBLEVBQUFyQixDQUFBLEVBQUFDLENBQUEsV0FBQU0sQ0FBQSxHQUFBUCxDQUFBLEVBQUFRLENBQUEsTUFBQUcsQ0FBQSxHQUFBWixDQUFBLEVBQUFtQixDQUFBLENBQUFmLENBQUEsR0FBQUYsQ0FBQSxFQUFBbUIsQ0FBQSxnQkFBQUMsRUFBQXBCLENBQUEsRUFBQUUsQ0FBQSxTQUFBSyxDQUFBLEdBQUFQLENBQUEsRUFBQVUsQ0FBQSxHQUFBUixDQUFBLEVBQUFILENBQUEsT0FB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
@@ -1,26 +0,0 @@
1
- import { ApiCallParams, Token } from './types';
2
- /**
3
- * Handles HTTP requests to external APIs
4
- */
5
- export declare class HttpClient {
6
- /**
7
- * Make an HTTP request
8
- */
9
- makeRequest(apiParams: ApiCallParams, authToken: Token | Record<string, any>): Promise<any>;
10
- /**
11
- * Build URL with query parameters
12
- */
13
- private buildUrl;
14
- /**
15
- * Prepare form data for file uploads
16
- */
17
- private prepareFormData;
18
- /**
19
- * Build fetch options for request
20
- */
21
- private buildFetchOptions;
22
- /**
23
- * Handle API response
24
- */
25
- private handleResponse;
26
- }
@@ -1,200 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.HttpClient = void 0;
7
- var _qs = _interopRequireDefault(require("qs"));
8
- var _FetchError = require("./FetchError");
9
- var _form = require("./form");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
12
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
15
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
16
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
18
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
19
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
20
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
21
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22
- function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
23
- function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
24
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
25
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
26
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
27
- function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
28
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
29
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
30
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
31
- /**
32
- * Handles HTTP requests to external APIs
33
- */
34
- var HttpClient = exports.HttpClient = /*#__PURE__*/function () {
35
- function HttpClient() {
36
- _classCallCheck(this, HttpClient);
37
- }
38
- return _createClass(HttpClient, [{
39
- key: "makeRequest",
40
- value: (
41
- /**
42
- * Make an HTTP request
43
- */
44
- function () {
45
- var _makeRequest = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(apiParams, authToken) {
46
- var accountId, method, route, base, body, data, headers, queryParams, _apiParams$contentTyp, contentType, forcedAccessToken, _apiParams$useAuth, useAuth, files, abortSignal, url, requestBody, normalizedMethod, formData, fetchOptions, response, _t;
47
- return _regenerator().w(function (_context) {
48
- while (1) switch (_context.n) {
49
- case 0:
50
- accountId = apiParams.accountId, method = apiParams.method, route = apiParams.route, base = apiParams.base, body = apiParams.body, data = apiParams.data, headers = apiParams.headers, queryParams = apiParams.queryParams, _apiParams$contentTyp = apiParams.contentType, contentType = _apiParams$contentTyp === void 0 ? 'application/json' : _apiParams$contentTyp, forcedAccessToken = apiParams.accessToken, _apiParams$useAuth = apiParams.useAuth, useAuth = _apiParams$useAuth === void 0 ? true : _apiParams$useAuth, files = apiParams.files, abortSignal = apiParams.abortSignal; // Build URL and request body
51
- url = this.buildUrl(base, route, queryParams);
52
- requestBody = body || data;
53
- normalizedMethod = method === null || method === void 0 ? void 0 : method.toUpperCase(); // Handle file uploads
54
- formData = this.prepareFormData(files); // Create fetch options
55
- fetchOptions = this.buildFetchOptions({
56
- method: normalizedMethod,
57
- body: requestBody,
58
- formData: formData,
59
- contentType: contentType,
60
- authToken: authToken,
61
- forcedAccessToken: forcedAccessToken,
62
- useAuth: useAuth,
63
- headers: headers,
64
- abortSignal: abortSignal
65
- }); // Make the request
66
- _context.p = 1;
67
- console.log("\uD83D\uDD04 Making API call to ".concat(url));
68
- _context.n = 2;
69
- return fetch(url, fetchOptions);
70
- case 2:
71
- response = _context.v;
72
- _context.n = 3;
73
- return this.handleResponse(response);
74
- case 3:
75
- return _context.a(2, _context.v);
76
- case 4:
77
- _context.p = 4;
78
- _t = _context.v;
79
- console.error('🔄 Error making API call:', _t);
80
- throw _t;
81
- case 5:
82
- return _context.a(2);
83
- }
84
- }, _callee, this, [[1, 4]]);
85
- }));
86
- function makeRequest(_x, _x2) {
87
- return _makeRequest.apply(this, arguments);
88
- }
89
- return makeRequest;
90
- }()
91
- /**
92
- * Build URL with query parameters
93
- */
94
- )
95
- }, {
96
- key: "buildUrl",
97
- value: function buildUrl(base, route, queryParams) {
98
- var baseUrl = base || '';
99
- var url = "".concat(baseUrl).concat(route || '');
100
- if (queryParams) url += "?".concat(_qs["default"].stringify(queryParams));
101
- return url;
102
- }
103
-
104
- /**
105
- * Prepare form data for file uploads
106
- */
107
- }, {
108
- key: "prepareFormData",
109
- value: function prepareFormData(files) {
110
- if (!files) return null;
111
- var formData = (0, _form.deserializeForm)(files);
112
- // Use a workaround for TypeScript FormData entries() issue
113
- var entries = formData;
114
- var _iterator = _createForOfIteratorHelper(entries.entries()),
115
- _step;
116
- try {
117
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
118
- var _step$value = _slicedToArray(_step.value, 2),
119
- key = _step$value[0],
120
- value = _step$value[1];
121
- console.log("formdata ".concat(key, ":"), value);
122
- }
123
- } catch (err) {
124
- _iterator.e(err);
125
- } finally {
126
- _iterator.f();
127
- }
128
- return formData;
129
- }
130
-
131
- /**
132
- * Build fetch options for request
133
- */
134
- }, {
135
- key: "buildFetchOptions",
136
- value: function buildFetchOptions(_ref) {
137
- var method = _ref.method,
138
- body = _ref.body,
139
- formData = _ref.formData,
140
- contentType = _ref.contentType,
141
- authToken = _ref.authToken,
142
- forcedAccessToken = _ref.forcedAccessToken,
143
- useAuth = _ref.useAuth,
144
- headers = _ref.headers,
145
- abortSignal = _ref.abortSignal;
146
- var allowedMethods = ['POST', 'PUT', 'PATCH'];
147
- return {
148
- method: method,
149
- signal: abortSignal,
150
- headers: _objectSpread(_objectSpread(_objectSpread({}, useAuth && {
151
- Authorization: "Bearer ".concat(forcedAccessToken || authToken.access_token)
152
- }), !formData && {
153
- 'content-type': contentType
154
- }), headers || {}),
155
- body: body && allowedMethods.includes(method) ? JSON.stringify(body) : formData || null
156
- };
157
- }
158
-
159
- /**
160
- * Handle API response
161
- */
162
- }, {
163
- key: "handleResponse",
164
- value: (function () {
165
- var _handleResponse = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(response) {
166
- var data, _t2;
167
- return _regenerator().w(function (_context2) {
168
- while (1) switch (_context2.n) {
169
- case 0:
170
- data = null;
171
- _context2.p = 1;
172
- _context2.n = 2;
173
- return response.json();
174
- case 2:
175
- data = _context2.v;
176
- console.log('🔄 Response data:', data);
177
- _context2.n = 4;
178
- break;
179
- case 3:
180
- _context2.p = 3;
181
- _t2 = _context2.v;
182
- case 4:
183
- if (response.ok) {
184
- _context2.n = 5;
185
- break;
186
- }
187
- throw new _FetchError.FetchError(response, data);
188
- case 5:
189
- return _context2.a(2, data);
190
- }
191
- }, _callee2, null, [[1, 3]]);
192
- }));
193
- function handleResponse(_x3) {
194
- return _handleResponse.apply(this, arguments);
195
- }
196
- return handleResponse;
197
- }())
198
- }]);
199
- }();
200
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcXMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9GZXRjaEVycm9yIiwiX2Zvcm0iLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIm93bktleXMiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwibCIsIm4iLCJpIiwidSIsImEiLCJmIiwiY2FsbCIsIm5leHQiLCJkb25lIiwiQXJyYXkiLCJpc0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfbiIsIkYiLCJzIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiX3JlZ2VuZXJhdG9yIiwidG9TdHJpbmdUYWciLCJjIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiX3JlZ2VuZXJhdG9yRGVmaW5lMiIsInAiLCJ5IiwiRyIsInYiLCJkIiwiYmluZCIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJ3IiwibSIsIl9yZWdlbmVyYXRvckRlZmluZSIsIl9pbnZva2UiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9uZXh0IiwiX3Rocm93IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIkh0dHBDbGllbnQiLCJleHBvcnRzIiwiX21ha2VSZXF1ZXN0IiwiX2NhbGxlZSIsImFwaVBhcmFtcyIsImF1dGhUb2tlbiIsImFjY291bnRJZCIsIm1ldGhvZCIsInJvdXRlIiwiYmFzZSIsImJvZHkiLCJkYXRhIiwiaGVhZGVycyIsInF1ZXJ5UGFyYW1zIiwiX2FwaVBhcmFtcyRjb250ZW50VHlwIiwiY29udGVudFR5cGUiLCJmb3JjZWRBY2Nlc3NUb2tlbiIsIl9hcGlQYXJhbXMkdXNlQXV0aCIsInVzZUF1dGgiLCJmaWxlcyIsImFib3J0U2lnbmFsIiwidXJsIiwicmVxdWVzdEJvZHkiLCJub3JtYWxpemVkTWV0aG9kIiwiZm9ybURhdGEiLCJmZXRjaE9wdGlvbnMiLCJyZXNwb25zZSIsIl90IiwiX2NvbnRleHQiLCJhY2Nlc3NUb2tlbiIsImJ1aWxkVXJsIiwidG9VcHBlckNhc2UiLCJwcmVwYXJlRm9ybURhdGEiLCJidWlsZEZldGNoT3B0aW9ucyIsImNvbnNvbGUiLCJsb2ciLCJjb25jYXQiLCJmZXRjaCIsImhhbmRsZVJlc3BvbnNlIiwiZXJyb3IiLCJtYWtlUmVxdWVzdCIsIl94IiwiX3gyIiwiYmFzZVVybCIsInFzIiwic3RyaW5naWZ5IiwiZGVzZXJpYWxpemVGb3JtIiwiZW50cmllcyIsIl9pdGVyYXRvciIsIl9zdGVwIiwiX3N0ZXAkdmFsdWUiLCJlcnIiLCJfcmVmIiwiYWxsb3dlZE1ldGhvZHMiLCJzaWduYWwiLCJBdXRob3JpemF0aW9uIiwiYWNjZXNzX3Rva2VuIiwiaW5jbHVkZXMiLCJKU09OIiwiX2hhbmRsZVJlc3BvbnNlIiwiX2NhbGxlZTIiLCJfdDIiLCJfY29udGV4dDIiLCJqc29uIiwib2siLCJGZXRjaEVycm9yIiwiX3gzIl0sInNvdXJjZXMiOlsiLi4vc3JjL0h0dHBDbGllbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHFzIGZyb20gJ3FzJztcbmltcG9ydCB7IEFwaUNhbGxQYXJhbXMsIFRva2VuIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBGZXRjaEVycm9yIH0gZnJvbSAnLi9GZXRjaEVycm9yJztcbmltcG9ydCB7IGRlc2VyaWFsaXplRm9ybSB9IGZyb20gJy4vZm9ybSc7XG5cbi8qKlxuICogSGFuZGxlcyBIVFRQIHJlcXVlc3RzIHRvIGV4dGVybmFsIEFQSXNcbiAqL1xuZXhwb3J0IGNsYXNzIEh0dHBDbGllbnQge1xuICAvKipcbiAgICogTWFrZSBhbiBIVFRQIHJlcXVlc3RcbiAgICovXG4gIHB1YmxpYyBhc3luYyBtYWtlUmVxdWVzdChhcGlQYXJhbXM6IEFwaUNhbGxQYXJhbXMsIGF1dGhUb2tlbjogVG9rZW4gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB7XG4gICAgICBhY2NvdW50SWQsXG4gICAgICBtZXRob2QsXG4gICAgICByb3V0ZSxcbiAgICAgIGJhc2UsXG4gICAgICBib2R5LFxuICAgICAgZGF0YSxcbiAgICAgIGhlYWRlcnMsXG4gICAgICBxdWVyeVBhcmFtcyxcbiAgICAgIGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgYWNjZXNzVG9rZW46IGZvcmNlZEFjY2Vzc1Rva2VuLFxuICAgICAgdXNlQXV0aCA9IHRydWUsXG4gICAgICBmaWxlcyxcbiAgICAgIGFib3J0U2lnbmFsLFxuICAgIH0gPSBhcGlQYXJhbXM7XG4gICAgXG4gICAgLy8gQnVpbGQgVVJMIGFuZCByZXF1ZXN0IGJvZHlcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJ1aWxkVXJsKGJhc2UsIHJvdXRlLCBxdWVyeVBhcmFtcyk7XG4gICAgY29uc3QgcmVxdWVzdEJvZHkgPSBib2R5IHx8IGRhdGE7XG4gICAgY29uc3Qgbm9ybWFsaXplZE1ldGhvZCA9IG1ldGhvZD8udG9VcHBlckNhc2UoKSBhcyAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnIHwgJ0RFTEVURSc7XG4gICAgXG4gICAgLy8gSGFuZGxlIGZpbGUgdXBsb2Fkc1xuICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy5wcmVwYXJlRm9ybURhdGEoZmlsZXMpO1xuICAgIFxuICAgIC8vIENyZWF0ZSBmZXRjaCBvcHRpb25zXG4gICAgY29uc3QgZmV0Y2hPcHRpb25zID0gdGhpcy5idWlsZEZldGNoT3B0aW9ucyh7XG4gICAgICBtZXRob2Q6IG5vcm1hbGl6ZWRNZXRob2QsXG4gICAgICBib2R5OiByZXF1ZXN0Qm9keSxcbiAgICAgIGZvcm1EYXRhLFxuICAgICAgY29udGVudFR5cGUsXG4gICAgICBhdXRoVG9rZW4sXG4gICAgICBmb3JjZWRBY2Nlc3NUb2tlbixcbiAgICAgIHVzZUF1dGgsXG4gICAgICBoZWFkZXJzLFxuICAgICAgYWJvcnRTaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBNYWtlIHRoZSByZXF1ZXN0XG4gICAgdHJ5IHtcbiAgICAgIGNvbnNvbGUubG9nKGDwn5SEIE1ha2luZyBBUEkgY2FsbCB0byAke3VybH1gKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCBmZXRjaE9wdGlvbnMpO1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCfwn5SEIEVycm9yIG1ha2luZyBBUEkgY2FsbDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgVVJMIHdpdGggcXVlcnkgcGFyYW1ldGVyc1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZFVybChiYXNlOiBzdHJpbmcgfCB1bmRlZmluZWQsIHJvdXRlPzogc3RyaW5nLCBxdWVyeVBhcmFtcz86IFVSTFNlYXJjaFBhcmFtcyk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVVybCA9IGJhc2UgfHwgJyc7XG4gICAgbGV0IHVybCA9IGAke2Jhc2VVcmx9JHtyb3V0ZSB8fCAnJ31gO1xuICAgIGlmIChxdWVyeVBhcmFtcykgdXJsICs9IGA/JHtxcy5zdHJpbmdpZnkocXVlcnlQYXJhbXMpfWA7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVwYXJlIGZvcm0gZGF0YSBmb3IgZmlsZSB1cGxvYWRzXG4gICAqL1xuICBwcml2YXRlIHByZXBhcmVGb3JtRGF0YShmaWxlcz86IEZpbGVbXSk6IEZvcm1EYXRhIHwgbnVsbCB7XG4gICAgaWYgKCFmaWxlcykgcmV0dXJuIG51bGw7XG4gICAgXG4gICAgY29uc3QgZm9ybURhdGEgPSBkZXNlcmlhbGl6ZUZvcm0oZmlsZXMpO1xuICAgIC8vIFVzZSBhIHdvcmthcm91bmQgZm9yIFR5cGVTY3JpcHQgRm9ybURhdGEgZW50cmllcygpIGlzc3VlXG4gICAgY29uc3QgZW50cmllcyA9IGZvcm1EYXRhIGFzIGFueTtcbiAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgZW50cmllcy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBmb3JtZGF0YSAke2tleX06YCwgdmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gZm9ybURhdGE7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgZmV0Y2ggb3B0aW9ucyBmb3IgcmVxdWVzdFxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEZldGNoT3B0aW9ucyh7XG4gICAgbWV0aG9kLFxuICAgIGJvZHksXG4gICAgZm9ybURhdGEsXG4gICAgY29udGVudFR5cGUsXG4gICAgYXV0aFRva2VuLFxuICAgIGZvcmNlZEFjY2Vzc1Rva2VuLFxuICAgIHVzZUF1dGgsXG4gICAgaGVhZGVycyxcbiAgICBhYm9ydFNpZ25hbCxcbiAgfToge1xuICAgIG1ldGhvZDogc3RyaW5nO1xuICAgIGJvZHk6IGFueTtcbiAgICBmb3JtRGF0YTogRm9ybURhdGEgfCBudWxsO1xuICAgIGNvbnRlbnRUeXBlOiBzdHJpbmc7XG4gICAgYXV0aFRva2VuOiBhbnk7XG4gICAgZm9yY2VkQWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gICAgdXNlQXV0aDogYm9vbGVhbjtcbiAgICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsO1xuICB9KTogUmVxdWVzdEluaXQge1xuICAgIGNvbnN0IGFsbG93ZWRNZXRob2RzID0gWydQT1NUJywgJ1BVVCcsICdQQVRDSCddO1xuICAgIFxuICAgIHJldHVybiB7XG4gICAgICBtZXRob2QsXG4gICAgICBzaWduYWw6IGFib3J0U2lnbmFsLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAuLi4odXNlQXV0aCAmJiB7IFxuICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtmb3JjZWRBY2Nlc3NUb2tlbiB8fCBhdXRoVG9rZW4uYWNjZXNzX3Rva2VufWAgXG4gICAgICAgIH0pLFxuICAgICAgICAuLi4oIWZvcm1EYXRhICYmIHsgJ2NvbnRlbnQtdHlwZSc6IGNvbnRlbnRUeXBlIH0pLFxuICAgICAgICAuLi4oaGVhZGVycyB8fCB7fSksXG4gICAgICB9LFxuICAgICAgYm9keTogYm9keSAmJiBhbGxvd2VkTWV0aG9kcy5pbmNsdWRlcyhtZXRob2QpIFxuICAgICAgICA/IEpTT04uc3RyaW5naWZ5KGJvZHkpIFxuICAgICAgICA6IChmb3JtRGF0YSB8fCBudWxsKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBBUEkgcmVzcG9uc2VcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlUmVzcG9uc2UocmVzcG9uc2U6IFJlc3BvbnNlKTogUHJvbWlzZTxhbnk+IHtcbiAgICBsZXQgZGF0YSA9IG51bGw7XG4gICAgdHJ5IHtcbiAgICAgIGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgICBjb25zb2xlLmxvZygn8J+UhCBSZXNwb25zZSBkYXRhOicsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBSZXNwb25zZSB3YXNuJ3QgSlNPTiwgY29udGludWUgd2l0aCBudWxsIGRhdGFcbiAgICB9XG4gICAgXG4gICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgdGhyb3cgbmV3IEZldGNoRXJyb3IocmVzcG9uc2UsIGRhdGEpO1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxufSAiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLEdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUYsT0FBQTtBQUF5QyxTQUFBRCx1QkFBQUksQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLGdCQUFBQSxDQUFBO0FBQUEsU0FBQUUsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxDQUFBQyxRQUFBLGFBQUFGLENBQUEsa0JBQUFBLENBQUEsZ0JBQUFBLENBQUEsV0FBQUEsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBRCxDQUFBLENBQUFHLFdBQUEsS0FBQUYsTUFBQSxJQUFBRCxDQUFBLEtBQUFDLE1BQUEsQ0FBQUcsU0FBQSxxQkFBQUosQ0FBQSxLQUFBRCxPQUFBLENBQUFDLENBQUE7QUFBQSxTQUFBSyxRQUFBUixDQUFBLEVBQUFTLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQVosQ0FBQSxPQUFBVyxNQUFBLENBQUFFLHFCQUFBLFFB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