@data-client/rest 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/index.js +10 -14
  2. package/dist/index.umd.min.js +1 -1
  3. package/legacy/OptionsToFunction.js +1 -1
  4. package/legacy/RestEndpoint.js +5 -5
  5. package/legacy/createResource.js +8 -10
  6. package/legacy/index.js +2 -1
  7. package/legacy/next/index.js +4 -4
  8. package/legacy/resourceTypes.js +2 -0
  9. package/lib/OptionsToFunction.d.ts.map +1 -1
  10. package/lib/OptionsToFunction.js +1 -1
  11. package/lib/RestEndpoint.d.ts +29 -35
  12. package/lib/RestEndpoint.js +5 -5
  13. package/lib/createResource.d.ts +51 -31
  14. package/lib/createResource.d.ts.map +1 -1
  15. package/lib/createResource.js +7 -11
  16. package/lib/index.d.ts +3 -1
  17. package/lib/index.d.ts.map +1 -1
  18. package/lib/index.js +2 -1
  19. package/lib/next/index.d.ts +5 -5
  20. package/lib/next/index.d.ts.map +1 -1
  21. package/lib/next/index.js +4 -4
  22. package/lib/resourceTypes.d.ts.map +1 -0
  23. package/lib/resourceTypes.js +2 -0
  24. package/package.json +3 -3
  25. package/src/OptionsToFunction.ts +0 -1
  26. package/src/RestEndpoint.d.ts +29 -35
  27. package/src/RestEndpoint.js +4 -4
  28. package/src/__tests__/RestEndpoint.ts +38 -9
  29. package/src/__tests__/createResource.test.ts +3 -4
  30. package/src/__tests__/hookifyResource.ts +7 -3
  31. package/src/__tests__/types.test.ts +332 -212
  32. package/src/createResource.ts +81 -60
  33. package/src/index.ts +2 -2
  34. package/src/next/index.ts +5 -5
  35. package/ts4.0/RestEndpoint.d.ts +18 -32
  36. package/ts4.0/createResource.d.ts +59 -31
  37. package/ts4.0/index.d.ts +3 -1
  38. package/ts4.0/next/index.d.ts +5 -5
  39. package/legacy/next/OptionsToFunction.js +0 -2
  40. package/legacy/next/RestEndpoint.js +0 -225
  41. package/legacy/next/createResource.js +0 -86
  42. package/legacy/next/resourceTypes.js +0 -2
  43. package/lib/next/OptionsToFunction.d.ts +0 -7
  44. package/lib/next/OptionsToFunction.d.ts.map +0 -1
  45. package/lib/next/OptionsToFunction.js +0 -2
  46. package/lib/next/RestEndpoint.d.ts +0 -542
  47. package/lib/next/RestEndpoint.js +0 -229
  48. package/lib/next/createResource.d.ts +0 -86
  49. package/lib/next/createResource.d.ts.map +0 -1
  50. package/lib/next/createResource.js +0 -100
  51. package/lib/next/resourceTypes.d.ts.map +0 -1
  52. package/lib/next/resourceTypes.js +0 -2
  53. package/src/next/OptionsToFunction.ts +0 -41
  54. package/src/next/RestEndpoint.d.ts +0 -542
  55. package/src/next/RestEndpoint.js +0 -262
  56. package/src/next/__tests__/RestEndpoint.ts +0 -1333
  57. package/src/next/__tests__/__snapshots__/RestEndpoint.ts.snap +0 -18
  58. package/src/next/__tests__/types.test.ts +0 -429
  59. package/src/next/createResource.ts +0 -194
  60. package/ts4.0/next/OptionsToFunction.d.ts +0 -16
  61. package/ts4.0/next/RestEndpoint.d.ts +0 -226
  62. package/ts4.0/next/createResource.d.ts +0 -94
  63. /package/lib/{next/resourceTypes.d.ts → resourceTypes.d.ts} +0 -0
  64. /package/src/{next/resourceTypes.ts → resourceTypes.ts} +0 -0
  65. /package/ts4.0/{next/resourceTypes.d.ts → resourceTypes.d.ts} +0 -0
package/dist/index.js CHANGED
@@ -210,10 +210,10 @@ var _hasBody = /*#__PURE__*/_classPrivateFieldLooseKey("hasBody");
210
210
  class RestEndpoint extends endpoint.Endpoint {
211
211
  constructor(options) {
212
212
  var _options$fetch;
213
- super((_options$fetch = options.fetch) != null ? _options$fetch : function (...args) {
213
+ super((_options$fetch = options.fetch) != null ? _options$fetch : async function (...args) {
214
214
  const urlParams = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] && args.length < 2 ? {} : args[0] || {};
215
215
  const body = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] ? args[args.length - 1] : undefined;
216
- return this.fetchResponse(this.url(urlParams), this.getRequestInit(body)).then(response => this.parseResponse(response)).then(res => this.process(res, ...args));
216
+ return this.fetchResponse(this.url(urlParams), await this.getRequestInit(body)).then(response => this.parseResponse(response)).then(res => this.process(res, ...args));
217
217
  }, options);
218
218
  // we want to use the prototype chain here
219
219
  Object.defineProperty(this, _hasBody, {
@@ -262,7 +262,7 @@ class RestEndpoint extends endpoint.Endpoint {
262
262
  }
263
263
 
264
264
  /** Init options for fetch - run at fetch */
265
- getRequestInit(body) {
265
+ async getRequestInit(body) {
266
266
  const bodyIsPojo = isPojo(body);
267
267
  if (bodyIsPojo) {
268
268
  body = JSON.stringify(body);
@@ -280,7 +280,7 @@ class RestEndpoint extends endpoint.Endpoint {
280
280
  ...init.headers
281
281
  };
282
282
  }
283
- init.headers = this.getHeaders(init.headers);
283
+ init.headers = await this.getHeaders(init.headers);
284
284
  return init;
285
285
  }
286
286
 
@@ -420,7 +420,8 @@ const tryParse = input => {
420
420
  };
421
421
 
422
422
  const {
423
- Delete
423
+ Invalidate,
424
+ Collection
424
425
  } = endpoint.schema;
425
426
 
426
427
  /** Creates collection of Endpoints for common operations on a given data/schema.
@@ -453,19 +454,15 @@ function createResource({
453
454
  extraPartialOptions.getOptimisticResponse = optimisticPartial(get);
454
455
  }
455
456
  const getList = new Endpoint({
456
- ...extraOptions,
457
+ ...extraMutateOptions,
457
458
  path: shortenedPath,
458
- schema: [schema],
459
+ schema: new Collection([schema]),
459
460
  name: getName('getList')
460
461
  });
461
462
  return {
462
463
  get,
463
464
  getList,
464
- create: new Endpoint({
465
- ...extraMutateOptions,
466
- path: shortenedPath,
467
- schema,
468
- method: 'POST',
465
+ create: getList.push.extend({
469
466
  name: getName('create')
470
467
  }),
471
468
  update: new Endpoint({
@@ -485,7 +482,7 @@ function createResource({
485
482
  delete: new Endpoint({
486
483
  ...extraMutateOptions,
487
484
  path,
488
- schema: schema.process ? new Delete(schema) : schema,
485
+ schema: schema.process ? new Invalidate(schema) : schema,
489
486
  method: 'DELETE',
490
487
  name: getName('delete'),
491
488
  process(res, params) {
@@ -498,7 +495,6 @@ function createResource({
498
495
  function optimisticUpdate(snap, params, body) {
499
496
  return {
500
497
  ...params,
501
- // even tho we don't always have two arguments, the extra one will simply be undefined which spreads fine
502
498
  ...body
503
499
  };
504
500
  }
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@data-client/endpoint"),require("path-to-regexp")):"function"==typeof define&&define.amd?define(["exports","@data-client/endpoint","path-to-regexp"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).restHookRest={},t.endpoint,t.pathToRegexp)}(this,(function(t,e,n){"use strict";function s(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function r(t,e){return t(e={exports:{}},e.exports),e.exports}var o=s(r((function(t){t.exports=function(t){if(null==t)throw new TypeError("Cannot destructure "+t)},t.exports.__esModule=!0,t.exports.default=t.exports}))),i=s(r((function(t){t.exports=function(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw new TypeError("attempted to use private field on non-instance");return t},t.exports.__esModule=!0,t.exports.default=t.exports}))),c=s(r((function(t){var e=0;t.exports=function(t){return"__private_"+e+++"_"+t},t.exports.__esModule=!0,t.exports.default=t.exports})));function a(t,n){if("object"!=typeof t||void 0===t||Array.isArray(t))return;if(t instanceof e.schema.Collection)return n(t);const s=Object.assign({},t instanceof e.schema.Object?t.schema:t);for(const t in s){if(!s[t])continue;const e=a(s[t],n);if(e)return e}}function h(t,n){if("object"!=typeof t||void 0===t)return t;if(t instanceof e.schema.Collection)return n(t);const s=Object.assign({},t instanceof e.schema.Object?t.schema:t);for(const t in s)s[t]&&(s[t]=h(s[t],n));return s}class u extends Error{constructor(t){super(t.statusText||`Network response not 'ok': ${t.status}`),this.name="NetworkError",this.status=t.status,this.response=t}}function p(t,e){const n=new Set(t),s=[...t];for(const t of e)n.has(t)||s.push(t);return s}const f=t=>(...e)=>{const n=t(...e);return t=>{var e;return function(t,e){const n=Object.keys(t),s=Object.keys(e);if(n.length!==s.length)return!1;for(const s of n)if(t[s]!=e[s])return!1;return!0}(t,null!=(e=n[0])?e:{})}};function d(t){if("object"!=typeof t)return!1;if(void 0===t||t instanceof e.schema.Array||Array.isArray(t))return[];const n=t instanceof e.schema.Object?t.schema:t;for(const t in n){if(!n[t])continue;const e=d(n[t]);if(!1!==e)return e.unshift(t),e}return!1}function l(t,e){const n=d(t.schema);if(!1===n)throw new Error("schema has no array");return(s,...r)=>({[t.key(...e(...r))]:t=>{const e=m(t,n),r=new Set(e),o=m(s,n).filter((t=>!r.has(t))),i=[...e,...o];return g(s,n,i)}})}const m=(t,e)=>{let n=t;for(const t of e){if(!n)return[];n=n[t]}return n||[]},g=(t,e,n)=>{if(0===e.length)return n;const s=Object.assign({},t);let r=s;for(let t=0;t<e.length-1;t++){const n=e[t];r=r[n]=Object.assign({},r[n])}return r[e[e.length-1]]=n,s};const O=Object.create(null);const b=Object.create(null);const y=Object.prototype,x=Object.getPrototypeOf;var j=c("hasBody");class w extends e.Endpoint{constructor(t){var e;super(null!=(e=t.fetch)?e:function(...t){const e=i(this,j)[j]&&t.length<2?{}:t[0]||{},n=i(this,j)[j]?t[t.length-1]:void 0;return this.fetchResponse(this.url(e),this.getRequestInit(n)).then((t=>this.parseResponse(t))).then((e=>this.process(e,...t)))},t),Object.defineProperty(this,j,{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=""),i(this,j)[j]=!("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(i(this,j)[j]&&t.length<2?{}:t[0]||{})}`}url(t={}){const e=((s=this.path)in O||(O[s]=n.compile(s,{encode:encodeURIComponent,validate:!1})),O[s])(t);var s;const r=function(t){return t in b||(b[t]=new Set(n.parse(t).map((t=>"string"==typeof t?t:`${t.name}`)))),b[t]}(this.path),o={};return Object.keys(t).forEach((e=>{r.has(e)||(o[e]=t[e])})),Object.keys(o).length?`${this.urlPrefix}${e}?${function(t){const e=new URLSearchParams(t);return e.sort(),e.toString()}(o)}`:`${this.urlPrefix}${e}`}getHeaders(t){return t}getRequestInit(t){const e=null!==(n=t)&&"object"==typeof n&&x(n)===y;var n;e&&(t=JSON.stringify(t));const s=Object.assign({},this.requestInit,{method:this.method,signal:this.signal,body:t});return t&&!e||(s.headers=Object.assign({"Content-Type":"application/json"},s.headers)),s.headers=this.getHeaders(s.headers),s}fetchResponse(t,e){return fetch(t,e).then((t=>{if(!t.ok)throw new u(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!==w.prototype.process)return e;const n=new u(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 n.pathToRegexp(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 e extends this.constructor{}Object.assign(e.prototype,this);return new e(Object.assign({fetch:this.fetch},t))}paginated(t){if("string"==typeof t){const e=t;t=t=>{let n=Object.assign({},(o(t),t));return delete n[e],[n]}}let e=!1;const n=h(this.schema,(n=>(e=!0,n.addWith(p,f(t)))));return e?this.extend({schema:n}):this.extend({update:l(this,t)})}get push(){return this.extend({method:"POST",schema:a(this.schema,(t=>t.push))})}get unshift(){return this.extend({method:"POST",schema:a(this.schema,(t=>t.unshift))})}get assign(){return this.extend({method:"POST",schema:a(this.schema,(t=>t.assign))})}}var v=s(r((function(t){t.exports=function(t,e){if(null==t)return{};var n,s,r={},o=Object.keys(t);for(s=0;s<o.length;s++)n=o[s],e.indexOf(n)>=0||(r[n]=t[n]);return r},t.exports.__esModule=!0,t.exports.default=t.exports})));const E=["path","schema","Endpoint","optimistic"],{Delete:P}=e.schema;function T(t,e,n){return Object.assign({},e,n)}function R(t,e){return e}Object.hasOwn=Object.hasOwn||function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},t.NetworkError=u,t.RestEndpoint=w,t.createResource=function(t){let{path:n,schema:s,Endpoint:r=w,optimistic:o}=t,i=v(t,E);const c=function(t){let e=t.substring(0,t.lastIndexOf(":"));return"/"===e[e.length-1]&&(e=e.substring(0,e.length-1)),e}(n),a=t=>`${null==s?void 0:s.name}.${t}`,h=Object.assign({},i),u=Object.assign({},i),p=new r(Object.assign({},i,{path:n,schema:s,name:a("get")}));var f;return o&&(h.getOptimisticResponse=T,u.getOptimisticResponse=(f=p,function(t,n,s){const{data:r}=t.getResponse(f,n);if(!r)throw new e.AbortOptimistic;return Object.assign({},n,r,s)})),{get:p,getList:new r(Object.assign({},i,{path:c,schema:[s],name:a("getList")})),create:new r(Object.assign({},h,{path:c,schema:s,method:"POST",name:a("create")})),update:new r(Object.assign({},h,{path:n,schema:s,method:"PUT",name:a("update")})),partialUpdate:new r(Object.assign({},u,{path:n,schema:s,method:"PATCH",name:a("partialUpdate")})),delete:new r(Object.assign({},h,{path:n,schema:s.process?new P(s):s,method:"DELETE",name:a("delete"),process:(t,e)=>t&&Object.keys(t).length?t:e,getOptimisticResponse:o?R:void 0}))}},t.hookifyResource=function(t,e){const n={};return Object.keys(t).forEach((s=>{const r=t[s];var o;void 0!==r.extend&&(n[`use${o=s,o.charAt(0).toUpperCase()+o.slice(1)}`]=()=>{const t=e();return r.extend({requestInit:t})})})),n},t.paginationUpdate=l,Object.keys(e).forEach((function(n){"default"===n||t.hasOwnProperty(n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})})),Object.defineProperty(t,"__esModule",{value:!0})}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@data-client/endpoint"),require("path-to-regexp")):"function"==typeof define&&define.amd?define(["exports","@data-client/endpoint","path-to-regexp"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).restHookRest={},t.endpoint,t.pathToRegexp)}(this,(function(t,e,n){"use strict";function s(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function r(t,e){return t(e={exports:{}},e.exports),e.exports}var o=s(r((function(t){t.exports=function(t){if(null==t)throw new TypeError("Cannot destructure "+t)},t.exports.__esModule=!0,t.exports.default=t.exports}))),i=s(r((function(t){t.exports=function(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw new TypeError("attempted to use private field on non-instance");return t},t.exports.__esModule=!0,t.exports.default=t.exports}))),c=s(r((function(t){var e=0;t.exports=function(t){return"__private_"+e+++"_"+t},t.exports.__esModule=!0,t.exports.default=t.exports})));function a(t,n){if("object"!=typeof t||void 0===t||Array.isArray(t))return;if(t instanceof e.schema.Collection)return n(t);const s=Object.assign({},t instanceof e.schema.Object?t.schema:t);for(const t in s){if(!s[t])continue;const e=a(s[t],n);if(e)return e}}function h(t,n){if("object"!=typeof t||void 0===t)return t;if(t instanceof e.schema.Collection)return n(t);const s=Object.assign({},t instanceof e.schema.Object?t.schema:t);for(const t in s)s[t]&&(s[t]=h(s[t],n));return s}class u extends Error{constructor(t){super(t.statusText||`Network response not 'ok': ${t.status}`),this.name="NetworkError",this.status=t.status,this.response=t}}function p(t,e){const n=new Set(t),s=[...t];for(const t of e)n.has(t)||s.push(t);return s}const f=t=>(...e)=>{const n=t(...e);return t=>{var e;return function(t,e){const n=Object.keys(t),s=Object.keys(e);if(n.length!==s.length)return!1;for(const s of n)if(t[s]!=e[s])return!1;return!0}(t,null!=(e=n[0])?e:{})}};function d(t){if("object"!=typeof t)return!1;if(void 0===t||t instanceof e.schema.Array||Array.isArray(t))return[];const n=t instanceof e.schema.Object?t.schema:t;for(const t in n){if(!n[t])continue;const e=d(n[t]);if(!1!==e)return e.unshift(t),e}return!1}function l(t,e){const n=d(t.schema);if(!1===n)throw new Error("schema has no array");return(s,...r)=>({[t.key(...e(...r))]:t=>{const e=g(t,n),r=new Set(e),o=g(s,n).filter((t=>!r.has(t))),i=[...e,...o];return m(s,n,i)}})}const g=(t,e)=>{let n=t;for(const t of e){if(!n)return[];n=n[t]}return n||[]},m=(t,e,n)=>{if(0===e.length)return n;const s=Object.assign({},t);let r=s;for(let t=0;t<e.length-1;t++){const n=e[t];r=r[n]=Object.assign({},r[n])}return r[e[e.length-1]]=n,s};const O=Object.create(null);const b=Object.create(null);const y=Object.prototype,x=Object.getPrototypeOf;var j=c("hasBody");class w extends e.Endpoint{constructor(t){var e;super(null!=(e=t.fetch)?e:async function(...t){const e=i(this,j)[j]&&t.length<2?{}:t[0]||{},n=i(this,j)[j]?t[t.length-1]:void 0;return this.fetchResponse(this.url(e),await this.getRequestInit(n)).then((t=>this.parseResponse(t))).then((e=>this.process(e,...t)))},t),Object.defineProperty(this,j,{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=""),i(this,j)[j]=!("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(i(this,j)[j]&&t.length<2?{}:t[0]||{})}`}url(t={}){const e=((s=this.path)in O||(O[s]=n.compile(s,{encode:encodeURIComponent,validate:!1})),O[s])(t);var s;const r=function(t){return t in b||(b[t]=new Set(n.parse(t).map((t=>"string"==typeof t?t:`${t.name}`)))),b[t]}(this.path),o={};return Object.keys(t).forEach((e=>{r.has(e)||(o[e]=t[e])})),Object.keys(o).length?`${this.urlPrefix}${e}?${function(t){const e=new URLSearchParams(t);return e.sort(),e.toString()}(o)}`:`${this.urlPrefix}${e}`}getHeaders(t){return t}async getRequestInit(t){const e=null!==(n=t)&&"object"==typeof n&&x(n)===y;var n;e&&(t=JSON.stringify(t));const s=Object.assign({},this.requestInit,{method:this.method,signal:this.signal,body:t});return t&&!e||(s.headers=Object.assign({"Content-Type":"application/json"},s.headers)),s.headers=await this.getHeaders(s.headers),s}fetchResponse(t,e){return fetch(t,e).then((t=>{if(!t.ok)throw new u(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!==w.prototype.process)return e;const n=new u(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 n.pathToRegexp(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 e extends this.constructor{}Object.assign(e.prototype,this);return new e(Object.assign({fetch:this.fetch},t))}paginated(t){if("string"==typeof t){const e=t;t=t=>{let n=Object.assign({},(o(t),t));return delete n[e],[n]}}let e=!1;const n=h(this.schema,(n=>(e=!0,n.addWith(p,f(t)))));return e?this.extend({schema:n}):this.extend({update:l(this,t)})}get push(){return this.extend({method:"POST",schema:a(this.schema,(t=>t.push))})}get unshift(){return this.extend({method:"POST",schema:a(this.schema,(t=>t.unshift))})}get assign(){return this.extend({method:"POST",schema:a(this.schema,(t=>t.assign))})}}var v=s(r((function(t){t.exports=function(t,e){if(null==t)return{};var n,s,r={},o=Object.keys(t);for(s=0;s<o.length;s++)n=o[s],e.indexOf(n)>=0||(r[n]=t[n]);return r},t.exports.__esModule=!0,t.exports.default=t.exports})));const E=["path","schema","Endpoint","optimistic"],{Invalidate:P,Collection:R}=e.schema;function T(t,e,n){return Object.assign({},e,n)}function _(t,e){return e}Object.hasOwn=Object.hasOwn||function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},t.NetworkError=u,t.RestEndpoint=w,t.createResource=function(t){let{path:n,schema:s,Endpoint:r=w,optimistic:o}=t,i=v(t,E);const c=function(t){let e=t.substring(0,t.lastIndexOf(":"));return"/"===e[e.length-1]&&(e=e.substring(0,e.length-1)),e}(n),a=t=>`${null==s?void 0:s.name}.${t}`,h=Object.assign({},i),u=Object.assign({},i),p=new r(Object.assign({},i,{path:n,schema:s,name:a("get")}));var f;o&&(h.getOptimisticResponse=T,u.getOptimisticResponse=(f=p,function(t,n,s){const{data:r}=t.getResponse(f,n);if(!r)throw new e.AbortOptimistic;return Object.assign({},n,r,s)}));const d=new r(Object.assign({},h,{path:c,schema:new R([s]),name:a("getList")}));return{get:p,getList:d,create:d.push.extend({name:a("create")}),update:new r(Object.assign({},h,{path:n,schema:s,method:"PUT",name:a("update")})),partialUpdate:new r(Object.assign({},u,{path:n,schema:s,method:"PATCH",name:a("partialUpdate")})),delete:new r(Object.assign({},h,{path:n,schema:s.process?new P(s):s,method:"DELETE",name:a("delete"),process:(t,e)=>t&&Object.keys(t).length?t:e,getOptimisticResponse:o?_:void 0}))}},t.hookifyResource=function(t,e){const n={};return Object.keys(t).forEach((s=>{const r=t[s];var o;void 0!==r.extend&&(n[`use${o=s,o.charAt(0).toUpperCase()+o.slice(1)}`]=()=>{const t=e();return r.extend({requestInit:t})})})),n},t.paginationUpdate=l,Object.keys(e).forEach((function(n){"default"===n||t.hasOwnProperty(n)||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})})),Object.defineProperty(t,"__esModule",{value:!0})}));
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL09wdGlvbnNUb0Z1bmN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmV0Y2hGdW5jdGlvbiwgUmVzb2x2ZVR5cGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgeyBQYXRoQXJncyB9IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcbmltcG9ydCB7XG4gIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIFJlc3RJbnN0YW5jZSxcbiAgUmVzdEluc3RhbmNlQmFzZSxcbiAgUmVzdEZldGNoLFxufSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5cbmV4cG9ydCB0eXBlIE9wdGlvbnNUb0Z1bmN0aW9uPFxuICBPIGV4dGVuZHMgUGFydGlhbFJlc3RHZW5lcmljcyxcbiAgRSBleHRlbmRzIFJlc3RJbnN0YW5jZUJhc2UgJiB7IGJvZHk/OiBhbnkgfSxcbiAgRiBleHRlbmRzIEZldGNoRnVuY3Rpb24sXG4+ID0gJ3BhdGgnIGV4dGVuZHMga2V5b2YgT1xuICA/IFJlc3RGZXRjaDxcbiAgICAgICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICA/IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgIDogUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgICAgJ2JvZHknIGV4dGVuZHMga2V5b2YgTyA/IE9bJ2JvZHknXSA6IEVbJ2JvZHknXSxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+XG4gIDogJ2JvZHknIGV4dGVuZHMga2V5b2YgT1xuICA/IFJlc3RGZXRjaDxcbiAgICAgICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICA/IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8RXhjbHVkZTxFWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgIDogUGF0aEFyZ3M8RXhjbHVkZTxFWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgICAgT1snYm9keSddLFxuICAgICAgT1sncHJvY2VzcyddIGV4dGVuZHMge30gPyBSZXR1cm5UeXBlPE9bJ3Byb2Nlc3MnXT4gOiBSZXNvbHZlVHlwZTxGPlxuICAgID5cbiAgOiAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0RmV0Y2g8XG4gICAgICBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgIEVbJ2JvZHknXSxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+XG4gIDogKFxuICAgICAgdGhpczogVGhpc1BhcmFtZXRlclR5cGU8Rj4sXG4gICAgICAuLi5hcmdzOiBQYXJhbWV0ZXJzPEY+XG4gICAgKSA9PiBQcm9taXNlPFxuICAgICAgT1sncHJvY2VzcyddIGV4dGVuZHMge30gPyBSZXR1cm5UeXBlPE9bJ3Byb2Nlc3MnXT4gOiBSZXNvbHZlVHlwZTxGPlxuICAgID47XG4iXSwibWFwcGluZ3MiOiIifQ==
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL09wdGlvbnNUb0Z1bmN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmV0Y2hGdW5jdGlvbiwgUmVzb2x2ZVR5cGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgeyBQYXRoQXJncyB9IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcbmltcG9ydCB7XG4gIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG4gIFJlc3RGZXRjaCxcbn0gZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuXG5leHBvcnQgdHlwZSBPcHRpb25zVG9GdW5jdGlvbjxcbiAgTyBleHRlbmRzIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIEUgZXh0ZW5kcyBSZXN0SW5zdGFuY2VCYXNlICYgeyBib2R5PzogYW55IH0sXG4gIEYgZXh0ZW5kcyBGZXRjaEZ1bmN0aW9uLFxuPiA9ICdwYXRoJyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0RmV0Y2g8XG4gICAgICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8T1sncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IFBhdGhBcmdzPEV4Y2x1ZGU8T1sncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgICdib2R5JyBleHRlbmRzIGtleW9mIE8gPyBPWydib2R5J10gOiBFWydib2R5J10sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0RmV0Y2g8XG4gICAgICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgIE9bJ2JvZHknXSxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+XG4gIDogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gID8gUmVzdEZldGNoPFxuICAgICAgT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxFeGNsdWRlPEVbJ3BhdGgnXSwgdW5kZWZpbmVkPj4sXG4gICAgICBFWydib2R5J10sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6IChcbiAgICAgIHRoaXM6IFRoaXNQYXJhbWV0ZXJUeXBlPEY+LFxuICAgICAgLi4uYXJnczogUGFyYW1ldGVyczxGPlxuICAgICkgPT4gUHJvbWlzZTxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+O1xuIl0sIm1hcHBpbmdzIjoiIn0=
@@ -19,10 +19,10 @@ var _hasBody = /*#__PURE__*/_classPrivateFieldLooseKey("hasBody");
19
19
  export default class RestEndpoint extends Endpoint {
20
20
  constructor(options) {
21
21
  var _options$fetch;
22
- super((_options$fetch = options.fetch) != null ? _options$fetch : function (...args) {
22
+ super((_options$fetch = options.fetch) != null ? _options$fetch : async function (...args) {
23
23
  const urlParams = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] && args.length < 2 ? {} : args[0] || {};
24
24
  const body = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] ? args[args.length - 1] : undefined;
25
- return this.fetchResponse(this.url(urlParams), this.getRequestInit(body)).then(response => this.parseResponse(response)).then(res => this.process(res, ...args));
25
+ return this.fetchResponse(this.url(urlParams), await this.getRequestInit(body)).then(response => this.parseResponse(response)).then(res => this.process(res, ...args));
26
26
  }, options);
27
27
  // we want to use the prototype chain here
28
28
  Object.defineProperty(this, _hasBody, {
@@ -71,7 +71,7 @@ export default class RestEndpoint extends Endpoint {
71
71
  }
72
72
 
73
73
  /** Init options for fetch - run at fetch */
74
- getRequestInit(body) {
74
+ async getRequestInit(body) {
75
75
  const bodyIsPojo = isPojo(body);
76
76
  if (bodyIsPojo) {
77
77
  body = JSON.stringify(body);
@@ -87,7 +87,7 @@ export default class RestEndpoint extends Endpoint {
87
87
  'Content-Type': 'application/json'
88
88
  }, init.headers);
89
89
  }
90
- init.headers = this.getHeaders(init.headers);
90
+ init.headers = await this.getHeaders(init.headers);
91
91
  return init;
92
92
  }
93
93
 
@@ -222,4 +222,4 @@ const tryParse = input => {
222
222
  return undefined;
223
223
  }
224
224
  };
225
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsInBhZ2luYXRlZE1lcmdlIiwicGFnaW5hdGVkRmlsdGVyIiwicGFnaW5hdGlvblVwZGF0ZSIsInBhcmFtc1RvU3RyaW5nIiwiZ2V0VXJsQmFzZSIsImdldFVybFRva2VucyIsImlzUG9qbyIsIl9oYXNCb2R5IiwiX2NsYXNzUHJpdmF0ZUZpZWxkTG9vc2VLZXkiLCJSZXN0RW5kcG9pbnQiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJfb3B0aW9ucyRmZXRjaCIsImZldGNoIiwiYXJncyIsInVybFBhcmFtcyIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlQmFzZSIsImxlbmd0aCIsImJvZHkiLCJ1bmRlZmluZWQiLCJmZXRjaFJlc3BvbnNlIiwidXJsIiwiZ2V0UmVxdWVzdEluaXQiLCJ0aGVuIiwicmVzcG9uc2UiLCJwYXJzZVJlc3BvbnNlIiwicmVzIiwicHJvY2VzcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInNpZGVFZmZlY3QiLCJtZXRob2QiLCJ1cmxQcmVmaXgiLCJpbmNsdWRlcyIsImdldCIsIl9fbmFtZSIsInBhdGgiLCJrZXkiLCJ1cmxCYXNlIiwidG9rZW5zIiwic2VhcmNoUGFyYW1zIiwia2V5cyIsImZvckVhY2giLCJrIiwiaGFzIiwiZ2V0SGVhZGVycyIsImhlYWRlcnMiLCJib2R5SXNQb2pvIiwiSlNPTiIsInN0cmluZ2lmeSIsImluaXQiLCJhc3NpZ24iLCJyZXF1ZXN0SW5pdCIsInNpZ25hbCIsImlucHV0Iiwib2siLCJjYXRjaCIsImVycm9yIiwiVHlwZUVycm9yIiwic3RhdHVzIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0ZXh0Iiwic2NoZW1hIiwicHJvdG90eXBlIiwibWVzc2FnZSIsImVudiIsIk5PREVfRU5WIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0MiIsInN0YXJ0c1dpdGgiLCJ0cnlQYXJzZSIsInN1YnN0cmluZyIsImpzb24iLCJlcnJvclBvbGljeSIsInBhdGhSZWdleCIsInRlc3RLZXkiLCJwcmVmaXgiLCJsYXN0UXVlc3Rpb24iLCJsYXN0SW5kZXhPZiIsInRlc3QiLCJleHRlbmQiLCJFIiwiaW5zdGFuY2UiLCJwYWdpbmF0ZWQiLCJyZW1vdmVDdXJzb3IiLCJmaWVsZE5hbWUiLCJfcmVmIiwicGFyYW1zIiwiX29iamVjdERlc3RydWN0dXJpbmdFbXB0eSIsImZvdW5kIiwiY3JlYXRlUGFnaW5hdGVkU2NoZW1hIiwiY29sbGVjdGlvbiIsImFkZFdpdGgiLCJuZXdTY2hlbWEiLCJ1cGRhdGUiLCJwdXNoIiwicyIsInVuc2hpZnQiLCJwYXJzZSIsImUiXSwic291cmNlcyI6WyIuLi9zcmMvUmVzdEVuZHBvaW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVuZHBvaW50IH0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcbmltcG9ydCB7IHBhdGhUb1JlZ2V4cCB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcblxuaW1wb3J0IGV4dHJhY3RDb2xsZWN0aW9uIGZyb20gJy4vZXh0cmFjdENvbGxlY3Rpb24uanMnO1xuaW1wb3J0IG1hcENvbGxlY3Rpb24gZnJvbSAnLi9tYXBDb2xsZWN0aW9uLmpzJztcbmltcG9ydCBOZXR3b3JrRXJyb3IgZnJvbSAnLi9OZXR3b3JrRXJyb3IuanMnO1xuaW1wb3J0IHsgcGFnaW5hdGVkTWVyZ2UsIHBhZ2luYXRlZEZpbHRlciB9IGZyb20gJy4vcGFnaW5hdGVkQ29sbGVjdGlvbnMuanMnO1xuaW1wb3J0IHBhZ2luYXRpb25VcGRhdGUgZnJvbSAnLi9wYWdpbmF0aW9uVXBkYXRlLmpzJztcbmltcG9ydCBwYXJhbXNUb1N0cmluZyBmcm9tICcuL3BhcmFtc1RvU3RyaW5nLmpzJztcbmltcG9ydCB7IGdldFVybEJhc2UsIGdldFVybFRva2VucywgaXNQb2pvIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbi8qKiBTaW1wbGlmaWVzIGVuZHBvaW50IGRlZmluaXRpb25zIHRoYXQgZm9sbG93IFJFU1QgcGF0dGVybnNcbiAqXG4gKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludFxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXN0RW5kcG9pbnQgZXh0ZW5kcyBFbmRwb2ludCB7XG4gICNoYXNCb2R5O1xuICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgc3VwZXIoXG4gICAgICBvcHRpb25zLmZldGNoID8/XG4gICAgICAgIGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICAgICAgY29uc3QgdXJsUGFyYW1zID1cbiAgICAgICAgICAgIHRoaXMuI2hhc0JvZHkgJiYgYXJncy5sZW5ndGggPCAyID8ge30gOiBhcmdzWzBdIHx8IHt9O1xuICAgICAgICAgIGNvbnN0IGJvZHkgPSB0aGlzLiNoYXNCb2R5ID8gYXJnc1thcmdzLmxlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgICAgICAgIHJldHVybiB0aGlzLmZldGNoUmVzcG9uc2UoXG4gICAgICAgICAgICB0aGlzLnVybCh1cmxQYXJhbXMpLFxuICAgICAgICAgICAgdGhpcy5nZXRSZXF1ZXN0SW5pdChib2R5KSxcbiAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB0aGlzLnBhcnNlUmVzcG9uc2UocmVzcG9uc2UpKVxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHRoaXMucHJvY2VzcyhyZXMsIC4uLmFyZ3MpKTtcbiAgICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICAvLyB3ZSB3YW50IHRvIHVzZSB0aGUgcHJvdG90eXBlIGNoYWluIGhlcmVcbiAgICBpZiAoXG4gICAgICAhKCdzaWRlRWZmZWN0JyBpbiB0aGlzKSB8fFxuICAgICAgKCdtZXRob2QnIGluIG9wdGlvbnMgJiYgISgnc2lkZUVmZmVjdCcgaW4gb3B0aW9ucykpXG4gICAgKSB7XG4gICAgICB0aGlzLnNpZGVFZmZlY3QgPVxuICAgICAgICBvcHRpb25zLm1ldGhvZCA9PT0gJ0dFVCcgfHwgb3B0aW9ucy5tZXRob2QgPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgOiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5tZXRob2QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5tZXRob2QgPSB0aGlzLnNpZGVFZmZlY3QgPyAnUE9TVCcgOiAnR0VUJztcbiAgICB9XG4gICAgaWYgKHRoaXMudXJsUHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudXJsUHJlZml4ID0gJyc7XG4gICAgfVxuICAgIHRoaXMuI2hhc0JvZHkgPVxuICAgICAgKCEoJ2JvZHknIGluIHRoaXMpIHx8IHRoaXMuYm9keSAhPT0gdW5kZWZpbmVkKSAmJlxuICAgICAgIVsnR0VUJywgJ0RFTEVURSddLmluY2x1ZGVzKHRoaXMubWV0aG9kKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnbmFtZScsIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgLy8gdXNpbmcgJ2luJyB0byBlbnN1cmUgaW5oZXJpdGFuY2UgbG9va3VwXG4gICAgICAgIGlmICgnX19uYW1lJyBpbiB0aGlzKSByZXR1cm4gdGhpcy5fX25hbWU7XG4gICAgICAgIHJldHVybiB0aGlzLnVybFByZWZpeCArIHRoaXMucGF0aDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBrZXkoLi4uYXJncykge1xuICAgIHJldHVybiBgJHt0aGlzLm1ldGhvZH0gJHt0aGlzLnVybChcbiAgICAgIHRoaXMuI2hhc0JvZHkgJiYgYXJncy5sZW5ndGggPCAyID8ge30gOiBhcmdzWzBdIHx8IHt9LFxuICAgICl9YDtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIHVybCAqL1xuICB1cmwodXJsUGFyYW1zID0ge30pIHtcbiAgICBjb25zdCB1cmxCYXNlID0gZ2V0VXJsQmFzZSh0aGlzLnBhdGgpKHVybFBhcmFtcyk7XG4gICAgY29uc3QgdG9rZW5zID0gZ2V0VXJsVG9rZW5zKHRoaXMucGF0aCk7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0ge307XG4gICAgT2JqZWN0LmtleXModXJsUGFyYW1zKS5mb3JFYWNoKGsgPT4ge1xuICAgICAgaWYgKCF0b2tlbnMuaGFzKGspKSB7XG4gICAgICAgIHNlYXJjaFBhcmFtc1trXSA9IHVybFBhcmFtc1trXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoT2JqZWN0LmtleXMoc2VhcmNoUGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnVybFByZWZpeH0ke3VybEJhc2V9PyR7cGFyYW1zVG9TdHJpbmcoc2VhcmNoUGFyYW1zKX1gO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy51cmxQcmVmaXh9JHt1cmxCYXNlfWA7XG4gIH1cblxuICBnZXRIZWFkZXJzKGhlYWRlcnMpIHtcbiAgICByZXR1cm4gaGVhZGVycztcbiAgfVxuXG4gIC8qKiBJbml0IG9wdGlvbnMgZm9yIGZldGNoIC0gcnVuIGF0IGZldGNoICovXG4gIGdldFJlcXVlc3RJbml0KGJvZHkpIHtcbiAgICBjb25zdCBib2R5SXNQb2pvID0gaXNQb2pvKGJvZHkpO1xuICAgIGlmIChib2R5SXNQb2pvKSB7XG4gICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoYm9keSk7XG4gICAgfVxuICAgIGNvbnN0IGluaXQgPSB7XG4gICAgICAuLi50aGlzLnJlcXVlc3RJbml0LFxuICAgICAgbWV0aG9kOiB0aGlzLm1ldGhvZCxcbiAgICAgIHNpZ25hbDogdGhpcy5zaWduYWwsXG4gICAgICBib2R5LFxuICAgIH07XG4gICAgaWYgKCFib2R5IHx8IGJvZHlJc1Bvam8pIHtcbiAgICAgIGluaXQuaGVhZGVycyA9IHtcbiAgICAgICAgLy8gZGVmYXVsdCB0byBhcHBsaWNhdGlvbi9qc29uIGJ1dCBhbGxvdyB1c2VyIGV4cGxpY2l0IG92ZXJyaWRlc1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAuLi5pbml0LmhlYWRlcnMsXG4gICAgICB9O1xuICAgIH1cbiAgICBpbml0LmhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoaW5pdC5oZWFkZXJzKTtcbiAgICByZXR1cm4gaW5pdDtcbiAgfVxuXG4gIC8qKiBQZXJmb3JtIG5ldHdvcmsgcmVxdWVzdCBhbmQgcmVzb2x2ZSB3aXRoIEhUVFAgUmVzcG9uc2UgKi9cbiAgZmV0Y2hSZXNwb25zZShpbnB1dCwgaW5pdCkge1xuICAgIHJldHVybiBmZXRjaChpbnB1dCwgaW5pdClcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBOZXR3b3JrRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAvLyBlbnN1cmUgQ09SUywgbmV0d29yayBkb3duLCBhbmQgcGFyc2UgZXJyb3JzIGFyZSBzdGlsbCBjYXVnaHQgYnkgTmV0d29ya0Vycm9yQm91bmRhcnlcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7XG4gICAgICAgICAgZXJyb3Iuc3RhdHVzID0gNTAwO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gIH1cblxuICBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSB7XG4gICAgLy8gdGhpcyBzaG91bGQgbm90IGhhdmUgYW55IGNvbnRlbnQgdG8gcmVhZFxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwNCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICBpZiAoIXJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2pzb24nKSkge1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKS50aGVuKHRleHQgPT4ge1xuICAgICAgICAvLyBzdHJpbmcgb3IgJ25vdCBzZXQnIHNjaGVtYSwgYXJlIHZhbGlkXG4gICAgICAgIC8vIHdoZW4gb3ZlcnJpZGluZyBwcm9jZXNzIHRoZXkgbWlnaHQgaGFuZGxlIG90aGVyIGNhc2VzLCBzbyB3ZSBkb24ndCB3YW50IHRvIGJsb2NrIG9uIG91ciBsb2dpY1xuICAgICAgICBpZiAoXG4gICAgICAgICAgWydzdHJpbmcnLCAndW5kZWZpbmVkJ10uaW5jbHVkZXModHlwZW9mIHRoaXMuc2NoZW1hKSB8fFxuICAgICAgICAgIHRoaXMuc2NoZW1hID09PSBudWxsIHx8XG4gICAgICAgICAgdGhpcy5wcm9jZXNzICE9PSBSZXN0RW5kcG9pbnQucHJvdG90eXBlLnByb2Nlc3NcbiAgICAgICAgKVxuICAgICAgICAgIHJldHVybiB0ZXh0O1xuXG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IE5ldHdvcmtFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIGVycm9yLnN0YXR1cyA9IDQwNDtcbiAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIHRleHQgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfWA7XG4gICAgICAgIC8vIGN1c3RvbSBkZXYtb25seSBtZXNzYWdlcyBmb3IgbW9yZSBkZXRhaWxlZCBjYXVzZVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2h0bWwnKSB8fFxuICAgICAgICAgICAgICB0ZXh0LnN0YXJ0c1dpdGgoJzwhZG9jdHlwZSBodG1sPicpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAodHJ5UGFyc2UodGV4dCkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gYFwiY29udGVudC10eXBlXCIgaGVhZGVyIGRvZXMgbm90IGluY2x1ZGUgXCJqc29uXCIsIGJ1dCBKU09OIHJlc3BvbnNlIGZvdW5kLlxuU2VlIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM0NjI3IGZvciBpbmZvcm1hdGlvbiBvbiBKU09OIHJlc3BvbnNlc1xuXG5Vc2luZyBwYXJzZWQgSlNPTi5cbklmIHRleHQgY29udGVudCB3YXMgZXhwZWN0ZWQgc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNwYXJzZVJlc3BvbnNlYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIGh0bWwgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfVxuVGhpcyBsaWtlbHkgbWVhbnMgbm8gQVBJIGVuZHBvaW50IHdhcyBjb25maWd1cmVkIGZvciB0aGlzIHJlcXVlc3QsIHJlc3VsdGluZyBpbiBhbiBIVE1MIGZhbGxiYWNrLlxuXG5SZXNwb25zZSAoZmlyc3QgMzAwIGNoYXJhY3RlcnMpOiAke3RleHQuc3Vic3RyaW5nKDAsIDMwMCl9YDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKS5jYXRjaChlcnJvciA9PiB7XG4gICAgICBlcnJvci5zdGF0dXMgPSA0MDA7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbiAgfVxuXG4gIHByb2Nlc3ModmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBlcnJvclBvbGljeShlcnJvcikge1xuICAgIHJldHVybiBlcnJvci5zdGF0dXMgPj0gNTAwID8gJ3NvZnQnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IHBhdGhSZWdleCgpIHtcbiAgICByZXR1cm4gcGF0aFRvUmVnZXhwKHRoaXMucGF0aCk7XG4gIH1cblxuICB0ZXN0S2V5KGtleSkge1xuICAgIGNvbnN0IHByZWZpeCA9IHRoaXMubWV0aG9kICsgJyAnICsgdGhpcy51cmxQcmVmaXg7XG4gICAgaWYgKCFrZXkuc3RhcnRzV2l0aChwcmVmaXgpKSByZXR1cm4gZmFsc2U7XG4gICAgbGV0IGxhc3RRdWVzdGlvbiA9IGtleS5sYXN0SW5kZXhPZignPycpO1xuICAgIGlmIChsYXN0UXVlc3Rpb24gPT09IC0xKSBsYXN0UXVlc3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMucGF0aFJlZ2V4LnRlc3Qoa2V5LnN1YnN0cmluZyhwcmVmaXgubGVuZ3RoLCBsYXN0UXVlc3Rpb24pKTtcbiAgfVxuXG4gIGV4dGVuZChvcHRpb25zKSB7XG4gICAgLy8gbWFrZSBhIGNvbnN0cnVjdG9yL3Byb3RvdHlwZSBiYXNlZCBvZmYgdGhpc1xuICAgIC8vIGV4dGVuZCBmcm9tIGl0IGFuZCBpbml0IHdpdGggb3B0aW9ucyBzZW50XG4gICAgY2xhc3MgRSBleHRlbmRzIHRoaXMuY29uc3RydWN0b3Ige31cblxuICAgIE9iamVjdC5hc3NpZ24oRS5wcm90b3R5cGUsIHRoaXMpO1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IEUoXG4gICAgICAvLyAgZmV0Y2ggZ2V0IG92ZXJyaWRkZW4gYnkgZnVuY3Rpb24gcHJvdG90eXBlLCBzbyB3ZSBtdXN0IHNldCBpdCBleHBsaWNpdGx5IGV2ZXJ5IHRpbWVcbiAgICAgIHsgZmV0Y2g6IHRoaXMuZmV0Y2gsIC4uLm9wdGlvbnMgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgcGFnaW5hdGVkKHJlbW92ZUN1cnNvcikge1xuICAgIGlmICh0eXBlb2YgcmVtb3ZlQ3Vyc29yID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgZmllbGROYW1lID0gcmVtb3ZlQ3Vyc29yO1xuICAgICAgcmVtb3ZlQ3Vyc29yID0gKHsgLi4ucGFyYW1zIH0pID0+IHtcbiAgICAgICAgZGVsZXRlIHBhcmFtc1tmaWVsZE5hbWVdO1xuICAgICAgICByZXR1cm4gW3BhcmFtc107XG4gICAgICB9O1xuICAgIH1cbiAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICBjb25zdCBjcmVhdGVQYWdpbmF0ZWRTY2hlbWEgPSBjb2xsZWN0aW9uID0+IHtcbiAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgIHJldHVybiBjb2xsZWN0aW9uLmFkZFdpdGgocGFnaW5hdGVkTWVyZ2UsIHBhZ2luYXRlZEZpbHRlcihyZW1vdmVDdXJzb3IpKTtcbiAgICB9O1xuICAgIGNvbnN0IG5ld1NjaGVtYSA9IG1hcENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIGNyZWF0ZVBhZ2luYXRlZFNjaGVtYSk7XG4gICAgaWYgKGZvdW5kKSB7XG4gICAgICByZXR1cm4gdGhpcy5leHRlbmQoeyBzY2hlbWE6IG5ld1NjaGVtYSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5leHRlbmQoeyB1cGRhdGU6IHBhZ2luYXRpb25VcGRhdGUodGhpcywgcmVtb3ZlQ3Vyc29yKSB9KTtcbiAgfVxuXG4gIGdldCBwdXNoKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy5wdXNoKSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB1bnNoaWZ0KCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy51bnNoaWZ0KSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBhc3NpZ24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgc2NoZW1hOiBleHRyYWN0Q29sbGVjdGlvbih0aGlzLnNjaGVtYSwgcyA9PiBzLmFzc2lnbiksXG4gICAgfSk7XG4gIH1cbn1cblxuY29uc3QgdHJ5UGFyc2UgPSBpbnB1dCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoaW5wdXQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBU0EsUUFBUSxRQUFRLHVCQUF1QjtBQUNoRCxTQUFTQyxZQUFZLFFBQVEsZ0JBQWdCO0FBRTdDLE9BQU9DLGlCQUFpQixNQUFNLHdCQUF3QjtBQUN0RCxPQUFPQyxhQUFhLE1BQU0sb0JBQW9CO0FBQzlDLE9BQU9DLFlBQVksTUFBTSxtQkFBbUI7QUFDNUMsU0FBU0MsY0FBYyxFQUFFQyxlQUFlLFFBQVEsMkJBQTJCO0FBQzNFLE9BQU9DLGdCQUFnQixNQUFNLHVCQUF1QjtBQUNwRCxPQUFPQyxjQUFjLE1BQU0scUJBQXFCO0FBQ2hELFNBQVNDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLFFBQVEsa0JBQWtCOztBQUVuRTtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBQUFDLFFBQUEsZ0JBQUFDLDBCQUFBO0FBSUEsZUFBZSxNQUFNQyxZQUFZLFNBQVNkLFFBQVEsQ0FBQztFQUVqRGUsV0FBV0EsQ0FBQ0MsT0FBTyxFQUFFO0lBQUEsSUFBQUMsY0FBQTtJQUNuQixLQUFLLEVBQUFBLGNBQUEsR0FDSEQsT0FBTyxDQUFDRSxLQUFLLFlBQUFELGNBQUEsR0FDWCxVQUFVLEdBQUdFLElBQUksRUFBRTtNQUNqQixNQUFNQyxTQUFTLEdBQ2JDLDJCQUFBLEtBQUksRUFBQVQsUUFBQSxFQUFBQSxRQUFBLEtBQWFPLElBQUksQ0FBQ0csTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBR0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENB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
225
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsInBhZ2luYXRlZE1lcmdlIiwicGFnaW5hdGVkRmlsdGVyIiwicGFnaW5hdGlvblVwZGF0ZSIsInBhcmFtc1RvU3RyaW5nIiwiZ2V0VXJsQmFzZSIsImdldFVybFRva2VucyIsImlzUG9qbyIsIl9oYXNCb2R5IiwiX2NsYXNzUHJpdmF0ZUZpZWxkTG9vc2VLZXkiLCJSZXN0RW5kcG9pbnQiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJfb3B0aW9ucyRmZXRjaCIsImZldGNoIiwiYXJncyIsInVybFBhcmFtcyIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlQmFzZSIsImxlbmd0aCIsImJvZHkiLCJ1bmRlZmluZWQiLCJmZXRjaFJlc3BvbnNlIiwidXJsIiwiZ2V0UmVxdWVzdEluaXQiLCJ0aGVuIiwicmVzcG9uc2UiLCJwYXJzZVJlc3BvbnNlIiwicmVzIiwicHJvY2VzcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInNpZGVFZmZlY3QiLCJtZXRob2QiLCJ1cmxQcmVmaXgiLCJpbmNsdWRlcyIsImdldCIsIl9fbmFtZSIsInBhdGgiLCJrZXkiLCJ1cmxCYXNlIiwidG9rZW5zIiwic2VhcmNoUGFyYW1zIiwia2V5cyIsImZvckVhY2giLCJrIiwiaGFzIiwiZ2V0SGVhZGVycyIsImhlYWRlcnMiLCJib2R5SXNQb2pvIiwiSlNPTiIsInN0cmluZ2lmeSIsImluaXQiLCJhc3NpZ24iLCJyZXF1ZXN0SW5pdCIsInNpZ25hbCIsImlucHV0Iiwib2siLCJjYXRjaCIsImVycm9yIiwiVHlwZUVycm9yIiwic3RhdHVzIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0ZXh0Iiwic2NoZW1hIiwicHJvdG90eXBlIiwibWVzc2FnZSIsImVudiIsIk5PREVfRU5WIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0MiIsInN0YXJ0c1dpdGgiLCJ0cnlQYXJzZSIsInN1YnN0cmluZyIsImpzb24iLCJlcnJvclBvbGljeSIsInBhdGhSZWdleCIsInRlc3RLZXkiLCJwcmVmaXgiLCJsYXN0UXVlc3Rpb24iLCJsYXN0SW5kZXhPZiIsInRlc3QiLCJleHRlbmQiLCJFIiwiaW5zdGFuY2UiLCJwYWdpbmF0ZWQiLCJyZW1vdmVDdXJzb3IiLCJmaWVsZE5hbWUiLCJfcmVmIiwicGFyYW1zIiwiX29iamVjdERlc3RydWN0dXJpbmdFbXB0eSIsImZvdW5kIiwiY3JlYXRlUGFnaW5hdGVkU2NoZW1hIiwiY29sbGVjdGlvbiIsImFkZFdpdGgiLCJuZXdTY2hlbWEiLCJ1cGRhdGUiLCJwdXNoIiwicyIsInVuc2hpZnQiLCJwYXJzZSIsImUiXSwic291cmNlcyI6WyIuLi9zcmMvUmVzdEVuZHBvaW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVuZHBvaW50IH0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcbmltcG9ydCB7IHBhdGhUb1JlZ2V4cCB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcblxuaW1wb3J0IGV4dHJhY3RDb2xsZWN0aW9uIGZyb20gJy4vZXh0cmFjdENvbGxlY3Rpb24uanMnO1xuaW1wb3J0IG1hcENvbGxlY3Rpb24gZnJvbSAnLi9tYXBDb2xsZWN0aW9uLmpzJztcbmltcG9ydCBOZXR3b3JrRXJyb3IgZnJvbSAnLi9OZXR3b3JrRXJyb3IuanMnO1xuaW1wb3J0IHsgcGFnaW5hdGVkTWVyZ2UsIHBhZ2luYXRlZEZpbHRlciB9IGZyb20gJy4vcGFnaW5hdGVkQ29sbGVjdGlvbnMuanMnO1xuaW1wb3J0IHBhZ2luYXRpb25VcGRhdGUgZnJvbSAnLi9wYWdpbmF0aW9uVXBkYXRlLmpzJztcbmltcG9ydCBwYXJhbXNUb1N0cmluZyBmcm9tICcuL3BhcmFtc1RvU3RyaW5nLmpzJztcbmltcG9ydCB7IGdldFVybEJhc2UsIGdldFVybFRva2VucywgaXNQb2pvIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbi8qKiBTaW1wbGlmaWVzIGVuZHBvaW50IGRlZmluaXRpb25zIHRoYXQgZm9sbG93IFJFU1QgcGF0dGVybnNcbiAqXG4gKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludFxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXN0RW5kcG9pbnQgZXh0ZW5kcyBFbmRwb2ludCB7XG4gICNoYXNCb2R5O1xuICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgc3VwZXIoXG4gICAgICBvcHRpb25zLmZldGNoID8/XG4gICAgICAgIGFzeW5jIGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICAgICAgY29uc3QgdXJsUGFyYW1zID1cbiAgICAgICAgICAgIHRoaXMuI2hhc0JvZHkgJiYgYXJncy5sZW5ndGggPCAyID8ge30gOiBhcmdzWzBdIHx8IHt9O1xuICAgICAgICAgIGNvbnN0IGJvZHkgPSB0aGlzLiNoYXNCb2R5ID8gYXJnc1thcmdzLmxlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgICAgICAgIHJldHVybiB0aGlzLmZldGNoUmVzcG9uc2UoXG4gICAgICAgICAgICB0aGlzLnVybCh1cmxQYXJhbXMpLFxuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRSZXF1ZXN0SW5pdChib2R5KSxcbiAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB0aGlzLnBhcnNlUmVzcG9uc2UocmVzcG9uc2UpKVxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHRoaXMucHJvY2VzcyhyZXMsIC4uLmFyZ3MpKTtcbiAgICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICAvLyB3ZSB3YW50IHRvIHVzZSB0aGUgcHJvdG90eXBlIGNoYWluIGhlcmVcbiAgICBpZiAoXG4gICAgICAhKCdzaWRlRWZmZWN0JyBpbiB0aGlzKSB8fFxuICAgICAgKCdtZXRob2QnIGluIG9wdGlvbnMgJiYgISgnc2lkZUVmZmVjdCcgaW4gb3B0aW9ucykpXG4gICAgKSB7XG4gICAgICB0aGlzLnNpZGVFZmZlY3QgPVxuICAgICAgICBvcHRpb25zLm1ldGhvZCA9PT0gJ0dFVCcgfHwgb3B0aW9ucy5tZXRob2QgPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgOiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5tZXRob2QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5tZXRob2QgPSB0aGlzLnNpZGVFZmZlY3QgPyAnUE9TVCcgOiAnR0VUJztcbiAgICB9XG4gICAgaWYgKHRoaXMudXJsUHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudXJsUHJlZml4ID0gJyc7XG4gICAgfVxuICAgIHRoaXMuI2hhc0JvZHkgPVxuICAgICAgKCEoJ2JvZHknIGluIHRoaXMpIHx8IHRoaXMuYm9keSAhPT0gdW5kZWZpbmVkKSAmJlxuICAgICAgIVsnR0VUJywgJ0RFTEVURSddLmluY2x1ZGVzKHRoaXMubWV0aG9kKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnbmFtZScsIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgLy8gdXNpbmcgJ2luJyB0byBlbnN1cmUgaW5oZXJpdGFuY2UgbG9va3VwXG4gICAgICAgIGlmICgnX19uYW1lJyBpbiB0aGlzKSByZXR1cm4gdGhpcy5fX25hbWU7XG4gICAgICAgIHJldHVybiB0aGlzLnVybFByZWZpeCArIHRoaXMucGF0aDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBrZXkoLi4uYXJncykge1xuICAgIHJldHVybiBgJHt0aGlzLm1ldGhvZH0gJHt0aGlzLnVybChcbiAgICAgIHRoaXMuI2hhc0JvZHkgJiYgYXJncy5sZW5ndGggPCAyID8ge30gOiBhcmdzWzBdIHx8IHt9LFxuICAgICl9YDtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIHVybCAqL1xuICB1cmwodXJsUGFyYW1zID0ge30pIHtcbiAgICBjb25zdCB1cmxCYXNlID0gZ2V0VXJsQmFzZSh0aGlzLnBhdGgpKHVybFBhcmFtcyk7XG4gICAgY29uc3QgdG9rZW5zID0gZ2V0VXJsVG9rZW5zKHRoaXMucGF0aCk7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0ge307XG4gICAgT2JqZWN0LmtleXModXJsUGFyYW1zKS5mb3JFYWNoKGsgPT4ge1xuICAgICAgaWYgKCF0b2tlbnMuaGFzKGspKSB7XG4gICAgICAgIHNlYXJjaFBhcmFtc1trXSA9IHVybFBhcmFtc1trXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoT2JqZWN0LmtleXMoc2VhcmNoUGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnVybFByZWZpeH0ke3VybEJhc2V9PyR7cGFyYW1zVG9TdHJpbmcoc2VhcmNoUGFyYW1zKX1gO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy51cmxQcmVmaXh9JHt1cmxCYXNlfWA7XG4gIH1cblxuICBnZXRIZWFkZXJzKGhlYWRlcnMpIHtcbiAgICByZXR1cm4gaGVhZGVycztcbiAgfVxuXG4gIC8qKiBJbml0IG9wdGlvbnMgZm9yIGZldGNoIC0gcnVuIGF0IGZldGNoICovXG4gIGFzeW5jIGdldFJlcXVlc3RJbml0KGJvZHkpIHtcbiAgICBjb25zdCBib2R5SXNQb2pvID0gaXNQb2pvKGJvZHkpO1xuICAgIGlmIChib2R5SXNQb2pvKSB7XG4gICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoYm9keSk7XG4gICAgfVxuICAgIGNvbnN0IGluaXQgPSB7XG4gICAgICAuLi50aGlzLnJlcXVlc3RJbml0LFxuICAgICAgbWV0aG9kOiB0aGlzLm1ldGhvZCxcbiAgICAgIHNpZ25hbDogdGhpcy5zaWduYWwsXG4gICAgICBib2R5LFxuICAgIH07XG4gICAgaWYgKCFib2R5IHx8IGJvZHlJc1Bvam8pIHtcbiAgICAgIGluaXQuaGVhZGVycyA9IHtcbiAgICAgICAgLy8gZGVmYXVsdCB0byBhcHBsaWNhdGlvbi9qc29uIGJ1dCBhbGxvdyB1c2VyIGV4cGxpY2l0IG92ZXJyaWRlc1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAuLi5pbml0LmhlYWRlcnMsXG4gICAgICB9O1xuICAgIH1cbiAgICBpbml0LmhlYWRlcnMgPSBhd2FpdCB0aGlzLmdldEhlYWRlcnMoaW5pdC5oZWFkZXJzKTtcbiAgICByZXR1cm4gaW5pdDtcbiAgfVxuXG4gIC8qKiBQZXJmb3JtIG5ldHdvcmsgcmVxdWVzdCBhbmQgcmVzb2x2ZSB3aXRoIEhUVFAgUmVzcG9uc2UgKi9cbiAgZmV0Y2hSZXNwb25zZShpbnB1dCwgaW5pdCkge1xuICAgIHJldHVybiBmZXRjaChpbnB1dCwgaW5pdClcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBOZXR3b3JrRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAvLyBlbnN1cmUgQ09SUywgbmV0d29yayBkb3duLCBhbmQgcGFyc2UgZXJyb3JzIGFyZSBzdGlsbCBjYXVnaHQgYnkgTmV0d29ya0Vycm9yQm91bmRhcnlcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7XG4gICAgICAgICAgZXJyb3Iuc3RhdHVzID0gNTAwO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gIH1cblxuICBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSB7XG4gICAgLy8gdGhpcyBzaG91bGQgbm90IGhhdmUgYW55IGNvbnRlbnQgdG8gcmVhZFxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwNCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICBpZiAoIXJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2pzb24nKSkge1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKS50aGVuKHRleHQgPT4ge1xuICAgICAgICAvLyBzdHJpbmcgb3IgJ25vdCBzZXQnIHNjaGVtYSwgYXJlIHZhbGlkXG4gICAgICAgIC8vIHdoZW4gb3ZlcnJpZGluZyBwcm9jZXNzIHRoZXkgbWlnaHQgaGFuZGxlIG90aGVyIGNhc2VzLCBzbyB3ZSBkb24ndCB3YW50IHRvIGJsb2NrIG9uIG91ciBsb2dpY1xuICAgICAgICBpZiAoXG4gICAgICAgICAgWydzdHJpbmcnLCAndW5kZWZpbmVkJ10uaW5jbHVkZXModHlwZW9mIHRoaXMuc2NoZW1hKSB8fFxuICAgICAgICAgIHRoaXMuc2NoZW1hID09PSBudWxsIHx8XG4gICAgICAgICAgdGhpcy5wcm9jZXNzICE9PSBSZXN0RW5kcG9pbnQucHJvdG90eXBlLnByb2Nlc3NcbiAgICAgICAgKVxuICAgICAgICAgIHJldHVybiB0ZXh0O1xuXG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IE5ldHdvcmtFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIGVycm9yLnN0YXR1cyA9IDQwNDtcbiAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIHRleHQgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfWA7XG4gICAgICAgIC8vIGN1c3RvbSBkZXYtb25seSBtZXNzYWdlcyBmb3IgbW9yZSBkZXRhaWxlZCBjYXVzZVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2h0bWwnKSB8fFxuICAgICAgICAgICAgICB0ZXh0LnN0YXJ0c1dpdGgoJzwhZG9jdHlwZSBodG1sPicpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAodHJ5UGFyc2UodGV4dCkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gYFwiY29udGVudC10eXBlXCIgaGVhZGVyIGRvZXMgbm90IGluY2x1ZGUgXCJqc29uXCIsIGJ1dCBKU09OIHJlc3BvbnNlIGZvdW5kLlxuU2VlIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM0NjI3IGZvciBpbmZvcm1hdGlvbiBvbiBKU09OIHJlc3BvbnNlc1xuXG5Vc2luZyBwYXJzZWQgSlNPTi5cbklmIHRleHQgY29udGVudCB3YXMgZXhwZWN0ZWQgc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNwYXJzZVJlc3BvbnNlYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIGh0bWwgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfVxuVGhpcyBsaWtlbHkgbWVhbnMgbm8gQVBJIGVuZHBvaW50IHdhcyBjb25maWd1cmVkIGZvciB0aGlzIHJlcXVlc3QsIHJlc3VsdGluZyBpbiBhbiBIVE1MIGZhbGxiYWNrLlxuXG5SZXNwb25zZSAoZmlyc3QgMzAwIGNoYXJhY3RlcnMpOiAke3RleHQuc3Vic3RyaW5nKDAsIDMwMCl9YDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKS5jYXRjaChlcnJvciA9PiB7XG4gICAgICBlcnJvci5zdGF0dXMgPSA0MDA7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbiAgfVxuXG4gIHByb2Nlc3ModmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBlcnJvclBvbGljeShlcnJvcikge1xuICAgIHJldHVybiBlcnJvci5zdGF0dXMgPj0gNTAwID8gJ3NvZnQnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IHBhdGhSZWdleCgpIHtcbiAgICByZXR1cm4gcGF0aFRvUmVnZXhwKHRoaXMucGF0aCk7XG4gIH1cblxuICB0ZXN0S2V5KGtleSkge1xuICAgIGNvbnN0IHByZWZpeCA9IHRoaXMubWV0aG9kICsgJyAnICsgdGhpcy51cmxQcmVmaXg7XG4gICAgaWYgKCFrZXkuc3RhcnRzV2l0aChwcmVmaXgpKSByZXR1cm4gZmFsc2U7XG4gICAgbGV0IGxhc3RRdWVzdGlvbiA9IGtleS5sYXN0SW5kZXhPZignPycpO1xuICAgIGlmIChsYXN0UXVlc3Rpb24gPT09IC0xKSBsYXN0UXVlc3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMucGF0aFJlZ2V4LnRlc3Qoa2V5LnN1YnN0cmluZyhwcmVmaXgubGVuZ3RoLCBsYXN0UXVlc3Rpb24pKTtcbiAgfVxuXG4gIGV4dGVuZChvcHRpb25zKSB7XG4gICAgLy8gbWFrZSBhIGNvbnN0cnVjdG9yL3Byb3RvdHlwZSBiYXNlZCBvZmYgdGhpc1xuICAgIC8vIGV4dGVuZCBmcm9tIGl0IGFuZCBpbml0IHdpdGggb3B0aW9ucyBzZW50XG4gICAgY2xhc3MgRSBleHRlbmRzIHRoaXMuY29uc3RydWN0b3Ige31cblxuICAgIE9iamVjdC5hc3NpZ24oRS5wcm90b3R5cGUsIHRoaXMpO1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IEUoXG4gICAgICAvLyAgZmV0Y2ggZ2V0IG92ZXJyaWRkZW4gYnkgZnVuY3Rpb24gcHJvdG90eXBlLCBzbyB3ZSBtdXN0IHNldCBpdCBleHBsaWNpdGx5IGV2ZXJ5IHRpbWVcbiAgICAgIHsgZmV0Y2g6IHRoaXMuZmV0Y2gsIC4uLm9wdGlvbnMgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9XG5cbiAgcGFnaW5hdGVkKHJlbW92ZUN1cnNvcikge1xuICAgIGlmICh0eXBlb2YgcmVtb3ZlQ3Vyc29yID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgZmllbGROYW1lID0gcmVtb3ZlQ3Vyc29yO1xuICAgICAgcmVtb3ZlQ3Vyc29yID0gKHsgLi4ucGFyYW1zIH0pID0+IHtcbiAgICAgICAgZGVsZXRlIHBhcmFtc1tmaWVsZE5hbWVdO1xuICAgICAgICByZXR1cm4gW3BhcmFtc107XG4gICAgICB9O1xuICAgIH1cbiAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICBjb25zdCBjcmVhdGVQYWdpbmF0ZWRTY2hlbWEgPSBjb2xsZWN0aW9uID0+IHtcbiAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgIHJldHVybiBjb2xsZWN0aW9uLmFkZFdpdGgocGFnaW5hdGVkTWVyZ2UsIHBhZ2luYXRlZEZpbHRlcihyZW1vdmVDdXJzb3IpKTtcbiAgICB9O1xuICAgIGNvbnN0IG5ld1NjaGVtYSA9IG1hcENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIGNyZWF0ZVBhZ2luYXRlZFNjaGVtYSk7XG4gICAgaWYgKGZvdW5kKSB7XG4gICAgICByZXR1cm4gdGhpcy5leHRlbmQoeyBzY2hlbWE6IG5ld1NjaGVtYSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5leHRlbmQoeyB1cGRhdGU6IHBhZ2luYXRpb25VcGRhdGUodGhpcywgcmVtb3ZlQ3Vyc29yKSB9KTtcbiAgfVxuXG4gIGdldCBwdXNoKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy5wdXNoKSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB1bnNoaWZ0KCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy51bnNoaWZ0KSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBhc3NpZ24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgc2NoZW1hOiBleHRyYWN0Q29sbGVjdGlvbih0aGlzLnNjaGVtYSwgcyA9PiBzLmFzc2lnbiksXG4gICAgfSk7XG4gIH1cbn1cblxuY29uc3QgdHJ5UGFyc2UgPSBpbnB1dCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoaW5wdXQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBU0EsUUFBUSxRQUFRLHVCQUF1QjtBQUNoRCxTQUFTQyxZQUFZLFFBQVEsZ0JBQWdCO0FBRTdDLE9BQU9DLGlCQUFpQixNQUFNLHdCQUF3QjtBQUN0RCxPQUFPQyxhQUFhLE1BQU0sb0JBQW9CO0FBQzlDLE9BQU9DLFlBQVksTUFBTSxtQkFBbUI7QUFDNUMsU0FBU0MsY0FBYyxFQUFFQyxlQUFlLFFBQVEsMkJBQTJCO0FBQzNFLE9BQU9DLGdCQUFnQixNQUFNLHVCQUF1QjtBQUNwRCxPQUFPQyxjQUFjLE1BQU0scUJBQXFCO0FBQ2hELFNBQVNDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLFFBQVEsa0JBQWtCOztBQUVuRTtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBQUFDLFFBQUEsZ0JBQUFDLDBCQUFBO0FBSUEsZUFBZSxNQUFNQyxZQUFZLFNBQVNkLFFBQVEsQ0FBQztFQUVqRGUsV0FBV0EsQ0FBQ0MsT0FBTyxFQUFFO0lBQUEsSUFBQUMsY0FBQTtJQUNuQixLQUFLLEVBQUFBLGNBQUEsR0FDSEQsT0FBTyxDQUFDRSxLQUFLLFlBQUFELGNBQUEsR0FDWCxnQkFBZ0IsR0FBR0UsSUFBSSxFQUFFO01BQ3ZCLE1BQU1DLFNBQVMsR0FDYkMsMkJBQUEsS0FBSSxFQUFBVCxRQUFBLEVBQUFBLFFBQUEsS0FBYU8sSUFBSSxDQUFDRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHSCxJ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
@@ -4,7 +4,8 @@ import { AbortOptimistic, schema } from '@data-client/endpoint';
4
4
  import RestEndpoint from './RestEndpoint.js';
5
5
  import { shortenPath } from './RestHelpers.js';
6
6
  const {
7
- Delete
7
+ Invalidate,
8
+ Collection
8
9
  } = schema;
9
10
 
10
11
  /** Creates collection of Endpoints for common operations on a given data/schema.
@@ -32,20 +33,17 @@ export default function createResource(_ref) {
32
33
  extraMutateOptions.getOptimisticResponse = optimisticUpdate;
33
34
  extraPartialOptions.getOptimisticResponse = optimisticPartial(get);
34
35
  }
35
- const getList = new Endpoint(Object.assign({}, extraOptions, {
36
+ const getList = new Endpoint(Object.assign({}, extraMutateOptions, {
36
37
  path: shortenedPath,
37
- schema: [schema],
38
+ schema: new Collection([schema]),
38
39
  name: getName('getList')
39
40
  }));
40
41
  return {
41
42
  get,
42
43
  getList,
43
- create: new Endpoint(Object.assign({}, extraMutateOptions, {
44
- path: shortenedPath,
45
- schema,
46
- method: 'POST',
44
+ create: getList.push.extend({
47
45
  name: getName('create')
48
- })),
46
+ }),
49
47
  update: new Endpoint(Object.assign({}, extraMutateOptions, {
50
48
  path,
51
49
  schema,
@@ -60,7 +58,7 @@ export default function createResource(_ref) {
60
58
  })),
61
59
  delete: new Endpoint(Object.assign({}, extraMutateOptions, {
62
60
  path,
63
- schema: schema.process ? new Delete(schema) : schema,
61
+ schema: schema.process ? new Invalidate(schema) : schema,
64
62
  method: 'DELETE',
65
63
  name: getName('delete'),
66
64
  process(res, params) {
@@ -85,4 +83,4 @@ function optimisticPartial(getEndpoint) {
85
83
  function optimisticDelete(snap, params) {
86
84
  return params;
87
85
  }
88
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBYm9ydE9wdGltaXN0aWMiLCJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkRlbGV0ZSIsImNyZWF0ZVJlc291cmNlIiwiX3JlZiIsInBhdGgiLCJFbmRwb2ludCIsIm9wdGltaXN0aWMiLCJleHRyYU9wdGlvbnMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsIl9leGNsdWRlZCIsInNob3J0ZW5lZFBhdGgiLCJnZXROYW1lIiwibmFtZSIsImV4dHJhTXV0YXRlT3B0aW9ucyIsIk9iamVjdCIsImFzc2lnbiIsImV4dHJhUGFydGlhbE9wdGlvbnMiLCJnZXQiLCJnZXRPcHRpbWlzdGljUmVzcG9uc2UiLCJvcHRpbWlzdGljVXBkYXRlIiwib3B0aW1pc3RpY1BhcnRpYWwiLCJnZXRMaXN0IiwiY3JlYXRlIiwibWV0aG9kIiwidXBkYXRlIiwicGFydGlhbFVwZGF0ZSIsImRlbGV0ZSIsInByb2Nlc3MiLCJyZXMiLCJwYXJhbXMiLCJrZXlzIiwibGVuZ3RoIiwib3B0aW1pc3RpY0RlbGV0ZSIsInVuZGVmaW5lZCIsInNuYXAiLCJib2R5IiwiZ2V0RW5kcG9pbnQiLCJkYXRhIiwiZ2V0UmVzcG9uc2UiXSwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlUmVzb3VyY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJvcnRPcHRpbWlzdGljLFxuICBzY2hlbWEsXG4gIFNuYXBzaG90SW50ZXJmYWNlLFxufSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHR5cGUge1xuICBTY2hlbWEsXG4gIERlbm9ybWFsaXplLFxuICBFbmRwb2ludEV4dHJhT3B0aW9ucyxcbn0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcblxuaW1wb3J0IHsgUGF0aEFyZ3MsIFNob3J0ZW5QYXRoIH0gZnJvbSAnLi9wYXRoVHlwZXMuanMnO1xuaW1wb3J0IFJlc3RFbmRwb2ludCwge1xuICBOZXdHZXRFbmRwb2ludCxcbiAgTmV3TXV0YXRlRW5kcG9pbnQsXG4gIFJlc3RJbnN0YW5jZSxcbiAgUmVzdFR5cGVOb0JvZHksXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IHNob3J0ZW5QYXRoIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbmNvbnN0IHsgRGVsZXRlIH0gPSBzY2hlbWE7XG5cbi8qKiBDcmVhdGVzIGNvbGxlY3Rpb24gb2YgRW5kcG9pbnRzIGZvciBjb21tb24gb3BlcmF0aW9ucyBvbiBhIGdpdmVuIGRhdGEvc2NoZW1hLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVzb3VyY2U8VSBleHRlbmRzIHN0cmluZywgUyBleHRlbmRzIFNjaGVtYT4oe1xuICBwYXRoLFxuICBzY2hlbWEsXG4gIEVuZHBvaW50ID0gUmVzdEVuZHBvaW50LFxuICBvcHRpbWlzdGljLFxuICAuLi5leHRyYU9wdGlvbnNcbn06IHtcbiAgcmVhZG9ubHkgcGF0aDogVTtcbiAgcmVhZG9ubHkgc2NoZW1hOiBTO1xuICByZWFkb25seSBFbmRwb2ludD86IHR5cGVvZiBSZXN0RW5kcG9pbnQ7XG4gIHVybFByZWZpeD86IHN0cmluZztcbiAgb3B0aW1pc3RpYz86IGJvb2xlYW47XG59ICYgRW5kcG9pbnRFeHRyYU9wdGlvbnMpOiBSZXNvdXJjZTxVLCBTPiB7XG4gIGNvbnN0IHNob3J0ZW5lZFBhdGggPSBzaG9ydGVuUGF0aChwYXRoKTtcbiAgY29uc3QgZ2V0TmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IGAkeyhzY2hlbWEgYXMgYW55KT8ubmFtZX0uJHtuYW1lfWA7XG4gIGNvbnN0IGV4dHJhTXV0YXRlT3B0aW9ucyA9IHsgLi4uZXh0cmFPcHRpb25zIH07XG4gIGNvbnN0IGV4dHJhUGFydGlhbE9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBnZXQ6IE5ld0dldEVuZHBvaW50PHsgcGF0aDogVSB9LCBTPiA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFPcHRpb25zLFxuICAgIHBhdGgsXG4gICAgc2NoZW1hLFxuICAgIG5hbWU6IGdldE5hbWUoJ2dldCcpLFxuICB9KTtcbiAgaWYgKG9wdGltaXN0aWMpIHtcbiAgICAoZXh0cmFNdXRhdGVPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1VwZGF0ZTtcbiAgICAoZXh0cmFQYXJ0aWFsT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNQYXJ0aWFsKGdldCk7XG4gIH1cbiAgY29uc3QgZ2V0TGlzdCA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFPcHRpb25zLFxuICAgIHBhdGg6IHNob3J0ZW5lZFBhdGgsXG4gICAgc2NoZW1hOiBbc2NoZW1hXSxcbiAgICBuYW1lOiBnZXROYW1lKCdnZXRMaXN0JyksXG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGdldCxcbiAgICBnZXRMaXN0LFxuICAgIGNyZWF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGg6IHNob3J0ZW5lZFBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ2NyZWF0ZScpLFxuICAgIH0pLFxuICAgIHVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgndXBkYXRlJyksXG4gICAgfSksXG4gICAgcGFydGlhbFVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhUGFydGlhbE9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgncGFydGlhbFVwZGF0ZScpLFxuICAgIH0pLFxuICAgIGRlbGV0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWE6IChzY2hlbWEgYXMgYW55KS5wcm9jZXNzID8gbmV3IERlbGV0ZShzY2hlbWEgYXMgYW55KSA6IHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBuYW1lOiBnZXROYW1lKCdkZWxldGUnKSxcbiAgICAgIHByb2Nlc3MocmVzLCBwYXJhbXMpIHtcbiAgICAgICAgcmV0dXJuIHJlcyAmJiBPYmplY3Qua2V5cyhyZXMpLmxlbmd0aCA/IHJlcyA6IHBhcmFtcztcbiAgICAgIH0sXG4gICAgICBnZXRPcHRpbWlzdGljUmVzcG9uc2U6IG9wdGltaXN0aWMgPyAob3B0aW1pc3RpY0RlbGV0ZSBhcyBhbnkpIDogdW5kZWZpbmVkLFxuICAgIH0pLFxuICB9IGFzIGFueTtcbn1cblxuZnVuY3Rpb24gb3B0aW1pc3RpY1VwZGF0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnksIGJvZHk6IGFueSkge1xuICByZXR1cm4ge1xuICAgIC4uLnBhcmFtcyxcbiAgICAvLyBldmVuIHRobyB3ZSBkb24ndCBhbHdheXMgaGF2ZSB0d28gYXJndW1lbnRzLCB0aGUgZXh0cmEgb25lIHdpbGwgc2ltcGx5IGJlIHVuZGVmaW5lZCB3aGljaCBzcHJlYWRzIGZpbmVcbiAgICAuLi5ib2R5LFxuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY1BhcnRpYWwoZ2V0RW5kcG9pbnQ6IE5ld0dldEVuZHBvaW50PGFueSwgYW55Pikge1xuICByZXR1cm4gZnVuY3Rpb24gKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSwgYm9keTogYW55KSB7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBzbmFwLmdldFJlc3BvbnNlKGdldEVuZHBvaW50LCBwYXJhbXMpO1xuICAgIGlmICghZGF0YSkgdGhyb3cgbmV3IEFib3J0T3B0aW1pc3RpYygpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICAuLi5kYXRhLFxuICAgICAgLy8gZXZlbiB0aG8gd2UgZG9uJ3QgYWx3YXlzIGhhdmUgdHdvIGFyZ3VtZW50cywgdGhlIGV4dHJhIG9uZSB3aWxsIHNpbXBseSBiZSB1bmRlZmluZWQgd2hpY2ggc3ByZWFkcyBmaW5lXG4gICAgICAuLi5ib2R5LFxuICAgIH07XG4gIH07XG59XG5mdW5jdGlvbiBvcHRpbWlzdGljRGVsZXRlKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSkge1xuICByZXR1cm4gcGFyYW1zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlPFUgZXh0ZW5kcyBzdHJpbmcsIFMgZXh0ZW5kcyBTY2hlbWE+IHtcbiAgLyoqIEdldCBhIHNpbmd1bGFyIGl0ZW1cbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNnZXRcbiAgICovXG4gIGdldDogTmV3R2V0RW5kcG9pbnQ8eyBwYXRoOiBVIH0sIFM+O1xuICAvKiogR2V0IGEgbGlzdCBvZiBpdGVtXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2UjZ2V0bGlzdFxuICAgKi9cbiAgZ2V0TGlzdDogTmV3R2V0RW5kcG9pbnQ8XG4gICAge1xuICAgICAgcGF0aDogU2hvcnRlblBhdGg8VT47XG4gICAgICBzZWFyY2hQYXJhbXM6IFJlY29yZDxzdHJpbmcsIG51bWJlciB8IHN0cmluZyB8IGJvb2xlYW4+IHwgdW5kZWZpbmVkO1xuICAgIH0sXG4gICAgU1tdXG4gID47XG4gIC8qKiBDcmVhdGUgYSBuZXcgaXRlbSAoUE9TVClcbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNjcmVhdGVcbiAgICovXG4gIGNyZWF0ZTogTmV3TXV0YXRlRW5kcG9pbnQ8XG4gICAgeyBwYXRoOiBTaG9ydGVuUGF0aDxVPjsgYm9keTogUGFydGlhbDxEZW5vcm1hbGl6ZTxTPj4gfSxcbiAgICBTXG4gID47XG4gIC8qKiBVcGRhdGUgYW4gaXRlbSAoUFVUKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3VwZGF0ZVxuICAgKi9cbiAgdXBkYXRlOiBOZXdNdXRhdGVFbmRwb2ludDx7IHBhdGg6IFU7IGJvZHk6IFBhcnRpYWw8RGVub3JtYWxpemU8Uz4+IH0sIFM+O1xuICAvKiogVXBkYXRlIGFuIGl0ZW0gKFBBVENIKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3BhcnRpYWx1cGRhdGVcbiAgICovXG4gIHBhcnRpYWxVcGRhdGU6IE5ld011dGF0ZUVuZHBvaW50PFxuICAgIHsgcGF0aDogVTsgYm9keTogUGFydGlhbDxEZW5vcm1hbGl6ZTxTPj4gfSxcbiAgICBTXG4gID47XG4gIC8qKiBEZWxldGUgYW4gaXRlbSAoREVMRVRFKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2RlbGV0ZVxuICAgKi9cbiAgZGVsZXRlOiBSZXN0VHlwZU5vQm9keTxcbiAgICBQYXRoQXJnczxVPixcbiAgICBTIGV4dGVuZHMgc2NoZW1hLkVudGl0eUludGVyZmFjZSAmIHsgcHJvY2VzczogYW55IH0gPyBzY2hlbWEuRGVsZXRlPFM+IDogUyxcbiAgICB1bmRlZmluZWQsXG4gICAgUGFydGlhbDxQYXRoQXJnczxVPj4sXG4gICAge1xuICAgICAgcGF0aDogVTtcbiAgICB9XG4gID47XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FDRUEsZUFBZSxFQUNmQyxNQUFNLFFBRUQsdUJB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
86
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBYm9ydE9wdGltaXN0aWMiLCJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiY3JlYXRlUmVzb3VyY2UiLCJfcmVmIiwicGF0aCIsIkVuZHBvaW50Iiwib3B0aW1pc3RpYyIsImV4dHJhT3B0aW9ucyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiX2V4Y2x1ZGVkIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiT2JqZWN0IiwiYXNzaWduIiwiZXh0cmFQYXJ0aWFsT3B0aW9ucyIsImdldCIsImdldE9wdGltaXN0aWNSZXNwb25zZSIsIm9wdGltaXN0aWNVcGRhdGUiLCJvcHRpbWlzdGljUGFydGlhbCIsImdldExpc3QiLCJjcmVhdGUiLCJwdXNoIiwiZXh0ZW5kIiwidXBkYXRlIiwibWV0aG9kIiwicGFydGlhbFVwZGF0ZSIsImRlbGV0ZSIsInByb2Nlc3MiLCJyZXMiLCJwYXJhbXMiLCJrZXlzIiwibGVuZ3RoIiwib3B0aW1pc3RpY0RlbGV0ZSIsInVuZGVmaW5lZCIsInNuYXAiLCJib2R5IiwiZ2V0RW5kcG9pbnQiLCJkYXRhIiwiZ2V0UmVzcG9uc2UiXSwic291cmNlcyI6WyIuLi9zcmMvY3JlYXRlUmVzb3VyY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJvcnRPcHRpbWlzdGljLFxuICBTbmFwc2hvdEludGVyZmFjZSxcbiAgc2NoZW1hLFxufSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHR5cGUgeyBEZW5vcm1hbGl6ZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmltcG9ydCB7IFBhdGhBcmdzLCBTaG9ydGVuUGF0aCB9IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcbmltcG9ydCB7IFJlc291cmNlR2VuZXJpY3MsIFJlc291cmNlT3B0aW9ucyB9IGZyb20gJy4vcmVzb3VyY2VUeXBlcy5qcyc7XG5pbXBvcnQgUmVzdEVuZHBvaW50LCB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgUmVzdFR5cGVOb0JvZHksXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IHNob3J0ZW5QYXRoIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbmNvbnN0IHsgSW52YWxpZGF0ZSwgQ29sbGVjdGlvbiB9ID0gc2NoZW1hO1xuXG4vKiogQ3JlYXRlcyBjb2xsZWN0aW9uIG9mIEVuZHBvaW50cyBmb3IgY29tbW9uIG9wZXJhdGlvbnMgb24gYSBnaXZlbiBkYXRhL3NjaGVtYS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVJlc291cmNlPE8gZXh0ZW5kcyBSZXNvdXJjZUdlbmVyaWNzPih7XG4gIHBhdGgsXG4gIHNjaGVtYSxcbiAgRW5kcG9pbnQgPSBSZXN0RW5kcG9pbnQsXG4gIG9wdGltaXN0aWMsXG4gIC4uLmV4dHJhT3B0aW9uc1xufTogUmVhZG9ubHk8Tz4gJiBSZXNvdXJjZU9wdGlvbnMpOiBSZXNvdXJjZTxPPiB7XG4gIGNvbnN0IHNob3J0ZW5lZFBhdGggPSBzaG9ydGVuUGF0aChwYXRoKTtcbiAgY29uc3QgZ2V0TmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IGAkeyhzY2hlbWEgYXMgYW55KT8ubmFtZX0uJHtuYW1lfWA7XG4gIGNvbnN0IGV4dHJhTXV0YXRlT3B0aW9ucyA9IHsgLi4uZXh0cmFPcHRpb25zIH07XG4gIGNvbnN0IGV4dHJhUGFydGlhbE9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBnZXQ6IEdldEVuZHBvaW50PHsgcGF0aDogT1sncGF0aCddOyBzY2hlbWE6IE9bJ3NjaGVtYSddIH0+ID1cbiAgICBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ2dldCcpLFxuICAgIH0pIGFzIGFueTtcbiAgaWYgKG9wdGltaXN0aWMpIHtcbiAgICAoZXh0cmFNdXRhdGVPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1VwZGF0ZTtcbiAgICAoZXh0cmFQYXJ0aWFsT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNQYXJ0aWFsKGdldCk7XG4gIH1cbiAgY29uc3QgZ2V0TGlzdCA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgIHBhdGg6IHNob3J0ZW5lZFBhdGgsXG4gICAgc2NoZW1hOiBuZXcgQ29sbGVjdGlvbihbc2NoZW1hIGFzIGFueV0pLFxuICAgIG5hbWU6IGdldE5hbWUoJ2dldExpc3QnKSxcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgZ2V0LFxuICAgIGdldExpc3QsXG4gICAgY3JlYXRlOiBnZXRMaXN0LnB1c2guZXh0ZW5kKHsgbmFtZTogZ2V0TmFtZSgnY3JlYXRlJykgfSksXG4gICAgdXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCd1cGRhdGUnKSxcbiAgICB9KSxcbiAgICBwYXJ0aWFsVXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFQYXJ0aWFsT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCdwYXJ0aWFsVXBkYXRlJyksXG4gICAgfSksXG4gICAgZGVsZXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYTogKHNjaGVtYSBhcyBhbnkpLnByb2Nlc3MgPyBuZXcgSW52YWxpZGF0ZShzY2hlbWEgYXMgYW55KSA6IHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBuYW1lOiBnZXROYW1lKCdkZWxldGUnKSxcbiAgICAgIHByb2Nlc3MocmVzOiBhbnksIHBhcmFtczogYW55KSB7XG4gICAgICAgIHJldHVybiByZXMgJiYgT2JqZWN0LmtleXMocmVzKS5sZW5ndGggPyByZXMgOiBwYXJhbXM7XG4gICAgICB9LFxuICAgICAgZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlOiBvcHRpbWlzdGljID8gKG9wdGltaXN0aWNEZWxldGUgYXMgYW55KSA6IHVuZGVmaW5lZCxcbiAgICB9KSxcbiAgfSBhcyBhbnk7XG59XG5cbmZ1bmN0aW9uIG9wdGltaXN0aWNVcGRhdGUoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wYXJhbXMsXG4gICAgLi4uYm9keSxcbiAgfTtcbn1cbmZ1bmN0aW9uIG9wdGltaXN0aWNQYXJ0aWFsKGdldEVuZHBvaW50OiBHZXRFbmRwb2ludCkge1xuICByZXR1cm4gZnVuY3Rpb24gKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSwgYm9keTogYW55KSB7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBzbmFwLmdldFJlc3BvbnNlKGdldEVuZHBvaW50LCBwYXJhbXMpIGFzIHsgZGF0YTogYW55IH07XG4gICAgaWYgKCFkYXRhKSB0aHJvdyBuZXcgQWJvcnRPcHRpbWlzdGljKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIC4uLmRhdGEsXG4gICAgICAvLyBldmVuIHRobyB3ZSBkb24ndCBhbHdheXMgaGF2ZSB0d28gYXJndW1lbnRzLCB0aGUgZXh0cmEgb25lIHdpbGwgc2ltcGx5IGJlIHVuZGVmaW5lZCB3aGljaCBzcHJlYWRzIGZpbmVcbiAgICAgIC4uLmJvZHksXG4gICAgfTtcbiAgfTtcbn1cbmZ1bmN0aW9uIG9wdGltaXN0aWNEZWxldGUoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55KSB7XG4gIHJldHVybiBwYXJhbXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2U8XG4gIE8gZXh0ZW5kcyBSZXNvdXJjZUdlbmVyaWNzID0geyBwYXRoOiBzdHJpbmc7IHNjaGVtYTogYW55IH0sXG4+IHtcbiAgLyoqIEdldCBhIHNpbmd1bGFyIGl0ZW1cbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNnZXRcbiAgICovXG4gIGdldDogR2V0RW5kcG9pbnQ8eyBwYXRoOiBPWydwYXRoJ107IHNjaGVtYTogT1snc2NoZW1hJ10gfT47XG4gIC8qKiBHZXQgYSBsaXN0IG9mIGl0ZW1cbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNnZXRsaXN0XG4gICAqL1xuICBnZXRMaXN0OiAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICA/IEdldEVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogU2hvcnRlblBhdGg8T1sncGF0aCddPjtcbiAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxbT1snc2NoZW1hJ11dPjtcbiAgICAgICAgc2VhcmNoUGFyYW1zOiBPWydzZWFyY2hQYXJhbXMnXTtcbiAgICAgIH0+XG4gICAgOiBHZXRFbmRwb2ludDx7XG4gICAgICAgIHBhdGg6IFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT47XG4gICAgICAgIHNjaGVtYTogc2NoZW1hLkNvbGxlY3Rpb248W09bJ3NjaGVtYSddXT47XG4gICAgICAgIHNlYXJjaFBhcmFtczogUmVjb3JkPHN0cmluZywgbnVtYmVyIHwgc3RyaW5nIHwgYm9vbGVhbj4gfCB1bmRlZmluZWQ7XG4gICAgICB9PjtcbiAgLyoqIENyZWF0ZSBhIG5ldyBpdGVtIChQT1NUKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI2NyZWF0ZVxuICAgKi9cbiAgY3JlYXRlOiAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICA/IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogU2hvcnRlblBhdGg8T1sncGF0aCddPjtcbiAgICAgICAgc2NoZW1hOiBzY2hlbWEuQ29sbGVjdGlvbjxbT1snc2NoZW1hJ11dPlsncHVzaCddO1xuICAgICAgICBib2R5OiAnYm9keScgZXh0ZW5kcyBrZXlvZiBPXG4gICAgICAgICAgPyBPWydib2R5J11cbiAgICAgICAgICA6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgICAgc2VhcmNoUGFyYW1zOiBPWydzZWFyY2hQYXJhbXMnXTtcbiAgICAgIH0+XG4gICAgOiBNdXRhdGVFbmRwb2ludDx7XG4gICAgICAgIHBhdGg6IFNob3J0ZW5QYXRoPE9bJ3BhdGgnXT47XG4gICAgICAgIHNjaGVtYTogc2NoZW1hLkNvbGxlY3Rpb248W09bJ3NjaGVtYSddXT5bJ3B1c2gnXTtcbiAgICAgICAgYm9keTogJ2JvZHknIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICAgID8gT1snYm9keSddXG4gICAgICAgICAgOiBQYXJ0aWFsPERlbm9ybWFsaXplPE9bJ3NjaGVtYSddPj47XG4gICAgICB9PjtcbiAgLyoqIFVwZGF0ZSBhbiBpdGVtIChQVVQpXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9yZXN0aG9va3MuaW8vcmVzdC9hcGkvY3JlYXRlUmVzb3VyY2UjdXBkYXRlXG4gICAqL1xuICB1cGRhdGU6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgICA/IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgICAgICBib2R5OiBPWydib2R5J107XG4gICAgICAgIHNjaGVtYTogT1snc2NoZW1hJ107XG4gICAgICB9PlxuICAgIDogTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgICAgIGJvZHk6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICAgIH0+O1xuICAvKiogVXBkYXRlIGFuIGl0ZW0gKFBBVENIKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcmVzdGhvb2tzLmlvL3Jlc3QvYXBpL2NyZWF0ZVJlc291cmNlI3BhcnRpYWx1cGRhdGVcbiAgICovXG4gIHBhcnRpYWxVcGRhdGU6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgICA/IE11dGF0ZUVuZHBvaW50PHtcbiAgICAgICAgcGF0aDogT1sncGF0aCddO1xuICAgICAgICBib2R5OiBQYXJ0aWFsPE9bJ2JvZHknXT47XG4gICAgICAgIHNjaGVtYTogT1snc2NoZW1hJ107XG4gICAgICB9PlxuICAgIDogTXV0YXRlRW5kcG9pbnQ8e1xuICAgICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgICAgIGJvZHk6IFBhcnRpYWw8RGVub3JtYWxpemU8T1snc2NoZW1hJ10+PjtcbiAgICAgICAgc2NoZW1hOiBPWydzY2hlbWEnXTtcbiAgICAgIH0+O1xuICAvKiogRGVsZXRlIGFuIGl0ZW0gKERFTEVURSlcbiAgICpcbiAgICogQHNlZSBodHRwczovL3Jlc3Rob29rcy5pby9yZXN0L2FwaS9jcmVhdGVSZXNvdXJjZSNkZWxldGVcbiAgICovXG4gIGRlbGV0ZTogUmVzdFR5cGVOb0JvZHk8XG4gICAgUGF0aEFyZ3M8T1sncGF0aCddPixcbiAgICBPWydzY2hlbWEnXSBleHRlbmRzIHNjaGVtYS5FbnRpdHlJbnRlcmZhY2UgJiB7IHByb2Nlc3M6IGFueSB9XG4gICAgICA/IHNjaGVtYS5JbnZhbGlkYXRlPE9bJ3NjaGVtYSddPlxuICAgICAgOiBPWydzY2hlbWEnXSxcbiAgICB1bmRlZmluZWQsXG4gICAgUGFydGlhbDxQYXRoQXJnczxPWydwYXRoJ10+PixcbiAgICB7XG4gICAgICBwYXRoOiBPWydwYXRoJ107XG4gICAgfVxuICA+O1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQ0VBLGVBQWUsRUFFZkMsTUFBTSxRQUNELHVCQUF1QjtBQUs5QixPQUFPQyxZQUFZLE1BSVosbUJBQW1CO0FBQzFCLFNBQVNDLFdBQVcsUUFBUSxrQkFBa0I7QUFFOUMsTUFBTTtFQUFFQyxVQUFVO0VBQUVDO0FBQVcsQ0FBQyxHQUFHSixNQUFNOztBQUV6QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBU0ssY0FBY0EsQ0FBQUMsSUFBQSxFQU1TO0VBQUEsSUFOb0I7TUFDakVDLElBQUk7TUFDSlAsTUFBTTtNQUNOUSxRQUFRLEdBQUdQLFlBQVk7TUFDdkJRO0lBRTZCLENBQUMsR0FBQUgsSUFBQTtJQUQzQkksWUFBWSxHQUFBQyw2QkFBQSxDQUFBTCxJQUFBLEVBQUFNLFNBQUE7RUFFZixNQUFNQyxhQUFhLEdBQUdYLFdBQVcsQ0FBQ0ssSUFBSSxDQUFDO0VBQ3ZDLE1BQU1PLE9BQU8sR0FBSUMsSUFBWSxJQUFNLEdBQUdmLE1BQU0sb0JBQU5BLE1BQU0sQ0FBVWUsSUFBSyxJQUFHQSxJQUFLLEVBQUM7RUFDcEUsTUFBTUMsa0JBQWtCLEdBQUFDLE1BQUEsQ0FBQUMsTUFBQSxLQUFRUixZQUFZLENBQUU7RUFDOUMsTUFBTVMsbUJBQW1CLEdBQUFGLE1BQUEsQ0FBQUMsTUFBQSxLQUFRUixZQUFZLENBQUU7RUFDL0MsTUFBTVUsR0FBMEQsR0FDOUQsSUFBSVosUUFBUSxDQUFBUyxNQUFBLENBQUFDLE1BQUEsS0FDUFIsWUFBWTtJQUNmSCxJQUFJO0lBQ0pQLE1BQU07SUFDTmUsSUFBSSxFQUFFRCxPQUFPLENBQUMsS0FBSztFQUFDLEVBQ3JCLENBQVE7RUFDWCxJQUFJTCxVQUFVLEVBQUU7SUFDYk8sa0JBQWtCLENBQVNLLHFCQUFxQixHQUFHQyxnQkFBZ0I7SUFDbkVILG1CQUFtQixD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
package/legacy/index.js CHANGED
@@ -7,4 +7,5 @@ export { default as hookifyResource } from './hookifyResource.js';
7
7
  export { default as NetworkError } from './NetworkError.js';
8
8
  export { default as paginationUpdate } from './paginationUpdate.js';
9
9
  export * from '@data-client/endpoint';
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlZmF1bHQiLCJSZXN0RW5kcG9pbnQiLCJjcmVhdGVSZXNvdXJjZSIsImhvb2tpZnlSZXNvdXJjZSIsIk5ldHdvcmtFcnJvciIsInBhZ2luYXRpb25VcGRhdGUiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0Lmhhc093biA9XG4gIE9iamVjdC5oYXNPd24gfHxcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gZnVuY3Rpb24gaGFzT3duKGl0LCBrZXkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xuICB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN0RW5kcG9pbnQgfSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgTmV3R2V0RW5kcG9pbnQsXG4gIE5ld011dGF0ZUVuZHBvaW50LFxuICBEZWZhdWx0cyxcbiAgUmVzdEdlbmVyaWNzLFxuICBGZXRjaEdldCxcbiAgRmV0Y2hNdXRhdGUsXG4gIFJlc3RGZXRjaCxcbiAgUmVzdFR5cGUsXG4gIFJlc3RJbnN0YW5jZSxcbiAgS2V5b2ZSZXN0RW5kcG9pbnQsXG4gIFJlc3RFbmRwb2ludENvbnN0cnVjdG9yT3B0aW9ucyxcbiAgQWRkRW5kcG9pbnQsXG4gIFBhZ2luYXRpb25GaWVsZEVuZHBvaW50LFxufSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNyZWF0ZVJlc291cmNlIH0gZnJvbSAnLi9jcmVhdGVSZXNvdXJjZS5qcyc7XG5leHBvcnQgdHlwZSB7IFJlc291cmNlIH0gZnJvbSAnLi9jcmVhdGVSZXNvdXJjZS5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGhvb2tpZnlSZXNvdXJjZSB9IGZyb20gJy4vaG9va2lmeVJlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgSG9va1Jlc291cmNlLFxuICBIb29rYWJsZUVuZHBvaW50SW50ZXJmYWNlLFxufSBmcm9tICcuL2hvb2tpZnlSZXNvdXJjZS5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5ldHdvcmtFcnJvciB9IGZyb20gJy4vTmV0d29ya0Vycm9yLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcGFnaW5hdGlvblVwZGF0ZSB9IGZyb20gJy4vcGFnaW5hdGlvblVwZGF0ZS5qcyc7XG5leHBvcnQgdHlwZSB7IE9wdGlvbnNUb0Z1bmN0aW9uIH0gZnJvbSAnLi9PcHRpb25zVG9GdW5jdGlvbi5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIFNob3J0ZW5QYXRoLFxuICBQYXRoQXJncyxcbiAgUGF0aEtleXMsXG4gIEtleXNUb0FyZ3MsXG4gIFBhdGhBcmdzQW5kU2VhcmNoLFxufSBmcm9tICcuL3BhdGhUeXBlcy5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG4iXSwibWFwcGluZ3MiOiJBQUFBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUNILFNBQVNJLE9BQU8sSUFBSUMsWUFBWSxRQUFRLG1CQUFtQjtBQWtCM0QsU0FBU0QsT0FBTyxJQUFJRSxjQUFjLFFBQVEscUJBQXFCO0FBRS9ELFNBQVNGLE9BQU8sSUFBSUcsZUFBZSxRQUFRLHNCQUFzQjtBQUtqRSxTQUFTSCxPQUFPLElBQUlJLFlBQVksUUFBUSxtQkFBbUI7QUFDM0QsU0FBU0osT0FBTyxJQUFJSyxnQkFBZ0IsUUFBUSx1QkFBdUI7QUFVbkUsY0FBYyx1QkFBdUIifQ==
10
+ export * from './RestEndpoint.js';
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlZmF1bHQiLCJSZXN0RW5kcG9pbnQiLCJjcmVhdGVSZXNvdXJjZSIsImhvb2tpZnlSZXNvdXJjZSIsIk5ldHdvcmtFcnJvciIsInBhZ2luYXRpb25VcGRhdGUiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0Lmhhc093biA9XG4gIE9iamVjdC5oYXNPd24gfHxcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gZnVuY3Rpb24gaGFzT3duKGl0LCBrZXkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xuICB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN0RW5kcG9pbnQgfSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEdldEVuZHBvaW50LFxuICBNdXRhdGVFbmRwb2ludCxcbiAgRGVmYXVsdHMsXG4gIFJlc3RHZW5lcmljcyxcbiAgRmV0Y2hHZXQsXG4gIEZldGNoTXV0YXRlLFxuICBSZXN0RmV0Y2gsXG4gIFJlc3RUeXBlLFxuICBSZXN0SW5zdGFuY2UsXG4gIEtleW9mUmVzdEVuZHBvaW50LFxuICBSZXN0RW5kcG9pbnRDb25zdHJ1Y3Rvck9wdGlvbnMsXG4gIEFkZEVuZHBvaW50LFxuICBQYWdpbmF0aW9uRmllbGRFbmRwb2ludCxcbn0gZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjcmVhdGVSZXNvdXJjZSB9IGZyb20gJy4vY3JlYXRlUmVzb3VyY2UuanMnO1xuZXhwb3J0IHR5cGUgeyBSZXNvdXJjZSB9IGZyb20gJy4vY3JlYXRlUmVzb3VyY2UuanMnO1xuZXhwb3J0IHR5cGUgeyBSZXNvdXJjZU9wdGlvbnMsIFJlc291cmNlR2VuZXJpY3MgfSBmcm9tICcuL3Jlc291cmNlVHlwZXMuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBob29raWZ5UmVzb3VyY2UgfSBmcm9tICcuL2hvb2tpZnlSZXNvdXJjZS5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIEhvb2tSZXNvdXJjZSxcbiAgSG9va2FibGVFbmRwb2ludEludGVyZmFjZSxcbn0gZnJvbSAnLi9ob29raWZ5UmVzb3VyY2UuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBOZXR3b3JrRXJyb3IgfSBmcm9tICcuL05ldHdvcmtFcnJvci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhZ2luYXRpb25VcGRhdGUgfSBmcm9tICcuL3BhZ2luYXRpb25VcGRhdGUuanMnO1xuZXhwb3J0IHR5cGUgeyBPcHRpb25zVG9GdW5jdGlvbiB9IGZyb20gJy4vT3B0aW9uc1RvRnVuY3Rpb24uanMnO1xuZXhwb3J0IHR5cGUge1xuICBTaG9ydGVuUGF0aCxcbiAgUGF0aEFyZ3MsXG4gIFBhdGhLZXlzLFxuICBLZXlzVG9BcmdzLFxuICBQYXRoQXJnc0FuZFNlYXJjaCxcbn0gZnJvbSAnLi9wYXRoVHlwZXMuanMnO1xuXG5leHBvcnQgKiBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQUEsTUFBTSxDQUFDQyxNQUFNLEdBQ1hELE1BQU0sQ0FBQ0MsTUFBTSxJQUNiLDBCQUEyQixTQUFTQSxNQUFNQSxDQUFDQyxFQUFFLEVBQUVDLEdBQUcsRUFBRTtFQUNsRCxPQUFPSCxNQUFNLENBQUNJLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNKLEVBQUUsRUFBRUMsR0FBRyxDQUFDO0FBQ3RELENBQUM7QUFDSCxTQUFTSSxPQUFPLElBQUlDLFlBQVksUUFBUSxtQkFBbUI7QUFnQjNELFNBQVNELE9BQU8sSUFBSUUsY0FBYyxRQUFRLHFCQUFxQjtBQUcvRCxTQUFTRixPQUFPLElBQUlHLGVBQWUsUUFBUSxzQkFBc0I7QUFLakUsU0FBU0gsT0FBTyxJQUFJSSxZQUFZLFFBQVEsbUJBQW1CO0FBQzNELFNBQVNKLE9BQU8sSUFBSUssZ0JBQWdCLFFBQVEsdUJBQXVCO0FBVW5FLGNBQWMsdUJBQXVCO0FBQ3JDLGNBQWMsbUJBQW1CIn0=
@@ -1,4 +1,4 @@
1
- export * from './RestEndpoint.js';
2
- export { default as RestEndpoint } from './RestEndpoint.js';
3
- export { default as createResource } from './createResource.js';
4
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwiUmVzdEVuZHBvaW50IiwiY3JlYXRlUmVzb3VyY2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV4dC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFJlc3RFbmRwb2ludCB9IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY3JlYXRlUmVzb3VyY2UgfSBmcm9tICcuL2NyZWF0ZVJlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHsgUmVzb3VyY2UgfSBmcm9tICcuL2NyZWF0ZVJlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHsgUmVzb3VyY2VPcHRpb25zLCBSZXNvdXJjZUdlbmVyaWNzIH0gZnJvbSAnLi9yZXNvdXJjZVR5cGVzLmpzJztcbiJdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUI7QUFDakMsU0FBU0EsT0FBTyxJQUFJQyxZQUFZLFFBQVEsbUJBQW1CO0FBQzNELFNBQVNELE9BQU8sSUFBSUUsY0FBYyxRQUFRLHFCQUFxQiJ9
1
+ export * from '../RestEndpoint.js';
2
+ export { default as RestEndpoint } from '../RestEndpoint.js';
3
+ export { default as createResource } from '../createResource.js';
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0IiwiUmVzdEVuZHBvaW50IiwiY3JlYXRlUmVzb3VyY2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV4dC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuLi9SZXN0RW5kcG9pbnQuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN0RW5kcG9pbnQgfSBmcm9tICcuLi9SZXN0RW5kcG9pbnQuanMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBjcmVhdGVSZXNvdXJjZSB9IGZyb20gJy4uL2NyZWF0ZVJlc291cmNlLmpzJztcbmV4cG9ydCB0eXBlIHsgUmVzb3VyY2UgfSBmcm9tICcuLi9jcmVhdGVSZXNvdXJjZS5qcyc7XG5leHBvcnQgdHlwZSB7IFJlc291cmNlT3B0aW9ucywgUmVzb3VyY2VHZW5lcmljcyB9IGZyb20gJy4uL3Jlc291cmNlVHlwZXMuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQjtBQUNsQyxTQUFTQSxPQUFPLElBQUlDLFlBQVksUUFBUSxvQkFBb0I7QUFDNUQsU0FBU0QsT0FBTyxJQUFJRSxjQUFjLFFBQVEsc0JBQXNCIn0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3Jlc291cmNlVHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgUmVzdEVuZHBvaW50IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZUdlbmVyaWNzIHtcbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICByZWFkb25seSBzY2hlbWE6IFNjaGVtYTtcbiAgLyoqIE9ubHkgdXNlZCBmb3IgdHlwZXMgKi9cbiAgcmVhZG9ubHkgYm9keT86IGFueTtcbiAgLyoqIE9ubHkgdXNlZCBmb3IgdHlwZXMgKi9cbiAgcmVhZG9ubHkgc2VhcmNoUGFyYW1zPzogYW55O1xufVxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZU9wdGlvbnMge1xuICBFbmRwb2ludD86IHR5cGVvZiBSZXN0RW5kcG9pbnQ7XG4gIHVybFByZWZpeD86IHN0cmluZztcbiAgcmVxdWVzdEluaXQ/OiBSZXF1ZXN0SW5pdDtcbiAgZ2V0SGVhZGVycz8oaGVhZGVyczogSGVhZGVyc0luaXQpOiBQcm9taXNlPEhlYWRlcnNJbml0PiB8IEhlYWRlcnNJbml0O1xuICBnZXRSZXF1ZXN0SW5pdD8oYm9keTogYW55KTogUHJvbWlzZTxSZXF1ZXN0SW5pdD4gfCBSZXF1ZXN0SW5pdDtcbiAgZmV0Y2hSZXNwb25zZT8oaW5wdXQ6IFJlcXVlc3RJbmZvLCBpbml0OiBSZXF1ZXN0SW5pdCk6IFByb21pc2U8YW55PjtcbiAgcGFyc2VSZXNwb25zZT8ocmVzcG9uc2U6IFJlc3BvbnNlKTogUHJvbWlzZTxhbnk+O1xuICAvKiogRGVmYXVsdCBkYXRhIGV4cGlyeSBsZW5ndGgsIHdpbGwgZmFsbCBiYWNrIHRvIE5ldHdvcmtNYW5hZ2VyIGRlZmF1bHQgaWYgbm90IGRlZmluZWQgKi9cbiAgcmVhZG9ubHkgZGF0YUV4cGlyeUxlbmd0aD86IG51bWJlcjtcbiAgLyoqIERlZmF1bHQgZXJyb3IgZXhwaXJ5IGxlbmd0aCwgd2lsbCBmYWxsIGJhY2sgdG8gTmV0d29ya01hbmFnZXIgZGVmYXVsdCBpZiBub3QgZGVmaW5lZCAqL1xuICByZWFkb25seSBlcnJvckV4cGlyeUxlbmd0aD86IG51bWJlcjtcbiAgLyoqIFBvbGwgd2l0aCBhdCBsZWFzdCB0aGlzIGZyZXF1ZW5jeSBpbiBtaWxpc2Vjb25kcyAqL1xuICByZWFkb25seSBwb2xsRnJlcXVlbmN5PzogbnVtYmVyO1xuICAvKiogTWFya3MgY2FjaGVkIHJlc291cmNlcyBhcyBpbnZhbGlkIGlmIHRoZXkgYXJlIHN0YWxlICovXG4gIHJlYWRvbmx5IGludmFsaWRJZlN0YWxlPzogYm9vbGVhbjtcbiAgLyoqIERldGVybWluZXMgd2hldGhlciB0byB0aHJvdyBvciBmYWxsYmFjayB0byAqL1xuICBlcnJvclBvbGljeT8oZXJyb3I6IGFueSk6ICdoYXJkJyB8ICdzb2Z0JyB8IHVuZGVmaW5lZDtcbiAgb3B0aW1pc3RpYz86IGJvb2xlYW47XG59XG4iXSwibWFwcGluZ3MiOiIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsToFunction.d.ts","sourceRoot":"","sources":["../src/OptionsToFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,mBAAmB,EAEnB,gBAAgB,EAChB,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS,gBAAgB,GAAG;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,EAC3C,CAAC,SAAS,aAAa,IACrB,MAAM,SAAS,MAAM,CAAC,GACtB,SAAS,CACP,cAAc,SAAS,MAAM,CAAC,GAC1B,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,GAC3D,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,EAC3C,MAAM,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAC9C,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CACpE,GACD,MAAM,SAAS,MAAM,CAAC,GACtB,SAAS,CACP,cAAc,SAAS,MAAM,CAAC,GAC1B,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,GAC3D,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,EAC3C,CAAC,CAAC,MAAM,CAAC,EACT,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CACpE,GACD,cAAc,SAAS,MAAM,CAAC,GAC9B,SAAS,CACP,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,EAC3D,CAAC,CAAC,MAAM,CAAC,EACT,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CACpE,GACD,CACE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KACnB,OAAO,CACV,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CACpE,CAAC"}
1
+ {"version":3,"file":"OptionsToFunction.d.ts","sourceRoot":"","sources":["../src/OptionsToFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,EACV,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS,gBAAgB,GAAG;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,EAC3C,CAAC,SAAS,aAAa,IACrB,MAAM,SAAS,MAAM,CAAC,GACtB,SAAS,CACP,cAAc,SAAS,MAAM,CAAC,GAC1B,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,GAC3D,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,EAC3C,MAAM,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAC9C,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CACpE,GACD,MAAM,SAAS,MAAM,CAAC,GACtB,SAAS,CACP,cAAc,SAAS,MAAM,CAAC,GAC1B,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,GAC3D,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,EAC3C,CAAC,CAAC,MAAM,CAAC,EACT,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CACpE,GACD,cAAc,SAAS,MAAM,CAAC,GAC9B,SAAS,CACP,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,EAC3D,CAAC,CAAC,MAAM,CAAC,EACT,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CACpE,GACD,CACE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KACnB,OAAO,CACV,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CACpE,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL09wdGlvbnNUb0Z1bmN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmV0Y2hGdW5jdGlvbiwgUmVzb2x2ZVR5cGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgeyBQYXRoQXJncyB9IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcbmltcG9ydCB7XG4gIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIFJlc3RJbnN0YW5jZSxcbiAgUmVzdEluc3RhbmNlQmFzZSxcbiAgUmVzdEZldGNoLFxufSBmcm9tICcuL1Jlc3RFbmRwb2ludC5qcyc7XG5cbmV4cG9ydCB0eXBlIE9wdGlvbnNUb0Z1bmN0aW9uPFxuICBPIGV4dGVuZHMgUGFydGlhbFJlc3RHZW5lcmljcyxcbiAgRSBleHRlbmRzIFJlc3RJbnN0YW5jZUJhc2UgJiB7IGJvZHk/OiBhbnkgfSxcbiAgRiBleHRlbmRzIEZldGNoRnVuY3Rpb24sXG4+ID0gJ3BhdGgnIGV4dGVuZHMga2V5b2YgT1xuICA/IFJlc3RGZXRjaDxcbiAgICAgICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICA/IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgIDogUGF0aEFyZ3M8RXhjbHVkZTxPWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgICAgJ2JvZHknIGV4dGVuZHMga2V5b2YgTyA/IE9bJ2JvZHknXSA6IEVbJ2JvZHknXSxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+XG4gIDogJ2JvZHknIGV4dGVuZHMga2V5b2YgT1xuICA/IFJlc3RGZXRjaDxcbiAgICAgICdzZWFyY2hQYXJhbXMnIGV4dGVuZHMga2V5b2YgT1xuICAgICAgICA/IE9bJ3NlYXJjaFBhcmFtcyddICYgUGF0aEFyZ3M8RXhjbHVkZTxFWydwYXRoJ10sIHVuZGVmaW5lZD4+XG4gICAgICAgIDogUGF0aEFyZ3M8RXhjbHVkZTxFWydwYXRoJ10sIHVuZGVmaW5lZD4+LFxuICAgICAgT1snYm9keSddLFxuICAgICAgT1sncHJvY2VzcyddIGV4dGVuZHMge30gPyBSZXR1cm5UeXBlPE9bJ3Byb2Nlc3MnXT4gOiBSZXNvbHZlVHlwZTxGPlxuICAgID5cbiAgOiAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0RmV0Y2g8XG4gICAgICBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgIEVbJ2JvZHknXSxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+XG4gIDogKFxuICAgICAgdGhpczogVGhpc1BhcmFtZXRlclR5cGU8Rj4sXG4gICAgICAuLi5hcmdzOiBQYXJhbWV0ZXJzPEY+XG4gICAgKSA9PiBQcm9taXNlPFxuICAgICAgT1sncHJvY2VzcyddIGV4dGVuZHMge30gPyBSZXR1cm5UeXBlPE9bJ3Byb2Nlc3MnXT4gOiBSZXNvbHZlVHlwZTxGPlxuICAgID47XG4iXSwibWFwcGluZ3MiOiIifQ==
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL09wdGlvbnNUb0Z1bmN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmV0Y2hGdW5jdGlvbiwgUmVzb2x2ZVR5cGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQgeyBQYXRoQXJncyB9IGZyb20gJy4vcGF0aFR5cGVzLmpzJztcbmltcG9ydCB7XG4gIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG4gIFJlc3RGZXRjaCxcbn0gZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuXG5leHBvcnQgdHlwZSBPcHRpb25zVG9GdW5jdGlvbjxcbiAgTyBleHRlbmRzIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIEUgZXh0ZW5kcyBSZXN0SW5zdGFuY2VCYXNlICYgeyBib2R5PzogYW55IH0sXG4gIEYgZXh0ZW5kcyBGZXRjaEZ1bmN0aW9uLFxuPiA9ICdwYXRoJyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0RmV0Y2g8XG4gICAgICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8T1sncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IFBhdGhBcmdzPEV4Y2x1ZGU8T1sncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgICdib2R5JyBleHRlbmRzIGtleW9mIE8gPyBPWydib2R5J10gOiBFWydib2R5J10sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6ICdib2R5JyBleHRlbmRzIGtleW9mIE9cbiAgPyBSZXN0RmV0Y2g8XG4gICAgICAnc2VhcmNoUGFyYW1zJyBleHRlbmRzIGtleW9mIE9cbiAgICAgICAgPyBPWydzZWFyY2hQYXJhbXMnXSAmIFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PlxuICAgICAgICA6IFBhdGhBcmdzPEV4Y2x1ZGU8RVsncGF0aCddLCB1bmRlZmluZWQ+PixcbiAgICAgIE9bJ2JvZHknXSxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+XG4gIDogJ3NlYXJjaFBhcmFtcycgZXh0ZW5kcyBrZXlvZiBPXG4gID8gUmVzdEZldGNoPFxuICAgICAgT1snc2VhcmNoUGFyYW1zJ10gJiBQYXRoQXJnczxFeGNsdWRlPEVbJ3BhdGgnXSwgdW5kZWZpbmVkPj4sXG4gICAgICBFWydib2R5J10sXG4gICAgICBPWydwcm9jZXNzJ10gZXh0ZW5kcyB7fSA/IFJldHVyblR5cGU8T1sncHJvY2VzcyddPiA6IFJlc29sdmVUeXBlPEY+XG4gICAgPlxuICA6IChcbiAgICAgIHRoaXM6IFRoaXNQYXJhbWV0ZXJUeXBlPEY+LFxuICAgICAgLi4uYXJnczogUGFyYW1ldGVyczxGPlxuICAgICkgPT4gUHJvbWlzZTxcbiAgICAgIE9bJ3Byb2Nlc3MnXSBleHRlbmRzIHt9ID8gUmV0dXJuVHlwZTxPWydwcm9jZXNzJ10+IDogUmVzb2x2ZVR5cGU8Rj5cbiAgICA+O1xuIl0sIm1hcHBpbmdzIjoiIn0=
@@ -47,9 +47,9 @@ export interface RestInstanceBase<
47
47
  getRequestInit(
48
48
  this: any,
49
49
  body?: RequestInit['body'] | Record<string, unknown>,
50
- ): RequestInit;
50
+ ): Promise<RequestInit> | RequestInit;
51
51
  /** @see https://resthooks.io/rest/api/RestEndpoint#getHeaders */
52
- getHeaders(headers: HeadersInit): HeadersInit;
52
+ getHeaders(headers: HeadersInit): Promise<HeadersInit> | HeadersInit;
53
53
  /* after-fetch */
54
54
  /** @see https://resthooks.io/rest/api/RestEndpoint#fetchResponse */
55
55
  fetchResponse(input: RequestInfo, init: RequestInit): Promise<Response>;
@@ -102,15 +102,6 @@ export interface RestInstance<
102
102
  assign: AddEndpoint<F, S, O>;
103
103
  }
104
104
 
105
- export type ContainsCollectionArray =
106
- | { push: any; unshift: any }
107
- | { [K: string]: ContainsCollectionArray }
108
- | { schema: { [K: string]: ContainsCollectionArray } };
109
- export type ContainsCollectionValues =
110
- | { assign: any }
111
- | { [K: string]: ContainsCollectionValues }
112
- | { schema: { [K: string]: ContainsCollectionValues } };
113
-
114
105
  export type RestEndpointExtendOptions<
115
106
  O extends PartialRestGenerics,
116
107
  E extends RestInstanceBase,
@@ -496,51 +487,54 @@ export type FetchGet<A extends readonly any[] = [any], R = any> = (
496
487
  ...args: A
497
488
  ) => Promise<R>;
498
489
 
499
- export type GetEndpoint<
500
- UrlParams = any,
501
- S extends Schema | undefined = Schema | undefined,
502
- > = RestTypeNoBody<UrlParams, S, undefined>;
503
-
504
- export type MutateEndpoint<
505
- UrlParams = any,
506
- Body extends BodyInit | Record<string, any> = any,
507
- S extends Schema | undefined = Schema | undefined,
508
- > = RestTypeWithBody<UrlParams, S, true, Body>;
509
-
510
490
  export type Defaults<O, D> = {
511
491
  [K in keyof O | keyof D]: K extends keyof O
512
492
  ? Exclude<O[K], undefined>
513
493
  : D[Extract<K, keyof D>];
514
494
  };
515
495
 
516
- export type NewGetEndpoint<
496
+ export type GetEndpoint<
517
497
  O extends {
498
+ readonly path: string;
499
+ readonly schema: Schema;
500
+ /** Only used for types */
501
+ readonly searchParams?: any;
502
+ } = {
518
503
  path: string;
519
- searchParams?: any;
520
- } = { path: string },
521
- S extends Schema | undefined = Schema | undefined,
504
+ schema: Schema;
505
+ },
522
506
  > = RestTypeNoBody<
523
507
  'searchParams' extends keyof O
524
- ? O['searchParams'] & PathArgs<O['path']>
508
+ ? O['searchParams'] extends undefined
509
+ ? PathArgs<O['path']>
510
+ : O['searchParams'] & PathArgs<O['path']>
525
511
  : PathArgs<O['path']>,
526
- S,
512
+ O['schema'],
527
513
  undefined,
528
514
  any,
529
515
  O & { body: undefined }
530
516
  >;
531
517
 
532
- export type NewMutateEndpoint<
518
+ export type MutateEndpoint<
533
519
  O extends {
520
+ readonly path: string;
521
+ readonly schema: Schema;
522
+ /** Only used for types */
523
+ readonly searchParams?: any;
524
+ /** Only used for types */
525
+ readonly body?: any;
526
+ } = {
534
527
  path: string;
535
- body?: any;
536
- searchParams?: any;
537
- } = { path: string; body: any },
538
- S extends Schema | undefined = Schema | undefined,
528
+ body: any;
529
+ schema: Schema;
530
+ },
539
531
  > = RestTypeWithBody<
540
532
  'searchParams' extends keyof O
541
- ? O['searchParams'] & PathArgs<O['path']>
533
+ ? O['searchParams'] extends undefined
534
+ ? PathArgs<O['path']>
535
+ : O['searchParams'] & PathArgs<O['path']>
542
536
  : PathArgs<O['path']>,
543
- S,
537
+ O['schema'],
544
538
  true,
545
539
  O['body'],
546
540
  any,