@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
- "use strict";var t=Object.defineProperty,e=(e,r,n)=>(((e,r,n)=>{r in e?t(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n})(e,"symbol"!=typeof r?r+"":r,n),n);
2
- /* @localazy/cdn-client@1.2.1
1
+ "use strict";var e=Object.defineProperty,t=(t,s,i)=>(((t,s,i)=>{s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[s]=i})(t,"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
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("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,M=c["__core-js_shared__"],L=(A=/[^.]+$/.exec(M&&M.keys&&M.keys.IE_PROTO||""))?"Symbol(src)_1."+A:"";var S=function(t){return!!L&&L in t},E=Function.prototype.toString;var R=function(t){if(null!=t){try{return E.call(t)}catch(t){}try{return t+""}catch(t){}}return""},U=O,q=S,I=w,P=R,$=/^\[object .+?Constructor\]$/,z=Function.prototype,C=Object.prototype,B=z.toString,T=C.hasOwnProperty,k=RegExp("^"+B.call(T).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var D=function(t){return!(!I(t)||q(t))&&(U(t)?k:$).test(P(t))},N=function(t,e){return null==t?void 0:t[e]};var V=function(t,e){var r=N(t,e);return D(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,Mt=Ot;var Lt=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};var St=function(t,e){var r=t.__data__;return Lt(e)?r["string"==typeof e?"string":"hash"]:r.map},Et=St;var Rt=St;var Ut=St;var qt=St;var It=function(){this.size=0,this.__data__={hash:new Ft,map:new(Mt||At),string:new Ft}},Pt=function(t){var e=Et(this,t).delete(t);return this.size-=e?1:0,e},$t=function(t){return Rt(this,t).get(t)},zt=function(t){return Ut(this,t).has(t)},Ct=function(t,e){var r=qt(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Bt(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])}}Bt.prototype.clear=It,Bt.prototype.delete=Pt,Bt.prototype.get=$t,Bt.prototype.has=zt,Bt.prototype.set=Ct;var Tt=Bt;var kt=Tt,Dt=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Nt=function(t){return this.__data__.has(t)};function Vt(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new kt;++e<r;)this.add(t[e])}Vt.prototype.add=Vt.prototype.push=Dt,Vt.prototype.has=Nt;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,Me=Ot,Le=Tt;var Se=xt,Ee=function(){this.__data__=new Fe,this.size=0},Re=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Ue=function(t){return this.__data__.get(t)},qe=function(t){return this.__data__.has(t)},Ie=function(t,e){var r=this.__data__;if(r instanceof Ae){var n=r.__data__;if(!Me||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Le(n)}return r.set(t,e),this.size=r.size,this};function Pe(t){var e=this.__data__=new Se(t);this.size=e.size}Pe.prototype.clear=Ee,Pe.prototype.delete=Re,Pe.prototype.get=Ue,Pe.prototype.has=qe,Pe.prototype.set=Ie;var $e=Pe;var ze=Wt,Ce=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},Be=Zt;var Te=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(!Ce(e,(function(t,e){if(!Be(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},ke=c.Uint8Array;var De=ke,Ne=ut,Ve=Te,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 De(t),new De(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Ne(+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 Mr=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 Lr=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991},Sr=j,Er=Lr,Rr=ge,Ur={};Ur["[object Float32Array]"]=Ur["[object Float64Array]"]=Ur["[object Int8Array]"]=Ur["[object Int16Array]"]=Ur["[object Int32Array]"]=Ur["[object Uint8Array]"]=Ur["[object Uint8ClampedArray]"]=Ur["[object Uint16Array]"]=Ur["[object Uint32Array]"]=!0,Ur["[object Arguments]"]=Ur["[object Array]"]=Ur["[object ArrayBuffer]"]=Ur["[object Boolean]"]=Ur["[object DataView]"]=Ur["[object Date]"]=Ur["[object Error]"]=Ur["[object Function]"]=Ur["[object Map]"]=Ur["[object Number]"]=Ur["[object Object]"]=Ur["[object RegExp]"]=Ur["[object Set]"]=Ur["[object String]"]=Ur["[object WeakMap]"]=!1;var qr=function(t){return Rr(t)&&Er(t.length)&&!!Ur[Sr(t)]};var Ir=function(t){return function(e){return t(e)}},Pr={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}(Pr,Pr.exports);var $r=Pr.exports,zr=qr,Cr=Ir,Br=$r&&$r.isTypedArray,Tr=Br?Cr(Br):zr,kr=sr,Dr=xr,Nr=be,Vr=Fr,Wr=Mr,Gr=Tr,Hr=Object.prototype.hasOwnProperty;var Jr=function(t,e){var r=Nr(t),n=!r&&Dr(t),a=!r&&!n&&Vr(t),i=!r&&!n&&!a&&Gr(t),o=r||n||a||i,s=o?kr(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=Lr;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=R,On="[object Map]",Fn="[object Promise]",An="[object Set]",Mn="[object WeakMap]",Ln="[object DataView]",Sn=xn(yn),En=xn(gn),Rn=xn(mn),Un=xn(jn),qn=xn(wn),In=_n;(yn&&In(new yn(new ArrayBuffer(1)))!=Ln||gn&&In(new gn)!=On||mn&&In(mn.resolve())!=Fn||jn&&In(new jn)!=An||wn&&In(new wn)!=Mn)&&(In=function(t){var e=_n(t),r="[object Object]"==e?t.constructor:void 0,n=r?xn(r):"";if(n)switch(n){case Sn:return Ln;case En:return On;case Rn:return Fn;case Un:return An;case qn:return Mn}return e});var Pn=In,$n=$e,zn=Te,Cn=Ke,Bn=bn,Tn=Pn,kn=be,Dn=Fr,Nn=Tr,Vn="[object Arguments]",Wn="[object Array]",Gn="[object Object]",Hn=Object.prototype.hasOwnProperty;var Jn=function(t,e,r,n,a,i){var o=kn(t),s=kn(e),c=o?Wn:Tn(t),u=s?Wn:Tn(e),l=(c=c==Vn?Gn:c)==Gn,f=(u=u==Vn?Gn:u)==Gn,h=c==u;if(h&&Dn(t)){if(!Dn(e))return!1;o=!0,l=!1}if(h&&!l)return i||(i=new $n),o||Nn(t)?zn(t,e,r,n,a,i):Cn(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 $n),a(d,b,r,n,i)}}return!!h&&(i||(i=new $n),Bn(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=$e,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=Tt;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 Ma=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},La=Ma;var Sa=be,Ea=da,Ra=wa,Ua=function(t){return null==t?"":La(t)};var qa=function(t,e){return Sa(t)?t:Ea(t,e)?[t]:Ra(Ua(t))},Ia=la;var Pa=function(t){if("string"==typeof t||Ia(t))return t;var e=t+"";return"0"==e&&1/t==-Infinity?"-0":e},$a=qa,za=Pa;var Ca=function(t,e){for(var r=0,n=(e=$a(e,t)).length;null!=t&&r<n;)t=t[za(e[r++])];return r&&r==n?t:void 0},Ba=Ca;var Ta=qa,ka=xr,Da=be,Na=Mr,Va=Lr,Wa=Pa;var Ga=function(t,e){return null!=t&&e in Object(t)},Ha=function(t,e,r){for(var n=-1,a=(e=Ta(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)&&Na(o,a)&&(Da(t)||ka(t))};var Ja=Qn,Ka=function(t,e,r){var n=null==t?void 0:Ba(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=Pa;var ei=Ca;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=Pa;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,Mi=function(t,e){var r=[];return Fi(t,(function(t,n,a){e(t,n,a)&&r.push(t)})),r},Li=fi,Si=be;const Ei=a((function(t,e){return(Si(t)?Ai:Mi)(t,Li(e))}));var Ri=fi,Ui=an,qi=un;var Ii=function(t){return function(e,r,n){var a=Object(e);if(!Ui(e)){var i=Ri(r);e=qi(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}},Pi=/\s/;var $i=function(t){for(var e=t.length;e--&&Pi.test(t.charAt(e)););return e},zi=/^\s+/;var Ci=function(t){return t?t.slice(0,$i(t)+1).replace(zi,""):t},Bi=w,Ti=la,ki=/^[-+]0x[0-9a-f]+$/i,Di=/^0b[01]+$/i,Ni=/^0o[0-7]+$/i,Vi=parseInt;var Wi=function(t){if("number"==typeof t)return t;if(Ti(t))return NaN;if(Bi(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Bi(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Ci(t);var r=Di.test(t);return r||Ni.test(t)?Vi(t.slice(2),r?2:8):ki.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(Ii((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},Mo=Object.prototype.hasOwnProperty;var Lo=Jr,So=function(t){if(!Oo(t))return Ao(t);var e=Fo(t),r=[];for(var n in t)("constructor"!=n||!e&&Mo.call(t,n))&&r.push(n);return r},Eo=an;var Ro=function(t){return Eo(t)?Lo(t,!0):So(t)},Uo=jo,qo=Ro;var Io=function(t,e){return t&&Uo(e,qo(e),t)},Po={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}}(Po,Po.exports);var $o=Po.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},Co=jo,Bo=or;var To=function(t,e){return Co(t,Bo(t),e)},ko=Qe,Do=Zi,No=or,Vo=er,Wo=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)ko(e,No(t)),t=Do(t);return e}:Vo,Go=jo,Ho=Wo;var Jo=function(t,e){return Go(t,Ho(t),e)},Ko=Ze,Qo=Wo,Xo=Ro;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=ke;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=Pn,xs=ge;var Os=function(t){return xs(t)&&"[object Map]"==_s(t)},Fs=Ir,As=$r&&$r.isMap,Ms=As?Fs(As):Os,Ls=Pn,Ss=ge;var Es=function(t){return Ss(t)&&"[object Set]"==Ls(t)},Rs=Ir,Us=$r&&$r.isSet,qs=Us?Rs(Us):Es,Is=$e,Ps=uo,$s=yo,zs=xo,Cs=Io,Bs=$o,Ts=zo,ks=To,Ds=Jo,Ns=pn,Vs=Yo,Ws=Pn,Gs=ts,Hs=ds,Js=ws,Ks=be,Qs=Fr,Xs=Ms,Ys=w,Zs=qs,tc=un,ec=Ro,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 Ts(e,s)}else{var h=Ws(e),p=h==nc||"[object GeneratorFunction]"==h;if(Qs(e))return Bs(e,c);if(h==ac||h==rc||p&&!i){if(s=u||p?{}:Js(e),!c)return u?Ds(e,Cs(s,e)):ks(e,zs(s,e))}else{if(!ic[h])return i?e:{};s=Hs(e,h,c)}}o||(o=new Is);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:Ns:u?ec:tc)(e);return Ps(d||e,(function(a,i){d&&(a=e[i=a]),$s(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}}exports.Api=r,exports.CdnBase=xe,exports.CdnCache=Oe,exports.CdnClient=gc,exports.CdnMetafile=hc,exports.CdnMetafileFiles=fc,exports.Context=wi,exports.FetchHttpAdapter=yc,exports.LocalesCache=de,exports.LocalesMap=vc,exports.MemoryCacheAdapter=ve,exports.MetafileContext=mi,exports.MetafileData=yi,exports.MetafileFile=bi,exports.MetafileLocale=di,exports.MetafileParams=gi,exports.Request=dc,exports.RequestBuilder=bc,exports.ResponseFactory=ji;
5
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),require("isomorphic-fetch");class s{constructor(e){t(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 i=e=>"string"==typeof e,a=e=>void 0===e,r=e=>Array.isArray(e),l=e=>"[object Object]"===Object.prototype.toString.call(e),o=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 n{constructor(){t(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 h{constructor(e){t(this,"context"),t(this,"cacheAdapter"),this.context=e,this.cacheAdapter=new n}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=[...o(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){t(this,"context"),this.context=e}}class u extends p{constructor(){super(...arguments),t(this,"flush",(()=>{this.context.cache.flush()}))}}class d{constructor(e,s){t(this,"language"),t(this,"region"),t(this,"script"),t(this,"isRtl"),t(this,"name"),t(this,"localizedName"),t(this,"uri"),t(this,"timestamp"),t(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=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 f{constructor(e){t(this,"id"),t(this,"file"),t(this,"path"),t(this,"library"),t(this,"module"),t(this,"buildType"),t(this,"timestamp"),t(this,"productFlavors"),t(this,"locales"),t(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 m{constructor(e,s){t(this,"projectUrl"),t(this,"baseLocale"),t(this,"locales"),t(this,"timestamp"),t(this,"files"),t(this,"filesMap"),this.projectUrl=e.projectUrl,this.timestamp=e.timestamp,this.files=m.filesFactory(e.files,e.baseLocale,s),this.filesMap=m.filesMapFactory(this.files),this.locales=m.localesFactory(this.files),this.baseLocale=this.locales.find((e=>e.isBaseLocale))}static createEmpty(e){return new m({projectUrl:"",baseLocale:"",timestamp:0,files:{}},e)}static filesFactory(e,t,s){return Object.keys(e).reduce(((i,a)=>{const r=e[a].locales.map((e=>new d(e,t)));return i.push(new f({...e[a],id:a,locales:r,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 g{constructor(e){t(this,"options"),this.options=g.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 x{constructor(e){t(this,"params"),t(this,"parsedData"),t(this,"data"),this.params=new g(e.metafile),this.parsedData=null,this.data=m.createEmpty(this.params)}setMetafile(e){this.parsedData=e,this.data=new m(e,this.params)}}class w{constructor(e){t(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]:w.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:r,metafileLocale:l}=t[a];return r&&l&&(i?e[l.locale]=s:(e[r.id]||(e[r.id]={}),e[r.id][l.locale]=s)),e}),{})}}class y{constructor(e){t(this,"metafile"),t(this,"cdn"),t(this,"client"),t(this,"api"),t(this,"cache"),t(this,"responseFactory"),this.metafile=e.metafileContext,this.cdn=e.cdn,this.client=e.client,this.api=new s(this),this.cache=new h(this),this.responseFactory=new w(this)}}class b extends p{constructor(){super(...arguments),t(this,"locales",(e=>{const{excludeBaseLocale:t}=e||{},{locales:s}=this.context.metafile.data;return t?s.filter((e=>!e.isBaseLocale)):s})),t(this,"refresh",(async()=>{const e=await this.context.api.fetchMetafile();this.context.metafile.setMetafile(e)})),t(this,"switch",(async e=>{this.context.metafile.params=new g(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 F{constructor(e){t(this,"data"),t(this,"context"),this.context=e.context,this.data=e.data||{}}}class L{constructor(e){t(this,"files"),t(this,"localesMap"),t(this,"hasSingleFileResponse"),t(this,"hasSingleLocaleResponse"),t(this,"context"),this.files=[],this.localesMap=new F({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 M{constructor(e){t(this,"context"),t(this,"request"),this.context=e,this.request=new L(this.context)}addFiles(e){if(!(l(e)||i(e)||a(e)||r(e)))throw new Error('Invalid param: "request.files" must be object, array, string or undefined.');if(r(e)&&e.forEach((e=>{if(!l(e)&&!i(e))throw new Error('Invalid param: array "request.files" must contain objects or strings.')})),i(e)){this.request.hasSingleFileResponse=!0;const t=this.context.metafile.data.files.find((t=>t.id===e));if(!(t instanceof f))throw new Error(`File not found: "${e}".`);this.request.files=[t]}else if(a(e))this.request.files=[...this.context.metafile.data.files];else if(r(e))this.request.files=e.map((e=>{let t;if(i(e)){const s=this.context.metafile.data.files.find((t=>t.id===e));if(a(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(a(s))throw new Error(`File not found: "${e.id}".`);t=s}return t}));else if(l(e)){this.request.hasSingleFileResponse=!0;const t=this.context.metafile.data.files.find((t=>t.id===e.id));if(a(t))throw new Error(`File not found: "${e.id}".`);this.request.files=[t]}return this}addLocales(e,t){if(!(i(e)||a(e)||r(e)))throw new Error('Invalid param: "request.locales" must be array, string or undefined.');return r(e)&&e.forEach((e=>{if(!i(e))throw new Error('Invalid param: array "request.locales" must contain strings.')})),i(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)):a(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 L(this.context),e}}class q{constructor(e){t(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 R{constructor(e){t(this,"metafile"),t(this,"cache"),t(this,"context"),t(this,"fetch",(async e=>{const{files:t,locales:s,excludeBaseLocale:i}=e||{};return new M(this.context).addFiles(t).addLocales(s,i).getCdnRequest().execute()}));const s=new x(e),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 u(this.context)}static async create(e){if(!e)throw new Error('Invalid param: missing required "options" parameter.');if(!i(e.metafile))throw new Error('Invalid param: "options.metafile" must be string.');const t=new R(e);return await t.metafile.refresh(),t}}exports.Api=s,exports.CdnBase=p,exports.CdnCache=u,exports.CdnClient=R,exports.CdnMetafile=b,exports.Context=y,exports.FetchHttpAdapter=q,exports.LocalesCache=h,exports.LocalesMap=F,exports.MemoryCacheAdapter=n,exports.MetafileContext=x,exports.MetafileData=m,exports.MetafileFile=f,exports.MetafileLocale=d,exports.MetafileParams=g,exports.Request=L,exports.RequestBuilder=M,exports.ResponseFactory=w,exports.isArray=r,exports.isPlainObject=l,exports.isString=i,exports.isUndefined=a,exports.uniq=o,exports.uniqBy=c;
6
6
  //# sourceMappingURL=localazy-cdn-client.min.cjs.map