@mountainpass/waychaser 5.0.35 → 5.0.37

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.
package/README.md CHANGED
@@ -71,7 +71,7 @@ try {
71
71
  ```html
72
72
  <script
73
73
  type="text/javascript"
74
- src="https://unpkg.com/@mountainpass/waychaser@5.0.35"
74
+ src="https://unpkg.com/@mountainpass/waychaser@5.0.37"
75
75
  ></script>
76
76
 
77
77
  ...
@@ -1 +1,6 @@
1
- export const URI: any;
1
+ export namespace URI {
2
+ export { Template };
3
+ export { expand };
4
+ export function parameters(url: any): any;
5
+ export function parameters(url: any): any;
6
+ }
@@ -1,31 +1,32 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
22
  exports.URI = void 0;
4
- /* eslint-disable unicorn/prefer-ternary */
5
- var uri_template_lite_1 = require("uri-template-lite");
6
- /**
7
- *
8
- */
9
- function getUri() {
10
- /* istanbul ignore next: it's complicated */
11
- if (typeof globalThis === 'undefined') {
12
- // eslint-disable-next-line unicorn/prefer-module
13
- return uri_template_lite_1.URI || globalThis.URI;
14
- }
15
- else {
16
- return globalThis.URI || uri_template_lite_1.URI;
17
- }
18
- }
19
- /**
20
- *
21
- */
22
- function getExtendedUri() {
23
- var base = getUri();
24
- base.parameters = function (url) {
25
- var template = new exports.URI.Template(url);
23
+ var uri_template_lite_1 = __importStar(require("uri-template-lite"));
24
+ exports.URI = {
25
+ Template: uri_template_lite_1.default,
26
+ expand: uri_template_lite_1.expand,
27
+ parameters: function (url) {
28
+ var template = new uri_template_lite_1.default(url);
26
29
  return template.match(url);
27
- };
28
- return base;
29
- }
30
- exports.URI = getExtendedUri();
30
+ }
31
+ };
31
32
  //# sourceMappingURL=uri-template-lite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uri-template-lite.js","sourceRoot":"","sources":["../../src/util/uri-template-lite.js"],"names":[],"mappings":";;;AAAA,2CAA2C;AAC3C,uDAAkD;AAGlD;;GAEG;AACH,SAAS,MAAM;IACb,4CAA4C;IAC5C,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;QACrC,iDAAiD;QACjD,OAAO,uBAAO,IAAI,UAAU,CAAC,GAAG,CAAA;KACjC;SAAM;QACL,OAAO,UAAU,CAAC,GAAG,IAAI,uBAAO,CAAA;KACjC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc;IACrB,IAAM,IAAI,GAAG,MAAM,EAAE,CAAA;IACrB,IAAI,CAAC,UAAU,GAAG,UAAU,GAAG;QAC7B,IAAM,QAAQ,GAAG,IAAI,WAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACtC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAGY,QAAA,GAAG,GAAG,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"uri-template-lite.js","sourceRoot":"","sources":["../../src/util/uri-template-lite.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAoD;AAEvC,QAAA,GAAG,GAAG;IACjB,QAAQ,6BAAA;IACR,MAAM,4BAAA;IACN,UAAU,YAAC,GAAG;QACZ,IAAM,QAAQ,GAAG,IAAI,2BAAQ,CAAC,GAAG,CAAC,CAAA;QAClC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;CACF,CAAA"}
@@ -138,22 +138,22 @@ function getDefaultExportFromCjs (x) {
138
138
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
139
139
  }
140
140
 
141
- var uriTemplateLite = {};
141
+ var uriTemplateLite = {exports: {}};
142
+
143
+ /* global escape */
142
144
 
143
145
  var hasRequiredUriTemplateLite;
144
146
 
145
147
  function requireUriTemplateLite () {
146
- if (hasRequiredUriTemplateLite) return uriTemplateLite;
148
+ if (hasRequiredUriTemplateLite) return uriTemplateLite.exports;
147
149
  hasRequiredUriTemplateLite = 1;
148
- /**
149
- * @version 20.5.0
150
- * @author Lauri Rooden <lauri@rooden.ee>
151
- * @license MIT License
152
- */
150
+ /*! litejs.com/MIT-LICENSE.txt */
153
151
 
154
152
 
153
+ !function() {
155
154
 
156
- !function(URI) {
155
+ uriTemplateLite.exports = Template;
156
+ uriTemplateLite.exports.expand = expand;
157
157
 
158
158
  /**
159
159
  * URI Template
@@ -163,14 +163,21 @@ function requireUriTemplateLite () {
163
163
  var RESERVED = /[!'()]/g
164
164
  // /[[\]:\/!#$&()*+,;='?@]/g
165
165
  , SEPARATORS = {"": ",", "+": ",", "#": ",", "?": "&"}
166
- , escapeRe = /[$-\/?[-^{|}]/g
167
- , expandRe = /\{([#&+.\/;?]?)((?:[-\w%.]+(\*|:\d+)?,?)+)\}/g
166
+ , escapeRe = /[$-/?[-^{|}]/g
167
+ , expandRe = /\{([#&+./;?]?)((?:[-\w%.]+(\*|:\d+)?(?:,|(?=})))+)\}/g
168
168
  , parseRe = RegExp(expandRe.source + "|.[^{]*?", "g");
169
169
 
170
- /*** EXPAND ***/
170
+
171
171
  function encodeNormal(val) {
172
172
  return encodeURIComponent(val).replace(RESERVED, escape)
173
173
  }
174
+ function catchDecode(str) {
175
+ try {
176
+ return decodeURIComponent(str)
177
+ } catch(e) {
178
+ return str
179
+ }
180
+ }
174
181
 
175
182
  function notNull(s) {
176
183
  return s != null
@@ -181,11 +188,11 @@ function requireUriTemplateLite () {
181
188
  return arr.length && arr.join(joinStr)
182
189
  }
183
190
 
184
- function expand(template, data) {
191
+ function expand(template, data, opts) {
185
192
  return template.replace(expandRe, function(_, op, vals) {
186
193
  var sep = SEPARATORS[op] || op
187
194
  , named = sep == ";" || sep == "&"
188
- , enc = op && sep == "," ? encodeURI : encodeNormal
195
+ , enc = op && sep == "," ? encodeURI : opts && opts.encoder || encodeNormal
189
196
  , out = mapCleanJoin(vals.split(","), function(_name) {
190
197
  var mod = _name.split(/[*:]/)
191
198
  , name = mod[0]
@@ -219,13 +226,13 @@ function requireUriTemplateLite () {
219
226
  }
220
227
  )}
221
228
 
222
- URI.expand = expand;
223
- /**/
224
229
 
225
- URI.Template = function Template(template) {
230
+ function Template(template, opts_) {
226
231
  var self = this
227
232
  //if (!(self instanceof Template)) return new Template(template)
228
- /*** PARSE ***/
233
+ , opts = Object.assign({
234
+ decoder: catchDecode
235
+ }, opts_)
229
236
  , pos = 0
230
237
  , lengths = {}
231
238
  , fnStr = ""
@@ -233,82 +240,62 @@ function requireUriTemplateLite () {
233
240
  if (!vals) return escapeRegExp(_)
234
241
 
235
242
  var sep = SEPARATORS[op] || op
236
- , named = sep == ";" || sep == "&"
237
- , reGroup = vals.split(",").map(function(_name) {
243
+ , named = sep == ";" || sep == "&";
244
+ return vals.split(",").map(function(_name, i) {
238
245
  var mod = _name.split(/[*:]/)
239
246
  , name = mod[0]
240
247
  , re = (lengths[name] || "(") + ".*?)";
241
248
 
242
249
  pos++;
243
- //console.log("KEY", arguments)
244
250
  if (mod[1]) {
245
251
  re = "((?:%..|.){1," + mod[1] + "})";
246
252
  lengths[name] = "(\\" + pos;
247
253
  }
248
- //TODO: decodeURIComponent throws an Error on invalid input, add try-catch
249
- fnStr += "t=($[" + pos + "]||'').split('" + sep + "').map(decodeURIComponent);";
250
- fnStr += "o[\"" + name + "\"]=t.length>1?t:t[0];";
251
- return (
254
+ fnStr += "t=($[" + pos + "]||'').split('" + (mod[1] ? named ? sep + name + "=" : sep : ",") + "').map(d);";
255
+ fnStr += "o[\"" + name + "\"]=" + (mod[1] === "" ? "t;" : "t.length>1?t:t[0];");
256
+ re = escapeRegExp(i === 0 ? op === "+" ? "" : op : sep) + (
252
257
  named ?
253
258
  escapeRegExp(name) + "(?:=" + re + ")?" :
254
- sep == "&" ?
255
- escapeRegExp(name + "=") + re :
259
+ //sep == "&" ?
260
+ //escapeRegExp(name + "=") + re :
256
261
  re
257
- )
258
- }).join(escapeRegExp(sep));
259
- return (op != "+" ? escapeRegExp(op) + reGroup : reGroup)
260
-
262
+ );
263
+ return mod[1] === "" ? "(?:" + re + ")?" : re
264
+ }).join("")
261
265
  }) + "$"
262
266
  , re = RegExp(reStr)
263
- , fn = Function("$", "var t,o={};" + fnStr + "return o");
267
+ , fn = Function("$,d", "var t,o={};" + fnStr + "return o");
268
+
264
269
  self.template = template;
265
270
  self.match = function(uri) {
266
271
  var match = re.exec(uri);
267
- return match && fn(match)
272
+ return match && fn(match, opts.decoder)
268
273
  };
269
274
 
270
275
  function escapeRegExp(string) {
271
276
  return string.replace(escapeRe, "\\$&")
272
277
  }
273
- /**/
274
- /*** EXPAND ***/
275
- self.expand = expand.bind(self, template);
276
- /**/
277
- };
278
+ self.expand = function(data) {
279
+ return expand(template, data, opts)
280
+ };
281
+ }
278
282
 
279
283
  // `this` is `exports` in NodeJS and `window` in browser.
280
- }(uriTemplateLite.URI || (uriTemplateLite.URI = {}));
281
- return uriTemplateLite;
284
+ }(); // jshint ignore:line
285
+ return uriTemplateLite.exports;
282
286
  }
283
287
 
284
288
  var uriTemplateLiteExports = requireUriTemplateLite();
289
+ var Template = /*@__PURE__*/getDefaultExportFromCjs(uriTemplateLiteExports);
285
290
 
286
- /* eslint-disable unicorn/prefer-ternary */
287
- /**
288
- *
289
- */
290
- function getUri() {
291
- /* istanbul ignore next: it's complicated */
292
- if (typeof globalThis === 'undefined') {
293
- // eslint-disable-next-line unicorn/prefer-module
294
- return uriTemplateLiteExports.URI || globalThis.URI;
295
- }
296
- else {
297
- return globalThis.URI || uriTemplateLiteExports.URI;
298
- }
299
- }
300
- /**
301
- *
302
- */
303
- function getExtendedUri() {
304
- var base = getUri();
305
- base.parameters = function (url) {
306
- var template = new URI.Template(url);
291
+ var URI = {
292
+ Template: Template,
293
+ expand: uriTemplateLiteExports.expand,
294
+ parameters: function (url) {
295
+ var template = new Template(url);
307
296
  return template.match(url);
308
- };
309
- return base;
310
- }
311
- var URI = getExtendedUri();
297
+ }
298
+ };
312
299
 
313
300
  var qsStringify$1;
314
301
  var hasRequiredQsStringify;
@@ -1 +1 @@
1
- var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};function r(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var o in r=arguments[t])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},t.apply(this,arguments)};function n(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)r.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(t[n[o]]=e[n[o]])}return t}function o(e,r,t,n){return new(t||(t=Promise))(function(o,i){function a(e){try{l(n.next(e))}catch(e){i(e)}}function s(e){try{l(n.throw(e))}catch(e){i(e)}}function l(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t(function(e){e(r)})).then(a,s)}l((n=n.apply(e,r||[])).next())})}function i(e,r){var t,n,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(i=0)),i;)try{if(t=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,n=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=r.call(e,i)}catch(e){s=[6,e],n=0}finally{t=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function a(e){var r="function"==typeof Symbol&&Symbol.iterator,t=r&&e[r],n=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function s(e,r){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,o,i=t.call(e),a=[];try{for(;(void 0===r||r-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return a}function l(e,r,t){if(t||2===arguments.length)for(var n,o=0,i=r.length;o<i;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}"function"==typeof SuppressedError&&SuppressedError;var c,f={};var p=(c||(c=1,function(e){var r=/[!'()]/g,t={"":",","+":",","#":",","?":"&"},n=/[$-\/?[-^{|}]/g,o=/\{([#&+.\/;?]?)((?:[-\w%.]+(\*|:\d+)?,?)+)\}/g,i=RegExp(o.source+"|.[^{]*?","g");function a(e){return encodeURIComponent(e).replace(r,escape)}function s(e){return null!=e}function l(e,r,t){return(e=e.map(r).filter(s)).length&&e.join(t)}function u(e,r){return e.replace(o,function(e,n,o){var i=t[n]||n,s=";"==i||"&"==i,u=n&&","==i?encodeURI:a,c=l(o.split(","),function(e){var t=e.split(/[*:]/),n=t[0],o=r[n];if(null!=o){if("object"==typeof o){if(t=n!=e,Array.isArray(o)?o=l(o,u,t?s?i+n+"=":i:","):(o=l(Object.keys(o),function(e){return u(e)+(t?"=":",")+u(o[e])},t&&(s||"/"==i)?i:","),t&&(s=0)),!o)return}else o=u(t[1]?o.slice(0,t[1]):o);return s?n+(o||"&"==i?"="+o:o):o}},i);return c||""===c?"+"!=n?n+c:c:""})}e.expand=u,e.Template=function(e){var r=this,o=0,a={},s="",l="^"+e.replace(i,function(e,r,n){if(!n)return p(e);var i=t[r]||r,l=";"==i||"&"==i,u=n.split(",").map(function(e){var r=e.split(/[*:]/),t=r[0],n=(a[t]||"(")+".*?)";return o++,r[1]&&(n="((?:%..|.){1,"+r[1]+"})",a[t]="(\\"+o),s+="t=($["+o+"]||'').split('"+i+"').map(decodeURIComponent);",s+='o["'+t+'"]=t.length>1?t:t[0];',l?p(t)+"(?:="+n+")?":"&"==i?p(t+"=")+n:n}).join(p(i));return"+"!=r?p(r)+u:u})+"$",c=RegExp(l),f=Function("$","var t,o={};"+s+"return o");function p(e){return e.replace(n,"\\$&")}r.template=e,r.match=function(e){var r=c.exec(e);return r&&f(r)},r.expand=u.bind(r,e)}}(f.URI||(f.URI={}))),f);var h,d,y,v=((h="undefined"==typeof globalThis?p.URI||globalThis.URI:globalThis.URI||p.URI).parameters=function(e){return new v.Template(e).match(e)},h);var b,m,w=u(function(){if(y)return d;y=1;var e=Object.prototype.hasOwnProperty;return d=function r(t,n){var o=[];for(var i in t)if(e.call(t,i)){var a,s=t[i],l=encodeURIComponent(i);a="object"==typeof s?r(s,n?n+"["+l+"]":l):(n?n+"["+l+"]":l)+"="+encodeURIComponent(s),o.push(a)}return o.join("&")}}());var g=u(m?b:(m=1,b="object"==typeof self?self.FormData:window.FormData));function O(e,r,t){if(e){var n=function(e){return e.split(",").map(function(e){var r,t,n=e.split(";"),o=n.shift(),i=null==o?void 0:o.split("/"),s={type:o,parentType:null==i?void 0:i[0],subType:null==i?void 0:i[1],q:1};try{for(var l=a(n),u=l.next();!u.done;u=l.next()){var c=u.value,f=c.split("=");"q"===c[0]&&(s[f[0]]=Number.parseFloat(f[1]))}}catch(e){r={error:e}}finally{try{u&&!u.done&&(t=l.return)&&t.call(l)}finally{if(r)throw r.error}}return s}).sort(function(e,r){return e.q>r.q?-1:e.q<r.q||"*"===e.parentType&&"*"!==r.parentType?1:"*"!==e.parentType&&"*"===r.parentType?-1:"*"===e.subType&&"*"!==r.subType?1:"*"!==e.subType&&"*"===r.subType?-1:0}).map(function(e){return{type:e.type||""}}).filter(function(e){return""!==e.type})}(e);return n.find(function(e){return r.includes(e.type)}).type}return t}function x(e){return e}function j(e,r){const t=(r=r||{}).delimiter||".",n=r.maxDepth,o=r.transformKey||x,i={};return function e(a,s,l){l=l||1,Object.keys(a).forEach(function(u){const c=a[u],f=r.safe&&Array.isArray(c),p=Object.prototype.toString.call(c),h=(d=c)&&d.constructor&&"function"==typeof d.constructor.isBuffer&&d.constructor.isBuffer(d);var d;const y="[object Object]"===p||"[object Array]"===p,v=s?s+t+o(u):o(u);if(!f&&!h&&y&&Object.keys(c).length&&(!r.maxDepth||l<n))return e(c,v,l+1);i[v]=c})}(e),i}var k,A={};var E=function(){if(k)return A;k=1;var e=/~/,r=/~[01]/g;function t(e){switch(e){case"~1":return"/";case"~0":return"~"}throw new Error("Invalid tilde escape: "+e)}function n(n){return e.test(n)?n.replace(r,t):n}function o(e){if("string"==typeof e){if(""===(e=e.split("/"))[0])return e;throw new Error("Invalid JSON pointer.")}if(Array.isArray(e)){for(const r of e)if("string"!=typeof r&&"number"!=typeof r)throw new Error("Invalid JSON pointer. Must be of type string or number.");return e}throw new Error("Invalid JSON pointer.")}function i(e,r){if("object"!=typeof e)throw new Error("Invalid input object.");var t=(r=o(r)).length;if(1===t)return e;for(var i=1;i<t;){if(e=e[n(r[i++])],t===i)return e;if("object"!=typeof e||null===e)return}}function a(e,r,t){if("object"!=typeof e)throw new Error("Invalid input object.");if(0===(r=o(r)).length)throw new Error("Invalid JSON pointer for set.");return function(e,r,t){for(var o,i,a=1,s=r.length;a<s;){if("constructor"===r[a]||"prototype"===r[a]||"__proto__"===r[a])return e;if(o=n(r[a++]),i=s>a,void 0===e[o]&&(Array.isArray(e)&&"-"===o&&(o=e.length),i&&(""!==r[a]&&r[a]<1/0||"-"===r[a]?e[o]=[]:e[o]={})),!i)break;e=e[o]}var l=e[o];return void 0===t?delete e[o]:e[o]=t,l}(e,r,t)}return A.get=i,A.set=a,A.compile=function(e){var r=o(e);return{get:function(e){return i(e,r)},set:function(e,t){return a(e,r,t)}}},A}(),I=u(E);var P,T={};var R=(P||(P=1,Object.defineProperty(T,"__esModule",{value:!0}),T.ProblemDocument=void 0,T.ProblemDocument=class{constructor(e){Object.assign(this,e)}}),T),C=function(e){var r=e.rel,t=e.uri,o=e.method,i=e.parameters,a=e.accept,s=e.anchor,l=n(e,["rel","uri","method","parameters","accept","anchor"]);this.rel=r,this.uri=t,this.method=o,this.parameters=i||{},this.accept=a,this.anchor=s,Object.assign(this,l)},S=function(e){function t(r,t,n,o){var i=e.call(this,r)||this;return i.response=t,i.defaultOptions=n,i.uri.includes("{this.")&&(i.uri=v.expand(i.uri,o)),i}return r(t,e),t.prototype.invokeAsFragment=function(e,r){if(this.uri.startsWith("#/")){var t=this.expandUrl(e).toString(),n=this.response.fullContent&&I.get(this.response.fullContent,t.slice(1));if(void 0===n)return;if(r){var o=r(n);if(K(o))return new Z({defaultOptions:this.defaultOptions,baseResponse:this.response.response,content:o.content,fullContent:this.response.fullContent,anchor:t,parentOperations:this.response.allOperations,parameters:e});throw new X({problem:o.problem,response:new Z({defaultOptions:this.defaultOptions,baseResponse:this.response.response,content:n,fullContent:this.response.fullContent,parameters:e})})}return new Z({defaultOptions:this.defaultOptions,baseResponse:this.response.response,content:n,fullContent:this.response.fullContent,anchor:t,parentOperations:this.response.allOperations,parameters:e})}},t.prototype.invokeAll=function(e){return o(this,void 0,void 0,function(){var r;return i(this,function(t){return this.uri.startsWith("#/")&&this.response instanceof Z?(r=this.doInvokeAll((null==e?void 0:e.parameters)||{}),[2,Promise.all(r)]):[2,this.invoke(e).then(function(e){return[e]})]})})},t.prototype.doInvokeAll=function(e,r){var t=this,n=this.response,o=new v.Template(this.uri),i=Object.assign(v.parameters(this.uri),e),a=o.expand(i).replaceAll("%7B","{").replaceAll("%7D","}"),u=v.parameters(a),c=Object.keys(u);if(0===c.length)return[this.invokeAsFragment(e,r)];var f=u[c[0]],p=a.slice(1,a.indexOf(f)-1),h=""===p?n.content:I.get(n.content,p);if(h)return(Array.isArray(h)?l([],s(Array.from({length:h.length}).keys()),!1):Object.keys(h)).flatMap(function(n){var o,i=Object.assign({},e,((o={})[c[0]]=n,o));return t.doInvokeAll(i,r)});throw new X({response:this.response,problem:new R.ProblemDocument({type:"https://waychaser.io/fragment-uri-error",title:"The fragment URI does not match the content structure",uri:p,content:n.content,parameters:e})})},t.prototype.invoke=function(e){return o(this,void 0,void 0,function(){var r,t,n,o,s,l,u,c,f,p,h,d,y,v,b,m,x,j;return i(this,function(i){if(this.uri.startsWith("#/"))return[2,this.invokeAsFragment(null==e?void 0:e.parameters)];if(r=this.parameters||{},t=Object.assign({},this.defaultOptions.parameters,null==e?void 0:e.parameters),n=this.url(t),o={},Array.isArray(r))try{for(s=a(r),l=s.next();!l.done;l=s.next())f=l.value,o[f]=null==t?void 0:t[f]}catch(e){b={error:e}}finally{try{l&&!l.done&&(m=s.return)&&m.call(s)}finally{if(b)throw b.error}}else try{for(u=a(Object.keys(r)),c=u.next();!c.done;c=u.next())f=c.value,o[f]=null==t?void 0:t[f]}catch(e){x={error:e}}finally{try{c&&!c.done&&(j=u.return)&&j.call(u)}finally{if(x)throw x.error}}if(p=void 0,h={},(d=Object.assign({},e)).method=this.method,0!==Object.keys(this.parameters).length&&(k=this.method||"GET",!["GET","DELETE","TRACE","OPTIONS","HEAD"].includes(k))){switch(y=O(this.accept,["application/x-www-form-urlencoded","application/json","multipart/form-data"],"application/x-www-form-urlencoded")){case"application/x-www-form-urlencoded":p=w(o);break;case"application/json":p=JSON.stringify(o);break;case"multipart/form-data":for(v in p=new g,o)p.append(v,o[v])}"multipart/form-data"!==y&&(h={"content-type":y}),d.body=p,d.headers=Object.assign(h,null==e?void 0:e.headers)}return[2,ee(n.toString(),this.defaultOptions,d)];var k})})},t.prototype.url=function(e){var r=this.expandUrl(e);return new URL(r,this.response.url)},t.prototype.expandUrl=function(e){return v.expand(this.uri,j(e||{}))},t}(C),U=function(e){function t(r){return e.apply(this,l([],s(r||[]),!1))||this}return r(t,e),t.create=function(){return Object.create(t.prototype)},t.prototype.find=function(e,r){var t=Array.prototype.find.bind(this);return t("string"==typeof e?_({rel:e}):"object"==typeof e?_(e):e,r)},t.prototype.filter=function(e,r){if("string"==typeof e)return this.filter({rel:e},r);if("object"==typeof e)return this.filter(_(e),r);var n=Array.prototype.filter.bind(this)(e);return Object.setPrototypeOf(n,t.prototype),n},t.prototype.invoke=function(e,r){var t=this.find(e);return t?t.invoke(r):void 0},t.prototype.invokeAll=function(e,r){var t=this.filter(e);return Promise.all(t.map(function(e){return e.invokeAll(r)})).then(function(e){return e.flat()})},t}(Array);function _(e){return function(r){for(var t in e)if(e[t]!==r[t])return!1;return!0}}function q(e){var r,t,n,o,i=[],s=/{\[(\d+)..(\d+)]}/,l=e.uri.toString(),u=l.match(s);if(u)for(var c=Number.parseInt(u[1]);c<=Number.parseInt(u[2]);++c){var f=q(new C(Object.assign(e,{uri:l.replace(s,c.toFixed(0))})));try{for(var p=(r=void 0,a(f)),h=p.next();!h.done;h=p.next()){var d=h.value;i.push(d)}}catch(e){r={error:e}}finally{try{h&&!h.done&&(t=p.return)&&t.call(p)}finally{if(r)throw r.error}}}else{var y=e.anchor,v=null==y?void 0:y.match(s);if(y&&v)for(c=Number.parseInt(v[1]);c<=Number.parseInt(v[2]);++c){f=q(new C(Object.assign(e,{anchor:y.replace(s,c.toFixed(0))})));try{for(var b=(n=void 0,a(f)),m=b.next();!m.done;m=b.next()){var w=m.value;i.push(w)}}catch(e){n={error:e}}finally{try{m&&!m.done&&(o=b.return)&&o.call(b)}finally{if(n)throw n.error}}}else i.push(e)}return i}var N,D,F="application/hal+json",L="application/vnd.siren+json";function H(e,r){var t=e.split(/:(.+)/);if(t.length>1){var n=s(t,2),o=n[0],i=n[1];return r[o]?v.expand(r[o],{rel:i}):e}return e}function $(e,r,o){var i=r.href;r.templated;var a=n(r,["href","templated"]);return new C(t({rel:H(e,o),uri:i},a))}var B,J,M=function(){if(D)return N;D=1;var e=/^utf-?8|ascii|utf-?16-?le|ucs-?2|base-?64|latin-?1$/i,r=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/\s|\uFEFF|\xA0/,n=/\r?\n[\x20\x09]+/g,o=/[;,"]/,i=/[;,"]|\s/,a=/^[!#$%&'*+\-\.^_`|~\da-zA-Z]+$/,s=1,l=2,u=4;function c(e){return e.replace(r,"")}function f(e){return t.test(e)}function p(e,r){for(;f(e[r]);)r++;return r}function h(e){return i.test(e)||!a.test(e)}class d{constructor(e){this.refs=[],e&&this.parse(e)}rel(e){for(var r=[],t=e.toLowerCase(),n=0;n<this.refs.length;n++)"string"==typeof this.refs[n].rel&&this.refs[n].rel.toLowerCase()===t&&r.push(this.refs[n]);return r}get(e,r){e=e.toLowerCase(),r=r.toLowerCase();for(var t=[],n=0;n<this.refs.length;n++)"string"==typeof this.refs[n][e]&&this.refs[n][e].toLowerCase()===r&&t.push(this.refs[n]);return t}set(e){return this.refs.push(e),this}setUnique(e){return this.refs.some(r=>{return t=r,n=e,Object.keys(t).length===Object.keys(n).length&&Object.keys(t).every(e=>e in n&&t[e]===n[e]);var t,n})||this.refs.push(e),this}has(e,r){e=e.toLowerCase(),r=r.toLowerCase();for(var t=0;t<this.refs.length;t++)if("string"==typeof this.refs[t][e]&&this.refs[t][e].toLowerCase()===r)return!0;return!1}parse(e,r){e=c(e=(r=r||0)?e.slice(r):e).replace(n,"");for(var t=s,i=e.length,a=(r=0,null);r<i;)if(t===s){if(f(e[r])){r++;continue}if("<"!==e[r])throw new Error('Unexpected character "'+e[r]+'" at offset '+r);if(null!=a&&(null!=a.rel?this.refs.push(...d.expandRelations(a)):this.refs.push(a)),-1===(v=e.indexOf(">",r)))throw new Error("Expected end of URI delimiter at offset "+r);a={uri:e.slice(r+1,v)},r=v,t=l,r++}else if(t===l){if(f(e[r])){r++;continue}if(";"===e[r])t=u,r++;else{if(","!==e[r])throw new Error('Unexpected character "'+e[r]+'" at offset '+r);t=s,r++}}else{if(t!==u)throw new Error('Unknown parser state "'+t+'"');if(";"===e[r]||f(e[r])){r++;continue}-1===(v=e.indexOf("=",r))&&(v=e.indexOf(";",r)),-1===v&&(v=e.length);var h=c(e.slice(r,v)).toLowerCase(),y="";if('"'===e[r=p(e,r=v+1)])for(r++;r<i;){if('"'===e[r]){r++;break}"\\"===e[r]&&r++,y+=e[r],r++}else{for(var v=r+1;!o.test(e[v])&&v<i;)v++;y=e.slice(r,v),r=v}switch(a[h]&&d.isSingleOccurenceAttr(h)||("*"===h[h.length-1]?a[h]=d.parseExtendedValue(y):(y="type"===h?y.toLowerCase():y,null!=a[h]?Array.isArray(a[h])?a[h].push(y):a[h]=[a[h],y]:a[h]=y)),e[r]){case",":t=s;break;case";":t=u}r++}return null!=a&&(null!=a.rel?this.refs.push(...d.expandRelations(a)):this.refs.push(a)),a=null,this}toString(){for(var e=[],r="",t=null,n=0;n<this.refs.length;n++)t=this.refs[n],r=Object.keys(this.refs[n]).reduce(function(e,r){return"uri"===r?e:e+"; "+d.formatAttribute(r,t[r])},"<"+t.uri+">"),e.push(r);return e.join(", ")}}return d.isCompatibleEncoding=function(r){return e.test(r)},d.parse=function(e,r){return(new d).parse(e,r)},d.isSingleOccurenceAttr=function(e){return"rel"===e||"type"===e||"media"===e||"title"===e||"title*"===e},d.isTokenAttr=function(e){return"rel"===e||"type"===e||"anchor"===e},d.escapeQuotes=function(e){return e.replace(/"/g,'\\"')},d.expandRelations=function(e){return e.rel.split(" ").map(function(r){var t=Object.assign({},e);return t.rel=r,t})},d.parseExtendedValue=function(e){var r=/([^']+)?(?:'([^']*)')?(.+)/.exec(e);return{language:r[2].toLowerCase(),encoding:d.isCompatibleEncoding(r[1])?null:r[1].toLowerCase(),value:d.isCompatibleEncoding(r[1])?decodeURIComponent(r[3]):r[3]}},d.formatExtendedAttribute=function(e,r){var t=(r.encoding||"utf-8").toUpperCase();return e+"="+t+"'"+(r.language||"en")+"'"+(Buffer.isBuffer(r.value)&&d.isCompatibleEncoding(t)?r.value.toString(t):Buffer.isBuffer(r.value)?r.value.toString("hex").replace(/[0-9a-f]{2}/gi,"%$1"):encodeURIComponent(r.value))},d.formatAttribute=function(e,r){return Array.isArray(r)?r.map(r=>d.formatAttribute(e,r)).join("; "):"*"===e[e.length-1]||"string"!=typeof r?d.formatExtendedAttribute(e,r):(d.isTokenAttr(e)?r=h(r)?'"'+d.escapeQuotes(r)+'"':d.escapeQuotes(r):h(r)&&(r='"'+(r=(r=encodeURIComponent(r)).replace(/%20/g," ").replace(/%2C/g,",").replace(/%3B/g,";"))+'"'),e+"="+r)},N=d}(),W=u(M);function G(e){return e?W.parse(e).refs.map(function(e){var r=e.rel,o=e.uri,i=e.method,a=e["accept*"],s=e["params*"],l=n(e,["rel","uri","method","accept*","params*"]),u=(null==s?void 0:s.value)?JSON.parse(null==s?void 0:s.value):void 0;return new C(t({rel:r,uri:o,method:i,parameters:u,accept:null==a?void 0:a.value},l))}):[]}function Q(e){var r,o,i=e.name,s=e.href,l=e.fields,u=e.type,c=n(e,["name","href","fields","type"]),f={};if(l)try{for(var p=a(l),h=p.next();!h.done;h=p.next()){f[h.value.name]={}}}catch(e){r={error:e}}finally{try{h&&!h.done&&(o=p.return)&&o.call(p)}finally{if(r)throw r.error}}return t({rel:i,uri:s,accept:u,parameters:l&&f},c)}function V(e,r){var o=r.href;r.rel;var i=n(r,["href","rel"]);return new C(t({rel:e,uri:o},i))}function z(e,r){var o=e.handlers,i=e.defaultHandlers,a=e.headers,u=e.contentParser,c=n(e,["handlers","defaultHandlers","headers","contentParser"]),f=r||{},p=f.handlers,h=f.defaultHandlers,d=f.headers,y=f.contentParser,v=n(f,["handlers","defaultHandlers","headers","contentParser"]),b=Y(l(l([],s(p||o||[]),!1),s(h||i||[]),!1)),m=y?function(e){return y(e,u)}:u;return t(t(t({},c),v),{defaultHandlers:b,handlers:[],headers:t(t({},a),d),contentParser:m})}function K(e){return e.success}var Z=function(){function e(e){var r,t,n,o,i,s,l=e.handlers,u=e.defaultOptions,c=e.baseResponse,f=e.content,p=e.fullContent,h=e.anchor,d=e.parentOperations,y=e.parameters;this.response=c,this.anchor=h,this.parameters=y||{},this.fullContent=p||f,this.content=f,this.operations=U.create();var b=j({this:f});if(d&&h&&u){this.allOperations=d;try{for(var m=a(this.allOperations[h]||[]),w=m.next();!w.done;w=m.next()){var g=w.value;this.operations.push(new S(g,this,u,b))}}catch(e){r={error:e}}finally{try{w&&!w.done&&(t=m.return)&&t.call(m)}finally{if(r)throw r.error}}for(var O in this.allOperations)if(""!==O){var x=new v.Template(O),k=x.match(this.anchor);if(x.expand(k)===this.anchor){var A=Object.assign({},u,{parameters:Object.assign(k,u.parameters)});try{for(var E=(n=void 0,a(this.allOperations[O])),I=E.next();!I.done;I=E.next()){g=I.value;this.operations.push(new S(g,this,A,b))}}catch(e){n={error:e}}finally{try{I&&!I.done&&(o=E.return)&&o.call(E)}finally{if(n)throw n.error}}}}}else if(c&&l&&u){this.allOperations=function(e){var r,t,n,o,i,s,l,u,c=e.handlers,f=e.baseResponse,p=e.content,h=[],d=!1;try{for(var y=a(c),v=y.next();!v.done;v=y.next()){var b=v.value.handler(f,p,function(){d=!0});if(b)try{for(var m=(n=void 0,a(b)),w=m.next();!w.done;w=m.next()){var g=w.value;h.push(g)}}catch(e){n={error:e}}finally{try{w&&!w.done&&(o=m.return)&&o.call(m)}finally{if(n)throw n.error}}if(d)break}}catch(e){r={error:e}}finally{try{v&&!v.done&&(t=y.return)&&t.call(y)}finally{if(r)throw r.error}}var O={};try{for(var x=a(h),j=x.next();!j.done;j=x.next()){var k=q(g=j.value);try{for(var A=(l=void 0,a(k)),E=A.next();!E.done;E=A.next()){var I=E.value,P=I.anchor||"";O[P]||(O[P]=[]),O[P].push(I)}}catch(e){l={error:e}}finally{try{E&&!E.done&&(u=A.return)&&u.call(A)}finally{if(l)throw l.error}}}}catch(e){i={error:e}}finally{try{j&&!j.done&&(s=x.return)&&s.call(x)}finally{if(i)throw i.error}}return O}({baseResponse:c,content:f,handlers:l}),this.operations=U.create();try{for(var P=a(this.allOperations[""]||[]),T=P.next();!T.done;T=P.next()){g=T.value;var R=new S(g,this,u,b);this.operations.push(R)}}catch(e){i={error:e}}finally{try{T&&!T.done&&(s=P.return)&&s.call(P)}finally{if(i)throw i.error}}}}return e.create=function(r,t,n,o){if(t instanceof R.ProblemDocument)throw new X({response:new e({handlers:o.defaultHandlers,defaultOptions:n,baseResponse:r,content:t,parameters:o.parameters}),problem:t});if(o.validator){var i=o.validator(t);if(K(i))return new e({handlers:o.defaultHandlers,defaultOptions:n,baseResponse:r,content:i.content,parameters:o.parameters});throw new X({response:new e({handlers:o.defaultHandlers,defaultOptions:n,baseResponse:r,content:t,parameters:o.parameters}),problem:i.problem})}return new e({handlers:o.defaultHandlers,defaultOptions:n,baseResponse:r,content:t,parameters:o.parameters})},Object.defineProperty(e.prototype,"ops",{get:function(){return this.operations},enumerable:!1,configurable:!0}),e.prototype.invoke=function(e,r){return this.operations.invoke(e,r)},e.prototype.invokeAll=function(e,r){return this.operations.invokeAll(e,r)},Object.defineProperty(e.prototype,"body",{get:function(){throw new Error("Not Implemented. Use `.content` instead")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bodyUsed",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"headers",{get:function(){var e;return null===(e=this.response)||void 0===e?void 0:e.headers},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"ok",{get:function(){return!!this.response&&this.response.ok},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"redirected",{get:function(){return!!this.response&&this.response.redirected},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"status",{get:function(){var e;return null===(e=this.response)||void 0===e?void 0:e.status},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"statusText",{get:function(){var e;return null===(e=this.response)||void 0===e?void 0:e.statusText},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){var e;return null===(e=this.response)||void 0===e?void 0:e.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){var e;return null===(e=this.response)||void 0===e?void 0:e.url},enumerable:!1,configurable:!0}),e.prototype.arrayBuffer=function(){throw new Error("Not Implemented. Use `.content` instead")},e.prototype.blob=function(){throw new Error("Not Implemented. Use `.content` instead")},e.prototype.clone=function(){throw new Error("Not Implemented")},e.prototype.formData=function(){throw new Error("Not Implemented. Use `.content` instead")},e.prototype.text=function(){throw new Error("Not Implemented. Use `.content` instead")},e}(),X=function(e){function t(r){var t=this.constructor,n=r.response,o=r.problem,i=e.call(this,o.detail)||this,a=t.prototype;return Object.setPrototypeOf?Object.setPrototypeOf(i,a):i.__proto__=a,i.problem=o,i.response=n,i}return r(t,e),t}(Error);function Y(e){return e.sort(function(e,r){return(r.q||1)-(e.q||1)})}function ee(e,r,n){var u;return o(this,void 0,void 0,function(){var o,c,f,p,h,d,y,v,b,m,w,g,O,x,j,k,A,E,I,P,T,C,S,U,_;return i(this,function(i){switch(i.label){case 0:if(o=z(r,n),c=o.defaultHandlers,!o.fetch)throw new Error("No global fetch and fetch not provided in options");f=function(e){var r,t,n,o,i=[];try{for(var s=a(e),l=s.next();!l.done;l=s.next()){var u=l.value;try{for(var c=(n=void 0,a(u.mediaRanges)),f=c.next();!f.done;f=c.next()){var p=f.value;"object"==typeof p?u.q?i.push({type:p.mediaType,q:u.q*(p.q||1)}):i.push({type:p.mediaType,q:p.q||1}):u.q?i.push({type:p,q:u.q}):i.push({type:p,q:1})}}catch(e){n={error:e}}finally{try{f&&!f.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}}}catch(e){r={error:e}}finally{try{l&&!l.done&&(t=s.return)&&t.call(s)}finally{if(r)throw r.error}}var h=i.sort(function(e,r){return e.q-r.q}),d=new Set;return h.filter(function(e){var r=e.type;return!d.has(r)&&d.add(r)})}(c),p=f.map(function(e){return 1===e.q?e.type:"".concat(e.type,";q=").concat(e.q)}),h=(null===(u=null==n?void 0:n.headers)||void 0===u?void 0:u.accept)?[n.headers.accept]:[],d=l(l([],s(h),!1),s(p),!1).join(","),y=t(t({},o),{headers:t(t({},o.headers),{accept:d})}),v=!1;try{for(b=a(y.preInterceptors||[]),m=b.next();!m.done&&((0,m.value)(e,y,function(){return v=!0}),!v);m=b.next());}catch(e){P={error:e}}finally{try{m&&!m.done&&(T=b.return)&&T.call(b)}finally{if(P)throw P.error}}return[4,o.fetch(e.toString(),y)];case 1:w=i.sent(),i.label=2;case 2:return i.trys.push([2,4,,5]),[4,o.contentParser(w)];case 3:g=i.sent(),k=Z.create(w,g,r,o),v=!1;try{for(O=a(y.postInterceptors),x=O.next();!x.done&&((0,x.value)(k,function(){return v=!0}),!v);x=O.next());}catch(e){C={error:e}}finally{try{x&&!x.done&&(S=O.return)&&S.call(O)}finally{if(C)throw C.error}}return[2,k];case 4:j=i.sent(),k=new Z({handlers:o.defaultHandlers,defaultOptions:r,baseResponse:w,content:j,parameters:o.parameters}),A=j instanceof R.ProblemDocument?new X({response:k,problem:j}):new X({response:k,problem:new R.ProblemDocument({type:"https://waychaser.io/unexected-error",title:"An unexpected error occurred",error:j})}),v=!1;try{for(E=a(y.postErrorInterceptors),I=E.next();!I.done&&((0,I.value)(A,function(){return v=!0}),!v);I=E.next());}catch(e){U={error:e}}finally{try{I&&!I.done&&(_=E.return)&&_.call(E)}finally{if(U)throw U.error}}throw A;case 5:return[2]}})})}var re={fetch:"undefined"==typeof globalThis?null===(B="undefined"!=typeof globalThis||"undefined"!=typeof globalThis||"undefined"!=typeof globalThis?globalThis:void 0)||void 0===B?void 0:B.fetch:null===(J=globalThis.fetch)||void 0===J?void 0:J.bind(globalThis),handlers:[],defaultHandlers:Y([{handler:function(e){var r=null==e?void 0:e.headers.get("location");return r?[new C({rel:"related",uri:r})]:[]},mediaRanges:["*/*"],q:.4},{handler:function(e,r,t){return l(l([],s(G(e.headers.get("link"))),!1),s(G(e.headers.get("link-template"))),!1)},mediaRanges:["*/*"],q:.5},{handler:function(e,r){var t,n,o,i,s,l,u,c=[],f=null===(u=e.headers.get("content-type"))||void 0===u?void 0:u.split(";");if((null==f?void 0:f[0])===F&&r&&"object"==typeof r&&"_links"in r){var p=r,h={};if(p._links.curies)if(Array.isArray(p._links.curies))try{for(var d=a(p._links.curies),y=d.next();!y.done;y=d.next()){var v=y.value;h[v.name]=v.href}}catch(e){t={error:e}}finally{try{y&&!y.done&&(n=d.return)&&n.call(d)}finally{if(t)throw t.error}}else h[p._links.curies.name]=p._links.curies.href;try{for(var b=a(Object.keys(p._links).filter(function(e){return"curies"!==e})),m=b.next();!m.done;m=b.next()){var w=m.value;if(Array.isArray(p._links[w]))try{for(var g=(s=void 0,a(p._links[w])),O=g.next();!O.done;O=g.next()){var x=O.value;c.push($(w,x,h))}}catch(e){s={error:e}}finally{try{O&&!O.done&&(l=g.return)&&l.call(g)}finally{if(s)throw s.error}}else c.push($(w,p._links[w],h))}}catch(e){o={error:e}}finally{try{m&&!m.done&&(i=b.return)&&i.call(b)}finally{if(o)throw o.error}}}return c},mediaRanges:[F],q:.5},{handler:function(e,r){var t,n=null===(t=e.headers.get("content-type"))||void 0===t?void 0:t.split(";");return(null==n?void 0:n[0])===L?l(l([],s(function(e){var r,t,n,o,i=[];if(e&&"object"==typeof e&&"links"in e){var s=e;if(s.links)try{for(var l=a(s.links),u=l.next();!u.done;u=l.next()){var c=u.value;try{for(var f=(n=void 0,a(c.rel)),p=f.next();!p.done;p=f.next()){var h=V(p.value,c);i.push(h)}}catch(e){n={error:e}}finally{try{p&&!p.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}}}catch(e){r={error:e}}finally{try{u&&!u.done&&(t=l.return)&&t.call(l)}finally{if(r)throw r.error}}}return i}(r)),!1),s(function(e){var r,t,n=[];if(e&&"object"==typeof e&&"actions"in e){var o=e;if(o.actions)try{for(var i=a(o.actions),s=i.next();!s.done;s=i.next()){var l=Q(s.value);n.push(l)}}catch(e){r={error:e}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(r)throw r.error}}}return n}(r)),!1):[]},mediaRanges:[L],q:.5}]),preInterceptors:[],postInterceptors:[],postErrorInterceptors:[],contentParser:function(e){return o(void 0,void 0,void 0,function(){var r,t,n,o,a;return i(this,function(i){switch(i.label){case 0:return e.headers.get("content-length")&&"0"!==e.headers.get("content-length")?[4,e.text()]:[3,2];case 1:if(r=i.sent(),null==(t=null===(a=null===(o=e.headers.get("content-type"))||void 0===o?void 0:o.split(";"))||void 0===a?void 0:a[0])?void 0:t.endsWith("json")){if(n=function(e,r){try{return JSON.parse(e)}catch(t){throw new R.ProblemDocument({type:"https://waychaser.io/invalid-json",title:"JSON response could not be parsed",detail:"The response document with content type '".concat(r,"' could not be parsed as json"),content:e,error:t})}}(r,t),"application/problem+json"===t)throw Object.assign(new R.ProblemDocument(n),n);return[2,n]}i.label=2;case 2:return[2]}})})}};function te(e,r){var t=z(r,e),n=function(e,r){return ee(e,t,r)};return n.currentDefaults=t,n.defaults=function(e){return te(e,t)},n}var ne=Object.assign(function(e,r){return ee(e,re,r)},{currentDefaults:re,defaults:function(e){return te(e,re)}});export{X as WayChaserProblem,Z as WayChaserResponse,ee as _waychaser,K as isValidationSuccess,Y as sortHandlers,ne as waychaser};
1
+ var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};function r(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var o in r=arguments[t])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},t.apply(this,arguments)};function n(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)r.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(t[n[o]]=e[n[o]])}return t}function o(e,r,t,n){return new(t||(t=Promise))(function(o,a){function i(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t(function(e){e(r)})).then(i,s)}l((n=n.apply(e,r||[])).next())})}function a(e,r){var t,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=s(0),i.throw=s(1),i.return=s(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(t=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=r.call(e,a)}catch(e){s=[6,e],n=0}finally{t=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}function i(e){var r="function"==typeof Symbol&&Symbol.iterator,t=r&&e[r],n=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function s(e,r){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,o,a=t.call(e),i=[];try{for(;(void 0===r||r-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(t=a.return)&&t.call(a)}finally{if(o)throw o.error}}return i}function l(e,r,t){if(t||2===arguments.length)for(var n,o=0,a=r.length;o<a;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}"function"==typeof SuppressedError&&SuppressedError;var c,f={exports:{}};var p,h,d=(c||(c=1,function(){f.exports=function(e,n){var a=this,s=Object.assign({decoder:i},n),l=0,c={},f="",p="^"+e.replace(o,function(e,t,n){if(!n)return y(e);var o=r[t]||t,a=";"==o||"&"==o;return n.split(",").map(function(e,r){var n=e.split(/[*:]/),i=n[0],s=(c[i]||"(")+".*?)";return l++,n[1]&&(s="((?:%..|.){1,"+n[1]+"})",c[i]="(\\"+l),f+="t=($["+l+"]||'').split('"+(n[1]?a?o+i+"=":o:",")+"').map(d);",f+='o["'+i+'"]='+(""===n[1]?"t;":"t.length>1?t:t[0];"),s=y(0===r?"+"===t?"":t:o)+(a?y(i)+"(?:="+s+")?":s),""===n[1]?"(?:"+s+")?":s}).join("")})+"$",h=RegExp(p),d=Function("$,d","var t,o={};"+f+"return o");function y(e){return e.replace(t,"\\$&")}a.template=e,a.match=function(e){var r=h.exec(e);return r&&d(r,s.decoder)},a.expand=function(r){return u(e,r,s)}},f.exports.expand=u;var e=/[!'()]/g,r={"":",","+":",","#":",","?":"&"},t=/[$-/?[-^{|}]/g,n=/\{([#&+./;?]?)((?:[-\w%.]+(\*|:\d+)?(?:,|(?=})))+)\}/g,o=RegExp(n.source+"|.[^{]*?","g");function a(r){return encodeURIComponent(r).replace(e,escape)}function i(e){try{return decodeURIComponent(e)}catch(r){return e}}function s(e){return null!=e}function l(e,r,t){return(e=e.map(r).filter(s)).length&&e.join(t)}function u(e,t,o){return e.replace(n,function(e,n,i){var s=r[n]||n,u=";"==s||"&"==s,c=n&&","==s?encodeURI:o&&o.encoder||a,f=l(i.split(","),function(e){var r=e.split(/[*:]/),n=r[0],o=t[n];if(null!=o){if("object"==typeof o){if(r=n!=e,Array.isArray(o)?o=l(o,c,r?u?s+n+"=":s:","):(o=l(Object.keys(o),function(e){return c(e)+(r?"=":",")+c(o[e])},r&&(u||"/"==s)?s:","),r&&(u=0)),!o)return}else o=c(r[1]?o.slice(0,r[1]):o);return u?n+(o||"&"==s?"="+o:o):o}},s);return f||""===f?"+"!=n?n+f:f:""})}}()),f.exports),y=u(d),v={Template:y,expand:d.expand,parameters:function(e){return new y(e).match(e)}};var b,m,w=u(function(){if(h)return p;h=1;var e=Object.prototype.hasOwnProperty;return p=function r(t,n){var o=[];for(var a in t)if(e.call(t,a)){var i,s=t[a],l=encodeURIComponent(a);i="object"==typeof s?r(s,n?n+"["+l+"]":l):(n?n+"["+l+"]":l)+"="+encodeURIComponent(s),o.push(i)}return o.join("&")}}());var g=u(m?b:(m=1,b="object"==typeof self?self.FormData:window.FormData));function O(e,r,t){if(e){var n=function(e){return e.split(",").map(function(e){var r,t,n=e.split(";"),o=n.shift(),a=null==o?void 0:o.split("/"),s={type:o,parentType:null==a?void 0:a[0],subType:null==a?void 0:a[1],q:1};try{for(var l=i(n),u=l.next();!u.done;u=l.next()){var c=u.value,f=c.split("=");"q"===c[0]&&(s[f[0]]=Number.parseFloat(f[1]))}}catch(e){r={error:e}}finally{try{u&&!u.done&&(t=l.return)&&t.call(l)}finally{if(r)throw r.error}}return s}).sort(function(e,r){return e.q>r.q?-1:e.q<r.q||"*"===e.parentType&&"*"!==r.parentType?1:"*"!==e.parentType&&"*"===r.parentType?-1:"*"===e.subType&&"*"!==r.subType?1:"*"!==e.subType&&"*"===r.subType?-1:0}).map(function(e){return{type:e.type||""}}).filter(function(e){return""!==e.type})}(e);return n.find(function(e){return r.includes(e.type)}).type}return t}function x(e){return e}function j(e,r){const t=(r=r||{}).delimiter||".",n=r.maxDepth,o=r.transformKey||x,a={};return function e(i,s,l){l=l||1,Object.keys(i).forEach(function(u){const c=i[u],f=r.safe&&Array.isArray(c),p=Object.prototype.toString.call(c),h=(d=c)&&d.constructor&&"function"==typeof d.constructor.isBuffer&&d.constructor.isBuffer(d);var d;const y="[object Object]"===p||"[object Array]"===p,v=s?s+t+o(u):o(u);if(!f&&!h&&y&&Object.keys(c).length&&(!r.maxDepth||l<n))return e(c,v,l+1);a[v]=c})}(e),a}var k,A={};var E=function(){if(k)return A;k=1;var e=/~/,r=/~[01]/g;function t(e){switch(e){case"~1":return"/";case"~0":return"~"}throw new Error("Invalid tilde escape: "+e)}function n(n){return e.test(n)?n.replace(r,t):n}function o(e){if("string"==typeof e){if(""===(e=e.split("/"))[0])return e;throw new Error("Invalid JSON pointer.")}if(Array.isArray(e)){for(const r of e)if("string"!=typeof r&&"number"!=typeof r)throw new Error("Invalid JSON pointer. Must be of type string or number.");return e}throw new Error("Invalid JSON pointer.")}function a(e,r){if("object"!=typeof e)throw new Error("Invalid input object.");var t=(r=o(r)).length;if(1===t)return e;for(var a=1;a<t;){if(e=e[n(r[a++])],t===a)return e;if("object"!=typeof e||null===e)return}}function i(e,r,t){if("object"!=typeof e)throw new Error("Invalid input object.");if(0===(r=o(r)).length)throw new Error("Invalid JSON pointer for set.");return function(e,r,t){for(var o,a,i=1,s=r.length;i<s;){if("constructor"===r[i]||"prototype"===r[i]||"__proto__"===r[i])return e;if(o=n(r[i++]),a=s>i,void 0===e[o]&&(Array.isArray(e)&&"-"===o&&(o=e.length),a&&(""!==r[i]&&r[i]<1/0||"-"===r[i]?e[o]=[]:e[o]={})),!a)break;e=e[o]}var l=e[o];return void 0===t?delete e[o]:e[o]=t,l}(e,r,t)}return A.get=a,A.set=i,A.compile=function(e){var r=o(e);return{get:function(e){return a(e,r)},set:function(e,t){return i(e,r,t)}}},A}(),P=u(E);var I,C={};var T=(I||(I=1,Object.defineProperty(C,"__esModule",{value:!0}),C.ProblemDocument=void 0,C.ProblemDocument=class{constructor(e){Object.assign(this,e)}}),C),R=function(e){var r=e.rel,t=e.uri,o=e.method,a=e.parameters,i=e.accept,s=e.anchor,l=n(e,["rel","uri","method","parameters","accept","anchor"]);this.rel=r,this.uri=t,this.method=o,this.parameters=a||{},this.accept=i,this.anchor=s,Object.assign(this,l)},S=function(e){function t(r,t,n,o){var a=e.call(this,r)||this;return a.response=t,a.defaultOptions=n,a.uri.includes("{this.")&&(a.uri=v.expand(a.uri,o)),a}return r(t,e),t.prototype.invokeAsFragment=function(e,r){if(this.uri.startsWith("#/")){var t=this.expandUrl(e).toString(),n=this.response.fullContent&&P.get(this.response.fullContent,t.slice(1));if(void 0===n)return;if(r){var o=r(n);if(K(o))return new Z({defaultOptions:this.defaultOptions,baseResponse:this.response.response,content:o.content,fullContent:this.response.fullContent,anchor:t,parentOperations:this.response.allOperations,parameters:e});throw new X({problem:o.problem,response:new Z({defaultOptions:this.defaultOptions,baseResponse:this.response.response,content:n,fullContent:this.response.fullContent,parameters:e})})}return new Z({defaultOptions:this.defaultOptions,baseResponse:this.response.response,content:n,fullContent:this.response.fullContent,anchor:t,parentOperations:this.response.allOperations,parameters:e})}},t.prototype.invokeAll=function(e){return o(this,void 0,void 0,function(){var r;return a(this,function(t){return this.uri.startsWith("#/")&&this.response instanceof Z?(r=this.doInvokeAll((null==e?void 0:e.parameters)||{}),[2,Promise.all(r)]):[2,this.invoke(e).then(function(e){return[e]})]})})},t.prototype.doInvokeAll=function(e,r){var t=this,n=this.response,o=new v.Template(this.uri),a=Object.assign(v.parameters(this.uri),e),i=o.expand(a).replaceAll("%7B","{").replaceAll("%7D","}"),u=v.parameters(i),c=Object.keys(u);if(0===c.length)return[this.invokeAsFragment(e,r)];var f=u[c[0]],p=i.slice(1,i.indexOf(f)-1),h=""===p?n.content:P.get(n.content,p);if(h)return(Array.isArray(h)?l([],s(Array.from({length:h.length}).keys()),!1):Object.keys(h)).flatMap(function(n){var o,a=Object.assign({},e,((o={})[c[0]]=n,o));return t.doInvokeAll(a,r)});throw new X({response:this.response,problem:new T.ProblemDocument({type:"https://waychaser.io/fragment-uri-error",title:"The fragment URI does not match the content structure",uri:p,content:n.content,parameters:e})})},t.prototype.invoke=function(e){return o(this,void 0,void 0,function(){var r,t,n,o,s,l,u,c,f,p,h,d,y,v,b,m,x,j;return a(this,function(a){if(this.uri.startsWith("#/"))return[2,this.invokeAsFragment(null==e?void 0:e.parameters)];if(r=this.parameters||{},t=Object.assign({},this.defaultOptions.parameters,null==e?void 0:e.parameters),n=this.url(t),o={},Array.isArray(r))try{for(s=i(r),l=s.next();!l.done;l=s.next())f=l.value,o[f]=null==t?void 0:t[f]}catch(e){b={error:e}}finally{try{l&&!l.done&&(m=s.return)&&m.call(s)}finally{if(b)throw b.error}}else try{for(u=i(Object.keys(r)),c=u.next();!c.done;c=u.next())f=c.value,o[f]=null==t?void 0:t[f]}catch(e){x={error:e}}finally{try{c&&!c.done&&(j=u.return)&&j.call(u)}finally{if(x)throw x.error}}if(p=void 0,h={},(d=Object.assign({},e)).method=this.method,0!==Object.keys(this.parameters).length&&(k=this.method||"GET",!["GET","DELETE","TRACE","OPTIONS","HEAD"].includes(k))){switch(y=O(this.accept,["application/x-www-form-urlencoded","application/json","multipart/form-data"],"application/x-www-form-urlencoded")){case"application/x-www-form-urlencoded":p=w(o);break;case"application/json":p=JSON.stringify(o);break;case"multipart/form-data":for(v in p=new g,o)p.append(v,o[v])}"multipart/form-data"!==y&&(h={"content-type":y}),d.body=p,d.headers=Object.assign(h,null==e?void 0:e.headers)}return[2,ee(n.toString(),this.defaultOptions,d)];var k})})},t.prototype.url=function(e){var r=this.expandUrl(e);return new URL(r,this.response.url)},t.prototype.expandUrl=function(e){return v.expand(this.uri,j(e||{}))},t}(R),_=function(e){function t(r){return e.apply(this,l([],s(r||[]),!1))||this}return r(t,e),t.create=function(){return Object.create(t.prototype)},t.prototype.find=function(e,r){var t=Array.prototype.find.bind(this);return t("string"==typeof e?q({rel:e}):"object"==typeof e?q(e):e,r)},t.prototype.filter=function(e,r){if("string"==typeof e)return this.filter({rel:e},r);if("object"==typeof e)return this.filter(q(e),r);var n=Array.prototype.filter.bind(this)(e);return Object.setPrototypeOf(n,t.prototype),n},t.prototype.invoke=function(e,r){var t=this.find(e);return t?t.invoke(r):void 0},t.prototype.invokeAll=function(e,r){var t=this.filter(e);return Promise.all(t.map(function(e){return e.invokeAll(r)})).then(function(e){return e.flat()})},t}(Array);function q(e){return function(r){for(var t in e)if(e[t]!==r[t])return!1;return!0}}function U(e){var r,t,n,o,a=[],s=/{\[(\d+)..(\d+)]}/,l=e.uri.toString(),u=l.match(s);if(u)for(var c=Number.parseInt(u[1]);c<=Number.parseInt(u[2]);++c){var f=U(new R(Object.assign(e,{uri:l.replace(s,c.toFixed(0))})));try{for(var p=(r=void 0,i(f)),h=p.next();!h.done;h=p.next()){var d=h.value;a.push(d)}}catch(e){r={error:e}}finally{try{h&&!h.done&&(t=p.return)&&t.call(p)}finally{if(r)throw r.error}}}else{var y=e.anchor,v=null==y?void 0:y.match(s);if(y&&v)for(c=Number.parseInt(v[1]);c<=Number.parseInt(v[2]);++c){f=U(new R(Object.assign(e,{anchor:y.replace(s,c.toFixed(0))})));try{for(var b=(n=void 0,i(f)),m=b.next();!m.done;m=b.next()){var w=m.value;a.push(w)}}catch(e){n={error:e}}finally{try{m&&!m.done&&(o=b.return)&&o.call(b)}finally{if(n)throw n.error}}}else a.push(e)}return a}var N,D,F="application/hal+json",L="application/vnd.siren+json";function H(e,r){var t=e.split(/:(.+)/);if(t.length>1){var n=s(t,2),o=n[0],a=n[1];return r[o]?v.expand(r[o],{rel:a}):e}return e}function $(e,r,o){var a=r.href;r.templated;var i=n(r,["href","templated"]);return new R(t({rel:H(e,o),uri:a},i))}var B,J,M=function(){if(D)return N;D=1;var e=/^utf-?8|ascii|utf-?16-?le|ucs-?2|base-?64|latin-?1$/i,r=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/\s|\uFEFF|\xA0/,n=/\r?\n[\x20\x09]+/g,o=/[;,"]/,a=/[;,"]|\s/,i=/^[!#$%&'*+\-\.^_`|~\da-zA-Z]+$/,s=1,l=2,u=4;function c(e){return e.replace(r,"")}function f(e){return t.test(e)}function p(e,r){for(;f(e[r]);)r++;return r}function h(e){return a.test(e)||!i.test(e)}class d{constructor(e){this.refs=[],e&&this.parse(e)}rel(e){for(var r=[],t=e.toLowerCase(),n=0;n<this.refs.length;n++)"string"==typeof this.refs[n].rel&&this.refs[n].rel.toLowerCase()===t&&r.push(this.refs[n]);return r}get(e,r){e=e.toLowerCase(),r=r.toLowerCase();for(var t=[],n=0;n<this.refs.length;n++)"string"==typeof this.refs[n][e]&&this.refs[n][e].toLowerCase()===r&&t.push(this.refs[n]);return t}set(e){return this.refs.push(e),this}setUnique(e){return this.refs.some(r=>{return t=r,n=e,Object.keys(t).length===Object.keys(n).length&&Object.keys(t).every(e=>e in n&&t[e]===n[e]);var t,n})||this.refs.push(e),this}has(e,r){e=e.toLowerCase(),r=r.toLowerCase();for(var t=0;t<this.refs.length;t++)if("string"==typeof this.refs[t][e]&&this.refs[t][e].toLowerCase()===r)return!0;return!1}parse(e,r){e=c(e=(r=r||0)?e.slice(r):e).replace(n,"");for(var t=s,a=e.length,i=(r=0,null);r<a;)if(t===s){if(f(e[r])){r++;continue}if("<"!==e[r])throw new Error('Unexpected character "'+e[r]+'" at offset '+r);if(null!=i&&(null!=i.rel?this.refs.push(...d.expandRelations(i)):this.refs.push(i)),-1===(v=e.indexOf(">",r)))throw new Error("Expected end of URI delimiter at offset "+r);i={uri:e.slice(r+1,v)},r=v,t=l,r++}else if(t===l){if(f(e[r])){r++;continue}if(";"===e[r])t=u,r++;else{if(","!==e[r])throw new Error('Unexpected character "'+e[r]+'" at offset '+r);t=s,r++}}else{if(t!==u)throw new Error('Unknown parser state "'+t+'"');if(";"===e[r]||f(e[r])){r++;continue}-1===(v=e.indexOf("=",r))&&(v=e.indexOf(";",r)),-1===v&&(v=e.length);var h=c(e.slice(r,v)).toLowerCase(),y="";if('"'===e[r=p(e,r=v+1)])for(r++;r<a;){if('"'===e[r]){r++;break}"\\"===e[r]&&r++,y+=e[r],r++}else{for(var v=r+1;!o.test(e[v])&&v<a;)v++;y=e.slice(r,v),r=v}switch(i[h]&&d.isSingleOccurenceAttr(h)||("*"===h[h.length-1]?i[h]=d.parseExtendedValue(y):(y="type"===h?y.toLowerCase():y,null!=i[h]?Array.isArray(i[h])?i[h].push(y):i[h]=[i[h],y]:i[h]=y)),e[r]){case",":t=s;break;case";":t=u}r++}return null!=i&&(null!=i.rel?this.refs.push(...d.expandRelations(i)):this.refs.push(i)),i=null,this}toString(){for(var e=[],r="",t=null,n=0;n<this.refs.length;n++)t=this.refs[n],r=Object.keys(this.refs[n]).reduce(function(e,r){return"uri"===r?e:e+"; "+d.formatAttribute(r,t[r])},"<"+t.uri+">"),e.push(r);return e.join(", ")}}return d.isCompatibleEncoding=function(r){return e.test(r)},d.parse=function(e,r){return(new d).parse(e,r)},d.isSingleOccurenceAttr=function(e){return"rel"===e||"type"===e||"media"===e||"title"===e||"title*"===e},d.isTokenAttr=function(e){return"rel"===e||"type"===e||"anchor"===e},d.escapeQuotes=function(e){return e.replace(/"/g,'\\"')},d.expandRelations=function(e){return e.rel.split(" ").map(function(r){var t=Object.assign({},e);return t.rel=r,t})},d.parseExtendedValue=function(e){var r=/([^']+)?(?:'([^']*)')?(.+)/.exec(e);return{language:r[2].toLowerCase(),encoding:d.isCompatibleEncoding(r[1])?null:r[1].toLowerCase(),value:d.isCompatibleEncoding(r[1])?decodeURIComponent(r[3]):r[3]}},d.formatExtendedAttribute=function(e,r){var t=(r.encoding||"utf-8").toUpperCase();return e+"="+t+"'"+(r.language||"en")+"'"+(Buffer.isBuffer(r.value)&&d.isCompatibleEncoding(t)?r.value.toString(t):Buffer.isBuffer(r.value)?r.value.toString("hex").replace(/[0-9a-f]{2}/gi,"%$1"):encodeURIComponent(r.value))},d.formatAttribute=function(e,r){return Array.isArray(r)?r.map(r=>d.formatAttribute(e,r)).join("; "):"*"===e[e.length-1]||"string"!=typeof r?d.formatExtendedAttribute(e,r):(d.isTokenAttr(e)?r=h(r)?'"'+d.escapeQuotes(r)+'"':d.escapeQuotes(r):h(r)&&(r='"'+(r=(r=encodeURIComponent(r)).replace(/%20/g," ").replace(/%2C/g,",").replace(/%3B/g,";"))+'"'),e+"="+r)},N=d}(),W=u(M);function G(e){return e?W.parse(e).refs.map(function(e){var r=e.rel,o=e.uri,a=e.method,i=e["accept*"],s=e["params*"],l=n(e,["rel","uri","method","accept*","params*"]),u=(null==s?void 0:s.value)?JSON.parse(null==s?void 0:s.value):void 0;return new R(t({rel:r,uri:o,method:a,parameters:u,accept:null==i?void 0:i.value},l))}):[]}function Q(e){var r,o,a=e.name,s=e.href,l=e.fields,u=e.type,c=n(e,["name","href","fields","type"]),f={};if(l)try{for(var p=i(l),h=p.next();!h.done;h=p.next()){f[h.value.name]={}}}catch(e){r={error:e}}finally{try{h&&!h.done&&(o=p.return)&&o.call(p)}finally{if(r)throw r.error}}return t({rel:a,uri:s,accept:u,parameters:l&&f},c)}function V(e,r){var o=r.href;r.rel;var a=n(r,["href","rel"]);return new R(t({rel:e,uri:o},a))}function z(e,r){var o=e.handlers,a=e.defaultHandlers,i=e.headers,u=e.contentParser,c=n(e,["handlers","defaultHandlers","headers","contentParser"]),f=r||{},p=f.handlers,h=f.defaultHandlers,d=f.headers,y=f.contentParser,v=n(f,["handlers","defaultHandlers","headers","contentParser"]),b=Y(l(l([],s(p||o||[]),!1),s(h||a||[]),!1)),m=y?function(e){return y(e,u)}:u;return t(t(t({},c),v),{defaultHandlers:b,handlers:[],headers:t(t({},i),d),contentParser:m})}function K(e){return e.success}var Z=function(){function e(e){var r,t,n,o,a,s,l=e.handlers,u=e.defaultOptions,c=e.baseResponse,f=e.content,p=e.fullContent,h=e.anchor,d=e.parentOperations,y=e.parameters;this.response=c,this.anchor=h,this.parameters=y||{},this.fullContent=p||f,this.content=f,this.operations=_.create();var b=j({this:f});if(d&&h&&u){this.allOperations=d;try{for(var m=i(this.allOperations[h]||[]),w=m.next();!w.done;w=m.next()){var g=w.value;this.operations.push(new S(g,this,u,b))}}catch(e){r={error:e}}finally{try{w&&!w.done&&(t=m.return)&&t.call(m)}finally{if(r)throw r.error}}for(var O in this.allOperations)if(""!==O){var x=new v.Template(O),k=x.match(this.anchor);if(x.expand(k)===this.anchor){var A=Object.assign({},u,{parameters:Object.assign(k,u.parameters)});try{for(var E=(n=void 0,i(this.allOperations[O])),P=E.next();!P.done;P=E.next()){g=P.value;this.operations.push(new S(g,this,A,b))}}catch(e){n={error:e}}finally{try{P&&!P.done&&(o=E.return)&&o.call(E)}finally{if(n)throw n.error}}}}}else if(c&&l&&u){this.allOperations=function(e){var r,t,n,o,a,s,l,u,c=e.handlers,f=e.baseResponse,p=e.content,h=[],d=!1;try{for(var y=i(c),v=y.next();!v.done;v=y.next()){var b=v.value.handler(f,p,function(){d=!0});if(b)try{for(var m=(n=void 0,i(b)),w=m.next();!w.done;w=m.next()){var g=w.value;h.push(g)}}catch(e){n={error:e}}finally{try{w&&!w.done&&(o=m.return)&&o.call(m)}finally{if(n)throw n.error}}if(d)break}}catch(e){r={error:e}}finally{try{v&&!v.done&&(t=y.return)&&t.call(y)}finally{if(r)throw r.error}}var O={};try{for(var x=i(h),j=x.next();!j.done;j=x.next()){var k=U(g=j.value);try{for(var A=(l=void 0,i(k)),E=A.next();!E.done;E=A.next()){var P=E.value,I=P.anchor||"";O[I]||(O[I]=[]),O[I].push(P)}}catch(e){l={error:e}}finally{try{E&&!E.done&&(u=A.return)&&u.call(A)}finally{if(l)throw l.error}}}}catch(e){a={error:e}}finally{try{j&&!j.done&&(s=x.return)&&s.call(x)}finally{if(a)throw a.error}}return O}({baseResponse:c,content:f,handlers:l}),this.operations=_.create();try{for(var I=i(this.allOperations[""]||[]),C=I.next();!C.done;C=I.next()){g=C.value;var T=new S(g,this,u,b);this.operations.push(T)}}catch(e){a={error:e}}finally{try{C&&!C.done&&(s=I.return)&&s.call(I)}finally{if(a)throw a.error}}}}return e.create=function(r,t,n,o){if(t instanceof T.ProblemDocument)throw new X({response:new e({handlers:o.defaultHandlers,defaultOptions:n,baseResponse:r,content:t,parameters:o.parameters}),problem:t});if(o.validator){var a=o.validator(t);if(K(a))return new e({handlers:o.defaultHandlers,defaultOptions:n,baseResponse:r,content:a.content,parameters:o.parameters});throw new X({response:new e({handlers:o.defaultHandlers,defaultOptions:n,baseResponse:r,content:t,parameters:o.parameters}),problem:a.problem})}return new e({handlers:o.defaultHandlers,defaultOptions:n,baseResponse:r,content:t,parameters:o.parameters})},Object.defineProperty(e.prototype,"ops",{get:function(){return this.operations},enumerable:!1,configurable:!0}),e.prototype.invoke=function(e,r){return this.operations.invoke(e,r)},e.prototype.invokeAll=function(e,r){return this.operations.invokeAll(e,r)},Object.defineProperty(e.prototype,"body",{get:function(){throw new Error("Not Implemented. Use `.content` instead")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bodyUsed",{get:function(){return!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"headers",{get:function(){var e;return null===(e=this.response)||void 0===e?void 0:e.headers},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"ok",{get:function(){return!!this.response&&this.response.ok},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"redirected",{get:function(){return!!this.response&&this.response.redirected},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"status",{get:function(){var e;return null===(e=this.response)||void 0===e?void 0:e.status},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"statusText",{get:function(){var e;return null===(e=this.response)||void 0===e?void 0:e.statusText},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){var e;return null===(e=this.response)||void 0===e?void 0:e.type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){var e;return null===(e=this.response)||void 0===e?void 0:e.url},enumerable:!1,configurable:!0}),e.prototype.arrayBuffer=function(){throw new Error("Not Implemented. Use `.content` instead")},e.prototype.blob=function(){throw new Error("Not Implemented. Use `.content` instead")},e.prototype.clone=function(){throw new Error("Not Implemented")},e.prototype.formData=function(){throw new Error("Not Implemented. Use `.content` instead")},e.prototype.text=function(){throw new Error("Not Implemented. Use `.content` instead")},e}(),X=function(e){function t(r){var t=this.constructor,n=r.response,o=r.problem,a=e.call(this,o.detail)||this,i=t.prototype;return Object.setPrototypeOf?Object.setPrototypeOf(a,i):a.__proto__=i,a.problem=o,a.response=n,a}return r(t,e),t}(Error);function Y(e){return e.sort(function(e,r){return(r.q||1)-(e.q||1)})}function ee(e,r,n){var u;return o(this,void 0,void 0,function(){var o,c,f,p,h,d,y,v,b,m,w,g,O,x,j,k,A,E,P,I,C,R,S,_,q;return a(this,function(a){switch(a.label){case 0:if(o=z(r,n),c=o.defaultHandlers,!o.fetch)throw new Error("No global fetch and fetch not provided in options");f=function(e){var r,t,n,o,a=[];try{for(var s=i(e),l=s.next();!l.done;l=s.next()){var u=l.value;try{for(var c=(n=void 0,i(u.mediaRanges)),f=c.next();!f.done;f=c.next()){var p=f.value;"object"==typeof p?u.q?a.push({type:p.mediaType,q:u.q*(p.q||1)}):a.push({type:p.mediaType,q:p.q||1}):u.q?a.push({type:p,q:u.q}):a.push({type:p,q:1})}}catch(e){n={error:e}}finally{try{f&&!f.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}}}catch(e){r={error:e}}finally{try{l&&!l.done&&(t=s.return)&&t.call(s)}finally{if(r)throw r.error}}var h=a.sort(function(e,r){return e.q-r.q}),d=new Set;return h.filter(function(e){var r=e.type;return!d.has(r)&&d.add(r)})}(c),p=f.map(function(e){return 1===e.q?e.type:"".concat(e.type,";q=").concat(e.q)}),h=(null===(u=null==n?void 0:n.headers)||void 0===u?void 0:u.accept)?[n.headers.accept]:[],d=l(l([],s(h),!1),s(p),!1).join(","),y=t(t({},o),{headers:t(t({},o.headers),{accept:d})}),v=!1;try{for(b=i(y.preInterceptors||[]),m=b.next();!m.done&&((0,m.value)(e,y,function(){return v=!0}),!v);m=b.next());}catch(e){I={error:e}}finally{try{m&&!m.done&&(C=b.return)&&C.call(b)}finally{if(I)throw I.error}}return[4,o.fetch(e.toString(),y)];case 1:w=a.sent(),a.label=2;case 2:return a.trys.push([2,4,,5]),[4,o.contentParser(w)];case 3:g=a.sent(),k=Z.create(w,g,r,o),v=!1;try{for(O=i(y.postInterceptors),x=O.next();!x.done&&((0,x.value)(k,function(){return v=!0}),!v);x=O.next());}catch(e){R={error:e}}finally{try{x&&!x.done&&(S=O.return)&&S.call(O)}finally{if(R)throw R.error}}return[2,k];case 4:j=a.sent(),k=new Z({handlers:o.defaultHandlers,defaultOptions:r,baseResponse:w,content:j,parameters:o.parameters}),A=j instanceof T.ProblemDocument?new X({response:k,problem:j}):new X({response:k,problem:new T.ProblemDocument({type:"https://waychaser.io/unexected-error",title:"An unexpected error occurred",error:j})}),v=!1;try{for(E=i(y.postErrorInterceptors),P=E.next();!P.done&&((0,P.value)(A,function(){return v=!0}),!v);P=E.next());}catch(e){_={error:e}}finally{try{P&&!P.done&&(q=E.return)&&q.call(E)}finally{if(_)throw _.error}}throw A;case 5:return[2]}})})}var re={fetch:"undefined"==typeof globalThis?null===(B="undefined"!=typeof globalThis||"undefined"!=typeof globalThis||"undefined"!=typeof globalThis?globalThis:void 0)||void 0===B?void 0:B.fetch:null===(J=globalThis.fetch)||void 0===J?void 0:J.bind(globalThis),handlers:[],defaultHandlers:Y([{handler:function(e){var r=null==e?void 0:e.headers.get("location");return r?[new R({rel:"related",uri:r})]:[]},mediaRanges:["*/*"],q:.4},{handler:function(e,r,t){return l(l([],s(G(e.headers.get("link"))),!1),s(G(e.headers.get("link-template"))),!1)},mediaRanges:["*/*"],q:.5},{handler:function(e,r){var t,n,o,a,s,l,u,c=[],f=null===(u=e.headers.get("content-type"))||void 0===u?void 0:u.split(";");if((null==f?void 0:f[0])===F&&r&&"object"==typeof r&&"_links"in r){var p=r,h={};if(p._links.curies)if(Array.isArray(p._links.curies))try{for(var d=i(p._links.curies),y=d.next();!y.done;y=d.next()){var v=y.value;h[v.name]=v.href}}catch(e){t={error:e}}finally{try{y&&!y.done&&(n=d.return)&&n.call(d)}finally{if(t)throw t.error}}else h[p._links.curies.name]=p._links.curies.href;try{for(var b=i(Object.keys(p._links).filter(function(e){return"curies"!==e})),m=b.next();!m.done;m=b.next()){var w=m.value;if(Array.isArray(p._links[w]))try{for(var g=(s=void 0,i(p._links[w])),O=g.next();!O.done;O=g.next()){var x=O.value;c.push($(w,x,h))}}catch(e){s={error:e}}finally{try{O&&!O.done&&(l=g.return)&&l.call(g)}finally{if(s)throw s.error}}else c.push($(w,p._links[w],h))}}catch(e){o={error:e}}finally{try{m&&!m.done&&(a=b.return)&&a.call(b)}finally{if(o)throw o.error}}}return c},mediaRanges:[F],q:.5},{handler:function(e,r){var t,n=null===(t=e.headers.get("content-type"))||void 0===t?void 0:t.split(";");return(null==n?void 0:n[0])===L?l(l([],s(function(e){var r,t,n,o,a=[];if(e&&"object"==typeof e&&"links"in e){var s=e;if(s.links)try{for(var l=i(s.links),u=l.next();!u.done;u=l.next()){var c=u.value;try{for(var f=(n=void 0,i(c.rel)),p=f.next();!p.done;p=f.next()){var h=V(p.value,c);a.push(h)}}catch(e){n={error:e}}finally{try{p&&!p.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}}}catch(e){r={error:e}}finally{try{u&&!u.done&&(t=l.return)&&t.call(l)}finally{if(r)throw r.error}}}return a}(r)),!1),s(function(e){var r,t,n=[];if(e&&"object"==typeof e&&"actions"in e){var o=e;if(o.actions)try{for(var a=i(o.actions),s=a.next();!s.done;s=a.next()){var l=Q(s.value);n.push(l)}}catch(e){r={error:e}}finally{try{s&&!s.done&&(t=a.return)&&t.call(a)}finally{if(r)throw r.error}}}return n}(r)),!1):[]},mediaRanges:[L],q:.5}]),preInterceptors:[],postInterceptors:[],postErrorInterceptors:[],contentParser:function(e){return o(void 0,void 0,void 0,function(){var r,t,n,o,i;return a(this,function(a){switch(a.label){case 0:return e.headers.get("content-length")&&"0"!==e.headers.get("content-length")?[4,e.text()]:[3,2];case 1:if(r=a.sent(),null==(t=null===(i=null===(o=e.headers.get("content-type"))||void 0===o?void 0:o.split(";"))||void 0===i?void 0:i[0])?void 0:t.endsWith("json")){if(n=function(e,r){try{return JSON.parse(e)}catch(t){throw new T.ProblemDocument({type:"https://waychaser.io/invalid-json",title:"JSON response could not be parsed",detail:"The response document with content type '".concat(r,"' could not be parsed as json"),content:e,error:t})}}(r,t),"application/problem+json"===t)throw Object.assign(new T.ProblemDocument(n),n);return[2,n]}a.label=2;case 2:return[2]}})})}};function te(e,r){var t=z(r,e),n=function(e,r){return ee(e,t,r)};return n.currentDefaults=t,n.defaults=function(e){return te(e,t)},n}var ne=Object.assign(function(e,r){return ee(e,re,r)},{currentDefaults:re,defaults:function(e){return te(e,re)}});export{X as WayChaserProblem,Z as WayChaserResponse,ee as _waychaser,K as isValidationSuccess,Y as sortHandlers,ne as waychaser};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mountainpass/waychaser",
3
- "version": "5.0.35",
3
+ "version": "5.0.37",
4
4
  "description": "Client library for HATEOAS level 3 RESTful APIs that provide hypermedia controls",
5
5
  "repository": {
6
6
  "type": "git",
@@ -150,12 +150,12 @@
150
150
  "http-link-header": "^1.1.3",
151
151
  "jsonpointer": "^5.0.1",
152
152
  "qs-stringify": "^1.2.1",
153
- "uri-template-lite": "^20.5.0"
153
+ "uri-template-lite": "^23.4.0"
154
154
  },
155
155
  "devDependencies": {
156
156
  "@commitlint/cli": "^20.4.4",
157
157
  "@commitlint/config-conventional": "^20.4.4",
158
- "@cucumber/cucumber": "^7.3.2",
158
+ "@cucumber/cucumber": "^12.7.0",
159
159
  "@rollup/plugin-commonjs": "^29.0.2",
160
160
  "@rollup/plugin-json": "^6.1.0",
161
161
  "@rollup/plugin-node-resolve": "^16.0.3",