@localazy/cdn-client 1.2.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/localazy-cdn-client.umd.js +49 -1864
- package/dist/browser/localazy-cdn-client.umd.js.map +1 -1
- package/dist/browser/localazy-cdn-client.umd.min.js +3 -3
- package/dist/browser/localazy-cdn-client.umd.min.js.map +1 -1
- package/dist/index.d.ts +13 -10
- package/dist/localazy-cdn-client.js +48 -1863
- package/dist/localazy-cdn-client.js.map +1 -1
- package/dist/localazy-cdn-client.min.js +3 -3
- package/dist/localazy-cdn-client.min.js.map +1 -1
- package/dist/node/localazy-cdn-client.cjs +47 -1862
- package/dist/node/localazy-cdn-client.cjs.map +1 -1
- package/dist/node/localazy-cdn-client.min.cjs +3 -3
- package/dist/node/localazy-cdn-client.min.cjs.map +1 -1
- package/package.json +8 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var t=Object.defineProperty,e=(e,
|
|
2
|
-
/* @localazy/cdn-client@1.
|
|
1
|
+
var t=Object.defineProperty,e=(e,s,i)=>(((e,s,i)=>{s in e?t(e,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[s]=i})(e,"symbol"!=typeof s?s+"":s,i),i);
|
|
2
|
+
/* @localazy/cdn-client@1.3.0
|
|
3
3
|
* (c) 2024 Localazy <team@localazy.com>
|
|
4
4
|
* @license MIT */
|
|
5
|
-
import"isomorphic-fetch";class r{constructor(t){e(this,"context"),this.context=t}async fetchLocale(t){return this.context.cache.has(t)?new Promise((e=>{e(this.context.cache.get(t))})):this.context.client.get(t.metafileLocale.uri)}async fetchMetafile(){return await this.context.client.get(this.context.metafile.params.jsonPath)}}var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function a(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var i="object"==typeof n&&n&&n.Object===Object&&n,o=i,s="object"==typeof self&&self&&self.Object===Object&&self,c=o||s||Function("return this")(),u=c.Symbol,l=u,f=Object.prototype,h=f.hasOwnProperty,p=f.toString,v=l?l.toStringTag:void 0;var d=function(t){var e=h.call(t,v),r=t[v];try{t[v]=void 0;var n=!0}catch(t){}var a=p.call(t);return n&&(e?t[v]=r:delete t[v]),a},b=Object.prototype.toString;var y=d,g=function(t){return b.call(t)},m=u?u.toStringTag:void 0;var j=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":m&&m in Object(t)?y(t):g(t)};var w=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)},_=j,x=w;var O=function(t){if(!x(t))return!1;var e=_(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e};const F=a(O);var A,L=c["__core-js_shared__"],S=(A=/[^.]+$/.exec(L&&L.keys&&L.keys.IE_PROTO||""))?"Symbol(src)_1."+A:"";var M=function(t){return!!S&&S in t},E=Function.prototype.toString;var U=function(t){if(null!=t){try{return E.call(t)}catch(t){}try{return t+""}catch(t){}}return""},I=O,R=M,$=w,q=U,P=/^\[object .+?Constructor\]$/,z=Function.prototype,B=Object.prototype,T=z.toString,k=B.hasOwnProperty,C=RegExp("^"+T.call(k).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var N=function(t){return!(!$(t)||R(t))&&(I(t)?C:P).test(q(t))},D=function(t,e){return null==t?void 0:t[e]};var V=function(t,e){var r=D(t,e);return N(r)?r:void 0},W=V(Object,"create"),G=W;var H=function(){this.__data__=G?G(null):{},this.size=0};var J=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},K=W,Q=Object.prototype.hasOwnProperty;var X=function(t){var e=this.__data__;if(K){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return Q.call(e,t)?e[t]:void 0},Y=W,Z=Object.prototype.hasOwnProperty;var tt=W;var et=H,rt=J,nt=X,at=function(t){var e=this.__data__;return Y?void 0!==e[t]:Z.call(e,t)},it=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=tt&&void 0===e?"__lodash_hash_undefined__":e,this};function ot(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}ot.prototype.clear=et,ot.prototype.delete=rt,ot.prototype.get=nt,ot.prototype.has=at,ot.prototype.set=it;var st=ot;var ct=function(){this.__data__=[],this.size=0};var ut=function(t,e){return t===e||t!=t&&e!=e},lt=ut;var ft=function(t,e){for(var r=t.length;r--;)if(lt(t[r][0],e))return r;return-1},ht=ft,pt=Array.prototype.splice;var vt=ft;var dt=ft;var bt=ft;var yt=ct,gt=function(t){var e=this.__data__,r=ht(e,t);return!(r<0)&&(r==e.length-1?e.pop():pt.call(e,r,1),--this.size,!0)},mt=function(t){var e=this.__data__,r=vt(e,t);return r<0?void 0:e[r][1]},jt=function(t){return dt(this.__data__,t)>-1},wt=function(t,e){var r=this.__data__,n=bt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};function _t(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}_t.prototype.clear=yt,_t.prototype.delete=gt,_t.prototype.get=mt,_t.prototype.has=jt,_t.prototype.set=wt;var xt=_t,Ot=V(c,"Map"),Ft=st,At=xt,Lt=Ot;var St=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};var Mt=function(t,e){var r=t.__data__;return St(e)?r["string"==typeof e?"string":"hash"]:r.map},Et=Mt;var Ut=Mt;var It=Mt;var Rt=Mt;var $t=function(){this.size=0,this.__data__={hash:new Ft,map:new(Lt||At),string:new Ft}},qt=function(t){var e=Et(this,t).delete(t);return this.size-=e?1:0,e},Pt=function(t){return Ut(this,t).get(t)},zt=function(t){return It(this,t).has(t)},Bt=function(t,e){var r=Rt(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Tt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Tt.prototype.clear=$t,Tt.prototype.delete=qt,Tt.prototype.get=Pt,Tt.prototype.has=zt,Tt.prototype.set=Bt;var kt=Tt;var Ct=kt,Nt=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Dt=function(t){return this.__data__.has(t)};function Vt(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new Ct;++e<r;)this.add(t[e])}Vt.prototype.add=Vt.prototype.push=Nt,Vt.prototype.has=Dt;var Wt=Vt;var Gt=function(t,e,r,n){for(var a=t.length,i=r+(n?1:-1);n?i--:++i<a;)if(e(t[i],i,t))return i;return-1};var Ht=Gt,Jt=function(t){return t!=t},Kt=function(t,e,r){for(var n=r-1,a=t.length;++n<a;)if(t[n]===e)return n;return-1};var Qt=function(t,e,r){return e==e?Kt(t,e,r):Ht(t,Jt,r)};var Xt=function(t,e){return!!(null==t?0:t.length)&&Qt(t,e,0)>-1};var Yt=function(t,e,r){for(var n=-1,a=null==t?0:t.length;++n<a;)if(r(e,t[n]))return!0;return!1};var Zt=function(t,e){return t.has(e)},te=V(c,"Set");var ee=function(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r},re=te,ne=function(){},ae=re&&1/ee(new re([,-0]))[1]==1/0?function(t){return new re(t)}:ne,ie=Wt,oe=Xt,se=Yt,ce=Zt,ue=ae,le=ee;var fe=function(t,e,r){var n=-1,a=oe,i=t.length,o=!0,s=[],c=s;if(r)o=!1,a=se;else if(i>=200){var u=e?null:ue(t);if(u)return le(u);o=!1,a=ce,c=new ie}else c=e?[]:s;t:for(;++n<i;){var l=t[n],f=e?e(l):l;if(l=r||0!==l?l:0,o&&f==f){for(var h=c.length;h--;)if(c[h]===f)continue t;e&&c.push(f),s.push(l)}else a(c,f,r)||(c!==s&&c.push(f),s.push(l))}return s},he=fe;const pe=a((function(t){return t&&t.length?he(t):[]}));class ve{constructor(){e(this,"map"),this.map=new Map}get(t){return this.map.get(t)}has(t){return this.map.has(t)}set(t,e){this.map.set(t,e)}flush(){this.map=new Map}}class de{constructor(t){e(this,"context"),e(this,"cacheAdapter"),this.context=t,this.cacheAdapter=new ve}setIfMissed(t){const{metafileFile:e,metafileLocale:r,data:n}=t,a=this.keyFromMetafile({metafileFile:e,metafileLocale:r});this.cacheAdapter.has(a)||this.cacheAdapter.set(a,n)}has(t){const e=this.keyFromMetafile(t);return this.cacheAdapter.has(e)}get(t){const e=this.keyFromMetafile(t);return this.cacheAdapter.get(e)}flush(){this.cacheAdapter.flush()}keyFromMetafile(t){const{metafileFile:e,metafileLocale:r}=t,n=[...pe(e.productFlavors)].sort().join("-");return[this.context.metafile.params.cdnId,e.id,e.file,e.path,e.library,e.module,e.buildType,n,r.locale,r.timestamp.toString()].filter((t=>""!==t)).join("-")}}var be=Array.isArray;const ye=a(be);var ge=function(t){return null!=t&&"object"==typeof t},me=j,je=be,we=ge;const _e=a((function(t){return"string"==typeof t||!je(t)&&we(t)&&"[object String]"==me(t)}));class xe{constructor(t){e(this,"context"),this.context=t}}class Oe extends xe{constructor(){super(...arguments),e(this,"flush",(()=>{this.context.cache.flush()}))}}var Fe=xt;var Ae=xt,Le=Ot,Se=kt;var Me=xt,Ee=function(){this.__data__=new Fe,this.size=0},Ue=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Ie=function(t){return this.__data__.get(t)},Re=function(t){return this.__data__.has(t)},$e=function(t,e){var r=this.__data__;if(r instanceof Ae){var n=r.__data__;if(!Le||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Se(n)}return r.set(t,e),this.size=r.size,this};function qe(t){var e=this.__data__=new Me(t);this.size=e.size}qe.prototype.clear=Ee,qe.prototype.delete=Ue,qe.prototype.get=Ie,qe.prototype.has=Re,qe.prototype.set=$e;var Pe=qe;var ze=Wt,Be=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1},Te=Zt;var ke=function(t,e,r,n,a,i){var o=1&r,s=t.length,c=e.length;if(s!=c&&!(o&&c>s))return!1;var u=i.get(t),l=i.get(e);if(u&&l)return u==e&&l==t;var f=-1,h=!0,p=2&r?new ze:void 0;for(i.set(t,e),i.set(e,t);++f<s;){var v=t[f],d=e[f];if(n)var b=o?n(d,v,f,e,t,i):n(v,d,f,t,e,i);if(void 0!==b){if(b)continue;h=!1;break}if(p){if(!Be(e,(function(t,e){if(!Te(p,e)&&(v===t||a(v,t,r,n,i)))return p.push(e)}))){h=!1;break}}else if(v!==d&&!a(v,d,r,n,i)){h=!1;break}}return i.delete(t),i.delete(e),h},Ce=c.Uint8Array;var Ne=Ce,De=ut,Ve=ke,We=function(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r},Ge=ee,He=u?u.prototype:void 0,Je=He?He.valueOf:void 0;var Ke=function(t,e,r,n,a,i,o){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!i(new Ne(t),new Ne(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return De(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=We;case"[object Set]":var c=1&n;if(s||(s=Ge),t.size!=e.size&&!c)return!1;var u=o.get(t);if(u)return u==e;n|=2,o.set(t,e);var l=Ve(s(t),s(e),n,a,i,o);return o.delete(t),l;case"[object Symbol]":if(Je)return Je.call(t)==Je.call(e)}return!1};var Qe=function(t,e){for(var r=-1,n=e.length,a=t.length;++r<n;)t[a+r]=e[r];return t},Xe=Qe,Ye=be;var Ze=function(t,e,r){var n=e(t);return Ye(t)?n:Xe(n,r(t))};var tr=function(t,e){for(var r=-1,n=null==t?0:t.length,a=0,i=[];++r<n;){var o=t[r];e(o,r,t)&&(i[a++]=o)}return i};var er=function(){return[]},rr=tr,nr=er,ar=Object.prototype.propertyIsEnumerable,ir=Object.getOwnPropertySymbols,or=ir?function(t){return null==t?[]:(t=Object(t),rr(ir(t),(function(e){return ar.call(t,e)})))}:nr;var sr=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n},cr=j,ur=ge;var lr,fr,hr,pr,vr,dr,br,yr,gr=function(t){return ur(t)&&"[object Arguments]"==cr(t)},mr=ge,jr=Object.prototype,wr=jr.hasOwnProperty,_r=jr.propertyIsEnumerable,xr=gr(function(){return arguments}())?gr:function(t){return mr(t)&&wr.call(t,"callee")&&!_r.call(t,"callee")},Or={exports:{}};lr=Or,hr=c,pr=function(){return!1},vr=(fr=Or.exports)&&!fr.nodeType&&fr,dr=vr&&lr&&!lr.nodeType&&lr,br=dr&&dr.exports===vr?hr.Buffer:void 0,yr=(br?br.isBuffer:void 0)||pr,lr.exports=yr;var Fr=Or.exports,Ar=/^(?:0|[1-9]\d*)$/;var Lr=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&Ar.test(t))&&t>-1&&t%1==0&&t<e};var Sr=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},Mr=j,Er=Sr,Ur=ge,Ir={};Ir["[object Float32Array]"]=Ir["[object Float64Array]"]=Ir["[object Int8Array]"]=Ir["[object Int16Array]"]=Ir["[object Int32Array]"]=Ir["[object Uint8Array]"]=Ir["[object Uint8ClampedArray]"]=Ir["[object Uint16Array]"]=Ir["[object Uint32Array]"]=!0,Ir["[object Arguments]"]=Ir["[object Array]"]=Ir["[object ArrayBuffer]"]=Ir["[object Boolean]"]=Ir["[object DataView]"]=Ir["[object Date]"]=Ir["[object Error]"]=Ir["[object Function]"]=Ir["[object Map]"]=Ir["[object Number]"]=Ir["[object Object]"]=Ir["[object RegExp]"]=Ir["[object Set]"]=Ir["[object String]"]=Ir["[object WeakMap]"]=!1;var Rr=function(t){return Ur(t)&&Er(t.length)&&!!Ir[Mr(t)]};var $r=function(t){return function(e){return t(e)}},qr={exports:{}};!function(t,e){var r=i,n=e&&!e.nodeType&&e,a=n&&t&&!t.nodeType&&t,o=a&&a.exports===n&&r.process,s=function(){try{var t=a&&a.require&&a.require("util").types;return t||o&&o.binding&&o.binding("util")}catch(t){}}();t.exports=s}(qr,qr.exports);var Pr=qr.exports,zr=Rr,Br=$r,Tr=Pr&&Pr.isTypedArray,kr=Tr?Br(Tr):zr,Cr=sr,Nr=xr,Dr=be,Vr=Fr,Wr=Lr,Gr=kr,Hr=Object.prototype.hasOwnProperty;var Jr=function(t,e){var r=Dr(t),n=!r&&Nr(t),a=!r&&!n&&Vr(t),i=!r&&!n&&!a&&Gr(t),o=r||n||a||i,s=o?Cr(t.length,String):[],c=s.length;for(var u in t)!e&&!Hr.call(t,u)||o&&("length"==u||a&&("offset"==u||"parent"==u)||i&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||Wr(u,c))||s.push(u);return s},Kr=Object.prototype;var Qr=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Kr)};var Xr=function(t,e){return function(r){return t(e(r))}},Yr=Xr(Object.keys,Object),Zr=Qr,tn=Yr,en=Object.prototype.hasOwnProperty;var rn=O,nn=Sr;var an=function(t){return null!=t&&nn(t.length)&&!rn(t)},on=Jr,sn=function(t){if(!Zr(t))return tn(t);var e=[];for(var r in Object(t))en.call(t,r)&&"constructor"!=r&&e.push(r);return e},cn=an;var un=function(t){return cn(t)?on(t):sn(t)},ln=Ze,fn=or,hn=un;var pn=function(t){return ln(t,hn,fn)},vn=pn,dn=Object.prototype.hasOwnProperty;var bn=function(t,e,r,n,a,i){var o=1&r,s=vn(t),c=s.length;if(c!=vn(e).length&&!o)return!1;for(var u=c;u--;){var l=s[u];if(!(o?l in e:dn.call(e,l)))return!1}var f=i.get(t),h=i.get(e);if(f&&h)return f==e&&h==t;var p=!0;i.set(t,e),i.set(e,t);for(var v=o;++u<c;){var d=t[l=s[u]],b=e[l];if(n)var y=o?n(b,d,l,e,t,i):n(d,b,l,t,e,i);if(!(void 0===y?d===b||a(d,b,r,n,i):y)){p=!1;break}v||(v="constructor"==l)}if(p&&!v){var g=t.constructor,m=e.constructor;g==m||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof m&&m instanceof m||(p=!1)}return i.delete(t),i.delete(e),p},yn=V(c,"DataView"),gn=Ot,mn=V(c,"Promise"),jn=te,wn=V(c,"WeakMap"),_n=j,xn=U,On="[object Map]",Fn="[object Promise]",An="[object Set]",Ln="[object WeakMap]",Sn="[object DataView]",Mn=xn(yn),En=xn(gn),Un=xn(mn),In=xn(jn),Rn=xn(wn),$n=_n;(yn&&$n(new yn(new ArrayBuffer(1)))!=Sn||gn&&$n(new gn)!=On||mn&&$n(mn.resolve())!=Fn||jn&&$n(new jn)!=An||wn&&$n(new wn)!=Ln)&&($n=function(t){var e=_n(t),r="[object Object]"==e?t.constructor:void 0,n=r?xn(r):"";if(n)switch(n){case Mn:return Sn;case En:return On;case Un:return Fn;case In:return An;case Rn:return Ln}return e});var qn=$n,Pn=Pe,zn=ke,Bn=Ke,Tn=bn,kn=qn,Cn=be,Nn=Fr,Dn=kr,Vn="[object Arguments]",Wn="[object Array]",Gn="[object Object]",Hn=Object.prototype.hasOwnProperty;var Jn=function(t,e,r,n,a,i){var o=Cn(t),s=Cn(e),c=o?Wn:kn(t),u=s?Wn:kn(e),l=(c=c==Vn?Gn:c)==Gn,f=(u=u==Vn?Gn:u)==Gn,h=c==u;if(h&&Nn(t)){if(!Nn(e))return!1;o=!0,l=!1}if(h&&!l)return i||(i=new Pn),o||Dn(t)?zn(t,e,r,n,a,i):Bn(t,e,c,r,n,a,i);if(!(1&r)){var p=l&&Hn.call(t,"__wrapped__"),v=f&&Hn.call(e,"__wrapped__");if(p||v){var d=p?t.value():t,b=v?e.value():e;return i||(i=new Pn),a(d,b,r,n,i)}}return!!h&&(i||(i=new Pn),Tn(t,e,r,n,a,i))},Kn=ge;var Qn=function t(e,r,n,a,i){return e===r||(null==e||null==r||!Kn(e)&&!Kn(r)?e!=e&&r!=r:Jn(e,r,n,a,t,i))},Xn=Pe,Yn=Qn;var Zn=w;var ta=function(t){return t==t&&!Zn(t)},ea=ta,ra=un;var na=function(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}},aa=function(t,e,r,n){var a=r.length,i=a,o=!n;if(null==t)return!i;for(t=Object(t);a--;){var s=r[a];if(o&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++a<i;){var c=(s=r[a])[0],u=t[c],l=s[1];if(o&&s[2]){if(void 0===u&&!(c in t))return!1}else{var f=new Xn;if(n)var h=n(u,l,c,t,e,f);if(!(void 0===h?Yn(l,u,3,n,f):h))return!1}}return!0},ia=function(t){for(var e=ra(t),r=e.length;r--;){var n=e[r],a=t[n];e[r]=[n,a,ea(a)]}return e},oa=na;var sa=function(t){var e=ia(t);return 1==e.length&&e[0][2]?oa(e[0][0],e[0][1]):function(r){return r===t||aa(r,t,e)}},ca=j,ua=ge;var la=function(t){return"symbol"==typeof t||ua(t)&&"[object Symbol]"==ca(t)},fa=be,ha=la,pa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,va=/^\w*$/;var da=function(t,e){if(fa(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!ha(t))||(va.test(t)||!pa.test(t)||null!=e&&t in Object(e))},ba=kt;function ya(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,a=e?e.apply(this,n):n[0],i=r.cache;if(i.has(a))return i.get(a);var o=t.apply(this,n);return r.cache=i.set(a,o)||i,o};return r.cache=new(ya.Cache||ba),r}ya.Cache=ba;var ga=ya;var ma=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ja=/\\(\\)?/g,wa=function(t){var e=ga(t,(function(t){return 500===r.size&&r.clear(),t})),r=e.cache;return e}((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(ma,(function(t,r,n,a){e.push(n?a.replace(ja,"$1"):r||t)})),e}));var _a=function(t,e){for(var r=-1,n=null==t?0:t.length,a=Array(n);++r<n;)a[r]=e(t[r],r,t);return a},xa=be,Oa=la,Fa=u?u.prototype:void 0,Aa=Fa?Fa.toString:void 0;var La=function t(e){if("string"==typeof e)return e;if(xa(e))return _a(e,t)+"";if(Oa(e))return Aa?Aa.call(e):"";var r=e+"";return"0"==r&&1/e==-Infinity?"-0":r},Sa=La;var Ma=be,Ea=da,Ua=wa,Ia=function(t){return null==t?"":Sa(t)};var Ra=function(t,e){return Ma(t)?t:Ea(t,e)?[t]:Ua(Ia(t))},$a=la;var qa=function(t){if("string"==typeof t||$a(t))return t;var e=t+"";return"0"==e&&1/t==-Infinity?"-0":e},Pa=Ra,za=qa;var Ba=function(t,e){for(var r=0,n=(e=Pa(e,t)).length;null!=t&&r<n;)t=t[za(e[r++])];return r&&r==n?t:void 0},Ta=Ba;var ka=Ra,Ca=xr,Na=be,Da=Lr,Va=Sr,Wa=qa;var Ga=function(t,e){return null!=t&&e in Object(t)},Ha=function(t,e,r){for(var n=-1,a=(e=ka(e,t)).length,i=!1;++n<a;){var o=Wa(e[n]);if(!(i=null!=t&&r(t,o)))break;t=t[o]}return i||++n!=a?i:!!(a=null==t?0:t.length)&&Va(a)&&Da(o,a)&&(Na(t)||Ca(t))};var Ja=Qn,Ka=function(t,e,r){var n=null==t?void 0:Ta(t,e);return void 0===n?r:n},Qa=function(t,e){return null!=t&&Ha(t,e,Ga)},Xa=da,Ya=ta,Za=na,ti=qa;var ei=Ba;var ri=function(t){return function(e){return null==e?void 0:e[t]}},ni=function(t){return function(e){return ei(e,t)}},ai=da,ii=qa;var oi=sa,si=function(t,e){return Xa(t)&&Ya(e)?Za(ti(t),e):function(r){var n=Ka(r,t);return void 0===n&&n===e?Qa(r,t):Ja(e,n,3)}},ci=function(t){return t},ui=be,li=function(t){return ai(t)?ri(ii(t)):ni(t)};var fi=function(t){return"function"==typeof t?t:null==t?ci:"object"==typeof t?ui(t)?si(t[0],t[1]):oi(t):li(t)},hi=fi,pi=fe;const vi=a((function(t,e){return t&&t.length?pi(t,hi(e)):[]}));class di{constructor(t,r){e(this,"language"),e(this,"region"),e(this,"script"),e(this,"isRtl"),e(this,"name"),e(this,"localizedName"),e(this,"uri"),e(this,"timestamp"),e(this,"baseLocale"),this.language=t.language,this.region=t.region,this.script=t.script,this.isRtl=t.isRtl,this.name=t.name,this.localizedName=t.localizedName,this.uri=t.uri,this.timestamp=t.timestamp,this.baseLocale=r}get locale(){return this.language&&this.region&&this.script?`${this.language}_${this.region}#${this.script}`:this.language&&this.script?`${this.language}#${this.script}`:this.language&&this.region?`${this.language}_${this.region}`:this.language}get isBaseLocale(){return this.locale===this.baseLocale}toCdnLocale(){return{locale:this.locale,isBaseLocale:this.isBaseLocale,language:this.language,region:this.region,script:this.script,isRtl:this.isRtl,name:this.name,localizedName:this.localizedName}}}class bi{constructor(t){e(this,"id"),e(this,"file"),e(this,"path"),e(this,"library"),e(this,"module"),e(this,"buildType"),e(this,"timestamp"),e(this,"productFlavors"),e(this,"locales"),e(this,"baseUrl"),this.id=t.id,this.file=t.file,this.path=t.path,this.library=t.library,this.module=t.module,this.buildType=t.buildType,this.timestamp=t.timestamp,this.productFlavors=t.productFlavors,this.locales=t.locales,this.baseUrl=t.baseUrl}toCdnFile(){return{id:this.id,file:this.file,path:this.path,library:this.library,module:this.module,buildType:this.buildType,productFlavors:this.productFlavors,locales:this.locales.map((t=>({locale:t.locale,isBaseLocale:t.isBaseLocale,uri:`${this.baseUrl}${t.uri}`})))}}}class yi{constructor(t,r){e(this,"projectUrl"),e(this,"baseLocale"),e(this,"locales"),e(this,"timestamp"),e(this,"files"),e(this,"filesMap"),this.projectUrl=t.projectUrl,this.timestamp=t.timestamp,this.files=yi.filesFactory(t.files,t.baseLocale,r),this.filesMap=yi.filesMapFactory(this.files),this.locales=yi.localesFactory(this.files),this.baseLocale=this.locales.find((t=>t.isBaseLocale))}static createEmpty(t){return new yi({projectUrl:"",baseLocale:"",timestamp:0,files:{}},t)}static filesFactory(t,e,r){return Object.keys(t).reduce(((n,a)=>{const i=t[a].locales.map((t=>new di(t,e)));return n.push(new bi({...t[a],id:a,locales:i,baseUrl:r.baseUrl})),n}),[])}static filesMapFactory(t){return t.reduce(((t,e)=>(t[e.id]=e,t)),{})}static localesFactory(t){const e=t.reduce(((t,e)=>(t.push(...e.locales.map((t=>t.toCdnLocale()))),t)),[]);return vi(e,(t=>t.locale))}}class gi{constructor(t){e(this,"options"),this.options=gi.parseMetafileUrl(t)}get url(){return this.options.url}get baseUrl(){return this.options.baseUrl}get cdnId(){return this.options.cdnId}get jsonPath(){return this.options.jsonPath}static parseMetafileUrl(t){let e;try{e=new URL(t)}catch(t){throw new Error('Invalid param: "options.metafile" cannot be parsed as url.')}const r=e.pathname.match(/^\/(.*?)\/(.*?)\.(v2.json|js|ts)$/);if(null===r||4!==r.length)throw new Error('Invalid param: "options.metafile" contains invalid metafile url.');const n=r[1],a=r[2];return{url:t,baseUrl:e.origin,cdnId:n,jsonPath:`/${n}/${a}.v2.json`}}}class mi{constructor(t){e(this,"params"),e(this,"parsedData"),e(this,"data"),this.params=new gi(t.metafile),this.parsedData=null,this.data=yi.createEmpty(this.params)}setMetafile(t){this.parsedData=t,this.data=new yi(t,this.params)}}class ji{constructor(t){e(this,"context"),this.context=t}createCdnResponse(t){const{requests:e,responses:r,hasSingleFileResponse:n,hasSingleLocaleResponse:a}=t;return 0===r.length?{}:(this.cacheResponses(e,r),n&&a?r[0]:ji.transformResponses(t))}cacheResponses(t,e){e.forEach(((e,r)=>{const{metafileFile:n,metafileLocale:a}=t[r];n&&a&&this.context.cache.setIfMissed({metafileFile:n,metafileLocale:a,data:e})}))}static transformResponses(t){const{requests:e,responses:r,hasSingleFileResponse:n}=t;return r.reduce(((t,r,a)=>{const{metafileFile:i,metafileLocale:o}=e[a];return i&&o&&(n?t[o.locale]=r:(t[i.id]||(t[i.id]={}),t[i.id][o.locale]=r)),t}),{})}}class wi{constructor(t){e(this,"metafile"),e(this,"cdn"),e(this,"client"),e(this,"api"),e(this,"cache"),e(this,"responseFactory"),this.metafile=t.metafileContext,this.cdn=t.cdn,this.client=t.client,this.api=new r(this),this.cache=new de(this),this.responseFactory=new ji(this)}}var _i=function(t){return function(e,r,n){for(var a=-1,i=Object(e),o=n(e),s=o.length;s--;){var c=o[t?s:++a];if(!1===r(i[c],c,i))break}return e}}(),xi=un;var Oi=an;var Fi=function(t,e){return function(r,n){if(null==r)return r;if(!Oi(r))return t(r,n);for(var a=r.length,i=e?a:-1,o=Object(r);(e?i--:++i<a)&&!1!==n(o[i],i,o););return r}}((function(t,e){return t&&_i(t,e,xi)}));var Ai=tr,Li=function(t,e){var r=[];return Fi(t,(function(t,n,a){e(t,n,a)&&r.push(t)})),r},Si=fi,Mi=be;const Ei=a((function(t,e){return(Mi(t)?Ai:Li)(t,Si(e))}));var Ui=fi,Ii=an,Ri=un;var $i=function(t){return function(e,r,n){var a=Object(e);if(!Ii(e)){var i=Ui(r);e=Ri(e),r=function(t){return i(a[t],t,a)}}var o=t(e,r,n);return o>-1?a[i?e[o]:o]:void 0}},qi=/\s/;var Pi=function(t){for(var e=t.length;e--&&qi.test(t.charAt(e)););return e},zi=/^\s+/;var Bi=function(t){return t?t.slice(0,Pi(t)+1).replace(zi,""):t},Ti=w,ki=la,Ci=/^[-+]0x[0-9a-f]+$/i,Ni=/^0b[01]+$/i,Di=/^0o[0-7]+$/i,Vi=parseInt;var Wi=function(t){if("number"==typeof t)return t;if(ki(t))return NaN;if(Ti(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Ti(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Bi(t);var r=Ni.test(t);return r||Di.test(t)?Vi(t.slice(2),r?2:8):Ci.test(t)?NaN:+t},Gi=1/0;var Hi=function(t){return t?(t=Wi(t))===Gi||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0};var Ji=Gt,Ki=fi,Qi=function(t){var e=Hi(t),r=e%1;return e==e?r?e-r:e:0},Xi=Math.max;const Yi=a($i((function(t,e,r){var n=null==t?0:t.length;if(!n)return-1;var a=null==r?0:Qi(r);return a<0&&(a=Xi(n+a,0)),Ji(t,Ki(e),a)})));var Zi=Xr(Object.getPrototypeOf,Object),to=j,eo=Zi,ro=ge,no=Function.prototype,ao=Object.prototype,io=no.toString,oo=ao.hasOwnProperty,so=io.call(Object);const co=a((function(t){if(!ro(t)||"[object Object]"!=to(t))return!1;var e=eo(t);if(null===e)return!0;var r=oo.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&io.call(r)==so}));var uo=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t},lo=V,fo=function(){try{var t=lo(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();var ho=function(t,e,r){"__proto__"==e&&fo?fo(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r},po=ho,vo=ut,bo=Object.prototype.hasOwnProperty;var yo=function(t,e,r){var n=t[e];bo.call(t,e)&&vo(n,r)&&(void 0!==r||e in t)||po(t,e,r)},go=yo,mo=ho;var jo=function(t,e,r,n){var a=!r;r||(r={});for(var i=-1,o=e.length;++i<o;){var s=e[i],c=n?n(r[s],t[s],s,r,t):void 0;void 0===c&&(c=t[s]),a?mo(r,s,c):go(r,s,c)}return r},wo=jo,_o=un;var xo=function(t,e){return t&&wo(e,_o(e),t)};var Oo=w,Fo=Qr,Ao=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e},Lo=Object.prototype.hasOwnProperty;var So=Jr,Mo=function(t){if(!Oo(t))return Ao(t);var e=Fo(t),r=[];for(var n in t)("constructor"!=n||!e&&Lo.call(t,n))&&r.push(n);return r},Eo=an;var Uo=function(t){return Eo(t)?So(t,!0):Mo(t)},Io=jo,Ro=Uo;var $o=function(t,e){return t&&Io(e,Ro(e),t)},qo={exports:{}};!function(t,e){var r=c,n=e&&!e.nodeType&&e,a=n&&t&&!t.nodeType&&t,i=a&&a.exports===n?r.Buffer:void 0,o=i?i.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var r=t.length,n=o?o(r):new t.constructor(r);return t.copy(n),n}}(qo,qo.exports);var Po=qo.exports;var zo=function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e},Bo=jo,To=or;var ko=function(t,e){return Bo(t,To(t),e)},Co=Qe,No=Zi,Do=or,Vo=er,Wo=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)Co(e,Do(t)),t=No(t);return e}:Vo,Go=jo,Ho=Wo;var Jo=function(t,e){return Go(t,Ho(t),e)},Ko=Ze,Qo=Wo,Xo=Uo;var Yo=function(t){return Ko(t,Xo,Qo)},Zo=Object.prototype.hasOwnProperty;var ts=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&Zo.call(t,"index")&&(r.index=t.index,r.input=t.input),r},es=Ce;var rs=function(t){var e=new t.constructor(t.byteLength);return new es(e).set(new es(t)),e},ns=rs;var as=function(t,e){var r=e?ns(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)},is=/\w*$/;var os=function(t){var e=new t.constructor(t.source,is.exec(t));return e.lastIndex=t.lastIndex,e},ss=u?u.prototype:void 0,cs=ss?ss.valueOf:void 0;var us=rs;var ls=rs,fs=as,hs=os,ps=function(t){return cs?Object(cs.call(t)):{}},vs=function(t,e){var r=e?us(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)};var ds=function(t,e,r){var n=t.constructor;switch(e){case"[object ArrayBuffer]":return ls(t);case"[object Boolean]":case"[object Date]":return new n(+t);case"[object DataView]":return fs(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return vs(t,r);case"[object Map]":case"[object Set]":return new n;case"[object Number]":case"[object String]":return new n(t);case"[object RegExp]":return hs(t);case"[object Symbol]":return ps(t)}},bs=w,ys=Object.create,gs=function(){function t(){}return function(e){if(!bs(e))return{};if(ys)return ys(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),ms=Zi,js=Qr;var ws=function(t){return"function"!=typeof t.constructor||js(t)?{}:gs(ms(t))},_s=qn,xs=ge;var Os=function(t){return xs(t)&&"[object Map]"==_s(t)},Fs=$r,As=Pr&&Pr.isMap,Ls=As?Fs(As):Os,Ss=qn,Ms=ge;var Es=function(t){return Ms(t)&&"[object Set]"==Ss(t)},Us=$r,Is=Pr&&Pr.isSet,Rs=Is?Us(Is):Es,$s=Pe,qs=uo,Ps=yo,zs=xo,Bs=$o,Ts=Po,ks=zo,Cs=ko,Ns=Jo,Ds=pn,Vs=Yo,Ws=qn,Gs=ts,Hs=ds,Js=ws,Ks=be,Qs=Fr,Xs=Ls,Ys=w,Zs=Rs,tc=un,ec=Uo,rc="[object Arguments]",nc="[object Function]",ac="[object Object]",ic={};ic[rc]=ic["[object Array]"]=ic["[object ArrayBuffer]"]=ic["[object DataView]"]=ic["[object Boolean]"]=ic["[object Date]"]=ic["[object Float32Array]"]=ic["[object Float64Array]"]=ic["[object Int8Array]"]=ic["[object Int16Array]"]=ic["[object Int32Array]"]=ic["[object Map]"]=ic["[object Number]"]=ic[ac]=ic["[object RegExp]"]=ic["[object Set]"]=ic["[object String]"]=ic["[object Symbol]"]=ic["[object Uint8Array]"]=ic["[object Uint8ClampedArray]"]=ic["[object Uint16Array]"]=ic["[object Uint32Array]"]=!0,ic["[object Error]"]=ic[nc]=ic["[object WeakMap]"]=!1;var oc=function t(e,r,n,a,i,o){var s,c=1&r,u=2&r,l=4&r;if(n&&(s=i?n(e,a,i,o):n(e)),void 0!==s)return s;if(!Ys(e))return e;var f=Ks(e);if(f){if(s=Gs(e),!c)return ks(e,s)}else{var h=Ws(e),p=h==nc||"[object GeneratorFunction]"==h;if(Qs(e))return Ts(e,c);if(h==ac||h==rc||p&&!i){if(s=u||p?{}:Js(e),!c)return u?Ns(e,Bs(s,e)):Cs(e,zs(s,e))}else{if(!ic[h])return i?e:{};s=Hs(e,h,c)}}o||(o=new $s);var v=o.get(e);if(v)return v;o.set(e,s),Zs(e)?e.forEach((function(a){s.add(t(a,r,n,a,e,o))})):Xs(e)&&e.forEach((function(a,i){s.set(i,t(a,r,n,i,e,o))}));var d=f?void 0:(l?u?Vs:Ds:u?ec:tc)(e);return qs(d||e,(function(a,i){d&&(a=e[i=a]),Ps(s,i,t(a,r,n,i,e,o))})),s},sc=oc,cc=sa;const uc=a((function(t){return cc(sc(t,1))})),lc=class t extends xe{constructor(){super(...arguments),e(this,"list",(()=>t.transformFiles(this.context.metafile.data.files))),e(this,"filter",(e=>{if(!e)throw new Error('Invalid param: missing required "options" parameter.');if(!F(e)&&!co(e))throw new Error('Invalid param: "options" must be function or object.');const r=t.transformFiles(this.context.metafile.data.files);return F(e)?r.filter(e):Ei(r,uc(e))})),e(this,"find",(e=>{if(!e)throw new Error('Invalid param: missing required "options" parameter.');if(!F(e)&&!co(e))throw new Error('Invalid param: "options" must be function or object.');const r=t.transformFiles(this.context.metafile.data.files);return F(e)?r.find(e):Yi(r,uc(e))})),e(this,"first",(()=>{if(0===this.context.metafile.data.files.length)throw new Error("File is missing in downloaded metafile.");return t.transformFiles(this.context.metafile.data.files)[0]}))}};e(lc,"transformFiles",(t=>t.map((t=>t.toCdnFile()))));let fc=lc;class hc extends xe{constructor(t){super(t),e(this,"files"),e(this,"locales",(t=>{const{excludeBaseLocale:e}=t||{},{locales:r}=this.context.metafile.data;return e?r.filter((t=>!t.isBaseLocale)):r})),e(this,"refresh",(async()=>{const t=await this.context.api.fetchMetafile();this.context.metafile.setMetafile(t)})),e(this,"switch",(async t=>{this.context.metafile.params=new gi(t.metafile),await this.refresh()})),this.files=new fc(t)}get projectUrl(){return this.context.metafile.data.projectUrl}get baseLocale(){return this.context.metafile.data.baseLocale}get url(){return this.context.metafile.params.url}}const pc=a((function(t){return void 0===t}));class vc{constructor(t){e(this,"data"),e(this,"context"),this.context=t.context,this.data=t.data||{}}}class dc{constructor(t){e(this,"files"),e(this,"localesMap"),e(this,"hasSingleFileResponse"),e(this,"hasSingleLocaleResponse"),e(this,"context"),this.files=[],this.localesMap=new vc({context:t}),this.hasSingleFileResponse=!1,this.hasSingleLocaleResponse=!1,this.context=t}async execute(){const t=this.getPromises(),e=t.map((t=>t[0])),r=t.map((t=>t[1])),n=await Promise.all(e);return this.context.responseFactory.createCdnResponse({requests:r,responses:n,localesMap:this.localesMap,hasSingleFileResponse:this.hasSingleFileResponse,hasSingleLocaleResponse:this.hasSingleLocaleResponse})}getPromises(){return this.files.reduce(((t,e)=>(this.localesMap.data[e.id]&&t.push(...this.localesMap.data[e.id].map((t=>{const r={metafileFile:e,metafileLocale:t};return[this.context.api.fetchLocale(r),r]}))),t)),[])}}class bc{constructor(t){e(this,"context"),e(this,"request"),this.context=t,this.request=new dc(this.context)}addFiles(t){if(!(co(t)||_e(t)||pc(t)||ye(t)))throw new Error('Invalid param: "request.files" must be object, array, string or undefined.');if(ye(t)&&t.forEach((t=>{if(!co(t)&&!_e(t))throw new Error('Invalid param: array "request.files" must contain objects or strings.')})),_e(t)){this.request.hasSingleFileResponse=!0;const e=this.context.metafile.data.files.find((e=>e.id===t));if(!(e instanceof bi))throw new Error(`File not found: "${t}".`);this.request.files=[e]}else if(pc(t))this.request.files=[...this.context.metafile.data.files];else if(ye(t))this.request.files=t.map((t=>{let e;if(_e(t)){const r=this.context.metafile.data.files.find((e=>e.id===t));if(pc(r))throw new Error(`File not found: "${t}".`);e=r}else{const r=this.context.metafile.data.files.find((e=>e.id===t.id));if(pc(r))throw new Error(`File not found: "${t.id}".`);e=r}return e}));else if(co(t)){this.request.hasSingleFileResponse=!0;const e=this.context.metafile.data.files.find((e=>e.id===t.id));if(pc(e))throw new Error(`File not found: "${t.id}".`);this.request.files=[e]}return this}addLocales(t,e){if(!(_e(t)||pc(t)||ye(t)))throw new Error('Invalid param: "request.locales" must be array, string or undefined.');return ye(t)&&t.forEach((t=>{if(!_e(t))throw new Error('Invalid param: array "request.locales" must contain strings.')})),_e(t)?(this.request.hasSingleLocaleResponse=!0,this.request.files.reduce(((e,r)=>(e.data[r.id]=r.locales.filter((e=>e.locale===t)),e)),this.request.localesMap)):pc(t)?this.request.files.reduce(((t,r)=>(t.data[r.id]=e?r.locales.filter((t=>!t.isBaseLocale)):r.locales,t)),this.request.localesMap):ye(t)&&this.request.files.reduce(((e,r)=>(e.data[r.id]=r.locales.filter((e=>t.includes(e.locale))),e)),this.request.localesMap),this}getCdnRequest(){const t=this.request;return this.request=new dc(this.context),t}}class yc{constructor(t){e(this,"baseUrl"),this.baseUrl=t}async get(t){const e=await fetch(`${this.baseUrl}${t}`),r=e.headers.get("content-type")||"",n=["application/json5","application/json"].includes(r);if(e.status>=400)throw new Error(`Request failed with status code ${e.status}`);let a="";if(n)try{a=await e.json()}catch(t){a={}}else try{a=await e.text()}catch(t){a=""}return a}}class gc{constructor(t){e(this,"metafile"),e(this,"cache"),e(this,"context"),e(this,"fetch",(async t=>{const{files:e,locales:r,excludeBaseLocale:n}=t||{};return new bc(this.context).addFiles(e).addLocales(r,n).getCdnRequest().execute()}));const r=new mi(t),n=new yc(r.params.baseUrl);this.context=new wi({metafileContext:r,cdn:this,client:n}),this.metafile=new hc(this.context),this.cache=new Oe(this.context)}static async create(t){if(!t)throw new Error('Invalid param: missing required "options" parameter.');if(!_e(t.metafile))throw new Error('Invalid param: "options.metafile" must be string.');const e=new gc(t);return await e.metafile.refresh(),e}}export{r as Api,xe as CdnBase,Oe as CdnCache,gc as CdnClient,hc as CdnMetafile,fc as CdnMetafileFiles,wi as Context,yc as FetchHttpAdapter,de as LocalesCache,vc as LocalesMap,ve as MemoryCacheAdapter,mi as MetafileContext,yi as MetafileData,bi as MetafileFile,di as MetafileLocale,gi as MetafileParams,dc as Request,bc as RequestBuilder,ji as ResponseFactory};
|
|
5
|
+
import"isomorphic-fetch";class s{constructor(t){e(this,"context"),this.context=t}async fetchLocale(t){return this.context.cache.has(t)?new Promise((e=>{e(this.context.cache.get(t))})):this.context.client.get(t.metafileLocale.uri)}async fetchMetafile(){return await this.context.client.get(this.context.metafile.params.jsonPath)}}const i=t=>"string"==typeof t,a=t=>void 0===t,l=t=>Array.isArray(t),r=t=>"[object Object]"===Object.prototype.toString.call(t),o=t=>[...new Set(t)],c=(t,e)=>{const s={};return t.filter((t=>{const i=e(t);return!Object.hasOwn(s,i)&&(s[i]=!0,!0)}))};class n{constructor(){e(this,"map"),this.map=new Map}get(t){return this.map.get(t)}has(t){return this.map.has(t)}set(t,e){this.map.set(t,e)}flush(){this.map=new Map}}class h{constructor(t){e(this,"context"),e(this,"cacheAdapter"),this.context=t,this.cacheAdapter=new n}setIfMissed(t){const{metafileFile:e,metafileLocale:s,data:i}=t,a=this.keyFromMetafile({metafileFile:e,metafileLocale:s});this.cacheAdapter.has(a)||this.cacheAdapter.set(a,i)}has(t){const e=this.keyFromMetafile(t);return this.cacheAdapter.has(e)}get(t){const e=this.keyFromMetafile(t);return this.cacheAdapter.get(e)}flush(){this.cacheAdapter.flush()}keyFromMetafile(t){const{metafileFile:e,metafileLocale:s}=t,i=[...o(e.productFlavors)].sort().join("-");return[this.context.metafile.params.cdnId,e.id,e.file,e.path,e.library,e.module,e.buildType,i,s.locale,s.timestamp.toString()].filter((t=>""!==t)).join("-")}}class u{constructor(t){e(this,"context"),this.context=t}}class p extends u{constructor(){super(...arguments),e(this,"flush",(()=>{this.context.cache.flush()}))}}class f{constructor(t,s){e(this,"language"),e(this,"region"),e(this,"script"),e(this,"isRtl"),e(this,"name"),e(this,"localizedName"),e(this,"uri"),e(this,"timestamp"),e(this,"baseLocale"),this.language=t.language,this.region=t.region,this.script=t.script,this.isRtl=t.isRtl,this.name=t.name,this.localizedName=t.localizedName,this.uri=t.uri,this.timestamp=t.timestamp,this.baseLocale=s}get locale(){return this.language&&this.region&&this.script?`${this.language}_${this.region}#${this.script}`:this.language&&this.script?`${this.language}#${this.script}`:this.language&&this.region?`${this.language}_${this.region}`:this.language}get isBaseLocale(){return this.locale===this.baseLocale}toCdnLocale(){return{locale:this.locale,isBaseLocale:this.isBaseLocale,language:this.language,region:this.region,script:this.script,isRtl:this.isRtl,name:this.name,localizedName:this.localizedName}}}class d{constructor(t){e(this,"id"),e(this,"file"),e(this,"path"),e(this,"library"),e(this,"module"),e(this,"buildType"),e(this,"timestamp"),e(this,"productFlavors"),e(this,"locales"),e(this,"baseUrl"),this.id=t.id,this.file=t.file,this.path=t.path,this.library=t.library,this.module=t.module,this.buildType=t.buildType,this.timestamp=t.timestamp,this.productFlavors=t.productFlavors,this.locales=t.locales,this.baseUrl=t.baseUrl}toCdnFile(){return{id:this.id,file:this.file,path:this.path,library:this.library,module:this.module,buildType:this.buildType,productFlavors:this.productFlavors,locales:this.locales.map((t=>({locale:t.locale,isBaseLocale:t.isBaseLocale,uri:`${this.baseUrl}${t.uri}`})))}}}class m{constructor(t,s){e(this,"projectUrl"),e(this,"baseLocale"),e(this,"locales"),e(this,"timestamp"),e(this,"files"),e(this,"filesMap"),this.projectUrl=t.projectUrl,this.timestamp=t.timestamp,this.files=m.filesFactory(t.files,t.baseLocale,s),this.filesMap=m.filesMapFactory(this.files),this.locales=m.localesFactory(this.files),this.baseLocale=this.locales.find((t=>t.isBaseLocale))}static createEmpty(t){return new m({projectUrl:"",baseLocale:"",timestamp:0,files:{}},t)}static filesFactory(t,e,s){return Object.keys(t).reduce(((i,a)=>{const l=t[a].locales.map((t=>new f(t,e)));return i.push(new d({...t[a],id:a,locales:l,baseUrl:s.baseUrl})),i}),[])}static filesMapFactory(t){return t.reduce(((t,e)=>(t[e.id]=e,t)),{})}static localesFactory(t){const e=t.reduce(((t,e)=>(t.push(...e.locales.map((t=>t.toCdnLocale()))),t)),[]);return c(e,(t=>t.locale))}}class g{constructor(t){e(this,"options"),this.options=g.parseMetafileUrl(t)}get url(){return this.options.url}get baseUrl(){return this.options.baseUrl}get cdnId(){return this.options.cdnId}get jsonPath(){return this.options.jsonPath}static parseMetafileUrl(t){let e;try{e=new URL(t)}catch(t){throw new Error('Invalid param: "options.metafile" cannot be parsed as url.')}const s=e.pathname.match(/^\/(.*?)\/(.*?)\.(v2.json|js|ts)$/);if(null===s||4!==s.length)throw new Error('Invalid param: "options.metafile" contains invalid metafile url.');const i=s[1],a=s[2];return{url:t,baseUrl:e.origin,cdnId:i,jsonPath:`/${i}/${a}.v2.json`}}}class w{constructor(t){e(this,"params"),e(this,"parsedData"),e(this,"data"),this.params=new g(t.metafile),this.parsedData=null,this.data=m.createEmpty(this.params)}setMetafile(t){this.parsedData=t,this.data=new m(t,this.params)}}class x{constructor(t){e(this,"context"),this.context=t}createCdnResponse(t){const{requests:e,responses:s,hasSingleFileResponse:i,hasSingleLocaleResponse:a}=t;return 0===s.length?{}:(this.cacheResponses(e,s),i&&a?s[0]:x.transformResponses(t))}cacheResponses(t,e){e.forEach(((e,s)=>{const{metafileFile:i,metafileLocale:a}=t[s];i&&a&&this.context.cache.setIfMissed({metafileFile:i,metafileLocale:a,data:e})}))}static transformResponses(t){const{requests:e,responses:s,hasSingleFileResponse:i}=t;return s.reduce(((t,s,a)=>{const{metafileFile:l,metafileLocale:r}=e[a];return l&&r&&(i?t[r.locale]=s:(t[l.id]||(t[l.id]={}),t[l.id][r.locale]=s)),t}),{})}}class y{constructor(t){e(this,"metafile"),e(this,"cdn"),e(this,"client"),e(this,"api"),e(this,"cache"),e(this,"responseFactory"),this.metafile=t.metafileContext,this.cdn=t.cdn,this.client=t.client,this.api=new s(this),this.cache=new h(this),this.responseFactory=new x(this)}}class b extends u{constructor(){super(...arguments),e(this,"locales",(t=>{const{excludeBaseLocale:e}=t||{},{locales:s}=this.context.metafile.data;return e?s.filter((t=>!t.isBaseLocale)):s})),e(this,"refresh",(async()=>{const t=await this.context.api.fetchMetafile();this.context.metafile.setMetafile(t)})),e(this,"switch",(async t=>{this.context.metafile.params=new g(t.metafile),await this.refresh()}))}get projectUrl(){return this.context.metafile.data.projectUrl}get baseLocale(){return this.context.metafile.data.baseLocale}get url(){return this.context.metafile.params.url}get files(){return this.context.metafile.data.files.map((t=>t.toCdnFile()))}}class F{constructor(t){e(this,"data"),e(this,"context"),this.context=t.context,this.data=t.data||{}}}class L{constructor(t){e(this,"files"),e(this,"localesMap"),e(this,"hasSingleFileResponse"),e(this,"hasSingleLocaleResponse"),e(this,"context"),this.files=[],this.localesMap=new F({context:t}),this.hasSingleFileResponse=!1,this.hasSingleLocaleResponse=!1,this.context=t}async execute(){const t=this.getPromises(),e=t.map((t=>t[0])),s=t.map((t=>t[1])),i=await Promise.all(e);return this.context.responseFactory.createCdnResponse({requests:s,responses:i,localesMap:this.localesMap,hasSingleFileResponse:this.hasSingleFileResponse,hasSingleLocaleResponse:this.hasSingleLocaleResponse})}getPromises(){return this.files.reduce(((t,e)=>(this.localesMap.data[e.id]&&t.push(...this.localesMap.data[e.id].map((t=>{const s={metafileFile:e,metafileLocale:t};return[this.context.api.fetchLocale(s),s]}))),t)),[])}}class R{constructor(t){e(this,"context"),e(this,"request"),this.context=t,this.request=new L(this.context)}addFiles(t){if(!(r(t)||i(t)||a(t)||l(t)))throw new Error('Invalid param: "request.files" must be object, array, string or undefined.');if(l(t)&&t.forEach((t=>{if(!r(t)&&!i(t))throw new Error('Invalid param: array "request.files" must contain objects or strings.')})),i(t)){this.request.hasSingleFileResponse=!0;const e=this.context.metafile.data.files.find((e=>e.id===t));if(!(e instanceof d))throw new Error(`File not found: "${t}".`);this.request.files=[e]}else if(a(t))this.request.files=[...this.context.metafile.data.files];else if(l(t))this.request.files=t.map((t=>{let e;if(i(t)){const s=this.context.metafile.data.files.find((e=>e.id===t));if(a(s))throw new Error(`File not found: "${t}".`);e=s}else{const s=this.context.metafile.data.files.find((e=>e.id===t.id));if(a(s))throw new Error(`File not found: "${t.id}".`);e=s}return e}));else if(r(t)){this.request.hasSingleFileResponse=!0;const e=this.context.metafile.data.files.find((e=>e.id===t.id));if(a(e))throw new Error(`File not found: "${t.id}".`);this.request.files=[e]}return this}addLocales(t,e){if(!(i(t)||a(t)||l(t)))throw new Error('Invalid param: "request.locales" must be array, string or undefined.');return l(t)&&t.forEach((t=>{if(!i(t))throw new Error('Invalid param: array "request.locales" must contain strings.')})),i(t)?(this.request.hasSingleLocaleResponse=!0,this.request.files.reduce(((e,s)=>(e.data[s.id]=s.locales.filter((e=>e.locale===t)),e)),this.request.localesMap)):a(t)?this.request.files.reduce(((t,s)=>(t.data[s.id]=e?s.locales.filter((t=>!t.isBaseLocale)):s.locales,t)),this.request.localesMap):l(t)&&this.request.files.reduce(((e,s)=>(e.data[s.id]=s.locales.filter((e=>t.includes(e.locale))),e)),this.request.localesMap),this}getCdnRequest(){const t=this.request;return this.request=new L(this.context),t}}class q{constructor(t){e(this,"baseUrl"),this.baseUrl=t}async get(t){const e=await fetch(`${this.baseUrl}${t}`),s=e.headers.get("content-type")||"",i=["application/json5","application/json"].includes(s);if(e.status>=400)throw new Error(`Request failed with status code ${e.status}`);let a="";if(i)try{a=await e.json()}catch(t){a={}}else try{a=await e.text()}catch(t){a=""}return a}}class M{constructor(t){e(this,"metafile"),e(this,"cache"),e(this,"context"),e(this,"fetch",(async t=>{const{files:e,locales:s,excludeBaseLocale:i}=t||{};return new R(this.context).addFiles(e).addLocales(s,i).getCdnRequest().execute()}));const s=new w(t),i=new q(s.params.baseUrl);this.context=new y({metafileContext:s,cdn:this,client:i}),this.metafile=new b(this.context),this.cache=new p(this.context)}static async create(t){if(!t)throw new Error('Invalid param: missing required "options" parameter.');if(!i(t.metafile))throw new Error('Invalid param: "options.metafile" must be string.');const e=new M(t);return await e.metafile.refresh(),e}}export{s as Api,u as CdnBase,p as CdnCache,M as CdnClient,b as CdnMetafile,y as Context,q as FetchHttpAdapter,h as LocalesCache,F as LocalesMap,n as MemoryCacheAdapter,w as MetafileContext,m as MetafileData,d as MetafileFile,f as MetafileLocale,g as MetafileParams,L as Request,R as RequestBuilder,x as ResponseFactory,l as isArray,r as isPlainObject,i as isString,a as isUndefined,o as uniq,c as uniqBy};
|
|
6
6
|
//# sourceMappingURL=localazy-cdn-client.min.js.map
|