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