@rendomnet/apiservice 1.3.8 → 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,223 +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 _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
13
- 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."); }
14
- 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; } }
15
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
16
- 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; } } }; }
17
- 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; } }
18
- 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; }
19
- 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 }; })(); }
20
- 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); }
21
- 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; }
22
- 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; }
23
- 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; }
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, normalizedMethod, finalQueryParams, url, requestBody, 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
- normalizedMethod = method === null || method === void 0 ? void 0 : method.toUpperCase(); // Process query params
52
- finalQueryParams = {}; // Handle existing query params (support both URLSearchParams and object)
53
- if (queryParams) {
54
- if (queryParams instanceof URLSearchParams) {
55
- queryParams.forEach(function (val, key) {
56
- finalQueryParams[key] = val;
57
- });
58
- } else {
59
- finalQueryParams = _objectSpread({}, queryParams);
60
- }
61
- }
62
-
63
- // For GET requests, merge body/data into query params
64
- if (normalizedMethod === 'GET') {
65
- if (body) {
66
- finalQueryParams = _objectSpread(_objectSpread({}, finalQueryParams), body);
67
- }
68
- if (data) {
69
- finalQueryParams = _objectSpread(_objectSpread({}, finalQueryParams), data);
70
- }
71
- }
72
- url = this.buildUrl(base, route, finalQueryParams);
73
- requestBody = body || data; // Handle file uploads
74
- formData = this.prepareFormData(files); // Create fetch options
75
- fetchOptions = this.buildFetchOptions({
76
- method: normalizedMethod,
77
- body: requestBody,
78
- formData: formData,
79
- contentType: contentType,
80
- authToken: authToken,
81
- forcedAccessToken: forcedAccessToken,
82
- useAuth: useAuth,
83
- headers: headers,
84
- abortSignal: abortSignal
85
- }); // Make the request
86
- _context.p = 1;
87
- console.log("\uD83D\uDD04 Making API call to ".concat(url));
88
- _context.n = 2;
89
- return fetch(url, fetchOptions);
90
- case 2:
91
- response = _context.v;
92
- _context.n = 3;
93
- return this.handleResponse(response);
94
- case 3:
95
- return _context.a(2, _context.v);
96
- case 4:
97
- _context.p = 4;
98
- _t = _context.v;
99
- // also console log error code such as 401 ....
100
- console.error('🔄 Error making API call:', _t, 'status:', _t === null || _t === void 0 ? void 0 : _t.status);
101
- throw _t;
102
- case 5:
103
- return _context.a(2);
104
- }
105
- }, _callee, this, [[1, 4]]);
106
- }));
107
- function makeRequest(_x, _x2) {
108
- return _makeRequest.apply(this, arguments);
109
- }
110
- return makeRequest;
111
- }()
112
- /**
113
- * Build URL with query parameters
114
- */
115
- )
116
- }, {
117
- key: "buildUrl",
118
- value: function buildUrl(base, route, queryParams) {
119
- var baseUrl = base || '';
120
- var url = "".concat(baseUrl).concat(route || '');
121
- if (queryParams && Object.keys(queryParams).length > 0) {
122
- url += "?".concat(_qs["default"].stringify(queryParams));
123
- }
124
- return url;
125
- }
126
-
127
- /**
128
- * Prepare form data for file uploads
129
- */
130
- }, {
131
- key: "prepareFormData",
132
- value: function prepareFormData(files) {
133
- if (!files) return null;
134
- var formData = (0, _form.deserializeForm)(files);
135
- // Use a workaround for TypeScript FormData entries() issue
136
- var entries = formData;
137
- var _iterator = _createForOfIteratorHelper(entries.entries()),
138
- _step;
139
- try {
140
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
141
- var _step$value = _slicedToArray(_step.value, 2),
142
- key = _step$value[0],
143
- value = _step$value[1];
144
- console.log("formdata ".concat(key, ":"), value);
145
- }
146
- } catch (err) {
147
- _iterator.e(err);
148
- } finally {
149
- _iterator.f();
150
- }
151
- return formData;
152
- }
153
-
154
- /**
155
- * Build fetch options for request
156
- */
157
- }, {
158
- key: "buildFetchOptions",
159
- value: function buildFetchOptions(_ref) {
160
- var method = _ref.method,
161
- body = _ref.body,
162
- formData = _ref.formData,
163
- contentType = _ref.contentType,
164
- authToken = _ref.authToken,
165
- forcedAccessToken = _ref.forcedAccessToken,
166
- useAuth = _ref.useAuth,
167
- headers = _ref.headers,
168
- abortSignal = _ref.abortSignal;
169
- var allowedMethods = ['POST', 'PUT', 'PATCH'];
170
- return {
171
- method: method,
172
- signal: abortSignal,
173
- headers: _objectSpread(_objectSpread(_objectSpread({}, useAuth && {
174
- Authorization: "Bearer ".concat(forcedAccessToken || authToken.access_token)
175
- }), !formData && {
176
- 'content-type': contentType
177
- }), headers || {}),
178
- body: body && allowedMethods.includes(method) ? JSON.stringify(body) : formData || null
179
- };
180
- }
181
-
182
- /**
183
- * Handle API response
184
- */
185
- }, {
186
- key: "handleResponse",
187
- value: (function () {
188
- var _handleResponse = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(response) {
189
- var data, _t2;
190
- return _regenerator().w(function (_context2) {
191
- while (1) switch (_context2.n) {
192
- case 0:
193
- data = null;
194
- _context2.p = 1;
195
- _context2.n = 2;
196
- return response.json();
197
- case 2:
198
- data = _context2.v;
199
- console.log('🔄 Response data:', data);
200
- _context2.n = 4;
201
- break;
202
- case 3:
203
- _context2.p = 3;
204
- _t2 = _context2.v;
205
- case 4:
206
- if (response.ok) {
207
- _context2.n = 5;
208
- break;
209
- }
210
- throw new _FetchError.FetchError(response, data);
211
- case 5:
212
- return _context2.a(2, data);
213
- }
214
- }, _callee2, null, [[1, 3]]);
215
- }));
216
- function handleResponse(_x3) {
217
- return _handleResponse.apply(this, arguments);
218
- }
219
- return handleResponse;
220
- }())
221
- }]);
222
- }();
223
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcXMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9GZXRjaEVycm9yIiwiX2Zvcm0iLCJlIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJvIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsInByb3RvdHlwZSIsIl9zbGljZWRUb0FycmF5IiwiciIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJsIiwidCIsIm4iLCJpIiwidSIsImEiLCJmIiwiY2FsbCIsIm5leHQiLCJPYmplY3QiLCJkb25lIiwicHVzaCIsInZhbHVlIiwibGVuZ3RoIiwiQXJyYXkiLCJpc0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfbiIsIkYiLCJzIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiX3JlZ2VuZXJhdG9yIiwidG9TdHJpbmdUYWciLCJjIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiX3JlZ2VuZXJhdG9yRGVmaW5lMiIsInAiLCJ5IiwiRyIsInYiLCJkIiwiYmluZCIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiX2ludm9rZSIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9uZXh0IiwiX3Rocm93IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIkh0dHBDbGllbnQiLCJleHBvcnRzIiwiX21ha2VSZXF1ZXN0IiwiX2NhbGxlZSIsImFwaVBhcmFtcyIsImF1dGhUb2tlbiIsImFjY291bnRJZCIsIm1ldGhvZCIsInJvdXRlIiwiYmFzZSIsImJvZHkiLCJkYXRhIiwiaGVhZGVycyIsInF1ZXJ5UGFyYW1zIiwiX2FwaVBhcmFtcyRjb250ZW50VHlwIiwiY29udGVudFR5cGUiLCJmb3JjZWRBY2Nlc3NUb2tlbiIsIl9hcGlQYXJhbXMkdXNlQXV0aCIsInVzZUF1dGgiLCJmaWxlcyIsImFib3J0U2lnbmFsIiwibm9ybWFsaXplZE1ldGhvZCIsImZpbmFsUXVlcnlQYXJhbXMiLCJ1cmwiLCJyZXF1ZXN0Qm9keSIsImZvcm1EYXRhIiwiZmV0Y2hPcHRpb25zIiwicmVzcG9uc2UiLCJfdCIsIl9jb250ZXh0IiwiYWNjZXNzVG9rZW4iLCJ0b1VwcGVyQ2FzZSIsIlVSTFNlYXJjaFBhcmFtcyIsInZhbCIsImJ1aWxkVXJsIiwicHJlcGFyZUZvcm1EYXRhIiwiYnVpbGRGZXRjaE9wdGlvbnMiLCJjb25zb2xlIiwibG9nIiwiY29uY2F0IiwiZmV0Y2giLCJoYW5kbGVSZXNwb25zZSIsImVycm9yIiwic3RhdHVzIiwibWFrZVJlcXVlc3QiLCJfeCIsIl94MiIsImJhc2VVcmwiLCJxcyIsInN0cmluZ2lmeSIsImRlc2VyaWFsaXplRm9ybSIsImVudHJpZXMiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIl9zdGVwJHZhbHVlIiwiZXJyIiwiX3JlZiIsImFsbG93ZWRNZXRob2RzIiwic2lnbmFsIiwiQXV0aG9yaXphdGlvbiIsImFjY2Vzc190b2tlbiIsImluY2x1ZGVzIiwiSlNPTiIsIl9oYW5kbGVSZXNwb25zZSIsIl9jYWxsZWUyIiwiX3QyIiwiX2NvbnRleHQyIiwianNvbiIsIm9rIiwiRmV0Y2hFcnJvciIsIl94MyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9IdHRwQ2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBxcyBmcm9tICdxcyc7XG5pbXBvcnQgeyBBcGlDYWxsUGFyYW1zLCBUb2tlbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgRmV0Y2hFcnJvciB9IGZyb20gJy4vRmV0Y2hFcnJvcic7XG5pbXBvcnQgeyBkZXNlcmlhbGl6ZUZvcm0gfSBmcm9tICcuL2Zvcm0nO1xuXG4vKipcbiAqIEhhbmRsZXMgSFRUUCByZXF1ZXN0cyB0byBleHRlcm5hbCBBUElzXG4gKi9cbmV4cG9ydCBjbGFzcyBIdHRwQ2xpZW50IHtcbiAgLyoqXG4gICAqIE1ha2UgYW4gSFRUUCByZXF1ZXN0XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbWFrZVJlcXVlc3QoYXBpUGFyYW1zOiBBcGlDYWxsUGFyYW1zLCBhdXRoVG9rZW46IFRva2VuIHwgUmVjb3JkPHN0cmluZywgYW55Pik6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3Qge1xuICAgICAgYWNjb3VudElkLFxuICAgICAgbWV0aG9kLFxuICAgICAgcm91dGUsXG4gICAgICBiYXNlLFxuICAgICAgYm9keSxcbiAgICAgIGRhdGEsXG4gICAgICBoZWFkZXJzLFxuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICBjb250ZW50VHlwZSA9ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIGFjY2Vzc1Rva2VuOiBmb3JjZWRBY2Nlc3NUb2tlbixcbiAgICAgIHVzZUF1dGggPSB0cnVlLFxuICAgICAgZmlsZXMsXG4gICAgICBhYm9ydFNpZ25hbCxcbiAgICB9ID0gYXBpUGFyYW1zO1xuICAgIFxuICAgIC8vIEJ1aWxkIFVSTCBhbmQgcmVxdWVzdCBib2R5XG4gICAgY29uc3Qgbm9ybWFsaXplZE1ldGhvZCA9IG1ldGhvZD8udG9VcHBlckNhc2UoKSBhcyAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnIHwgJ0RFTEVURSc7XG4gICAgXG4gICAgLy8gUHJvY2VzcyBxdWVyeSBwYXJhbXNcbiAgICBsZXQgZmluYWxRdWVyeVBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIFxuICAgIC8vIEhhbmRsZSBleGlzdGluZyBxdWVyeSBwYXJhbXMgKHN1cHBvcnQgYm90aCBVUkxTZWFyY2hQYXJhbXMgYW5kIG9iamVjdClcbiAgICBpZiAocXVlcnlQYXJhbXMpIHtcbiAgICAgIGlmIChxdWVyeVBhcmFtcyBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtcykge1xuICAgICAgICBxdWVyeVBhcmFtcy5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgICAgIGZpbmFsUXVlcnlQYXJhbXNba2V5XSA9IHZhbDtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmaW5hbFF1ZXJ5UGFyYW1zID0geyAuLi4ocXVlcnlQYXJhbXMgYXMgYW55KSB9O1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvLyBGb3IgR0VUIHJlcXVlc3RzLCBtZXJnZSBib2R5L2RhdGEgaW50byBxdWVyeSBwYXJhbXNcbiAgICBpZiAobm9ybWFsaXplZE1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgIGlmIChib2R5KSB7XG4gICAgICAgIGZpbmFsUXVlcnlQYXJhbXMgPSB7IC4uLmZpbmFsUXVlcnlQYXJhbXMsIC4uLmJvZHkgfTtcbiAgICAgIH1cbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGZpbmFsUXVlcnlQYXJhbXMgPSB7IC4uLmZpbmFsUXVlcnlQYXJhbXMsIC4uLmRhdGEgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB1cmwgPSB0aGlzLmJ1aWxkVXJsKGJhc2UsIHJvdXRlLCBmaW5hbFF1ZXJ5UGFyYW1zKTtcbiAgICBjb25zdCByZXF1ZXN0Qm9keSA9IGJvZHkgfHwgZGF0YTtcbiAgICBcbiAgICAvLyBIYW5kbGUgZmlsZSB1cGxvYWRzXG4gICAgY29uc3QgZm9ybURhdGEgPSB0aGlzLnByZXBhcmVGb3JtRGF0YShmaWxlcyk7XG4gICAgXG4gICAgLy8gQ3JlYXRlIGZldGNoIG9wdGlvbnNcbiAgICBjb25zdCBmZXRjaE9wdGlvbnMgPSB0aGlzLmJ1aWxkRmV0Y2hPcHRpb25zKHtcbiAgICAgIG1ldGhvZDogbm9ybWFsaXplZE1ldGhvZCxcbiAgICAgIGJvZHk6IHJlcXVlc3RCb2R5LFxuICAgICAgZm9ybURhdGEsXG4gICAgICBjb250ZW50VHlwZSxcbiAgICAgIGF1dGhUb2tlbixcbiAgICAgIGZvcmNlZEFjY2Vzc1Rva2VuLFxuICAgICAgdXNlQXV0aCxcbiAgICAgIGhlYWRlcnMsXG4gICAgICBhYm9ydFNpZ25hbCxcbiAgICB9KTtcblxuICAgIC8vIE1ha2UgdGhlIHJlcXVlc3RcbiAgICB0cnkge1xuICAgICAgY29uc29sZS5sb2coYPCflIQgTWFraW5nIEFQSSBjYWxsIHRvICR7dXJsfWApO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIGZldGNoT3B0aW9ucyk7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZShyZXNwb25zZSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgLy8gYWxzbyBjb25zb2xlIGxvZyBlcnJvciBjb2RlIHN1Y2ggYXMgNDAxIC4uLi5cbiAgICAgIGNvbnNvbGUuZXJyb3IoJ/CflIQgRXJyb3IgbWFraW5nIEFQSSBjYWxsOicsIGVycm9yLCAnc3RhdHVzOicsIGVycm9yPy5zdGF0dXMpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIFVSTCB3aXRoIHF1ZXJ5IHBhcmFtZXRlcnNcbiAgICovXG4gIHByaXZhdGUgYnVpbGRVcmwoYmFzZTogc3RyaW5nIHwgdW5kZWZpbmVkLCByb3V0ZT86IHN0cmluZywgcXVlcnlQYXJhbXM/OiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VVcmwgPSBiYXNlIHx8ICcnO1xuICAgIGxldCB1cmwgPSBgJHtiYXNlVXJsfSR7cm91dGUgfHwgJyd9YDtcbiAgICBpZiAocXVlcnlQYXJhbXMgJiYgT2JqZWN0LmtleXMocXVlcnlQYXJhbXMpLmxlbmd0aCA+IDApIHtcbiAgICAgIHVybCArPSBgPyR7cXMuc3RyaW5naWZ5KHF1ZXJ5UGFyYW1zKX1gO1xuICAgIH1cbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXBhcmUgZm9ybSBkYXRhIGZvciBmaWxlIHVwbG9hZHNcbiAgICovXG4gIHByaXZhdGUgcHJlcGFyZUZvcm1EYXRhKGZpbGVzPzogRmlsZVtdKTogRm9ybURhdGEgfCBudWxsIHtcbiAgICBpZiAoIWZpbGVzKSByZXR1cm4gbnVsbDtcbiAgICBcbiAgICBjb25zdCBmb3JtRGF0YSA9IGRlc2VyaWFsaXplRm9ybShmaWxlcyk7XG4gICAgLy8gVXNlIGEgd29ya2Fyb3VuZCBmb3IgVHlwZVNjcmlwdCBGb3JtRGF0YSBlbnRyaWVzKCkgaXNzdWVcbiAgICBjb25zdCBlbnRyaWVzID0gZm9ybURhdGEgYXMgYW55O1xuICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBlbnRyaWVzLmVudHJpZXMoKSkge1xuICAgICAgY29uc29sZS5sb2coYGZvcm1kYXRhICR7a2V5fTpgLCB2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBmb3JtRGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBmZXRjaCBvcHRpb25zIGZvciByZXF1ZXN0XG4gICAqL1xuICBwcml2YXRlIGJ1aWxkRmV0Y2hPcHRpb25zKHtcbiAgICBtZXRob2QsXG4gICAgYm9keSxcbiAgICBmb3JtRGF0YSxcbiAgICBjb250ZW50VHlwZSxcbiAgICBhdXRoVG9rZW4sXG4gICAgZm9yY2VkQWNjZXNzVG9rZW4sXG4gICAgdXNlQXV0aCxcbiAgICBoZWFkZXJzLFxuICAgIGFib3J0U2lnbmFsLFxuICB9OiB7XG4gICAgbWV0aG9kOiBzdHJpbmc7XG4gICAgYm9keTogYW55O1xuICAgIGZvcm1EYXRhOiBGb3JtRGF0YSB8IG51bGw7XG4gICAgY29udGVudFR5cGU6IHN0cmluZztcbiAgICBhdXRoVG9rZW46IGFueTtcbiAgICBmb3JjZWRBY2Nlc3NUb2tlbj86IHN0cmluZztcbiAgICB1c2VBdXRoOiBib29sZWFuO1xuICAgIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWw7XG4gIH0pOiBSZXF1ZXN0SW5pdCB7XG4gICAgY29uc3QgYWxsb3dlZE1ldGhvZHMgPSBbJ1BPU1QnLCAnUFVUJywgJ1BBVENIJ107XG4gICAgXG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldGhvZCxcbiAgICAgIHNpZ25hbDogYWJvcnRTaWduYWwsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIC4uLih1c2VBdXRoICYmIHsgXG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2ZvcmNlZEFjY2Vzc1Rva2VuIHx8IGF1dGhUb2tlbi5hY2Nlc3NfdG9rZW59YCBcbiAgICAgICAgfSksXG4gICAgICAgIC4uLighZm9ybURhdGEgJiYgeyAnY29udGVudC10eXBlJzogY29udGVudFR5cGUgfSksXG4gICAgICAgIC4uLihoZWFkZXJzIHx8IHt9KSxcbiAgICAgIH0sXG4gICAgICBib2R5OiBib2R5ICYmIGFsbG93ZWRNZXRob2RzLmluY2x1ZGVzKG1ldGhvZCkgXG4gICAgICAgID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgXG4gICAgICAgIDogKGZvcm1EYXRhIHx8IG51bGwpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIEFQSSByZXNwb25zZVxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVSZXNwb25zZShyZXNwb25zZTogUmVzcG9uc2UpOiBQcm9taXNlPGFueT4ge1xuICAgIGxldCBkYXRhID0gbnVsbDtcbiAgICB0cnkge1xuICAgICAgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgIGNvbnNvbGUubG9nKCfwn5SEIFJlc3BvbnNlIGRhdGE6JywgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIFJlc3BvbnNlIHdhc24ndCBKU09OLCBjb250aW51ZSB3aXRoIG51bGwgZGF0YVxuICAgIH1cbiAgICBcbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICB0aHJvdyBuZXcgRmV0Y2hFcnJvcihyZXNwb25zZSwgZGF0YSk7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBkYXRhO1xuICB9XG59ICJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsR0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBQXlDLFNBQUFELHVCQUFBSSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsZ0JBQUFBLENBQUE7QUFBQSxTQUFBRSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEsQ0FBQSxXQUFBQSxDQUFBLHlCQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUcsV0FBQSxLQUFBRixNQUFBLElBQUFELENBQUEsS0FBQUMsTUFBQSxDQUFBRyxTQUFBLHFCQUFBSixDQUFBLEtBQUFELE9BQUEsQ0FBQUMsQ0FBQTtBQUFBLFNBQUFLLGVBQUFDLENBQUEsRUFBQVQsQ0FBQSxXQUFBVSxlQUFBLENBQUFELENBQUEsS0FBQUUscUJBQUEsQ0FBQUYsQ0FBQSxFQUFBVCxD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