@data-client/rest 0.14.18 → 0.14.20

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
@@ -211,7 +211,7 @@ supports inferring argument types from the path templates.
211
211
  <td align="center">🛑</td>
212
212
  </tr>
213
213
  <tr>
214
- <td align="center">✅</td>
214
+ <td align="center"> </td>
215
215
  <td><a href="https://dataclient.io/rest/api/All">All</a></td>
216
216
  <td>list of all entities of a kind</td>
217
217
  <td align="center">✅</td>
package/dist/index.js CHANGED
@@ -1,38 +1,8 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var endpoint = require('@data-client/endpoint');
6
4
  var pathToRegexp = require('path-to-regexp');
7
5
 
8
- function unwrapExports (x) {
9
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
10
- }
11
-
12
- function createCommonjsModule(fn, module) {
13
- return module = { exports: {} }, fn(module, module.exports), module.exports;
14
- }
15
-
16
- var classPrivateFieldLooseBase = createCommonjsModule(function (module) {
17
- function _classPrivateFieldBase(e, t) {
18
- if (!{}.hasOwnProperty.call(e, t)) throw new TypeError("attempted to use private field on non-instance");
19
- return e;
20
- }
21
- module.exports = _classPrivateFieldBase, module.exports.__esModule = true, module.exports["default"] = module.exports;
22
- });
23
-
24
- var _classPrivateFieldLooseBase = unwrapExports(classPrivateFieldLooseBase);
25
-
26
- var classPrivateFieldLooseKey = createCommonjsModule(function (module) {
27
- var id = 0;
28
- function _classPrivateFieldKey(e) {
29
- return "__private_" + id++ + "_" + e;
30
- }
31
- module.exports = _classPrivateFieldKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
32
- });
33
-
34
- var _classPrivateFieldLooseKey = unwrapExports(classPrivateFieldLooseKey);
35
-
36
6
  function extractCollection(s, mapper) {
37
7
  if (typeof s !== 'object' || s === undefined || Array.isArray(s)) return;
38
8
  if (s instanceof endpoint.schema.Collection) {
@@ -68,9 +38,9 @@ function mapCollection(s, mapper) {
68
38
  * @see https://dataclient.io/rest/api/NetworkError
69
39
  */
70
40
  class NetworkError extends Error {
41
+ name = 'NetworkError';
71
42
  constructor(response) {
72
43
  super(`${response.url}: ${response.statusText || `Status not 'ok': ${response.status}`}`);
73
- this.name = 'NetworkError';
74
44
  this.status = response.status;
75
45
  this.response = response;
76
46
  }
@@ -144,20 +114,16 @@ function shortenPath(path) {
144
114
  *
145
115
  * @see https://dataclient.io/rest/api/RestEndpoint
146
116
  */
147
- var _hasBody = /*#__PURE__*/_classPrivateFieldLooseKey("hasBody");
148
117
  class RestEndpoint extends endpoint.Endpoint {
118
+ #hasBody;
149
119
  constructor(options) {
150
120
  var _options$fetch;
151
121
  super((_options$fetch = options.fetch) != null ? _options$fetch : async function (...args) {
152
- const urlParams = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] && args.length < 2 ? {} : args[0] || {};
153
- const body = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] ? args[args.length - 1] : undefined;
122
+ const urlParams = this.#hasBody && args.length < 2 ? {} : args[0] || {};
123
+ const body = this.#hasBody ? args[args.length - 1] : undefined;
154
124
  return this.fetchResponse(this.url(urlParams), await this.getRequestInit(body)).then(response => this.parseResponse(response)).then(res => this.process(res, ...args));
155
125
  }, options);
156
126
  // we want to use the prototype chain here
157
- Object.defineProperty(this, _hasBody, {
158
- writable: true,
159
- value: void 0
160
- });
161
127
  if (!('sideEffect' in this) || 'method' in options && !('sideEffect' in options)) {
162
128
  this.sideEffect = options.method === 'GET' || options.method === undefined ? undefined : true;
163
129
  }
@@ -167,7 +133,7 @@ class RestEndpoint extends endpoint.Endpoint {
167
133
  if (this.urlPrefix === undefined) {
168
134
  this.urlPrefix = '';
169
135
  }
170
- _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] = (!('body' in this) || this.body !== undefined) && !['GET', 'DELETE'].includes(this.method);
136
+ this.#hasBody = (!('body' in this) || this.body !== undefined) && !['GET', 'DELETE'].includes(this.method);
171
137
  Object.defineProperty(this, 'name', {
172
138
  get() {
173
139
  // using 'in' to ensure inheritance lookup
@@ -177,7 +143,7 @@ class RestEndpoint extends endpoint.Endpoint {
177
143
  });
178
144
  }
179
145
  key(...args) {
180
- return `${this.method} ${this.url(_classPrivateFieldLooseBase(this, _hasBody)[_hasBody] && args.length < 2 ? {} : args[0] || {})}`;
146
+ return `${this.method} ${this.url(this.#hasBody && args.length < 2 ? {} : args[0] || {})}`;
181
147
  }
182
148
 
183
149
  /** Get the url */
@@ -551,10 +517,6 @@ function capitalizeFirstLetter(s) {
551
517
  return s.charAt(0).toUpperCase() + s.slice(1);
552
518
  }
553
519
 
554
- Object.hasOwn = Object.hasOwn || /* istanbul ignore next */function hasOwn(it, key) {
555
- return Object.prototype.hasOwnProperty.call(it, key);
556
- };
557
-
558
520
  exports.NetworkError = NetworkError;
559
521
  exports.RestEndpoint = RestEndpoint;
560
522
  exports.createResource = resource;
@@ -563,8 +525,8 @@ exports.getUrlTokens = getUrlTokens;
563
525
  exports.hookifyResource = hookifyResource;
564
526
  exports.resource = resource;
565
527
  Object.keys(endpoint).forEach(function (k) {
566
- if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
567
- enumerable: true,
568
- get: function () { return endpoint[k]; }
569
- });
528
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
529
+ enumerable: true,
530
+ get: function () { return endpoint[k]; }
531
+ });
570
532
  });
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Rest={})}(this,(function(e){"use strict";function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}var r=t(n((function(e){e.exports=function(e){if(null==e)throw new TypeError("Cannot destructure "+e)},e.exports.__esModule=!0,e.exports.default=e.exports}))),s=t(n((function(e){e.exports=function(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e},e.exports.__esModule=!0,e.exports.default=e.exports}))),i=t(n((function(e){var t=0;e.exports=function(e){return"__private_"+t+++"_"+e},e.exports.__esModule=!0,e.exports.default=e.exports})));function o(e){return!("function"!=typeof e.hasOwnProperty||!(Object.hasOwnProperty.call(e,"__ownerID")||e._map&&Object.hasOwnProperty.call(e._map,"__ownerID")))}class a{constructor(e,t){this.schema=void 0,t&&(this._schemaAttribute="string"==typeof t?e=>e[t]:t),this.define(e)}get isSingleSchema(){return!this._schemaAttribute}define(e){"_schemaAttribute"in e&&!this._schemaAttribute?(this.schema=e.schema,this._schemaAttribute=e._schemaAttribute):this.schema=e}getSchemaAttribute(e,t,n){return!this.isSingleSchema&&this._schemaAttribute(e,t,n)}inferSchema(e,t,n){if(this.isSingleSchema)return this.schema;const r=this.getSchemaAttribute(e,t,n);return this.schema[r]}schemaKey(){return this.isSingleSchema?this.schema.key:Object.values(this.schema).join(";")}normalizeValue(e,t,n,r,s){if(!e)return e;const i=this.inferSchema(e,t,n);if(!i)return e;const o=s(i,e,t,n,r);return this.isSingleSchema||null==o?o:{id:o,schema:this.getSchemaAttribute(e,t,n)}}denormalizeValue(e,t){const n=!this.isSingleSchema&&e&&(o(e)?e.get("schema"):e.schema);if(!this.isSingleSchema&&!n){if("object"==typeof e&&null!==e){const n=this.inferSchema(e,void 0,void 0);if(n)return t(n,e)}return e}const r=this.isSingleSchema?void 0:o(e)?e.get("id"):e.id;return t(this.isSingleSchema?this.schema:this.schema[n],r||e)}}class c extends a{normalize(e,t,n,r,s,i,o,a){return Object.keys(e).reduce(((t,n,i)=>{const o=e[n];return null!=o?Object.assign({},t,{[n]:this.normalizeValue(o,e,n,r,s)}):t}),{})}denormalize(e,t,n){return Object.keys(e).reduce(((t,r)=>{const s=e[r],i=this.denormalizeValue(s,n);return i&&"symbol"!=typeof i?Object.assign({},t,{[r]:i}):t}),{})}queryKey(e,t,n,r){}}const u=e=>void 0!==e&&"symbol"!=typeof e;class h extends a{normalize(e,t,n,r,s,i,o,a){const c=(e=>Array.isArray(e)?e:Object.keys(e).map((t=>e[t])))(e);return c.map(((e,i)=>this.normalizeValue(e,t,n,r,s)))}denormalize(e,t,n){return e.map?e.map((e=>this.denormalizeValue(e,n))).filter(u):e}queryKey(e,t,n,r){}toJSON(){return[this.schema]}}const f=Symbol("INVALID");function l(e,t,n,r){if(o(t))return function(e,t,n){var r;let s;const i=Object.keys(e).reduce(((t,r)=>{const i=`${r}`,o=n(e[i],t.get(i));return"symbol"==typeof o&&(s=o),t.has(i)?t.set(i,o):t}),t);return null!=(r=s)?r:i}(e,t,r);const s=Object.assign({},t);for(const t of Object.keys(e)){const n=r(e[t],s[t]);if(void 0!==s[t]&&(s[t]=n),"symbol"==typeof n)return n}return s}class d{constructor(e){this.schema=void 0,this.define(e)}define(e){this.schema=Object.keys(e).reduce(((t,n)=>{const r=e[n];return Object.assign({},t,{[n]:r})}),this.schema||{})}normalize(...e){return((e,t,n,r,s,i)=>{const o=Object.assign({},t);return Object.keys(e).forEach((n=>{const r=e[n],a=i(r,t[n],t,n,s);void 0===a?delete o[n]:o[n]=a})),o})(this.schema,...e)}denormalize(e,t,n){return l(this.schema,e,0,n)}queryKey(e,t,n,r){return function(e,t,n,r,s){const i={};return Object.keys(e).forEach((o=>{i[o]=n(e[o],t,r,s)})),i}(this.schema,e,t,n,r)}}const p=(e,t)=>[...e,...t],m=(e,t)=>[...t,...e],y=(e,t)=>Object.assign({},e,t),g=e=>[...e],b=e=>Object.assign({},e);class v{addWith(e,t){return O(this,e,t)}createCollectionFilter(...e){return t=>Object.entries(t).every((([t,n])=>{var r;return this.nonFilterArgumentKeys(t)||`${e[0][t]}`===n||`${null==(r=e[1])?void 0:r[t]}`===n}))}nonFilterArgumentKeys(e){return e.startsWith("order")}constructor(e,t){if(this.schema=Array.isArray(e)?new h(e[0]):e,t?"nestKey"in t?this.nestKey=t.nestKey:this.argsKey="argsKey"in t?t.argsKey:e=>Object.assign({},e):this.argsKey=e=>Object.assign({},e),this.key=function(e){if(e instanceof h)return`[${e.schemaKey()}]`;if(e instanceof c)return`{${e.schemaKey()}}`;return`(${e.schemaKey()})`}(this.schema),null!=t&&t.nonFilterArgumentKeys){const{nonFilterArgumentKeys:e}=t;"function"==typeof e?this.nonFilterArgumentKeys=e:e instanceof RegExp?this.nonFilterArgumentKeys=t=>e.test(t):this.nonFilterArgumentKeys=t=>e.includes(t)}else null!=t&&t.createCollectionFilter&&(this.createCollectionFilter=t.createCollectionFilter.bind(this));this.schema instanceof h?(this.createIfValid=g,this.push=O(this,p),this.unshift=O(this,m)):e instanceof c&&(this.createIfValid=b,this.assign=O(this,y))}get cacheWith(){return this.schema.schema}toString(){return this.key}toJSON(){return{key:this.key,schema:this.schema.schema.toJSON()}}pk(e,t,n,r){const s=this.argsKey?this.argsKey(...r):this.nestKey(t,n);for(const e in s)["number","boolean"].includes(typeof s[e])&&(s[e]=`${s[e]}`);return function(e){const t=Object.keys(e).sort(),n={};for(const r of t)n[r]=e[r];return JSON.stringify(n)}(s)}normalize(e,t,n,r,s,i,o,a){const c=this.schema.normalize(e,t,n,r,s,i,o,a),u=this.pk(c,t,n,r);return i(this,c,u),u}merge(e,t){return t}shouldReorder(e,t,n,r){return t.fetchedAt<e.fetchedAt}mergeWithStore(e,t,n,r){return this.shouldReorder(e,t,n,r)?this.merge(r,n):this.merge(n,r)}mergeMetaWithStore(e,t,n,r){return this.shouldReorder(e,t,n,r)?e:t}queryKey(e,t,n,r){if(this.argsKey){const t=this.pk(void 0,void 0,"",e);if(n(this.key,t))return t}}denormalize(e,t,n){return this.schema.denormalize(e,t,n)}}function O(e,t,n){const r={merge:{value:t},normalize:{value:j},queryKey:{value:x}};return e.schema instanceof h&&(r.createIfValid={value:w},r.denormalize={value:E}),n&&(r.createCollectionFilter={value:n}),Object.create(e,r)}function x(){}function j(e,t,n,r,s,i,o,a){const c=this.schema.normalize(this.schema instanceof h&&!Array.isArray(e)?[e]:e,t,n,r,s,i,o,a),u=this.createCollectionFilter(...r),f=o(this.key);return f&&Object.keys(f).forEach((e=>{u(JSON.parse(e))&&i(this,c,e)})),c}function w(e){return Array.isArray(e)?[...e]:Object.assign({},e)}function E(e,t,n){return Array.isArray(e)?this.schema.denormalize(e,t,n):this.schema.denormalize([e],t,n)[0]}var k=t(n((function(e){e.exports=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n},e.exports.__esModule=!0,e.exports.default=e.exports})));const S=["pk","schema","key"];function A(e,t={}){class n extends e{static toString(){return this.key}static toJSON(){return{key:this.key,schema:this.schema}}static pk(e,t,n,r){return this.prototype.pk.call(e,t,n,r)}static shouldUpdate(e,t,n,r){return!0}static shouldReorder(e,t,n,r){return t.fetchedAt<e.fetchedAt}static merge(e,t){return Object.assign({},e,t)}static mergeWithStore(e,t,n,r){return this.shouldUpdate(e,t,n,r)?typeof r!=typeof n?r:this.shouldReorder(e,t,n,r)?this.merge(r,n):this.merge(n,r):n}static mergeMetaWithStore(e,t,n,r){return this.shouldReorder(e,t,n,r)?e:t}static fromJS(e={}){const t=new this(e);return Object.assign(t,e),t}static createIfValid(e){if(!this.validate(e))return this.fromJS(e)}static process(e,t,n,r){return Object.assign({},e)}static normalize(e,t,n,r,s,i,o,a){const c=this.process(e,t,n,r);let u=this.pk(c,t,n,r);if(u=void 0===u||""===u||"undefined"===u?`MISS-${Math.random()}`:`${u}`,a(this.key,u,e))return u;return function(e){if(e){const t=new Error(e);throw t.status=400,t}}(this.validate(c)),Object.keys(this.schema).forEach((e=>{Object.hasOwn(c,e)&&(c[e]=s(this.schema[e],c[e],c,e,r))})),i(this,c,u),u}static validate(e){}static queryKey(e,t,n,r){if(!e[0])return;const s=function(e,t,n){if(["string","number"].includes(typeof t[0]))return`${t[0]}`;const r=e.pk(t[0],void 0,"",t);if(void 0!==r&&""!==r)return r;const s=(i=t[0],o=e.indexes,o?o.find((e=>Object.hasOwn(i,e))):void 0);var i,o;if(!s)return;const a=t[0][s];return n(e.key,s,a)[a]}(this,e,r);return n(this.key,s)?s:void 0}static denormalize(e,t,n){if("symbol"==typeof e)return e;for(const t of Object.keys(this.schema)){const r=n(this.schema[t],e[t]);if("symbol"==typeof r){if(this.defaults[t])return r;e[t]=void 0}else e[t]=r}return e}static get defaults(){return Object.hasOwn(this,"__defaults")||Object.defineProperty(this,"__defaults",{value:new this,writable:!0,configurable:!0}),this.__defaults}}const r=k(t,S);if(Object.assign(n,r),"schema"in t?n.schema=t.schema:e.schema||(n.schema={}),"pk"in t?"function"==typeof t.pk?n.prototype.pk=function(e,n){return t.pk(this,e,n)}:n.prototype.pk=function(){return this[t.pk]}:"function"!=typeof e.prototype.pk&&(n.prototype.pk=function(){return this.id}),"key"in t)Object.defineProperty(n,"key",{value:t.key,configurable:!0,writable:!0,enumerable:!0});else if(!("key"in e)){function s(e){Object.defineProperty(this,"key",{value:e,writable:!0,enumerable:!0,configurable:!0})}const i=function(){return"EntityMixin"===this.name?e.name:this.name},o="undefined"!=typeof document&&document.CLS_MANGLE?function(){return null==document.CLS_MANGLE||document.CLS_MANGLE(this),Object.defineProperty(n,"key",{get:i,set:s,enumerable:!0,configurable:!0}),i.call(this)}:i;Object.defineProperty(n,"key",{get:o,set:s,enumerable:!0,configurable:!0})}return n}var _=Object.freeze({__proto__:null,Union:class extends a{constructor(e,t){if(!t)throw new Error('Expected option "schemaAttribute" not found on UnionSchema.');super(e,t)}normalize(e,t,n,r,s,i,o,a){return this.normalizeValue(e,t,n,r,s)}denormalize(e,t,n){return this.denormalizeValue(e,n)}queryKey(e,t,n,r){if(!e[0])return;const s=this.getSchemaAttribute(e[0],void 0,""),i=this.schema[s];if(void 0===i)return;const o=t(i,e,n,r);return void 0!==o?{id:o,schema:s}:void 0}},Values:c,Array:h,All:class extends h{constructor(e,t){super(e,t)}normalize(e,t,n,r,s,i,o,a){super.normalize(e,t,n,r,s,i,o,a)}queryKey(e,t,n,r){if(this.isSingleSchema){const e=n(this.schema.key);return void 0===e?f:Object.values(e).map((e=>e&&this.schema.pk(e)))}let s=!1;const i=Object.values(this.schema).flatMap((e=>{const t=n(e.key);return void 0===t?[]:(s=!0,Object.values(t).map((t=>({id:t&&e.pk(t),schema:this.getSchemaAttribute(t,void 0,void 0)}))))}));return s?i:f}},Object:d,Invalidate:class{constructor(e){this._entity=e}get key(){return this._entity.key}normalize(e,t,n,r,s,i,o,a){const c=this._entity.process(e,t,n,r),u=this._entity.pk(c,t,n,r);return i(this,f,u),u}merge(e,t){return t}mergeWithStore(e,t,n,r){return this.merge(n,r)}mergeMetaWithStore(e,t,n,r){return t}queryKey(e,t,n,r){}denormalize(e,t,n){return n(this._entity,e)}_denormalizeNullable(){return{}}_normalizeNullable(){return{}}},Collection:v,EntityMixin:A,Entity:A,Query:class{constructor(e,t){this.schema=e,this.process=t}normalize(...e){return this.schema.normalize(...e)}denormalize(e,t,n){const r=n(this.schema,e);return"symbol"==typeof r?r:this.process(r,...t)}queryKey(e,t,n,r){return t(this.schema,e,n,r)}}});const P=class{};class R extends(A(P)){static process(e,t,n,r){return super.process(e,t,n,r)}}var T;const C="undefined"!=typeof document;let z=C&&!(null!=(T=document.querySelector("meta[http-equiv='Content-Security-Policy']"))&&T.getAttribute("content"));try{z||Function()}catch(e){z=!0,C&&console.error("Content Security Policy: The previous CSP log can be safely ignored - @data-client/endpoint will use setPrototypeOf instead")}var K;class $ extends Function{constructor(e,t){let n,r;return z?(n=(...e)=>n.fetch(...e),Object.setPrototypeOf(n,new.target.prototype)):(super("return arguments.callee.fetch.apply(arguments.callee, arguments)"),n=this),e&&(n.fetch=e),t&&"name"in t||!e||!e.name||"anonymous"===e.name||(r=e.name),Object.defineProperty(n,"name",{get(){return r||this.__name},set(e){this.__name=e}}),Object.assign(n,t),n}key(...e){return`${this.name} ${JSON.stringify(e)}`}testKey(e){return e.startsWith(this.name)}bind(e,...t){const n=this.fetch,r=this.key;return this.extend({fetch(){return n.apply(null!=e?e:this,t)},key(){return r.apply(this,t)}})}extend(e){class t extends this.constructor{}return Object.assign(t.prototype,this),new t(e.fetch,e)}}K=$,(()=>{if("undefined"!=typeof document&&document.FUNC_MANGLE){const e=K.prototype.key;K.prototype.key=function(...t){return null==document.FUNC_MANGLE||document.FUNC_MANGLE(this),this.prototype.key=e,e.call(this,...t)}}})();const N=$;function M(e,t){void 0===t&&(t={});for(var n=function(e){for(var t=[],n=0;n<e.length;){var r=e[n];if("*"!==r&&"+"!==r&&"?"!==r)if("\\"!==r)if("{"!==r)if("}"!==r)if(":"!==r)if("("!==r)t.push({type:"CHAR",index:n,value:e[n++]});else{var s=1,i="";if("?"===e[a=n+1])throw new TypeError('Pattern cannot start with "?" at '.concat(a));for(;a<e.length;)if("\\"!==e[a]){if(")"===e[a]){if(0==--s){a++;break}}else if("("===e[a]&&(s++,"?"!==e[a+1]))throw new TypeError("Capturing groups are not allowed at ".concat(a));i+=e[a++]}else i+=e[a++]+e[a++];if(s)throw new TypeError("Unbalanced pattern at ".concat(n));if(!i)throw new TypeError("Missing pattern at ".concat(n));t.push({type:"PATTERN",index:n,value:i}),n=a}else{for(var o="",a=n+1;a<e.length;){var c=e.charCodeAt(a);if(!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122||95===c))break;o+=e[a++]}if(!o)throw new TypeError("Missing parameter name at ".concat(n));t.push({type:"NAME",index:n,value:o}),n=a}else t.push({type:"CLOSE",index:n,value:e[n++]});else t.push({type:"OPEN",index:n,value:e[n++]});else t.push({type:"ESCAPED_CHAR",index:n++,value:e[n++]});else t.push({type:"MODIFIER",index:n,value:e[n++]})}return t.push({type:"END",index:n,value:""}),t}(e),r=t.prefixes,s=void 0===r?"./":r,i=t.delimiter,o=void 0===i?"/#?":i,a=[],c=0,u=0,h="",f=function(e){if(u<n.length&&n[u].type===e)return n[u++].value},l=function(e){var t=f(e);if(void 0!==t)return t;var r=n[u],s=r.type,i=r.index;throw new TypeError("Unexpected ".concat(s," at ").concat(i,", expected ").concat(e))},d=function(){for(var e,t="";e=f("CHAR")||f("ESCAPED_CHAR");)t+=e;return t},p=function(e){var t=a[a.length-1],n=e||(t&&"string"==typeof t?t:"");if(t&&!n)throw new TypeError('Must have text between two parameters, missing text after "'.concat(t.name,'"'));return!n||function(e){for(var t=0,n=o;t<n.length;t++){var r=n[t];if(e.indexOf(r)>-1)return!0}return!1}(n)?"[^".concat(I(o),"]+?"):"(?:(?!".concat(I(n),")[^").concat(I(o),"])+?")};u<n.length;){var m=f("CHAR"),y=f("NAME"),g=f("PATTERN");if(y||g){var b=m||"";-1===s.indexOf(b)&&(h+=b,b=""),h&&(a.push(h),h=""),a.push({name:y||c++,prefix:b,suffix:"",pattern:g||p(b),modifier:f("MODIFIER")||""})}else{var v=m||f("ESCAPED_CHAR");if(v)h+=v;else if(h&&(a.push(h),h=""),f("OPEN")){b=d();var O=f("NAME")||"",x=f("PATTERN")||"",j=d();l("CLOSE"),a.push({name:O||(x?c++:""),pattern:O&&!x?p(b):x,prefix:b,suffix:j,modifier:f("MODIFIER")||""})}else l("END")}}return a}function F(e,t){return function(e,t){void 0===t&&(t={});var n=q(t),r=t.encode,s=void 0===r?function(e){return e}:r,i=t.validate,o=void 0===i||i,a=e.map((function(e){if("object"==typeof e)return new RegExp("^(?:".concat(e.pattern,")$"),n)}));return function(t){for(var n="",r=0;r<e.length;r++){var i=e[r];if("string"!=typeof i){var c=t?t[i.name]:void 0,u="?"===i.modifier||"*"===i.modifier,h="*"===i.modifier||"+"===i.modifier;if(Array.isArray(c)){if(!h)throw new TypeError('Expected "'.concat(i.name,'" to not repeat, but got an array'));if(0===c.length){if(u)continue;throw new TypeError('Expected "'.concat(i.name,'" to not be empty'))}for(var f=0;f<c.length;f++){var l=s(c[f],i);if(o&&!a[r].test(l))throw new TypeError('Expected all "'.concat(i.name,'" to match "').concat(i.pattern,'", but got "').concat(l,'"'));n+=i.prefix+l+i.suffix}}else if("string"!=typeof c&&"number"!=typeof c){if(!u){var d=h?"an array":"a string";throw new TypeError('Expected "'.concat(i.name,'" to be ').concat(d))}}else{l=s(String(c),i);if(o&&!a[r].test(l))throw new TypeError('Expected "'.concat(i.name,'" to match "').concat(i.pattern,'", but got "').concat(l,'"'));n+=i.prefix+l+i.suffix}}else n+=i}return n}}(M(e,t),t)}function I(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function q(e){return e&&e.sensitive?"":"i"}function L(e,t,n){return function(e,t,n){void 0===n&&(n={});for(var r=n.strict,s=void 0!==r&&r,i=n.start,o=void 0===i||i,a=n.end,c=void 0===a||a,u=n.encode,h=void 0===u?function(e){return e}:u,f=n.delimiter,l=void 0===f?"/#?":f,d=n.endsWith,p="[".concat(I(void 0===d?"":d),"]|$"),m="[".concat(I(l),"]"),y=o?"^":"",g=0,b=e;g<b.length;g++){var v=b[g];if("string"==typeof v)y+=I(h(v));else{var O=I(h(v.prefix)),x=I(h(v.suffix));if(v.pattern)if(t&&t.push(v),O||x)if("+"===v.modifier||"*"===v.modifier){var j="*"===v.modifier?"?":"";y+="(?:".concat(O,"((?:").concat(v.pattern,")(?:").concat(x).concat(O,"(?:").concat(v.pattern,"))*)").concat(x,")").concat(j)}else y+="(?:".concat(O,"(").concat(v.pattern,")").concat(x,")").concat(v.modifier);else{if("+"===v.modifier||"*"===v.modifier)throw new TypeError('Can not repeat "'.concat(v.name,'" without a prefix and suffix'));y+="(".concat(v.pattern,")").concat(v.modifier)}else y+="(?:".concat(O).concat(x,")").concat(v.modifier)}}if(c)s||(y+="".concat(m,"?")),y+=n.endsWith?"(?=".concat(p,")"):"$";else{var w=e[e.length-1],E="string"==typeof w?m.indexOf(w[w.length-1])>-1:void 0===w;s||(y+="(?:".concat(m,"(?=").concat(p,"))?")),E||(y+="(?=".concat(m,"|").concat(p,")"))}return new RegExp(y,q(n))}(M(e,n),t,n)}function U(e,t,n){return e instanceof RegExp?function(e,t){if(!t)return e;for(var n=/\((?:\?<(.*?)>)?(?!\?)/g,r=0,s=n.exec(e.source);s;)t.push({name:s[1]||r++,prefix:"",suffix:"",modifier:"",pattern:""}),s=n.exec(e.source);return e}(e,t):Array.isArray(e)?function(e,t,n){var r=e.map((function(e){return U(e,t,n).source}));return new RegExp("(?:".concat(r.join("|"),")"),q(n))}(e,t,n):L(e,t,n)}function D(e,t){if("object"!=typeof e||void 0===e||Array.isArray(e))return;if(e instanceof v)return t(e);const n=Object.assign({},e instanceof d?e.schema:e);for(const e in n){if(!n[e])continue;const r=D(n[e],t);if(r)return r}}function V(e,t){if("object"!=typeof e||void 0===e)return e;if(e instanceof v)return t(e);const n=Object.assign({},e instanceof d?e.schema:e);for(const e in n)n[e]&&(n[e]=V(n[e],t));return n}class W extends Error{constructor(e){super(`${e.url}: ${e.statusText||`Status not 'ok': ${e.status}`}`),this.name="NetworkError",this.status=e.status,this.response=e}}function J(e,t){const n=new Set(e),r=[...e];for(const e of t)n.has(e)||r.push(e);return r}const G=Object.create(null);function H(e){return e in G||(G[e]=F(e,{encode:encodeURIComponent,validate:!1})),G[e]}const B=Object.create(null);function Q(e){return e in B||(B[e]=new Set(M(e).map((e=>"string"==typeof e?e:`${e.name}`)))),B[e]}const X=Object.prototype,Y=Object.getPrototypeOf;var Z=i("hasBody");class ee extends ${constructor(e){var t;super(null!=(t=e.fetch)?t:async function(...e){const t=s(this,Z)[Z]&&e.length<2?{}:e[0]||{},n=s(this,Z)[Z]?e[e.length-1]:void 0;return this.fetchResponse(this.url(t),await this.getRequestInit(n)).then((e=>this.parseResponse(e))).then((t=>this.process(t,...e)))},e),Object.defineProperty(this,Z,{writable:!0,value:void 0}),(!("sideEffect"in this)||"method"in e&&!("sideEffect"in e))&&(this.sideEffect="GET"!==e.method&&void 0!==e.method||void 0),void 0===this.method&&(this.method=this.sideEffect?"POST":"GET"),void 0===this.urlPrefix&&(this.urlPrefix=""),s(this,Z)[Z]=!("body"in this&&void 0===this.body||["GET","DELETE"].includes(this.method)),Object.defineProperty(this,"name",{get(){return"__name"in this?this.__name:this.urlPrefix+this.path}})}key(...e){return`${this.method} ${this.url(s(this,Z)[Z]&&e.length<2?{}:e[0]||{})}`}url(e={}){const t=H(this.path)(e),n=Q(this.path),r={};return Object.keys(e).forEach((t=>{n.has(t)||(r[t]=e[t])})),Object.keys(r).length?`${this.urlPrefix}${t}?${this.searchToString(r)}`:`${this.urlPrefix}${t}`}searchToString(e){return function(e){const t=new URLSearchParams(e);return t.sort(),t.toString()}(e)}getHeaders(e){return e}async getRequestInit(e){const t=null!==(n=e)&&"object"==typeof n&&Y(n)===X;var n;t&&(e=JSON.stringify(e));const r=Object.assign({},this.requestInit,{method:this.method,signal:this.signal,body:e});return e&&!t||(r.headers=Object.assign({"Content-Type":"application/json"},r.headers)),r.headers=await this.getHeaders(r.headers),r}fetchResponse(e,t){return fetch(e,t).then((e=>{if(!e.ok)throw new W(e);return e})).catch((e=>{throw e instanceof TypeError&&(e.status=500),e}))}parseResponse(e){var t;return 204===e.status?Promise.resolve(null):null!=(t=e.headers.get("content-type"))&&t.includes("json")?e.json().catch((e=>{throw e.status=400,e})):e.text().then((t=>{if(["string","undefined"].includes(typeof this.schema)||null===this.schema||this.process!==ee.prototype.process)return t;const n=new W(e);throw n.status=404,n.message=`Unexpected text response for schema ${this.schema}`,n}))}process(e){return e}errorPolicy(e){return e.status>=500?"soft":void 0}get pathRegex(){return U(this.path)}testKey(e){const t=this.method+" "+this.urlPrefix;if(!e.startsWith(t))return!1;let n=e.lastIndexOf("?");return-1===n&&(n=void 0),this.pathRegex.test(e.substring(t.length,n))}extend(e){class t extends this.constructor{}return Object.assign(t.prototype,this),new t(Object.assign({fetch:this.fetch},e))}paginated(e){if("string"==typeof e){const t=e;e=e=>{let n=Object.assign({},(r(e),e));return delete n[t],[n]}}let t=!1;const n=V(this.schema,(n=>(t=!0,function(e,t){return Object.create(t,{name:{value:`Pagination(${t.schema})`},merge:{value:J},pk:{value:function(n,r,s,i){return t.pk.call(this,n,r,s,e(...i))}}})}(e,n))));if(!t)throw new Error("Missing Collection");const s=this;return this.extend({schema:n,key(...t){return s.key.call(this,...e(...t))},name:this.name+".getPage"})}get getPage(){return this.paginated(this.paginationField)}get push(){return this.extend({method:"POST",schema:D(this.schema,(e=>e.push)),name:this.name+".create"})}get unshift(){return this.extend({method:"POST",schema:D(this.schema,(e=>e.unshift)),name:this.name+".create"})}get assign(){return this.extend({method:"POST",schema:D(this.schema,(e=>e.assign)),name:this.name+".create"})}}const te=["path","schema","Endpoint","Collection","optimistic","paginationField"],{Invalidate:ne,Collection:re}=_;function se(e){let{path:t,schema:n,Endpoint:r=ee,Collection:s=re,optimistic:i,paginationField:o}=e,a=k(e,te);const c=function(e){const t=e.lastIndexOf(":");if(-1===t)throw new Error("Resource path requires at least one :parameter");let n=e.substring(0,t);return"/"===n[n.length-1]&&(n=n.substring(0,n.length-1)),n}(t),u=e=>`${null==n?void 0:n.name}.${e}`;function h(e,t,n){e[t]=e[t].extend(n)}const f=Object.assign({},a),l=Object.assign({},a),d=new r(Object.assign({},a,{path:t,schema:n,name:u("get")}));i&&(f.getOptimisticResponse=ie,l.getOptimisticResponse=function(e){return function(t,n,r){const s=t.get(e,n);if(!s)throw t.abort;return Object.assign({},n,s,ae(r))}}(n));const p=new r(Object.assign({},f,{paginationField:o,path:c,schema:new s([n]),name:u("getList")}));return{get:d,getList:p,create:p.push.extend({name:u("create")}),update:new r(Object.assign({},f,{path:t,schema:n,method:"PUT",name:u("update")})),partialUpdate:new r(Object.assign({},l,{path:t,schema:n,method:"PATCH",name:u("partialUpdate")})),delete:new r(Object.assign({},f,{path:t,schema:n.process?new ne(n):n,method:"DELETE",name:u("delete"),process:(e,t)=>e&&Object.keys(e).length?e:t,getOptimisticResponse:i?oe:void 0})),extend(...e){if("string"==typeof e[0]){const[t,n]=e;if(t in this){const e=Object.assign({},this);return h(e,t,n),e}return Object.assign({},this,{[t]:this.get.extend(n)})}if("function"==typeof e[0]){const t=e[0](this);return Object.assign({},this,t)}const t=e[0],n=Object.assign({},this);for(const e in t)h(n,e,t[e]);return n}}}function ie(e,t,n){return Object.assign({},t,ae(n))}function oe(e,t){return t}function ae(e){return e instanceof FormData?Object.fromEntries(e.entries()):e}Object.hasOwn=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},e.Endpoint=$,e.Entity=R,e.EntityMixin=A,e.ExtendableEndpoint=N,e.INVALID=f,e.NetworkError=W,e.RestEndpoint=ee,e.createResource=se,e.getUrlBase=H,e.getUrlTokens=Q,e.hookifyResource=function(e,t){const n={};return Object.keys(e).forEach((r=>{const s=e[r];var i;void 0!==s.extend&&(n[`use${i=r,i.charAt(0).toUpperCase()+i.slice(1)}`]=()=>{const e=t();return s.extend({requestInit:e})})})),n},e.resource=se,e.schema=_,e.validateRequired=function(e,t){let n="";if(Object.keys(t).some((t=>!Object.hasOwn(e,t)&&(n=t,!0))))return`Missing key ${n}`},Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Rest={})}(this,(function(t){"use strict";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},e.apply(null,arguments)}function n(t,e){if(!{}.hasOwnProperty.call(t,e))throw new TypeError("attempted to use private field on non-instance");return t}var r=0;function i(t){return"__private_"+r+++"_"+t}function o(t){return!("function"!=typeof t.hasOwnProperty||!(Object.hasOwnProperty.call(t,"__ownerID")||t._map&&Object.hasOwnProperty.call(t._map,"__ownerID")))}class s{constructor(t,e){this.schema=void 0,e&&(this._schemaAttribute="string"==typeof e?t=>t[e]:e),this.define(t)}get isSingleSchema(){return!this._schemaAttribute}define(t){"_schemaAttribute"in t&&!this._schemaAttribute?(this.schema=t.schema,this._schemaAttribute=t._schemaAttribute):this.schema=t}getSchemaAttribute(t,e,n){return!this.isSingleSchema&&this._schemaAttribute(t,e,n)}inferSchema(t,e,n){if(this.isSingleSchema)return this.schema;const r=this.getSchemaAttribute(t,e,n);return this.schema[r]}schemaKey(){return this.isSingleSchema?this.schema.key:Object.values(this.schema).join(";")}normalizeValue(t,e,n,r,i){if(!t)return t;const o=this.inferSchema(t,e,n);if(!o)return t;const s=i(o,t,e,n,r);return this.isSingleSchema||null==s?s:{id:s,schema:this.getSchemaAttribute(t,e,n)}}denormalizeValue(t,e){const n=!this.isSingleSchema&&t&&(o(t)?t.get("schema"):t.schema);if(!this.isSingleSchema&&!n){if("object"==typeof t&&null!==t){const n=this.inferSchema(t,void 0,void 0);if(n)return e(n,t)}return t}const r=this.isSingleSchema?void 0:o(t)?t.get("id"):t.id;return e(this.isSingleSchema?this.schema:this.schema[n],r||t)}}class c extends s{normalize(t,n,r,i,o,s,c,u){return Object.keys(t).reduce(((n,r,s)=>{const c=t[r];return null!=c?e({},n,{[r]:this.normalizeValue(c,t,r,i,o)}):n}),{})}denormalize(t,n,r){return Object.keys(t).reduce(((n,i)=>{const o=t[i],s=this.denormalizeValue(o,r);return s&&"symbol"!=typeof s?e({},n,{[i]:s}):n}),{})}queryKey(t,e,n,r){}}const u=t=>void 0!==t&&"symbol"!=typeof t;class a extends s{normalize(t,e,n,r,i,o,s,c){const u=(t=>Array.isArray(t)?t:Object.keys(t).map((e=>t[e])))(t);return u.map(((t,o)=>this.normalizeValue(t,e,n,r,i)))}denormalize(t,e,n){return t.map?t.map((t=>this.denormalizeValue(t,n))).filter(u):t}queryKey(t,e,n,r){}toJSON(){return[this.schema]}}const f=Symbol("INVALID");function h(t,n,r,i){if(o(n))return function(t,e,n){let r;const i=Object.keys(t).reduce(((e,i)=>{const o=`${i}`,s=n(t[o],e.get(o));return"symbol"==typeof s&&(r=s),e.has(o)?e.set(o,s):e}),e);return null!=r?r:i}(t,n,i);const s=e({},n);for(const e of Object.keys(t)){const n=i(t[e],s[e]);if(void 0!==s[e]&&(s[e]=n),"symbol"==typeof n)return n}return s}class l{constructor(t){this.schema=void 0,this.define(t)}define(t){this.schema=Object.keys(t).reduce(((n,r)=>{const i=t[r];return e({},n,{[r]:i})}),this.schema||{})}normalize(...t){return((t,n,r,i,o,s)=>{const c=e({},n);return Object.keys(t).forEach((e=>{const r=t[e],i=s(r,n[e],n,e,o);void 0===i?delete c[e]:c[e]=i})),c})(this.schema,...t)}denormalize(t,e,n){return h(this.schema,t,0,n)}queryKey(t,e,n,r){return function(t,e,n,r,i){const o={};return Object.keys(t).forEach((s=>{o[s]=n(t[s],e,r,i)})),o}(this.schema,t,e,n,r)}}const p=(t,e)=>[...t,...e],d=(t,e)=>[...e,...t],m=(t,n)=>e({},t,n),y=t=>[...t],v=t=>e({},t);class g{addWith(t,e){return b(this,t,e)}createCollectionFilter(...t){return e=>Object.entries(e).every((([e,n])=>{var r;return this.nonFilterArgumentKeys(e)||`${t[0][e]}`===n||`${null==(r=t[1])?void 0:r[e]}`===n}))}nonFilterArgumentKeys(t){return t.startsWith("order")}constructor(t,n){if(this.schema=Array.isArray(t)?new a(t[0]):t,n?"nestKey"in n?this.nestKey=n.nestKey:this.argsKey="argsKey"in n?n.argsKey:t=>e({},t):this.argsKey=t=>e({},t),this.key=function(t){if(t instanceof a)return`[${t.schemaKey()}]`;if(t instanceof c)return`{${t.schemaKey()}}`;return`(${t.schemaKey()})`}(this.schema),null!=n&&n.nonFilterArgumentKeys){const{nonFilterArgumentKeys:t}=n;"function"==typeof t?this.nonFilterArgumentKeys=t:t instanceof RegExp?this.nonFilterArgumentKeys=e=>t.test(e):this.nonFilterArgumentKeys=e=>t.includes(e)}else null!=n&&n.createCollectionFilter&&(this.createCollectionFilter=n.createCollectionFilter.bind(this));this.schema instanceof a?(this.createIfValid=y,this.push=b(this,p),this.unshift=b(this,d)):t instanceof c&&(this.createIfValid=v,this.assign=b(this,m))}get cacheWith(){return this.schema.schema}toString(){return this.key}toJSON(){return{key:this.key,schema:this.schema.schema.toJSON()}}pk(t,e,n,r){const i=this.argsKey?this.argsKey(...r):this.nestKey(e,n);for(const t in i)["number","boolean"].includes(typeof i[t])&&(i[t]=`${i[t]}`);return function(t){const e=Object.keys(t).sort(),n={};for(const r of e)n[r]=t[r];return JSON.stringify(n)}(i)}normalize(t,e,n,r,i,o,s,c){const u=this.schema.normalize(t,e,n,r,i,o,s,c),a=this.pk(u,e,n,r);return o(this,u,a),a}merge(t,e){return e}shouldReorder(t,e,n,r){return e.fetchedAt<t.fetchedAt}mergeWithStore(t,e,n,r){return this.shouldReorder(t,e,n,r)?this.merge(r,n):this.merge(n,r)}mergeMetaWithStore(t,e,n,r){return this.shouldReorder(t,e,n,r)?t:e}queryKey(t,e,n,r){if(this.argsKey){const e=this.pk(void 0,void 0,"",t);if(n(this.key,e))return e}}denormalize(t,e,n){return this.schema.denormalize(t,e,n)}}function b(t,e,n){const r={merge:{value:e},normalize:{value:O},queryKey:{value:w}};return t.schema instanceof a&&(r.createIfValid={value:E},r.denormalize={value:S}),n&&(r.createCollectionFilter={value:n}),Object.create(t,r)}function w(){}function O(t,e,n,r,i,o,s,c){const u=this.schema.normalize(this.schema instanceof a&&!Array.isArray(t)?[t]:t,e,n,r,i,o,s,c),f=this.createCollectionFilter(...r),h=s(this.key);return h&&Object.keys(h).forEach((t=>{f(JSON.parse(t))&&o(this,u,t)})),u}function E(t){return Array.isArray(t)?[...t]:e({},t)}function S(t,e,n){return Array.isArray(t)?this.schema.denormalize(t,e,n):this.schema.denormalize([t],e,n)[0]}function j(t,e){if(null==t)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.includes(r))continue;n[r]=t[r]}return n}var x="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function k(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var A,P,_,T,C,R,z,N,K,$,F,I,M,L,D,q;function U(){if(P)return A;P=1;var t=function(t){return t&&t.Math===Math&&t};return A=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof x&&x)||t("object"==typeof A&&A)||function(){return this}()||Function("return this")()}function V(){return T?_:(T=1,_=function(t){try{return!!t()}catch(t){return!0}})}function W(){return R?C:(R=1,C=!V()((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})))}function G(){if(N)return z;N=1;var t=W(),e=Function.prototype,n=e.apply,r=e.call;return z="object"==typeof Reflect&&Reflect.apply||(t?r.bind(n):function(){return r.apply(n,arguments)}),z}function J(){if($)return K;$=1;var t=W(),e=Function.prototype,n=e.call,r=t&&e.bind.bind(n,n);return K=t?r:function(t){return function(){return n.apply(t,arguments)}},K}function H(){if(I)return F;I=1;var t=J(),e=t({}.toString),n=t("".slice);return F=function(t){return n(e(t),8,-1)}}function B(){if(L)return M;L=1;var t=H(),e=J();return M=function(n){if("Function"===t(n))return e(n)}}function Q(){if(q)return D;q=1;var t="object"==typeof document&&document.all;return D=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(t){return"function"==typeof t}}var Y,X,Z,tt,et={};function nt(){return X?Y:(X=1,Y=!V()((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})))}function rt(){if(tt)return Z;tt=1;var t=W(),e=Function.prototype.call;return Z=t?e.bind(e):function(){return e.apply(e,arguments)},Z}var it,ot,st,ct,ut,at,ft,ht,lt,pt,dt,mt,yt,vt,gt,bt,wt,Ot,Et,St,jt,xt,kt,At,Pt,_t,Tt,Ct,Rt,zt,Nt,Kt,$t,Ft,It,Mt,Lt,Dt={};function qt(){if(it)return Dt;it=1;var t={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,n=e&&!t.call({1:2},1);return Dt.f=n?function(t){var n=e(this,t);return!!n&&n.enumerable}:t,Dt}function Ut(){return st?ot:(st=1,ot=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}})}function Vt(){if(ut)return ct;ut=1;var t=J(),e=V(),n=H(),r=Object,i=t("".split);return ct=e((function(){return!r("z").propertyIsEnumerable(0)}))?function(t){return"String"===n(t)?i(t,""):r(t)}:r}function Wt(){return ft?at:(ft=1,at=function(t){return null==t})}function Gt(){if(lt)return ht;lt=1;var t=Wt(),e=TypeError;return ht=function(n){if(t(n))throw new e("Can't call method on "+n);return n}}function Jt(){if(dt)return pt;dt=1;var t=Vt(),e=Gt();return pt=function(n){return t(e(n))}}function Ht(){if(yt)return mt;yt=1;var t=Q();return mt=function(e){return"object"==typeof e?null!==e:t(e)}}function Bt(){return gt?vt:(gt=1,vt={})}function Qt(){if(wt)return bt;wt=1;var t=Bt(),e=U(),n=Q(),r=function(t){return n(t)?t:void 0};return bt=function(n,i){return arguments.length<2?r(t[n])||r(e[n]):t[n]&&t[n][i]||e[n]&&e[n][i]},bt}function Yt(){return Et?Ot:(Et=1,Ot=J()({}.isPrototypeOf))}function Xt(){if(jt)return St;jt=1;var t=U().navigator,e=t&&t.userAgent;return St=e?String(e):""}function Zt(){if(kt)return xt;kt=1;var t,e,n=U(),r=Xt(),i=n.process,o=n.Deno,s=i&&i.versions||o&&o.version,c=s&&s.v8;return c&&(e=(t=c.split("."))[0]>0&&t[0]<4?1:+(t[0]+t[1])),!e&&r&&(!(t=r.match(/Edge\/(\d+)/))||t[1]>=74)&&(t=r.match(/Chrome\/(\d+)/))&&(e=+t[1]),xt=e}function te(){if(Pt)return At;Pt=1;var t=Zt(),e=V(),n=U().String;return At=!!Object.getOwnPropertySymbols&&!e((function(){var e=Symbol("symbol detection");return!n(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&t&&t<41}))}function ee(){return Tt?_t:(Tt=1,_t=te()&&!Symbol.sham&&"symbol"==typeof Symbol.iterator)}function ne(){if(Rt)return Ct;Rt=1;var t=Qt(),e=Q(),n=Yt(),r=Object;return Ct=ee()?function(t){return"symbol"==typeof t}:function(i){var o=t("Symbol");return e(o)&&n(o.prototype,r(i))}}function re(){if(Nt)return zt;Nt=1;var t=String;return zt=function(e){try{return t(e)}catch(t){return"Object"}}}function ie(){if($t)return Kt;$t=1;var t=Q(),e=re(),n=TypeError;return Kt=function(r){if(t(r))return r;throw new n(e(r)+" is not a function")}}function oe(){if(It)return Ft;It=1;var t=ie(),e=Wt();return Ft=function(n,r){var i=n[r];return e(i)?void 0:t(i)}}function se(){if(Lt)return Mt;Lt=1;var t=rt(),e=Q(),n=Ht(),r=TypeError;return Mt=function(i,o){var s,c;if("string"===o&&e(s=i.toString)&&!n(c=t(s,i)))return c;if(e(s=i.valueOf)&&!n(c=t(s,i)))return c;if("string"!==o&&e(s=i.toString)&&!n(c=t(s,i)))return c;throw new r("Can't convert object to primitive value")}}var ce,ue,ae,fe,he,le,pe,de,me,ye,ve,ge,be,we,Oe,Ee,Se,je,xe,ke,Ae,Pe,_e,Te,Ce,Re,ze,Ne,Ke={exports:{}};function $e(){return ue?ce:(ue=1,ce=!0)}function Fe(){if(fe)return ae;fe=1;var t=U(),e=Object.defineProperty;return ae=function(n,r){try{e(t,n,{value:r,configurable:!0,writable:!0})}catch(e){t[n]=r}return r}}function Ie(){if(he)return Ke.exports;he=1;var t=$e(),e=U(),n=Fe(),r="__core-js_shared__",i=Ke.exports=e[r]||n(r,{});return(i.versions||(i.versions=[])).push({version:"3.40.0",mode:t?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",source:"https://github.com/zloirock/core-js"}),Ke.exports}function Me(){if(pe)return le;pe=1;var t=Ie();return le=function(e,n){return t[e]||(t[e]=n||{})}}function Le(){if(me)return de;me=1;var t=Gt(),e=Object;return de=function(n){return e(t(n))}}function De(){if(ve)return ye;ve=1;var t=J(),e=Le(),n=t({}.hasOwnProperty);return ye=Object.hasOwn||function(t,r){return n(e(t),r)}}function qe(){if(be)return ge;be=1;var t=J(),e=0,n=Math.random(),r=t(1..toString);return ge=function(t){return"Symbol("+(void 0===t?"":t)+")_"+r(++e+n,36)}}function Ue(){if(Oe)return we;Oe=1;var t=U(),e=Me(),n=De(),r=qe(),i=te(),o=ee(),s=t.Symbol,c=e("wks"),u=o?s.for||s:s&&s.withoutSetter||r;return we=function(t){return n(c,t)||(c[t]=i&&n(s,t)?s[t]:u("Symbol."+t)),c[t]}}function Ve(){if(Se)return Ee;Se=1;var t=rt(),e=Ht(),n=ne(),r=oe(),i=se(),o=TypeError,s=Ue()("toPrimitive");return Ee=function(c,u){if(!e(c)||n(c))return c;var a,f=r(c,s);if(f){if(void 0===u&&(u="default"),a=t(f,c,u),!e(a)||n(a))return a;throw new o("Can't convert object to primitive value")}return void 0===u&&(u="number"),i(c,u)}}function We(){if(xe)return je;xe=1;var t=Ve(),e=ne();return je=function(n){var r=t(n,"string");return e(r)?r:r+""}}function Ge(){if(Ae)return ke;Ae=1;var t=U(),e=Ht(),n=t.document,r=e(n)&&e(n.createElement);return ke=function(t){return r?n.createElement(t):{}}}function Je(){if(_e)return Pe;_e=1;var t=nt(),e=V(),n=Ge();return Pe=!t&&!e((function(){return 7!==Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a}))}function He(){if(Te)return et;Te=1;var t=nt(),e=rt(),n=qt(),r=Ut(),i=Jt(),o=We(),s=De(),c=Je(),u=Object.getOwnPropertyDescriptor;return et.f=t?u:function(t,a){if(t=i(t),a=o(a),c)try{return u(t,a)}catch(t){}if(s(t,a))return r(!e(n.f,t,a),t[a])},et}function Be(){if(Re)return Ce;Re=1;var t=V(),e=Q(),n=/#|\.prototype\./,r=function(n,r){var u=o[i(n)];return u===c||u!==s&&(e(r)?t(r):!!r)},i=r.normalize=function(t){return String(t).replace(n,".").toLowerCase()},o=r.data={},s=r.NATIVE="N",c=r.POLYFILL="P";return Ce=r}function Qe(){if(Ne)return ze;Ne=1;var t=B(),e=ie(),n=W(),r=t(t.bind);return ze=function(t,i){return e(t),void 0===i?t:n?r(t,i):function(){return t.apply(i,arguments)}},ze}var Ye,Xe,Ze,tn,en,nn,rn,on,sn,cn,un,an,fn,hn,ln={};function pn(){return Xe?Ye:(Xe=1,Ye=nt()&&V()((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})))}function dn(){if(tn)return Ze;tn=1;var t=Ht(),e=String,n=TypeError;return Ze=function(r){if(t(r))return r;throw new n(e(r)+" is not an object")}}function mn(){if(en)return ln;en=1;var t=nt(),e=Je(),n=pn(),r=dn(),i=We(),o=TypeError,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,u="enumerable",a="configurable",f="writable";return ln.f=t?n?function(t,e,n){if(r(t),e=i(e),r(n),"function"==typeof t&&"prototype"===e&&"value"in n&&f in n&&!n[f]){var o=c(t,e);o&&o[f]&&(t[e]=n.value,n={configurable:a in n?n[a]:o[a],enumerable:u in n?n[u]:o[u],writable:!1})}return s(t,e,n)}:s:function(t,n,c){if(r(t),n=i(n),r(c),e)try{return s(t,n,c)}catch(t){}if("get"in c||"set"in c)throw new o("Accessors not supported");return"value"in c&&(t[n]=c.value),t},ln}function yn(){if(rn)return nn;rn=1;var t=nt(),e=mn(),n=Ut();return nn=t?function(t,r,i){return e.f(t,r,n(1,i))}:function(t,e,n){return t[e]=n,t}}function vn(){if(sn)return on;sn=1;var t=U(),e=G(),n=B(),r=Q(),i=He().f,o=Be(),s=Bt(),c=Qe(),u=yn(),a=De(),f=function(t){var n=function n(r,i,o){if(this instanceof n){switch(arguments.length){case 0:return new t;case 1:return new t(r);case 2:return new t(r,i)}return new t(r,i,o)}return e(t,this,arguments)};return n.prototype=t.prototype,n};return on=function(e,h){var l,p,d,m,y,v,g,b,w,O=e.target,E=e.global,S=e.stat,j=e.proto,x=E?t:S?t[O]:t[O]&&t[O].prototype,k=E?s:s[O]||u(s,O,{})[O],A=k.prototype;for(m in h)p=!(l=o(E?m:O+(S?".":"#")+m,e.forced))&&x&&a(x,m),v=k[m],p&&(g=e.dontCallGetSet?(w=i(x,m))&&w.value:x[m]),y=p&&g?g:h[m],(l||j||typeof v!=typeof y)&&(b=e.bind&&p?c(y,t):e.wrap&&p?f(y):j&&r(y)?n(y):y,(e.sham||y&&y.sham||v&&v.sham)&&u(b,"sham",!0),u(k,m,b),j&&(a(s,d=O+"Prototype")||u(s,d,{}),u(s[d],m,y),e.real&&A&&(l||!A[m])&&u(A,m,y)))}}function gn(){return an?un:(an=1,cn||(cn=1,vn()({target:"Object",stat:!0},{hasOwn:De()})),un=Bt().Object.hasOwn)}function bn(){return hn?fn:(hn=1,fn=gn())}var wn=k(bn());const On=["pk","schema","key"];function En(t,n={}){class r extends t{static toString(){return this.key}static toJSON(){return{key:this.key,schema:this.schema}}static pk(t,e,n,r){return this.prototype.pk.call(t,e,n,r)}static shouldUpdate(t,e,n,r){return!0}static shouldReorder(t,e,n,r){return e.fetchedAt<t.fetchedAt}static merge(t,n){return e({},t,n)}static mergeWithStore(t,e,n,r){return this.shouldUpdate(t,e,n,r)?typeof r!=typeof n?r:this.shouldReorder(t,e,n,r)?this.merge(r,n):this.merge(n,r):n}static mergeMetaWithStore(t,e,n,r){return this.shouldReorder(t,e,n,r)?t:e}static fromJS(t={}){const e=new this(t);return Object.assign(e,t),e}static createIfValid(t){if(!this.validate(t))return this.fromJS(t)}static process(t,n,r,i){return e({},t)}static normalize(t,e,n,r,i,o,s,c){const u=this.process(t,e,n,r);let a=this.pk(u,e,n,r);if(a=void 0===a||""===a||"undefined"===a?`MISS-${Math.random()}`:`${a}`,c(this.key,a,t))return a;return function(t){if(t){const e=new Error(t);throw e.status=400,e}}(this.validate(u)),Object.keys(this.schema).forEach((t=>{wn(u,t)&&(u[t]=i(this.schema[t],u[t],u,t,r))})),o(this,u,a),a}static validate(t){}static queryKey(t,e,n,r){if(!t[0])return;const i=function(t,e,n){if(["string","number"].includes(typeof e[0]))return`${e[0]}`;const r=t.pk(e[0],void 0,"",e);if(void 0!==r&&""!==r)return r;const i=(o=e[0],s=t.indexes,s?s.find((t=>wn(o,t))):void 0);var o,s;if(!i)return;const c=e[0][i];return n(t.key,i,c)[c]}(this,t,r);return n(this.key,i)?i:void 0}static denormalize(t,e,n){if("symbol"==typeof t)return t;for(const e of Object.keys(this.schema)){const r=n(this.schema[e],t[e]);if("symbol"==typeof r){if(this.defaults[e])return r;t[e]=void 0}else t[e]=r}return t}static get defaults(){return wn(this,"__defaults")||Object.defineProperty(this,"__defaults",{value:new this,writable:!0,configurable:!0}),this.__defaults}}const i=j(n,On);if(Object.assign(r,i),"schema"in n?r.schema=n.schema:t.schema||(r.schema={}),"pk"in n?"function"==typeof n.pk?r.prototype.pk=function(t,e){return n.pk(this,t,e)}:r.prototype.pk=function(){return this[n.pk]}:"function"!=typeof t.prototype.pk&&(r.prototype.pk=function(){return this.id}),"key"in n)Object.defineProperty(r,"key",{value:n.key,configurable:!0,writable:!0,enumerable:!0});else if(!("key"in t)){function o(t){Object.defineProperty(this,"key",{value:t,writable:!0,enumerable:!0,configurable:!0})}const s=function(){return"EntityMixin"===this.name?t.name:this.name},c="undefined"!=typeof document&&document.CLS_MANGLE?function(){return null==document.CLS_MANGLE||document.CLS_MANGLE(this),Object.defineProperty(r,"key",{get:s,set:o,enumerable:!0,configurable:!0}),s.call(this)}:s;Object.defineProperty(r,"key",{get:c,set:o,enumerable:!0,configurable:!0})}return r}var Sn=Object.freeze({__proto__:null,All:class extends a{constructor(t,e){super(t,e)}normalize(t,e,n,r,i,o,s,c){super.normalize(t,e,n,r,i,o,s,c)}queryKey(t,e,n,r){if(this.isSingleSchema){const t=n(this.schema.key);return void 0===t?f:Object.values(t).map((t=>t&&this.schema.pk(t)))}let i=!1;const o=Object.values(this.schema).flatMap((t=>{const e=n(t.key);return void 0===e?[]:(i=!0,Object.values(e).map((e=>({id:e&&t.pk(e),schema:this.getSchemaAttribute(e,void 0,void 0)}))))}));return i?o:f}},Array:a,Collection:g,Entity:En,EntityMixin:En,Invalidate:class{constructor(t){this._entity=t}get key(){return this._entity.key}normalize(t,e,n,r,i,o,s,c){const u=this._entity.process(t,e,n,r),a=this._entity.pk(u,e,n,r);return o(this,f,a),a}merge(t,e){return e}mergeWithStore(t,e,n,r){return this.merge(n,r)}mergeMetaWithStore(t,e,n,r){return e}queryKey(t,e,n,r){}denormalize(t,e,n){return n(this._entity,t)}_denormalizeNullable(){return{}}_normalizeNullable(){return{}}},Object:l,Query:class{constructor(t,e){this.schema=t,this.process=e}normalize(...t){return this.schema.normalize(...t)}denormalize(t,e,n){const r=n(this.schema,t);return"symbol"==typeof r?r:this.process(r,...e)}queryKey(t,e,n,r){return e(this.schema,t,n,r)}},Union:class extends s{constructor(t,e){if(!e)throw new Error('Expected option "schemaAttribute" not found on UnionSchema.');super(t,e)}normalize(t,e,n,r,i,o,s,c){return this.normalizeValue(t,e,n,r,i)}denormalize(t,e,n){return this.denormalizeValue(t,n)}queryKey(t,e,n,r){if(!t[0])return;const i=this.getSchemaAttribute(t[0],void 0,""),o=this.schema[i];if(void 0===o)return;const s=e(o,t,n,r);return void 0!==s?{id:s,schema:i}:void 0}},Values:c});const jn=class{};class xn extends(En(jn)){static process(t,e,n,r){return super.process(t,e,n,r)}}var kn;const An="undefined"!=typeof document;let Pn=An&&!(null!=(kn=document.querySelector("meta[http-equiv='Content-Security-Policy']"))&&kn.getAttribute("content"));try{Pn||Function()}catch(t){Pn=!0,An&&console.error("Content Security Policy: The previous CSP log can be safely ignored - @data-client/endpoint will use setPrototypeOf instead")}var _n;class Tn extends Function{constructor(t,e){let n,r;return Pn?(n=(...t)=>n.fetch(...t),Object.setPrototypeOf(n,new.target.prototype)):(super("return arguments.callee.fetch.apply(arguments.callee, arguments)"),n=this),t&&(n.fetch=t),e&&"name"in e||!t||!t.name||"anonymous"===t.name||(r=t.name),Object.defineProperty(n,"name",{get(){return r||this.__name},set(t){this.__name=t}}),Object.assign(n,e),n}key(...t){return`${this.name} ${JSON.stringify(t)}`}testKey(t){return t.startsWith(this.name)}bind(t,...e){const n=this.fetch,r=this.key;return this.extend({fetch(){return n.apply(null!=t?t:this,e)},key(){return r.apply(this,e)}})}extend(t){class e extends this.constructor{}return Object.assign(e.prototype,this),new e(t.fetch,t)}}_n=Tn,(()=>{if("undefined"!=typeof document&&document.FUNC_MANGLE){const t=_n.prototype.key;_n.prototype.key=function(...e){return null==document.FUNC_MANGLE||document.FUNC_MANGLE(this),this.prototype.key=t,t.call(this,...e)}}})();const Cn=Tn;function Rn(t,e){void 0===e&&(e={});for(var n=function(t){for(var e=[],n=0;n<t.length;){var r=t[n];if("*"!==r&&"+"!==r&&"?"!==r)if("\\"!==r)if("{"!==r)if("}"!==r)if(":"!==r)if("("!==r)e.push({type:"CHAR",index:n,value:t[n++]});else{var i=1,o="";if("?"===t[c=n+1])throw new TypeError('Pattern cannot start with "?" at '.concat(c));for(;c<t.length;)if("\\"!==t[c]){if(")"===t[c]){if(0==--i){c++;break}}else if("("===t[c]&&(i++,"?"!==t[c+1]))throw new TypeError("Capturing groups are not allowed at ".concat(c));o+=t[c++]}else o+=t[c++]+t[c++];if(i)throw new TypeError("Unbalanced pattern at ".concat(n));if(!o)throw new TypeError("Missing pattern at ".concat(n));e.push({type:"PATTERN",index:n,value:o}),n=c}else{for(var s="",c=n+1;c<t.length;){var u=t.charCodeAt(c);if(!(u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||95===u))break;s+=t[c++]}if(!s)throw new TypeError("Missing parameter name at ".concat(n));e.push({type:"NAME",index:n,value:s}),n=c}else e.push({type:"CLOSE",index:n,value:t[n++]});else e.push({type:"OPEN",index:n,value:t[n++]});else e.push({type:"ESCAPED_CHAR",index:n++,value:t[n++]});else e.push({type:"MODIFIER",index:n,value:t[n++]})}return e.push({type:"END",index:n,value:""}),e}(t),r=e.prefixes,i=void 0===r?"./":r,o=e.delimiter,s=void 0===o?"/#?":o,c=[],u=0,a=0,f="",h=function(t){if(a<n.length&&n[a].type===t)return n[a++].value},l=function(t){var e=h(t);if(void 0!==e)return e;var r=n[a],i=r.type,o=r.index;throw new TypeError("Unexpected ".concat(i," at ").concat(o,", expected ").concat(t))},p=function(){for(var t,e="";t=h("CHAR")||h("ESCAPED_CHAR");)e+=t;return e},d=function(t){var e=c[c.length-1],n=t||(e&&"string"==typeof e?e:"");if(e&&!n)throw new TypeError('Must have text between two parameters, missing text after "'.concat(e.name,'"'));return!n||function(t){for(var e=0,n=s;e<n.length;e++){var r=n[e];if(t.indexOf(r)>-1)return!0}return!1}(n)?"[^".concat(Nn(s),"]+?"):"(?:(?!".concat(Nn(n),")[^").concat(Nn(s),"])+?")};a<n.length;){var m=h("CHAR"),y=h("NAME"),v=h("PATTERN");if(y||v){var g=m||"";-1===i.indexOf(g)&&(f+=g,g=""),f&&(c.push(f),f=""),c.push({name:y||u++,prefix:g,suffix:"",pattern:v||d(g),modifier:h("MODIFIER")||""})}else{var b=m||h("ESCAPED_CHAR");if(b)f+=b;else if(f&&(c.push(f),f=""),h("OPEN")){g=p();var w=h("NAME")||"",O=h("PATTERN")||"",E=p();l("CLOSE"),c.push({name:w||(O?u++:""),pattern:w&&!O?d(g):O,prefix:g,suffix:E,modifier:h("MODIFIER")||""})}else l("END")}}return c}function zn(t,e){return function(t,e){void 0===e&&(e={});var n=Kn(e),r=e.encode,i=void 0===r?function(t){return t}:r,o=e.validate,s=void 0===o||o,c=t.map((function(t){if("object"==typeof t)return new RegExp("^(?:".concat(t.pattern,")$"),n)}));return function(e){for(var n="",r=0;r<t.length;r++){var o=t[r];if("string"!=typeof o){var u=e?e[o.name]:void 0,a="?"===o.modifier||"*"===o.modifier,f="*"===o.modifier||"+"===o.modifier;if(Array.isArray(u)){if(!f)throw new TypeError('Expected "'.concat(o.name,'" to not repeat, but got an array'));if(0===u.length){if(a)continue;throw new TypeError('Expected "'.concat(o.name,'" to not be empty'))}for(var h=0;h<u.length;h++){var l=i(u[h],o);if(s&&!c[r].test(l))throw new TypeError('Expected all "'.concat(o.name,'" to match "').concat(o.pattern,'", but got "').concat(l,'"'));n+=o.prefix+l+o.suffix}}else if("string"!=typeof u&&"number"!=typeof u){if(!a){var p=f?"an array":"a string";throw new TypeError('Expected "'.concat(o.name,'" to be ').concat(p))}}else{l=i(String(u),o);if(s&&!c[r].test(l))throw new TypeError('Expected "'.concat(o.name,'" to match "').concat(o.pattern,'", but got "').concat(l,'"'));n+=o.prefix+l+o.suffix}}else n+=o}return n}}(Rn(t,e),e)}function Nn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function Kn(t){return t&&t.sensitive?"":"i"}function $n(t,e,n){return function(t,e,n){void 0===n&&(n={});for(var r=n.strict,i=void 0!==r&&r,o=n.start,s=void 0===o||o,c=n.end,u=void 0===c||c,a=n.encode,f=void 0===a?function(t){return t}:a,h=n.delimiter,l=void 0===h?"/#?":h,p=n.endsWith,d="[".concat(Nn(void 0===p?"":p),"]|$"),m="[".concat(Nn(l),"]"),y=s?"^":"",v=0,g=t;v<g.length;v++){var b=g[v];if("string"==typeof b)y+=Nn(f(b));else{var w=Nn(f(b.prefix)),O=Nn(f(b.suffix));if(b.pattern)if(w||O)if("+"===b.modifier||"*"===b.modifier){var E="*"===b.modifier?"?":"";y+="(?:".concat(w,"((?:").concat(b.pattern,")(?:").concat(O).concat(w,"(?:").concat(b.pattern,"))*)").concat(O,")").concat(E)}else y+="(?:".concat(w,"(").concat(b.pattern,")").concat(O,")").concat(b.modifier);else{if("+"===b.modifier||"*"===b.modifier)throw new TypeError('Can not repeat "'.concat(b.name,'" without a prefix and suffix'));y+="(".concat(b.pattern,")").concat(b.modifier)}else y+="(?:".concat(w).concat(O,")").concat(b.modifier)}}if(u)i||(y+="".concat(m,"?")),y+=n.endsWith?"(?=".concat(d,")"):"$";else{var S=t[t.length-1],j="string"==typeof S?m.indexOf(S[S.length-1])>-1:void 0===S;i||(y+="(?:".concat(m,"(?=").concat(d,"))?")),j||(y+="(?=".concat(m,"|").concat(d,")"))}return new RegExp(y,Kn(n))}(Rn(t,n),0,n)}function Fn(t,e,n){return t instanceof RegExp?function(t){return t}(t):Array.isArray(t)?function(t,e,n){var r=t.map((function(t){return Fn(t,e,n).source}));return new RegExp("(?:".concat(r.join("|"),")"),Kn(n))}(t,e,n):$n(t,0,n)}function In(t,n){if("object"!=typeof t||void 0===t||Array.isArray(t))return;if(t instanceof g)return n(t);const r=e({},t instanceof l?t.schema:t);for(const t in r){if(!r[t])continue;const e=In(r[t],n);if(e)return e}}function Mn(t,n){if("object"!=typeof t||void 0===t)return t;if(t instanceof g)return n(t);const r=e({},t instanceof l?t.schema:t);for(const t in r)r[t]&&(r[t]=Mn(r[t],n));return r}class Ln extends Error{constructor(t){super(`${t.url}: ${t.statusText||`Status not 'ok': ${t.status}`}`),this.name="NetworkError",this.status=t.status,this.response=t}}function Dn(t,e){const n=new Set(t),r=[...t];for(const t of e)n.has(t)||r.push(t);return r}const qn=Object.create(null);function Un(t){return t in qn||(qn[t]=zn(t,{encode:encodeURIComponent,validate:!1})),qn[t]}const Vn=Object.create(null);function Wn(t){return t in Vn||(Vn[t]=new Set(Rn(t).map((t=>"string"==typeof t?t:`${t.name}`)))),Vn[t]}const Gn=Object.prototype,Jn=Object.getPrototypeOf;var Hn=i("hasBody");class Bn extends Tn{constructor(t){var e;super(null!=(e=t.fetch)?e:async function(...t){const e=n(this,Hn)[Hn]&&t.length<2?{}:t[0]||{},r=n(this,Hn)[Hn]?t[t.length-1]:void 0;return this.fetchResponse(this.url(e),await this.getRequestInit(r)).then((t=>this.parseResponse(t))).then((e=>this.process(e,...t)))},t),Object.defineProperty(this,Hn,{writable:!0,value:void 0}),(!("sideEffect"in this)||"method"in t&&!("sideEffect"in t))&&(this.sideEffect="GET"!==t.method&&void 0!==t.method||void 0),void 0===this.method&&(this.method=this.sideEffect?"POST":"GET"),void 0===this.urlPrefix&&(this.urlPrefix=""),n(this,Hn)[Hn]=!("body"in this&&void 0===this.body||["GET","DELETE"].includes(this.method)),Object.defineProperty(this,"name",{get(){return"__name"in this?this.__name:this.urlPrefix+this.path}})}key(...t){return`${this.method} ${this.url(n(this,Hn)[Hn]&&t.length<2?{}:t[0]||{})}`}url(t={}){const e=Un(this.path)(t),n=Wn(this.path),r={};return Object.keys(t).forEach((e=>{n.has(e)||(r[e]=t[e])})),Object.keys(r).length?`${this.urlPrefix}${e}?${this.searchToString(r)}`:`${this.urlPrefix}${e}`}searchToString(t){return function(t){const e=new URLSearchParams(t);return e.sort(),e.toString()}(t)}getHeaders(t){return t}async getRequestInit(t){const n=null!==(r=t)&&"object"==typeof r&&Jn(r)===Gn;var r;n&&(t=JSON.stringify(t));const i=e({},this.requestInit,{method:this.method,signal:this.signal,body:t});return t&&!n||(i.headers=e({"Content-Type":"application/json"},i.headers)),i.headers=await this.getHeaders(i.headers),i}fetchResponse(t,e){return fetch(t,e).then((t=>{if(!t.ok)throw new Ln(t);return t})).catch((t=>{throw t instanceof TypeError&&(t.status=500),t}))}parseResponse(t){var e;return 204===t.status?Promise.resolve(null):null!=(e=t.headers.get("content-type"))&&e.includes("json")?t.json().catch((t=>{throw t.status=400,t})):t.text().then((e=>{if(["string","undefined"].includes(typeof this.schema)||null===this.schema||this.process!==Bn.prototype.process)return e;const n=new Ln(t);throw n.status=404,n.message=`Unexpected text response for schema ${this.schema}`,n}))}process(t){return t}errorPolicy(t){return t.status>=500?"soft":void 0}get pathRegex(){return Fn(this.path)}testKey(t){const e=this.method+" "+this.urlPrefix;if(!t.startsWith(e))return!1;let n=t.lastIndexOf("?");return-1===n&&(n=void 0),this.pathRegex.test(t.substring(e.length,n))}extend(t){class n extends this.constructor{}return Object.assign(n.prototype,this),new n(e({fetch:this.fetch},t))}paginated(t){if("string"==typeof t){const n=t;t=t=>{let r=e({},(function(t){if(null==t)throw new TypeError("Cannot destructure "+t)}(t),t));return delete r[n],[r]}}let n=!1;const r=Mn(this.schema,(e=>(n=!0,function(t,e){return Object.create(e,{name:{value:`Pagination(${e.schema})`},merge:{value:Dn},pk:{value:function(n,r,i,o){return e.pk.call(this,n,r,i,t(...o))}}})}(t,e))));if(!n)throw new Error("Missing Collection");const i=this;return this.extend({schema:r,key(...e){return i.key.call(this,...t(...e))},name:this.name+".getPage"})}get getPage(){return this.paginated(this.paginationField)}get push(){return this.extend({method:"POST",schema:In(this.schema,(t=>t.push)),name:this.name+".create"})}get unshift(){return this.extend({method:"POST",schema:In(this.schema,(t=>t.unshift)),name:this.name+".create"})}get assign(){return this.extend({method:"POST",schema:In(this.schema,(t=>t.assign)),name:this.name+".create"})}}const Qn=["path","schema","Endpoint","Collection","optimistic","paginationField"],{Invalidate:Yn,Collection:Xn}=Sn;function Zn(t){let{path:n,schema:r,Endpoint:i=Bn,Collection:o=Xn,optimistic:s,paginationField:c}=t,u=j(t,Qn);const a=function(t){const e=t.lastIndexOf(":");if(-1===e)throw new Error("Resource path requires at least one :parameter");let n=t.substring(0,e);return"/"===n[n.length-1]&&(n=n.substring(0,n.length-1)),n}(n),f=t=>`${null==r?void 0:r.name}.${t}`;function h(t,e,n){t[e]=t[e].extend(n)}const l=e({},u),p=e({},u),d=new i(e({},u,{path:n,schema:r,name:f("get")}));s&&(l.getOptimisticResponse=tr,p.getOptimisticResponse=function(t){return function(n,r,i){const o=n.get(t,r);if(!o)throw n.abort;return e({},r,o,nr(i))}}(r));const m=new i(e({},l,{paginationField:c,path:a,schema:new o([r]),name:f("getList")}));return{get:d,getList:m,create:m.push.extend({name:f("create")}),update:new i(e({},l,{path:n,schema:r,method:"PUT",name:f("update")})),partialUpdate:new i(e({},p,{path:n,schema:r,method:"PATCH",name:f("partialUpdate")})),delete:new i(e({},l,{path:n,schema:r.process?new Yn(r):r,method:"DELETE",name:f("delete"),process:(t,e)=>t&&Object.keys(t).length?t:e,getOptimisticResponse:s?er:void 0})),extend(...t){if("string"==typeof t[0]){const[n,r]=t;if(n in this){const t=e({},this);return h(t,n,r),t}return e({},this,{[n]:this.get.extend(r)})}if("function"==typeof t[0]){return e({},this,t[0](this))}const n=t[0],r=e({},this);for(const t in n)h(r,t,n[t]);return r}}}function tr(t,n,r){return e({},n,nr(r))}function er(t,e){return e}function nr(t){return t instanceof FormData?Object.fromEntries(t.entries()):t}t.Endpoint=Tn,t.Entity=xn,t.EntityMixin=En,t.ExtendableEndpoint=Cn,t.INVALID=f,t.NetworkError=Ln,t.RestEndpoint=Bn,t.createResource=Zn,t.getUrlBase=Un,t.getUrlTokens=Wn,t.hookifyResource=function(t,e){const n={};return Object.keys(t).forEach((r=>{const i=t[r];var o;void 0!==i.extend&&(n[`use${o=r,o.charAt(0).toUpperCase()+o.slice(1)}`]=()=>{const t=e();return i.extend({requestInit:t})})})),n},t.resource=Zn,t.schema=Sn,t.validateRequired=function(t,e){let n="";if(Object.keys(e).some((e=>!wn(t,e)&&(n=e,!0))))return`Missing key ${n}`}}));
@@ -1,6 +1,8 @@
1
- import _objectDestructuringEmpty from "@babel/runtime/helpers/objectDestructuringEmpty";
2
- import _classPrivateFieldLooseBase from "@babel/runtime/helpers/classPrivateFieldLooseBase";
3
- import _classPrivateFieldLooseKey from "@babel/runtime/helpers/classPrivateFieldLooseKey";
1
+ import _objectDestructuringEmpty from "@babel/runtime-corejs3/helpers/esm/objectDestructuringEmpty";
2
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
3
+ import _classPrivateFieldLooseBase from "@babel/runtime-corejs3/helpers/esm/classPrivateFieldLooseBase";
4
+ import _classPrivateFieldLooseKey from "@babel/runtime-corejs3/helpers/esm/classPrivateFieldLooseKey";
5
+ import _includesInstanceProperty from "core-js-pure/stable/instance/includes.js";
4
6
  import { Endpoint } from '@data-client/endpoint';
5
7
  import { pathToRegexp } from 'path-to-regexp';
6
8
  import extractCollection from './extractCollection.js';
@@ -17,7 +19,7 @@ import { getUrlBase, getUrlTokens, isPojo } from './RestHelpers.js';
17
19
  var _hasBody = /*#__PURE__*/_classPrivateFieldLooseKey("hasBody");
18
20
  export default class RestEndpoint extends Endpoint {
19
21
  constructor(options) {
20
- var _options$fetch;
22
+ var _options$fetch, _context;
21
23
  super((_options$fetch = options.fetch) != null ? _options$fetch : async function (...args) {
22
24
  const urlParams = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] && args.length < 2 ? {} : args[0] || {};
23
25
  const body = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] ? args[args.length - 1] : undefined;
@@ -37,7 +39,7 @@ export default class RestEndpoint extends Endpoint {
37
39
  if (this.urlPrefix === undefined) {
38
40
  this.urlPrefix = '';
39
41
  }
40
- _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] = (!('body' in this) || this.body !== undefined) && !['GET', 'DELETE'].includes(this.method);
42
+ _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] = (!('body' in this) || this.body !== undefined) && !_includesInstanceProperty(_context = ['GET', 'DELETE']).call(_context, this.method);
41
43
  Object.defineProperty(this, 'name', {
42
44
  get() {
43
45
  // using 'in' to ensure inheritance lookup
@@ -80,13 +82,13 @@ export default class RestEndpoint extends Endpoint {
80
82
  if (bodyIsPojo) {
81
83
  body = JSON.stringify(body);
82
84
  }
83
- const init = Object.assign({}, this.requestInit, {
85
+ const init = _extends({}, this.requestInit, {
84
86
  method: this.method,
85
87
  signal: this.signal,
86
88
  body
87
89
  });
88
90
  if (!body || bodyIsPojo) {
89
- init.headers = Object.assign({
91
+ init.headers = _extends({
90
92
  // default to application/json but allow user explicit overrides
91
93
  'Content-Type': 'application/json'
92
94
  }, init.headers);
@@ -114,11 +116,12 @@ export default class RestEndpoint extends Endpoint {
114
116
  var _response$headers$get;
115
117
  // this should not have any content to read
116
118
  if (response.status === 204) return Promise.resolve(null);
117
- if (!((_response$headers$get = response.headers.get('content-type')) != null && _response$headers$get.includes('json'))) {
119
+ if (!((_response$headers$get = response.headers.get('content-type')) != null && _includesInstanceProperty(_response$headers$get).call(_response$headers$get, 'json'))) {
118
120
  return response.text().then(text => {
121
+ var _context2;
119
122
  // string or 'not set' schema, are valid
120
123
  // when overriding process they might handle other cases, so we don't want to block on our logic
121
- if (['string', 'undefined'].includes(typeof this.schema) || this.schema === null || this.process !== RestEndpoint.prototype.process) return text;
124
+ if (_includesInstanceProperty(_context2 = ['string', 'undefined']).call(_context2, typeof this.schema) || this.schema === null || this.process !== RestEndpoint.prototype.process) return text;
122
125
  const error = new NetworkError(response);
123
126
  error.status = 404;
124
127
  error.message = `Unexpected text response for schema ${this.schema}`;
@@ -126,7 +129,7 @@ export default class RestEndpoint extends Endpoint {
126
129
  /* istanbul ignore else */
127
130
  if (process.env.NODE_ENV !== 'production') {
128
131
  var _response$headers$get2;
129
- if (!((_response$headers$get2 = response.headers.get('content-type')) != null && _response$headers$get2.includes('html') || text.startsWith('<!doctype html>'))) {
132
+ if (!((_response$headers$get2 = response.headers.get('content-type')) != null && _includesInstanceProperty(_response$headers$get2).call(_response$headers$get2, 'html') || text.startsWith('<!doctype html>'))) {
130
133
  if (tryParse(text) !== undefined) {
131
134
  error.message = `"content-type" header does not include "json", but JSON response found.
132
135
  See https://www.rfc-editor.org/rfc/rfc4627 for information on JSON responses
@@ -171,7 +174,7 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
171
174
  class E extends this.constructor {}
172
175
  Object.assign(E.prototype, this);
173
176
  return new E(// fetch get overridden by function prototype, so we must set it explicitly every time
174
- Object.assign({
177
+ _extends({
175
178
  fetch: this.fetch
176
179
  }, options));
177
180
  }
@@ -179,7 +182,7 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
179
182
  if (typeof removeCursor === 'string') {
180
183
  const fieldName = removeCursor;
181
184
  removeCursor = _ref => {
182
- let params = Object.assign({}, (_objectDestructuringEmpty(_ref), _ref));
185
+ let params = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
183
186
  delete params[fieldName];
184
187
  return [params];
185
188
  };
@@ -232,4 +235,4 @@ const tryParse = input => {
232
235
  return undefined;
233
236
  }
234
237
  };
235
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsImNyZWF0ZVBhZ2luYXRpb25TY2hlbWEiLCJwYXJhbXNUb1N0cmluZyIsImdldFVybEJhc2UiLCJnZXRVcmxUb2tlbnMiLCJpc1Bvam8iLCJfaGFzQm9keSIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlS2V5IiwiUmVzdEVuZHBvaW50IiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiX29wdGlvbnMkZmV0Y2giLCJmZXRjaCIsImFyZ3MiLCJ1cmxQYXJhbXMiLCJfY2xhc3NQcml2YXRlRmllbGRMb29zZUJhc2UiLCJsZW5ndGgiLCJib2R5IiwidW5kZWZpbmVkIiwiZmV0Y2hSZXNwb25zZSIsInVybCIsImdldFJlcXVlc3RJbml0IiwidGhlbiIsInJlc3BvbnNlIiwicGFyc2VSZXNwb25zZSIsInJlcyIsInByb2Nlc3MiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsIndyaXRhYmxlIiwidmFsdWUiLCJzaWRlRWZmZWN0IiwibWV0aG9kIiwidXJsUHJlZml4IiwiaW5jbHVkZXMiLCJnZXQiLCJfX25hbWUiLCJwYXRoIiwia2V5IiwidXJsQmFzZSIsInRva2VucyIsInNlYXJjaFBhcmFtcyIsImtleXMiLCJmb3JFYWNoIiwiayIsImhhcyIsInNlYXJjaFRvU3RyaW5nIiwiZ2V0SGVhZGVycyIsImhlYWRlcnMiLCJib2R5SXNQb2pvIiwiSlNPTiIsInN0cmluZ2lmeSIsImluaXQiLCJhc3NpZ24iLCJyZXF1ZXN0SW5pdCIsInNpZ25hbCIsImlucHV0Iiwib2siLCJjYXRjaCIsImVycm9yIiwiVHlwZUVycm9yIiwic3RhdHVzIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0ZXh0Iiwic2NoZW1hIiwicHJvdG90eXBlIiwibWVzc2FnZSIsImVudiIsIk5PREVfRU5WIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0MiIsInN0YXJ0c1dpdGgiLCJ0cnlQYXJzZSIsInN1YnN0cmluZyIsImpzb24iLCJlcnJvclBvbGljeSIsInBhdGhSZWdleCIsInRlc3RLZXkiLCJwcmVmaXgiLCJsYXN0UXVlc3Rpb24iLCJsYXN0SW5kZXhPZiIsInRlc3QiLCJleHRlbmQiLCJFIiwicGFnaW5hdGVkIiwicmVtb3ZlQ3Vyc29yIiwiZmllbGROYW1lIiwiX3JlZiIsInBhcmFtcyIsIl9vYmplY3REZXN0cnVjdHVyaW5nRW1wdHkiLCJmb3VuZCIsImNyZWF0ZVBhZ2luYXRlZFNjaGVtYSIsImNvbGxlY3Rpb24iLCJuZXdTY2hlbWEiLCJFcnJvciIsInN1cCIsImNhbGwiLCJuYW1lIiwiZ2V0UGFnZSIsInBhZ2luYXRpb25GaWVsZCIsInB1c2giLCJzIiwidW5zaGlmdCIsInBhcnNlIiwiZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9SZXN0RW5kcG9pbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5kcG9pbnQgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHsgcGF0aFRvUmVnZXhwIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuXG5pbXBvcnQgZXh0cmFjdENvbGxlY3Rpb24gZnJvbSAnLi9leHRyYWN0Q29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgbWFwQ29sbGVjdGlvbiBmcm9tICcuL21hcENvbGxlY3Rpb24uanMnO1xuaW1wb3J0IE5ldHdvcmtFcnJvciBmcm9tICcuL05ldHdvcmtFcnJvci5qcyc7XG5pbXBvcnQgeyBjcmVhdGVQYWdpbmF0aW9uU2NoZW1hIH0gZnJvbSAnLi9wYWdpbmF0ZWRDb2xsZWN0aW9ucy5qcyc7XG5pbXBvcnQgcGFyYW1zVG9TdHJpbmcgZnJvbSAnLi9wYXJhbXNUb1N0cmluZy5qcyc7XG5pbXBvcnQgeyBnZXRVcmxCYXNlLCBnZXRVcmxUb2tlbnMsIGlzUG9qbyB9IGZyb20gJy4vUmVzdEhlbHBlcnMuanMnO1xuXG4vKiogU2ltcGxpZmllcyBlbmRwb2ludCBkZWZpbml0aW9ucyB0aGF0IGZvbGxvdyBSRVNUIHBhdHRlcm5zXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlc3RFbmRwb2ludCBleHRlbmRzIEVuZHBvaW50IHtcbiAgI2hhc0JvZHk7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICBzdXBlcihcbiAgICAgIG9wdGlvbnMuZmV0Y2ggPz9cbiAgICAgICAgYXN5bmMgZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgICAgICBjb25zdCB1cmxQYXJhbXMgPVxuICAgICAgICAgICAgdGhpcy4jaGFzQm9keSAmJiBhcmdzLmxlbmd0aCA8IDIgPyB7fSA6IGFyZ3NbMF0gfHwge307XG4gICAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuI2hhc0JvZHkgPyBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hSZXNwb25zZShcbiAgICAgICAgICAgIHRoaXMudXJsKHVybFBhcmFtcyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdldFJlcXVlc3RJbml0KGJvZHkpLFxuICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHRoaXMucGFyc2VSZXNwb25zZShyZXNwb25zZSkpXG4gICAgICAgICAgICAudGhlbihyZXMgPT4gdGhpcy5wcm9jZXNzKHJlcywgLi4uYXJncykpO1xuICAgICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICAgIC8vIHdlIHdhbnQgdG8gdXNlIHRoZSBwcm90b3R5cGUgY2hhaW4gaGVyZVxuICAgIGlmIChcbiAgICAgICEoJ3NpZGVFZmZlY3QnIGluIHRoaXMpIHx8XG4gICAgICAoJ21ldGhvZCcgaW4gb3B0aW9ucyAmJiAhKCdzaWRlRWZmZWN0JyBpbiBvcHRpb25zKSlcbiAgICApIHtcbiAgICAgIHRoaXMuc2lkZUVmZmVjdCA9XG4gICAgICAgIG9wdGlvbnMubWV0aG9kID09PSAnR0VUJyB8fCBvcHRpb25zLm1ldGhvZCA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgOiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5tZXRob2QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5tZXRob2QgPSB0aGlzLnNpZGVFZmZlY3QgPyAnUE9TVCcgOiAnR0VUJztcbiAgICB9XG4gICAgaWYgKHRoaXMudXJsUHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudXJsUHJlZml4ID0gJyc7XG4gICAgfVxuICAgIHRoaXMuI2hhc0JvZHkgPVxuICAgICAgKCEoJ2JvZHknIGluIHRoaXMpIHx8IHRoaXMuYm9keSAhPT0gdW5kZWZpbmVkKSAmJlxuICAgICAgIVsnR0VUJywgJ0RFTEVURSddLmluY2x1ZGVzKHRoaXMubWV0aG9kKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnbmFtZScsIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgLy8gdXNpbmcgJ2luJyB0byBlbnN1cmUgaW5oZXJpdGFuY2UgbG9va3VwXG4gICAgICAgIGlmICgnX19uYW1lJyBpbiB0aGlzKSByZXR1cm4gdGhpcy5fX25hbWU7XG4gICAgICAgIHJldHVybiB0aGlzLnVybFByZWZpeCArIHRoaXMucGF0aDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBrZXkoLi4uYXJncykge1xuICAgIHJldHVybiBgJHt0aGlzLm1ldGhvZH0gJHt0aGlzLnVybChcbiAgICAgIHRoaXMuI2hhc0JvZHkgJiYgYXJncy5sZW5ndGggPCAyID8ge30gOiBhcmdzWzBdIHx8IHt9LFxuICAgICl9YDtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIHVybCAqL1xuICB1cmwodXJsUGFyYW1zID0ge30pIHtcbiAgICBjb25zdCB1cmxCYXNlID0gZ2V0VXJsQmFzZSh0aGlzLnBhdGgpKHVybFBhcmFtcyk7XG4gICAgY29uc3QgdG9rZW5zID0gZ2V0VXJsVG9rZW5zKHRoaXMucGF0aCk7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0ge307XG4gICAgT2JqZWN0LmtleXModXJsUGFyYW1zKS5mb3JFYWNoKGsgPT4ge1xuICAgICAgaWYgKCF0b2tlbnMuaGFzKGspKSB7XG4gICAgICAgIHNlYXJjaFBhcmFtc1trXSA9IHVybFBhcmFtc1trXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoT2JqZWN0LmtleXMoc2VhcmNoUGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnVybFByZWZpeH0ke3VybEJhc2V9PyR7dGhpcy5zZWFyY2hUb1N0cmluZyhzZWFyY2hQYXJhbXMpfWA7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLnVybFByZWZpeH0ke3VybEJhc2V9YDtcbiAgfVxuXG4gIC8qKiBFbmNvZGUgdGhlIHVybCBzZWFyY2hQYXJhbXMgKi9cbiAgc2VhcmNoVG9TdHJpbmcoc2VhcmNoUGFyYW1zKSB7XG4gICAgcmV0dXJuIHBhcmFtc1RvU3RyaW5nKHNlYXJjaFBhcmFtcyk7XG4gIH1cblxuICBnZXRIZWFkZXJzKGhlYWRlcnMpIHtcbiAgICByZXR1cm4gaGVhZGVycztcbiAgfVxuXG4gIC8qKiBJbml0IG9wdGlvbnMgZm9yIGZldGNoIC0gcnVuIGF0IGZldGNoICovXG4gIGFzeW5jIGdldFJlcXVlc3RJbml0KGJvZHkpIHtcbiAgICBjb25zdCBib2R5SXNQb2pvID0gaXNQb2pvKGJvZHkpO1xuICAgIGlmIChib2R5SXNQb2pvKSB7XG4gICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoYm9keSk7XG4gICAgfVxuICAgIGNvbnN0IGluaXQgPSB7XG4gICAgICAuLi50aGlzLnJlcXVlc3RJbml0LFxuICAgICAgbWV0aG9kOiB0aGlzLm1ldGhvZCxcbiAgICAgIHNpZ25hbDogdGhpcy5zaWduYWwsXG4gICAgICBib2R5LFxuICAgIH07XG4gICAgaWYgKCFib2R5IHx8IGJvZHlJc1Bvam8pIHtcbiAgICAgIGluaXQuaGVhZGVycyA9IHtcbiAgICAgICAgLy8gZGVmYXVsdCB0byBhcHBsaWNhdGlvbi9qc29uIGJ1dCBhbGxvdyB1c2VyIGV4cGxpY2l0IG92ZXJyaWRlc1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAuLi5pbml0LmhlYWRlcnMsXG4gICAgICB9O1xuICAgIH1cbiAgICBpbml0LmhlYWRlcnMgPSBhd2FpdCB0aGlzLmdldEhlYWRlcnMoaW5pdC5oZWFkZXJzKTtcbiAgICByZXR1cm4gaW5pdDtcbiAgfVxuXG4gIC8qKiBQZXJmb3JtIG5ldHdvcmsgcmVxdWVzdCBhbmQgcmVzb2x2ZSB3aXRoIEhUVFAgUmVzcG9uc2UgKi9cbiAgZmV0Y2hSZXNwb25zZShpbnB1dCwgaW5pdCkge1xuICAgIHJldHVybiBmZXRjaChpbnB1dCwgaW5pdClcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBOZXR3b3JrRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAvLyBlbnN1cmUgQ09SUywgbmV0d29yayBkb3duLCBhbmQgcGFyc2UgZXJyb3JzIGFyZSBzdGlsbCBjYXVnaHQgYnkgTmV0d29ya0Vycm9yQm91bmRhcnlcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7XG4gICAgICAgICAgZXJyb3Iuc3RhdHVzID0gNTAwO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gIH1cblxuICBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSB7XG4gICAgLy8gdGhpcyBzaG91bGQgbm90IGhhdmUgYW55IGNvbnRlbnQgdG8gcmVhZFxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwNCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICBpZiAoIXJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2pzb24nKSkge1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKS50aGVuKHRleHQgPT4ge1xuICAgICAgICAvLyBzdHJpbmcgb3IgJ25vdCBzZXQnIHNjaGVtYSwgYXJlIHZhbGlkXG4gICAgICAgIC8vIHdoZW4gb3ZlcnJpZGluZyBwcm9jZXNzIHRoZXkgbWlnaHQgaGFuZGxlIG90aGVyIGNhc2VzLCBzbyB3ZSBkb24ndCB3YW50IHRvIGJsb2NrIG9uIG91ciBsb2dpY1xuICAgICAgICBpZiAoXG4gICAgICAgICAgWydzdHJpbmcnLCAndW5kZWZpbmVkJ10uaW5jbHVkZXModHlwZW9mIHRoaXMuc2NoZW1hKSB8fFxuICAgICAgICAgIHRoaXMuc2NoZW1hID09PSBudWxsIHx8XG4gICAgICAgICAgdGhpcy5wcm9jZXNzICE9PSBSZXN0RW5kcG9pbnQucHJvdG90eXBlLnByb2Nlc3NcbiAgICAgICAgKVxuICAgICAgICAgIHJldHVybiB0ZXh0O1xuXG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IE5ldHdvcmtFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIGVycm9yLnN0YXR1cyA9IDQwNDtcbiAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIHRleHQgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfWA7XG4gICAgICAgIC8vIGN1c3RvbSBkZXYtb25seSBtZXNzYWdlcyBmb3IgbW9yZSBkZXRhaWxlZCBjYXVzZVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2h0bWwnKSB8fFxuICAgICAgICAgICAgICB0ZXh0LnN0YXJ0c1dpdGgoJzwhZG9jdHlwZSBodG1sPicpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAodHJ5UGFyc2UodGV4dCkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gYFwiY29udGVudC10eXBlXCIgaGVhZGVyIGRvZXMgbm90IGluY2x1ZGUgXCJqc29uXCIsIGJ1dCBKU09OIHJlc3BvbnNlIGZvdW5kLlxuU2VlIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM0NjI3IGZvciBpbmZvcm1hdGlvbiBvbiBKU09OIHJlc3BvbnNlc1xuXG5Vc2luZyBwYXJzZWQgSlNPTi5cbklmIHRleHQgY29udGVudCB3YXMgZXhwZWN0ZWQgc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjcGFyc2VSZXNwb25zZWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgVW5leHBlY3RlZCBodG1sIHJlc3BvbnNlIGZvciBzY2hlbWEgJHt0aGlzLnNjaGVtYX1cblRoaXMgbGlrZWx5IG1lYW5zIG5vIEFQSSBlbmRwb2ludCB3YXMgY29uZmlndXJlZCBmb3IgdGhpcyByZXF1ZXN0LCByZXN1bHRpbmcgaW4gYW4gSFRNTCBmYWxsYmFjay5cblxuUmVzcG9uc2UgKGZpcnN0IDMwMCBjaGFyYWN0ZXJzKTogJHt0ZXh0LnN1YnN0cmluZygwLCAzMDApfWA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXNwb25zZS5qc29uKCkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgZXJyb3Iuc3RhdHVzID0gNDAwO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG4gIH1cblxuICBwcm9jZXNzKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgZXJyb3JQb2xpY3koZXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID49IDUwMCA/ICdzb2Z0JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBwYXRoUmVnZXgoKSB7XG4gICAgcmV0dXJuIHBhdGhUb1JlZ2V4cCh0aGlzLnBhdGgpO1xuICB9XG5cbiAgdGVzdEtleShrZXkpIHtcbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLm1ldGhvZCArICcgJyArIHRoaXMudXJsUHJlZml4O1xuICAgIGlmICgha2V5LnN0YXJ0c1dpdGgocHJlZml4KSkgcmV0dXJuIGZhbHNlO1xuICAgIGxldCBsYXN0UXVlc3Rpb24gPSBrZXkubGFzdEluZGV4T2YoJz8nKTtcbiAgICBpZiAobGFzdFF1ZXN0aW9uID09PSAtMSkgbGFzdFF1ZXN0aW9uID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnBhdGhSZWdleC50ZXN0KGtleS5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCwgbGFzdFF1ZXN0aW9uKSk7XG4gIH1cblxuICBleHRlbmQob3B0aW9ucykge1xuICAgIC8vIG1ha2UgYSBjb25zdHJ1Y3Rvci9wcm90b3R5cGUgYmFzZWQgb2ZmIHRoaXNcbiAgICAvLyBleHRlbmQgZnJvbSBpdCBhbmQgaW5pdCB3aXRoIG9wdGlvbnMgc2VudFxuICAgIGNsYXNzIEUgZXh0ZW5kcyB0aGlzLmNvbnN0cnVjdG9yIHt9XG5cbiAgICBPYmplY3QuYXNzaWduKEUucHJvdG90eXBlLCB0aGlzKTtcblxuICAgIHJldHVybiBuZXcgRShcbiAgICAgIC8vICBmZXRjaCBnZXQgb3ZlcnJpZGRlbiBieSBmdW5jdGlvbiBwcm90b3R5cGUsIHNvIHdlIG11c3Qgc2V0IGl0IGV4cGxpY2l0bHkgZXZlcnkgdGltZVxuICAgICAgeyBmZXRjaDogdGhpcy5mZXRjaCwgLi4ub3B0aW9ucyB9LFxuICAgICk7XG4gIH1cblxuICBwYWdpbmF0ZWQocmVtb3ZlQ3Vyc29yKSB7XG4gICAgaWYgKHR5cGVvZiByZW1vdmVDdXJzb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSByZW1vdmVDdXJzb3I7XG4gICAgICByZW1vdmVDdXJzb3IgPSAoeyAuLi5wYXJhbXMgfSkgPT4ge1xuICAgICAgICBkZWxldGUgcGFyYW1zW2ZpZWxkTmFtZV07XG4gICAgICAgIHJldHVybiBbcGFyYW1zXTtcbiAgICAgIH07XG4gICAgfVxuICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgIGNvbnN0IGNyZWF0ZVBhZ2luYXRlZFNjaGVtYSA9IGNvbGxlY3Rpb24gPT4ge1xuICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgcmV0dXJuIGNyZWF0ZVBhZ2luYXRpb25TY2hlbWEocmVtb3ZlQ3Vyc29yLCBjb2xsZWN0aW9uKTtcbiAgICB9O1xuICAgIGNvbnN0IG5ld1NjaGVtYSA9IG1hcENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIGNyZWF0ZVBhZ2luYXRlZFNjaGVtYSk7XG5cbiAgICBpZiAoIWZvdW5kKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQ29sbGVjdGlvbicpO1xuICAgIGNvbnN0IHN1cCA9IHRoaXM7XG5cbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgc2NoZW1hOiBuZXdTY2hlbWEsXG4gICAgICBrZXkoLi4uYXJncykge1xuICAgICAgICByZXR1cm4gc3VwLmtleS5jYWxsKHRoaXMsIC4uLnJlbW92ZUN1cnNvciguLi5hcmdzKSk7XG4gICAgICB9LFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJy5nZXRQYWdlJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBnZXRQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLnBhZ2luYXRlZCh0aGlzLnBhZ2luYXRpb25GaWVsZCk7XG4gIH1cblxuICBnZXQgcHVzaCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMucHVzaCksXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmNyZWF0ZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgdW5zaGlmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMudW5zaGlmdCksXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmNyZWF0ZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgYXNzaWduKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy5hc3NpZ24pLFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJy5jcmVhdGUnLFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IHRyeVBhcnNlID0gaW5wdXQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGlucHV0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLFFBQVEsUUFBUSx1QkFBdUI7QUFDaEQsU0FBU0MsWUFBWSxRQUFRLGdCQUFnQjtBQUU3QyxPQUFPQyxpQkFBaUIsTUFBTSx3QkFBd0I7QUFDdEQsT0FBT0MsYUFBYSxNQUFNLG9CQUFvQjtBQUM5QyxPQUFPQyxZQUFZLE1BQU0sbUJBQW1CO0FBQzVDLFNBQVNDLHNCQUFzQixRQUFRLDJCQUEyQjtBQUNsRSxPQUFPQyxjQUFjLE1BQU0scUJBQXFCO0FBQ2hELFNBQVNDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLFFBQVEsa0JBQWtCOztBQUVuRTtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBQUFD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
238
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsImNyZWF0ZVBhZ2luYXRpb25TY2hlbWEiLCJwYXJhbXNUb1N0cmluZyIsImdldFVybEJhc2UiLCJnZXRVcmxUb2tlbnMiLCJpc1Bvam8iLCJfaGFzQm9keSIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlS2V5IiwiUmVzdEVuZHBvaW50IiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiX29wdGlvbnMkZmV0Y2giLCJfY29udGV4dCIsImZldGNoIiwiYXJncyIsInVybFBhcmFtcyIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlQmFzZSIsImxlbmd0aCIsImJvZHkiLCJ1bmRlZmluZWQiLCJmZXRjaFJlc3BvbnNlIiwidXJsIiwiZ2V0UmVxdWVzdEluaXQiLCJ0aGVuIiwicmVzcG9uc2UiLCJwYXJzZVJlc3BvbnNlIiwicmVzIiwicHJvY2VzcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInNpZGVFZmZlY3QiLCJtZXRob2QiLCJ1cmxQcmVmaXgiLCJfaW5jbHVkZXNJbnN0YW5jZVByb3BlcnR5IiwiY2FsbCIsImdldCIsIl9fbmFtZSIsInBhdGgiLCJrZXkiLCJ1cmxCYXNlIiwidG9rZW5zIiwic2VhcmNoUGFyYW1zIiwia2V5cyIsImZvckVhY2giLCJrIiwiaGFzIiwic2VhcmNoVG9TdHJpbmciLCJnZXRIZWFkZXJzIiwiaGVhZGVycyIsImJvZHlJc1Bvam8iLCJKU09OIiwic3RyaW5naWZ5IiwiaW5pdCIsIl9leHRlbmRzIiwicmVxdWVzdEluaXQiLCJzaWduYWwiLCJpbnB1dCIsIm9rIiwiY2F0Y2giLCJlcnJvciIsIlR5cGVFcnJvciIsInN0YXR1cyIsIl9yZXNwb25zZSRoZWFkZXJzJGdldCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGV4dCIsIl9jb250ZXh0MiIsInNjaGVtYSIsInByb3RvdHlwZSIsIm1lc3NhZ2UiLCJlbnYiLCJOT0RFX0VOViIsIl9yZXNwb25zZSRoZWFkZXJzJGdldDIiLCJzdGFydHNXaXRoIiwidHJ5UGFyc2UiLCJzdWJzdHJpbmciLCJqc29uIiwiZXJyb3JQb2xpY3kiLCJwYXRoUmVnZXgiLCJ0ZXN0S2V5IiwicHJlZml4IiwibGFzdFF1ZXN0aW9uIiwibGFzdEluZGV4T2YiLCJ0ZXN0IiwiZXh0ZW5kIiwiRSIsImFzc2lnbiIsInBhZ2luYXRlZCIsInJlbW92ZUN1cnNvciIsImZpZWxkTmFtZSIsIl9yZWYiLCJwYXJhbXMiLCJfb2JqZWN0RGVzdHJ1Y3R1cmluZ0VtcHR5IiwiZm91bmQiLCJjcmVhdGVQYWdpbmF0ZWRTY2hlbWEiLCJjb2xsZWN0aW9uIiwibmV3U2NoZW1hIiwiRXJyb3IiLCJzdXAiLCJuYW1lIiwiZ2V0UGFnZSIsInBhZ2luYXRpb25GaWVsZCIsInB1c2giLCJzIiwidW5zaGlmdCIsInBhcnNlIiwiZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9SZXN0RW5kcG9pbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5kcG9pbnQgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHsgcGF0aFRvUmVnZXhwIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuXG5pbXBvcnQgZXh0cmFjdENvbGxlY3Rpb24gZnJvbSAnLi9leHRyYWN0Q29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgbWFwQ29sbGVjdGlvbiBmcm9tICcuL21hcENvbGxlY3Rpb24uanMnO1xuaW1wb3J0IE5ldHdvcmtFcnJvciBmcm9tICcuL05ldHdvcmtFcnJvci5qcyc7XG5pbXBvcnQgeyBjcmVhdGVQYWdpbmF0aW9uU2NoZW1hIH0gZnJvbSAnLi9wYWdpbmF0ZWRDb2xsZWN0aW9ucy5qcyc7XG5pbXBvcnQgcGFyYW1zVG9TdHJpbmcgZnJvbSAnLi9wYXJhbXNUb1N0cmluZy5qcyc7XG5pbXBvcnQgeyBnZXRVcmxCYXNlLCBnZXRVcmxUb2tlbnMsIGlzUG9qbyB9IGZyb20gJy4vUmVzdEhlbHBlcnMuanMnO1xuXG4vKiogU2ltcGxpZmllcyBlbmRwb2ludCBkZWZpbml0aW9ucyB0aGF0IGZvbGxvdyBSRVNUIHBhdHRlcm5zXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlc3RFbmRwb2ludCBleHRlbmRzIEVuZHBvaW50IHtcbiAgI2hhc0JvZHk7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICBzdXBlcihcbiAgICAgIG9wdGlvbnMuZmV0Y2ggPz9cbiAgICAgICAgYXN5bmMgZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgICAgICBjb25zdCB1cmxQYXJhbXMgPVxuICAgICAgICAgICAgdGhpcy4jaGFzQm9keSAmJiBhcmdzLmxlbmd0aCA8IDIgPyB7fSA6IGFyZ3NbMF0gfHwge307XG4gICAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuI2hhc0JvZHkgPyBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hSZXNwb25zZShcbiAgICAgICAgICAgIHRoaXMudXJsKHVybFBhcmFtcyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdldFJlcXVlc3RJbml0KGJvZHkpLFxuICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHRoaXMucGFyc2VSZXNwb25zZShyZXNwb25zZSkpXG4gICAgICAgICAgICAudGhlbihyZXMgPT4gdGhpcy5wcm9jZXNzKHJlcywgLi4uYXJncykpO1xuICAgICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICAgIC8vIHdlIHdhbnQgdG8gdXNlIHRoZSBwcm90b3R5cGUgY2hhaW4gaGVyZVxuICAgIGlmIChcbiAgICAgICEoJ3NpZGVFZmZlY3QnIGluIHRoaXMpIHx8XG4gICAgICAoJ21ldGhvZCcgaW4gb3B0aW9ucyAmJiAhKCdzaWRlRWZmZWN0JyBpbiBvcHRpb25zKSlcbiAgICApIHtcbiAgICAgIHRoaXMuc2lkZUVmZmVjdCA9XG4gICAgICAgIG9wdGlvbnMubWV0aG9kID09PSAnR0VUJyB8fCBvcHRpb25zLm1ldGhvZCA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgOiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5tZXRob2QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5tZXRob2QgPSB0aGlzLnNpZGVFZmZlY3QgPyAnUE9TVCcgOiAnR0VUJztcbiAgICB9XG4gICAgaWYgKHRoaXMudXJsUHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudXJsUHJlZml4ID0gJyc7XG4gICAgfVxuICAgIHRoaXMuI2hhc0JvZHkgPVxuICAgICAgKCEoJ2JvZHknIGluIHRoaXMpIHx8IHRoaXMuYm9keSAhPT0gdW5kZWZpbmVkKSAmJlxuICAgICAgIVsnR0VUJywgJ0RFTEVURSddLmluY2x1ZGVzKHRoaXMubWV0aG9kKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnbmFtZScsIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgLy8gdXNpbmcgJ2luJyB0byBlbnN1cmUgaW5oZXJpdGFuY2UgbG9va3VwXG4gICAgICAgIGlmICgnX19uYW1lJyBpbiB0aGlzKSByZXR1cm4gdGhpcy5fX25hbWU7XG4gICAgICAgIHJldHVybiB0aGlzLnVybFByZWZpeCArIHRoaXMucGF0aDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBrZXkoLi4uYXJncykge1xuICAgIHJldHVybiBgJHt0aGlzLm1ldGhvZH0gJHt0aGlzLnVybChcbiAgICAgIHRoaXMuI2hhc0JvZHkgJiYgYXJncy5sZW5ndGggPCAyID8ge30gOiBhcmdzWzBdIHx8IHt9LFxuICAgICl9YDtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIHVybCAqL1xuICB1cmwodXJsUGFyYW1zID0ge30pIHtcbiAgICBjb25zdCB1cmxCYXNlID0gZ2V0VXJsQmFzZSh0aGlzLnBhdGgpKHVybFBhcmFtcyk7XG4gICAgY29uc3QgdG9rZW5zID0gZ2V0VXJsVG9rZW5zKHRoaXMucGF0aCk7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0ge307XG4gICAgT2JqZWN0LmtleXModXJsUGFyYW1zKS5mb3JFYWNoKGsgPT4ge1xuICAgICAgaWYgKCF0b2tlbnMuaGFzKGspKSB7XG4gICAgICAgIHNlYXJjaFBhcmFtc1trXSA9IHVybFBhcmFtc1trXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoT2JqZWN0LmtleXMoc2VhcmNoUGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnVybFByZWZpeH0ke3VybEJhc2V9PyR7dGhpcy5zZWFyY2hUb1N0cmluZyhzZWFyY2hQYXJhbXMpfWA7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLnVybFByZWZpeH0ke3VybEJhc2V9YDtcbiAgfVxuXG4gIC8qKiBFbmNvZGUgdGhlIHVybCBzZWFyY2hQYXJhbXMgKi9cbiAgc2VhcmNoVG9TdHJpbmcoc2VhcmNoUGFyYW1zKSB7XG4gICAgcmV0dXJuIHBhcmFtc1RvU3RyaW5nKHNlYXJjaFBhcmFtcyk7XG4gIH1cblxuICBnZXRIZWFkZXJzKGhlYWRlcnMpIHtcbiAgICByZXR1cm4gaGVhZGVycztcbiAgfVxuXG4gIC8qKiBJbml0IG9wdGlvbnMgZm9yIGZldGNoIC0gcnVuIGF0IGZldGNoICovXG4gIGFzeW5jIGdldFJlcXVlc3RJbml0KGJvZHkpIHtcbiAgICBjb25zdCBib2R5SXNQb2pvID0gaXNQb2pvKGJvZHkpO1xuICAgIGlmIChib2R5SXNQb2pvKSB7XG4gICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoYm9keSk7XG4gICAgfVxuICAgIGNvbnN0IGluaXQgPSB7XG4gICAgICAuLi50aGlzLnJlcXVlc3RJbml0LFxuICAgICAgbWV0aG9kOiB0aGlzLm1ldGhvZCxcbiAgICAgIHNpZ25hbDogdGhpcy5zaWduYWwsXG4gICAgICBib2R5LFxuICAgIH07XG4gICAgaWYgKCFib2R5IHx8IGJvZHlJc1Bvam8pIHtcbiAgICAgIGluaXQuaGVhZGVycyA9IHtcbiAgICAgICAgLy8gZGVmYXVsdCB0byBhcHBsaWNhdGlvbi9qc29uIGJ1dCBhbGxvdyB1c2VyIGV4cGxpY2l0IG92ZXJyaWRlc1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAuLi5pbml0LmhlYWRlcnMsXG4gICAgICB9O1xuICAgIH1cbiAgICBpbml0LmhlYWRlcnMgPSBhd2FpdCB0aGlzLmdldEhlYWRlcnMoaW5pdC5oZWFkZXJzKTtcbiAgICByZXR1cm4gaW5pdDtcbiAgfVxuXG4gIC8qKiBQZXJmb3JtIG5ldHdvcmsgcmVxdWVzdCBhbmQgcmVzb2x2ZSB3aXRoIEhUVFAgUmVzcG9uc2UgKi9cbiAgZmV0Y2hSZXNwb25zZShpbnB1dCwgaW5pdCkge1xuICAgIHJldHVybiBmZXRjaChpbnB1dCwgaW5pdClcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBOZXR3b3JrRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAvLyBlbnN1cmUgQ09SUywgbmV0d29yayBkb3duLCBhbmQgcGFyc2UgZXJyb3JzIGFyZSBzdGlsbCBjYXVnaHQgYnkgTmV0d29ya0Vycm9yQm91bmRhcnlcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7XG4gICAgICAgICAgZXJyb3Iuc3RhdHVzID0gNTAwO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gIH1cblxuICBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSB7XG4gICAgLy8gdGhpcyBzaG91bGQgbm90IGhhdmUgYW55IGNvbnRlbnQgdG8gcmVhZFxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwNCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICBpZiAoIXJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2pzb24nKSkge1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKS50aGVuKHRleHQgPT4ge1xuICAgICAgICAvLyBzdHJpbmcgb3IgJ25vdCBzZXQnIHNjaGVtYSwgYXJlIHZhbGlkXG4gICAgICAgIC8vIHdoZW4gb3ZlcnJpZGluZyBwcm9jZXNzIHRoZXkgbWlnaHQgaGFuZGxlIG90aGVyIGNhc2VzLCBzbyB3ZSBkb24ndCB3YW50IHRvIGJsb2NrIG9uIG91ciBsb2dpY1xuICAgICAgICBpZiAoXG4gICAgICAgICAgWydzdHJpbmcnLCAndW5kZWZpbmVkJ10uaW5jbHVkZXModHlwZW9mIHRoaXMuc2NoZW1hKSB8fFxuICAgICAgICAgIHRoaXMuc2NoZW1hID09PSBudWxsIHx8XG4gICAgICAgICAgdGhpcy5wcm9jZXNzICE9PSBSZXN0RW5kcG9pbnQucHJvdG90eXBlLnByb2Nlc3NcbiAgICAgICAgKVxuICAgICAgICAgIHJldHVybiB0ZXh0O1xuXG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IE5ldHdvcmtFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIGVycm9yLnN0YXR1cyA9IDQwNDtcbiAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIHRleHQgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfWA7XG4gICAgICAgIC8vIGN1c3RvbSBkZXYtb25seSBtZXNzYWdlcyBmb3IgbW9yZSBkZXRhaWxlZCBjYXVzZVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2h0bWwnKSB8fFxuICAgICAgICAgICAgICB0ZXh0LnN0YXJ0c1dpdGgoJzwhZG9jdHlwZSBodG1sPicpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAodHJ5UGFyc2UodGV4dCkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gYFwiY29udGVudC10eXBlXCIgaGVhZGVyIGRvZXMgbm90IGluY2x1ZGUgXCJqc29uXCIsIGJ1dCBKU09OIHJlc3BvbnNlIGZvdW5kLlxuU2VlIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM0NjI3IGZvciBpbmZvcm1hdGlvbiBvbiBKU09OIHJlc3BvbnNlc1xuXG5Vc2luZyBwYXJzZWQgSlNPTi5cbklmIHRleHQgY29udGVudCB3YXMgZXhwZWN0ZWQgc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjcGFyc2VSZXNwb25zZWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgVW5leHBlY3RlZCBodG1sIHJlc3BvbnNlIGZvciBzY2hlbWEgJHt0aGlzLnNjaGVtYX1cblRoaXMgbGlrZWx5IG1lYW5zIG5vIEFQSSBlbmRwb2ludCB3YXMgY29uZmlndXJlZCBmb3IgdGhpcyByZXF1ZXN0LCByZXN1bHRpbmcgaW4gYW4gSFRNTCBmYWxsYmFjay5cblxuUmVzcG9uc2UgKGZpcnN0IDMwMCBjaGFyYWN0ZXJzKTogJHt0ZXh0LnN1YnN0cmluZygwLCAzMDApfWA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXNwb25zZS5qc29uKCkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgZXJyb3Iuc3RhdHVzID0gNDAwO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG4gIH1cblxuICBwcm9jZXNzKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgZXJyb3JQb2xpY3koZXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID49IDUwMCA/ICdzb2Z0JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBwYXRoUmVnZXgoKSB7XG4gICAgcmV0dXJuIHBhdGhUb1JlZ2V4cCh0aGlzLnBhdGgpO1xuICB9XG5cbiAgdGVzdEtleShrZXkpIHtcbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLm1ldGhvZCArICcgJyArIHRoaXMudXJsUHJlZml4O1xuICAgIGlmICgha2V5LnN0YXJ0c1dpdGgocHJlZml4KSkgcmV0dXJuIGZhbHNlO1xuICAgIGxldCBsYXN0UXVlc3Rpb24gPSBrZXkubGFzdEluZGV4T2YoJz8nKTtcbiAgICBpZiAobGFzdFF1ZXN0aW9uID09PSAtMSkgbGFzdFF1ZXN0aW9uID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnBhdGhSZWdleC50ZXN0KGtleS5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCwgbGFzdFF1ZXN0aW9uKSk7XG4gIH1cblxuICBleHRlbmQob3B0aW9ucykge1xuICAgIC8vIG1ha2UgYSBjb25zdHJ1Y3Rvci9wcm90b3R5cGUgYmFzZWQgb2ZmIHRoaXNcbiAgICAvLyBleHRlbmQgZnJvbSBpdCBhbmQgaW5pdCB3aXRoIG9wdGlvbnMgc2VudFxuICAgIGNsYXNzIEUgZXh0ZW5kcyB0aGlzLmNvbnN0cnVjdG9yIHt9XG5cbiAgICBPYmplY3QuYXNzaWduKEUucHJvdG90eXBlLCB0aGlzKTtcblxuICAgIHJldHVybiBuZXcgRShcbiAgICAgIC8vICBmZXRjaCBnZXQgb3ZlcnJpZGRlbiBieSBmdW5jdGlvbiBwcm90b3R5cGUsIHNvIHdlIG11c3Qgc2V0IGl0IGV4cGxpY2l0bHkgZXZlcnkgdGltZVxuICAgICAgeyBmZXRjaDogdGhpcy5mZXRjaCwgLi4ub3B0aW9ucyB9LFxuICAgICk7XG4gIH1cblxuICBwYWdpbmF0ZWQocmVtb3ZlQ3Vyc29yKSB7XG4gICAgaWYgKHR5cGVvZiByZW1vdmVDdXJzb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSByZW1vdmVDdXJzb3I7XG4gICAgICByZW1vdmVDdXJzb3IgPSAoeyAuLi5wYXJhbXMgfSkgPT4ge1xuICAgICAgICBkZWxldGUgcGFyYW1zW2ZpZWxkTmFtZV07XG4gICAgICAgIHJldHVybiBbcGFyYW1zXTtcbiAgICAgIH07XG4gICAgfVxuICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgIGNvbnN0IGNyZWF0ZVBhZ2luYXRlZFNjaGVtYSA9IGNvbGxlY3Rpb24gPT4ge1xuICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgcmV0dXJuIGNyZWF0ZVBhZ2luYXRpb25TY2hlbWEocmVtb3ZlQ3Vyc29yLCBjb2xsZWN0aW9uKTtcbiAgICB9O1xuICAgIGNvbnN0IG5ld1NjaGVtYSA9IG1hcENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIGNyZWF0ZVBhZ2luYXRlZFNjaGVtYSk7XG5cbiAgICBpZiAoIWZvdW5kKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQ29sbGVjdGlvbicpO1xuICAgIGNvbnN0IHN1cCA9IHRoaXM7XG5cbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgc2NoZW1hOiBuZXdTY2hlbWEsXG4gICAgICBrZXkoLi4uYXJncykge1xuICAgICAgICByZXR1cm4gc3VwLmtleS5jYWxsKHRoaXMsIC4uLnJlbW92ZUN1cnNvciguLi5hcmdzKSk7XG4gICAgICB9LFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJy5nZXRQYWdlJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBnZXRQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLnBhZ2luYXRlZCh0aGlzLnBhZ2luYXRpb25GaWVsZCk7XG4gIH1cblxuICBnZXQgcHVzaCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMucHVzaCksXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmNyZWF0ZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgdW5zaGlmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMudW5zaGlmdCksXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmNyZWF0ZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgYXNzaWduKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy5hc3NpZ24pLFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJy5jcmVhdGUnLFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IHRyeVBhcnNlID0gaW5wdXQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGlucHV0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsU0FBU0EsUUFBUSxRQUFRLHVCQUF1QjtBQUNoRCxTQUFTQyxZQUFZLFFBQVEsZ0JBQWdCO0FBRTdDLE9BQU9DLGlCQUFpQixNQUFNLHdCQUF3QjtBQUN0RCxPQUFPQyxhQUFhLE1BQU0sb0JBQW9CO0FBQzlDLE9BQU9DLFlBQVksTUFBTSxtQkFBbUI7QUFDNUMsU0FBU0Msc0JBQXNCLFFBQVEsMkJBQTJCO0FBQ2xFLE9BQU9DLGNBQWMsTUFBTSxxQkFBcUI7QUFDaEQsU0FBU0MsVUFBVSxFQUFFQyxZQUFZLEVB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
@@ -1,14 +1,15 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
1
2
  import { schema } from '@data-client/endpoint';
2
3
  export default function extractCollection(s, mapper) {
3
4
  if (typeof s !== 'object' || s === undefined || Array.isArray(s)) return;
4
5
  if (s instanceof schema.Collection) {
5
6
  return mapper(s);
6
7
  }
7
- const objCopy = Object.assign({}, s instanceof schema.Object ? s.schema : s);
8
+ const objCopy = _extends({}, s instanceof schema.Object ? s.schema : s);
8
9
  for (const k in objCopy) {
9
10
  if (!objCopy[k]) continue;
10
11
  const collection = extractCollection(objCopy[k], mapper);
11
12
  if (collection) return collection;
12
13
  }
13
14
  }
14
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJleHRyYWN0Q29sbGVjdGlvbiIsInMiLCJtYXBwZXIiLCJ1bmRlZmluZWQiLCJBcnJheSIsImlzQXJyYXkiLCJDb2xsZWN0aW9uIiwib2JqQ29weSIsIk9iamVjdCIsImFzc2lnbiIsImsiLCJjb2xsZWN0aW9uIl0sInNvdXJjZXMiOlsiLi4vc3JjL2V4dHJhY3RDb2xsZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjaGVtYSwgc2NoZW1hIH0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcblxuaW1wb3J0IHsgRXh0cmFjdE9iamVjdCB9IGZyb20gJy4vZXh0cmFjdE9iamVjdC5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGV4dHJhY3RDb2xsZWN0aW9uPFxuICBNIGV4dGVuZHMgPEMgZXh0ZW5kcyBzY2hlbWEuQ29sbGVjdGlvbj4oY29sbGVjdGlvbjogQykgPT4gYW55LFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkLFxuPihzOiBTLCBtYXBwZXI6IE0pOiBFeHRyYWN0Q29sbGVjdGlvbjxTPiB8IHVuZGVmaW5lZCB7XG4gIGlmICh0eXBlb2YgcyAhPT0gJ29iamVjdCcgfHwgcyA9PT0gdW5kZWZpbmVkIHx8IEFycmF5LmlzQXJyYXkocykpIHJldHVybjtcbiAgaWYgKHMgaW5zdGFuY2VvZiBzY2hlbWEuQ29sbGVjdGlvbikge1xuICAgIHJldHVybiBtYXBwZXIocyBhcyBhbnkpO1xuICB9XG4gIGNvbnN0IG9iakNvcHk6IFJlY29yZDxzdHJpbmcsIFNjaGVtYT4gPSB7XG4gICAgLi4uKHMgaW5zdGFuY2VvZiBzY2hlbWEuT2JqZWN0ID8gKHMgYXMgYW55KS5zY2hlbWEgOiBzKSxcbiAgfTtcbiAgZm9yIChjb25zdCBrIGluIG9iakNvcHkpIHtcbiAgICBpZiAoIW9iakNvcHlba10pIGNvbnRpbnVlO1xuICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBleHRyYWN0Q29sbGVjdGlvbihvYmpDb3B5W2tdLCBtYXBwZXIpO1xuICAgIGlmIChjb2xsZWN0aW9uKSByZXR1cm4gY29sbGVjdGlvbjtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBFeHRyYWN0Q29sbGVjdGlvbjxTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkPiA9XG4gIFMgZXh0ZW5kcyAoXG4gICAge1xuICAgICAgcHVzaDogYW55O1xuICAgICAgdW5zaGlmdDogYW55O1xuICAgICAgYXNzaWduOiBhbnk7XG4gICAgICBzY2hlbWE6IFNjaGVtYTtcbiAgICB9XG4gICkgP1xuICAgIFNcbiAgOiBTIGV4dGVuZHMgc2NoZW1hLk9iamVjdDxpbmZlciBUPiA/IEV4dHJhY3RPYmplY3Q8VD5cbiAgOiBTIGV4dGVuZHMgRXhjbHVkZTxTY2hlbWEsIHsgW0s6IHN0cmluZ106IGFueSB9PiA/IG5ldmVyXG4gIDogUyBleHRlbmRzIHsgW0s6IHN0cmluZ106IFNjaGVtYSB9ID8gRXh0cmFjdE9iamVjdDxTPlxuICA6IG5ldmVyO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFpQkEsTUFBTSxRQUFRLHVCQUF1QjtBQUl0RCxlQUFlLFNBQVNDLGlCQUFpQkEsQ0FHdkNDLENBQUksRUFBRUMsTUFBUyxFQUFvQztFQUNuRCxJQUFJLE9BQU9ELENBQUMsS0FBSyxRQUFRLElBQUlBLENBQUMsS0FBS0UsU0FBUyxJQUFJQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0osQ0FBQyxDQUFDLEVBQUU7RUFDbEUsSUFBSUEsQ0FBQyxZQUFZRixNQUFNLENBQUNPLFVBQVUsRUFBRTtJQUNsQyxPQUFPSixNQUFNLENBQUNELENBQVEsQ0FBQztFQUN6QjtFQUNBLE1BQU1NLE9BQStCLEdBQUFDLE1BQUEsQ0FBQUMsTUFBQSxLQUMvQlIsQ0FBQyxZQUFZRixNQUFNLENBQUNTLE1BQU0sR0FBSVAsQ0FBQyxDQUFTRixNQUFNLEdBQUdFLENBQUMsQ0FDdkQ7RUFDRCxLQUFLLE1BQU1TLENBQUMsSUFBSUgsT0FBTyxFQUFFO0lBQ3ZCLElBQUksQ0FBQ0EsT0FBTyxDQUFDRyxDQUFDLENBQUMsRUFBRTtJQUNqQixNQUFNQyxVQUFVLEdBQUdYLGlCQUFpQixDQUFDTyxPQUFPLENBQUNHLENBQUMsQ0FBQyxFQUFFUixNQUFNLENBQUM7SUFDeEQsSUFBSVMsVUFBVSxFQUFFLE9BQU9BLFVBQVU7RUFDbkM7QUFDRiIsImlnbm9yZUxpc3QiOltdfQ==
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJleHRyYWN0Q29sbGVjdGlvbiIsInMiLCJtYXBwZXIiLCJ1bmRlZmluZWQiLCJBcnJheSIsImlzQXJyYXkiLCJDb2xsZWN0aW9uIiwib2JqQ29weSIsIl9leHRlbmRzIiwiT2JqZWN0IiwiayIsImNvbGxlY3Rpb24iXSwic291cmNlcyI6WyIuLi9zcmMvZXh0cmFjdENvbGxlY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NoZW1hLCBzY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgeyBFeHRyYWN0T2JqZWN0IH0gZnJvbSAnLi9leHRyYWN0T2JqZWN0LmpzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZXh0cmFjdENvbGxlY3Rpb248XG4gIE0gZXh0ZW5kcyA8QyBleHRlbmRzIHNjaGVtYS5Db2xsZWN0aW9uPihjb2xsZWN0aW9uOiBDKSA9PiBhbnksXG4gIFMgZXh0ZW5kcyBTY2hlbWEgfCB1bmRlZmluZWQsXG4+KHM6IFMsIG1hcHBlcjogTSk6IEV4dHJhY3RDb2xsZWN0aW9uPFM+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKHR5cGVvZiBzICE9PSAnb2JqZWN0JyB8fCBzID09PSB1bmRlZmluZWQgfHwgQXJyYXkuaXNBcnJheShzKSkgcmV0dXJuO1xuICBpZiAocyBpbnN0YW5jZW9mIHNjaGVtYS5Db2xsZWN0aW9uKSB7XG4gICAgcmV0dXJuIG1hcHBlcihzIGFzIGFueSk7XG4gIH1cbiAgY29uc3Qgb2JqQ29weTogUmVjb3JkPHN0cmluZywgU2NoZW1hPiA9IHtcbiAgICAuLi4ocyBpbnN0YW5jZW9mIHNjaGVtYS5PYmplY3QgPyAocyBhcyBhbnkpLnNjaGVtYSA6IHMpLFxuICB9O1xuICBmb3IgKGNvbnN0IGsgaW4gb2JqQ29weSkge1xuICAgIGlmICghb2JqQ29weVtrXSkgY29udGludWU7XG4gICAgY29uc3QgY29sbGVjdGlvbiA9IGV4dHJhY3RDb2xsZWN0aW9uKG9iakNvcHlba10sIG1hcHBlcik7XG4gICAgaWYgKGNvbGxlY3Rpb24pIHJldHVybiBjb2xsZWN0aW9uO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIEV4dHJhY3RDb2xsZWN0aW9uPFMgZXh0ZW5kcyBTY2hlbWEgfCB1bmRlZmluZWQ+ID1cbiAgUyBleHRlbmRzIChcbiAgICB7XG4gICAgICBwdXNoOiBhbnk7XG4gICAgICB1bnNoaWZ0OiBhbnk7XG4gICAgICBhc3NpZ246IGFueTtcbiAgICAgIHNjaGVtYTogU2NoZW1hO1xuICAgIH1cbiAgKSA/XG4gICAgU1xuICA6IFMgZXh0ZW5kcyBzY2hlbWEuT2JqZWN0PGluZmVyIFQ+ID8gRXh0cmFjdE9iamVjdDxUPlxuICA6IFMgZXh0ZW5kcyBFeGNsdWRlPFNjaGVtYSwgeyBbSzogc3RyaW5nXTogYW55IH0+ID8gbmV2ZXJcbiAgOiBTIGV4dGVuZHMgeyBbSzogc3RyaW5nXTogU2NoZW1hIH0gPyBFeHRyYWN0T2JqZWN0PFM+XG4gIDogbmV2ZXI7XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFpQkEsTUFBTSxRQUFRLHVCQUF1QjtBQUl0RCxlQUFlLFNBQVNDLGlCQUFpQkEsQ0FHdkNDLENBQUksRUFBRUMsTUFBUyxFQUFvQztFQUNuRCxJQUFJLE9BQU9ELENBQUMsS0FBSyxRQUFRLElBQUlBLENBQUMsS0FBS0UsU0FBUyxJQUFJQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0osQ0FBQyxDQUFDLEVBQUU7RUFDbEUsSUFBSUEsQ0FBQyxZQUFZRixNQUFNLENBQUNPLFVBQVUsRUFBRTtJQUNsQyxPQUFPSixNQUFNLENBQUNELENBQVEsQ0FBQztFQUN6QjtFQUNBLE1BQU1NLE9BQStCLEdBQUFDLFFBQUEsS0FDL0JQLENBQUMsWUFBWUYsTUFBTSxDQUFDVSxNQUFNLEdBQUlSLENBQUMsQ0FBU0YsTUFBTSxHQUFHRSxDQUFDLENBQ3ZEO0VBQ0QsS0FBSyxNQUFNUyxDQUFDLElBQUlILE9BQU8sRUFBRTtJQUN2QixJQUFJLENBQUNBLE9BQU8sQ0FBQ0csQ0FBQyxDQUFDLEVBQUU7SUFDakIsTUFBTUMsVUFBVSxHQUFHWCxpQkFBaUIsQ0FBQ08sT0FBTyxDQUFDRyxDQUFDLENBQUMsRUFBRVIsTUFBTSxDQUFDO0lBQ3hELElBQUlTLFVBQVUsRUFBRSxPQUFPQSxVQUFVO0VBQ25DO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
package/legacy/index.js CHANGED
@@ -1,6 +1,3 @@
1
- Object.hasOwn = Object.hasOwn || /* istanbul ignore next */function hasOwn(it, key) {
2
- return Object.prototype.hasOwnProperty.call(it, key);
3
- };
4
1
  export { default as RestEndpoint } from './RestEndpoint.js';
5
2
  export { getUrlBase, getUrlTokens } from './RestHelpers.js';
6
3
  export { default as resource } from './resource.js';
@@ -9,4 +6,4 @@ export { default as hookifyResource } from './hookifyResource.js';
9
6
  export { default as NetworkError } from './NetworkError.js';
10
7
  export * from '@data-client/endpoint';
11
8
  export * from './RestEndpoint.js';
12
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlZmF1bHQiLCJSZXN0RW5kcG9pbnQiLCJnZXRVcmxCYXNlIiwiZ2V0VXJsVG9rZW5zIiwicmVzb3VyY2UiLCJjcmVhdGVSZXNvdXJjZSIsImhvb2tpZnlSZXNvdXJjZSIsIk5ldHdvcmtFcnJvciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJPYmplY3QuaGFzT3duID1cbiAgT2JqZWN0Lmhhc093biB8fFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmdW5jdGlvbiBoYXNPd24oaXQsIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG4gIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIFJlc3RFbmRwb2ludCB9IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgR2V0RW5kcG9pbnQsXG4gIE11dGF0ZUVuZHBvaW50LFxuICBEZWZhdWx0cyxcbiAgUmVzdEdlbmVyaWNzLFxuICBGZXRjaEdldCxcbiAgRmV0Y2hNdXRhdGUsXG4gIFJlc3RGZXRjaCxcbiAgUmVzdFR5cGUsXG4gIFJlc3RJbnN0YW5jZSxcbiAgS2V5b2ZSZXN0RW5kcG9pbnQsXG4gIFJlc3RFbmRwb2ludENvbnN0cnVjdG9yT3B0aW9ucyxcbiAgQWRkRW5kcG9pbnQsXG4gIFBhZ2luYXRpb25GaWVsZEVuZHBvaW50LFxuICBQYWdpbmF0aW9uRW5kcG9pbnQsXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmV4cG9ydCB0eXBlIHsgUmVzdEVuZHBvaW50IGFzIElSZXN0RW5kcG9pbnQgfSBmcm9tICcuL1Jlc3RFbmRwb2ludFR5cGVzLmpzJztcbmV4cG9ydCB7IGdldFVybEJhc2UsIGdldFVybFRva2VucyB9IGZyb20gJy4vUmVzdEhlbHBlcnMuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyByZXNvdXJjZSB9IGZyb20gJy4vcmVzb3VyY2UuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjcmVhdGVSZXNvdXJjZSB9IGZyb20gJy4vcmVzb3VyY2UuanMnO1xuZXhwb3J0IHR5cGUge1xuICBSZXNvdXJjZSxcbiAgUmVzb3VyY2VPcHRpb25zLFxuICBSZXNvdXJjZUdlbmVyaWNzLFxuICBSZXNvdXJjZUludGVyZmFjZSxcbn0gZnJvbSAnLi9yZXNvdXJjZVR5cGVzLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgUmVzb3VyY2VFeHRlbnNpb24sXG4gIFJlc291cmNlRW5kcG9pbnRFeHRlbnNpb25zLFxuICBDdXN0b21SZXNvdXJjZSxcbiAgRXh0ZW5kZWRSZXNvdXJjZSxcbn0gZnJvbSAnLi9yZXNvdXJjZUV4dGVuc2lvblR5cGVzLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaG9va2lmeVJlc291cmNlIH0gZnJvbSAnLi9ob29raWZ5UmVzb3VyY2UuanMnO1xuZXhwb3J0IHR5cGUge1xuICBIb29rUmVzb3VyY2UsXG4gIEhvb2thYmxlRW5kcG9pbnRJbnRlcmZhY2UsXG59IGZyb20gJy4vaG9va2lmeVJlc291cmNlLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTmV0d29ya0Vycm9yIH0gZnJvbSAnLi9OZXR3b3JrRXJyb3IuanMnO1xuZXhwb3J0IHR5cGUgeyBPcHRpb25zVG9GdW5jdGlvbiB9IGZyb20gJy4vT3B0aW9uc1RvRnVuY3Rpb24uanMnO1xuZXhwb3J0IHR5cGUge1xuICBTaG9ydGVuUGF0aCxcbiAgUGF0aEFyZ3MsXG4gIFBhdGhLZXlzLFxuICBLZXlzVG9BcmdzLFxuICBQYXRoQXJnc0FuZFNlYXJjaCxcbn0gZnJvbSAnLi9wYXRoVHlwZXMuanMnO1xuXG5leHBvcnQgKiBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQUEsTUFBTSxDQUFDQyxNQUFNLEdBQ1hELE1BQU0sQ0FBQ0MsTUFBTSxJQUNiLDBCQUEyQixTQUFTQSxNQUFNQSxDQUFDQyxFQUFFLEVBQUVDLEdBQUcsRUFBRTtFQUNsRCxPQUFPSCxNQUFNLENBQUNJLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNKLEVBQUUsRUFBRUMsR0FBRyxDQUFDO0FBQ3RELENBQUM7QUFDSCxTQUFTSSxPQUFPLElBQUlDLFlBQVksUUFBUSxtQkFBbUI7QUFrQjNELFNBQVNDLFVBQVUsRUFBRUMsWUFBWSxRQUFRLGtCQUFrQjtBQUMzRCxTQUFTSCxPQUFPLElBQUlJLFFBQVEsUUFBUSxlQUFlO0FBQ25ELFNBQVNKLE9BQU8sSUFBSUssY0FBYyxRQUFRLGVBQWU7QUFhekQsU0FBU0wsT0FBTyxJQUFJTSxlQUFlLFFBQVEsc0JBQXNCO0FBS2pFLFNBQVNOLE9BQU8sSUFBSU8sWUFBWSxRQUFRLG1CQUFtQjtBQVUzRCxjQUFjLHVCQUF1QjtBQUNyQyxjQUFjLG1CQUFtQiIsImlnbm9yZUxpc3QiOltdfQ==
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwiUmVzdEVuZHBvaW50IiwiZ2V0VXJsQmFzZSIsImdldFVybFRva2VucyIsInJlc291cmNlIiwiY3JlYXRlUmVzb3VyY2UiLCJob29raWZ5UmVzb3VyY2UiLCJOZXR3b3JrRXJyb3IiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN0RW5kcG9pbnQgfSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgRGVmYXVsdHMsXG4gIFJlc3RHZW5lcmljcyxcbiAgRmV0Y2hHZXQsXG4gIEZldGNoTXV0YXRlLFxuICBSZXN0RmV0Y2gsXG4gIFJlc3RUeXBlLFxuICBSZXN0SW5zdGFuY2UsXG4gIEtleW9mUmVzdEVuZHBvaW50LFxuICBSZXN0RW5kcG9pbnRDb25zdHJ1Y3Rvck9wdGlvbnMsXG4gIEFkZEVuZHBvaW50LFxuICBQYWdpbmF0aW9uRmllbGRFbmRwb2ludCxcbiAgUGFnaW5hdGlvbkVuZHBvaW50LFxufSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgdHlwZSB7IFJlc3RFbmRwb2ludCBhcyBJUmVzdEVuZHBvaW50IH0gZnJvbSAnLi9SZXN0RW5kcG9pbnRUeXBlcy5qcyc7XG5leHBvcnQgeyBnZXRVcmxCYXNlLCBnZXRVcmxUb2tlbnMgfSBmcm9tICcuL1Jlc3RIZWxwZXJzLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVzb3VyY2UgfSBmcm9tICcuL3Jlc291cmNlLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY3JlYXRlUmVzb3VyY2UgfSBmcm9tICcuL3Jlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgUmVzb3VyY2UsXG4gIFJlc291cmNlT3B0aW9ucyxcbiAgUmVzb3VyY2VHZW5lcmljcyxcbiAgUmVzb3VyY2VJbnRlcmZhY2UsXG59IGZyb20gJy4vcmVzb3VyY2VUeXBlcy5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIFJlc291cmNlRXh0ZW5zaW9uLFxuICBSZXNvdXJjZUVuZHBvaW50RXh0ZW5zaW9ucyxcbiAgQ3VzdG9tUmVzb3VyY2UsXG4gIEV4dGVuZGVkUmVzb3VyY2UsXG59IGZyb20gJy4vcmVzb3VyY2VFeHRlbnNpb25UeXBlcy5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGhvb2tpZnlSZXNvdXJjZSB9IGZyb20gJy4vaG9va2lmeVJlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgSG9va1Jlc291cmNlLFxuICBIb29rYWJsZUVuZHBvaW50SW50ZXJmYWNlLFxufSBmcm9tICcuL2hvb2tpZnlSZXNvdXJjZS5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5ldHdvcmtFcnJvciB9IGZyb20gJy4vTmV0d29ya0Vycm9yLmpzJztcbmV4cG9ydCB0eXBlIHsgT3B0aW9uc1RvRnVuY3Rpb24gfSBmcm9tICcuL09wdGlvbnNUb0Z1bmN0aW9uLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgU2hvcnRlblBhdGgsXG4gIFBhdGhBcmdzLFxuICBQYXRoS2V5cyxcbiAgS2V5c1RvQXJncyxcbiAgUGF0aEFyZ3NBbmRTZWFyY2gsXG59IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcblxuZXhwb3J0ICogZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsT0FBTyxJQUFJQyxZQUFZLFFBQVEsbUJBQW1CO0FBa0IzRCxTQUFTQyxVQUFVLEVBQUVDLFlBQVksUUFBUSxrQkFBa0I7QUFDM0QsU0FBU0gsT0FBTyxJQUFJSSxRQUFRLFFBQVEsZUFBZTtBQUNuRCxTQUFTSixPQUFPLElBQUlLLGNBQWMsUUFBUSxlQUFlO0FBYXpELFNBQVNMLE9BQU8sSUFBSU0sZUFBZSxRQUFRLHNCQUFzQjtBQUtqRSxTQUFTTixPQUFPLElBQUlPLFlBQVksUUFBUSxtQkFBbUI7QUFVM0QsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyxtQkFBbUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,14 +1,15 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
1
2
  import { schema } from '@data-client/endpoint';
2
3
  export default function mapCollection(s, mapper) {
3
4
  if (typeof s !== 'object' || s === undefined) return s;
4
5
  if (s instanceof schema.Collection) {
5
6
  return mapper(s);
6
7
  }
7
- const objCopy = Object.assign({}, s instanceof schema.Object ? s.schema : s);
8
+ const objCopy = _extends({}, s instanceof schema.Object ? s.schema : s);
8
9
  for (const k in objCopy) {
9
10
  if (!objCopy[k]) continue;
10
11
  objCopy[k] = mapCollection(objCopy[k], mapper);
11
12
  }
12
13
  return objCopy;
13
14
  }
14
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJtYXBDb2xsZWN0aW9uIiwicyIsIm1hcHBlciIsInVuZGVmaW5lZCIsIkNvbGxlY3Rpb24iLCJvYmpDb3B5IiwiT2JqZWN0IiwiYXNzaWduIiwiayJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXBDb2xsZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjaGVtYSwgc2NoZW1hIH0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWFwQ29sbGVjdGlvbjxcbiAgTSBleHRlbmRzIDxDIGV4dGVuZHMgc2NoZW1hLkNvbGxlY3Rpb24+KGNvbGxlY3Rpb246IEMpID0+IGFueSxcbiAgUyBleHRlbmRzIFNjaGVtYSB8IHVuZGVmaW5lZCxcbj4oXG4gIHM6IFMsXG4gIG1hcHBlcjogTSxcbik6IFMgZXh0ZW5kcyBzY2hlbWEuQ29sbGVjdGlvbiA/IFJldHVyblR5cGU8dHlwZW9mIG1hcHBlcjxTPj5cbjogUyBleHRlbmRzIHNjaGVtYS5PYmplY3Q8aW5mZXIgVD4gP1xuICB7XG4gICAgW0sgaW4ga2V5b2YgVF06IFRbS10gZXh0ZW5kcyBTY2hlbWEgPyB0eXBlb2YgbWFwQ29sbGVjdGlvbjxNLCBUW0tdPiA6IFRbS107XG4gIH1cbjogUyBleHRlbmRzIHsgW0s6IHN0cmluZ106IGFueSB9ID9cbiAge1xuICAgIFtLIGluIGtleW9mIFNdOiBTW0tdIGV4dGVuZHMgU2NoZW1hID8gdHlwZW9mIG1hcENvbGxlY3Rpb248TSwgU1tLXT4gOiBTW0tdO1xuICB9XG46IFMge1xuICBpZiAodHlwZW9mIHMgIT09ICdvYmplY3QnIHx8IHMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHMgYXMgYW55O1xuICBpZiAocyBpbnN0YW5jZW9mIHNjaGVtYS5Db2xsZWN0aW9uKSB7XG4gICAgcmV0dXJuIG1hcHBlcihzIGFzIGFueSk7XG4gIH1cbiAgY29uc3Qgb2JqQ29weTogUmVjb3JkPHN0cmluZywgU2NoZW1hPiA9IHtcbiAgICAuLi4ocyBpbnN0YW5jZW9mIHNjaGVtYS5PYmplY3QgPyAocyBhcyBhbnkpLnNjaGVtYSA6IHMpLFxuICB9O1xuICBmb3IgKGNvbnN0IGsgaW4gb2JqQ29weSkge1xuICAgIGlmICghb2JqQ29weVtrXSkgY29udGludWU7XG4gICAgb2JqQ29weVtrXSA9IG1hcENvbGxlY3Rpb24ob2JqQ29weVtrXSwgbWFwcGVyKSBhcyBhbnk7XG4gIH1cbiAgcmV0dXJuIG9iakNvcHkgYXMgYW55O1xufVxuXG50eXBlIE1hcENvbGxlY3Rpb248XG4gIE0gZXh0ZW5kcyA8QyBleHRlbmRzIHNjaGVtYS5Db2xsZWN0aW9uPihjb2xsZWN0aW9uOiBDKSA9PiBhbnksXG4gIFMgZXh0ZW5kcyBTY2hlbWEgfCB1bmRlZmluZWQsXG4+ID1cbiAgUyBleHRlbmRzIHNjaGVtYS5Db2xsZWN0aW9uID8gUmV0dXJuVHlwZTxNPlxuICA6IFMgZXh0ZW5kcyBzY2hlbWEuT2JqZWN0PGluZmVyIFQ+ID8gTWFwQ29sbGVjdGlvbjxNLCBUPlxuICA6IFMgZXh0ZW5kcyB7IFtLOiBzdHJpbmddOiBhbnkgfSA/IE1hcE9iamVjdDxNLCBTPlxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBNYXBPYmplY3Q8XG4gIE0gZXh0ZW5kcyAoY29sbGVjdGlvbjogc2NoZW1hLkNvbGxlY3Rpb24pID0+IGFueSxcbiAgUyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4sXG4+ID0ge1xuICBbSyBpbiBrZXlvZiBTXTogU1tLXSBleHRlbmRzIFNjaGVtYSA/IE1hcENvbGxlY3Rpb248TSwgU1tLXT4gOiBTW0tdO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBaUJBLE1BQU0sUUFBUSx1QkFBdUI7QUFFdEQsZUFBZSxTQUFTQyxhQUFhQSxDQUluQ0MsQ0FBSSxFQUNKQyxNQUFTLEVBVVA7RUFDRixJQUFJLE9BQU9ELENBQUMsS0FBSyxRQUFRLElBQUlBLENBQUMsS0FBS0UsU0FBUyxFQUFFLE9BQU9GLENBQUM7RUFDdEQsSUFBSUEsQ0FBQyxZQUFZRixNQUFNLENBQUNLLFVBQVUsRUFBRTtJQUNsQyxPQUFPRixNQUFNLENBQUNELENBQVEsQ0FBQztFQUN6QjtFQUNBLE1BQU1JLE9BQStCLEdBQUFDLE1BQUEsQ0FBQUMsTUFBQSxLQUMvQk4sQ0FBQyxZQUFZRixNQUFNLENBQUNPLE1BQU0sR0FBSUwsQ0FBQyxDQUFTRixNQUFNLEdBQUdFLENBQUMsQ0FDdkQ7RUFDRCxLQUFLLE1BQU1PLENBQUMsSUFBSUgsT0FBTyxFQUFFO0lBQ3ZCLElBQUksQ0FBQ0EsT0FBTyxDQUFDRyxDQUFDLENBQUMsRUFBRTtJQUNqQkgsT0FBTyxDQUFDRyxDQUFDLENBQUMsR0FBR1IsYUFBYSxDQUFDSyxPQUFPLENBQUNHLENBQUMsQ0FBQyxFQUFFTixNQUFNLENBQVE7RUFDdkQ7RUFDQSxPQUFPRyxPQUFPO0FBQ2hCIiwiaWdub3JlTGlzdCI6W119
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJtYXBDb2xsZWN0aW9uIiwicyIsIm1hcHBlciIsInVuZGVmaW5lZCIsIkNvbGxlY3Rpb24iLCJvYmpDb3B5IiwiX2V4dGVuZHMiLCJPYmplY3QiLCJrIl0sInNvdXJjZXMiOlsiLi4vc3JjL21hcENvbGxlY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NoZW1hLCBzY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtYXBDb2xsZWN0aW9uPFxuICBNIGV4dGVuZHMgPEMgZXh0ZW5kcyBzY2hlbWEuQ29sbGVjdGlvbj4oY29sbGVjdGlvbjogQykgPT4gYW55LFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkLFxuPihcbiAgczogUyxcbiAgbWFwcGVyOiBNLFxuKTogUyBleHRlbmRzIHNjaGVtYS5Db2xsZWN0aW9uID8gUmV0dXJuVHlwZTx0eXBlb2YgbWFwcGVyPFM+PlxuOiBTIGV4dGVuZHMgc2NoZW1hLk9iamVjdDxpbmZlciBUPiA/XG4gIHtcbiAgICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIFNjaGVtYSA/IHR5cGVvZiBtYXBDb2xsZWN0aW9uPE0sIFRbS10+IDogVFtLXTtcbiAgfVxuOiBTIGV4dGVuZHMgeyBbSzogc3RyaW5nXTogYW55IH0gP1xuICB7XG4gICAgW0sgaW4ga2V5b2YgU106IFNbS10gZXh0ZW5kcyBTY2hlbWEgPyB0eXBlb2YgbWFwQ29sbGVjdGlvbjxNLCBTW0tdPiA6IFNbS107XG4gIH1cbjogUyB7XG4gIGlmICh0eXBlb2YgcyAhPT0gJ29iamVjdCcgfHwgcyA9PT0gdW5kZWZpbmVkKSByZXR1cm4gcyBhcyBhbnk7XG4gIGlmIChzIGluc3RhbmNlb2Ygc2NoZW1hLkNvbGxlY3Rpb24pIHtcbiAgICByZXR1cm4gbWFwcGVyKHMgYXMgYW55KTtcbiAgfVxuICBjb25zdCBvYmpDb3B5OiBSZWNvcmQ8c3RyaW5nLCBTY2hlbWE+ID0ge1xuICAgIC4uLihzIGluc3RhbmNlb2Ygc2NoZW1hLk9iamVjdCA/IChzIGFzIGFueSkuc2NoZW1hIDogcyksXG4gIH07XG4gIGZvciAoY29uc3QgayBpbiBvYmpDb3B5KSB7XG4gICAgaWYgKCFvYmpDb3B5W2tdKSBjb250aW51ZTtcbiAgICBvYmpDb3B5W2tdID0gbWFwQ29sbGVjdGlvbihvYmpDb3B5W2tdLCBtYXBwZXIpIGFzIGFueTtcbiAgfVxuICByZXR1cm4gb2JqQ29weSBhcyBhbnk7XG59XG5cbnR5cGUgTWFwQ29sbGVjdGlvbjxcbiAgTSBleHRlbmRzIDxDIGV4dGVuZHMgc2NoZW1hLkNvbGxlY3Rpb24+KGNvbGxlY3Rpb246IEMpID0+IGFueSxcbiAgUyBleHRlbmRzIFNjaGVtYSB8IHVuZGVmaW5lZCxcbj4gPVxuICBTIGV4dGVuZHMgc2NoZW1hLkNvbGxlY3Rpb24gPyBSZXR1cm5UeXBlPE0+XG4gIDogUyBleHRlbmRzIHNjaGVtYS5PYmplY3Q8aW5mZXIgVD4gPyBNYXBDb2xsZWN0aW9uPE0sIFQ+XG4gIDogUyBleHRlbmRzIHsgW0s6IHN0cmluZ106IGFueSB9ID8gTWFwT2JqZWN0PE0sIFM+XG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIE1hcE9iamVjdDxcbiAgTSBleHRlbmRzIChjb2xsZWN0aW9uOiBzY2hlbWEuQ29sbGVjdGlvbikgPT4gYW55LFxuICBTIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pixcbj4gPSB7XG4gIFtLIGluIGtleW9mIFNdOiBTW0tdIGV4dGVuZHMgU2NoZW1hID8gTWFwQ29sbGVjdGlvbjxNLCBTW0tdPiA6IFNbS107XG59O1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBaUJBLE1BQU0sUUFBUSx1QkFBdUI7QUFFdEQsZUFBZSxTQUFTQyxhQUFhQSxDQUluQ0MsQ0FBSSxFQUNKQyxNQUFTLEVBVVA7RUFDRixJQUFJLE9BQU9ELENBQUMsS0FBSyxRQUFRLElBQUlBLENBQUMsS0FBS0UsU0FBUyxFQUFFLE9BQU9GLENBQUM7RUFDdEQsSUFBSUEsQ0FBQyxZQUFZRixNQUFNLENBQUNLLFVBQVUsRUFBRTtJQUNsQyxPQUFPRixNQUFNLENBQUNELENBQVEsQ0FBQztFQUN6QjtFQUNBLE1BQU1JLE9BQStCLEdBQUFDLFFBQUEsS0FDL0JMLENBQUMsWUFBWUYsTUFBTSxDQUFDUSxNQUFNLEdBQUlOLENBQUMsQ0FBU0YsTUFBTSxHQUFHRSxDQUFDLENBQ3ZEO0VBQ0QsS0FBSyxNQUFNTyxDQUFDLElBQUlILE9BQU8sRUFBRTtJQUN2QixJQUFJLENBQUNBLE9BQU8sQ0FBQ0csQ0FBQyxDQUFDLEVBQUU7SUFDakJILE9BQU8sQ0FBQ0csQ0FBQyxDQUFDLEdBQUdSLGFBQWEsQ0FBQ0ssT0FBTyxDQUFDRyxDQUFDLENBQUMsRUFBRU4sTUFBTSxDQUFRO0VBQ3ZEO0VBQ0EsT0FBT0csT0FBTztBQUNoQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,6 +1,7 @@
1
+ import _URLSearchParams from "core-js-pure/stable/url-search-params/index.js";
1
2
  export default function paramsToString(searchParams) {
2
- const params = new URLSearchParams(searchParams);
3
+ const params = new _URLSearchParams(searchParams);
3
4
  params.sort();
4
5
  return params.toString();
5
6
  }
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsInNvcnQiLCJ0b1N0cmluZyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJhbXNUb1N0cmluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwYXJhbXNUb1N0cmluZyhcbiAgc2VhcmNoUGFyYW1zPzpcbiAgICB8IHN0cmluZ1xuICAgIHwgVVJMU2VhcmNoUGFyYW1zXG4gICAgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgfCBzdHJpbmdbXVtdXG4gICAgfCB1bmRlZmluZWQsXG4pIHtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhzZWFyY2hQYXJhbXMpO1xuICBwYXJhbXMuc29ydCgpO1xuICByZXR1cm4gcGFyYW1zLnRvU3RyaW5nKCk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsU0FBU0EsY0FBY0EsQ0FDcENDLFlBS2EsRUFDYjtFQUNBLE1BQU1DLE1BQU0sR0FBRyxJQUFJQyxlQUFlLENBQUNGLFlBQVksQ0FBQztFQUNoREMsTUFBTSxDQUFDRSxJQUFJLENBQUMsQ0FBQztFQUNiLE9BQU9GLE1BQU0sQ0FBQ0csUUFBUSxDQUFDLENBQUM7QUFDMUIiLCJpZ25vcmVMaXN0IjpbXX0=
7
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIl9VUkxTZWFyY2hQYXJhbXMiLCJzb3J0IiwidG9TdHJpbmciXSwic291cmNlcyI6WyIuLi9zcmMvcGFyYW1zVG9TdHJpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcGFyYW1zVG9TdHJpbmcoXG4gIHNlYXJjaFBhcmFtcz86XG4gICAgfCBzdHJpbmdcbiAgICB8IFVSTFNlYXJjaFBhcmFtc1xuICAgIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgIHwgc3RyaW5nW11bXVxuICAgIHwgdW5kZWZpbmVkLFxuKSB7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoc2VhcmNoUGFyYW1zKTtcbiAgcGFyYW1zLnNvcnQoKTtcbiAgcmV0dXJuIHBhcmFtcy50b1N0cmluZygpO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsZUFBZSxTQUFTQSxjQUFjQSxDQUNwQ0MsWUFLYSxFQUNiO0VBQ0EsTUFBTUMsTUFBTSxHQUFHLElBQUFDLGdCQUFBLENBQW9CRixZQUFZLENBQUM7RUFDaERDLE1BQU0sQ0FBQ0UsSUFBSSxDQUFDLENBQUM7RUFDYixPQUFPRixNQUFNLENBQUNHLFFBQVEsQ0FBQyxDQUFDO0FBQzFCIiwiaWdub3JlTGlzdCI6W119
@@ -1,9 +1,10 @@
1
+ import _URLSearchParams from "core-js-pure/stable/url-search-params/index.js";
1
2
  export default function paramsToString(searchParams) {
2
- const params = new URLSearchParams(searchParams);
3
+ const params = new _URLSearchParams(searchParams);
3
4
  try {
4
5
  params.sort();
5
6
  // eslint-disable-next-line no-empty
6
7
  } catch (_unused) {}
7
8
  return params.toString();
8
9
  }
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsInNvcnQiLCJfdW51c2VkIiwidG9TdHJpbmciXSwic291cmNlcyI6WyIuLi9zcmMvcGFyYW1zVG9TdHJpbmcubmF0aXZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHBhcmFtc1RvU3RyaW5nKFxuICBzZWFyY2hQYXJhbXM/OlxuICAgIHwgc3RyaW5nXG4gICAgfCBVUkxTZWFyY2hQYXJhbXNcbiAgICB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICB8IHN0cmluZ1tdW11cbiAgICB8IHVuZGVmaW5lZCxcbikge1xuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHNlYXJjaFBhcmFtcyBhcyBhbnkpO1xuICB0cnkge1xuICAgIHBhcmFtcy5zb3J0KCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5XG4gIH0gY2F0Y2gge31cbiAgcmV0dXJuIHBhcmFtcy50b1N0cmluZygpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLFNBQVNBLGNBQWNBLENBQ3BDQyxZQUthLEVBQ2I7RUFDQSxNQUFNQyxNQUFNLEdBQUcsSUFBSUMsZUFBZSxDQUFDRixZQUFtQixDQUFDO0VBQ3ZELElBQUk7SUFDRkMsTUFBTSxDQUFDRSxJQUFJLENBQUMsQ0FBQztJQUNiO0VBQ0YsQ0FBQyxDQUFDLE9BQUFDLE9BQUEsRUFBTSxDQUFDO0VBQ1QsT0FBT0gsTUFBTSxDQUFDSSxRQUFRLENBQUMsQ0FBQztBQUMxQiIsImlnbm9yZUxpc3QiOltdfQ==
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIl9VUkxTZWFyY2hQYXJhbXMiLCJzb3J0IiwiX3VudXNlZCIsInRvU3RyaW5nIl0sInNvdXJjZXMiOlsiLi4vc3JjL3BhcmFtc1RvU3RyaW5nLm5hdGl2ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwYXJhbXNUb1N0cmluZyhcbiAgc2VhcmNoUGFyYW1zPzpcbiAgICB8IHN0cmluZ1xuICAgIHwgVVJMU2VhcmNoUGFyYW1zXG4gICAgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgfCBzdHJpbmdbXVtdXG4gICAgfCB1bmRlZmluZWQsXG4pIHtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhzZWFyY2hQYXJhbXMgYXMgYW55KTtcbiAgdHJ5IHtcbiAgICBwYXJhbXMuc29ydCgpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eVxuICB9IGNhdGNoIHt9XG4gIHJldHVybiBwYXJhbXMudG9TdHJpbmcoKTtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLGVBQWUsU0FBU0EsY0FBY0EsQ0FDcENDLFlBS2EsRUFDYjtFQUNBLE1BQU1DLE1BQU0sR0FBRyxJQUFBQyxnQkFBQSxDQUFvQkYsWUFBbUIsQ0FBQztFQUN2RCxJQUFJO0lBQ0ZDLE1BQU0sQ0FBQ0UsSUFBSSxDQUFDLENBQUM7SUFDYjtFQUNGLENBQUMsQ0FBQyxPQUFBQyxPQUFBLEVBQU0sQ0FBQztFQUNULE9BQU9ILE1BQU0sQ0FBQ0ksUUFBUSxDQUFDLENBQUM7QUFDMUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,4 +1,5 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
1
+ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime-corejs3/helpers/esm/objectWithoutPropertiesLoose";
2
3
  const _excluded = ["path", "schema", "Endpoint", "Collection", "optimistic", "paginationField"];
3
4
  import { schema } from '@data-client/endpoint';
4
5
  import RestEndpoint from './RestEndpoint.js';
@@ -46,9 +47,9 @@ This warning will not show in production.`);
46
47
  function extendMember(extended, key, options) {
47
48
  extended[key] = extended[key].extend(options);
48
49
  }
49
- const extraMutateOptions = Object.assign({}, extraOptions);
50
- const extraPartialOptions = Object.assign({}, extraOptions);
51
- const get = new Endpoint(Object.assign({}, extraOptions, {
50
+ const extraMutateOptions = _extends({}, extraOptions);
51
+ const extraPartialOptions = _extends({}, extraOptions);
52
+ const get = new Endpoint(_extends({}, extraOptions, {
52
53
  path,
53
54
  schema,
54
55
  name: getName('get')
@@ -58,7 +59,7 @@ This warning will not show in production.`);
58
59
  // TODO: Check that schema is a queryable, otherwise this doesn't make sense
59
60
  extraPartialOptions.getOptimisticResponse = optimisticPartial(schema);
60
61
  }
61
- const getList = new Endpoint(Object.assign({}, extraMutateOptions, {
62
+ const getList = new Endpoint(_extends({}, extraMutateOptions, {
62
63
  paginationField: paginationField,
63
64
  path: shortenedPath,
64
65
  schema: new Collection([schema]),
@@ -71,19 +72,19 @@ This warning will not show in production.`);
71
72
  create: getList.push.extend({
72
73
  name: getName('create')
73
74
  }),
74
- update: new Endpoint(Object.assign({}, extraMutateOptions, {
75
+ update: new Endpoint(_extends({}, extraMutateOptions, {
75
76
  path,
76
77
  schema,
77
78
  method: 'PUT',
78
79
  name: getName('update')
79
80
  })),
80
- partialUpdate: new Endpoint(Object.assign({}, extraPartialOptions, {
81
+ partialUpdate: new Endpoint(_extends({}, extraPartialOptions, {
81
82
  path,
82
83
  schema,
83
84
  method: 'PATCH',
84
85
  name: getName('partialUpdate')
85
86
  })),
86
- delete: new Endpoint(Object.assign({}, extraMutateOptions, {
87
+ delete: new Endpoint(_extends({}, extraMutateOptions, {
87
88
  path,
88
89
  schema: schema.process ? new Invalidate(schema) : schema,
89
90
  method: 'DELETE',
@@ -97,20 +98,20 @@ This warning will not show in production.`);
97
98
  if (typeof args[0] === 'string') {
98
99
  const [key, options] = args;
99
100
  if (key in this) {
100
- const extended = Object.assign({}, this);
101
+ const extended = _extends({}, this);
101
102
  extendMember(extended, key, options);
102
103
  return extended;
103
104
  } else {
104
- return Object.assign({}, this, {
105
+ return _extends({}, this, {
105
106
  [key]: this.get.extend(options)
106
107
  });
107
108
  }
108
109
  } else if (typeof args[0] === 'function') {
109
110
  const extended = args[0](this);
110
- return Object.assign({}, this, extended);
111
+ return _extends({}, this, extended);
111
112
  }
112
113
  const overrides = args[0];
113
- const extended = Object.assign({}, this);
114
+ const extended = _extends({}, this);
114
115
  for (const key in overrides) {
115
116
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
116
117
  // @ts-ignore
@@ -122,13 +123,13 @@ This warning will not show in production.`);
122
123
  return ret;
123
124
  }
124
125
  function optimisticUpdate(snap, params, body) {
125
- return Object.assign({}, params, ensurePojo(body));
126
+ return _extends({}, params, ensurePojo(body));
126
127
  }
127
128
  function optimisticPartial(schema) {
128
129
  return function (snap, params, body) {
129
130
  const data = snap.get(schema, params);
130
131
  if (!data) throw snap.abort;
131
- return Object.assign({}, params, data, ensurePojo(body));
132
+ return _extends({}, params, data, ensurePojo(body));
132
133
  };
133
134
  }
134
135
  function optimisticDelete(snap, params) {
@@ -137,4 +138,4 @@ function optimisticDelete(snap, params) {
137
138
  function ensurePojo(body) {
138
139
  return body instanceof FormData ? Object.fromEntries(body.entries()) : body;
139
140
  }
140
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiQmFzZUNvbGxlY3Rpb24iLCJyZXNvdXJjZSIsIl9yZWYiLCJwYXRoIiwiRW5kcG9pbnQiLCJvcHRpbWlzdGljIiwicGFnaW5hdGlvbkZpZWxkIiwiZXh0cmFPcHRpb25zIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJfZXhjbHVkZWQiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJpc1Byb3RvdHlwZU9mIiwiY2FsbCIsImNvbnNvbGUiLCJ3YXJuIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0ZW5kTWVtYmVyIiwiZXh0ZW5kZWQiLCJrZXkiLCJvcHRpb25zIiwiZXh0ZW5kIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiYXNzaWduIiwiZXh0cmFQYXJ0aWFsT3B0aW9ucyIsImdldCIsImdldE9wdGltaXN0aWNSZXNwb25zZSIsIm9wdGltaXN0aWNVcGRhdGUiLCJvcHRpbWlzdGljUGFydGlhbCIsImdldExpc3QiLCJyZXQiLCJjcmVhdGUiLCJwdXNoIiwidXBkYXRlIiwibWV0aG9kIiwicGFydGlhbFVwZGF0ZSIsImRlbGV0ZSIsInJlcyIsInBhcmFtcyIsImtleXMiLCJsZW5ndGgiLCJvcHRpbWlzdGljRGVsZXRlIiwidW5kZWZpbmVkIiwiYXJncyIsIm92ZXJyaWRlcyIsInNuYXAiLCJib2R5IiwiZW5zdXJlUG9qbyIsImRhdGEiLCJhYm9ydCIsIkZvcm1EYXRhIiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3Jlc291cmNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjaGVtYSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgdHlwZSB7IFNuYXBzaG90SW50ZXJmYWNlLCBRdWVyeWFibGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQge1xuICBSZXNvdXJjZUdlbmVyaWNzLFxuICBSZXNvdXJjZU9wdGlvbnMsXG4gIFJlc291cmNlLFxuICBSZXNvdXJjZUludGVyZmFjZSxcbn0gZnJvbSAnLi9yZXNvdXJjZVR5cGVzLmpzJztcbmltcG9ydCBSZXN0RW5kcG9pbnQsIHtcbiAgR2V0RW5kcG9pbnQsXG4gIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIFJlc3RFbmRwb2ludE9wdGlvbnMsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IHNob3J0ZW5QYXRoIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbmNvbnN0IHsgSW52YWxpZGF0ZSwgQ29sbGVjdGlvbjogQmFzZUNvbGxlY3Rpb24gfSA9IHNjaGVtYTtcblxuLyoqIENyZWF0ZXMgY29sbGVjdGlvbiBvZiBFbmRwb2ludHMgZm9yIGNvbW1vbiBvcGVyYXRpb25zIG9uIGEgZ2l2ZW4gZGF0YS9zY2hlbWEuXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVzb3VyY2U8TyBleHRlbmRzIFJlc291cmNlR2VuZXJpY3M+KHtcbiAgcGF0aCxcbiAgc2NoZW1hLFxuICBFbmRwb2ludCA9IFJlc3RFbmRwb2ludCxcbiAgQ29sbGVjdGlvbiA9IEJhc2VDb2xsZWN0aW9uLFxuICBvcHRpbWlzdGljLFxuICBwYWdpbmF0aW9uRmllbGQsXG4gIC4uLmV4dHJhT3B0aW9uc1xufTogUmVhZG9ubHk8Tz4gJiBSZXNvdXJjZU9wdGlvbnMpOiBSZXNvdXJjZTxPPiB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgLy8gaWYgdGhleSBsb3dlcmNhc2UgYW5kIGl0IGxvb2tzIGxpa2UgdGhleSBtZWFudCB0byB1c2UgdXBwZXItY2FzZSB2ZXJzaW9uXG4gICAgaWYgKFxuICAgICAgJ2VuZHBvaW50JyBpbiBleHRyYU9wdGlvbnMgJiZcbiAgICAgIEVuZHBvaW50ID09PSBSZXN0RW5kcG9pbnQgJiZcbiAgICAgIHR5cGVvZiBleHRyYU9wdGlvbnNbJ2VuZHBvaW50J10gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIGV4dHJhT3B0aW9uc1snZW5kcG9pbnQnXSAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwoXG4gICAgICAgIFJlc3RFbmRwb2ludC5wcm90b3R5cGUsXG4gICAgICAgIChleHRyYU9wdGlvbnNbJ2VuZHBvaW50J10gYXMgYW55KS5wcm90b3R5cGUsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBZb3UgcGFzc2VkICdlbmRwb2ludCcgb3B0aW9uOyBkaWQgeW91IG1lYW4gdG8gdXNlIEVuZHBvaW50P1xuaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL3Jlc291cmNlI2VuZHBvaW50XG5UaGlzIHBhcmFtZXRlciBtdXN0IGJlIGNhcGl0YWxpemVkLlxuXG5UaGlzIHdhcm5pbmcgd2lsbCBub3Qgc2hvdyBpbiBwcm9kdWN0aW9uLmAsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBpZiB0aGV5IGxvd2VyY2FzZSBhbmQgaXQgbG9va3MgbGlrZSB0aGV5IG1lYW50IHRvIHVzZSB1cHBlci1jYXNlIHZlcnNpb25cbiAgICBpZiAoXG4gICAgICAnY29sbGVjdGlvbicgaW4gZXh0cmFPcHRpb25zICYmXG4gICAgICBDb2xsZWN0aW9uID09PSBCYXNlQ29sbGVjdGlvbiAmJlxuICAgICAgdHlwZW9mIGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddID09PSAnZnVuY3Rpb24nICYmXG4gICAgICBleHRyYU9wdGlvbnNbJ2NvbGxlY3Rpb24nXSAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwoXG4gICAgICAgIEJhc2VDb2xsZWN0aW9uLnByb3RvdHlwZSxcbiAgICAgICAgKGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddIGFzIGFueSkucHJvdG90eXBlLFxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgWW91IHBhc3NlZCAnY29sbGVjdGlvbicgb3B0aW9uOyBkaWQgeW91IG1lYW4gdG8gdXNlIENvbGxlY3Rpb24/XG5odHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjY29sbGVjdGlvblxuVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBjYXBpdGFsaXplZC5cblxuVGhpcyB3YXJuaW5nIHdpbGwgbm90IHNob3cgaW4gcHJvZHVjdGlvbi5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgY29uc3Qgc2hvcnRlbmVkUGF0aCA9IHNob3J0ZW5QYXRoKHBhdGgpO1xuICBjb25zdCBnZXROYW1lID0gKG5hbWU6IHN0cmluZykgPT4gYCR7KHNjaGVtYSBhcyBhbnkpPy5uYW1lfS4ke25hbWV9YDtcbiAgLy8gdGhpcyBhY2NvdW50cyBmb3IgZGVyaXZhdGl2ZSBlbmRwb2ludHNcbiAgZnVuY3Rpb24gZXh0ZW5kTWVtYmVyKGV4dGVuZGVkOiBhbnksIGtleTogc3RyaW5nLCBvcHRpb25zOiBhbnkpIHtcbiAgICBleHRlbmRlZFtrZXldID0gZXh0ZW5kZWRba2V5XS5leHRlbmQob3B0aW9ucyk7XG4gIH1cblxuICBjb25zdCBleHRyYU11dGF0ZU9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBleHRyYVBhcnRpYWxPcHRpb25zID0geyAuLi5leHRyYU9wdGlvbnMgfTtcbiAgY29uc3QgZ2V0OiBHZXRFbmRwb2ludDx7IHBhdGg6IE9bJ3BhdGgnXTsgc2NoZW1hOiBPWydzY2hlbWEnXSB9PiA9XG4gICAgbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBuYW1lOiBnZXROYW1lKCdnZXQnKSxcbiAgICB9KSBhcyBhbnk7XG4gIGlmIChvcHRpbWlzdGljKSB7XG4gICAgKGV4dHJhTXV0YXRlT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNVcGRhdGU7XG4gICAgLy8gVE9ETzogQ2hlY2sgdGhhdCBzY2hlbWEgaXMgYSBxdWVyeWFibGUsIG90aGVyd2lzZSB0aGlzIGRvZXNuJ3QgbWFrZSBzZW5zZVxuICAgIChleHRyYVBhcnRpYWxPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1BhcnRpYWwoXG4gICAgICBzY2hlbWEgYXMgYW55LFxuICAgICk7XG4gIH1cbiAgY29uc3QgZ2V0TGlzdCA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgIHBhZ2luYXRpb25GaWVsZDogcGFnaW5hdGlvbkZpZWxkIGFzIHN0cmluZyxcbiAgICBwYXRoOiBzaG9ydGVuZWRQYXRoLFxuICAgIHNjaGVtYTogbmV3IENvbGxlY3Rpb24oW3NjaGVtYSBhcyBhbnldKSxcbiAgICBuYW1lOiBnZXROYW1lKCdnZXRMaXN0JyksXG4gIH0pO1xuICBjb25zdCByZXQgPSB7XG4gICAgZ2V0LFxuICAgIGdldExpc3QsXG4gICAgLy8gVE9ETyhkZXByZWNhdGVkKTogcmVtb3ZlIHRoaXMgb25jZSB3ZSByZW1vdmUgY3JlYXRlc1xuICAgIGNyZWF0ZTogZ2V0TGlzdC5wdXNoLmV4dGVuZCh7IG5hbWU6IGdldE5hbWUoJ2NyZWF0ZScpIH0pLFxuICAgIHVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgndXBkYXRlJyksXG4gICAgfSksXG4gICAgcGFydGlhbFVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhUGFydGlhbE9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgncGFydGlhbFVwZGF0ZScpLFxuICAgIH0pLFxuICAgIGRlbGV0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWE6IChzY2hlbWEgYXMgYW55KS5wcm9jZXNzID8gbmV3IEludmFsaWRhdGUoc2NoZW1hIGFzIGFueSkgOiBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgnZGVsZXRlJyksXG4gICAgICBwcm9jZXNzKHJlczogYW55LCBwYXJhbXM6IGFueSkge1xuICAgICAgICByZXR1cm4gcmVzICYmIE9iamVjdC5rZXlzKHJlcykubGVuZ3RoID8gcmVzIDogcGFyYW1zO1xuICAgICAgfSxcbiAgICAgIGdldE9wdGltaXN0aWNSZXNwb25zZTogb3B0aW1pc3RpYyA/IChvcHRpbWlzdGljRGVsZXRlIGFzIGFueSkgOiB1bmRlZmluZWQsXG4gICAgfSksXG4gICAgZXh0ZW5kKFxuICAgICAgLi4uYXJnczpcbiAgICAgICAgfCBbc3RyaW5nLCBSZXN0RW5kcG9pbnRPcHRpb25zICYgUGFydGlhbFJlc3RHZW5lcmljc11cbiAgICAgICAgfCBbUmVzdEVuZHBvaW50T3B0aW9ucyAmIFBhcnRpYWxSZXN0R2VuZXJpY3NdXG4gICAgICAgIHwgW1xuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICBiYXNlUmVzb3VyY2U6IFJlc291cmNlSW50ZXJmYWNlLFxuICAgICAgICAgICAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBSZXN0SW5zdGFuY2VCYXNlPixcbiAgICAgICAgICBdXG4gICAgKSB7XG4gICAgICBpZiAodHlwZW9mIGFyZ3NbMF0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIG9wdGlvbnNdID0gYXJncztcbiAgICAgICAgaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgY29uc3QgZXh0ZW5kZWQgPSB7IC4uLnRoaXMgfTtcbiAgICAgICAgICBleHRlbmRNZW1iZXIoZXh0ZW5kZWQsIGtleSwgb3B0aW9ucyk7XG4gICAgICAgICAgcmV0dXJuIGV4dGVuZGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi50aGlzLFxuICAgICAgICAgICAgW2tleV06IHRoaXMuZ2V0LmV4dGVuZChvcHRpb25zKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmdzWzBdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IGV4dGVuZGVkID0gYXJnc1swXSh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50aGlzLFxuICAgICAgICAgIC4uLmV4dGVuZGVkLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gYXJnc1swXTtcbiAgICAgIGNvbnN0IGV4dGVuZGVkID0geyAuLi50aGlzIH07XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBvdmVycmlkZXMpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGV4dGVuZE1lbWJlcihleHRlbmRlZCwga2V5LCBvdmVycmlkZXNba2V5XSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXh0ZW5kZWQ7XG4gICAgfSxcbiAgfSBhcyBhbnk7XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIG9wdGltaXN0aWNVcGRhdGUoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wYXJhbXMsXG4gICAgLi4uZW5zdXJlUG9qbyhib2R5KSxcbiAgfTtcbn1cbmZ1bmN0aW9uIG9wdGltaXN0aWNQYXJ0aWFsKHNjaGVtYTogUXVlcnlhYmxlKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgICBjb25zdCBkYXRhID0gc25hcC5nZXQoc2NoZW1hLCBwYXJhbXMpO1xuICAgIGlmICghZGF0YSkgdGhyb3cgc25hcC5hYm9ydDtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgLi4uZGF0YSxcbiAgICAgIC8vIGV2ZW4gdGhvIHdlIGRvbid0IGFsd2F5cyBoYXZlIHR3byBhcmd1bWVudHMsIHRoZSBleHRyYSBvbmUgd2lsbCBzaW1wbHkgYmUgdW5kZWZpbmVkIHdoaWNoIHNwcmVhZHMgZmluZVxuICAgICAgLi4uZW5zdXJlUG9qbyhib2R5KSxcbiAgICB9O1xuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY0RlbGV0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnkpIHtcbiAgcmV0dXJuIHBhcmFtcztcbn1cbmZ1bmN0aW9uIGVuc3VyZVBvam8oYm9keTogYW55KSB7XG4gIHJldHVybiBib2R5IGluc3RhbmNlb2YgRm9ybURhdGEgP1xuICAgICAgT2JqZWN0LmZyb21FbnRyaWVzKChib2R5IGFzIGFueSkuZW50cmllcygpKVxuICAgIDogYm9keTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxNQUFNLFFBQVEsdUJBQXVCO0FBUzlDLE9BQU9DLFlBQVksTUFLWixtQkFBbUI7QUFDMUIsU0FBU0MsV0FBVyxRQUFRLGtCQUFrQjtBQUU5QyxNQUFNO0VBQUVDLFVBQVU7RUFBRUMsVUFBVSxFQUFFQztBQUFlLENBQUMsR0FBR0wsTUFBTTs7QUFFekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVNNLFFBQVFBLENBQUFDLElBQUEsRUFRZTtFQUFB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
141
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiQmFzZUNvbGxlY3Rpb24iLCJyZXNvdXJjZSIsIl9yZWYiLCJwYXRoIiwiRW5kcG9pbnQiLCJvcHRpbWlzdGljIiwicGFnaW5hdGlvbkZpZWxkIiwiZXh0cmFPcHRpb25zIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJfZXhjbHVkZWQiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJpc1Byb3RvdHlwZU9mIiwiY2FsbCIsImNvbnNvbGUiLCJ3YXJuIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0ZW5kTWVtYmVyIiwiZXh0ZW5kZWQiLCJrZXkiLCJvcHRpb25zIiwiZXh0ZW5kIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiX2V4dGVuZHMiLCJleHRyYVBhcnRpYWxPcHRpb25zIiwiZ2V0IiwiZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlIiwib3B0aW1pc3RpY1VwZGF0ZSIsIm9wdGltaXN0aWNQYXJ0aWFsIiwiZ2V0TGlzdCIsInJldCIsImNyZWF0ZSIsInB1c2giLCJ1cGRhdGUiLCJtZXRob2QiLCJwYXJ0aWFsVXBkYXRlIiwiZGVsZXRlIiwicmVzIiwicGFyYW1zIiwia2V5cyIsImxlbmd0aCIsIm9wdGltaXN0aWNEZWxldGUiLCJ1bmRlZmluZWQiLCJhcmdzIiwib3ZlcnJpZGVzIiwic25hcCIsImJvZHkiLCJlbnN1cmVQb2pvIiwiZGF0YSIsImFib3J0IiwiRm9ybURhdGEiLCJmcm9tRW50cmllcyIsImVudHJpZXMiXSwic291cmNlcyI6WyIuLi9zcmMvcmVzb3VyY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NoZW1hIH0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcbmltcG9ydCB0eXBlIHsgU25hcHNob3RJbnRlcmZhY2UsIFF1ZXJ5YWJsZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmltcG9ydCB7XG4gIFJlc291cmNlR2VuZXJpY3MsXG4gIFJlc291cmNlT3B0aW9ucyxcbiAgUmVzb3VyY2UsXG4gIFJlc291cmNlSW50ZXJmYWNlLFxufSBmcm9tICcuL3Jlc291cmNlVHlwZXMuanMnO1xuaW1wb3J0IFJlc3RFbmRwb2ludCwge1xuICBHZXRFbmRwb2ludCxcbiAgUGFydGlhbFJlc3RHZW5lcmljcyxcbiAgUmVzdEVuZHBvaW50T3B0aW9ucyxcbiAgUmVzdEluc3RhbmNlQmFzZSxcbn0gZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuaW1wb3J0IHsgc2hvcnRlblBhdGggfSBmcm9tICcuL1Jlc3RIZWxwZXJzLmpzJztcblxuY29uc3QgeyBJbnZhbGlkYXRlLCBDb2xsZWN0aW9uOiBCYXNlQ29sbGVjdGlvbiB9ID0gc2NoZW1hO1xuXG4vKiogQ3JlYXRlcyBjb2xsZWN0aW9uIG9mIEVuZHBvaW50cyBmb3IgY29tbW9uIG9wZXJhdGlvbnMgb24gYSBnaXZlbiBkYXRhL3NjaGVtYS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZXNvdXJjZTxPIGV4dGVuZHMgUmVzb3VyY2VHZW5lcmljcz4oe1xuICBwYXRoLFxuICBzY2hlbWEsXG4gIEVuZHBvaW50ID0gUmVzdEVuZHBvaW50LFxuICBDb2xsZWN0aW9uID0gQmFzZUNvbGxlY3Rpb24sXG4gIG9wdGltaXN0aWMsXG4gIHBhZ2luYXRpb25GaWVsZCxcbiAgLi4uZXh0cmFPcHRpb25zXG59OiBSZWFkb25seTxPPiAmIFJlc291cmNlT3B0aW9ucyk6IFJlc291cmNlPE8+IHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAvLyBpZiB0aGV5IGxvd2VyY2FzZSBhbmQgaXQgbG9va3MgbGlrZSB0aGV5IG1lYW50IHRvIHVzZSB1cHBlci1jYXNlIHZlcnNpb25cbiAgICBpZiAoXG4gICAgICAnZW5kcG9pbnQnIGluIGV4dHJhT3B0aW9ucyAmJlxuICAgICAgRW5kcG9pbnQgPT09IFJlc3RFbmRwb2ludCAmJlxuICAgICAgdHlwZW9mIGV4dHJhT3B0aW9uc1snZW5kcG9pbnQnXSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgZXh0cmFPcHRpb25zWydlbmRwb2ludCddICYmXG4gICAgICBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbChcbiAgICAgICAgUmVzdEVuZHBvaW50LnByb3RvdHlwZSxcbiAgICAgICAgKGV4dHJhT3B0aW9uc1snZW5kcG9pbnQnXSBhcyBhbnkpLnByb3RvdHlwZSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFlvdSBwYXNzZWQgJ2VuZHBvaW50JyBvcHRpb247IGRpZCB5b3UgbWVhbiB0byB1c2UgRW5kcG9pbnQ/XG5odHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjZW5kcG9pbnRcblRoaXMgcGFyYW1ldGVyIG11c3QgYmUgY2FwaXRhbGl6ZWQuXG5cblRoaXMgd2FybmluZyB3aWxsIG5vdCBzaG93IGluIHByb2R1Y3Rpb24uYCxcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIGlmIHRoZXkgbG93ZXJjYXNlIGFuZCBpdCBsb29rcyBsaWtlIHRoZXkgbWVhbnQgdG8gdXNlIHVwcGVyLWNhc2UgdmVyc2lvblxuICAgIGlmIChcbiAgICAgICdjb2xsZWN0aW9uJyBpbiBleHRyYU9wdGlvbnMgJiZcbiAgICAgIENvbGxlY3Rpb24gPT09IEJhc2VDb2xsZWN0aW9uICYmXG4gICAgICB0eXBlb2YgZXh0cmFPcHRpb25zWydjb2xsZWN0aW9uJ10gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddICYmXG4gICAgICBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbChcbiAgICAgICAgQmFzZUNvbGxlY3Rpb24ucHJvdG90eXBlLFxuICAgICAgICAoZXh0cmFPcHRpb25zWydjb2xsZWN0aW9uJ10gYXMgYW55KS5wcm90b3R5cGUsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBZb3UgcGFzc2VkICdjb2xsZWN0aW9uJyBvcHRpb247IGRpZCB5b3UgbWVhbiB0byB1c2UgQ29sbGVjdGlvbj9cbmh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNjb2xsZWN0aW9uXG5UaGlzIHBhcmFtZXRlciBtdXN0IGJlIGNhcGl0YWxpemVkLlxuXG5UaGlzIHdhcm5pbmcgd2lsbCBub3Qgc2hvdyBpbiBwcm9kdWN0aW9uLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBjb25zdCBzaG9ydGVuZWRQYXRoID0gc2hvcnRlblBhdGgocGF0aCk7XG4gIGNvbnN0IGdldE5hbWUgPSAobmFtZTogc3RyaW5nKSA9PiBgJHsoc2NoZW1hIGFzIGFueSk/Lm5hbWV9LiR7bmFtZX1gO1xuICAvLyB0aGlzIGFjY291bnRzIGZvciBkZXJpdmF0aXZlIGVuZHBvaW50c1xuICBmdW5jdGlvbiBleHRlbmRNZW1iZXIoZXh0ZW5kZWQ6IGFueSwga2V5OiBzdHJpbmcsIG9wdGlvbnM6IGFueSkge1xuICAgIGV4dGVuZGVkW2tleV0gPSBleHRlbmRlZFtrZXldLmV4dGVuZChvcHRpb25zKTtcbiAgfVxuXG4gIGNvbnN0IGV4dHJhTXV0YXRlT3B0aW9ucyA9IHsgLi4uZXh0cmFPcHRpb25zIH07XG4gIGNvbnN0IGV4dHJhUGFydGlhbE9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBnZXQ6IEdldEVuZHBvaW50PHsgcGF0aDogT1sncGF0aCddOyBzY2hlbWE6IE9bJ3NjaGVtYSddIH0+ID1cbiAgICBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ2dldCcpLFxuICAgIH0pIGFzIGFueTtcbiAgaWYgKG9wdGltaXN0aWMpIHtcbiAgICAoZXh0cmFNdXRhdGVPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1VwZGF0ZTtcbiAgICAvLyBUT0RPOiBDaGVjayB0aGF0IHNjaGVtYSBpcyBhIHF1ZXJ5YWJsZSwgb3RoZXJ3aXNlIHRoaXMgZG9lc24ndCBtYWtlIHNlbnNlXG4gICAgKGV4dHJhUGFydGlhbE9wdGlvbnMgYXMgYW55KS5nZXRPcHRpbWlzdGljUmVzcG9uc2UgPSBvcHRpbWlzdGljUGFydGlhbChcbiAgICAgIHNjaGVtYSBhcyBhbnksXG4gICAgKTtcbiAgfVxuICBjb25zdCBnZXRMaXN0ID0gbmV3IEVuZHBvaW50KHtcbiAgICAuLi5leHRyYU11dGF0ZU9wdGlvbnMsXG4gICAgcGFnaW5hdGlvbkZpZWxkOiBwYWdpbmF0aW9uRmllbGQgYXMgc3RyaW5nLFxuICAgIHBhdGg6IHNob3J0ZW5lZFBhdGgsXG4gICAgc2NoZW1hOiBuZXcgQ29sbGVjdGlvbihbc2NoZW1hIGFzIGFueV0pLFxuICAgIG5hbWU6IGdldE5hbWUoJ2dldExpc3QnKSxcbiAgfSk7XG4gIGNvbnN0IHJldCA9IHtcbiAgICBnZXQsXG4gICAgZ2V0TGlzdCxcbiAgICAvLyBUT0RPKGRlcHJlY2F0ZWQpOiByZW1vdmUgdGhpcyBvbmNlIHdlIHJlbW92ZSBjcmVhdGVzXG4gICAgY3JlYXRlOiBnZXRMaXN0LnB1c2guZXh0ZW5kKHsgbmFtZTogZ2V0TmFtZSgnY3JlYXRlJykgfSksXG4gICAgdXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCd1cGRhdGUnKSxcbiAgICB9KSxcbiAgICBwYXJ0aWFsVXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFQYXJ0aWFsT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCdwYXJ0aWFsVXBkYXRlJyksXG4gICAgfSksXG4gICAgZGVsZXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYTogKHNjaGVtYSBhcyBhbnkpLnByb2Nlc3MgPyBuZXcgSW52YWxpZGF0ZShzY2hlbWEgYXMgYW55KSA6IHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBuYW1lOiBnZXROYW1lKCdkZWxldGUnKSxcbiAgICAgIHByb2Nlc3MocmVzOiBhbnksIHBhcmFtczogYW55KSB7XG4gICAgICAgIHJldHVybiByZXMgJiYgT2JqZWN0LmtleXMocmVzKS5sZW5ndGggPyByZXMgOiBwYXJhbXM7XG4gICAgICB9LFxuICAgICAgZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlOiBvcHRpbWlzdGljID8gKG9wdGltaXN0aWNEZWxldGUgYXMgYW55KSA6IHVuZGVmaW5lZCxcbiAgICB9KSxcbiAgICBleHRlbmQoXG4gICAgICAuLi5hcmdzOlxuICAgICAgICB8IFtzdHJpbmcsIFJlc3RFbmRwb2ludE9wdGlvbnMgJiBQYXJ0aWFsUmVzdEdlbmVyaWNzXVxuICAgICAgICB8IFtSZXN0RW5kcG9pbnRPcHRpb25zICYgUGFydGlhbFJlc3RHZW5lcmljc11cbiAgICAgICAgfCBbXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgIGJhc2VSZXNvdXJjZTogUmVzb3VyY2VJbnRlcmZhY2UsXG4gICAgICAgICAgICApID0+IFJlY29yZDxzdHJpbmcsIFJlc3RJbnN0YW5jZUJhc2U+LFxuICAgICAgICAgIF1cbiAgICApIHtcbiAgICAgIGlmICh0eXBlb2YgYXJnc1swXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgW2tleSwgb3B0aW9uc10gPSBhcmdzO1xuICAgICAgICBpZiAoa2V5IGluIHRoaXMpIHtcbiAgICAgICAgICBjb25zdCBleHRlbmRlZCA9IHsgLi4udGhpcyB9O1xuICAgICAgICAgIGV4dGVuZE1lbWJlcihleHRlbmRlZCwga2V5LCBvcHRpb25zKTtcbiAgICAgICAgICByZXR1cm4gZXh0ZW5kZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnRoaXMsXG4gICAgICAgICAgICBba2V5XTogdGhpcy5nZXQuZXh0ZW5kKG9wdGlvbnMpLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFyZ3NbMF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgZXh0ZW5kZWQgPSBhcmdzWzBdKHRoaXMpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnRoaXMsXG4gICAgICAgICAgLi4uZXh0ZW5kZWQsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBjb25zdCBvdmVycmlkZXMgPSBhcmdzWzBdO1xuICAgICAgY29uc3QgZXh0ZW5kZWQgPSB7IC4uLnRoaXMgfTtcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIG92ZXJyaWRlcykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZXh0ZW5kTWVtYmVyKGV4dGVuZGVkLCBrZXksIG92ZXJyaWRlc1trZXldKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBleHRlbmRlZDtcbiAgICB9LFxuICB9IGFzIGFueTtcbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gb3B0aW1pc3RpY1VwZGF0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnksIGJvZHk6IGFueSkge1xuICByZXR1cm4ge1xuICAgIC4uLnBhcmFtcyxcbiAgICAuLi5lbnN1cmVQb2pvKGJvZHkpLFxuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY1BhcnRpYWwoc2NoZW1hOiBRdWVyeWFibGUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnksIGJvZHk6IGFueSkge1xuICAgIGNvbnN0IGRhdGEgPSBzbmFwLmdldChzY2hlbWEsIHBhcmFtcyk7XG4gICAgaWYgKCFkYXRhKSB0aHJvdyBzbmFwLmFib3J0O1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICAuLi5kYXRhLFxuICAgICAgLy8gZXZlbiB0aG8gd2UgZG9uJ3QgYWx3YXlzIGhhdmUgdHdvIGFyZ3VtZW50cywgdGhlIGV4dHJhIG9uZSB3aWxsIHNpbXBseSBiZSB1bmRlZmluZWQgd2hpY2ggc3ByZWFkcyBmaW5lXG4gICAgICAuLi5lbnN1cmVQb2pvKGJvZHkpLFxuICAgIH07XG4gIH07XG59XG5mdW5jdGlvbiBvcHRpbWlzdGljRGVsZXRlKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSkge1xuICByZXR1cm4gcGFyYW1zO1xufVxuZnVuY3Rpb24gZW5zdXJlUG9qbyhib2R5OiBhbnkpIHtcbiAgcmV0dXJuIGJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSA/XG4gICAgICBPYmplY3QuZnJvbUVudHJpZXMoKGJvZHkgYXMgYW55KS5lbnRyaWVzKCkpXG4gICAgOiBib2R5O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFTQSxNQUFNLFFBQVEsdUJBQXVCO0FBUzlDLE9BQU9DLFlBQVksTUFLWixtQkFBbUI7QUFDMUIsU0FBU0MsV0FBVyxRQUFRLGtCQUFrQjtBQUU5QyxNQUFNO0VBQUVDLFVBQVU7RUFBRUMsVUFBVSxFQUFFQztBQUFlLENBQUMsR0FBR0wsTUFBTTs7QUFFekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVNNLFFBQVFBLENBQUFDLElBQUEsRUFRZTtF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
@@ -1,5 +1,5 @@
1
- import _classPrivateFieldLooseBase from "@babel/runtime/helpers/classPrivateFieldLooseBase";
2
- import _classPrivateFieldLooseKey from "@babel/runtime/helpers/classPrivateFieldLooseKey";
1
+ import _classPrivateFieldLooseBase from "@babel/runtime-corejs3/helpers/esm/classPrivateFieldLooseBase";
2
+ import _classPrivateFieldLooseKey from "@babel/runtime-corejs3/helpers/esm/classPrivateFieldLooseKey";
3
3
  import { Endpoint } from '@data-client/endpoint';
4
4
  import { pathToRegexp } from 'path-to-regexp';
5
5
  import extractCollection from './extractCollection.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,8BAA8B,EAC9B,WAAW,EACX,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EACV,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,YAAY,EACV,YAAY,EACZ,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,8BAA8B,EAC9B,WAAW,EACX,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EACV,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,YAAY,EACV,YAAY,EACZ,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
package/lib/index.js CHANGED
@@ -1,6 +1,3 @@
1
- Object.hasOwn = Object.hasOwn || /* istanbul ignore next */function hasOwn(it, key) {
2
- return Object.prototype.hasOwnProperty.call(it, key);
3
- };
4
1
  export { default as RestEndpoint } from './RestEndpoint.js';
5
2
  export { getUrlBase, getUrlTokens } from './RestHelpers.js';
6
3
  export { default as resource } from './resource.js';
@@ -9,4 +6,4 @@ export { default as hookifyResource } from './hookifyResource.js';
9
6
  export { default as NetworkError } from './NetworkError.js';
10
7
  export * from '@data-client/endpoint';
11
8
  export * from './RestEndpoint.js';
12
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlZmF1bHQiLCJSZXN0RW5kcG9pbnQiLCJnZXRVcmxCYXNlIiwiZ2V0VXJsVG9rZW5zIiwicmVzb3VyY2UiLCJjcmVhdGVSZXNvdXJjZSIsImhvb2tpZnlSZXNvdXJjZSIsIk5ldHdvcmtFcnJvciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJPYmplY3QuaGFzT3duID1cbiAgT2JqZWN0Lmhhc093biB8fFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmdW5jdGlvbiBoYXNPd24oaXQsIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG4gIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIFJlc3RFbmRwb2ludCB9IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgR2V0RW5kcG9pbnQsXG4gIE11dGF0ZUVuZHBvaW50LFxuICBEZWZhdWx0cyxcbiAgUmVzdEdlbmVyaWNzLFxuICBGZXRjaEdldCxcbiAgRmV0Y2hNdXRhdGUsXG4gIFJlc3RGZXRjaCxcbiAgUmVzdFR5cGUsXG4gIFJlc3RJbnN0YW5jZSxcbiAgS2V5b2ZSZXN0RW5kcG9pbnQsXG4gIFJlc3RFbmRwb2ludENvbnN0cnVjdG9yT3B0aW9ucyxcbiAgQWRkRW5kcG9pbnQsXG4gIFBhZ2luYXRpb25GaWVsZEVuZHBvaW50LFxuICBQYWdpbmF0aW9uRW5kcG9pbnQsXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmV4cG9ydCB0eXBlIHsgUmVzdEVuZHBvaW50IGFzIElSZXN0RW5kcG9pbnQgfSBmcm9tICcuL1Jlc3RFbmRwb2ludFR5cGVzLmpzJztcbmV4cG9ydCB7IGdldFVybEJhc2UsIGdldFVybFRva2VucyB9IGZyb20gJy4vUmVzdEhlbHBlcnMuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyByZXNvdXJjZSB9IGZyb20gJy4vcmVzb3VyY2UuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjcmVhdGVSZXNvdXJjZSB9IGZyb20gJy4vcmVzb3VyY2UuanMnO1xuZXhwb3J0IHR5cGUge1xuICBSZXNvdXJjZSxcbiAgUmVzb3VyY2VPcHRpb25zLFxuICBSZXNvdXJjZUdlbmVyaWNzLFxuICBSZXNvdXJjZUludGVyZmFjZSxcbn0gZnJvbSAnLi9yZXNvdXJjZVR5cGVzLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgUmVzb3VyY2VFeHRlbnNpb24sXG4gIFJlc291cmNlRW5kcG9pbnRFeHRlbnNpb25zLFxuICBDdXN0b21SZXNvdXJjZSxcbiAgRXh0ZW5kZWRSZXNvdXJjZSxcbn0gZnJvbSAnLi9yZXNvdXJjZUV4dGVuc2lvblR5cGVzLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgaG9va2lmeVJlc291cmNlIH0gZnJvbSAnLi9ob29raWZ5UmVzb3VyY2UuanMnO1xuZXhwb3J0IHR5cGUge1xuICBIb29rUmVzb3VyY2UsXG4gIEhvb2thYmxlRW5kcG9pbnRJbnRlcmZhY2UsXG59IGZyb20gJy4vaG9va2lmeVJlc291cmNlLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTmV0d29ya0Vycm9yIH0gZnJvbSAnLi9OZXR3b3JrRXJyb3IuanMnO1xuZXhwb3J0IHR5cGUgeyBPcHRpb25zVG9GdW5jdGlvbiB9IGZyb20gJy4vT3B0aW9uc1RvRnVuY3Rpb24uanMnO1xuZXhwb3J0IHR5cGUge1xuICBTaG9ydGVuUGF0aCxcbiAgUGF0aEFyZ3MsXG4gIFBhdGhLZXlzLFxuICBLZXlzVG9BcmdzLFxuICBQYXRoQXJnc0FuZFNlYXJjaCxcbn0gZnJvbSAnLi9wYXRoVHlwZXMuanMnO1xuXG5leHBvcnQgKiBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQUEsTUFBTSxDQUFDQyxNQUFNLEdBQ1hELE1BQU0sQ0FBQ0MsTUFBTSxJQUNiLDBCQUEyQixTQUFTQSxNQUFNQSxDQUFDQyxFQUFFLEVBQUVDLEdBQUcsRUFBRTtFQUNsRCxPQUFPSCxNQUFNLENBQUNJLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNKLEVBQUUsRUFBRUMsR0FBRyxDQUFDO0FBQ3RELENBQUM7QUFDSCxTQUFTSSxPQUFPLElBQUlDLFlBQVksUUFBUSxtQkFBbUI7QUFrQjNELFNBQVNDLFVBQVUsRUFBRUMsWUFBWSxRQUFRLGtCQUFrQjtBQUMzRCxTQUFTSCxPQUFPLElBQUlJLFFBQVEsUUFBUSxlQUFlO0FBQ25ELFNBQVNKLE9BQU8sSUFBSUssY0FBYyxRQUFRLGVBQWU7QUFhekQsU0FBU0wsT0FBTyxJQUFJTSxlQUFlLFFBQVEsc0JBQXNCO0FBS2pFLFNBQVNOLE9BQU8sSUFBSU8sWUFBWSxRQUFRLG1CQUFtQjtBQVUzRCxjQUFjLHVCQUF1QjtBQUNyQyxjQUFjLG1CQUFtQiIsImlnbm9yZUxpc3QiOltdfQ==
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwiUmVzdEVuZHBvaW50IiwiZ2V0VXJsQmFzZSIsImdldFVybFRva2VucyIsInJlc291cmNlIiwiY3JlYXRlUmVzb3VyY2UiLCJob29raWZ5UmVzb3VyY2UiLCJOZXR3b3JrRXJyb3IiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN0RW5kcG9pbnQgfSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgRGVmYXVsdHMsXG4gIFJlc3RHZW5lcmljcyxcbiAgRmV0Y2hHZXQsXG4gIEZldGNoTXV0YXRlLFxuICBSZXN0RmV0Y2gsXG4gIFJlc3RUeXBlLFxuICBSZXN0SW5zdGFuY2UsXG4gIEtleW9mUmVzdEVuZHBvaW50LFxuICBSZXN0RW5kcG9pbnRDb25zdHJ1Y3Rvck9wdGlvbnMsXG4gIEFkZEVuZHBvaW50LFxuICBQYWdpbmF0aW9uRmllbGRFbmRwb2ludCxcbiAgUGFnaW5hdGlvbkVuZHBvaW50LFxufSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgdHlwZSB7IFJlc3RFbmRwb2ludCBhcyBJUmVzdEVuZHBvaW50IH0gZnJvbSAnLi9SZXN0RW5kcG9pbnRUeXBlcy5qcyc7XG5leHBvcnQgeyBnZXRVcmxCYXNlLCBnZXRVcmxUb2tlbnMgfSBmcm9tICcuL1Jlc3RIZWxwZXJzLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVzb3VyY2UgfSBmcm9tICcuL3Jlc291cmNlLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY3JlYXRlUmVzb3VyY2UgfSBmcm9tICcuL3Jlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgUmVzb3VyY2UsXG4gIFJlc291cmNlT3B0aW9ucyxcbiAgUmVzb3VyY2VHZW5lcmljcyxcbiAgUmVzb3VyY2VJbnRlcmZhY2UsXG59IGZyb20gJy4vcmVzb3VyY2VUeXBlcy5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIFJlc291cmNlRXh0ZW5zaW9uLFxuICBSZXNvdXJjZUVuZHBvaW50RXh0ZW5zaW9ucyxcbiAgQ3VzdG9tUmVzb3VyY2UsXG4gIEV4dGVuZGVkUmVzb3VyY2UsXG59IGZyb20gJy4vcmVzb3VyY2VFeHRlbnNpb25UeXBlcy5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGhvb2tpZnlSZXNvdXJjZSB9IGZyb20gJy4vaG9va2lmeVJlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgSG9va1Jlc291cmNlLFxuICBIb29rYWJsZUVuZHBvaW50SW50ZXJmYWNlLFxufSBmcm9tICcuL2hvb2tpZnlSZXNvdXJjZS5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5ldHdvcmtFcnJvciB9IGZyb20gJy4vTmV0d29ya0Vycm9yLmpzJztcbmV4cG9ydCB0eXBlIHsgT3B0aW9uc1RvRnVuY3Rpb24gfSBmcm9tICcuL09wdGlvbnNUb0Z1bmN0aW9uLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgU2hvcnRlblBhdGgsXG4gIFBhdGhBcmdzLFxuICBQYXRoS2V5cyxcbiAgS2V5c1RvQXJncyxcbiAgUGF0aEFyZ3NBbmRTZWFyY2gsXG59IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcblxuZXhwb3J0ICogZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsT0FBTyxJQUFJQyxZQUFZLFFBQVEsbUJBQW1CO0FBa0IzRCxTQUFTQyxVQUFVLEVBQUVDLFlBQVksUUFBUSxrQkFBa0I7QUFDM0QsU0FBU0gsT0FBTyxJQUFJSSxRQUFRLFFBQVEsZUFBZTtBQUNuRCxTQUFTSixPQUFPLElBQUlLLGNBQWMsUUFBUSxlQUFlO0FBYXpELFNBQVNMLE9BQU8sSUFBSU0sZUFBZSxRQUFRLHNCQUFzQjtBQUtqRSxTQUFTTixPQUFPLElBQUlPLFlBQVksUUFBUSxtQkFBbUI7QUFVM0QsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyxtQkFBbUIiLCJpZ25vcmVMaXN0IjpbXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@data-client/rest",
3
- "version": "0.14.18",
3
+ "version": "0.14.20",
4
4
  "description": "Quickly define typed REST resources and endpoints",
5
5
  "homepage": "https://dataclient.io/rest",
6
6
  "repository": {
@@ -87,11 +87,15 @@
87
87
  "module": "./lib/index.js",
88
88
  "import": "./node.mjs",
89
89
  "require": "./dist/index.js",
90
+ "browser": "./lib/index.js",
91
+ "react-native": "./lib/index.js",
90
92
  "default": "./lib/index.js"
91
93
  },
92
94
  "./next": {
93
95
  "types": "./lib/next/index.d.ts",
94
96
  "require": "./dist/next.js",
97
+ "browser": "./lib/next/index.js",
98
+ "react-native": "./lib/next/index.js",
95
99
  "default": "./lib/next/index.js"
96
100
  },
97
101
  "./package.json": "./package.json"
@@ -112,8 +116,8 @@
112
116
  "README.md"
113
117
  ],
114
118
  "scripts": {
115
- "build:lib": "NODE_ENV=production BROWSERSLIST_ENV='2020' yarn g:babel --out-dir lib",
116
- "build:legacy:lib": "NODE_ENV=production BROWSERSLIST_ENV='2018' yarn g:babel --out-dir legacy",
119
+ "build:lib": "NODE_ENV=production BROWSERSLIST_ENV='2020' POLYFILL_TARGETS='chrome>88,safari>14' yarn g:babel --out-dir lib",
120
+ "build:legacy:lib": "NODE_ENV=production BROWSERSLIST_ENV='2018' POLYFILL_TARGETS='chrome>80,safari>13,firefox>72' yarn g:babel --out-dir legacy",
117
121
  "build:js:node": "BROWSERSLIST_ENV=node12 yarn g:rollup",
118
122
  "build:js:browser": "BROWSERSLIST_ENV=legacy yarn g:rollup",
119
123
  "build:bundle": "yarn g:runs build:js:\\* && echo '{\"type\":\"commonjs\"}' > dist/package.json",
@@ -130,8 +134,9 @@
130
134
  "funding": "https://github.com/sponsors/ntucker",
131
135
  "license": "Apache-2.0",
132
136
  "dependencies": {
133
- "@babel/runtime": "^7.17.0",
134
- "@data-client/endpoint": "^0.14.17",
137
+ "@babel/runtime-corejs3": "^7.26.0",
138
+ "@data-client/endpoint": "^0.14.20",
139
+ "core-js-pure": "^3.40.0",
135
140
  "path-to-regexp": "^6.3.0"
136
141
  },
137
142
  "devDependencies": {
package/src/index.ts CHANGED
@@ -1,8 +1,3 @@
1
- Object.hasOwn =
2
- Object.hasOwn ||
3
- /* istanbul ignore next */ function hasOwn(it, key) {
4
- return Object.prototype.hasOwnProperty.call(it, key);
5
- };
6
1
  export { default as RestEndpoint } from './RestEndpoint.js';
7
2
  export type {
8
3
  GetEndpoint,