@data-client/rest 0.14.20 → 0.14.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.umd.min.js +1 -1
- package/legacy/RestEndpoint.js +10 -12
- package/legacy/extractCollection.js +1 -1
- package/legacy/mapCollection.js +1 -1
- package/legacy/paramsToString.js +2 -3
- package/legacy/paramsToString.native.js +2 -3
- package/legacy/resource.js +2 -2
- package/lib/RestEndpoint.js +2 -2
- package/package.json +3 -4
package/dist/index.umd.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Rest={})}(this,(function(t){"use strict";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},e.apply(null,arguments)}function n(t,e){if(!{}.hasOwnProperty.call(t,e))throw new TypeError("attempted to use private field on non-instance");return t}var r=0;function i(t){return"__private_"+r+++"_"+t}function o(t){return!("function"!=typeof t.hasOwnProperty||!(Object.hasOwnProperty.call(t,"__ownerID")||t._map&&Object.hasOwnProperty.call(t._map,"__ownerID")))}class s{constructor(t,e){this.schema=void 0,e&&(this._schemaAttribute="string"==typeof e?t=>t[e]:e),this.define(t)}get isSingleSchema(){return!this._schemaAttribute}define(t){"_schemaAttribute"in t&&!this._schemaAttribute?(this.schema=t.schema,this._schemaAttribute=t._schemaAttribute):this.schema=t}getSchemaAttribute(t,e,n){return!this.isSingleSchema&&this._schemaAttribute(t,e,n)}inferSchema(t,e,n){if(this.isSingleSchema)return this.schema;const r=this.getSchemaAttribute(t,e,n);return this.schema[r]}schemaKey(){return this.isSingleSchema?this.schema.key:Object.values(this.schema).join(";")}normalizeValue(t,e,n,r,i){if(!t)return t;const o=this.inferSchema(t,e,n);if(!o)return t;const s=i(o,t,e,n,r);return this.isSingleSchema||null==s?s:{id:s,schema:this.getSchemaAttribute(t,e,n)}}denormalizeValue(t,e){const n=!this.isSingleSchema&&t&&(o(t)?t.get("schema"):t.schema);if(!this.isSingleSchema&&!n){if("object"==typeof t&&null!==t){const n=this.inferSchema(t,void 0,void 0);if(n)return e(n,t)}return t}const r=this.isSingleSchema?void 0:o(t)?t.get("id"):t.id;return e(this.isSingleSchema?this.schema:this.schema[n],r||t)}}class c extends s{normalize(t,n,r,i,o,s,c,u){return Object.keys(t).reduce(((n,r,s)=>{const c=t[r];return null!=c?e({},n,{[r]:this.normalizeValue(c,t,r,i,o)}):n}),{})}denormalize(t,n,r){return Object.keys(t).reduce(((n,i)=>{const o=t[i],s=this.denormalizeValue(o,r);return s&&"symbol"!=typeof s?e({},n,{[i]:s}):n}),{})}queryKey(t,e,n,r){}}const u=t=>void 0!==t&&"symbol"!=typeof t;class a extends s{normalize(t,e,n,r,i,o,s,c){const u=(t=>Array.isArray(t)?t:Object.keys(t).map((e=>t[e])))(t);return u.map(((t,o)=>this.normalizeValue(t,e,n,r,i)))}denormalize(t,e,n){return t.map?t.map((t=>this.denormalizeValue(t,n))).filter(u):t}queryKey(t,e,n,r){}toJSON(){return[this.schema]}}const f=Symbol("INVALID");function h(t,n,r,i){if(o(n))return function(t,e,n){let r;const i=Object.keys(t).reduce(((e,i)=>{const o=`${i}`,s=n(t[o],e.get(o));return"symbol"==typeof s&&(r=s),e.has(o)?e.set(o,s):e}),e);return null!=r?r:i}(t,n,i);const s=e({},n);for(const e of Object.keys(t)){const n=i(t[e],s[e]);if(void 0!==s[e]&&(s[e]=n),"symbol"==typeof n)return n}return s}class l{constructor(t){this.schema=void 0,this.define(t)}define(t){this.schema=Object.keys(t).reduce(((n,r)=>{const i=t[r];return e({},n,{[r]:i})}),this.schema||{})}normalize(...t){return((t,n,r,i,o,s)=>{const c=e({},n);return Object.keys(t).forEach((e=>{const r=t[e],i=s(r,n[e],n,e,o);void 0===i?delete c[e]:c[e]=i})),c})(this.schema,...t)}denormalize(t,e,n){return h(this.schema,t,0,n)}queryKey(t,e,n,r){return function(t,e,n,r,i){const o={};return Object.keys(t).forEach((s=>{o[s]=n(t[s],e,r,i)})),o}(this.schema,t,e,n,r)}}const p=(t,e)=>[...t,...e],d=(t,e)=>[...e,...t],m=(t,n)=>e({},t,n),y=t=>[...t],v=t=>e({},t);class g{addWith(t,e){return b(this,t,e)}createCollectionFilter(...t){return e=>Object.entries(e).every((([e,n])=>{var r;return this.nonFilterArgumentKeys(e)||`${t[0][e]}`===n||`${null==(r=t[1])?void 0:r[e]}`===n}))}nonFilterArgumentKeys(t){return t.startsWith("order")}constructor(t,n){if(this.schema=Array.isArray(t)?new a(t[0]):t,n?"nestKey"in n?this.nestKey=n.nestKey:this.argsKey="argsKey"in n?n.argsKey:t=>e({},t):this.argsKey=t=>e({},t),this.key=function(t){if(t instanceof a)return`[${t.schemaKey()}]`;if(t instanceof c)return`{${t.schemaKey()}}`;return`(${t.schemaKey()})`}(this.schema),null!=n&&n.nonFilterArgumentKeys){const{nonFilterArgumentKeys:t}=n;"function"==typeof t?this.nonFilterArgumentKeys=t:t instanceof RegExp?this.nonFilterArgumentKeys=e=>t.test(e):this.nonFilterArgumentKeys=e=>t.includes(e)}else null!=n&&n.createCollectionFilter&&(this.createCollectionFilter=n.createCollectionFilter.bind(this));this.schema instanceof a?(this.createIfValid=y,this.push=b(this,p),this.unshift=b(this,d)):t instanceof c&&(this.createIfValid=v,this.assign=b(this,m))}get cacheWith(){return this.schema.schema}toString(){return this.key}toJSON(){return{key:this.key,schema:this.schema.schema.toJSON()}}pk(t,e,n,r){const i=this.argsKey?this.argsKey(...r):this.nestKey(e,n);for(const t in i)["number","boolean"].includes(typeof i[t])&&(i[t]=`${i[t]}`);return function(t){const e=Object.keys(t).sort(),n={};for(const r of e)n[r]=t[r];return JSON.stringify(n)}(i)}normalize(t,e,n,r,i,o,s,c){const u=this.schema.normalize(t,e,n,r,i,o,s,c),a=this.pk(u,e,n,r);return o(this,u,a),a}merge(t,e){return e}shouldReorder(t,e,n,r){return e.fetchedAt<t.fetchedAt}mergeWithStore(t,e,n,r){return this.shouldReorder(t,e,n,r)?this.merge(r,n):this.merge(n,r)}mergeMetaWithStore(t,e,n,r){return this.shouldReorder(t,e,n,r)?t:e}queryKey(t,e,n,r){if(this.argsKey){const e=this.pk(void 0,void 0,"",t);if(n(this.key,e))return e}}denormalize(t,e,n){return this.schema.denormalize(t,e,n)}}function b(t,e,n){const r={merge:{value:e},normalize:{value:O},queryKey:{value:w}};return t.schema instanceof a&&(r.createIfValid={value:E},r.denormalize={value:S}),n&&(r.createCollectionFilter={value:n}),Object.create(t,r)}function w(){}function O(t,e,n,r,i,o,s,c){const u=this.schema.normalize(this.schema instanceof a&&!Array.isArray(t)?[t]:t,e,n,r,i,o,s,c),f=this.createCollectionFilter(...r),h=s(this.key);return h&&Object.keys(h).forEach((t=>{f(JSON.parse(t))&&o(this,u,t)})),u}function E(t){return Array.isArray(t)?[...t]:e({},t)}function S(t,e,n){return Array.isArray(t)?this.schema.denormalize(t,e,n):this.schema.denormalize([t],e,n)[0]}function j(t,e){if(null==t)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.includes(r))continue;n[r]=t[r]}return n}var x="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function k(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var A,P,_,T,C,R,z,N,K,$,F,I,M,L,D,q;function U(){if(P)return A;P=1;var t=function(t){return t&&t.Math===Math&&t};return A=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof x&&x)||t("object"==typeof A&&A)||function(){return this}()||Function("return this")()}function V(){return T?_:(T=1,_=function(t){try{return!!t()}catch(t){return!0}})}function W(){return R?C:(R=1,C=!V()((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})))}function G(){if(N)return z;N=1;var t=W(),e=Function.prototype,n=e.apply,r=e.call;return z="object"==typeof Reflect&&Reflect.apply||(t?r.bind(n):function(){return r.apply(n,arguments)}),z}function J(){if($)return K;$=1;var t=W(),e=Function.prototype,n=e.call,r=t&&e.bind.bind(n,n);return K=t?r:function(t){return function(){return n.apply(t,arguments)}},K}function H(){if(I)return F;I=1;var t=J(),e=t({}.toString),n=t("".slice);return F=function(t){return n(e(t),8,-1)}}function B(){if(L)return M;L=1;var t=H(),e=J();return M=function(n){if("Function"===t(n))return e(n)}}function Q(){if(q)return D;q=1;var t="object"==typeof document&&document.all;return D=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(t){return"function"==typeof t}}var Y,X,Z,tt,et={};function nt(){return X?Y:(X=1,Y=!V()((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})))}function rt(){if(tt)return Z;tt=1;var t=W(),e=Function.prototype.call;return Z=t?e.bind(e):function(){return e.apply(e,arguments)},Z}var it,ot,st,ct,ut,at,ft,ht,lt,pt,dt,mt,yt,vt,gt,bt,wt,Ot,Et,St,jt,xt,kt,At,Pt,_t,Tt,Ct,Rt,zt,Nt,Kt,$t,Ft,It,Mt,Lt,Dt={};function qt(){if(it)return Dt;it=1;var t={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,n=e&&!t.call({1:2},1);return Dt.f=n?function(t){var n=e(this,t);return!!n&&n.enumerable}:t,Dt}function Ut(){return st?ot:(st=1,ot=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}})}function Vt(){if(ut)return ct;ut=1;var t=J(),e=V(),n=H(),r=Object,i=t("".split);return ct=e((function(){return!r("z").propertyIsEnumerable(0)}))?function(t){return"String"===n(t)?i(t,""):r(t)}:r}function Wt(){return ft?at:(ft=1,at=function(t){return null==t})}function Gt(){if(lt)return ht;lt=1;var t=Wt(),e=TypeError;return ht=function(n){if(t(n))throw new e("Can't call method on "+n);return n}}function Jt(){if(dt)return pt;dt=1;var t=Vt(),e=Gt();return pt=function(n){return t(e(n))}}function Ht(){if(yt)return mt;yt=1;var t=Q();return mt=function(e){return"object"==typeof e?null!==e:t(e)}}function Bt(){return gt?vt:(gt=1,vt={})}function Qt(){if(wt)return bt;wt=1;var t=Bt(),e=U(),n=Q(),r=function(t){return n(t)?t:void 0};return bt=function(n,i){return arguments.length<2?r(t[n])||r(e[n]):t[n]&&t[n][i]||e[n]&&e[n][i]},bt}function Yt(){return Et?Ot:(Et=1,Ot=J()({}.isPrototypeOf))}function Xt(){if(jt)return St;jt=1;var t=U().navigator,e=t&&t.userAgent;return St=e?String(e):""}function Zt(){if(kt)return xt;kt=1;var t,e,n=U(),r=Xt(),i=n.process,o=n.Deno,s=i&&i.versions||o&&o.version,c=s&&s.v8;return c&&(e=(t=c.split("."))[0]>0&&t[0]<4?1:+(t[0]+t[1])),!e&&r&&(!(t=r.match(/Edge\/(\d+)/))||t[1]>=74)&&(t=r.match(/Chrome\/(\d+)/))&&(e=+t[1]),xt=e}function te(){if(Pt)return At;Pt=1;var t=Zt(),e=V(),n=U().String;return At=!!Object.getOwnPropertySymbols&&!e((function(){var e=Symbol("symbol detection");return!n(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&t&&t<41}))}function ee(){return Tt?_t:(Tt=1,_t=te()&&!Symbol.sham&&"symbol"==typeof Symbol.iterator)}function ne(){if(Rt)return Ct;Rt=1;var t=Qt(),e=Q(),n=Yt(),r=Object;return Ct=ee()?function(t){return"symbol"==typeof t}:function(i){var o=t("Symbol");return e(o)&&n(o.prototype,r(i))}}function re(){if(Nt)return zt;Nt=1;var t=String;return zt=function(e){try{return t(e)}catch(t){return"Object"}}}function ie(){if($t)return Kt;$t=1;var t=Q(),e=re(),n=TypeError;return Kt=function(r){if(t(r))return r;throw new n(e(r)+" is not a function")}}function oe(){if(It)return Ft;It=1;var t=ie(),e=Wt();return Ft=function(n,r){var i=n[r];return e(i)?void 0:t(i)}}function se(){if(Lt)return Mt;Lt=1;var t=rt(),e=Q(),n=Ht(),r=TypeError;return Mt=function(i,o){var s,c;if("string"===o&&e(s=i.toString)&&!n(c=t(s,i)))return c;if(e(s=i.valueOf)&&!n(c=t(s,i)))return c;if("string"!==o&&e(s=i.toString)&&!n(c=t(s,i)))return c;throw new r("Can't convert object to primitive value")}}var ce,ue,ae,fe,he,le,pe,de,me,ye,ve,ge,be,we,Oe,Ee,Se,je,xe,ke,Ae,Pe,_e,Te,Ce,Re,ze,Ne,Ke={exports:{}};function $e(){return ue?ce:(ue=1,ce=!0)}function Fe(){if(fe)return ae;fe=1;var t=U(),e=Object.defineProperty;return ae=function(n,r){try{e(t,n,{value:r,configurable:!0,writable:!0})}catch(e){t[n]=r}return r}}function Ie(){if(he)return Ke.exports;he=1;var t=$e(),e=U(),n=Fe(),r="__core-js_shared__",i=Ke.exports=e[r]||n(r,{});return(i.versions||(i.versions=[])).push({version:"3.40.0",mode:t?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",source:"https://github.com/zloirock/core-js"}),Ke.exports}function Me(){if(pe)return le;pe=1;var t=Ie();return le=function(e,n){return t[e]||(t[e]=n||{})}}function Le(){if(me)return de;me=1;var t=Gt(),e=Object;return de=function(n){return e(t(n))}}function De(){if(ve)return ye;ve=1;var t=J(),e=Le(),n=t({}.hasOwnProperty);return ye=Object.hasOwn||function(t,r){return n(e(t),r)}}function qe(){if(be)return ge;be=1;var t=J(),e=0,n=Math.random(),r=t(1..toString);return ge=function(t){return"Symbol("+(void 0===t?"":t)+")_"+r(++e+n,36)}}function Ue(){if(Oe)return we;Oe=1;var t=U(),e=Me(),n=De(),r=qe(),i=te(),o=ee(),s=t.Symbol,c=e("wks"),u=o?s.for||s:s&&s.withoutSetter||r;return we=function(t){return n(c,t)||(c[t]=i&&n(s,t)?s[t]:u("Symbol."+t)),c[t]}}function Ve(){if(Se)return Ee;Se=1;var t=rt(),e=Ht(),n=ne(),r=oe(),i=se(),o=TypeError,s=Ue()("toPrimitive");return Ee=function(c,u){if(!e(c)||n(c))return c;var a,f=r(c,s);if(f){if(void 0===u&&(u="default"),a=t(f,c,u),!e(a)||n(a))return a;throw new o("Can't convert object to primitive value")}return void 0===u&&(u="number"),i(c,u)}}function We(){if(xe)return je;xe=1;var t=Ve(),e=ne();return je=function(n){var r=t(n,"string");return e(r)?r:r+""}}function Ge(){if(Ae)return ke;Ae=1;var t=U(),e=Ht(),n=t.document,r=e(n)&&e(n.createElement);return ke=function(t){return r?n.createElement(t):{}}}function Je(){if(_e)return Pe;_e=1;var t=nt(),e=V(),n=Ge();return Pe=!t&&!e((function(){return 7!==Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a}))}function He(){if(Te)return et;Te=1;var t=nt(),e=rt(),n=qt(),r=Ut(),i=Jt(),o=We(),s=De(),c=Je(),u=Object.getOwnPropertyDescriptor;return et.f=t?u:function(t,a){if(t=i(t),a=o(a),c)try{return u(t,a)}catch(t){}if(s(t,a))return r(!e(n.f,t,a),t[a])},et}function Be(){if(Re)return Ce;Re=1;var t=V(),e=Q(),n=/#|\.prototype\./,r=function(n,r){var u=o[i(n)];return u===c||u!==s&&(e(r)?t(r):!!r)},i=r.normalize=function(t){return String(t).replace(n,".").toLowerCase()},o=r.data={},s=r.NATIVE="N",c=r.POLYFILL="P";return Ce=r}function Qe(){if(Ne)return ze;Ne=1;var t=B(),e=ie(),n=W(),r=t(t.bind);return ze=function(t,i){return e(t),void 0===i?t:n?r(t,i):function(){return t.apply(i,arguments)}},ze}var Ye,Xe,Ze,tn,en,nn,rn,on,sn,cn,un,an,fn,hn,ln={};function pn(){return Xe?Ye:(Xe=1,Ye=nt()&&V()((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})))}function dn(){if(tn)return Ze;tn=1;var t=Ht(),e=String,n=TypeError;return Ze=function(r){if(t(r))return r;throw new n(e(r)+" is not an object")}}function mn(){if(en)return ln;en=1;var t=nt(),e=Je(),n=pn(),r=dn(),i=We(),o=TypeError,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,u="enumerable",a="configurable",f="writable";return ln.f=t?n?function(t,e,n){if(r(t),e=i(e),r(n),"function"==typeof t&&"prototype"===e&&"value"in n&&f in n&&!n[f]){var o=c(t,e);o&&o[f]&&(t[e]=n.value,n={configurable:a in n?n[a]:o[a],enumerable:u in n?n[u]:o[u],writable:!1})}return s(t,e,n)}:s:function(t,n,c){if(r(t),n=i(n),r(c),e)try{return s(t,n,c)}catch(t){}if("get"in c||"set"in c)throw new o("Accessors not supported");return"value"in c&&(t[n]=c.value),t},ln}function yn(){if(rn)return nn;rn=1;var t=nt(),e=mn(),n=Ut();return nn=t?function(t,r,i){return e.f(t,r,n(1,i))}:function(t,e,n){return t[e]=n,t}}function vn(){if(sn)return on;sn=1;var t=U(),e=G(),n=B(),r=Q(),i=He().f,o=Be(),s=Bt(),c=Qe(),u=yn(),a=De(),f=function(t){var n=function n(r,i,o){if(this instanceof n){switch(arguments.length){case 0:return new t;case 1:return new t(r);case 2:return new t(r,i)}return new t(r,i,o)}return e(t,this,arguments)};return n.prototype=t.prototype,n};return on=function(e,h){var l,p,d,m,y,v,g,b,w,O=e.target,E=e.global,S=e.stat,j=e.proto,x=E?t:S?t[O]:t[O]&&t[O].prototype,k=E?s:s[O]||u(s,O,{})[O],A=k.prototype;for(m in h)p=!(l=o(E?m:O+(S?".":"#")+m,e.forced))&&x&&a(x,m),v=k[m],p&&(g=e.dontCallGetSet?(w=i(x,m))&&w.value:x[m]),y=p&&g?g:h[m],(l||j||typeof v!=typeof y)&&(b=e.bind&&p?c(y,t):e.wrap&&p?f(y):j&&r(y)?n(y):y,(e.sham||y&&y.sham||v&&v.sham)&&u(b,"sham",!0),u(k,m,b),j&&(a(s,d=O+"Prototype")||u(s,d,{}),u(s[d],m,y),e.real&&A&&(l||!A[m])&&u(A,m,y)))}}function gn(){return an?un:(an=1,cn||(cn=1,vn()({target:"Object",stat:!0},{hasOwn:De()})),un=Bt().Object.hasOwn)}function bn(){return hn?fn:(hn=1,fn=gn())}var wn=k(bn());const On=["pk","schema","key"];function En(t,n={}){class r extends t{static toString(){return this.key}static toJSON(){return{key:this.key,schema:this.schema}}static pk(t,e,n,r){return this.prototype.pk.call(t,e,n,r)}static shouldUpdate(t,e,n,r){return!0}static shouldReorder(t,e,n,r){return e.fetchedAt<t.fetchedAt}static merge(t,n){return e({},t,n)}static mergeWithStore(t,e,n,r){return this.shouldUpdate(t,e,n,r)?typeof r!=typeof n?r:this.shouldReorder(t,e,n,r)?this.merge(r,n):this.merge(n,r):n}static mergeMetaWithStore(t,e,n,r){return this.shouldReorder(t,e,n,r)?t:e}static fromJS(t={}){const e=new this(t);return Object.assign(e,t),e}static createIfValid(t){if(!this.validate(t))return this.fromJS(t)}static process(t,n,r,i){return e({},t)}static normalize(t,e,n,r,i,o,s,c){const u=this.process(t,e,n,r);let a=this.pk(u,e,n,r);if(a=void 0===a||""===a||"undefined"===a?`MISS-${Math.random()}`:`${a}`,c(this.key,a,t))return a;return function(t){if(t){const e=new Error(t);throw e.status=400,e}}(this.validate(u)),Object.keys(this.schema).forEach((t=>{wn(u,t)&&(u[t]=i(this.schema[t],u[t],u,t,r))})),o(this,u,a),a}static validate(t){}static queryKey(t,e,n,r){if(!t[0])return;const i=function(t,e,n){if(["string","number"].includes(typeof e[0]))return`${e[0]}`;const r=t.pk(e[0],void 0,"",e);if(void 0!==r&&""!==r)return r;const i=(o=e[0],s=t.indexes,s?s.find((t=>wn(o,t))):void 0);var o,s;if(!i)return;const c=e[0][i];return n(t.key,i,c)[c]}(this,t,r);return n(this.key,i)?i:void 0}static denormalize(t,e,n){if("symbol"==typeof t)return t;for(const e of Object.keys(this.schema)){const r=n(this.schema[e],t[e]);if("symbol"==typeof r){if(this.defaults[e])return r;t[e]=void 0}else t[e]=r}return t}static get defaults(){return wn(this,"__defaults")||Object.defineProperty(this,"__defaults",{value:new this,writable:!0,configurable:!0}),this.__defaults}}const i=j(n,On);if(Object.assign(r,i),"schema"in n?r.schema=n.schema:t.schema||(r.schema={}),"pk"in n?"function"==typeof n.pk?r.prototype.pk=function(t,e){return n.pk(this,t,e)}:r.prototype.pk=function(){return this[n.pk]}:"function"!=typeof t.prototype.pk&&(r.prototype.pk=function(){return this.id}),"key"in n)Object.defineProperty(r,"key",{value:n.key,configurable:!0,writable:!0,enumerable:!0});else if(!("key"in t)){function o(t){Object.defineProperty(this,"key",{value:t,writable:!0,enumerable:!0,configurable:!0})}const s=function(){return"EntityMixin"===this.name?t.name:this.name},c="undefined"!=typeof document&&document.CLS_MANGLE?function(){return null==document.CLS_MANGLE||document.CLS_MANGLE(this),Object.defineProperty(r,"key",{get:s,set:o,enumerable:!0,configurable:!0}),s.call(this)}:s;Object.defineProperty(r,"key",{get:c,set:o,enumerable:!0,configurable:!0})}return r}var Sn=Object.freeze({__proto__:null,All:class extends a{constructor(t,e){super(t,e)}normalize(t,e,n,r,i,o,s,c){super.normalize(t,e,n,r,i,o,s,c)}queryKey(t,e,n,r){if(this.isSingleSchema){const t=n(this.schema.key);return void 0===t?f:Object.values(t).map((t=>t&&this.schema.pk(t)))}let i=!1;const o=Object.values(this.schema).flatMap((t=>{const e=n(t.key);return void 0===e?[]:(i=!0,Object.values(e).map((e=>({id:e&&t.pk(e),schema:this.getSchemaAttribute(e,void 0,void 0)}))))}));return i?o:f}},Array:a,Collection:g,Entity:En,EntityMixin:En,Invalidate:class{constructor(t){this._entity=t}get key(){return this._entity.key}normalize(t,e,n,r,i,o,s,c){const u=this._entity.process(t,e,n,r),a=this._entity.pk(u,e,n,r);return o(this,f,a),a}merge(t,e){return e}mergeWithStore(t,e,n,r){return this.merge(n,r)}mergeMetaWithStore(t,e,n,r){return e}queryKey(t,e,n,r){}denormalize(t,e,n){return n(this._entity,t)}_denormalizeNullable(){return{}}_normalizeNullable(){return{}}},Object:l,Query:class{constructor(t,e){this.schema=t,this.process=e}normalize(...t){return this.schema.normalize(...t)}denormalize(t,e,n){const r=n(this.schema,t);return"symbol"==typeof r?r:this.process(r,...e)}queryKey(t,e,n,r){return e(this.schema,t,n,r)}},Union:class extends s{constructor(t,e){if(!e)throw new Error('Expected option "schemaAttribute" not found on UnionSchema.');super(t,e)}normalize(t,e,n,r,i,o,s,c){return this.normalizeValue(t,e,n,r,i)}denormalize(t,e,n){return this.denormalizeValue(t,n)}queryKey(t,e,n,r){if(!t[0])return;const i=this.getSchemaAttribute(t[0],void 0,""),o=this.schema[i];if(void 0===o)return;const s=e(o,t,n,r);return void 0!==s?{id:s,schema:i}:void 0}},Values:c});const jn=class{};class xn extends(En(jn)){static process(t,e,n,r){return super.process(t,e,n,r)}}var kn;const An="undefined"!=typeof document;let Pn=An&&!(null!=(kn=document.querySelector("meta[http-equiv='Content-Security-Policy']"))&&kn.getAttribute("content"));try{Pn||Function()}catch(t){Pn=!0,An&&console.error("Content Security Policy: The previous CSP log can be safely ignored - @data-client/endpoint will use setPrototypeOf instead")}var _n;class Tn extends Function{constructor(t,e){let n,r;return Pn?(n=(...t)=>n.fetch(...t),Object.setPrototypeOf(n,new.target.prototype)):(super("return arguments.callee.fetch.apply(arguments.callee, arguments)"),n=this),t&&(n.fetch=t),e&&"name"in e||!t||!t.name||"anonymous"===t.name||(r=t.name),Object.defineProperty(n,"name",{get(){return r||this.__name},set(t){this.__name=t}}),Object.assign(n,e),n}key(...t){return`${this.name} ${JSON.stringify(t)}`}testKey(t){return t.startsWith(this.name)}bind(t,...e){const n=this.fetch,r=this.key;return this.extend({fetch(){return n.apply(null!=t?t:this,e)},key(){return r.apply(this,e)}})}extend(t){class e extends this.constructor{}return Object.assign(e.prototype,this),new e(t.fetch,t)}}_n=Tn,(()=>{if("undefined"!=typeof document&&document.FUNC_MANGLE){const t=_n.prototype.key;_n.prototype.key=function(...e){return null==document.FUNC_MANGLE||document.FUNC_MANGLE(this),this.prototype.key=t,t.call(this,...e)}}})();const Cn=Tn;function Rn(t,e){void 0===e&&(e={});for(var n=function(t){for(var e=[],n=0;n<t.length;){var r=t[n];if("*"!==r&&"+"!==r&&"?"!==r)if("\\"!==r)if("{"!==r)if("}"!==r)if(":"!==r)if("("!==r)e.push({type:"CHAR",index:n,value:t[n++]});else{var i=1,o="";if("?"===t[c=n+1])throw new TypeError('Pattern cannot start with "?" at '.concat(c));for(;c<t.length;)if("\\"!==t[c]){if(")"===t[c]){if(0==--i){c++;break}}else if("("===t[c]&&(i++,"?"!==t[c+1]))throw new TypeError("Capturing groups are not allowed at ".concat(c));o+=t[c++]}else o+=t[c++]+t[c++];if(i)throw new TypeError("Unbalanced pattern at ".concat(n));if(!o)throw new TypeError("Missing pattern at ".concat(n));e.push({type:"PATTERN",index:n,value:o}),n=c}else{for(var s="",c=n+1;c<t.length;){var u=t.charCodeAt(c);if(!(u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||95===u))break;s+=t[c++]}if(!s)throw new TypeError("Missing parameter name at ".concat(n));e.push({type:"NAME",index:n,value:s}),n=c}else e.push({type:"CLOSE",index:n,value:t[n++]});else e.push({type:"OPEN",index:n,value:t[n++]});else e.push({type:"ESCAPED_CHAR",index:n++,value:t[n++]});else e.push({type:"MODIFIER",index:n,value:t[n++]})}return e.push({type:"END",index:n,value:""}),e}(t),r=e.prefixes,i=void 0===r?"./":r,o=e.delimiter,s=void 0===o?"/#?":o,c=[],u=0,a=0,f="",h=function(t){if(a<n.length&&n[a].type===t)return n[a++].value},l=function(t){var e=h(t);if(void 0!==e)return e;var r=n[a],i=r.type,o=r.index;throw new TypeError("Unexpected ".concat(i," at ").concat(o,", expected ").concat(t))},p=function(){for(var t,e="";t=h("CHAR")||h("ESCAPED_CHAR");)e+=t;return e},d=function(t){var e=c[c.length-1],n=t||(e&&"string"==typeof e?e:"");if(e&&!n)throw new TypeError('Must have text between two parameters, missing text after "'.concat(e.name,'"'));return!n||function(t){for(var e=0,n=s;e<n.length;e++){var r=n[e];if(t.indexOf(r)>-1)return!0}return!1}(n)?"[^".concat(Nn(s),"]+?"):"(?:(?!".concat(Nn(n),")[^").concat(Nn(s),"])+?")};a<n.length;){var m=h("CHAR"),y=h("NAME"),v=h("PATTERN");if(y||v){var g=m||"";-1===i.indexOf(g)&&(f+=g,g=""),f&&(c.push(f),f=""),c.push({name:y||u++,prefix:g,suffix:"",pattern:v||d(g),modifier:h("MODIFIER")||""})}else{var b=m||h("ESCAPED_CHAR");if(b)f+=b;else if(f&&(c.push(f),f=""),h("OPEN")){g=p();var w=h("NAME")||"",O=h("PATTERN")||"",E=p();l("CLOSE"),c.push({name:w||(O?u++:""),pattern:w&&!O?d(g):O,prefix:g,suffix:E,modifier:h("MODIFIER")||""})}else l("END")}}return c}function zn(t,e){return function(t,e){void 0===e&&(e={});var n=Kn(e),r=e.encode,i=void 0===r?function(t){return t}:r,o=e.validate,s=void 0===o||o,c=t.map((function(t){if("object"==typeof t)return new RegExp("^(?:".concat(t.pattern,")$"),n)}));return function(e){for(var n="",r=0;r<t.length;r++){var o=t[r];if("string"!=typeof o){var u=e?e[o.name]:void 0,a="?"===o.modifier||"*"===o.modifier,f="*"===o.modifier||"+"===o.modifier;if(Array.isArray(u)){if(!f)throw new TypeError('Expected "'.concat(o.name,'" to not repeat, but got an array'));if(0===u.length){if(a)continue;throw new TypeError('Expected "'.concat(o.name,'" to not be empty'))}for(var h=0;h<u.length;h++){var l=i(u[h],o);if(s&&!c[r].test(l))throw new TypeError('Expected all "'.concat(o.name,'" to match "').concat(o.pattern,'", but got "').concat(l,'"'));n+=o.prefix+l+o.suffix}}else if("string"!=typeof u&&"number"!=typeof u){if(!a){var p=f?"an array":"a string";throw new TypeError('Expected "'.concat(o.name,'" to be ').concat(p))}}else{l=i(String(u),o);if(s&&!c[r].test(l))throw new TypeError('Expected "'.concat(o.name,'" to match "').concat(o.pattern,'", but got "').concat(l,'"'));n+=o.prefix+l+o.suffix}}else n+=o}return n}}(Rn(t,e),e)}function Nn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function Kn(t){return t&&t.sensitive?"":"i"}function $n(t,e,n){return function(t,e,n){void 0===n&&(n={});for(var r=n.strict,i=void 0!==r&&r,o=n.start,s=void 0===o||o,c=n.end,u=void 0===c||c,a=n.encode,f=void 0===a?function(t){return t}:a,h=n.delimiter,l=void 0===h?"/#?":h,p=n.endsWith,d="[".concat(Nn(void 0===p?"":p),"]|$"),m="[".concat(Nn(l),"]"),y=s?"^":"",v=0,g=t;v<g.length;v++){var b=g[v];if("string"==typeof b)y+=Nn(f(b));else{var w=Nn(f(b.prefix)),O=Nn(f(b.suffix));if(b.pattern)if(w||O)if("+"===b.modifier||"*"===b.modifier){var E="*"===b.modifier?"?":"";y+="(?:".concat(w,"((?:").concat(b.pattern,")(?:").concat(O).concat(w,"(?:").concat(b.pattern,"))*)").concat(O,")").concat(E)}else y+="(?:".concat(w,"(").concat(b.pattern,")").concat(O,")").concat(b.modifier);else{if("+"===b.modifier||"*"===b.modifier)throw new TypeError('Can not repeat "'.concat(b.name,'" without a prefix and suffix'));y+="(".concat(b.pattern,")").concat(b.modifier)}else y+="(?:".concat(w).concat(O,")").concat(b.modifier)}}if(u)i||(y+="".concat(m,"?")),y+=n.endsWith?"(?=".concat(d,")"):"$";else{var S=t[t.length-1],j="string"==typeof S?m.indexOf(S[S.length-1])>-1:void 0===S;i||(y+="(?:".concat(m,"(?=").concat(d,"))?")),j||(y+="(?=".concat(m,"|").concat(d,")"))}return new RegExp(y,Kn(n))}(Rn(t,n),0,n)}function Fn(t,e,n){return t instanceof RegExp?function(t){return t}(t):Array.isArray(t)?function(t,e,n){var r=t.map((function(t){return Fn(t,e,n).source}));return new RegExp("(?:".concat(r.join("|"),")"),Kn(n))}(t,e,n):$n(t,0,n)}function In(t,n){if("object"!=typeof t||void 0===t||Array.isArray(t))return;if(t instanceof g)return n(t);const r=e({},t instanceof l?t.schema:t);for(const t in r){if(!r[t])continue;const e=In(r[t],n);if(e)return e}}function Mn(t,n){if("object"!=typeof t||void 0===t)return t;if(t instanceof g)return n(t);const r=e({},t instanceof l?t.schema:t);for(const t in r)r[t]&&(r[t]=Mn(r[t],n));return r}class Ln extends Error{constructor(t){super(`${t.url}: ${t.statusText||`Status not 'ok': ${t.status}`}`),this.name="NetworkError",this.status=t.status,this.response=t}}function Dn(t,e){const n=new Set(t),r=[...t];for(const t of e)n.has(t)||r.push(t);return r}const qn=Object.create(null);function Un(t){return t in qn||(qn[t]=zn(t,{encode:encodeURIComponent,validate:!1})),qn[t]}const Vn=Object.create(null);function Wn(t){return t in Vn||(Vn[t]=new Set(Rn(t).map((t=>"string"==typeof t?t:`${t.name}`)))),Vn[t]}const Gn=Object.prototype,Jn=Object.getPrototypeOf;var Hn=i("hasBody");class Bn extends Tn{constructor(t){var e;super(null!=(e=t.fetch)?e:async function(...t){const e=n(this,Hn)[Hn]&&t.length<2?{}:t[0]||{},r=n(this,Hn)[Hn]?t[t.length-1]:void 0;return this.fetchResponse(this.url(e),await this.getRequestInit(r)).then((t=>this.parseResponse(t))).then((e=>this.process(e,...t)))},t),Object.defineProperty(this,Hn,{writable:!0,value:void 0}),(!("sideEffect"in this)||"method"in t&&!("sideEffect"in t))&&(this.sideEffect="GET"!==t.method&&void 0!==t.method||void 0),void 0===this.method&&(this.method=this.sideEffect?"POST":"GET"),void 0===this.urlPrefix&&(this.urlPrefix=""),n(this,Hn)[Hn]=!("body"in this&&void 0===this.body||["GET","DELETE"].includes(this.method)),Object.defineProperty(this,"name",{get(){return"__name"in this?this.__name:this.urlPrefix+this.path}})}key(...t){return`${this.method} ${this.url(n(this,Hn)[Hn]&&t.length<2?{}:t[0]||{})}`}url(t={}){const e=Un(this.path)(t),n=Wn(this.path),r={};return Object.keys(t).forEach((e=>{n.has(e)||(r[e]=t[e])})),Object.keys(r).length?`${this.urlPrefix}${e}?${this.searchToString(r)}`:`${this.urlPrefix}${e}`}searchToString(t){return function(t){const e=new URLSearchParams(t);return e.sort(),e.toString()}(t)}getHeaders(t){return t}async getRequestInit(t){const n=null!==(r=t)&&"object"==typeof r&&Jn(r)===Gn;var r;n&&(t=JSON.stringify(t));const i=e({},this.requestInit,{method:this.method,signal:this.signal,body:t});return t&&!n||(i.headers=e({"Content-Type":"application/json"},i.headers)),i.headers=await this.getHeaders(i.headers),i}fetchResponse(t,e){return fetch(t,e).then((t=>{if(!t.ok)throw new Ln(t);return t})).catch((t=>{throw t instanceof TypeError&&(t.status=500),t}))}parseResponse(t){var e;return 204===t.status?Promise.resolve(null):null!=(e=t.headers.get("content-type"))&&e.includes("json")?t.json().catch((t=>{throw t.status=400,t})):t.text().then((e=>{if(["string","undefined"].includes(typeof this.schema)||null===this.schema||this.process!==Bn.prototype.process)return e;const n=new Ln(t);throw n.status=404,n.message=`Unexpected text response for schema ${this.schema}`,n}))}process(t){return t}errorPolicy(t){return t.status>=500?"soft":void 0}get pathRegex(){return Fn(this.path)}testKey(t){const e=this.method+" "+this.urlPrefix;if(!t.startsWith(e))return!1;let n=t.lastIndexOf("?");return-1===n&&(n=void 0),this.pathRegex.test(t.substring(e.length,n))}extend(t){class n extends this.constructor{}return Object.assign(n.prototype,this),new n(e({fetch:this.fetch},t))}paginated(t){if("string"==typeof t){const n=t;t=t=>{let r=e({},(function(t){if(null==t)throw new TypeError("Cannot destructure "+t)}(t),t));return delete r[n],[r]}}let n=!1;const r=Mn(this.schema,(e=>(n=!0,function(t,e){return Object.create(e,{name:{value:`Pagination(${e.schema})`},merge:{value:Dn},pk:{value:function(n,r,i,o){return e.pk.call(this,n,r,i,t(...o))}}})}(t,e))));if(!n)throw new Error("Missing Collection");const i=this;return this.extend({schema:r,key(...e){return i.key.call(this,...t(...e))},name:this.name+".getPage"})}get getPage(){return this.paginated(this.paginationField)}get push(){return this.extend({method:"POST",schema:In(this.schema,(t=>t.push)),name:this.name+".create"})}get unshift(){return this.extend({method:"POST",schema:In(this.schema,(t=>t.unshift)),name:this.name+".create"})}get assign(){return this.extend({method:"POST",schema:In(this.schema,(t=>t.assign)),name:this.name+".create"})}}const Qn=["path","schema","Endpoint","Collection","optimistic","paginationField"],{Invalidate:Yn,Collection:Xn}=Sn;function Zn(t){let{path:n,schema:r,Endpoint:i=Bn,Collection:o=Xn,optimistic:s,paginationField:c}=t,u=j(t,Qn);const a=function(t){const e=t.lastIndexOf(":");if(-1===e)throw new Error("Resource path requires at least one :parameter");let n=t.substring(0,e);return"/"===n[n.length-1]&&(n=n.substring(0,n.length-1)),n}(n),f=t=>`${null==r?void 0:r.name}.${t}`;function h(t,e,n){t[e]=t[e].extend(n)}const l=e({},u),p=e({},u),d=new i(e({},u,{path:n,schema:r,name:f("get")}));s&&(l.getOptimisticResponse=tr,p.getOptimisticResponse=function(t){return function(n,r,i){const o=n.get(t,r);if(!o)throw n.abort;return e({},r,o,nr(i))}}(r));const m=new i(e({},l,{paginationField:c,path:a,schema:new o([r]),name:f("getList")}));return{get:d,getList:m,create:m.push.extend({name:f("create")}),update:new i(e({},l,{path:n,schema:r,method:"PUT",name:f("update")})),partialUpdate:new i(e({},p,{path:n,schema:r,method:"PATCH",name:f("partialUpdate")})),delete:new i(e({},l,{path:n,schema:r.process?new Yn(r):r,method:"DELETE",name:f("delete"),process:(t,e)=>t&&Object.keys(t).length?t:e,getOptimisticResponse:s?er:void 0})),extend(...t){if("string"==typeof t[0]){const[n,r]=t;if(n in this){const t=e({},this);return h(t,n,r),t}return e({},this,{[n]:this.get.extend(r)})}if("function"==typeof t[0]){return e({},this,t[0](this))}const n=t[0],r=e({},this);for(const t in n)h(r,t,n[t]);return r}}}function tr(t,n,r){return e({},n,nr(r))}function er(t,e){return e}function nr(t){return t instanceof FormData?Object.fromEntries(t.entries()):t}t.Endpoint=Tn,t.Entity=xn,t.EntityMixin=En,t.ExtendableEndpoint=Cn,t.INVALID=f,t.NetworkError=Ln,t.RestEndpoint=Bn,t.createResource=Zn,t.getUrlBase=Un,t.getUrlTokens=Wn,t.hookifyResource=function(t,e){const n={};return Object.keys(t).forEach((r=>{const i=t[r];var o;void 0!==i.extend&&(n[`use${o=r,o.charAt(0).toUpperCase()+o.slice(1)}`]=()=>{const t=e();return i.extend({requestInit:t})})})),n},t.resource=Zn,t.schema=Sn,t.validateRequired=function(t,e){let n="";if(Object.keys(e).some((e=>!wn(t,e)&&(n=e,!0))))return`Missing key ${n}`}}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Rest={})}(this,(function(e){"use strict";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t.apply(null,arguments)}function n(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var r=0;function i(e){return"__private_"+r+++"_"+e}function s(e){return!("function"!=typeof e.hasOwnProperty||!(Object.hasOwnProperty.call(e,"__ownerID")||e._map&&Object.hasOwnProperty.call(e._map,"__ownerID")))}class o{constructor(e,t){this.schema=void 0,t&&(this._schemaAttribute="string"==typeof t?e=>e[t]:t),this.define(e)}get isSingleSchema(){return!this._schemaAttribute}define(e){"_schemaAttribute"in e&&!this._schemaAttribute?(this.schema=e.schema,this._schemaAttribute=e._schemaAttribute):this.schema=e}getSchemaAttribute(e,t,n){return!this.isSingleSchema&&this._schemaAttribute(e,t,n)}inferSchema(e,t,n){if(this.isSingleSchema)return this.schema;const r=this.getSchemaAttribute(e,t,n);return this.schema[r]}schemaKey(){return this.isSingleSchema?this.schema.key:Object.values(this.schema).join(";")}normalizeValue(e,t,n,r,i){if(!e)return e;const s=this.inferSchema(e,t,n);if(!s)return e;const o=i(s,e,t,n,r);return this.isSingleSchema||null==o?o:{id:o,schema:this.getSchemaAttribute(e,t,n)}}denormalizeValue(e,t){const n=!this.isSingleSchema&&e&&(s(e)?e.get("schema"):e.schema);if(!this.isSingleSchema&&!n){if("object"==typeof e&&null!==e){const n=this.inferSchema(e,void 0,void 0);if(n)return t(n,e)}return e}const r=this.isSingleSchema?void 0:s(e)?e.get("id"):e.id;return t(this.isSingleSchema?this.schema:this.schema[n],r||e)}}class a extends o{normalize(e,n,r,i,s,o,a,c){return Object.keys(e).reduce(((n,r,o)=>{const a=e[r];return null!=a?t({},n,{[r]:this.normalizeValue(a,e,r,i,s)}):n}),{})}denormalize(e,n,r){return Object.keys(e).reduce(((n,i)=>{const s=e[i],o=this.denormalizeValue(s,r);return o&&"symbol"!=typeof o?t({},n,{[i]:o}):n}),{})}queryKey(e,t,n,r){}}const c=e=>void 0!==e&&"symbol"!=typeof e;class h extends o{normalize(e,t,n,r,i,s,o,a){const c=(e=>Array.isArray(e)?e:Object.keys(e).map((t=>e[t])))(e);return c.map(((e,s)=>this.normalizeValue(e,t,n,r,i)))}denormalize(e,t,n){return e.map?e.map((e=>this.denormalizeValue(e,n))).filter(c):e}queryKey(e,t,n,r){}toJSON(){return[this.schema]}}const u=Symbol("INVALID");function l(e,n,r,i){if(s(n))return function(e,t,n){let r;const i=Object.keys(e).reduce(((t,i)=>{const s=`${i}`,o=n(e[s],t.get(s));return"symbol"==typeof o&&(r=o),t.has(s)?t.set(s,o):t}),t);return null!=r?r:i}(e,n,i);const o=t({},n);for(const t of Object.keys(e)){const n=i(e[t],o[t]);if(void 0!==o[t]&&(o[t]=n),"symbol"==typeof n)return n}return o}class f{constructor(e){this.schema=void 0,this.define(e)}define(e){this.schema=Object.keys(e).reduce(((n,r)=>{const i=e[r];return t({},n,{[r]:i})}),this.schema||{})}normalize(...e){return((e,n,r,i,s,o)=>{const a=t({},n);return Object.keys(e).forEach((t=>{const r=e[t],i=o(r,n[t],n,t,s);void 0===i?delete a[t]:a[t]=i})),a})(this.schema,...e)}denormalize(e,t,n){return l(this.schema,e,0,n)}queryKey(e,t,n,r){return function(e,t,n,r,i){const s={};return Object.keys(e).forEach((o=>{s[o]=n(e[o],t,r,i)})),s}(this.schema,e,t,n,r)}}const m=(e,t)=>[...e,...t],d=(e,t)=>[...t,...e],p=(e,n)=>t({},e,n),y=e=>[...e],g=e=>t({},e);class v{addWith(e,t){return b(this,e,t)}createCollectionFilter(...e){return t=>Object.entries(t).every((([t,n])=>{var r;return this.nonFilterArgumentKeys(t)||`${e[0][t]}`===n||`${null==(r=e[1])?void 0:r[t]}`===n}))}nonFilterArgumentKeys(e){return e.startsWith("order")}constructor(e,n){if(this.schema=Array.isArray(e)?new h(e[0]):e,n?"nestKey"in n?this.nestKey=n.nestKey:this.argsKey="argsKey"in n?n.argsKey:e=>t({},e):this.argsKey=e=>t({},e),this.key=function(e){if(e instanceof h)return`[${e.schemaKey()}]`;if(e instanceof a)return`{${e.schemaKey()}}`;return`(${e.schemaKey()})`}(this.schema),null!=n&&n.nonFilterArgumentKeys){const{nonFilterArgumentKeys:e}=n;"function"==typeof e?this.nonFilterArgumentKeys=e:e instanceof RegExp?this.nonFilterArgumentKeys=t=>e.test(t):this.nonFilterArgumentKeys=t=>e.includes(t)}else null!=n&&n.createCollectionFilter&&(this.createCollectionFilter=n.createCollectionFilter.bind(this));this.schema instanceof h?(this.createIfValid=y,this.push=b(this,m),this.unshift=b(this,d)):e instanceof a&&(this.createIfValid=g,this.assign=b(this,p))}get cacheWith(){return this.schema.schema}toString(){return this.key}toJSON(){return{key:this.key,schema:this.schema.schema.toJSON()}}pk(e,t,n,r){const i=this.argsKey?this.argsKey(...r):this.nestKey(t,n);for(const e in i)["number","boolean"].includes(typeof i[e])&&(i[e]=`${i[e]}`);return function(e){const t=Object.keys(e).sort(),n={};for(const r of t)n[r]=e[r];return JSON.stringify(n)}(i)}normalize(e,t,n,r,i,s,o,a){const c=this.schema.normalize(e,t,n,r,i,s,o,a),h=this.pk(c,t,n,r);return s(this,c,h),h}merge(e,t){return t}shouldReorder(e,t,n,r){return t.fetchedAt<e.fetchedAt}mergeWithStore(e,t,n,r){return this.shouldReorder(e,t,n,r)?this.merge(r,n):this.merge(n,r)}mergeMetaWithStore(e,t,n,r){return this.shouldReorder(e,t,n,r)?e:t}queryKey(e,t,n,r){if(this.argsKey){const t=this.pk(void 0,void 0,"",e);if(n(this.key,t))return t}}denormalize(e,t,n){return this.schema.denormalize(e,t,n)}}function b(e,t,n){const r={merge:{value:t},normalize:{value:w},queryKey:{value:O}};return e.schema instanceof h&&(r.createIfValid={value:E},r.denormalize={value:x}),n&&(r.createCollectionFilter={value:n}),Object.create(e,r)}function O(){}function w(e,t,n,r,i,s,o,a){const c=this.schema.normalize(this.schema instanceof h&&!Array.isArray(e)?[e]:e,t,n,r,i,s,o,a),u=this.createCollectionFilter(...r),l=o(this.key);return l&&Object.keys(l).forEach((e=>{u(JSON.parse(e))&&s(this,c,e)})),c}function E(e){return Array.isArray(e)?[...e]:t({},e)}function x(e,t,n){return Array.isArray(e)?this.schema.denormalize(e,t,n):this.schema.denormalize([e],t,n)[0]}function k(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}const S=["pk","schema","key"];function A(e,n={}){class r extends e{static toString(){return this.key}static toJSON(){return{key:this.key,schema:this.schema}}static pk(e,t,n,r){return this.prototype.pk.call(e,t,n,r)}static shouldUpdate(e,t,n,r){return!0}static shouldReorder(e,t,n,r){return t.fetchedAt<e.fetchedAt}static merge(e,n){return t({},e,n)}static mergeWithStore(e,t,n,r){return this.shouldUpdate(e,t,n,r)?typeof r!=typeof n?r:this.shouldReorder(e,t,n,r)?this.merge(r,n):this.merge(n,r):n}static mergeMetaWithStore(e,t,n,r){return this.shouldReorder(e,t,n,r)?e:t}static fromJS(e={}){const t=new this(e);return Object.assign(t,e),t}static createIfValid(e){if(!this.validate(e))return this.fromJS(e)}static process(e,n,r,i){return t({},e)}static normalize(e,t,n,r,i,s,o,a){const c=this.process(e,t,n,r);let h=this.pk(c,t,n,r);if(h=void 0===h||""===h||"undefined"===h?`MISS-${Math.random()}`:`${h}`,a(this.key,h,e))return h;return function(e){if(e){const t=new Error(e);throw t.status=400,t}}(this.validate(c)),Object.keys(this.schema).forEach((e=>{Object.hasOwn(c,e)&&(c[e]=i(this.schema[e],c[e],c,e,r))})),s(this,c,h),h}static validate(e){}static queryKey(e,t,n,r){if(!e[0])return;const i=function(e,t,n){if(["string","number"].includes(typeof t[0]))return`${t[0]}`;const r=e.pk(t[0],void 0,"",t);if(void 0!==r&&""!==r)return r;const i=(s=t[0],o=e.indexes,o?o.find((e=>Object.hasOwn(s,e))):void 0);var s,o;if(!i)return;const a=t[0][i];return n(e.key,i,a)[a]}(this,e,r);return n(this.key,i)?i:void 0}static denormalize(e,t,n){if("symbol"==typeof e)return e;for(const t of Object.keys(this.schema)){const r=n(this.schema[t],e[t]);if("symbol"==typeof r){if(this.defaults[t])return r;e[t]=void 0}else e[t]=r}return e}static get defaults(){return Object.hasOwn(this,"__defaults")||Object.defineProperty(this,"__defaults",{value:new this,writable:!0,configurable:!0}),this.__defaults}}const i=k(n,S);if(Object.assign(r,i),"schema"in n?r.schema=n.schema:e.schema||(r.schema={}),"pk"in n?"function"==typeof n.pk?r.prototype.pk=function(e,t){return n.pk(this,e,t)}:r.prototype.pk=function(){return this[n.pk]}:"function"!=typeof e.prototype.pk&&(r.prototype.pk=function(){return this.id}),"key"in n)Object.defineProperty(r,"key",{value:n.key,configurable:!0,writable:!0,enumerable:!0});else if(!("key"in e)){function s(e){Object.defineProperty(this,"key",{value:e,writable:!0,enumerable:!0,configurable:!0})}const o=function(){return"EntityMixin"===this.name?e.name:this.name},a="undefined"!=typeof document&&document.CLS_MANGLE?function(){return null==document.CLS_MANGLE||document.CLS_MANGLE(this),Object.defineProperty(r,"key",{get:o,set:s,enumerable:!0,configurable:!0}),o.call(this)}:o;Object.defineProperty(r,"key",{get:a,set:s,enumerable:!0,configurable:!0})}return r}var j=Object.freeze({__proto__:null,All:class extends h{constructor(e,t){super(e,t)}normalize(e,t,n,r,i,s,o,a){super.normalize(e,t,n,r,i,s,o,a)}queryKey(e,t,n,r){if(this.isSingleSchema){const e=n(this.schema.key);return void 0===e?u:Object.values(e).map((e=>e&&this.schema.pk(e)))}let i=!1;const s=Object.values(this.schema).flatMap((e=>{const t=n(e.key);return void 0===t?[]:(i=!0,Object.values(t).map((t=>({id:t&&e.pk(t),schema:this.getSchemaAttribute(t,void 0,void 0)}))))}));return i?s:u}},Array:h,Collection:v,Entity:A,EntityMixin:A,Invalidate:class{constructor(e){this._entity=e}get key(){return this._entity.key}normalize(e,t,n,r,i,s,o,a){const c=this._entity.process(e,t,n,r),h=this._entity.pk(c,t,n,r);return s(this,u,h),h}merge(e,t){return t}mergeWithStore(e,t,n,r){return this.merge(n,r)}mergeMetaWithStore(e,t,n,r){return t}queryKey(e,t,n,r){}denormalize(e,t,n){return n(this._entity,e)}_denormalizeNullable(){return{}}_normalizeNullable(){return{}}},Object:f,Query:class{constructor(e,t){this.schema=e,this.process=t}normalize(...e){return this.schema.normalize(...e)}denormalize(e,t,n){const r=n(this.schema,e);return"symbol"==typeof r?r:this.process(r,...t)}queryKey(e,t,n,r){return t(this.schema,e,n,r)}},Union:class extends o{constructor(e,t){if(!t)throw new Error('Expected option "schemaAttribute" not found on UnionSchema.');super(e,t)}normalize(e,t,n,r,i,s,o,a){return this.normalizeValue(e,t,n,r,i)}denormalize(e,t,n){return this.denormalizeValue(e,n)}queryKey(e,t,n,r){if(!e[0])return;const i=this.getSchemaAttribute(e[0],void 0,""),s=this.schema[i];if(void 0===s)return;const o=t(s,e,n,r);return void 0!==o?{id:o,schema:i}:void 0}},Values:a});const _=class{};class P extends(A(_)){static process(e,t,n,r){return super.process(e,t,n,r)}}var R;const T="undefined"!=typeof document;let C=T&&!(null!=(R=document.querySelector("meta[http-equiv='Content-Security-Policy']"))&&R.getAttribute("content"));try{C||Function()}catch(e){C=!0,T&&console.error("Content Security Policy: The previous CSP log can be safely ignored - @data-client/endpoint will use setPrototypeOf instead")}var z;class K extends Function{constructor(e,t){let n,r;return C?(n=(...e)=>n.fetch(...e),Object.setPrototypeOf(n,new.target.prototype)):(super("return arguments.callee.fetch.apply(arguments.callee, arguments)"),n=this),e&&(n.fetch=e),t&&"name"in t||!e||!e.name||"anonymous"===e.name||(r=e.name),Object.defineProperty(n,"name",{get(){return r||this.__name},set(e){this.__name=e}}),Object.assign(n,t),n}key(...e){return`${this.name} ${JSON.stringify(e)}`}testKey(e){return e.startsWith(this.name)}bind(e,...t){const n=this.fetch,r=this.key;return this.extend({fetch(){return n.apply(null!=e?e:this,t)},key(){return r.apply(this,t)}})}extend(e){class t extends this.constructor{}return Object.assign(t.prototype,this),new t(e.fetch,e)}}z=K,(()=>{if("undefined"!=typeof document&&document.FUNC_MANGLE){const e=z.prototype.key;z.prototype.key=function(...t){return null==document.FUNC_MANGLE||document.FUNC_MANGLE(this),this.prototype.key=e,e.call(this,...t)}}})();const $=K;function N(e,t){void 0===t&&(t={});for(var n=function(e){for(var t=[],n=0;n<e.length;){var r=e[n];if("*"!==r&&"+"!==r&&"?"!==r)if("\\"!==r)if("{"!==r)if("}"!==r)if(":"!==r)if("("!==r)t.push({type:"CHAR",index:n,value:e[n++]});else{var i=1,s="";if("?"===e[a=n+1])throw new TypeError('Pattern cannot start with "?" at '.concat(a));for(;a<e.length;)if("\\"!==e[a]){if(")"===e[a]){if(0==--i){a++;break}}else if("("===e[a]&&(i++,"?"!==e[a+1]))throw new TypeError("Capturing groups are not allowed at ".concat(a));s+=e[a++]}else s+=e[a++]+e[a++];if(i)throw new TypeError("Unbalanced pattern at ".concat(n));if(!s)throw new TypeError("Missing pattern at ".concat(n));t.push({type:"PATTERN",index:n,value:s}),n=a}else{for(var o="",a=n+1;a<e.length;){var c=e.charCodeAt(a);if(!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122||95===c))break;o+=e[a++]}if(!o)throw new TypeError("Missing parameter name at ".concat(n));t.push({type:"NAME",index:n,value:o}),n=a}else t.push({type:"CLOSE",index:n,value:e[n++]});else t.push({type:"OPEN",index:n,value:e[n++]});else t.push({type:"ESCAPED_CHAR",index:n++,value:e[n++]});else t.push({type:"MODIFIER",index:n,value:e[n++]})}return t.push({type:"END",index:n,value:""}),t}(e),r=t.prefixes,i=void 0===r?"./":r,s=t.delimiter,o=void 0===s?"/#?":s,a=[],c=0,h=0,u="",l=function(e){if(h<n.length&&n[h].type===e)return n[h++].value},f=function(e){var t=l(e);if(void 0!==t)return t;var r=n[h],i=r.type,s=r.index;throw new TypeError("Unexpected ".concat(i," at ").concat(s,", expected ").concat(e))},m=function(){for(var e,t="";e=l("CHAR")||l("ESCAPED_CHAR");)t+=e;return t},d=function(e){var t=a[a.length-1],n=e||(t&&"string"==typeof t?t:"");if(t&&!n)throw new TypeError('Must have text between two parameters, missing text after "'.concat(t.name,'"'));return!n||function(e){for(var t=0,n=o;t<n.length;t++){var r=n[t];if(e.indexOf(r)>-1)return!0}return!1}(n)?"[^".concat(I(o),"]+?"):"(?:(?!".concat(I(n),")[^").concat(I(o),"])+?")};h<n.length;){var p=l("CHAR"),y=l("NAME"),g=l("PATTERN");if(y||g){var v=p||"";-1===i.indexOf(v)&&(u+=v,v=""),u&&(a.push(u),u=""),a.push({name:y||c++,prefix:v,suffix:"",pattern:g||d(v),modifier:l("MODIFIER")||""})}else{var b=p||l("ESCAPED_CHAR");if(b)u+=b;else if(u&&(a.push(u),u=""),l("OPEN")){v=m();var O=l("NAME")||"",w=l("PATTERN")||"",E=m();f("CLOSE"),a.push({name:O||(w?c++:""),pattern:O&&!w?d(v):w,prefix:v,suffix:E,modifier:l("MODIFIER")||""})}else f("END")}}return a}function F(e,t){return function(e,t){void 0===t&&(t={});var n=M(t),r=t.encode,i=void 0===r?function(e){return e}:r,s=t.validate,o=void 0===s||s,a=e.map((function(e){if("object"==typeof e)return new RegExp("^(?:".concat(e.pattern,")$"),n)}));return function(t){for(var n="",r=0;r<e.length;r++){var s=e[r];if("string"!=typeof s){var c=t?t[s.name]:void 0,h="?"===s.modifier||"*"===s.modifier,u="*"===s.modifier||"+"===s.modifier;if(Array.isArray(c)){if(!u)throw new TypeError('Expected "'.concat(s.name,'" to not repeat, but got an array'));if(0===c.length){if(h)continue;throw new TypeError('Expected "'.concat(s.name,'" to not be empty'))}for(var l=0;l<c.length;l++){var f=i(c[l],s);if(o&&!a[r].test(f))throw new TypeError('Expected all "'.concat(s.name,'" to match "').concat(s.pattern,'", but got "').concat(f,'"'));n+=s.prefix+f+s.suffix}}else if("string"!=typeof c&&"number"!=typeof c){if(!h){var m=u?"an array":"a string";throw new TypeError('Expected "'.concat(s.name,'" to be ').concat(m))}}else{f=i(String(c),s);if(o&&!a[r].test(f))throw new TypeError('Expected "'.concat(s.name,'" to match "').concat(s.pattern,'", but got "').concat(f,'"'));n+=s.prefix+f+s.suffix}}else n+=s}return n}}(N(e,t),t)}function I(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function M(e){return e&&e.sensitive?"":"i"}function q(e,t,n){return function(e,t,n){void 0===n&&(n={});for(var r=n.strict,i=void 0!==r&&r,s=n.start,o=void 0===s||s,a=n.end,c=void 0===a||a,h=n.encode,u=void 0===h?function(e){return e}:h,l=n.delimiter,f=void 0===l?"/#?":l,m=n.endsWith,d="[".concat(I(void 0===m?"":m),"]|$"),p="[".concat(I(f),"]"),y=o?"^":"",g=0,v=e;g<v.length;g++){var b=v[g];if("string"==typeof b)y+=I(u(b));else{var O=I(u(b.prefix)),w=I(u(b.suffix));if(b.pattern)if(O||w)if("+"===b.modifier||"*"===b.modifier){var E="*"===b.modifier?"?":"";y+="(?:".concat(O,"((?:").concat(b.pattern,")(?:").concat(w).concat(O,"(?:").concat(b.pattern,"))*)").concat(w,")").concat(E)}else y+="(?:".concat(O,"(").concat(b.pattern,")").concat(w,")").concat(b.modifier);else{if("+"===b.modifier||"*"===b.modifier)throw new TypeError('Can not repeat "'.concat(b.name,'" without a prefix and suffix'));y+="(".concat(b.pattern,")").concat(b.modifier)}else y+="(?:".concat(O).concat(w,")").concat(b.modifier)}}if(c)i||(y+="".concat(p,"?")),y+=n.endsWith?"(?=".concat(d,")"):"$";else{var x=e[e.length-1],k="string"==typeof x?p.indexOf(x[x.length-1])>-1:void 0===x;i||(y+="(?:".concat(p,"(?=").concat(d,"))?")),k||(y+="(?=".concat(p,"|").concat(d,")"))}return new RegExp(y,M(n))}(N(e,n),0,n)}function L(e,t,n){return e instanceof RegExp?function(e){return e}(e):Array.isArray(e)?function(e,t,n){var r=e.map((function(e){return L(e,t,n).source}));return new RegExp("(?:".concat(r.join("|"),")"),M(n))}(e,t,n):q(e,0,n)}function U(e,n){if("object"!=typeof e||void 0===e||Array.isArray(e))return;if(e instanceof v)return n(e);const r=t({},e instanceof f?e.schema:e);for(const e in r){if(!r[e])continue;const t=U(r[e],n);if(t)return t}}function D(e,n){if("object"!=typeof e||void 0===e)return e;if(e instanceof v)return n(e);const r=t({},e instanceof f?e.schema:e);for(const e in r)r[e]&&(r[e]=D(r[e],n));return r}Object.hasOwn=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};class V extends Error{constructor(e){super(`${e.url}: ${e.statusText||`Status not 'ok': ${e.status}`}`),this.name="NetworkError",this.status=e.status,this.response=e}}function W(e,t){const n=new Set(e),r=[...e];for(const e of t)n.has(e)||r.push(e);return r}const J=Object.create(null);function G(e){return e in J||(J[e]=F(e,{encode:encodeURIComponent,validate:!1})),J[e]}const H=Object.create(null);function B(e){return e in H||(H[e]=new Set(N(e).map((e=>"string"==typeof e?e:`${e.name}`)))),H[e]}const Q=Object.prototype,X=Object.getPrototypeOf;var Y=i("hasBody");class Z extends K{constructor(e){var t;super(null!=(t=e.fetch)?t:async function(...e){const t=n(this,Y)[Y]&&e.length<2?{}:e[0]||{},r=n(this,Y)[Y]?e[e.length-1]:void 0;return this.fetchResponse(this.url(t),await this.getRequestInit(r)).then((e=>this.parseResponse(e))).then((t=>this.process(t,...e)))},e),Object.defineProperty(this,Y,{writable:!0,value:void 0}),(!("sideEffect"in this)||"method"in e&&!("sideEffect"in e))&&(this.sideEffect="GET"!==e.method&&void 0!==e.method||void 0),void 0===this.method&&(this.method=this.sideEffect?"POST":"GET"),void 0===this.urlPrefix&&(this.urlPrefix=""),n(this,Y)[Y]=!("body"in this&&void 0===this.body||["GET","DELETE"].includes(this.method)),Object.defineProperty(this,"name",{get(){return"__name"in this?this.__name:this.urlPrefix+this.path}})}key(...e){return`${this.method} ${this.url(n(this,Y)[Y]&&e.length<2?{}:e[0]||{})}`}url(e={}){const t=G(this.path)(e),n=B(this.path),r={};return Object.keys(e).forEach((t=>{n.has(t)||(r[t]=e[t])})),Object.keys(r).length?`${this.urlPrefix}${t}?${this.searchToString(r)}`:`${this.urlPrefix}${t}`}searchToString(e){return function(e){const t=new URLSearchParams(e);return t.sort(),t.toString()}(e)}getHeaders(e){return e}async getRequestInit(e){const n=null!==(r=e)&&"object"==typeof r&&X(r)===Q;var r;n&&(e=JSON.stringify(e));const i=t({},this.requestInit,{method:this.method,signal:this.signal,body:e});return e&&!n||(i.headers=t({"Content-Type":"application/json"},i.headers)),i.headers=await this.getHeaders(i.headers),i}fetchResponse(e,t){return fetch(e,t).then((e=>{if(!e.ok)throw new V(e);return e})).catch((e=>{throw e instanceof TypeError&&(e.status=500),e}))}parseResponse(e){var t;return 204===e.status?Promise.resolve(null):null!=(t=e.headers.get("content-type"))&&t.includes("json")?e.json().catch((e=>{throw e.status=400,e})):e.text().then((t=>{if(["string","undefined"].includes(typeof this.schema)||null===this.schema||this.process!==Z.prototype.process)return t;const n=new V(e);throw n.status=404,n.message=`Unexpected text response for schema ${this.schema}`,n}))}process(e){return e}errorPolicy(e){return e.status>=500?"soft":void 0}get pathRegex(){return L(this.path)}testKey(e){const t=this.method+" "+this.urlPrefix;if(!e.startsWith(t))return!1;let n=e.lastIndexOf("?");return-1===n&&(n=void 0),this.pathRegex.test(e.substring(t.length,n))}extend(e){class n extends this.constructor{}return Object.assign(n.prototype,this),new n(t({fetch:this.fetch},e))}paginated(e){if("string"==typeof e){const n=e;e=e=>{let r=t({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(e),e));return delete r[n],[r]}}let n=!1;const r=D(this.schema,(t=>(n=!0,function(e,t){return Object.create(t,{name:{value:`Pagination(${t.schema})`},merge:{value:W},pk:{value:function(n,r,i,s){return t.pk.call(this,n,r,i,e(...s))}}})}(e,t))));if(!n)throw new Error("Missing Collection");const i=this;return this.extend({schema:r,key(...t){return i.key.call(this,...e(...t))},name:this.name+".getPage"})}get getPage(){return this.paginated(this.paginationField)}get push(){return this.extend({method:"POST",schema:U(this.schema,(e=>e.push)),name:this.name+".create"})}get unshift(){return this.extend({method:"POST",schema:U(this.schema,(e=>e.unshift)),name:this.name+".create"})}get assign(){return this.extend({method:"POST",schema:U(this.schema,(e=>e.assign)),name:this.name+".create"})}}const ee=["path","schema","Endpoint","Collection","optimistic","paginationField"],{Invalidate:te,Collection:ne}=j;function re(e){let{path:n,schema:r,Endpoint:i=Z,Collection:s=ne,optimistic:o,paginationField:a}=e,c=k(e,ee);const h=function(e){const t=e.lastIndexOf(":");if(-1===t)throw new Error("Resource path requires at least one :parameter");let n=e.substring(0,t);return"/"===n[n.length-1]&&(n=n.substring(0,n.length-1)),n}(n),u=e=>`${null==r?void 0:r.name}.${e}`;function l(e,t,n){e[t]=e[t].extend(n)}const f=t({},c),m=t({},c),d=new i(t({},c,{path:n,schema:r,name:u("get")}));o&&(f.getOptimisticResponse=ie,m.getOptimisticResponse=function(e){return function(n,r,i){const s=n.get(e,r);if(!s)throw n.abort;return t({},r,s,oe(i))}}(r));const p=new i(t({},f,{paginationField:a,path:h,schema:new s([r]),name:u("getList")}));return{get:d,getList:p,create:p.push.extend({name:u("create")}),update:new i(t({},f,{path:n,schema:r,method:"PUT",name:u("update")})),partialUpdate:new i(t({},m,{path:n,schema:r,method:"PATCH",name:u("partialUpdate")})),delete:new i(t({},f,{path:n,schema:r.process?new te(r):r,method:"DELETE",name:u("delete"),process:(e,t)=>e&&Object.keys(e).length?e:t,getOptimisticResponse:o?se:void 0})),extend(...e){if("string"==typeof e[0]){const[n,r]=e;if(n in this){const e=t({},this);return l(e,n,r),e}return t({},this,{[n]:this.get.extend(r)})}if("function"==typeof e[0]){return t({},this,e[0](this))}const n=e[0],r=t({},this);for(const e in n)l(r,e,n[e]);return r}}}function ie(e,n,r){return t({},n,oe(r))}function se(e,t){return t}function oe(e){return e instanceof FormData?Object.fromEntries(e.entries()):e}e.Endpoint=K,e.Entity=P,e.EntityMixin=A,e.ExtendableEndpoint=$,e.INVALID=u,e.NetworkError=V,e.RestEndpoint=Z,e.createResource=re,e.getUrlBase=G,e.getUrlTokens=B,e.hookifyResource=function(e,t){const n={};return Object.keys(e).forEach((r=>{const i=e[r];var s;void 0!==i.extend&&(n[`use${s=r,s.charAt(0).toUpperCase()+s.slice(1)}`]=()=>{const e=t();return i.extend({requestInit:e})})})),n},e.resource=re,e.schema=j,e.validateRequired=function(e,t){let n="";if(Object.keys(t).some((t=>!Object.hasOwn(e,t)&&(n=t,!0))))return`Missing key ${n}`}}));
|
package/legacy/RestEndpoint.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import _objectDestructuringEmpty from "@babel/runtime
|
|
2
|
-
import _extends from "@babel/runtime
|
|
3
|
-
import _classPrivateFieldLooseBase from "@babel/runtime
|
|
4
|
-
import _classPrivateFieldLooseKey from "@babel/runtime
|
|
5
|
-
import _includesInstanceProperty from "core-js-pure/stable/instance/includes.js";
|
|
1
|
+
import _objectDestructuringEmpty from "@babel/runtime/helpers/esm/objectDestructuringEmpty";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _classPrivateFieldLooseBase from "@babel/runtime/helpers/esm/classPrivateFieldLooseBase";
|
|
4
|
+
import _classPrivateFieldLooseKey from "@babel/runtime/helpers/esm/classPrivateFieldLooseKey";
|
|
6
5
|
import { Endpoint } from '@data-client/endpoint';
|
|
7
6
|
import { pathToRegexp } from 'path-to-regexp';
|
|
8
7
|
import extractCollection from './extractCollection.js';
|
|
@@ -19,7 +18,7 @@ import { getUrlBase, getUrlTokens, isPojo } from './RestHelpers.js';
|
|
|
19
18
|
var _hasBody = /*#__PURE__*/_classPrivateFieldLooseKey("hasBody");
|
|
20
19
|
export default class RestEndpoint extends Endpoint {
|
|
21
20
|
constructor(options) {
|
|
22
|
-
var _options$fetch
|
|
21
|
+
var _options$fetch;
|
|
23
22
|
super((_options$fetch = options.fetch) != null ? _options$fetch : async function (...args) {
|
|
24
23
|
const urlParams = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] && args.length < 2 ? {} : args[0] || {};
|
|
25
24
|
const body = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] ? args[args.length - 1] : undefined;
|
|
@@ -39,7 +38,7 @@ export default class RestEndpoint extends Endpoint {
|
|
|
39
38
|
if (this.urlPrefix === undefined) {
|
|
40
39
|
this.urlPrefix = '';
|
|
41
40
|
}
|
|
42
|
-
_classPrivateFieldLooseBase(this, _hasBody)[_hasBody] = (!('body' in this) || this.body !== undefined) && !
|
|
41
|
+
_classPrivateFieldLooseBase(this, _hasBody)[_hasBody] = (!('body' in this) || this.body !== undefined) && !['GET', 'DELETE'].includes(this.method);
|
|
43
42
|
Object.defineProperty(this, 'name', {
|
|
44
43
|
get() {
|
|
45
44
|
// using 'in' to ensure inheritance lookup
|
|
@@ -116,12 +115,11 @@ export default class RestEndpoint extends Endpoint {
|
|
|
116
115
|
var _response$headers$get;
|
|
117
116
|
// this should not have any content to read
|
|
118
117
|
if (response.status === 204) return Promise.resolve(null);
|
|
119
|
-
if (!((_response$headers$get = response.headers.get('content-type')) != null &&
|
|
118
|
+
if (!((_response$headers$get = response.headers.get('content-type')) != null && _response$headers$get.includes('json'))) {
|
|
120
119
|
return response.text().then(text => {
|
|
121
|
-
var _context2;
|
|
122
120
|
// string or 'not set' schema, are valid
|
|
123
121
|
// when overriding process they might handle other cases, so we don't want to block on our logic
|
|
124
|
-
if (
|
|
122
|
+
if (['string', 'undefined'].includes(typeof this.schema) || this.schema === null || this.process !== RestEndpoint.prototype.process) return text;
|
|
125
123
|
const error = new NetworkError(response);
|
|
126
124
|
error.status = 404;
|
|
127
125
|
error.message = `Unexpected text response for schema ${this.schema}`;
|
|
@@ -129,7 +127,7 @@ export default class RestEndpoint extends Endpoint {
|
|
|
129
127
|
/* istanbul ignore else */
|
|
130
128
|
if (process.env.NODE_ENV !== 'production') {
|
|
131
129
|
var _response$headers$get2;
|
|
132
|
-
if (!((_response$headers$get2 = response.headers.get('content-type')) != null &&
|
|
130
|
+
if (!((_response$headers$get2 = response.headers.get('content-type')) != null && _response$headers$get2.includes('html') || text.startsWith('<!doctype html>'))) {
|
|
133
131
|
if (tryParse(text) !== undefined) {
|
|
134
132
|
error.message = `"content-type" header does not include "json", but JSON response found.
|
|
135
133
|
See https://www.rfc-editor.org/rfc/rfc4627 for information on JSON responses
|
|
@@ -235,4 +233,4 @@ const tryParse = input => {
|
|
|
235
233
|
return undefined;
|
|
236
234
|
}
|
|
237
235
|
};
|
|
238
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsImNyZWF0ZVBhZ2luYXRpb25TY2hlbWEiLCJwYXJhbXNUb1N0cmluZyIsImdldFVybEJhc2UiLCJnZXRVcmxUb2tlbnMiLCJpc1Bvam8iLCJfaGFzQm9keSIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlS2V5IiwiUmVzdEVuZHBvaW50IiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiX29wdGlvbnMkZmV0Y2giLCJfY29udGV4dCIsImZldGNoIiwiYXJncyIsInVybFBhcmFtcyIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlQmFzZSIsImxlbmd0aCIsImJvZHkiLCJ1bmRlZmluZWQiLCJmZXRjaFJlc3BvbnNlIiwidXJsIiwiZ2V0UmVxdWVzdEluaXQiLCJ0aGVuIiwicmVzcG9uc2UiLCJwYXJzZVJlc3BvbnNlIiwicmVzIiwicHJvY2VzcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInNpZGVFZmZlY3QiLCJtZXRob2QiLCJ1cmxQcmVmaXgiLCJfaW5jbHVkZXNJbnN0YW5jZVByb3BlcnR5IiwiY2FsbCIsImdldCIsIl9fbmFtZSIsInBhdGgiLCJrZXkiLCJ1cmxCYXNlIiwidG9rZW5zIiwic2VhcmNoUGFyYW1zIiwia2V5cyIsImZvckVhY2giLCJrIiwiaGFzIiwic2VhcmNoVG9TdHJpbmciLCJnZXRIZWFkZXJzIiwiaGVhZGVycyIsImJvZHlJc1Bvam8iLCJKU09OIiwic3RyaW5naWZ5IiwiaW5pdCIsIl9leHRlbmRzIiwicmVxdWVzdEluaXQiLCJzaWduYWwiLCJpbnB1dCIsIm9rIiwiY2F0Y2giLCJlcnJvciIsIlR5cGVFcnJvciIsInN0YXR1cyIsIl9yZXNwb25zZSRoZWFkZXJzJGdldCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGV4dCIsIl9jb250ZXh0MiIsInNjaGVtYSIsInByb3RvdHlwZSIsIm1lc3NhZ2UiLCJlbnYiLCJOT0RFX0VOViIsIl9yZXNwb25zZSRoZWFkZXJzJGdldDIiLCJzdGFydHNXaXRoIiwidHJ5UGFyc2UiLCJzdWJzdHJpbmciLCJqc29uIiwiZXJyb3JQb2xpY3kiLCJwYXRoUmVnZXgiLCJ0ZXN0S2V5IiwicHJlZml4IiwibGFzdFF1ZXN0aW9uIiwibGFzdEluZGV4T2YiLCJ0ZXN0IiwiZXh0ZW5kIiwiRSIsImFzc2lnbiIsInBhZ2luYXRlZCIsInJlbW92ZUN1cnNvciIsImZpZWxkTmFtZSIsIl9yZWYiLCJwYXJhbXMiLCJfb2JqZWN0RGVzdHJ1Y3R1cmluZ0VtcHR5IiwiZm91bmQiLCJjcmVhdGVQYWdpbmF0ZWRTY2hlbWEiLCJjb2xsZWN0aW9uIiwibmV3U2NoZW1hIiwiRXJyb3IiLCJzdXAiLCJuYW1lIiwiZ2V0UGFnZSIsInBhZ2luYXRpb25GaWVsZCIsInB1c2giLCJzIiwidW5zaGlmdCIsInBhcnNlIiwiZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9SZXN0RW5kcG9pbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5kcG9pbnQgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHsgcGF0aFRvUmVnZXhwIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuXG5pbXBvcnQgZXh0cmFjdENvbGxlY3Rpb24gZnJvbSAnLi9leHRyYWN0Q29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgbWFwQ29sbGVjdGlvbiBmcm9tICcuL21hcENvbGxlY3Rpb24uanMnO1xuaW1wb3J0IE5ldHdvcmtFcnJvciBmcm9tICcuL05ldHdvcmtFcnJvci5qcyc7XG5pbXBvcnQgeyBjcmVhdGVQYWdpbmF0aW9uU2NoZW1hIH0gZnJvbSAnLi9wYWdpbmF0ZWRDb2xsZWN0aW9ucy5qcyc7XG5pbXBvcnQgcGFyYW1zVG9TdHJpbmcgZnJvbSAnLi9wYXJhbXNUb1N0cmluZy5qcyc7XG5pbXBvcnQgeyBnZXRVcmxCYXNlLCBnZXRVcmxUb2tlbnMsIGlzUG9qbyB9IGZyb20gJy4vUmVzdEhlbHBlcnMuanMnO1xuXG4vKiogU2ltcGxpZmllcyBlbmRwb2ludCBkZWZpbml0aW9ucyB0aGF0IGZvbGxvdyBSRVNUIHBhdHRlcm5zXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlc3RFbmRwb2ludCBleHRlbmRzIEVuZHBvaW50IHtcbiAgI2hhc0JvZHk7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICBzdXBlcihcbiAgICAgIG9wdGlvbnMuZmV0Y2ggPz9cbiAgICAgICAgYXN5bmMgZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgICAgICBjb25zdCB1cmxQYXJhbXMgPVxuICAgICAgICAgICAgdGhpcy4jaGFzQm9keSAmJiBhcmdzLmxlbmd0aCA8IDIgPyB7fSA6IGFyZ3NbMF0gfHwge307XG4gICAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuI2hhc0JvZHkgPyBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hSZXNwb25zZShcbiAgICAgICAgICAgIHRoaXMudXJsKHVybFBhcmFtcyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdldFJlcXVlc3RJbml0KGJvZHkpLFxuICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHRoaXMucGFyc2VSZXNwb25zZShyZXNwb25zZSkpXG4gICAgICAgICAgICAudGhlbihyZXMgPT4gdGhpcy5wcm9jZXNzKHJlcywgLi4uYXJncykpO1xuICAgICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICAgIC8vIHdlIHdhbnQgdG8gdXNlIHRoZSBwcm90b3R5cGUgY2hhaW4gaGVyZVxuICAgIGlmIChcbiAgICAgICEoJ3NpZGVFZmZlY3QnIGluIHRoaXMpIHx8XG4gICAgICAoJ21ldGhvZCcgaW4gb3B0aW9ucyAmJiAhKCdzaWRlRWZmZWN0JyBpbiBvcHRpb25zKSlcbiAgICApIHtcbiAgICAgIHRoaXMuc2lkZUVmZmVjdCA9XG4gICAgICAgIG9wdGlvbnMubWV0aG9kID09PSAnR0VUJyB8fCBvcHRpb25zLm1ldGhvZCA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgOiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5tZXRob2QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5tZXRob2QgPSB0aGlzLnNpZGVFZmZlY3QgPyAnUE9TVCcgOiAnR0VUJztcbiAgICB9XG4gICAgaWYgKHRoaXMudXJsUHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudXJsUHJlZml4ID0gJyc7XG4gICAgfVxuICAgIHRoaXMuI2hhc0JvZHkgPVxuICAgICAgKCEoJ2JvZHknIGluIHRoaXMpIHx8IHRoaXMuYm9keSAhPT0gdW5kZWZpbmVkKSAmJlxuICAgICAgIVsnR0VUJywgJ0RFTEVURSddLmluY2x1ZGVzKHRoaXMubWV0aG9kKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnbmFtZScsIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgLy8gdXNpbmcgJ2luJyB0byBlbnN1cmUgaW5oZXJpdGFuY2UgbG9va3VwXG4gICAgICAgIGlmICgnX19uYW1lJyBpbiB0aGlzKSByZXR1cm4gdGhpcy5fX25hbWU7XG4gICAgICAgIHJldHVybiB0aGlzLnVybFByZWZpeCArIHRoaXMucGF0aDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBrZXkoLi4uYXJncykge1xuICAgIHJldHVybiBgJHt0aGlzLm1ldGhvZH0gJHt0aGlzLnVybChcbiAgICAgIHRoaXMuI2hhc0JvZHkgJiYgYXJncy5sZW5ndGggPCAyID8ge30gOiBhcmdzWzBdIHx8IHt9LFxuICAgICl9YDtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIHVybCAqL1xuICB1cmwodXJsUGFyYW1zID0ge30pIHtcbiAgICBjb25zdCB1cmxCYXNlID0gZ2V0VXJsQmFzZSh0aGlzLnBhdGgpKHVybFBhcmFtcyk7XG4gICAgY29uc3QgdG9rZW5zID0gZ2V0VXJsVG9rZW5zKHRoaXMucGF0aCk7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0ge307XG4gICAgT2JqZWN0LmtleXModXJsUGFyYW1zKS5mb3JFYWNoKGsgPT4ge1xuICAgICAgaWYgKCF0b2tlbnMuaGFzKGspKSB7XG4gICAgICAgIHNlYXJjaFBhcmFtc1trXSA9IHVybFBhcmFtc1trXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoT2JqZWN0LmtleXMoc2VhcmNoUGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnVybFByZWZpeH0ke3VybEJhc2V9PyR7dGhpcy5zZWFyY2hUb1N0cmluZyhzZWFyY2hQYXJhbXMpfWA7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLnVybFByZWZpeH0ke3VybEJhc2V9YDtcbiAgfVxuXG4gIC8qKiBFbmNvZGUgdGhlIHVybCBzZWFyY2hQYXJhbXMgKi9cbiAgc2VhcmNoVG9TdHJpbmcoc2VhcmNoUGFyYW1zKSB7XG4gICAgcmV0dXJuIHBhcmFtc1RvU3RyaW5nKHNlYXJjaFBhcmFtcyk7XG4gIH1cblxuICBnZXRIZWFkZXJzKGhlYWRlcnMpIHtcbiAgICByZXR1cm4gaGVhZGVycztcbiAgfVxuXG4gIC8qKiBJbml0IG9wdGlvbnMgZm9yIGZldGNoIC0gcnVuIGF0IGZldGNoICovXG4gIGFzeW5jIGdldFJlcXVlc3RJbml0KGJvZHkpIHtcbiAgICBjb25zdCBib2R5SXNQb2pvID0gaXNQb2pvKGJvZHkpO1xuICAgIGlmIChib2R5SXNQb2pvKSB7XG4gICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoYm9keSk7XG4gICAgfVxuICAgIGNvbnN0IGluaXQgPSB7XG4gICAgICAuLi50aGlzLnJlcXVlc3RJbml0LFxuICAgICAgbWV0aG9kOiB0aGlzLm1ldGhvZCxcbiAgICAgIHNpZ25hbDogdGhpcy5zaWduYWwsXG4gICAgICBib2R5LFxuICAgIH07XG4gICAgaWYgKCFib2R5IHx8IGJvZHlJc1Bvam8pIHtcbiAgICAgIGluaXQuaGVhZGVycyA9IHtcbiAgICAgICAgLy8gZGVmYXVsdCB0byBhcHBsaWNhdGlvbi9qc29uIGJ1dCBhbGxvdyB1c2VyIGV4cGxpY2l0IG92ZXJyaWRlc1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAuLi5pbml0LmhlYWRlcnMsXG4gICAgICB9O1xuICAgIH1cbiAgICBpbml0LmhlYWRlcnMgPSBhd2FpdCB0aGlzLmdldEhlYWRlcnMoaW5pdC5oZWFkZXJzKTtcbiAgICByZXR1cm4gaW5pdDtcbiAgfVxuXG4gIC8qKiBQZXJmb3JtIG5ldHdvcmsgcmVxdWVzdCBhbmQgcmVzb2x2ZSB3aXRoIEhUVFAgUmVzcG9uc2UgKi9cbiAgZmV0Y2hSZXNwb25zZShpbnB1dCwgaW5pdCkge1xuICAgIHJldHVybiBmZXRjaChpbnB1dCwgaW5pdClcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBOZXR3b3JrRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAvLyBlbnN1cmUgQ09SUywgbmV0d29yayBkb3duLCBhbmQgcGFyc2UgZXJyb3JzIGFyZSBzdGlsbCBjYXVnaHQgYnkgTmV0d29ya0Vycm9yQm91bmRhcnlcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7XG4gICAgICAgICAgZXJyb3Iuc3RhdHVzID0gNTAwO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gIH1cblxuICBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSB7XG4gICAgLy8gdGhpcyBzaG91bGQgbm90IGhhdmUgYW55IGNvbnRlbnQgdG8gcmVhZFxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwNCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICBpZiAoIXJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2pzb24nKSkge1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKS50aGVuKHRleHQgPT4ge1xuICAgICAgICAvLyBzdHJpbmcgb3IgJ25vdCBzZXQnIHNjaGVtYSwgYXJlIHZhbGlkXG4gICAgICAgIC8vIHdoZW4gb3ZlcnJpZGluZyBwcm9jZXNzIHRoZXkgbWlnaHQgaGFuZGxlIG90aGVyIGNhc2VzLCBzbyB3ZSBkb24ndCB3YW50IHRvIGJsb2NrIG9uIG91ciBsb2dpY1xuICAgICAgICBpZiAoXG4gICAgICAgICAgWydzdHJpbmcnLCAndW5kZWZpbmVkJ10uaW5jbHVkZXModHlwZW9mIHRoaXMuc2NoZW1hKSB8fFxuICAgICAgICAgIHRoaXMuc2NoZW1hID09PSBudWxsIHx8XG4gICAgICAgICAgdGhpcy5wcm9jZXNzICE9PSBSZXN0RW5kcG9pbnQucHJvdG90eXBlLnByb2Nlc3NcbiAgICAgICAgKVxuICAgICAgICAgIHJldHVybiB0ZXh0O1xuXG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IE5ldHdvcmtFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIGVycm9yLnN0YXR1cyA9IDQwNDtcbiAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIHRleHQgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfWA7XG4gICAgICAgIC8vIGN1c3RvbSBkZXYtb25seSBtZXNzYWdlcyBmb3IgbW9yZSBkZXRhaWxlZCBjYXVzZVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2h0bWwnKSB8fFxuICAgICAgICAgICAgICB0ZXh0LnN0YXJ0c1dpdGgoJzwhZG9jdHlwZSBodG1sPicpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAodHJ5UGFyc2UodGV4dCkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gYFwiY29udGVudC10eXBlXCIgaGVhZGVyIGRvZXMgbm90IGluY2x1ZGUgXCJqc29uXCIsIGJ1dCBKU09OIHJlc3BvbnNlIGZvdW5kLlxuU2VlIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM0NjI3IGZvciBpbmZvcm1hdGlvbiBvbiBKU09OIHJlc3BvbnNlc1xuXG5Vc2luZyBwYXJzZWQgSlNPTi5cbklmIHRleHQgY29udGVudCB3YXMgZXhwZWN0ZWQgc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjcGFyc2VSZXNwb25zZWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgVW5leHBlY3RlZCBodG1sIHJlc3BvbnNlIGZvciBzY2hlbWEgJHt0aGlzLnNjaGVtYX1cblRoaXMgbGlrZWx5IG1lYW5zIG5vIEFQSSBlbmRwb2ludCB3YXMgY29uZmlndXJlZCBmb3IgdGhpcyByZXF1ZXN0LCByZXN1bHRpbmcgaW4gYW4gSFRNTCBmYWxsYmFjay5cblxuUmVzcG9uc2UgKGZpcnN0IDMwMCBjaGFyYWN0ZXJzKTogJHt0ZXh0LnN1YnN0cmluZygwLCAzMDApfWA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXNwb25zZS5qc29uKCkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgZXJyb3Iuc3RhdHVzID0gNDAwO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG4gIH1cblxuICBwcm9jZXNzKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgZXJyb3JQb2xpY3koZXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID49IDUwMCA/ICdzb2Z0JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBwYXRoUmVnZXgoKSB7XG4gICAgcmV0dXJuIHBhdGhUb1JlZ2V4cCh0aGlzLnBhdGgpO1xuICB9XG5cbiAgdGVzdEtleShrZXkpIHtcbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLm1ldGhvZCArICcgJyArIHRoaXMudXJsUHJlZml4O1xuICAgIGlmICgha2V5LnN0YXJ0c1dpdGgocHJlZml4KSkgcmV0dXJuIGZhbHNlO1xuICAgIGxldCBsYXN0UXVlc3Rpb24gPSBrZXkubGFzdEluZGV4T2YoJz8nKTtcbiAgICBpZiAobGFzdFF1ZXN0aW9uID09PSAtMSkgbGFzdFF1ZXN0aW9uID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnBhdGhSZWdleC50ZXN0KGtleS5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCwgbGFzdFF1ZXN0aW9uKSk7XG4gIH1cblxuICBleHRlbmQob3B0aW9ucykge1xuICAgIC8vIG1ha2UgYSBjb25zdHJ1Y3Rvci9wcm90b3R5cGUgYmFzZWQgb2ZmIHRoaXNcbiAgICAvLyBleHRlbmQgZnJvbSBpdCBhbmQgaW5pdCB3aXRoIG9wdGlvbnMgc2VudFxuICAgIGNsYXNzIEUgZXh0ZW5kcyB0aGlzLmNvbnN0cnVjdG9yIHt9XG5cbiAgICBPYmplY3QuYXNzaWduKEUucHJvdG90eXBlLCB0aGlzKTtcblxuICAgIHJldHVybiBuZXcgRShcbiAgICAgIC8vICBmZXRjaCBnZXQgb3ZlcnJpZGRlbiBieSBmdW5jdGlvbiBwcm90b3R5cGUsIHNvIHdlIG11c3Qgc2V0IGl0IGV4cGxpY2l0bHkgZXZlcnkgdGltZVxuICAgICAgeyBmZXRjaDogdGhpcy5mZXRjaCwgLi4ub3B0aW9ucyB9LFxuICAgICk7XG4gIH1cblxuICBwYWdpbmF0ZWQocmVtb3ZlQ3Vyc29yKSB7XG4gICAgaWYgKHR5cGVvZiByZW1vdmVDdXJzb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSByZW1vdmVDdXJzb3I7XG4gICAgICByZW1vdmVDdXJzb3IgPSAoeyAuLi5wYXJhbXMgfSkgPT4ge1xuICAgICAgICBkZWxldGUgcGFyYW1zW2ZpZWxkTmFtZV07XG4gICAgICAgIHJldHVybiBbcGFyYW1zXTtcbiAgICAgIH07XG4gICAgfVxuICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgIGNvbnN0IGNyZWF0ZVBhZ2luYXRlZFNjaGVtYSA9IGNvbGxlY3Rpb24gPT4ge1xuICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgcmV0dXJuIGNyZWF0ZVBhZ2luYXRpb25TY2hlbWEocmVtb3ZlQ3Vyc29yLCBjb2xsZWN0aW9uKTtcbiAgICB9O1xuICAgIGNvbnN0IG5ld1NjaGVtYSA9IG1hcENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIGNyZWF0ZVBhZ2luYXRlZFNjaGVtYSk7XG5cbiAgICBpZiAoIWZvdW5kKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQ29sbGVjdGlvbicpO1xuICAgIGNvbnN0IHN1cCA9IHRoaXM7XG5cbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgc2NoZW1hOiBuZXdTY2hlbWEsXG4gICAgICBrZXkoLi4uYXJncykge1xuICAgICAgICByZXR1cm4gc3VwLmtleS5jYWxsKHRoaXMsIC4uLnJlbW92ZUN1cnNvciguLi5hcmdzKSk7XG4gICAgICB9LFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJy5nZXRQYWdlJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBnZXRQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLnBhZ2luYXRlZCh0aGlzLnBhZ2luYXRpb25GaWVsZCk7XG4gIH1cblxuICBnZXQgcHVzaCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMucHVzaCksXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmNyZWF0ZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgdW5zaGlmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMudW5zaGlmdCksXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmNyZWF0ZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgYXNzaWduKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy5hc3NpZ24pLFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJy5jcmVhdGUnLFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IHRyeVBhcnNlID0gaW5wdXQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGlucHV0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsU0FBU0EsUUFBUSxRQUFRLHVCQUF1QjtBQUNoRCxTQUFTQyxZQUFZLFFBQVEsZ0JBQWdCO0FBRTdDLE9BQU9DLGlCQUFpQixNQUFNLHdCQUF3QjtBQUN0RCxPQUFPQyxhQUFhLE1BQU0sb0JBQW9CO0FBQzlDLE9BQU9DLFlBQVksTUFBTSxtQkFBbUI7QUFDNUMsU0FBU0Msc0JBQXNCLFFBQVEsMkJBQTJCO0FBQ2xFLE9BQU9DLGNBQWMsTUFBTSxxQkFBcUI7QUFDaEQsU0FBU0MsVUFBVSxFQUFFQyxZQUFZLEVBQUVDLE1BQU0sUUFBUSxrQkFBa0I7O0FBRW5FO0FBQ0E7QUFDQTtBQUNBO0FBSEEsSUFBQUMsUUFBQSxnQkFBQUMsMEJBQUE7QUFJQSxlQUFlLE1BQU1DLFlBQVksU0FBU1osUUFBUSxDQUFDO0VBRWpEYSxXQUFXQSxDQUFDQyxPQUFPLEVBQUU7SUFBQSxJQUFBQyxjQUFBLEVBQUFDLFFBQUE7SUFDbkIsS0FBSyxFQUFBRCxjQUFBLEdBQ0hELE9BQU8sQ0FBQ0csS0FBSyxZQUFBRixjQUFBLEdBQ1gsZ0JBQWdCLEdBQUdHLElBQUksRUFBRTtNQUN2QixNQUFNQyxTQUFTLEdBQ2JDLDJCQUFBLEtBQUksRUFBQVYsUUFBQSxFQUFBQSxRQUFBLEtBQWFRLElBQUksQ0FBQ0csTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBR0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztNQUN2RCxNQUFNSSxJQUFJLEdBQUdGLDJCQUFBLEtBQUksRUFBQVYsUUFBQSxFQUFBQSxRQUFBLElBQVlRLElBQUksQ0FBQ0EsSUFBSSxDQUFDRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUdFLFNBQVM7TUFDOUQsT0FBTyxJQUFJLENBQUNDLGFBQWEsQ0FDdkIsSUFBSSxDQUFDQyxHQUFHLENBQUNOLFNBQVMsQ0FBQyxFQUNuQixNQUFNLElBQUksQ0FBQ08sY0FBYyxDQUFDSixJQUFJLENBQ2hDLENBQUMsQ0FDRUssSUFBSSxDQUFDQyxRQUFRLElBQUksSUFBSSxDQUFDQyxhQUFhLENBQUNELFFBQVEsQ0FBQyxDQUFDLENBQzlDRCxJQUFJLENBQUNHLEdBQUcsSUFBSSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0QsR0FBRyxFQUFFLEdBQUdaLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUMsRUFDSEosT0FDRixDQUFDO0lBQ0Q7SUFBQWtCLE1BQUEsQ0FBQUMsY0FBQSxPQUFBdkIsUUFBQTtNQUFBd0IsUUFBQTtNQUFBQyxLQUFBO0lBQUE7SUFDQSxJQUNFLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxJQUN0QixRQUFRLElBQUlyQixPQUFPLElBQUksRUFBRSxZQUFZLElBQUlBLE9BQU8sQ0FBRSxFQUNuRDtNQUNBLElBQUksQ0FBQ3NCLFVBQVUsR0FDYnRCLE9BQU8sQ0FBQ3VCLE1BQU0sS0FBSyxLQUFLLElBQUl2QixPQUFPLENBQUN1QixNQUFNLEtBQUtkLFNBQVMsR0FDdERBLFNBQVMsR0FDVCxJQUFJO0lBQ1Y7SUFDQSxJQUFJLElBQUksQ0FBQ2MsTUFBTSxLQUFLZCxTQUFTLEVBQUU7TUFDN0IsSUFBSSxDQUFDYyxNQUFNLEdBQUcsSUFBSSxDQUFDRCxVQUFVLEdBQUcsTUFBTSxHQUFHLEtBQUs7SUFDaEQ7SUFDQSxJQUFJLElBQUksQ0FBQ0UsU0FBUyxLQUFLZixTQUFTLEVBQUU7TUFDaEMsSUFBSSxDQUFDZSxTQUFTLEdBQUcsRUFBRTtJQUNyQjtJQUNBbEIsMkJBQUEsS0FBSSxFQUFBVixRQUFBLEVBQUFBLFFBQUEsSUFDRixDQUFDLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQ1ksSUFBSSxLQUFLQyxTQUFTLEtBQzdDLENBQUNnQix5QkFBQSxDQUFBdkIsUUFBQSxJQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBQXdCLElBQUEsQ0FBQXhCLFFBQUEsRUFBVSxJQUFJLENBQUNxQixNQUFNLENBQUM7SUFFMUNMLE1BQU0sQ0FBQ0MsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7TUFDbENRLEdBQUdBLENBQUEsRUFBRztRQUNKO1FBQ0EsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFLE9BQU8sSUFBSSxDQUFDQyxNQUFNO1FBQ3hDLE9BQU8sSUFBSSxDQUFDSixTQUFTLEdBQUcsSUFBSSxDQUFDSyxJQUFJO01BQ25DO0lBQ0YsQ0FBQyxDQUFDO0VBQ0o7RUFFQUMsR0FBR0EsQ0FBQyxHQUFHMUIsSUFBSSxFQUFFO0lBQ1gsT0FBTyxHQUFHLElBQUksQ0FBQ21CLE1BQU0sSUFBSSxJQUFJLENBQUNaLEdBQUcsQ0FDL0JMLDJCQUFBLEtBQUksRUFBQVYsUUFBQSxFQUFBQSxRQUFBLEtBQWFRLElBQUksQ0FBQ0csTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBR0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDdEQsQ0FBQyxFQUFFO0VBQ0w7O0VBRUE7RUFDQU8sR0FBR0EsQ0FBQ04sU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFO0lBQ2xCLE1BQU0wQixPQUFPLEdBQUd0QyxVQUFVLENBQUMsSUFBSSxDQUFDb0MsSUFBSSxDQUFDLENBQUN4QixTQUFTLENBQUM7SUFDaEQsTUFBTTJCLE1BQU0sR0FBR3RDLFlBQVksQ0FBQyxJQUFJLENBQUNtQyxJQUFJLENBQUM7SUFDdEMsTUFBTUksWUFBWSxHQUFHLENBQUMsQ0FBQztJQUN2QmYsTUFBTSxDQUFDZ0IsSUFBSSxDQUFDN0IsU0FBUyxDQUFDLENBQUM4QixPQUFPLENBQUNDLENBQUMsSUFBSTtNQUNsQyxJQUFJLENBQUNKLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDRCxDQUFDLENBQUMsRUFBRTtRQUNsQkgsWUFBWSxDQUFDRyxDQUFDLENBQUMsR0FBRy9CLFNBQVMsQ0FBQytCLENBQUMsQ0FBQztNQUNoQztJQUNGLENBQUMsQ0FBQztJQUNGLElBQUlsQixNQUFNLENBQUNnQixJQUFJLENBQUNELFlBQVksQ0FBQyxDQUFDMUIsTUFBTSxFQUFFO01BQ3BDLE9BQU8sR0FBRyxJQUFJLENBQUNpQixTQUFTLEdBQUdPLE9BQU8sSUFBSSxJQUFJLENBQUNPLGNBQWMsQ0FBQ0wsWUFBWSxDQUFDLEVBQUU7SUFDM0U7SUFDQSxPQUFPLEdBQUcsSUFBSSxDQUFDVCxTQUFTLEdBQUdPLE9BQU8sRUFBRTtFQUN0Qzs7RUFFQTtFQUNBTyxjQUFjQSxDQUFDTCxZQUFZLEVBQUU7SUFDM0IsT0FBT3pDLGNBQWMsQ0FBQ3lDLFlBQVksQ0FBQztFQUNyQztFQUVBTSxVQUFVQSxDQUFDQyxPQUFPLEVBQUU7SUFDbEIsT0FBT0EsT0FBTztFQUNoQjs7RUFFQTtFQUNBLE1BQU01QixjQUFjQSxDQUFDSixJQUFJLEVBQUU7SUFDekIsTUFBTWlDLFVBQVUsR0FBRzlDLE1BQU0sQ0FBQ2EsSUFBSSxDQUFDO0lBQy9CLElBQUlpQyxVQUFVLEVBQUU7TUFDZGpDLElBQUksR0FBR2tDLElBQUksQ0FBQ0MsU0FBUyxDQUFDbkMsSUFBSSxDQUFDO0lBQzdCO0lBQ0EsTUFBTW9DLElBQUksR0FBQUMsUUFBQSxLQUNMLElBQUksQ0FBQ0MsV0FBVztNQUNuQnZCLE1BQU0sRUFBRSxJQUFJLENBQUNBLE1BQU07TUFDbkJ3QixNQUFNLEVBQUUsSUFBSSxDQUFDQSxNQUFNO01BQ25CdkM7SUFBSSxFQUNMO0lBQ0QsSUFBSSxDQUFDQSxJQUFJLElBQUlpQyxVQUFVLEVBQUU7TUFDdkJHLElBQUksQ0FBQ0osT0FBTyxHQUFBSyxRQUFBO1FBQ1Y7UUFDQSxjQUFjLEVBQUU7TUFBa0IsR0FDL0JELElBQUksQ0FBQ0osT0FBTyxDQUNoQjtJQUNIO0lBQ0FJLElBQUksQ0FBQ0osT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDRCxVQUFVLENBQUNLLElBQUksQ0FBQ0osT0FBTyxDQUFDO0lBQ2xELE9BQU9JLElBQUk7RUFDYjs7RUFFQTtFQUNBbEMsYUFBYUEsQ0FBQ3NDLEtBQUssRUFBRUosSUFBSSxFQUFFO0lBQ3pCLE9BQU96QyxLQUFLLENBQUM2QyxLQUFLLEVBQUVKLElBQUksQ0FBQyxDQUN0Qi9CLElBQUksQ0FBQ0MsUUFBUSxJQUFJO01BQ2hCLElBQUksQ0FBQ0EsUUFBUSxDQUFDbUMsRUFBRSxFQUFFO1FBQ2hCLE1BQU0sSUFBSTNELFlBQVksQ0FBQ3dCLFFBQVEsQ0FBQztNQUNsQztNQUNBLE9BQU9BLFFBQVE7SUFDakIsQ0FBQyxDQUFDLENBQ0RvQyxLQUFLLENBQUNDLEtBQUssSUFBSTtNQUNkO01BQ0EsSUFBSUEsS0FBSyxZQUFZQyxTQUFTLEVBQUU7UUFDOUJELEtBQUssQ0FBQ0UsTUFBTSxHQUFHLEdBQUc7TUFDcEI7TUFDQSxNQUFNRixLQUFLO0lBQ2IsQ0FBQyxDQUFDO0VBQ047RUFFQXBDLGFBQWFBLENBQUNELFFBQVEsRUFBRTtJQUFBLElBQUF3QyxxQkFBQTtJQUN0QjtJQUNBLElBQUl4QyxRQUFRLENBQUN1QyxNQUFNLEtBQUssR0FBRyxFQUFFLE9BQU9FLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQztJQUN6RCxJQUFJLEdBQUFGLHFCQUFBLEdBQUN4QyxRQUFRLENBQUMwQixPQUFPLENBQUNiLEdBQUcsQ0FBQyxjQUFjLENBQUMsYUFBcENGLHlCQUFBLENBQUE2QixxQkFBQSxFQUFBNUIsSUFBQSxDQUFBNEIscUJBQUEsRUFBK0MsTUFBTSxDQUFDLEdBQUU7TUFDM0QsT0FBT3hDLFFBQVEsQ0FBQzJDLElBQUksQ0FBQyxDQUFDLENBQUM1QyxJQUFJLENBQUM0QyxJQUFJLElBQUk7UUFBQSxJQUFBQyxTQUFBO1FBQ2xDO1FBQ0E7UUFDQSxJQUNFakMseUJBQUEsQ0FBQWlDLFNBQUEsSUFBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUFoQyxJQUFBLENBQUFnQyxTQUFBLEVBQVUsT0FBTyxJQUFJLENBQUNDLE1BQU0sQ0FBQyxJQUNwRCxJQUFJLENBQUNBLE1BQU0sS0FBSyxJQUFJLElBQ3BCLElBQUksQ0FBQzFDLE9BQU8sS0FBS25CLFlBQVksQ0FBQzhELFNBQVMsQ0FBQzNDLE9BQU8sRUFFL0MsT0FBT3dDLElBQUk7UUFFYixNQUFNTixLQUFLLEdBQUcsSUFBSTdELFlBQVksQ0FBQ3dCLFFBQVEsQ0FBQztRQUN4Q3FDLEtBQUssQ0FBQ0UsTUFBTSxHQUFHLEdBQUc7UUFDbEJGLEtBQUssQ0FBQ1UsT0FBTyxHQUFHLHVDQUF1QyxJQUFJLENBQUNGLE1BQU0sRUFBRTtRQUNwRTtRQUNBO1FBQ0EsSUFBSTFDLE9BQU8sQ0FBQzZDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksRUFBRTtVQUFBLElBQUFDLHNCQUFBO1VBQ3pDLElBQ0UsRUFDRSxDQUFBQSxzQkFBQSxHQUFBbEQsUUFBUSxDQUFDMEIsT0FBTyxDQUFDYixHQUFHLENBQUMsY0FBYyxDQUFDLGFBQXBDRix5QkFBQSxDQUFBdUMsc0JBQUEsRUFBQXRDLElBQUEsQ0FBQXNDLHNCQUFBLEVBQStDLE1BQU0sQ0FBQyxJQUN0RFAsSUFBSSxDQUFDUSxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FDbkMsRUFDRDtZQUNBLElBQUlDLFFBQVEsQ0FBQ1QsSUFBSSxDQUFDLEtBQUtoRCxTQUFTLEVBQUU7Y0FDaEMwQyxLQUFLLENBQUNVLE9BQU8sR0FBRztBQUM5QjtBQUNBO0FBQ0E7QUFDQSwyRkFBMkY7WUFDL0U7VUFDRixDQUFDLE1BQU07WUFDTFYsS0FBSyxDQUFDVSxPQUFPLEdBQUcsdUNBQXVDLElBQUksQ0FBQ0YsTUFBTTtBQUM5RTtBQUNBO0FBQ0EsbUNBQW1DRixJQUFJLENBQUNVLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7VUFDakQ7UUFDRjtRQUNBLE1BQU1oQixLQUFLO01BQ2IsQ0FBQyxDQUFDO0lBQ0o7SUFDQSxPQUFPckMsUUFBUSxDQUFDc0QsSUFBSSxDQUFDLENBQUMsQ0FBQ2xCLEtBQUssQ0FBQ0MsS0FBSyxJQUFJO01BQ3BDQSxLQUFLLENBQUNFLE1BQU0sR0FBRyxHQUFHO01BQ2xCLE1BQU1GLEtBQUs7SUFDYixDQUFDLENBQUM7RUFDSjtFQUVBbEMsT0FBT0EsQ0FBQ0ksS0FBSyxFQUFFO0lBQ2IsT0FBT0EsS0FBSztFQUNkO0VBRUFnRCxXQUFXQSxDQUFDbEIsS0FBSyxFQUFFO0lBQ2pCLE9BQU9BLEtBQUssQ0FBQ0UsTUFBTSxJQUFJLEdBQUcsR0FBRyxNQUFNLEdBQUc1QyxTQUFTO0VBQ2pEO0VBRUEsSUFBSTZELFNBQVNBLENBQUEsRUFBRztJQUNkLE9BQU9uRixZQUFZLENBQUMsSUFBSSxDQUFDMEMsSUFBSSxDQUFDO0VBQ2hDO0VBRUEwQyxPQUFPQSxDQUFDekMsR0FBRyxFQUFFO0lBQ1gsTUFBTTBDLE1BQU0sR0FBRyxJQUFJLENBQUNqRCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQ0MsU0FBUztJQUNqRCxJQUFJLENBQUNNLEdBQUcsQ0FBQ21DLFVBQVUsQ0FBQ08sTUFBTSxDQUFDLEVBQUUsT0FBTyxLQUFLO0lBQ3pDLElBQUlDLFlBQVksR0FBRzNDLEdBQUcsQ0FBQzRDLFdBQVcsQ0FBQyxHQUFHLENBQUM7SUFDdkMsSUFBSUQsWUFBWSxLQUFLLENBQUMsQ0FBQyxFQUFFQSxZQUFZLEdBQUdoRSxTQUFTO0lBQ2pELE9BQU8sSUFBSSxDQUFDNkQsU0FBUyxDQUFDSyxJQUFJLENBQUM3QyxHQUFHLENBQUNxQyxTQUFTLENBQUNLLE1BQU0sQ0FBQ2pFLE1BQU0sRUFBRWtFLFlBQVksQ0FBQyxDQUFDO0VBQ3hFO0VBRUFHLE1BQU1BLENBQUM1RSxPQUFPLEVBQUU7SUFDZDtJQUNBO0lBQ0EsTUFBTTZFLENBQUMsU0FBUyxJQUFJLENBQUM5RSxXQUFXLENBQUM7SUFFakNtQixNQUFNLENBQUM0RCxNQUFNLENBQUNELENBQUMsQ0FBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUM7SUFFaEMsT0FBTyxJQUFJaUIsQ0FBQyxDQUNWO0lBQUFoQyxRQUFBO01BQ0UxQyxLQUFLLEVBQUUsSUFBSSxDQUFDQTtJQUFLLEdBQUtILE9BQU8sQ0FDakMsQ0FBQztFQUNIO0VBRUErRSxTQUFTQSxDQUFDQyxZQUFZLEVBQUU7SUFDdEIsSUFBSSxPQUFPQSxZQUFZLEtBQUssUUFBUSxFQUFFO01BQ3BDLE1BQU1DLFNBQVMsR0FBR0QsWUFBWTtNQUM5QkEsWUFBWSxHQUFHRSxJQUFBLElBQW1CO1FBQUEsSUFBYkMsTUFBTSxHQUFBdEMsUUFBQSxNQUFBdUMseUJBQUEsQ0FBQUYsSUFBQSxHQUFBQSxJQUFBO1FBQ3pCLE9BQU9DLE1BQU0sQ0FBQ0YsU0FBUyxDQUFDO1FBQ3hCLE9BQU8sQ0FBQ0UsTUFBTSxDQUFDO01BQ2pCLENBQUM7SUFDSDtJQUNBLElBQUlFLEtBQUssR0FBRyxLQUFLO0lBQ2pCLE1BQU1DLHFCQUFxQixHQUFHQyxVQUFVLElBQUk7TUFDMUNGLEtBQUssR0FBRyxJQUFJO01BQ1osT0FBTzlGLHNCQUFzQixDQUFDeUYsWUFBWSxFQUFFTyxVQUFVLENBQUM7SUFDekQsQ0FBQztJQUNELE1BQU1DLFNBQVMsR0FBR25HLGFBQWEsQ0FBQyxJQUFJLENBQUNzRSxNQUFNLEVBQUUyQixxQkFBcUIsQ0FBQztJQUVuRSxJQUFJLENBQUNELEtBQUssRUFBRSxNQUFNLElBQUlJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQztJQUNqRCxNQUFNQyxHQUFHLEdBQUcsSUFBSTtJQUVoQixPQUFPLElBQUksQ0FBQ2QsTUFBTSxDQUFDO01BQ2pCakIsTUFBTSxFQUFFNkIsU0FBUztNQUNqQjFELEdBQUdBLENBQUMsR0FBRzFCLElBQUksRUFBRTtRQUNYLE9BQU9zRixHQUFHLENBQUM1RCxHQUFHLENBQUNKLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBR3NELFlBQVksQ0FBQyxHQUFHNUUsSUFBSSxDQUFDLENBQUM7TUFDckQsQ0FBQztNQUNEdUYsSUFBSSxFQUFFLElBQUksQ0FBQ0EsSUFBSSxHQUFHO0lBQ3BCLENBQUMsQ0FBQztFQUNKO0VBRUEsSUFBSUMsT0FBT0EsQ0FBQSxFQUFHO0lBQ1osT0FBTyxJQUFJLENBQUNiLFNBQVMsQ0FBQyxJQUFJLENBQUNjLGVBQWUsQ0FBQztFQUM3QztFQUVBLElBQUlDLElBQUlBLENBQUEsRUFBRztJQUNULE9BQU8sSUFBSSxDQUFDbEIsTUFBTSxDQUFDO01BQ2pCckQsTUFBTSxFQUFFLE1BQU07TUFDZG9DLE1BQU0sRUFBRXZFLGlCQUFpQixDQUFDLElBQUksQ0FBQ3VFLE1BQU0sRUFBRW9DLENBQUMsSUFBSUEsQ0FBQyxDQUFDRCxJQUFJLENBQUM7TUFDbkRILElBQUksRUFBRSxJQUFJLENBQUNBLElBQUksR0FBRztJQUNwQixDQUFDLENBQUM7RUFDSjtFQUVBLElBQUlLLE9BQU9BLENBQUEsRUFBRztJQUNaLE9BQU8sSUFBSSxDQUFDcEIsTUFBTSxDQUFDO01BQ2pCckQsTUFBTSxFQUFFLE1BQU07TUFDZG9DLE1BQU0sRUFBRXZFLGlCQUFpQixDQUFDLElBQUksQ0FBQ3VFLE1BQU0sRUFBRW9DLENBQUMsSUFBSUEsQ0FBQyxDQUFDQyxPQUFPLENBQUM7TUFDdERMLElBQUksRUFBRSxJQUFJLENBQUNBLElBQUksR0FBRztJQUNwQixDQUFDLENBQUM7RUFDSjtFQUVBLElBQUliLE1BQU1BLENBQUEsRUFBRztJQUNYLE9BQU8sSUFBSSxDQUFDRixNQUFNLENBQUM7TUFDakJyRCxNQUFNLEVBQUUsTUFBTTtNQUNkb0MsTUFBTSxFQUFFdkUsaUJBQWlCLENBQUMsSUFBSSxDQUFDdUUsTUFBTSxFQUFFb0MsQ0FBQyxJQUFJQSxDQUFDLENBQUNqQixNQUFNLENBQUM7TUFDckRhLElBQUksRUFBRSxJQUFJLENBQUNBLElBQUksR0FBRztJQUNwQixDQUFDLENBQUM7RUFDSjtBQUNGO0FBRUEsTUFBTXpCLFFBQVEsR0FBR2xCLEtBQUssSUFBSTtFQUN4QixJQUFJO0lBQ0YsT0FBT04sSUFBSSxDQUFDdUQsS0FBSyxDQUFDakQsS0FBSyxDQUFDO0VBQzFCLENBQUMsQ0FBQyxPQUFPa0QsQ0FBQyxFQUFFO0lBQ1YsT0FBT3pGLFNBQVM7RUFDbEI7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
236
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsImNyZWF0ZVBhZ2luYXRpb25TY2hlbWEiLCJwYXJhbXNUb1N0cmluZyIsImdldFVybEJhc2UiLCJnZXRVcmxUb2tlbnMiLCJpc1Bvam8iLCJfaGFzQm9keSIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlS2V5IiwiUmVzdEVuZHBvaW50IiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiX29wdGlvbnMkZmV0Y2giLCJmZXRjaCIsImFyZ3MiLCJ1cmxQYXJhbXMiLCJfY2xhc3NQcml2YXRlRmllbGRMb29zZUJhc2UiLCJsZW5ndGgiLCJib2R5IiwidW5kZWZpbmVkIiwiZmV0Y2hSZXNwb25zZSIsInVybCIsImdldFJlcXVlc3RJbml0IiwidGhlbiIsInJlc3BvbnNlIiwicGFyc2VSZXNwb25zZSIsInJlcyIsInByb2Nlc3MiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsIndyaXRhYmxlIiwidmFsdWUiLCJzaWRlRWZmZWN0IiwibWV0aG9kIiwidXJsUHJlZml4IiwiaW5jbHVkZXMiLCJnZXQiLCJfX25hbWUiLCJwYXRoIiwia2V5IiwidXJsQmFzZSIsInRva2VucyIsInNlYXJjaFBhcmFtcyIsImtleXMiLCJmb3JFYWNoIiwiayIsImhhcyIsInNlYXJjaFRvU3RyaW5nIiwiZ2V0SGVhZGVycyIsImhlYWRlcnMiLCJib2R5SXNQb2pvIiwiSlNPTiIsInN0cmluZ2lmeSIsImluaXQiLCJfZXh0ZW5kcyIsInJlcXVlc3RJbml0Iiwic2lnbmFsIiwiaW5wdXQiLCJvayIsImNhdGNoIiwiZXJyb3IiLCJUeXBlRXJyb3IiLCJzdGF0dXMiLCJfcmVzcG9uc2UkaGVhZGVycyRnZXQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRleHQiLCJzY2hlbWEiLCJwcm90b3R5cGUiLCJtZXNzYWdlIiwiZW52IiwiTk9ERV9FTlYiLCJfcmVzcG9uc2UkaGVhZGVycyRnZXQyIiwic3RhcnRzV2l0aCIsInRyeVBhcnNlIiwic3Vic3RyaW5nIiwianNvbiIsImVycm9yUG9saWN5IiwicGF0aFJlZ2V4IiwidGVzdEtleSIsInByZWZpeCIsImxhc3RRdWVzdGlvbiIsImxhc3RJbmRleE9mIiwidGVzdCIsImV4dGVuZCIsIkUiLCJhc3NpZ24iLCJwYWdpbmF0ZWQiLCJyZW1vdmVDdXJzb3IiLCJmaWVsZE5hbWUiLCJfcmVmIiwicGFyYW1zIiwiX29iamVjdERlc3RydWN0dXJpbmdFbXB0eSIsImZvdW5kIiwiY3JlYXRlUGFnaW5hdGVkU2NoZW1hIiwiY29sbGVjdGlvbiIsIm5ld1NjaGVtYSIsIkVycm9yIiwic3VwIiwiY2FsbCIsIm5hbWUiLCJnZXRQYWdlIiwicGFnaW5hdGlvbkZpZWxkIiwicHVzaCIsInMiLCJ1bnNoaWZ0IiwicGFyc2UiLCJlIl0sInNvdXJjZXMiOlsiLi4vc3JjL1Jlc3RFbmRwb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmRwb2ludCB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgeyBwYXRoVG9SZWdleHAgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCBleHRyYWN0Q29sbGVjdGlvbiBmcm9tICcuL2V4dHJhY3RDb2xsZWN0aW9uLmpzJztcbmltcG9ydCBtYXBDb2xsZWN0aW9uIGZyb20gJy4vbWFwQ29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgTmV0d29ya0Vycm9yIGZyb20gJy4vTmV0d29ya0Vycm9yLmpzJztcbmltcG9ydCB7IGNyZWF0ZVBhZ2luYXRpb25TY2hlbWEgfSBmcm9tICcuL3BhZ2luYXRlZENvbGxlY3Rpb25zLmpzJztcbmltcG9ydCBwYXJhbXNUb1N0cmluZyBmcm9tICcuL3BhcmFtc1RvU3RyaW5nLmpzJztcbmltcG9ydCB7IGdldFVybEJhc2UsIGdldFVybFRva2VucywgaXNQb2pvIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbi8qKiBTaW1wbGlmaWVzIGVuZHBvaW50IGRlZmluaXRpb25zIHRoYXQgZm9sbG93IFJFU1QgcGF0dGVybnNcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVzdEVuZHBvaW50IGV4dGVuZHMgRW5kcG9pbnQge1xuICAjaGFzQm9keTtcbiAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgIHN1cGVyKFxuICAgICAgb3B0aW9ucy5mZXRjaCA/P1xuICAgICAgICBhc3luYyBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgIGNvbnN0IHVybFBhcmFtcyA9XG4gICAgICAgICAgICB0aGlzLiNoYXNCb2R5ICYmIGFyZ3MubGVuZ3RoIDwgMiA/IHt9IDogYXJnc1swXSB8fCB7fTtcbiAgICAgICAgICBjb25zdCBib2R5ID0gdGhpcy4jaGFzQm9keSA/IGFyZ3NbYXJncy5sZW5ndGggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFJlc3BvbnNlKFxuICAgICAgICAgICAgdGhpcy51cmwodXJsUGFyYW1zKSxcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UmVxdWVzdEluaXQoYm9keSksXG4gICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gdGhpcy5wYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSlcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB0aGlzLnByb2Nlc3MocmVzLCAuLi5hcmdzKSk7XG4gICAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgLy8gd2Ugd2FudCB0byB1c2UgdGhlIHByb3RvdHlwZSBjaGFpbiBoZXJlXG4gICAgaWYgKFxuICAgICAgISgnc2lkZUVmZmVjdCcgaW4gdGhpcykgfHxcbiAgICAgICgnbWV0aG9kJyBpbiBvcHRpb25zICYmICEoJ3NpZGVFZmZlY3QnIGluIG9wdGlvbnMpKVxuICAgICkge1xuICAgICAgdGhpcy5zaWRlRWZmZWN0ID1cbiAgICAgICAgb3B0aW9ucy5tZXRob2QgPT09ICdHRVQnIHx8IG9wdGlvbnMubWV0aG9kID09PSB1bmRlZmluZWQgP1xuICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICA6IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLm1ldGhvZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1ldGhvZCA9IHRoaXMuc2lkZUVmZmVjdCA/ICdQT1NUJyA6ICdHRVQnO1xuICAgIH1cbiAgICBpZiAodGhpcy51cmxQcmVmaXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy51cmxQcmVmaXggPSAnJztcbiAgICB9XG4gICAgdGhpcy4jaGFzQm9keSA9XG4gICAgICAoISgnYm9keScgaW4gdGhpcykgfHwgdGhpcy5ib2R5ICE9PSB1bmRlZmluZWQpICYmXG4gICAgICAhWydHRVQnLCAnREVMRVRFJ10uaW5jbHVkZXModGhpcy5tZXRob2QpO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICduYW1lJywge1xuICAgICAgZ2V0KCkge1xuICAgICAgICAvLyB1c2luZyAnaW4nIHRvIGVuc3VyZSBpbmhlcml0YW5jZSBsb29rdXBcbiAgICAgICAgaWYgKCdfX25hbWUnIGluIHRoaXMpIHJldHVybiB0aGlzLl9fbmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXMudXJsUHJlZml4ICsgdGhpcy5wYXRoO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGtleSguLi5hcmdzKSB7XG4gICAgcmV0dXJuIGAke3RoaXMubWV0aG9kfSAke3RoaXMudXJsKFxuICAgICAgdGhpcy4jaGFzQm9keSAmJiBhcmdzLmxlbmd0aCA8IDIgPyB7fSA6IGFyZ3NbMF0gfHwge30sXG4gICAgKX1gO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgdXJsICovXG4gIHVybCh1cmxQYXJhbXMgPSB7fSkge1xuICAgIGNvbnN0IHVybEJhc2UgPSBnZXRVcmxCYXNlKHRoaXMucGF0aCkodXJsUGFyYW1zKTtcbiAgICBjb25zdCB0b2tlbnMgPSBnZXRVcmxUb2tlbnModGhpcy5wYXRoKTtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSB7fTtcbiAgICBPYmplY3Qua2V5cyh1cmxQYXJhbXMpLmZvckVhY2goayA9PiB7XG4gICAgICBpZiAoIXRva2Vucy5oYXMoaykpIHtcbiAgICAgICAgc2VhcmNoUGFyYW1zW2tdID0gdXJsUGFyYW1zW2tdO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChPYmplY3Qua2V5cyhzZWFyY2hQYXJhbXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMudXJsUHJlZml4fSR7dXJsQmFzZX0/JHt0aGlzLnNlYXJjaFRvU3RyaW5nKHNlYXJjaFBhcmFtcyl9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMudXJsUHJlZml4fSR7dXJsQmFzZX1gO1xuICB9XG5cbiAgLyoqIEVuY29kZSB0aGUgdXJsIHNlYXJjaFBhcmFtcyAqL1xuICBzZWFyY2hUb1N0cmluZyhzZWFyY2hQYXJhbXMpIHtcbiAgICByZXR1cm4gcGFyYW1zVG9TdHJpbmcoc2VhcmNoUGFyYW1zKTtcbiAgfVxuXG4gIGdldEhlYWRlcnMoaGVhZGVycykge1xuICAgIHJldHVybiBoZWFkZXJzO1xuICB9XG5cbiAgLyoqIEluaXQgb3B0aW9ucyBmb3IgZmV0Y2ggLSBydW4gYXQgZmV0Y2ggKi9cbiAgYXN5bmMgZ2V0UmVxdWVzdEluaXQoYm9keSkge1xuICAgIGNvbnN0IGJvZHlJc1Bvam8gPSBpc1Bvam8oYm9keSk7XG4gICAgaWYgKGJvZHlJc1Bvam8pIHtcbiAgICAgIGJvZHkgPSBKU09OLnN0cmluZ2lmeShib2R5KTtcbiAgICB9XG4gICAgY29uc3QgaW5pdCA9IHtcbiAgICAgIC4uLnRoaXMucmVxdWVzdEluaXQsXG4gICAgICBtZXRob2Q6IHRoaXMubWV0aG9kLFxuICAgICAgc2lnbmFsOiB0aGlzLnNpZ25hbCxcbiAgICAgIGJvZHksXG4gICAgfTtcbiAgICBpZiAoIWJvZHkgfHwgYm9keUlzUG9qbykge1xuICAgICAgaW5pdC5oZWFkZXJzID0ge1xuICAgICAgICAvLyBkZWZhdWx0IHRvIGFwcGxpY2F0aW9uL2pzb24gYnV0IGFsbG93IHVzZXIgZXhwbGljaXQgb3ZlcnJpZGVzXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIC4uLmluaXQuaGVhZGVycyxcbiAgICAgIH07XG4gICAgfVxuICAgIGluaXQuaGVhZGVycyA9IGF3YWl0IHRoaXMuZ2V0SGVhZGVycyhpbml0LmhlYWRlcnMpO1xuICAgIHJldHVybiBpbml0O1xuICB9XG5cbiAgLyoqIFBlcmZvcm0gbmV0d29yayByZXF1ZXN0IGFuZCByZXNvbHZlIHdpdGggSFRUUCBSZXNwb25zZSAqL1xuICBmZXRjaFJlc3BvbnNlKGlucHV0LCBpbml0KSB7XG4gICAgcmV0dXJuIGZldGNoKGlucHV0LCBpbml0KVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IE5ldHdvcmtFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgIC8vIGVuc3VyZSBDT1JTLCBuZXR3b3JrIGRvd24sIGFuZCBwYXJzZSBlcnJvcnMgYXJlIHN0aWxsIGNhdWdodCBieSBOZXR3b3JrRXJyb3JCb3VuZGFyeVxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHtcbiAgICAgICAgICBlcnJvci5zdGF0dXMgPSA1MDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgfVxuXG4gIHBhcnNlUmVzcG9uc2UocmVzcG9uc2UpIHtcbiAgICAvLyB0aGlzIHNob3VsZCBub3QgaGF2ZSBhbnkgY29udGVudCB0byByZWFkXG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xuICAgIGlmICghcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnanNvbicpKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpLnRoZW4odGV4dCA9PiB7XG4gICAgICAgIC8vIHN0cmluZyBvciAnbm90IHNldCcgc2NoZW1hLCBhcmUgdmFsaWRcbiAgICAgICAgLy8gd2hlbiBvdmVycmlkaW5nIHByb2Nlc3MgdGhleSBtaWdodCBoYW5kbGUgb3RoZXIgY2FzZXMsIHNvIHdlIGRvbid0IHdhbnQgdG8gYmxvY2sgb24gb3VyIGxvZ2ljXG4gICAgICAgIGlmIChcbiAgICAgICAgICBbJ3N0cmluZycsICd1bmRlZmluZWQnXS5pbmNsdWRlcyh0eXBlb2YgdGhpcy5zY2hlbWEpIHx8XG4gICAgICAgICAgdGhpcy5zY2hlbWEgPT09IG51bGwgfHxcbiAgICAgICAgICB0aGlzLnByb2Nlc3MgIT09IFJlc3RFbmRwb2ludC5wcm90b3R5cGUucHJvY2Vzc1xuICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIHRleHQ7XG5cbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgTmV0d29ya0Vycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgZXJyb3Iuc3RhdHVzID0gNDA0O1xuICAgICAgICBlcnJvci5tZXNzYWdlID0gYFVuZXhwZWN0ZWQgdGV4dCByZXNwb25zZSBmb3Igc2NoZW1hICR7dGhpcy5zY2hlbWF9YDtcbiAgICAgICAgLy8gY3VzdG9tIGRldi1vbmx5IG1lc3NhZ2VzIGZvciBtb3JlIGRldGFpbGVkIGNhdXNlXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnaHRtbCcpIHx8XG4gICAgICAgICAgICAgIHRleHQuc3RhcnRzV2l0aCgnPCFkb2N0eXBlIGh0bWw+JylcbiAgICAgICAgICAgIClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGlmICh0cnlQYXJzZSh0ZXh0KSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgXCJjb250ZW50LXR5cGVcIiBoZWFkZXIgZG9lcyBub3QgaW5jbHVkZSBcImpzb25cIiwgYnV0IEpTT04gcmVzcG9uc2UgZm91bmQuXG5TZWUgaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzQ2MjcgZm9yIGluZm9ybWF0aW9uIG9uIEpTT04gcmVzcG9uc2VzXG5cblVzaW5nIHBhcnNlZCBKU09OLlxuSWYgdGV4dCBjb250ZW50IHdhcyBleHBlY3RlZCBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNwYXJzZVJlc3BvbnNlYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIGh0bWwgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfVxuVGhpcyBsaWtlbHkgbWVhbnMgbm8gQVBJIGVuZHBvaW50IHdhcyBjb25maWd1cmVkIGZvciB0aGlzIHJlcXVlc3QsIHJlc3VsdGluZyBpbiBhbiBIVE1MIGZhbGxiYWNrLlxuXG5SZXNwb25zZSAoZmlyc3QgMzAwIGNoYXJhY3RlcnMpOiAke3RleHQuc3Vic3RyaW5nKDAsIDMwMCl9YDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKS5jYXRjaChlcnJvciA9PiB7XG4gICAgICBlcnJvci5zdGF0dXMgPSA0MDA7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbiAgfVxuXG4gIHByb2Nlc3ModmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBlcnJvclBvbGljeShlcnJvcikge1xuICAgIHJldHVybiBlcnJvci5zdGF0dXMgPj0gNTAwID8gJ3NvZnQnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IHBhdGhSZWdleCgpIHtcbiAgICByZXR1cm4gcGF0aFRvUmVnZXhwKHRoaXMucGF0aCk7XG4gIH1cblxuICB0ZXN0S2V5KGtleSkge1xuICAgIGNvbnN0IHByZWZpeCA9IHRoaXMubWV0aG9kICsgJyAnICsgdGhpcy51cmxQcmVmaXg7XG4gICAgaWYgKCFrZXkuc3RhcnRzV2l0aChwcmVmaXgpKSByZXR1cm4gZmFsc2U7XG4gICAgbGV0IGxhc3RRdWVzdGlvbiA9IGtleS5sYXN0SW5kZXhPZignPycpO1xuICAgIGlmIChsYXN0UXVlc3Rpb24gPT09IC0xKSBsYXN0UXVlc3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMucGF0aFJlZ2V4LnRlc3Qoa2V5LnN1YnN0cmluZyhwcmVmaXgubGVuZ3RoLCBsYXN0UXVlc3Rpb24pKTtcbiAgfVxuXG4gIGV4dGVuZChvcHRpb25zKSB7XG4gICAgLy8gbWFrZSBhIGNvbnN0cnVjdG9yL3Byb3RvdHlwZSBiYXNlZCBvZmYgdGhpc1xuICAgIC8vIGV4dGVuZCBmcm9tIGl0IGFuZCBpbml0IHdpdGggb3B0aW9ucyBzZW50XG4gICAgY2xhc3MgRSBleHRlbmRzIHRoaXMuY29uc3RydWN0b3Ige31cblxuICAgIE9iamVjdC5hc3NpZ24oRS5wcm90b3R5cGUsIHRoaXMpO1xuXG4gICAgcmV0dXJuIG5ldyBFKFxuICAgICAgLy8gIGZldGNoIGdldCBvdmVycmlkZGVuIGJ5IGZ1bmN0aW9uIHByb3RvdHlwZSwgc28gd2UgbXVzdCBzZXQgaXQgZXhwbGljaXRseSBldmVyeSB0aW1lXG4gICAgICB7IGZldGNoOiB0aGlzLmZldGNoLCAuLi5vcHRpb25zIH0sXG4gICAgKTtcbiAgfVxuXG4gIHBhZ2luYXRlZChyZW1vdmVDdXJzb3IpIHtcbiAgICBpZiAodHlwZW9mIHJlbW92ZUN1cnNvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHJlbW92ZUN1cnNvcjtcbiAgICAgIHJlbW92ZUN1cnNvciA9ICh7IC4uLnBhcmFtcyB9KSA9PiB7XG4gICAgICAgIGRlbGV0ZSBwYXJhbXNbZmllbGROYW1lXTtcbiAgICAgICAgcmV0dXJuIFtwYXJhbXNdO1xuICAgICAgfTtcbiAgICB9XG4gICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgY29uc3QgY3JlYXRlUGFnaW5hdGVkU2NoZW1hID0gY29sbGVjdGlvbiA9PiB7XG4gICAgICBmb3VuZCA9IHRydWU7XG4gICAgICByZXR1cm4gY3JlYXRlUGFnaW5hdGlvblNjaGVtYShyZW1vdmVDdXJzb3IsIGNvbGxlY3Rpb24pO1xuICAgIH07XG4gICAgY29uc3QgbmV3U2NoZW1hID0gbWFwQ29sbGVjdGlvbih0aGlzLnNjaGVtYSwgY3JlYXRlUGFnaW5hdGVkU2NoZW1hKTtcblxuICAgIGlmICghZm91bmQpIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBDb2xsZWN0aW9uJyk7XG4gICAgY29uc3Qgc3VwID0gdGhpcztcblxuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBzY2hlbWE6IG5ld1NjaGVtYSxcbiAgICAgIGtleSguLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiBzdXAua2V5LmNhbGwodGhpcywgLi4ucmVtb3ZlQ3Vyc29yKC4uLmFyZ3MpKTtcbiAgICAgIH0sXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmdldFBhZ2UnLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGdldFBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFnaW5hdGVkKHRoaXMucGFnaW5hdGlvbkZpZWxkKTtcbiAgfVxuXG4gIGdldCBwdXNoKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy5wdXNoKSxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSArICcuY3JlYXRlJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB1bnNoaWZ0KCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy51bnNoaWZ0KSxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSArICcuY3JlYXRlJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBhc3NpZ24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgc2NoZW1hOiBleHRyYWN0Q29sbGVjdGlvbih0aGlzLnNjaGVtYSwgcyA9PiBzLmFzc2lnbiksXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmNyZWF0ZScsXG4gICAgfSk7XG4gIH1cbn1cblxuY29uc3QgdHJ5UGFyc2UgPSBpbnB1dCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoaW5wdXQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLFFBQVEsUUFBUSx1QkFBdUI7QUFDaEQsU0FBU0MsWUFBWSxRQUFRLGdCQUFnQjtBQUU3QyxPQUFPQyxpQkFBaUIsTUFBTSx3QkFBd0I7QUFDdEQsT0FBT0MsYUFBYSxNQUFNLG9CQUFvQjtBQUM5QyxPQUFPQyxZQUFZLE1BQU0sbUJBQW1CO0FBQzVDLFNBQVNDLHNCQUFzQixRQUFRLDJCQUEyQjtBQUNsRSxPQUFPQyxjQUFjLE1BQU0scUJBQXFCO0FBQ2hELFNBQVNDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLFFBQVEsa0JBQWtCOztBQUVuRTtBQUNBO0FBQ0E7QUFD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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _extends from "@babel/runtime
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import { schema } from '@data-client/endpoint';
|
|
3
3
|
export default function extractCollection(s, mapper) {
|
|
4
4
|
if (typeof s !== 'object' || s === undefined || Array.isArray(s)) return;
|
package/legacy/mapCollection.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _extends from "@babel/runtime
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import { schema } from '@data-client/endpoint';
|
|
3
3
|
export default function mapCollection(s, mapper) {
|
|
4
4
|
if (typeof s !== 'object' || s === undefined) return s;
|
package/legacy/paramsToString.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import _URLSearchParams from "core-js-pure/stable/url-search-params/index.js";
|
|
2
1
|
export default function paramsToString(searchParams) {
|
|
3
|
-
const params = new
|
|
2
|
+
const params = new URLSearchParams(searchParams);
|
|
4
3
|
params.sort();
|
|
5
4
|
return params.toString();
|
|
6
5
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsInNvcnQiLCJ0b1N0cmluZyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJhbXNUb1N0cmluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwYXJhbXNUb1N0cmluZyhcbiAgc2VhcmNoUGFyYW1zPzpcbiAgICB8IHN0cmluZ1xuICAgIHwgVVJMU2VhcmNoUGFyYW1zXG4gICAgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgfCBzdHJpbmdbXVtdXG4gICAgfCB1bmRlZmluZWQsXG4pIHtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhzZWFyY2hQYXJhbXMpO1xuICBwYXJhbXMuc29ydCgpO1xuICByZXR1cm4gcGFyYW1zLnRvU3RyaW5nKCk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsU0FBU0EsY0FBY0EsQ0FDcENDLFlBS2EsRUFDYjtFQUNBLE1BQU1DLE1BQU0sR0FBRyxJQUFJQyxlQUFlLENBQUNGLFlBQVksQ0FBQztFQUNoREMsTUFBTSxDQUFDRSxJQUFJLENBQUMsQ0FBQztFQUNiLE9BQU9GLE1BQU0sQ0FBQ0csUUFBUSxDQUFDLENBQUM7QUFDMUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import _URLSearchParams from "core-js-pure/stable/url-search-params/index.js";
|
|
2
1
|
export default function paramsToString(searchParams) {
|
|
3
|
-
const params = new
|
|
2
|
+
const params = new URLSearchParams(searchParams);
|
|
4
3
|
try {
|
|
5
4
|
params.sort();
|
|
6
5
|
// eslint-disable-next-line no-empty
|
|
7
6
|
} catch (_unused) {}
|
|
8
7
|
return params.toString();
|
|
9
8
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsInNvcnQiLCJfdW51c2VkIiwidG9TdHJpbmciXSwic291cmNlcyI6WyIuLi9zcmMvcGFyYW1zVG9TdHJpbmcubmF0aXZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHBhcmFtc1RvU3RyaW5nKFxuICBzZWFyY2hQYXJhbXM/OlxuICAgIHwgc3RyaW5nXG4gICAgfCBVUkxTZWFyY2hQYXJhbXNcbiAgICB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICB8IHN0cmluZ1tdW11cbiAgICB8IHVuZGVmaW5lZCxcbikge1xuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHNlYXJjaFBhcmFtcyBhcyBhbnkpO1xuICB0cnkge1xuICAgIHBhcmFtcy5zb3J0KCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5XG4gIH0gY2F0Y2gge31cbiAgcmV0dXJuIHBhcmFtcy50b1N0cmluZygpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLFNBQVNBLGNBQWNBLENBQ3BDQyxZQUthLEVBQ2I7RUFDQSxNQUFNQyxNQUFNLEdBQUcsSUFBSUMsZUFBZSxDQUFDRixZQUFtQixDQUFDO0VBQ3ZELElBQUk7SUFDRkMsTUFBTSxDQUFDRSxJQUFJLENBQUMsQ0FBQztJQUNiO0VBQ0YsQ0FBQyxDQUFDLE9BQUFDLE9BQUEsRUFBTSxDQUFDO0VBQ1QsT0FBT0gsTUFBTSxDQUFDSSxRQUFRLENBQUMsQ0FBQztBQUMxQiIsImlnbm9yZUxpc3QiOltdfQ==
|
package/legacy/resource.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _extends from "@babel/runtime
|
|
2
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
const _excluded = ["path", "schema", "Endpoint", "Collection", "optimistic", "paginationField"];
|
|
4
4
|
import { schema } from '@data-client/endpoint';
|
|
5
5
|
import RestEndpoint from './RestEndpoint.js';
|
package/lib/RestEndpoint.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _classPrivateFieldLooseBase from "@babel/runtime
|
|
2
|
-
import _classPrivateFieldLooseKey from "@babel/runtime
|
|
1
|
+
import _classPrivateFieldLooseBase from "@babel/runtime/helpers/esm/classPrivateFieldLooseBase";
|
|
2
|
+
import _classPrivateFieldLooseKey from "@babel/runtime/helpers/esm/classPrivateFieldLooseKey";
|
|
3
3
|
import { Endpoint } from '@data-client/endpoint';
|
|
4
4
|
import { pathToRegexp } from 'path-to-regexp';
|
|
5
5
|
import extractCollection from './extractCollection.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@data-client/rest",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.21",
|
|
4
4
|
"description": "Quickly define typed REST resources and endpoints",
|
|
5
5
|
"homepage": "https://dataclient.io/rest",
|
|
6
6
|
"repository": {
|
|
@@ -134,9 +134,8 @@
|
|
|
134
134
|
"funding": "https://github.com/sponsors/ntucker",
|
|
135
135
|
"license": "Apache-2.0",
|
|
136
136
|
"dependencies": {
|
|
137
|
-
"@babel/runtime
|
|
138
|
-
"@data-client/endpoint": "^0.14.
|
|
139
|
-
"core-js-pure": "^3.40.0",
|
|
137
|
+
"@babel/runtime": "^7.20.0",
|
|
138
|
+
"@data-client/endpoint": "^0.14.21",
|
|
140
139
|
"path-to-regexp": "^6.3.0"
|
|
141
140
|
},
|
|
142
141
|
"devDependencies": {
|