@kaspernj/api-maker 1.0.2122 → 1.0.2125

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.
@@ -60,7 +60,8 @@ export default class ApiMakerSessionStatusUpdater {
60
60
  logger.debug(() => `Returning CSRF token after updating session status: ${this.csrfToken}`);
61
61
  return this.csrfToken;
62
62
  }
63
- throw new Error("CSRF token hasn't been set");
63
+ logger.debug("No CSRF token available after updating session status");
64
+ return undefined;
64
65
  }
65
66
  /** sessionStatus. */
66
67
  sessionStatus() {
@@ -103,13 +104,23 @@ export default class ApiMakerSessionStatusUpdater {
103
104
  updateSessionStatus = async () => {
104
105
  logger.debug("updateSessionStatus");
105
106
  const result = await this.sessionStatus();
107
+ this.applyResult(result);
108
+ };
109
+ /**
110
+ * @param {Record<string, any>} result
111
+ * @returns {void}
112
+ */
113
+ applyResult(result) {
106
114
  logger.debug(() => `Result: ${JSON.stringify(result, null, 2)}`);
107
115
  this.updateMetaElementsFromResult(result);
108
116
  this.updateUserSessionsFromResult(result);
109
- };
117
+ }
110
118
  /** updateMetaElementsFromResult. */
111
119
  updateMetaElementsFromResult(result) {
112
120
  logger.debug("updateMetaElementsFromResult");
121
+ if (!result.csrf_token) {
122
+ return;
123
+ }
113
124
  this.csrfToken = result.csrf_token;
114
125
  if (this.useMetaElement) {
115
126
  const csrfTokenElement = document.querySelector("meta[name='csrf-token']");
@@ -143,4 +154,4 @@ export default class ApiMakerSessionStatusUpdater {
143
154
  }
144
155
  }
145
156
  }
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsaUNBQWlDLEVBQUMsQ0FBQyxDQUFBO0FBQ3BFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQix3QkFBd0I7QUFFeEIsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxPQUFPLE9BQU8sNEJBQTRCO0lBQy9DLGVBQWU7SUFDZixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlFLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLFlBQVksSUFBSSxHQUFHLEVBQUU7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQTtRQUVyQyxJQUFJLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUMzQyxDQUFDO2FBQU0sSUFBSSxPQUFPLFFBQVEsS0FB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RCxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUE7UUFFekMsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDNUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLDRDQUE0QyxDQUFDLENBQUE7WUFFakcsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFBO1lBQ3ZDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFBO1FBQzdDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBEZXZpc2UgZnJvbSBcIi4vZGV2aXNlLmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyLmpzXCJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4vY29uZmlnLmpzXCJcbmltcG9ydCB3YWtlRXZlbnQgZnJvbSBcIndha2UtZXZlbnRcIlxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKHtuYW1lOiBcIkFwaU1ha2VyIC8gU2Vzc2lvblN0YXR1c1VwZGF0ZXJcIn0pXG5jb25zdCBzaGFyZWQgPSB7fVxuXG4vLyBsb2dnZXIuc2V0RGVidWcodHJ1ZSlcblxuLyoqIFRyYWNrcyBzZXNzaW9uIGFuZCBDU1JGIHRva2VuIGZyZXNobmVzcy4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIge1xuICAvKiogY3VycmVudC4gKi9cbiAgc3RhdGljIGN1cnJlbnQoYXJncykge1xuICAgIGlmICghc2hhcmVkLmFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIpIHtcbiAgICAgIHNoYXJlZC5hcGlNYWtlclNlc3Npb25TdGF0dXNVcGRhdGVyID0gbmV3IEFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIoYXJncylcbiAgICB9XG5cbiAgICByZXR1cm4gc2hhcmVkLmFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXJcbiAgfVxuXG4gIC8qKiBDb25zdHJ1Y3Rvci4gKi9cbiAgY29uc3RydWN0b3IoYXJncyA9IHt9KSB7XG4gICAgdGhpcy5ldmVudHMgPSB7fVxuICAgIHRoaXMudGltZW91dCA9IGFyZ3MudGltZW91dCB8fCA2MDAwMDBcblxuICAgIGlmIChcInVzZU1ldGFFbGVtZW50XCIgaW4gYXJncykge1xuICAgICAgdGhpcy51c2VNZXRhRWxlbWVudCA9IGFyZ3MudXNlTWV0YUVsZW1lbnRcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgdGhpcy51c2VNZXRhRWxlbWVudCA9IGZhbHNlXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXNlTWV0YUVsZW1lbnQgPSB0cnVlXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgdGhpcy5jb25uZWN0T25saW5lRXZlbnQoKVxuICAgIH1cblxuICAgIHRoaXMuY29ubmVjdFdha2VFdmVudCgpXG4gIH1cblxuICAvKiogY29ubmVjdE9ubGluZUV2ZW50LiAqL1xuICBjb25uZWN0T25saW5lRXZlbnQoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJvbmxpbmVcIiwgdGhpcy51cGRhdGVTZXNzaW9uU3RhdHVzLCBmYWxzZSlcbiAgfVxuXG4gIC8qKiBjb25uZWN0V2FrZUV2ZW50LiAqL1xuICBjb25uZWN0V2FrZUV2ZW50KCkge1xuICAgIHdha2VFdmVudCh0aGlzLnVwZGF0ZVNlc3Npb25TdGF0dXMpXG4gIH1cblxuICBhc3luYyBnZXRDc3JmVG9rZW4oKSB7XG4gICAgaWYgKHRoaXMuY3NyZlRva2VuKSB7XG4gICAgICBsb2dnZXIuZGVidWcoYEdldCBDU1JGIHRva2VuIGZyb20gc2V0IHZhcmlhYmxlOiAke3RoaXMuY3NyZlRva2VufWApXG5cbiAgICAgIHJldHVybiB0aGlzLmNzcmZUb2tlblxuICAgIH1cblxuICAgIGlmICh0aGlzLnVzZU1ldGFFbGVtZW50KSB7XG4gICAgICBjb25zdCBjc3JmVG9rZW5FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddXCIpXG5cbiAgICAgIGlmIChjc3JmVG9rZW5FbGVtZW50KSB7XG4gICAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgR2V0IENTUkYgdG9rZW4gZnJvbSBtZXRhIGVsZW1lbnQ6ICR7Y3NyZlRva2VuRWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIpfWApXG5cbiAgICAgICAgdGhpcy5jc3JmVG9rZW4gPSBjc3JmVG9rZW5FbGVtZW50LmdldEF0dHJpYnV0ZShcImNvbnRlbnRcIilcblxuICAgICAgICByZXR1cm4gdGhpcy5jc3JmVG9rZW5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsb2dnZXIuZGVidWcoXCJVcGRhdGluZyBzZXNzaW9uIHN0YXR1cyBiZWNhdXNlIG5vIENTUkYgdG9rZW4gc2V0IHlldFwiKVxuICAgIGF3YWl0IHRoaXMudXBkYXRlU2Vzc2lvblN0YXR1cygpXG5cbiAgICBpZiAodGhpcy5jc3JmVG9rZW4pIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgUmV0dXJuaW5nIENTUkYgdG9rZW4gYWZ0ZXIgdXBkYXRpbmcgc2Vzc2lvbiBzdGF0dXM6ICR7dGhpcy5jc3JmVG9rZW59YClcblxuICAgICAgcmV0dXJuIHRoaXMuY3NyZlRva2VuXG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ1NSRiB0b2tlbiBoYXNuJ3QgYmVlbiBzZXRcIilcbiAgfVxuXG4gIC8qKiBzZXNzaW9uU3RhdHVzLiAqL1xuICBzZXNzaW9uU3RhdHVzKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgY29uc3QgaG9zdCA9IGNvbmZpZy5nZXRIb3N0KClcbiAgICAgIGxldCByZXF1ZXN0UGF0aCA9IFwiXCJcblxuICAgICAgaWYgKGhvc3QpIHJlcXVlc3RQYXRoICs9IGhvc3RcblxuICAgICAgcmVxdWVzdFBhdGggKz0gXCIvYXBpX21ha2VyL3Nlc3Npb25fc3RhdHVzZXNcIlxuXG4gICAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKVxuICAgICAgeGhyLm9wZW4oXCJQT1NUXCIsIHJlcXVlc3RQYXRoLCB0cnVlKVxuICAgICAgeGhyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBKU09OLnBhcnNlKHhoci5yZXNwb25zZVRleHQpXG4gICAgICAgIHJlc29sdmUocmVzcG9uc2UpXG4gICAgICB9XG4gICAgICB4aHIuc2VuZCgpXG4gICAgfSlcbiAgfVxuXG4gIC8qKiBvblNpZ25lZE91dC4gKi9cbiAgb25TaWduZWRPdXQoY2FsbGJhY2spIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgdGhpcy5hZGRFdmVudChcIm9uU2lnbmVkT3V0XCIsIGNhbGxiYWNrKVxuICB9XG5cbiAgLyoqIHN0YXJ0VGltZW91dC4gKi9cbiAgc3RhcnRUaW1lb3V0KCkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcInN0YXJ0VGltZW91dFwiKVxuXG4gICAgaWYgKHRoaXMudXBkYXRlVGltZW91dClcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnVwZGF0ZVRpbWVvdXQpXG5cbiAgICB0aGlzLnVwZGF0ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXJ0VGltZW91dCgpXG4gICAgICAgIHRoaXMudXBkYXRlU2Vzc2lvblN0YXR1cygpXG4gICAgICB9LFxuICAgICAgdGhpcy50aW1lb3V0XG4gICAgKVxuICB9XG5cbiAgLyoqIHN0b3BUaW1lb3V0LiAqL1xuICBzdG9wVGltZW91dCgpIHtcbiAgICBpZiAodGhpcy51cGRhdGVUaW1lb3V0KVxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudXBkYXRlVGltZW91dClcbiAgfVxuXG4gIC8qKiB1cGRhdGVTZXNzaW9uU3RhdHVzLiAqL1xuICB1cGRhdGVTZXNzaW9uU3RhdHVzID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZ2dlci5kZWJ1ZyhcInVwZGF0ZVNlc3Npb25TdGF0dXNcIilcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc2Vzc2lvblN0YXR1cygpXG5cbiAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFJlc3VsdDogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51bGwsIDIpfWApXG4gICAgdGhpcy51cGRhdGVNZXRhRWxlbWVudHNGcm9tUmVzdWx0KHJlc3VsdClcbiAgICB0aGlzLnVwZGF0ZVVzZXJTZXNzaW9uc0Zyb21SZXN1bHQocmVzdWx0KVxuICB9XG5cbiAgLyoqIHVwZGF0ZU1ldGFFbGVtZW50c0Zyb21SZXN1bHQuICovXG4gIHVwZGF0ZU1ldGFFbGVtZW50c0Zyb21SZXN1bHQocmVzdWx0KSB7XG4gICAgbG9nZ2VyLmRlYnVnKFwidXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdFwiKVxuXG4gICAgdGhpcy5jc3JmVG9rZW4gPSByZXN1bHQuY3NyZl90b2tlblxuXG4gICAgaWYgKHRoaXMudXNlTWV0YUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNzcmZUb2tlbkVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwibWV0YVtuYW1lPSdjc3JmLXRva2VuJ11cIilcblxuICAgICAgaWYgKGNzcmZUb2tlbkVsZW1lbnQpIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBDaGFuZ2luZyB0b2tlbiBmcm9tIFwiJHtjc3JmVG9rZW5FbGVtZW50LmdldEF0dHJpYnV0ZShcImNvbnRlbnRcIil9XCIgdG8gXCIke3Jlc3VsdC5jc3JmX3Rva2VufVwiYClcbiAgICAgICAgY3NyZlRva2VuRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIsIHJlc3VsdC5jc3JmX3Rva2VuKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKFwiY3NyZiB0b2tlbiBlbGVtZW50IGNvdWxkbid0IGJlIGZvdW5kXCIpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIHVwZGF0ZVVzZXJTZXNzaW9uc0Zyb21SZXN1bHQuICovXG4gIHVwZGF0ZVVzZXJTZXNzaW9uc0Zyb21SZXN1bHQocmVzdWx0KSB7XG4gICAgZm9yIChjb25zdCBzY29wZU5hbWUgaW4gcmVzdWx0LnNjb3Blcykge1xuICAgICAgdGhpcy51cGRhdGVVc2VyU2Vzc2lvblNjb3BlRnJvbVJlc3VsdChzY29wZU5hbWUsIHJlc3VsdC5zY29wZXNbc2NvcGVOYW1lXSlcbiAgICB9XG4gIH1cblxuICAvKiogdXBkYXRlVXNlclNlc3Npb25TY29wZUZyb21SZXN1bHQuICovXG4gIHVwZGF0ZVVzZXJTZXNzaW9uU2NvcGVGcm9tUmVzdWx0KHNjb3BlTmFtZSwgc2NvcGUpIHtcbiAgICBjb25zdCBkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZSA9IGBpcyR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZU5hbWUpfVNpZ25lZEluYFxuXG4gICAgaWYgKCEoZGV2aXNlSXNTaWduZWRJbk1ldGhvZE5hbWUgaW4gRGV2aXNlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIG1ldGhvZCBpbiBEZXZpc2U6ICR7ZGV2aXNlSXNTaWduZWRJbk1ldGhvZE5hbWV9YClcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50bHlTaWduZWRJbiA9IERldmlzZVtkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZV0oKVxuICAgIGNvbnN0IHNpZ25lZEluT25CYWNrZW5kID0gc2NvcGUuc2lnbmVkX2luXG5cbiAgICBpZiAoY3VycmVudGx5U2lnbmVkSW4gJiYgIXNpZ25lZEluT25CYWNrZW5kKSB7XG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZU5hbWUpfSBzaWduZWQgaW4gb24gZnJvbnRlbmQgYnV0IG5vdCBpbiBiYWNrZW5kIWApXG5cbiAgICAgIERldmlzZS5zZXRTaWduZWRPdXQoe3Njb3BlOiBzY29wZU5hbWV9KVxuICAgICAgRGV2aXNlLmNhbGxTaWduT3V0RXZlbnQoe3Njb3BlOiBzY29wZU5hbWV9KVxuICAgIH1cbiAgfVxufVxuIl19
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsaUNBQWlDLEVBQUMsQ0FBQyxDQUFBO0FBQ3BFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQix3QkFBd0I7QUFFeEIsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxPQUFPLE9BQU8sNEJBQTRCO0lBQy9DLGVBQWU7SUFDZixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlFLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLFlBQVksSUFBSSxHQUFHLEVBQUU7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQTtRQUVyQyxJQUFJLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUMzQyxDQUFDO2FBQU0sSUFBSSxPQUFPLFFBQVEsS0FB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Q0FBQyxDQUFDLDBCQUEwQixJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsMEJBQTBCLEVBQUUsQ0FBQyxDQUFBO1FBQzVFLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUE7UUFDOUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFBO1FBRXpDLElBQUksaUJBQWlCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO1lBRWpHLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtZQUN2QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtRQUM3QyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgRGV2aXNlIGZyb20gXCIuL2RldmlzZS5qc1wiXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuL2xvZ2dlci5qc1wiXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuL2NvbmZpZy5qc1wiXG5pbXBvcnQgd2FrZUV2ZW50IGZyb20gXCJ3YWtlLWV2ZW50XCJcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIFNlc3Npb25TdGF0dXNVcGRhdGVyXCJ9KVxuY29uc3Qgc2hhcmVkID0ge31cblxuLy8gbG9nZ2VyLnNldERlYnVnKHRydWUpXG5cbi8qKiBUcmFja3Mgc2Vzc2lvbiBhbmQgQ1NSRiB0b2tlbiBmcmVzaG5lc3MuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlclNlc3Npb25TdGF0dXNVcGRhdGVyIHtcbiAgLyoqIGN1cnJlbnQuICovXG4gIHN0YXRpYyBjdXJyZW50KGFyZ3MpIHtcbiAgICBpZiAoIXNoYXJlZC5hcGlNYWtlclNlc3Npb25TdGF0dXNVcGRhdGVyKSB7XG4gICAgICBzaGFyZWQuYXBpTWFrZXJTZXNzaW9uU3RhdHVzVXBkYXRlciA9IG5ldyBBcGlNYWtlclNlc3Npb25TdGF0dXNVcGRhdGVyKGFyZ3MpXG4gICAgfVxuXG4gICAgcmV0dXJuIHNoYXJlZC5hcGlNYWtlclNlc3Npb25TdGF0dXNVcGRhdGVyXG4gIH1cblxuICAvKiogQ29uc3RydWN0b3IuICovXG4gIGNvbnN0cnVjdG9yKGFyZ3MgPSB7fSkge1xuICAgIHRoaXMuZXZlbnRzID0ge31cbiAgICB0aGlzLnRpbWVvdXQgPSBhcmdzLnRpbWVvdXQgfHwgNjAwMDAwXG5cbiAgICBpZiAoXCJ1c2VNZXRhRWxlbWVudFwiIGluIGFyZ3MpIHtcbiAgICAgIHRoaXMudXNlTWV0YUVsZW1lbnQgPSBhcmdzLnVzZU1ldGFFbGVtZW50XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHRoaXMudXNlTWV0YUVsZW1lbnQgPSBmYWxzZVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVzZU1ldGFFbGVtZW50ID0gdHJ1ZVxuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHRoaXMuY29ubmVjdE9ubGluZUV2ZW50KClcbiAgICB9XG5cbiAgICB0aGlzLmNvbm5lY3RXYWtlRXZlbnQoKVxuICB9XG5cbiAgLyoqIGNvbm5lY3RPbmxpbmVFdmVudC4gKi9cbiAgY29ubmVjdE9ubGluZUV2ZW50KCkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwib25saW5lXCIsIHRoaXMudXBkYXRlU2Vzc2lvblN0YXR1cywgZmFsc2UpXG4gIH1cblxuICAvKiogY29ubmVjdFdha2VFdmVudC4gKi9cbiAgY29ubmVjdFdha2VFdmVudCgpIHtcbiAgICB3YWtlRXZlbnQodGhpcy51cGRhdGVTZXNzaW9uU3RhdHVzKVxuICB9XG5cbiAgYXN5bmMgZ2V0Q3NyZlRva2VuKCkge1xuICAgIGlmICh0aGlzLmNzcmZUb2tlbikge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBHZXQgQ1NSRiB0b2tlbiBmcm9tIHNldCB2YXJpYWJsZTogJHt0aGlzLmNzcmZUb2tlbn1gKVxuXG4gICAgICByZXR1cm4gdGhpcy5jc3JmVG9rZW5cbiAgICB9XG5cbiAgICBpZiAodGhpcy51c2VNZXRhRWxlbWVudCkge1xuICAgICAgY29uc3QgY3NyZlRva2VuRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJtZXRhW25hbWU9J2NzcmYtdG9rZW4nXVwiKVxuXG4gICAgICBpZiAoY3NyZlRva2VuRWxlbWVudCkge1xuICAgICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYEdldCBDU1JGIHRva2VuIGZyb20gbWV0YSBlbGVtZW50OiAke2NzcmZUb2tlbkVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiY29udGVudFwiKX1gKVxuXG4gICAgICAgIHRoaXMuY3NyZlRva2VuID0gY3NyZlRva2VuRWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3NyZlRva2VuXG4gICAgICB9XG4gICAgfVxuXG4gICAgbG9nZ2VyLmRlYnVnKFwiVXBkYXRpbmcgc2Vzc2lvbiBzdGF0dXMgYmVjYXVzZSBubyBDU1JGIHRva2VuIHNldCB5ZXRcIilcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZVNlc3Npb25TdGF0dXMoKVxuXG4gICAgaWYgKHRoaXMuY3NyZlRva2VuKSB7XG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFJldHVybmluZyBDU1JGIHRva2VuIGFmdGVyIHVwZGF0aW5nIHNlc3Npb24gc3RhdHVzOiAke3RoaXMuY3NyZlRva2VufWApXG5cbiAgICAgIHJldHVybiB0aGlzLmNzcmZUb2tlblxuICAgIH1cblxuICAgIGxvZ2dlci5kZWJ1ZyhcIk5vIENTUkYgdG9rZW4gYXZhaWxhYmxlIGFmdGVyIHVwZGF0aW5nIHNlc3Npb24gc3RhdHVzXCIpXG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICAvKiogc2Vzc2lvblN0YXR1cy4gKi9cbiAgc2Vzc2lvblN0YXR1cygpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IGhvc3QgPSBjb25maWcuZ2V0SG9zdCgpXG4gICAgICBsZXQgcmVxdWVzdFBhdGggPSBcIlwiXG5cbiAgICAgIGlmIChob3N0KSByZXF1ZXN0UGF0aCArPSBob3N0XG5cbiAgICAgIHJlcXVlc3RQYXRoICs9IFwiL2FwaV9tYWtlci9zZXNzaW9uX3N0YXR1c2VzXCJcblxuICAgICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KClcbiAgICAgIHhoci5vcGVuKFwiUE9TVFwiLCByZXF1ZXN0UGF0aCwgdHJ1ZSlcbiAgICAgIHhoci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gSlNPTi5wYXJzZSh4aHIucmVzcG9uc2VUZXh0KVxuICAgICAgICByZXNvbHZlKHJlc3BvbnNlKVxuICAgICAgfVxuICAgICAgeGhyLnNlbmQoKVxuICAgIH0pXG4gIH1cblxuICAvKiogb25TaWduZWRPdXQuICovXG4gIG9uU2lnbmVkT3V0KGNhbGxiYWNrKSB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHRoaXMuYWRkRXZlbnQoXCJvblNpZ25lZE91dFwiLCBjYWxsYmFjaylcbiAgfVxuXG4gIC8qKiBzdGFydFRpbWVvdXQuICovXG4gIHN0YXJ0VGltZW91dCgpIHtcbiAgICBsb2dnZXIuZGVidWcoXCJzdGFydFRpbWVvdXRcIilcblxuICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVvdXQpXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy51cGRhdGVUaW1lb3V0KVxuXG4gICAgdGhpcy51cGRhdGVUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5zdGFydFRpbWVvdXQoKVxuICAgICAgICB0aGlzLnVwZGF0ZVNlc3Npb25TdGF0dXMoKVxuICAgICAgfSxcbiAgICAgIHRoaXMudGltZW91dFxuICAgIClcbiAgfVxuXG4gIC8qKiBzdG9wVGltZW91dC4gKi9cbiAgc3RvcFRpbWVvdXQoKSB7XG4gICAgaWYgKHRoaXMudXBkYXRlVGltZW91dClcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnVwZGF0ZVRpbWVvdXQpXG4gIH1cblxuICAvKiogdXBkYXRlU2Vzc2lvblN0YXR1cy4gKi9cbiAgdXBkYXRlU2Vzc2lvblN0YXR1cyA9IGFzeW5jICgpID0+IHtcbiAgICBsb2dnZXIuZGVidWcoXCJ1cGRhdGVTZXNzaW9uU3RhdHVzXCIpXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnNlc3Npb25TdGF0dXMoKVxuXG4gICAgdGhpcy5hcHBseVJlc3VsdChyZXN1bHQpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSByZXN1bHRcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBhcHBseVJlc3VsdChyZXN1bHQpIHtcbiAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFJlc3VsdDogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51bGwsIDIpfWApXG5cbiAgICB0aGlzLnVwZGF0ZU1ldGFFbGVtZW50c0Zyb21SZXN1bHQocmVzdWx0KVxuICAgIHRoaXMudXBkYXRlVXNlclNlc3Npb25zRnJvbVJlc3VsdChyZXN1bHQpXG4gIH1cblxuICAvKiogdXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdC4gKi9cbiAgdXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdChyZXN1bHQpIHtcbiAgICBsb2dnZXIuZGVidWcoXCJ1cGRhdGVNZXRhRWxlbWVudHNGcm9tUmVzdWx0XCIpXG5cbiAgICBpZiAoIXJlc3VsdC5jc3JmX3Rva2VuKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmNzcmZUb2tlbiA9IHJlc3VsdC5jc3JmX3Rva2VuXG5cbiAgICBpZiAodGhpcy51c2VNZXRhRWxlbWVudCkge1xuICAgICAgY29uc3QgY3NyZlRva2VuRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJtZXRhW25hbWU9J2NzcmYtdG9rZW4nXVwiKVxuXG4gICAgICBpZiAoY3NyZlRva2VuRWxlbWVudCkge1xuICAgICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYENoYW5naW5nIHRva2VuIGZyb20gXCIke2NzcmZUb2tlbkVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiY29udGVudFwiKX1cIiB0byBcIiR7cmVzdWx0LmNzcmZfdG9rZW59XCJgKVxuICAgICAgICBjc3JmVG9rZW5FbGVtZW50LnNldEF0dHJpYnV0ZShcImNvbnRlbnRcIiwgcmVzdWx0LmNzcmZfdG9rZW4pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2dnZXIuZGVidWcoXCJjc3JmIHRva2VuIGVsZW1lbnQgY291bGRuJ3QgYmUgZm91bmRcIilcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogdXBkYXRlVXNlclNlc3Npb25zRnJvbVJlc3VsdC4gKi9cbiAgdXBkYXRlVXNlclNlc3Npb25zRnJvbVJlc3VsdChyZXN1bHQpIHtcbiAgICBmb3IgKGNvbnN0IHNjb3BlTmFtZSBpbiByZXN1bHQuc2NvcGVzKSB7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJTZXNzaW9uU2NvcGVGcm9tUmVzdWx0KHNjb3BlTmFtZSwgcmVzdWx0LnNjb3Blc1tzY29wZU5hbWVdKVxuICAgIH1cbiAgfVxuXG4gIC8qKiB1cGRhdGVVc2VyU2Vzc2lvblNjb3BlRnJvbVJlc3VsdC4gKi9cbiAgdXBkYXRlVXNlclNlc3Npb25TY29wZUZyb21SZXN1bHQoc2NvcGVOYW1lLCBzY29wZSkge1xuICAgIGNvbnN0IGRldmlzZUlzU2lnbmVkSW5NZXRob2ROYW1lID0gYGlzJHtpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlTmFtZSl9U2lnbmVkSW5gXG5cbiAgICBpZiAoIShkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZSBpbiBEZXZpc2UpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggbWV0aG9kIGluIERldmlzZTogJHtkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZX1gKVxuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRseVNpZ25lZEluID0gRGV2aXNlW2RldmlzZUlzU2lnbmVkSW5NZXRob2ROYW1lXSgpXG4gICAgY29uc3Qgc2lnbmVkSW5PbkJhY2tlbmQgPSBzY29wZS5zaWduZWRfaW5cblxuICAgIGlmIChjdXJyZW50bHlTaWduZWRJbiAmJiAhc2lnbmVkSW5PbkJhY2tlbmQpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgJHtpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlTmFtZSl9IHNpZ25lZCBpbiBvbiBmcm9udGVuZCBidXQgbm90IGluIGJhY2tlbmQhYClcblxuICAgICAgRGV2aXNlLnNldFNpZ25lZE91dCh7c2NvcGU6IHNjb3BlTmFtZX0pXG4gICAgICBEZXZpc2UuY2FsbFNpZ25PdXRFdmVudCh7c2NvcGU6IHNjb3BlTmFtZX0pXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,55 @@
1
+ /** Shared websocket request client for ApiMaker command/service execution. */
2
+ export default class ApiMakerWebsocketRequestClient {
3
+ /** @returns {ApiMakerWebsocketRequestClient} */
4
+ static current(): ApiMakerWebsocketRequestClient;
5
+ currentRequestId: number;
6
+ pendingRequests: {};
7
+ pendingRequestsByFingerprint: {};
8
+ responseCache: {};
9
+ subscriptionState: string;
10
+ /**
11
+ * @param {object} args
12
+ * @param {boolean} [args.cacheResponse]
13
+ * @param {Record<string, any>} [args.global]
14
+ * @param {(value: string) => void} [args.onLog]
15
+ * @param {(value: Record<string, any>) => void} [args.onProgress]
16
+ * @param {(value: Record<string, any>) => void} [args.onReceived]
17
+ * @param {Record<string, any>} args.request
18
+ * @returns {Promise<Record<string, any>>}
19
+ */
20
+ perform({ cacheResponse, global, onLog, onProgress, onReceived, request }: {
21
+ cacheResponse?: boolean;
22
+ global?: Record<string, any>;
23
+ onLog?: (value: string) => void;
24
+ onProgress?: (value: Record<string, any>) => void;
25
+ onReceived?: (value: Record<string, any>) => void;
26
+ request: Record<string, any>;
27
+ }): Promise<Record<string, any>>;
28
+ /** @returns {any} */
29
+ ensureSubscription(): any;
30
+ subscription: any;
31
+ /** @returns {Promise<void>} */
32
+ waitForSubscription(): Promise<void>;
33
+ /** @returns {void} */
34
+ resetSubscriptionReadyPromise(): void;
35
+ subscriptionReadyPromise: Promise<any>;
36
+ resolveSubscriptionReadyPromise: (value: any) => void;
37
+ rejectSubscriptionReadyPromise: (reason?: any) => void;
38
+ /** @returns {void} */
39
+ onConnected: () => void;
40
+ /** @returns {void} */
41
+ onDisconnected: () => void;
42
+ /** @returns {void} */
43
+ onRejected: () => void;
44
+ /**
45
+ * @param {Record<string, any>} data
46
+ * @returns {void}
47
+ */
48
+ onReceived: (data: Record<string, any>) => void;
49
+ /**
50
+ * @param {Error} error
51
+ * @returns {void}
52
+ */
53
+ rejectPendingRequests(error: Error): void;
54
+ }
55
+ //# sourceMappingURL=websocket-request-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-request-client.d.ts","sourceRoot":"/src/","sources":["websocket-request-client.js"],"names":[],"mappings":"AAOA,8EAA8E;AAC9E;IACE,gDAAgD;IAChD,kBADc,8BAA8B,CAO3C;IAIC,yBAAyB;IACzB,oBAAyB;IACzB,iCAAsC;IACtC,kBAAuB;IACvB,0BAA8B;IAGhC;;;;;;;;;OASG;IACH,2EARG;QAAuB,aAAa,GAA5B,OAAO;QACoB,MAAM,GAAjC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACY,KAAK,GAApC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;QACqB,UAAU,GAAtD,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI;QACQ,UAAU,GAAtD,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI;QACV,OAAO,EAAjC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;KAC3B,GAAU,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAyDxC;IAED,qBAAqB;IACrB,sBADc,GAAG,CAmBhB;IAZG,kBAQC;IAML,+BAA+B;IAC/B,uBADc,OAAO,CAAC,IAAI,CAAC,CAa1B;IAED,sBAAsB;IACtB,iCADc,IAAI,CAMjB;IAJC,uCAGE;IAFA,sDAA8C;IAC9C,uDAA4C;IAIhD,sBAAsB;IACtB,mBADc,IAAI,CAKjB;IAED,sBAAsB;IACtB,sBADc,IAAI,CAOjB;IAED,sBAAsB;IACtB,kBADc,IAAI,CAUjB;IAED;;;OAGG;IACH,aAAc,MAHH,MAAM,CAAC,MAAM,EAAE,GAAG,CAGX,KAFL,IAAI,CAqChB;IAED;;;OAGG;IACH,6BAHW,KAAK,GACH,IAAI,CAWhB;CACF"}
@@ -0,0 +1,192 @@
1
+ import CustomError from "./custom-error.js";
2
+ import Logger from "./logger.js";
3
+ import channelsConsumer from "./channels-consumer.js";
4
+ const logger = new Logger({ name: "ApiMaker / WebsocketRequestClient" });
5
+ const shared = {};
6
+ /** Shared websocket request client for ApiMaker command/service execution. */
7
+ export default class ApiMakerWebsocketRequestClient {
8
+ /** @returns {ApiMakerWebsocketRequestClient} */
9
+ static current() {
10
+ if (!shared.currentApiMakerWebsocketRequestClient) {
11
+ shared.currentApiMakerWebsocketRequestClient = new ApiMakerWebsocketRequestClient();
12
+ }
13
+ return shared.currentApiMakerWebsocketRequestClient;
14
+ }
15
+ /** Constructor. */
16
+ constructor() {
17
+ this.currentRequestId = 1;
18
+ this.pendingRequests = {};
19
+ this.pendingRequestsByFingerprint = {};
20
+ this.responseCache = {};
21
+ this.subscriptionState = "new";
22
+ }
23
+ /**
24
+ * @param {object} args
25
+ * @param {boolean} [args.cacheResponse]
26
+ * @param {Record<string, any>} [args.global]
27
+ * @param {(value: string) => void} [args.onLog]
28
+ * @param {(value: Record<string, any>) => void} [args.onProgress]
29
+ * @param {(value: Record<string, any>) => void} [args.onReceived]
30
+ * @param {Record<string, any>} args.request
31
+ * @returns {Promise<Record<string, any>>}
32
+ */
33
+ perform({ cacheResponse, global, onLog, onProgress, onReceived, request }) {
34
+ const fingerprint = JSON.stringify({ global, request });
35
+ if (cacheResponse && this.responseCache[fingerprint]) {
36
+ return Promise.resolve(this.responseCache[fingerprint]);
37
+ }
38
+ if (this.pendingRequestsByFingerprint[fingerprint]) {
39
+ const pendingRequestData = this.pendingRequestsByFingerprint[fingerprint];
40
+ const pendingRequest = this.pendingRequests[pendingRequestData.requestId];
41
+ if (onLog)
42
+ pendingRequest?.onLogCallbacks.push(onLog);
43
+ if (onProgress)
44
+ pendingRequest?.onProgressCallbacks.push(onProgress);
45
+ if (onReceived)
46
+ pendingRequest?.onReceivedCallbacks.push(onReceived);
47
+ return pendingRequestData.promise;
48
+ }
49
+ const promise = new Promise((resolve, reject) => {
50
+ const requestId = this.currentRequestId;
51
+ this.currentRequestId += 1;
52
+ this.pendingRequests[requestId] = {
53
+ cacheResponse,
54
+ fingerprint,
55
+ onLogCallbacks: onLog ? [onLog] : [],
56
+ onProgressCallbacks: onProgress ? [onProgress] : [],
57
+ onReceivedCallbacks: onReceived ? [onReceived] : [],
58
+ reject,
59
+ resolve
60
+ };
61
+ this.waitForSubscription().then(() => {
62
+ this.ensureSubscription().perform("execute", {
63
+ cache_response: cacheResponse,
64
+ global,
65
+ request,
66
+ request_id: requestId
67
+ });
68
+ })
69
+ .catch((error) => {
70
+ delete this.pendingRequests[requestId];
71
+ reject(error);
72
+ });
73
+ });
74
+ this.pendingRequestsByFingerprint[fingerprint] = { promise, requestId: this.currentRequestId - 1 };
75
+ promise.then(() => {
76
+ delete this.pendingRequestsByFingerprint[fingerprint];
77
+ }, () => {
78
+ delete this.pendingRequestsByFingerprint[fingerprint];
79
+ });
80
+ return promise;
81
+ }
82
+ /** @returns {any} */
83
+ ensureSubscription() {
84
+ if (!this.subscription) {
85
+ logger.debug("Creating websocket request subscription");
86
+ this.subscriptionState = "connecting";
87
+ this.resetSubscriptionReadyPromise();
88
+ this.subscription = channelsConsumer().subscriptions.create({ channel: "ApiMaker::RequestsChannel" }, {
89
+ connected: this.onConnected,
90
+ disconnected: this.onDisconnected,
91
+ received: this.onReceived,
92
+ rejected: this.onRejected
93
+ });
94
+ }
95
+ return this.subscription;
96
+ }
97
+ /** @returns {Promise<void>} */
98
+ waitForSubscription() {
99
+ this.ensureSubscription();
100
+ if (this.subscriptionState == "connected") {
101
+ return Promise.resolve();
102
+ }
103
+ if (!this.subscriptionReadyPromise) {
104
+ this.resetSubscriptionReadyPromise();
105
+ }
106
+ return this.subscriptionReadyPromise;
107
+ }
108
+ /** @returns {void} */
109
+ resetSubscriptionReadyPromise() {
110
+ this.subscriptionReadyPromise = new Promise((resolve, reject) => {
111
+ this.resolveSubscriptionReadyPromise = resolve;
112
+ this.rejectSubscriptionReadyPromise = reject;
113
+ });
114
+ }
115
+ /** @returns {void} */
116
+ onConnected = () => {
117
+ logger.debug("Websocket request subscription connected");
118
+ this.subscriptionState = "connected";
119
+ this.resolveSubscriptionReadyPromise?.();
120
+ };
121
+ /** @returns {void} */
122
+ onDisconnected = () => {
123
+ logger.debug("Websocket request subscription disconnected");
124
+ this.rejectPendingRequests(new Error("Websocket request subscription disconnected"));
125
+ this.subscriptionState = "disconnected";
126
+ this.subscription = null;
127
+ this.resetSubscriptionReadyPromise();
128
+ };
129
+ /** @returns {void} */
130
+ onRejected = () => {
131
+ const error = new Error("Websocket request subscription was rejected");
132
+ logger.error(error);
133
+ this.rejectPendingRequests(error);
134
+ this.subscriptionState = "rejected";
135
+ this.subscription = null;
136
+ this.rejectSubscriptionReadyPromise?.(error);
137
+ this.resetSubscriptionReadyPromise();
138
+ };
139
+ /**
140
+ * @param {Record<string, any>} data
141
+ * @returns {void}
142
+ */
143
+ onReceived = (data) => {
144
+ const pendingRequest = this.pendingRequests[data.request_id];
145
+ if (!pendingRequest) {
146
+ logger.debug(() => ["Ignoring websocket response without a pending request", { data }]);
147
+ return;
148
+ }
149
+ if (data.type == "api_maker_command_log") {
150
+ pendingRequest.onLogCallbacks.forEach((callback) => callback(data.message));
151
+ }
152
+ else if (data.type == "api_maker_command_progress") {
153
+ const progressData = {
154
+ count: data.count,
155
+ progress: data.progress,
156
+ total: data.total
157
+ };
158
+ pendingRequest.onProgressCallbacks.forEach((callback) => callback(progressData));
159
+ }
160
+ else if (data.type == "api_maker_request_received") {
161
+ pendingRequest.onReceivedCallbacks.forEach((callback) => callback(data));
162
+ }
163
+ else if (data.type == "api_maker_request_response") {
164
+ delete this.pendingRequests[data.request_id];
165
+ if (pendingRequest.cacheResponse) {
166
+ this.responseCache[pendingRequest.fingerprint] = data.response;
167
+ }
168
+ pendingRequest.resolve(data.response);
169
+ }
170
+ else if (data.type == "api_maker_request_error") {
171
+ delete this.pendingRequests[data.request_id];
172
+ pendingRequest.reject(new CustomError("Websocket request failed", { response: data.response }));
173
+ }
174
+ else {
175
+ delete this.pendingRequests[data.request_id];
176
+ pendingRequest.reject(new Error(`Unknown websocket request response type: ${data.type}`));
177
+ }
178
+ };
179
+ /**
180
+ * @param {Error} error
181
+ * @returns {void}
182
+ */
183
+ rejectPendingRequests(error) {
184
+ const pendingRequests = this.pendingRequests;
185
+ this.pendingRequests = {};
186
+ this.pendingRequestsByFingerprint = {};
187
+ Object.values(pendingRequests).forEach((pendingRequest) => {
188
+ queueMicrotask(() => pendingRequest.reject(error));
189
+ });
190
+ }
191
+ }
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LXJlcXVlc3QtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ3ZWJzb2NrZXQtcmVxdWVzdC1jbGllbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sZ0JBQWdCLE1BQU0sd0JBQXdCLENBQUE7QUFFckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsbUNBQW1DLEVBQUMsQ0FBQyxDQUFBO0FBQ3RFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQiw4RUFBOEU7QUFDOUUsTUFBTSxDQUFDLE9BQU8sT0FBTyw4QkFBOEI7SUFDakQsZ0RBQWdEO0lBQ2hELE1BQU0sQ0FBQyxPQUFPO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQ0FBcUMsRUFBRSxDQUFDO1lBQ2xELE1BQU0sQ0FBQyxxQ0FBcUMsR0FBRyxJQUFJLDhCQUE4QixFQUFFLENBQUE7UUFDckYsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDLHFDQUFxQyxDQUFBO0lBQ3JELENBQUM7SUFFRCxtQkFBbUI7SUFDbkI7UUFDRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFBO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFBO1FBQ3pCLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxFQUFFLENBQUE7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUE7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQTtJQUNoQyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsT0FBTyxDQUFFLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUM7UUFDdEUsTUFBTSxXQUFXLEdBQUcsSUFB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ZXJyb3IuanNcIlxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi9sb2dnZXIuanNcIlxuaW1wb3J0IGNoYW5uZWxzQ29uc3VtZXIgZnJvbSBcIi4vY2hhbm5lbHMtY29uc3VtZXIuanNcIlxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKHtuYW1lOiBcIkFwaU1ha2VyIC8gV2Vic29ja2V0UmVxdWVzdENsaWVudFwifSlcbmNvbnN0IHNoYXJlZCA9IHt9XG5cbi8qKiBTaGFyZWQgd2Vic29ja2V0IHJlcXVlc3QgY2xpZW50IGZvciBBcGlNYWtlciBjb21tYW5kL3NlcnZpY2UgZXhlY3V0aW9uLiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50IHtcbiAgLyoqIEByZXR1cm5zIHtBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnR9ICovXG4gIHN0YXRpYyBjdXJyZW50ICgpIHtcbiAgICBpZiAoIXNoYXJlZC5jdXJyZW50QXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50KSB7XG4gICAgICBzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudCA9IG5ldyBBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnQoKVxuICAgIH1cblxuICAgIHJldHVybiBzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudFxuICB9XG5cbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdElkID0gMVxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzID0ge31cbiAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnQgPSB7fVxuICAgIHRoaXMucmVzcG9uc2VDYWNoZSA9IHt9XG4gICAgdGhpcy5zdWJzY3JpcHRpb25TdGF0ZSA9IFwibmV3XCJcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmNhY2hlUmVzcG9uc2VdXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW2FyZ3MuZ2xvYmFsXVxuICAgKiBAcGFyYW0geyh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkfSBbYXJncy5vbkxvZ11cbiAgICogQHBhcmFtIHsodmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IHZvaWR9IFthcmdzLm9uUHJvZ3Jlc3NdXG4gICAqIEBwYXJhbSB7KHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiB2b2lkfSBbYXJncy5vblJlY2VpdmVkXVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGFyZ3MucmVxdWVzdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn1cbiAgICovXG4gIHBlcmZvcm0gKHtjYWNoZVJlc3BvbnNlLCBnbG9iYWwsIG9uTG9nLCBvblByb2dyZXNzLCBvblJlY2VpdmVkLCByZXF1ZXN0fSkge1xuICAgIGNvbnN0IGZpbmdlcnByaW50ID0gSlNPTi5zdHJpbmdpZnkoe2dsb2JhbCwgcmVxdWVzdH0pXG5cbiAgICBpZiAoY2FjaGVSZXNwb25zZSAmJiB0aGlzLnJlc3BvbnNlQ2FjaGVbZmluZ2VycHJpbnRdKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMucmVzcG9uc2VDYWNoZVtmaW5nZXJwcmludF0pXG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludFtmaW5nZXJwcmludF0pIHtcbiAgICAgIGNvbnN0IHBlbmRpbmdSZXF1ZXN0RGF0YSA9IHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludFtmaW5nZXJwcmludF1cbiAgICAgIGNvbnN0IHBlbmRpbmdSZXF1ZXN0ID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNbcGVuZGluZ1JlcXVlc3REYXRhLnJlcXVlc3RJZF1cblxuICAgICAgaWYgKG9uTG9nKSBwZW5kaW5nUmVxdWVzdD8ub25Mb2dDYWxsYmFja3MucHVzaChvbkxvZylcbiAgICAgIGlmIChvblByb2dyZXNzKSBwZW5kaW5nUmVxdWVzdD8ub25Qcm9ncmVzc0NhbGxiYWNrcy5wdXNoKG9uUHJvZ3Jlc3MpXG4gICAgICBpZiAob25SZWNlaXZlZCkgcGVuZGluZ1JlcXVlc3Q/Lm9uUmVjZWl2ZWRDYWxsYmFja3MucHVzaChvblJlY2VpdmVkKVxuXG4gICAgICByZXR1cm4gcGVuZGluZ1JlcXVlc3REYXRhLnByb21pc2VcbiAgICB9XG5cbiAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgcmVxdWVzdElkID0gdGhpcy5jdXJyZW50UmVxdWVzdElkXG4gICAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0SWQgKz0gMVxuXG4gICAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdID0ge1xuICAgICAgICBjYWNoZVJlc3BvbnNlLFxuICAgICAgICBmaW5nZXJwcmludCxcbiAgICAgICAgb25Mb2dDYWxsYmFja3M6IG9uTG9nID8gW29uTG9nXSA6IFtdLFxuICAgICAgICBvblByb2dyZXNzQ2FsbGJhY2tzOiBvblByb2dyZXNzID8gW29uUHJvZ3Jlc3NdIDogW10sXG4gICAgICAgIG9uUmVjZWl2ZWRDYWxsYmFja3M6IG9uUmVjZWl2ZWQgPyBbb25SZWNlaXZlZF0gOiBbXSxcbiAgICAgICAgcmVqZWN0LFxuICAgICAgICByZXNvbHZlXG4gICAgICB9XG5cbiAgICAgIHRoaXMud2FpdEZvclN1YnNjcmlwdGlvbigpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmVuc3VyZVN1YnNjcmlwdGlvbigpLnBlcmZvcm0oXCJleGVjdXRlXCIsIHtcbiAgICAgICAgICBjYWNoZV9yZXNwb25zZTogY2FjaGVSZXNwb25zZSxcbiAgICAgICAgICBnbG9iYWwsXG4gICAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgICByZXF1ZXN0X2lkOiByZXF1ZXN0SWRcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBkZWxldGUgdGhpcy5wZW5kaW5nUmVxdWVzdHNbcmVxdWVzdElkXVxuICAgICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgICAgfSlcbiAgICB9KVxuXG4gICAgdGhpcy5wZW5kaW5nUmVxdWVzdHNCeUZpbmdlcnByaW50W2ZpbmdlcnByaW50XSA9IHtwcm9taXNlLCByZXF1ZXN0SWQ6IHRoaXMuY3VycmVudFJlcXVlc3RJZCAtIDF9XG5cbiAgICBwcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgZGVsZXRlIHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludFtmaW5nZXJwcmludF1cbiAgICB9LCAoKSA9PiB7XG4gICAgICBkZWxldGUgdGhpcy5wZW5kaW5nUmVxdWVzdHNCeUZpbmdlcnByaW50W2ZpbmdlcnByaW50XVxuICAgIH0pXG5cbiAgICByZXR1cm4gcHJvbWlzZVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHthbnl9ICovXG4gIGVuc3VyZVN1YnNjcmlwdGlvbiAoKSB7XG4gICAgaWYgKCF0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwiQ3JlYXRpbmcgd2Vic29ja2V0IHJlcXVlc3Qgc3Vic2NyaXB0aW9uXCIpXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJjb25uZWN0aW5nXCJcbiAgICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb25SZWFkeVByb21pc2UoKVxuXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGNoYW5uZWxzQ29uc3VtZXIoKS5zdWJzY3JpcHRpb25zLmNyZWF0ZShcbiAgICAgICAge2NoYW5uZWw6IFwiQXBpTWFrZXI6OlJlcXVlc3RzQ2hhbm5lbFwifSxcbiAgICAgICAge1xuICAgICAgICAgIGNvbm5lY3RlZDogdGhpcy5vbkNvbm5lY3RlZCxcbiAgICAgICAgICBkaXNjb25uZWN0ZWQ6IHRoaXMub25EaXNjb25uZWN0ZWQsXG4gICAgICAgICAgcmVjZWl2ZWQ6IHRoaXMub25SZWNlaXZlZCxcbiAgICAgICAgICByZWplY3RlZDogdGhpcy5vblJlamVjdGVkXG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gKi9cbiAgd2FpdEZvclN1YnNjcmlwdGlvbiAoKSB7XG4gICAgdGhpcy5lbnN1cmVTdWJzY3JpcHRpb24oKVxuXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uU3RhdGUgPT0gXCJjb25uZWN0ZWRcIikge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSkge1xuICAgICAgdGhpcy5yZXNldFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIHJlc2V0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlICgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucmVzb2x2ZVN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSA9IHJlc29sdmVcbiAgICAgIHRoaXMucmVqZWN0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlID0gcmVqZWN0XG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgb25Db25uZWN0ZWQgPSAoKSA9PiB7XG4gICAgbG9nZ2VyLmRlYnVnKFwiV2Vic29ja2V0IHJlcXVlc3Qgc3Vic2NyaXB0aW9uIGNvbm5lY3RlZFwiKVxuICAgIHRoaXMuc3Vic2NyaXB0aW9uU3RhdGUgPSBcImNvbm5lY3RlZFwiXG4gICAgdGhpcy5yZXNvbHZlU3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlPy4oKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBvbkRpc2Nvbm5lY3RlZCA9ICgpID0+IHtcbiAgICBsb2dnZXIuZGVidWcoXCJXZWJzb2NrZXQgcmVxdWVzdCBzdWJzY3JpcHRpb24gZGlzY29ubmVjdGVkXCIpXG4gICAgdGhpcy5yZWplY3RQZW5kaW5nUmVxdWVzdHMobmV3IEVycm9yKFwiV2Vic29ja2V0IHJlcXVlc3Qgc3Vic2NyaXB0aW9uIGRpc2Nvbm5lY3RlZFwiKSlcbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJkaXNjb25uZWN0ZWRcIlxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbFxuICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb25SZWFkeVByb21pc2UoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBvblJlamVjdGVkID0gKCkgPT4ge1xuICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFwiV2Vic29ja2V0IHJlcXVlc3Qgc3Vic2NyaXB0aW9uIHdhcyByZWplY3RlZFwiKVxuXG4gICAgbG9nZ2VyLmVycm9yKGVycm9yKVxuICAgIHRoaXMucmVqZWN0UGVuZGluZ1JlcXVlc3RzKGVycm9yKVxuICAgIHRoaXMuc3Vic2NyaXB0aW9uU3RhdGUgPSBcInJlamVjdGVkXCJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGxcbiAgICB0aGlzLnJlamVjdFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZT8uKGVycm9yKVxuICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb25SZWFkeVByb21pc2UoKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gZGF0YVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIG9uUmVjZWl2ZWQgPSAoZGF0YSkgPT4ge1xuICAgIGNvbnN0IHBlbmRpbmdSZXF1ZXN0ID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNbZGF0YS5yZXF1ZXN0X2lkXVxuXG4gICAgaWYgKCFwZW5kaW5nUmVxdWVzdCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IFtcIklnbm9yaW5nIHdlYnNvY2tldCByZXNwb25zZSB3aXRob3V0IGEgcGVuZGluZyByZXF1ZXN0XCIsIHtkYXRhfV0pXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoZGF0YS50eXBlID09IFwiYXBpX21ha2VyX2NvbW1hbmRfbG9nXCIpIHtcbiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uTG9nQ2FsbGJhY2tzLmZvckVhY2goKGNhbGxiYWNrKSA9PiBjYWxsYmFjayhkYXRhLm1lc3NhZ2UpKVxuICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09IFwiYXBpX21ha2VyX2NvbW1hbmRfcHJvZ3Jlc3NcIikge1xuICAgICAgY29uc3QgcHJvZ3Jlc3NEYXRhID0ge1xuICAgICAgICBjb3VudDogZGF0YS5jb3VudCxcbiAgICAgICAgcHJvZ3Jlc3M6IGRhdGEucHJvZ3Jlc3MsXG4gICAgICAgIHRvdGFsOiBkYXRhLnRvdGFsXG4gICAgICB9XG5cbiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uUHJvZ3Jlc3NDYWxsYmFja3MuZm9yRWFjaCgoY2FsbGJhY2spID0+IGNhbGxiYWNrKHByb2dyZXNzRGF0YSkpXG4gICAgfSBlbHNlIGlmIChkYXRhLnR5cGUgPT0gXCJhcGlfbWFrZXJfcmVxdWVzdF9yZWNlaXZlZFwiKSB7XG4gICAgICBwZW5kaW5nUmVxdWVzdC5vblJlY2VpdmVkQ2FsbGJhY2tzLmZvckVhY2goKGNhbGxiYWNrKSA9PiBjYWxsYmFjayhkYXRhKSlcbiAgICB9IGVsc2UgaWYgKGRhdGEudHlwZSA9PSBcImFwaV9tYWtlcl9yZXF1ZXN0X3Jlc3BvbnNlXCIpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tkYXRhLnJlcXVlc3RfaWRdXG5cbiAgICAgIGlmIChwZW5kaW5nUmVxdWVzdC5jYWNoZVJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMucmVzcG9uc2VDYWNoZVtwZW5kaW5nUmVxdWVzdC5maW5nZXJwcmludF0gPSBkYXRhLnJlc3BvbnNlXG4gICAgICB9XG5cbiAgICAgIHBlbmRpbmdSZXF1ZXN0LnJlc29sdmUoZGF0YS5yZXNwb25zZSlcbiAgICB9IGVsc2UgaWYgKGRhdGEudHlwZSA9PSBcImFwaV9tYWtlcl9yZXF1ZXN0X2Vycm9yXCIpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tkYXRhLnJlcXVlc3RfaWRdXG4gICAgICBwZW5kaW5nUmVxdWVzdC5yZWplY3QobmV3IEN1c3RvbUVycm9yKFwiV2Vic29ja2V0IHJlcXVlc3QgZmFpbGVkXCIsIHtyZXNwb25zZTogZGF0YS5yZXNwb25zZX0pKVxuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgdGhpcy5wZW5kaW5nUmVxdWVzdHNbZGF0YS5yZXF1ZXN0X2lkXVxuICAgICAgcGVuZGluZ1JlcXVlc3QucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biB3ZWJzb2NrZXQgcmVxdWVzdCByZXNwb25zZSB0eXBlOiAke2RhdGEudHlwZX1gKSlcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtFcnJvcn0gZXJyb3JcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICByZWplY3RQZW5kaW5nUmVxdWVzdHMgKGVycm9yKSB7XG4gICAgY29uc3QgcGVuZGluZ1JlcXVlc3RzID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNcblxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzID0ge31cbiAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnQgPSB7fVxuXG4gICAgT2JqZWN0LnZhbHVlcyhwZW5kaW5nUmVxdWVzdHMpLmZvckVhY2goKHBlbmRpbmdSZXF1ZXN0KSA9PiB7XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiBwZW5kaW5nUmVxdWVzdC5yZWplY3QoZXJyb3IpKVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kaspernj/api-maker",
3
3
  "type": "module",
4
- "version": "1.0.2122",
4
+ "version": "1.0.2125",
5
5
  "description": "My new module",
6
6
  "files": [
7
7
  "build/**"