@iebh/tera-fy 2.3.2 → 2.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/terafy.js CHANGED
@@ -1,5 +1,5 @@
1
1
  var xo=typeof global=="object"&&global&&global.Object===Object&&global,ut=xo;var yo=typeof self=="object"&&self&&self.Object===Object&&self,bo=ut||yo||Function("return this")(),d=bo;var vo=d.Symbol,x=vo;var Qt=Object.prototype,wo=Qt.hasOwnProperty,To=Qt.toString,it=x?x.toStringTag:void 0;function Po(t){var e=wo.call(t,it),r=t[it];try{t[it]=void 0;var o=!0}catch{}var a=To.call(t);return o&&(e?t[it]=r:delete t[it]),a}var te=Po;var jo=Object.prototype,Oo=jo.toString;function Ao(t){return Oo.call(t)}var ee=Ao;var Io="[object Null]",So="[object Undefined]",re=x?x.toStringTag:void 0;function _o(t){return t==null?t===void 0?So:Io:re&&re in Object(t)?te(t):ee(t)}var w=_o;function Eo(t){return t!=null&&typeof t=="object"}var y=Eo;var Fo="[object Symbol]";function Co(t){return typeof t=="symbol"||y(t)&&w(t)==Fo}var k=Co;function Mo(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r<o;)a[r]=e(t[r],r,t);return a}var dt=Mo;var No=Array.isArray,g=No;var Ro=1/0,oe=x?x.prototype:void 0,ae=oe?oe.toString:void 0;function ie(t){if(typeof t=="string")return t;if(g(t))return dt(t,ie)+"";if(k(t))return ae?ae.call(t):"";var e=t+"";return e=="0"&&1/t==-Ro?"-0":e}var se=ie;function Lo(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var T=Lo;function Bo(t){return t}var ne=Bo;var ko="[object AsyncFunction]",Do="[object Function]",Uo="[object GeneratorFunction]",Go="[object Proxy]";function zo(t){if(!T(t))return!1;var e=w(t);return e==Do||e==Uo||e==ko||e==Go}var ct=zo;var Ko=d["__core-js_shared__"],ht=Ko;var fe=(function(){var t=/[^.]+$/.exec(ht&&ht.keys&&ht.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Wo(t){return!!fe&&fe in t}var pe=Wo;var Yo=Function.prototype,$o=Yo.toString;function Ho(t){if(t!=null){try{return $o.call(t)}catch{}try{return t+""}catch{}}return""}var A=Ho;var Vo=/[\\^$.*+?()[\]{}|]/g,qo=/^\[object .+?Constructor\]$/,Zo=Function.prototype,Jo=Object.prototype,Xo=Zo.toString,Qo=Jo.hasOwnProperty,ta=RegExp("^"+Xo.call(Qo).replace(Vo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ea(t){if(!T(t)||pe(t))return!1;var e=ct(t)?ta:qo;return e.test(A(t))}var le=ea;function ra(t,e){return t?.[e]}var me=ra;function oa(t,e){var r=me(t,e);return le(r)?r:void 0}var b=oa;var aa=b(d,"WeakMap"),gt=aa;var ue=Object.create,ia=(function(){function t(){}return function(e){if(!T(e))return{};if(ue)return ue(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})(),de=ia;function sa(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var ce=sa;function na(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}var he=na;var fa=800,pa=16,la=Date.now;function ma(t){var e=0,r=0;return function(){var o=la(),a=pa-(o-r);if(r=o,a>0){if(++e>=fa)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var ge=ma;function ua(t){return function(){return t}}var xe=ua;var da=(function(){try{var t=b(Object,"defineProperty");return t({},"",{}),t}catch{}})(),D=da;var ca=D?function(t,e){return D(t,"toString",{configurable:!0,enumerable:!1,value:xe(e),writable:!0})}:ne,ye=ca;var ha=ge(ye),be=ha;function ga(t,e){for(var r=-1,o=t==null?0:t.length;++r<o&&e(t[r],r,t)!==!1;);return t}var ve=ga;var xa=9007199254740991,ya=/^(?:0|[1-9]\d*)$/;function ba(t,e){var r=typeof t;return e=e??xa,!!e&&(r=="number"||r!="symbol"&&ya.test(t))&&t>-1&&t%1==0&&t<e}var U=ba;function va(t,e,r){e=="__proto__"&&D?D(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var xt=va;function wa(t,e){return t===e||t!==t&&e!==e}var yt=wa;var Ta=Object.prototype,Pa=Ta.hasOwnProperty;function ja(t,e,r){var o=t[e];(!(Pa.call(t,e)&&yt(o,r))||r===void 0&&!(e in t))&&xt(t,e,r)}var G=ja;function Oa(t,e,r,o){var a=!r;r||(r={});for(var i=-1,s=e.length;++i<s;){var n=e[i],u=o?o(r[n],t[n],n,r,t):void 0;u===void 0&&(u=t[n]),a?xt(r,n,u):G(r,n,u)}return r}var O=Oa;var we=Math.max;function Aa(t,e,r){return e=we(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,i=we(o.length-e,0),s=Array(i);++a<i;)s[a]=o[e+a];a=-1;for(var n=Array(e+1);++a<e;)n[a]=o[a];return n[e]=r(s),ce(t,this,n)}}var Te=Aa;var Ia=9007199254740991;function Sa(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Ia}var z=Sa;function _a(t){return t!=null&&z(t.length)&&!ct(t)}var bt=_a;var Ea=Object.prototype;function Fa(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Ea;return t===r}var K=Fa;function Ca(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o}var Pe=Ca;var Ma="[object Arguments]";function Na(t){return y(t)&&w(t)==Ma}var Lt=Na;var je=Object.prototype,Ra=je.hasOwnProperty,La=je.propertyIsEnumerable,Ba=Lt((function(){return arguments})())?Lt:function(t){return y(t)&&Ra.call(t,"callee")&&!La.call(t,"callee")},W=Ba;function ka(){return!1}var Oe=ka;var Se=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ae=Se&&typeof module=="object"&&module&&!module.nodeType&&module,Da=Ae&&Ae.exports===Se,Ie=Da?d.Buffer:void 0,Ua=Ie?Ie.isBuffer:void 0,Ga=Ua||Oe,vt=Ga;var za="[object Arguments]",Ka="[object Array]",Wa="[object Boolean]",Ya="[object Date]",$a="[object Error]",Ha="[object Function]",Va="[object Map]",qa="[object Number]",Za="[object Object]",Ja="[object RegExp]",Xa="[object Set]",Qa="[object String]",ti="[object WeakMap]",ei="[object ArrayBuffer]",ri="[object DataView]",oi="[object Float32Array]",ai="[object Float64Array]",ii="[object Int8Array]",si="[object Int16Array]",ni="[object Int32Array]",fi="[object Uint8Array]",pi="[object Uint8ClampedArray]",li="[object Uint16Array]",mi="[object Uint32Array]",m={};m[oi]=m[ai]=m[ii]=m[si]=m[ni]=m[fi]=m[pi]=m[li]=m[mi]=!0;m[za]=m[Ka]=m[ei]=m[Wa]=m[ri]=m[Ya]=m[$a]=m[Ha]=m[Va]=m[qa]=m[Za]=m[Ja]=m[Xa]=m[Qa]=m[ti]=!1;function ui(t){return y(t)&&z(t.length)&&!!m[w(t)]}var _e=ui;function di(t){return function(e){return t(e)}}var Y=di;var Ee=typeof exports=="object"&&exports&&!exports.nodeType&&exports,st=Ee&&typeof module=="object"&&module&&!module.nodeType&&module,ci=st&&st.exports===Ee,Bt=ci&&ut.process,hi=(function(){try{var t=st&&st.require&&st.require("util").types;return t||Bt&&Bt.binding&&Bt.binding("util")}catch{}})(),I=hi;var Fe=I&&I.isTypedArray,gi=Fe?Y(Fe):_e,Ce=gi;var xi=Object.prototype,yi=xi.hasOwnProperty;function bi(t,e){var r=g(t),o=!r&&W(t),a=!r&&!o&&vt(t),i=!r&&!o&&!a&&Ce(t),s=r||o||a||i,n=s?Pe(t.length,String):[],u=n.length;for(var c in t)(e||yi.call(t,c))&&!(s&&(c=="length"||a&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||U(c,u)))&&n.push(c);return n}var wt=bi;function vi(t,e){return function(r){return t(e(r))}}var Tt=vi;var wi=Tt(Object.keys,Object),Me=wi;var Ti=Object.prototype,Pi=Ti.hasOwnProperty;function ji(t){if(!K(t))return Me(t);var e=[];for(var r in Object(t))Pi.call(t,r)&&r!="constructor"&&e.push(r);return e}var Ne=ji;function Oi(t){return bt(t)?wt(t):Ne(t)}var $=Oi;function Ai(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var Re=Ai;var Ii=Object.prototype,Si=Ii.hasOwnProperty;function _i(t){if(!T(t))return Re(t);var e=K(t),r=[];for(var o in t)o=="constructor"&&(e||!Si.call(t,o))||r.push(o);return r}var Le=_i;function Ei(t){return bt(t)?wt(t,!0):Le(t)}var H=Ei;var Fi=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ci=/^\w*$/;function Mi(t,e){if(g(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||k(t)?!0:Ci.test(t)||!Fi.test(t)||e!=null&&t in Object(e)}var Be=Mi;var Ni=b(Object,"create"),S=Ni;function Ri(){this.__data__=S?S(null):{},this.size=0}var ke=Ri;function Li(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var De=Li;var Bi="__lodash_hash_undefined__",ki=Object.prototype,Di=ki.hasOwnProperty;function Ui(t){var e=this.__data__;if(S){var r=e[t];return r===Bi?void 0:r}return Di.call(e,t)?e[t]:void 0}var Ue=Ui;var Gi=Object.prototype,zi=Gi.hasOwnProperty;function Ki(t){var e=this.__data__;return S?e[t]!==void 0:zi.call(e,t)}var Ge=Ki;var Wi="__lodash_hash_undefined__";function Yi(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=S&&e===void 0?Wi:e,this}var ze=Yi;function V(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}V.prototype.clear=ke;V.prototype.delete=De;V.prototype.get=Ue;V.prototype.has=Ge;V.prototype.set=ze;var kt=V;function $i(){this.__data__=[],this.size=0}var Ke=$i;function Hi(t,e){for(var r=t.length;r--;)if(yt(t[r][0],e))return r;return-1}var E=Hi;var Vi=Array.prototype,qi=Vi.splice;function Zi(t){var e=this.__data__,r=E(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():qi.call(e,r,1),--this.size,!0}var We=Zi;function Ji(t){var e=this.__data__,r=E(e,t);return r<0?void 0:e[r][1]}var Ye=Ji;function Xi(t){return E(this.__data__,t)>-1}var $e=Xi;function Qi(t,e){var r=this.__data__,o=E(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}var He=Qi;function q(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}q.prototype.clear=Ke;q.prototype.delete=We;q.prototype.get=Ye;q.prototype.has=$e;q.prototype.set=He;var F=q;var ts=b(d,"Map"),C=ts;function es(){this.size=0,this.__data__={hash:new kt,map:new(C||F),string:new kt}}var Ve=es;function rs(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var qe=rs;function os(t,e){var r=t.__data__;return qe(e)?r[typeof e=="string"?"string":"hash"]:r.map}var M=os;function as(t){var e=M(this,t).delete(t);return this.size-=e?1:0,e}var Ze=as;function is(t){return M(this,t).get(t)}var Je=is;function ss(t){return M(this,t).has(t)}var Xe=ss;function ns(t,e){var r=M(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}var Qe=ns;function Z(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Z.prototype.clear=Ve;Z.prototype.delete=Ze;Z.prototype.get=Je;Z.prototype.has=Xe;Z.prototype.set=Qe;var nt=Z;var fs="Expected a function";function Dt(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(fs);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],i=r.cache;if(i.has(a))return i.get(a);var s=t.apply(this,o);return r.cache=i.set(a,s)||i,s};return r.cache=new(Dt.Cache||nt),r}Dt.Cache=nt;var tr=Dt;var ps=500;function ls(t){var e=tr(t,function(o){return r.size===ps&&r.clear(),o}),r=e.cache;return e}var er=ls;var ms=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,us=/\\(\\)?/g,ds=er(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(ms,function(r,o,a,i){e.push(a?i.replace(us,"$1"):o||r)}),e}),rr=ds;function cs(t){return t==null?"":se(t)}var or=cs;function hs(t,e){return g(t)?t:Be(t,e)?[t]:rr(or(t))}var P=hs;var gs=1/0;function xs(t){if(typeof t=="string"||k(t))return t;var e=t+"";return e=="0"&&1/t==-gs?"-0":e}var N=xs;function ys(t,e){e=P(e,t);for(var r=0,o=e.length;t!=null&&r<o;)t=t[N(e[r++])];return r&&r==o?t:void 0}var Pt=ys;function bs(t,e){for(var r=-1,o=e.length,a=t.length;++r<o;)t[a+r]=e[r];return t}var J=bs;var ar=x?x.isConcatSpreadable:void 0;function vs(t){return g(t)||W(t)||!!(ar&&t&&t[ar])}var ir=vs;function sr(t,e,r,o,a){var i=-1,s=t.length;for(r||(r=ir),a||(a=[]);++i<s;){var n=t[i];e>0&&r(n)?e>1?sr(n,e-1,r,o,a):J(a,n):o||(a[a.length]=n)}return a}var nr=sr;function ws(t){var e=t==null?0:t.length;return e?nr(t,1):[]}var fr=ws;function Ts(t){return be(Te(t,void 0,fr),t+"")}var jt=Ts;var Ps=Tt(Object.getPrototypeOf,Object),X=Ps;var js="[object Object]",Os=Function.prototype,As=Object.prototype,pr=Os.toString,Is=As.hasOwnProperty,Ss=pr.call(Object);function _s(t){if(!y(t)||w(t)!=js)return!1;var e=X(t);if(e===null)return!0;var r=Is.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&pr.call(r)==Ss}var lr=_s;function Es(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(a);++o<a;)i[o]=t[o+e];return i}var mr=Es;function Fs(){this.__data__=new F,this.size=0}var ur=Fs;function Cs(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var dr=Cs;function Ms(t){return this.__data__.get(t)}var cr=Ms;function Ns(t){return this.__data__.has(t)}var hr=Ns;var Rs=200;function Ls(t,e){var r=this.__data__;if(r instanceof F){var o=r.__data__;if(!C||o.length<Rs-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new nt(o)}return r.set(t,e),this.size=r.size,this}var gr=Ls;function Q(t){var e=this.__data__=new F(t);this.size=e.size}Q.prototype.clear=ur;Q.prototype.delete=dr;Q.prototype.get=cr;Q.prototype.has=hr;Q.prototype.set=gr;var xr=Q;function Bs(t,e){return t&&O(e,$(e),t)}var yr=Bs;function ks(t,e){return t&&O(e,H(e),t)}var br=ks;var Pr=typeof exports=="object"&&exports&&!exports.nodeType&&exports,vr=Pr&&typeof module=="object"&&module&&!module.nodeType&&module,Ds=vr&&vr.exports===Pr,wr=Ds?d.Buffer:void 0,Tr=wr?wr.allocUnsafe:void 0;function Us(t,e){if(e)return t.slice();var r=t.length,o=Tr?Tr(r):new t.constructor(r);return t.copy(o),o}var jr=Us;function Gs(t,e){for(var r=-1,o=t==null?0:t.length,a=0,i=[];++r<o;){var s=t[r];e(s,r,t)&&(i[a++]=s)}return i}var Or=Gs;function zs(){return[]}var Ot=zs;var Ks=Object.prototype,Ws=Ks.propertyIsEnumerable,Ar=Object.getOwnPropertySymbols,Ys=Ar?function(t){return t==null?[]:(t=Object(t),Or(Ar(t),function(e){return Ws.call(t,e)}))}:Ot,tt=Ys;function $s(t,e){return O(t,tt(t),e)}var Ir=$s;var Hs=Object.getOwnPropertySymbols,Vs=Hs?function(t){for(var e=[];t;)J(e,tt(t)),t=X(t);return e}:Ot,At=Vs;function qs(t,e){return O(t,At(t),e)}var Sr=qs;function Zs(t,e,r){var o=e(t);return g(t)?o:J(o,r(t))}var It=Zs;function Js(t){return It(t,$,tt)}var _r=Js;function Xs(t){return It(t,H,At)}var St=Xs;var Qs=b(d,"DataView"),_t=Qs;var tn=b(d,"Promise"),Et=tn;var en=b(d,"Set"),Ft=en;var Er="[object Map]",rn="[object Object]",Fr="[object Promise]",Cr="[object Set]",Mr="[object WeakMap]",Nr="[object DataView]",on=A(_t),an=A(C),sn=A(Et),nn=A(Ft),fn=A(gt),L=w;(_t&&L(new _t(new ArrayBuffer(1)))!=Nr||C&&L(new C)!=Er||Et&&L(Et.resolve())!=Fr||Ft&&L(new Ft)!=Cr||gt&&L(new gt)!=Mr)&&(L=function(t){var e=w(t),r=e==rn?t.constructor:void 0,o=r?A(r):"";if(o)switch(o){case on:return Nr;case an:return Er;case sn:return Fr;case nn:return Cr;case fn:return Mr}return e});var et=L;var pn=Object.prototype,ln=pn.hasOwnProperty;function mn(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&ln.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var Rr=mn;var un=d.Uint8Array,Ut=un;function dn(t){var e=new t.constructor(t.byteLength);return new Ut(e).set(new Ut(t)),e}var rt=dn;function cn(t,e){var r=e?rt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Lr=cn;var hn=/\w*$/;function gn(t){var e=new t.constructor(t.source,hn.exec(t));return e.lastIndex=t.lastIndex,e}var Br=gn;var kr=x?x.prototype:void 0,Dr=kr?kr.valueOf:void 0;function xn(t){return Dr?Object(Dr.call(t)):{}}var Ur=xn;function yn(t,e){var r=e?rt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var Gr=yn;var bn="[object Boolean]",vn="[object Date]",wn="[object Map]",Tn="[object Number]",Pn="[object RegExp]",jn="[object Set]",On="[object String]",An="[object Symbol]",In="[object ArrayBuffer]",Sn="[object DataView]",_n="[object Float32Array]",En="[object Float64Array]",Fn="[object Int8Array]",Cn="[object Int16Array]",Mn="[object Int32Array]",Nn="[object Uint8Array]",Rn="[object Uint8ClampedArray]",Ln="[object Uint16Array]",Bn="[object Uint32Array]";function kn(t,e,r){var o=t.constructor;switch(e){case In:return rt(t);case bn:case vn:return new o(+t);case Sn:return Lr(t,r);case _n:case En:case Fn:case Cn:case Mn:case Nn:case Rn:case Ln:case Bn:return Gr(t,r);case wn:return new o;case Tn:case On:return new o(t);case Pn:return Br(t);case jn:return new o;case An:return Ur(t)}}var zr=kn;function Dn(t){return typeof t.constructor=="function"&&!K(t)?de(X(t)):{}}var Kr=Dn;var Un="[object Map]";function Gn(t){return y(t)&&et(t)==Un}var Wr=Gn;var Yr=I&&I.isMap,zn=Yr?Y(Yr):Wr,$r=zn;var Kn="[object Set]";function Wn(t){return y(t)&&et(t)==Kn}var Hr=Wn;var Vr=I&&I.isSet,Yn=Vr?Y(Vr):Hr,qr=Yn;var $n=1,Hn=2,Vn=4,Zr="[object Arguments]",qn="[object Array]",Zn="[object Boolean]",Jn="[object Date]",Xn="[object Error]",Jr="[object Function]",Qn="[object GeneratorFunction]",tf="[object Map]",ef="[object Number]",Xr="[object Object]",rf="[object RegExp]",of="[object Set]",af="[object String]",sf="[object Symbol]",nf="[object WeakMap]",ff="[object ArrayBuffer]",pf="[object DataView]",lf="[object Float32Array]",mf="[object Float64Array]",uf="[object Int8Array]",df="[object Int16Array]",cf="[object Int32Array]",hf="[object Uint8Array]",gf="[object Uint8ClampedArray]",xf="[object Uint16Array]",yf="[object Uint32Array]",l={};l[Zr]=l[qn]=l[ff]=l[pf]=l[Zn]=l[Jn]=l[lf]=l[mf]=l[uf]=l[df]=l[cf]=l[tf]=l[ef]=l[Xr]=l[rf]=l[of]=l[af]=l[sf]=l[hf]=l[gf]=l[xf]=l[yf]=!0;l[Xn]=l[Jr]=l[nf]=!1;function Ct(t,e,r,o,a,i){var s,n=e&$n,u=e&Hn,c=e&Vn;if(r&&(s=a?r(t,o,a,i):r(t)),s!==void 0)return s;if(!T(t))return t;var h=g(t);if(h){if(s=Rr(t),!n)return he(t,s)}else{var j=et(t),ft=j==Jr||j==Qn;if(vt(t))return jr(t,n);if(j==Xr||j==Zr||ft&&!a){if(s=u||ft?{}:Kr(t),!n)return u?Sr(t,br(s,t)):Ir(t,yr(s,t))}else{if(!l[j])return a?t:{};s=zr(t,j,n)}}i||(i=new xr);var ot=i.get(t);if(ot)return ot;i.set(t,s),qr(t)?t.forEach(function(v){s.add(Ct(v,e,r,v,t,i))}):$r(t)&&t.forEach(function(v,f){s.set(f,Ct(v,e,r,f,t,i))});var pt=c?u?St:_r:u?H:$,lt=h?void 0:pt(t);return ve(lt||t,function(v,f){lt&&(f=v,v=t[f]),G(s,f,Ct(v,e,r,f,t,i))}),s}var Mt=Ct;var bf=1,vf=4;function wf(t){return Mt(t,bf|vf)}var Gt=wf;function Tf(t,e){return t!=null&&e in Object(t)}var Qr=Tf;function Pf(t,e,r){e=P(e,t);for(var o=-1,a=e.length,i=!1;++o<a;){var s=N(e[o]);if(!(i=t!=null&&r(t,s)))break;t=t[s]}return i||++o!=a?i:(a=t==null?0:t.length,!!a&&z(a)&&U(s,a)&&(g(t)||W(t)))}var to=Pf;function jf(t,e){return t!=null&&to(t,e,Qr)}var eo=jf;function Of(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var ro=Of;function Af(t,e){return e.length<2?t:Pt(t,mr(e,0,-1))}var oo=Af;var If=Object.prototype,Sf=If.hasOwnProperty;function _f(t,e){e=P(e,t);var r=-1,o=e.length;if(!o)return!0;for(var a=t==null||typeof t!="object"&&typeof t!="function";++r<o;){var i=e[r];if(typeof i=="string"){if(i==="__proto__"&&!Sf.call(t,"__proto__"))return!1;if(i==="constructor"&&r+1<o&&typeof e[r+1]=="string"&&e[r+1]==="prototype"){if(a&&r===0)continue;return!1}}}var s=oo(t,e);return s==null||delete s[N(ro(e))]}var ao=_f;function Ef(t){return lr(t)?void 0:t}var io=Ef;var Ff=1,Cf=2,Mf=4,Nf=jt(function(t,e){var r={};if(t==null)return r;var o=!1;e=dt(e,function(i){return i=P(i,t),o||(o=i.length>1),i}),O(t,St(t),r),o&&(r=Mt(r,Ff|Cf|Mf,io));for(var a=e.length;a--;)ao(r,e[a]);return r}),zt=Nf;function Rf(t,e,r,o){if(!T(t))return t;e=P(e,t);for(var a=-1,i=e.length,s=i-1,n=t;n!=null&&++a<i;){var u=N(e[a]),c=r;if(u==="__proto__"||u==="constructor"||u==="prototype")return t;if(a!=s){var h=n[u];c=o?o(h,u,n):void 0,c===void 0&&(c=T(h)?h:U(e[a+1])?[]:{})}G(n,u,c),n=n[u]}return t}var so=Rf;function Lf(t,e,r){for(var o=-1,a=e.length,i={};++o<a;){var s=e[o],n=Pt(t,s);r(n,s)&&so(i,P(s,t),n)}return i}var no=Lf;function Bf(t,e){return no(t,e,function(r,o){return eo(t,o)})}var fo=Bf;var kf=jt(function(t,e){return t==null?{}:fo(t,e)}),Nt=kf;function po(t){return{all:t=t||new Map,on:function(e,r){var o=t.get(e);o?o.push(r):t.set(e,[r])},off:function(e,r){var o=t.get(e);o&&(r?o.splice(o.indexOf(r)>>>0,1):t.set(e,[]))},emit:function(e,r){var o=t.get(e);o&&o.slice().map(function(a){a(r)}),(o=t.get("*"))&&o.slice().map(function(a){a(e,r)})}}}var lo="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Kt=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=lo[r[t]&63];return e};var Df="array";var mo="bits",Uf="byte",uo="bytes";var Gf="exponent",zf="function";var Kf="Invalid number",Wf="Invalid rounding method",Wt="jedec",Yf="object";var $f="round";var Hf="kbit";var Vf="string";var Yt={symbol:{iec:{bits:["bit","Kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],bytes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},jedec:{bits:["bit","Kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],bytes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}},fullform:{iec:["","kibi","mebi","gibi","tebi","pebi","exbi","zebi","yobi"],jedec:["","kilo","mega","giga","tera","peta","exa","zetta","yotta"]}};function co(t,{bits:e=!1,pad:r=!1,base:o=-1,round:a=2,locale:i="",localeOptions:s={},separator:n="",spacer:u=" ",symbols:c={},standard:h="",output:j=Vf,fullform:ft=!1,fullforms:ot=[],exponent:pt=-1,roundingMethod:lt=$f,precision:v=0}={}){let f=pt,B=Number(t),p=[],R=0,Rt="";h==="si"?(o=10,h=Wt):h==="iec"||h===Wt?o=2:o===2?h="iec":(o=10,h=Wt);let mt=o===10?1e3:1024,ho=ft===!0,Ht=B<0,Vt=Math[lt];if(typeof t!="bigint"&&isNaN(t))throw new TypeError(Kf);if(typeof Vt!==zf)throw new TypeError(Wf);if(Ht&&(B=-B),(f===-1||isNaN(f))&&(f=Math.floor(Math.log(B)/Math.log(mt)),f<0&&(f=0)),f>8&&(v>0&&(v+=8-f),f=8),j===Gf)return f;if(B===0)p[0]=0,Rt=p[1]=Yt.symbol[h][e?mo:uo][f];else{R=B/(o===2?Math.pow(2,f*10):Math.pow(1e3,f)),e&&(R=R*8,R>=mt&&f<8&&(R=R/mt,f++));let at=Math.pow(10,f>0?a:0);p[0]=Vt(R*at)/at,p[0]===mt&&f<8&&pt===-1&&(p[0]=1,f++),Rt=p[1]=o===10&&f===1?e?Hf:"kB":Yt.symbol[h][e?mo:uo][f]}if(Ht&&(p[0]=-p[0]),v>0&&(p[0]=p[0].toPrecision(v)),p[1]=c[p[1]]||p[1],i===!0?p[0]=p[0].toLocaleString():i.length>0?p[0]=p[0].toLocaleString(i,s):n.length>0&&(p[0]=p[0].toString().replace(".",n)),r&&a>0){let at=p[0].toString(),qt=n||(at.match(/(\D)/g)||[]).pop()||".",Zt=at.toString().split(qt),Jt=Zt[1]||"",Xt=Jt.length,go=a-Xt;p[0]=`${Zt[0]}${qt}${Jt.padEnd(Xt+go,"0")}`}return ho&&(p[1]=ot[f]?ot[f]:Yt.fullform[h][f]+(e?"bit":Uf)+(p[0]===1?"":"s")),j===Df?p:j===Yf?{value:p[0],symbol:p[1],exponent:f,unit:Rt}:p.join(u)}var _=class t{constructor(e){this.meta={};if(!e.tera)throw new Error("Basic file requires a `tera` key to access the Tera instance");Object.assign(this,zt(e,"encodeIdFunction")),e.encodeIdFunction&&typeof e.encodeIdFunction=="function"&&(this.id=e.encodeIdFunction(this.id));let r=this.tera;Object.defineProperty(this,"_tera",{enumerable:!1,configurable:!1,get(){return r}}),delete this.tera,this.created&&typeof this.created=="string"&&(this.created=new Date(this.created)),this.modified&&typeof this.modified=="string"&&(this.modified=new Date(this.modified)),this.accessed&&typeof this.accessed=="string"&&(this.accessed=new Date(this.accessed)),this.isFolder&&(this.files=this.files?.map(o=>{let a=o.path.split(/\//).slice(3).join("/"),i=this.url+"/"+o.name;return o.meta.reflib&&(i=i.replace(/\/project\/download\//,"/project/library/")),new t({tera:this._tera,...o,sbId:o.id,id:o.path,encodeIdFunction:e.encodeIdFunction,path:a,url:i})})),this.teraUrl=this.url.replace(/^https?:\/\/(?:.+?)\/projects\/(?:.+?)\/project\/(.+)$/,"/project/$1"),this.sizeFormatted=co(this.size||0,{spacer:""}),this.createdFormatted=this.created?this.created.toLocaleDateString():"Unknown created date",this.modifiedFormatted=this.modified?this.modified.toLocaleDateString():"Unknown modified date",this.accessedFormatted=this.accessed?this.accessed.toLocaleDateString():"Unknown access date"}getContents(e){return this._tera.getProjectFileContents(this.id,e)}setContents(e){return this._tera.setProjectFileContents(this.id,e,{})}getRefs(){return this._tera.getProjectLibrary(this.id)}setRefs(e){return this._tera.setProjectLibrary(this.id,e)}serialize(){return Nt(this,["id","sbId","name","icon","path","url","parsedName","created","modified","accessed","size","mime","meta"])}static deserialize(e){let r=Nt(e,["tera","id","sbId","name","icon","path","url","parsedName","created","modified","accessed","size","mime","meta"]);return new t(r)}};var $t=class{constructor(e){this.settings={session:null,devMode:!1,verbosity:1,mode:"detect",modeTimeout:300,modeFallback:"child",modeOverrides:{child(e){e.siteUrl=="https://tera-tools.com/embed"&&(e.siteUrl="https://dev.tera-tools.com/embed")}},siteUrl:"https://tera-tools.com/embed",restrictOrigin:"*",frameSandbox:["allow-forms","allow-modals","allow-orientation-lock","allow-pointer-lock","allow-popups","allow-popups-to-escape-sandbox","allow-presentation","allow-same-origin","allow-scripts","allow-top-navigation"],handshakeInterval:1e3,handshakeTimeout:1e4,debugPaths:null};this.events=po();this.dom={el:null,iframe:null,popup:null,stylesheet:null};this.methods=["handshake","setServerVerbosity","getUser","requireUser","getCredentials","getKindeToken","bindProject","getProject","getProjects","setActiveProject","requireProject","selectProject","getNamespace","setNamespace","listNamespaces","getProjectState","setProjectState","setProjectStateDefaults","setProjectStateRefresh","getProjectFileContents","deleteProjectFile","setProjectFileContents","createProjectFolder","deleteProjectFolder","selectProjectLibrary","getProjectLibrary","setProjectLibrary","projectLog","setPage","uiAlert","uiConfirm","uiJson","uiPanic","uiProgress","uiPrompt","uiThrow","uiSplat","uiWindow"];this.plugins=[];this.namespaces={};this.acceptPostboxes={};this.initPromise=null;e&&this.set(e)}send(e){let r=Kt();return this.acceptPostboxes[r]={},this.acceptPostboxes[r].promise=new Promise((o,a)=>{Object.assign(this.acceptPostboxes[r],{resolve:o,reject:a}),this.sendRaw({id:r,...e})}),this.acceptPostboxes[r].promise}sendRaw(e){let r;try{if(r={TERA:1,id:e.id||Kt(),...Gt(e)},this.settings.mode=="parent")window.parent.postMessage(r,this.settings.restrictOrigin);else if(this.settings.mode=="child")this.dom.iframe.contentWindow.postMessage(r,this.settings.restrictOrigin);else if(this.settings.mode=="popup")this.dom.popup.postMessage(r,this.settings.restrictOrigin);else throw this.settings.mode=="detect"?new Error("Call init() or detectMode() before trying to send data to determine the mode"):new Error(`Unknown TERA communication mode "${this.settings.mode}"`)}catch(o){throw this.debug("ERROR",1,"Message compose client->server:",o),this.debug("ERROR",1,"Attempted to dispatch payload client->server",r),o}}rpc(e,...r){return this.send({action:"rpc",method:e,args:r})}acceptMessage(e){if(e.origin==window.location.origin)return Promise.resolve();let r=e.data;return!r.TERA||!r.id?Promise.resolve():(this.debug("INFO",3,"Received message",r),r?.action=="response"&&this.acceptPostboxes[r.id]?(r.isError===!0?this.acceptPostboxes[r.id].reject(r.response):this.acceptPostboxes[r.id].resolve(r.response),Promise.resolve()):r?.action=="rpc"?Promise.resolve().then(()=>this[r.method].apply(this,r.args)).then(o=>this.sendRaw({id:r.id,action:"response",response:o})).catch(o=>{console.warn(`TERA-FY client threw on RPC:${r.method}:`,o),this.sendRaw({id:r.id,action:"response",isError:!0,response:o&&o.toString()})}):r?.action=="event"?Promise.resolve().then(()=>this.events.emit(r.event,...r.payload)).catch(o=>{throw console.warn(`TERA-FY client threw while handling emitted event "${r.event}"`,{message:r}),o}):r?.id?(this.debug("INFO",3,`Ignoring message ID ${r.id} - was meant for someone else?`),Promise.resolve()):(this.debug("INFO",3,"Unexpected incoming TERA-FY CLIENT message",{message:r}),Promise.resolve()))}mountNamespace(e){if(!/^[\w-]+$/.test(e))throw new Error("Namespaces must be alphanumeric + hyphens + underscores");return this.namespaces[e]?Promise.resolve(this.namespaces[e]):Promise.resolve().then(()=>this._mountNamespace(e)).then(()=>this.namespaces[e]||Promise.reject(`teraFy.mountNamespace('${e}') resolved but no namespace has been mounted`))}_mountNamespace(e){throw console.warn(`teraFy._mountNamespace() for ${e} has not been overridden by a TERA-fy plugin, load one to add this functionality for your preferred framework`),new Error("teraFy._mountNamespace() is not supported")}unmountNamespace(e){return this.namespaces[e]?this._unmountNamespace(e):Promise.resolve()}_unmountNamespace(e){console.warn(`teraFy.unbindNamespace() for ${e} has not been overridden by a TERA-fy plugin, load one to add this functionality for your preferred framework`)}init(e){if(e&&this.set(e),this.initPromise)return this.initPromise;window.addEventListener("message",this.acceptMessage.bind(this));let r=this;return this.initPromise=Promise.resolve().then(()=>this.settings.session||="tfy-"+this.getEntropicString(16)).then(()=>this.debug("INFO",4,"[0/6] Init","Session",this.settings.session,"against",this.settings.siteUrl)).then(()=>{this.settings.devMode&&(this.settings.debugPaths?this.settings.debugPaths=this.settings.debugPaths.map(o=>Array.isArray(o)?o.join("."):typeof o=="string"?o:(()=>{throw new Error("Unknown path type - should be an array or string in dotted notation")})()):this.settings.debugPaths=null,this.debug("INFO",0,"Watching state paths",this.settings.debugPaths))}).then(()=>this.detectMode()).then(o=>{if(this.debug("INFO",4,"[1/6] Setting client mode to",o),this.settings.mode=o,this.settings.modeOverrides[o])return this.debug("INFO",4,"[1/6] Applying specific config overrides for mode",o),this.settings.modeOverrides[o](this.settings)}).then(()=>this.debug("INFO",4,"[2/6] Injecting comms + styles + methods")).then(()=>Promise.all([this.injectComms(),this.injectStylesheet(),this.injectMethods()])).then(()=>{if(this.settings.verbosity<=1){this.debug("INFO",4,"[3/6] Skip - Server verbosity is already at 1");return}else return this.debug("INFO",4,`[3/6] Set server verbosity to ${this.settings.verbosity}`),this.rpc("setServerVerbosity",this.settings.verbosity)}).then(()=>this.debug("INFO",4,`[4/6] Set server mode to "${this.settings.mode}"`)).then(()=>this.rpc("setServerMode",this.settings.mode=="child"?"embedded":this.settings.mode=="parent"?"frame":this.settings.mode=="popup"?"popup":(()=>{throw new Error(`Unknown server mode "${this.settings.mode}"`)})())).then(()=>this.debug("INFO",4,"[5/6] Run client plugins")).then(()=>Promise.all(this.plugins.map(o=>o.init.call(r,this.settings)))).then(()=>(this.debug("INFO",4,"[6/6] Init complete"),r)).catch(o=>{throw this.debug("WARN",0,"Init process fault",o),o}),this.initPromise}detectMode(){return this.settings.mode!="detect"?Promise.resolve(this.settings.mode):window.self===window.parent?Promise.resolve(this.settings.modeFallback):Promise.resolve().then(()=>this.settings.mode="parent").then(()=>new Promise((e,r)=>{let o=setTimeout(()=>r("TIMEOUT"),this.settings.modeTimeout);this.rpc("handshake").then(()=>clearTimeout(o)).then(()=>e()).catch(r)})).then(()=>"parent").catch(()=>this.settings.modeFallback)}injectComms(){switch(this.settings.mode){case"child":return Promise.resolve().then(()=>new Promise(e=>{this.debug("INFO",2,"Injecting TERA site as iFrame child"),this.dom.el=document.createElement("div"),this.dom.el.id="tera-fy",this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this.dom.el.classList.add("minimized"),document.body.append(this.dom.el),this.dom.el.addEventListener("click",()=>this.dom.el.classList.toggle("minimized")),this.dom.iframe=document.createElement("iframe"),this.dom.iframe.setAttribute("sandbox",this.settings.frameSandbox.join(" ")),this.dom.iframe.addEventListener("load",()=>{this.debug("INFO",3,"Embedded iframe ready"),e()}),this.dom.iframe.src=this.settings.siteUrl,this.dom.el.append(this.dom.iframe)})).then(()=>this.handshakeLoop());case"parent":return this.debug("INFO",2,"Using TERA window parent"),Promise.resolve();case"popup":return this.debug("INFO",2,"Injecting TERA site as a popup window"),this.dom.popup=window.open(this.settings.siteUrl,"_blank","popup=1, location=0, menubar=0, status=0, scrollbars=0, width=500, height=600"),this.handshakeLoop().then(()=>this.debug("INFO",3,"Popup window accepted handshake"));default:throw new Error(`Unsupported mode "${this.settings.mode}" when calling injectComms()`)}}handshakeLoop(e){let r={handshakeInterval:this.settings.handshakeInterval,handshakeTimeout:this.settings.handshakeTimeout,...e};return new Promise((o,a)=>{let i=0,s,n=setTimeout(()=>{clearTimeout(s),a("TIMEOUT")},r.handshakeTimeout),u=()=>{this.debug("INFO",4,"Trying handshake",++i),clearTimeout(s),s=setTimeout(u,r.handshakeInterval),this.rpc("handshake").then(()=>{clearTimeout(n),clearTimeout(s)}).then(()=>o()).catch(a)};u()})}injectStylesheet(){switch(this.settings.mode){case"child":this.dom.stylesheet=document.createElement("style"),this.dom.stylesheet.innerHTML=[":root {","--TERA-accent: #4d659c;","}","#tera-fy {","display: none;","position: fixed;","right: 50px;","bottom: 50px;","width: 300px;","height: 150px;","background: transparent;","body:not(.tera-fy-focus) &.minimized.dev-mode {","background: var(--TERA-accent) !important;","opacity: 0.5;","right: 0px;","bottom: 0px;","width: 30px;","height: 30px;","transition: opacity 0.2s ease-out;","cursor: pointer;","border: none;","border-top-left-radius: 30px;","border-top: 2px solid var(--TERA-accent);","border-left: 2px solid var(--TERA-accent);","display: flex;","justify-content: center;","align-items: center;","&::before {","margin: 2px 0 0 0;",'content: "\u{1F300}";',"color: #FFF;","}","&:hover {","opacity: 1;","}","& > iframe {","display: none;","}","}","body:not(.tera-fy-focus) &:not(.minimized) {","&::before {","display: flex;","align-items: center;","justify-content: center;","cursor: pointer;","background: var(--TERA-accent) !important;","opacity: 0.5;","transition: opacity 0.2s ease-out;","position: absolute;","right: 0px;","bottom: 0px;","width: 20px;","height: 20px;","margin: 2px 0 0 0;",'content: "\u2B68";',"color: #FFF;","border: none;","border-top-left-radius: 30px;","border-top: 2px solid var(--TERA-accent);","border-left: 2px solid var(--TERA-accent);","}","&:hover::before {","opacity: 1;","}","}","&.dev-mode {","display: flex;","border: 5px solid var(--TERA-accent);","background: #FFF;","}","& > iframe {","width: 100%;","height: 100%;","}","}","body.tera-fy-focus {","overflow: hidden;","& #tera-fy {","display: flex !important;","position: fixed !important;","top: 0px !important;","width: 100vw !important;","height: 100vh !important;","left: 0px !important;","z-index: 10000 !important;","}","}"].join(`
2
- `),document.head.append(this.dom.stylesheet);break;case"parent":case"popup":break;default:throw new Error(`Unsupported mode "${this.settings.mode}" when injectStylesheet()`)}return Promise.resolve()}injectMethods(){this.methods.forEach(e=>this[e]=this.rpc.bind(this,e))}debug(...e){if(!this.settings.devMode||this.settings.verbosity<1)return;let r="log",o=1;typeof e[0]=="string"&&["INFO","LOG","WARN","ERROR"].includes(e[0])&&(r=e.shift().toLowerCase()),typeof e[0]=="number"&&(o=e[0],e.shift()),!(this.settings.verbosity<o)&&console[r]("%c[TERA-FY CLIENT]","font-weight: bold; color: #ff5722;",...e)}set(e,r,o){let a={ignoreNullish:!0,...o};return typeof e=="string"?(!a.ignoreNullish||r!=null)&&(this.settings[e]=r):Object.assign(this.settings,e),this.toggleDevMode(this.settings.devMode)}setIfDev(e,r,o){return!this.settings.devMode||r===void 0?this:this.set(e,r,o)}use(e,r){let o=typeof e=="function"?new e(this,r):typeof e=="object"?e:typeof e=="string"?(()=>{throw new Error("use(String) is not yet supported")})():(()=>{throw new Error("Expected use() call to be provided with a class initializer")})();return this.mixin(this,o),this.plugins.push(o),this}mixin(e,r){let o=[],a=r;do o.unshift(a);while(a=Object.getPrototypeOf(a));o.forEach(i=>Object.getOwnPropertyNames(i).filter(s=>!["constructor","init","prototype","name"].includes(s)&&!s.startsWith("__")).forEach(s=>{typeof r[s]=="function"?Object.defineProperty(e,s,{enumerable:!1,value:r[s].bind(e)}):e[s]=r[s]}))}toggleDevMode(e="toggle"){return e==="toggle"?this.settings.devMode=!this.settings.devMode:e==="proxy"?Object.assign(this.settings,{devMode:!0,siteUrl:"http://localhost:7334/embed",mode:"child"}):this.settings.devMode=!!e,this.settings.devMode&&(this.settings.restrictOrigin="*"),this.dom?.el&&this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this}toggleFocus(e="toggle"){this.debug("INFO",2,"Request focus",{isFocused:e}),globalThis.document.body.classList.toggle("tera-fy-focus",e==="toggle"?void 0:e)}getEntropicString(e=32){let r=new Uint32Array(4);return window.crypto.getRandomValues(r),btoa(String.fromCodePoint(...new Uint8Array(r.buffer))).replace(/[+/]/g,"").slice(0,e)}selectProjectFile(e){return this.rpc("selectProjectFile",e).then(r=>r&&new _({tera:this,...r}))}getProjectFiles(e){return this.rpc("getProjectFiles",e).then(r=>r.map(o=>new _({tera:this,...o})))}getProjectFile(e,r){return this.rpc("getProjectFile",e,r).then(o=>o&&new _({tera:this,...o}))}createProjectFile(e){return this.rpc("createProjectFile",e).then(r=>r&&new _({tera:this,...r}))}moveProjectFile(e,r,o){return this.rpc("moveProjectFile",e,r,o).then(a=>a?new _({tera:this,...a}):null)}};export{$t as default};
2
+ `),document.head.append(this.dom.stylesheet);break;case"parent":case"popup":break;default:throw new Error(`Unsupported mode "${this.settings.mode}" when injectStylesheet()`)}return Promise.resolve()}injectMethods(){return this.methods.forEach(e=>this[e]=this.rpc.bind(this,e)),Promise.resolve()}debug(...e){if(!this.settings.devMode||this.settings.verbosity<1)return;let r="log",o=1;typeof e[0]=="string"&&["INFO","LOG","WARN","ERROR"].includes(e[0])&&(r=e.shift().toLowerCase()),typeof e[0]=="number"&&(o=e[0],e.shift()),!(this.settings.verbosity<o)&&console[r]("%c[TERA-FY CLIENT]","font-weight: bold; color: #ff5722;",...e)}set(e,r,o){let a={ignoreNullish:!0,...o};return typeof e=="string"?(!a.ignoreNullish||r!=null)&&(this.settings[e]=r):Object.assign(this.settings,e),this.toggleDevMode(this.settings.devMode)}setIfDev(e,r,o){return!this.settings.devMode||r===void 0?this:this.set(e,r,o)}use(e,r){let o=typeof e=="function"?new e(this,r):typeof e=="object"?e:typeof e=="string"?(()=>{throw new Error("use(String) is not yet supported")})():(()=>{throw new Error("Expected use() call to be provided with a class initializer")})();return this.mixin(this,o),this.plugins.push(o),this}mixin(e,r){let o=[],a=r;do o.unshift(a);while(a=Object.getPrototypeOf(a));o.forEach(i=>Object.getOwnPropertyNames(i).filter(s=>!["constructor","init","prototype","name"].includes(s)&&!s.startsWith("__")).forEach(s=>{typeof r[s]=="function"?Object.defineProperty(e,s,{enumerable:!1,value:r[s].bind(e)}):e[s]=r[s]}))}toggleDevMode(e="toggle"){return e==="toggle"?this.settings.devMode=!this.settings.devMode:e==="proxy"?Object.assign(this.settings,{devMode:!0,siteUrl:"http://localhost:7334/embed",mode:"child"}):this.settings.devMode=!!e,this.settings.devMode&&(this.settings.restrictOrigin="*"),this.dom?.el&&this.dom.el.classList.toggle("dev-mode",this.settings.devMode),this}toggleFocus(e="toggle"){this.debug("INFO",2,"Request focus",{isFocused:e}),globalThis.document.body.classList.toggle("tera-fy-focus",e==="toggle"?void 0:e)}getEntropicString(e=32){let r=new Uint32Array(4);return window.crypto.getRandomValues(r),btoa(String.fromCodePoint(...new Uint8Array(r.buffer))).replace(/[+/]/g,"").slice(0,e)}selectProjectFile(e){return this.rpc("selectProjectFile",e).then(r=>r&&new _({tera:this,...r}))}getProjectFiles(e){return this.rpc("getProjectFiles",e).then(r=>r.map(o=>new _({tera:this,...o})))}getProjectFile(e,r){return this.rpc("getProjectFile",e,r).then(o=>o&&new _({tera:this,...o}))}createProjectFile(e){return this.rpc("createProjectFile",e).then(r=>r&&new _({tera:this,...r}))}moveProjectFile(e,r,o){return this.rpc("moveProjectFile",e,r,o).then(a=>a?new _({tera:this,...a}):null)}};export{$t as default};
3
3
  /*! Bundled license information:
4
4
 
5
5
  lodash-es/lodash.js:
package/eslint.config.js CHANGED
@@ -1,4 +1,4 @@
1
- import { globalIgnores} from "eslint/config";
1
+ import {globalIgnores} from 'eslint/config';
2
2
  import RulesMFDC, {JSCommon} from '@momsfriendlydevco/eslint-config';
3
3
  import tseslint from 'typescript-eslint';
4
4
  import globals from 'globals';
@@ -80,7 +80,6 @@ export default tseslint.config(
80
80
  ...(['rhino', 'slab', 'snow'].includes(process.env.NODE_ENV) ? [{
81
81
  rules: {
82
82
  'no-undef': 'warn',
83
- 'no-unused-vars': 'off', // Dupe of '@typescript-eslint/no-unused-vars'
84
83
  'prefer-const': 'off',
85
84
  '@typescript-eslint/ban-ts-comment': 'off', // Allow `// @ts-ignore`
86
85
  '@typescript-eslint/no-explicit-any': 'off', // Stop complaining about `:any` definitions
@@ -89,8 +88,6 @@ export default tseslint.config(
89
88
  '@typescript-eslint/no-unsafe-call': 'off',
90
89
  '@typescript-eslint/no-unsafe-member-access': 'off',
91
90
  '@typescript-eslint/no-unsafe-return': 'off',
92
- '@typescript-eslint/no-unused-vars': 'warn',
93
- '@typescript-eslint/no-unnecessary-type-assertion': 'warn',
94
91
  'unicorn/numeric-separators-style': 'warn',
95
92
  },
96
93
  }] : []),
@@ -134,7 +134,7 @@ export default class Syncro {
134
134
  * @property {Object} context Additional named parameters to pass to callbacks like initState
135
135
  */
136
136
  config = {
137
- heartbeatInterval: 50_000 as number, //~= 50s
137
+ heartbeatInterval: 120_000 as number, //~= 120s / 2m
138
138
  syncroRegistryUrl: 'https://tera-tools.com/api/sync' as string,
139
139
  context: {} as Record<string, any>,
140
140
  };
@@ -745,11 +745,14 @@ export default class TeraFy {
745
745
 
746
746
  /**
747
747
  * Inject all server methods defined in `methods` as local functions wrapped in the `rpc` function
748
+ *
749
+ * @returns {Promise} A promise which resolves when the operation has completed
748
750
  */
749
751
  injectMethods() {
750
752
  this.methods.forEach(method =>
751
753
  (this as any)[method] = this.rpc.bind(this, method)
752
754
  );
755
+ return Promise.resolve();
753
756
  }
754
757
  // }}}
755
758
 
@@ -494,6 +494,7 @@ export default class TeraFyServer {
494
494
  * @returns {Promise<User>} A promise which will resolve if the there is a user and they are logged in
495
495
  */
496
496
  requireUser(): Promise<any> {
497
+ /* eslint-disable @typescript-eslint/only-throw-error */
497
498
  let user: any; // Last getUser() response
498
499
  return Promise.resolve() // NOTE: This promise is upside down, it only continues down the chain if the user is NOT valid, otherwise it throws to exit
499
500
  .then(()=> this.getUser())
@@ -508,6 +509,7 @@ export default class TeraFyServer {
508
509
  })
509
510
  .then(async ()=> { // No user present - try to validate with other methods
510
511
  switch (this.settings.serverMode) {
512
+
511
513
  case TeraFyServer.SERVERMODE_EMBEDDED:
512
514
  /* - Doesn't work because Kinde sets the CSP header `frame-ancestors 'self'` which prevents usage within an iFrame
513
515
  const $auth = app.service('$auth');
@@ -526,6 +528,8 @@ export default class TeraFyServer {
526
528
  // Go back to start of auth checking loop and repull the user data
527
529
  throw 'REDO';
528
530
  }
531
+ break;
532
+
529
533
  default:
530
534
  // Pass - Implied - Cannot authenticate via other method so just fall through to scalding the user
531
535
  }
@@ -648,7 +652,7 @@ export default class TeraFyServer {
648
652
  this.debug('INFO', 3, 'Received user auth from popup window', {'$auth.user': $auth.user});
649
653
 
650
654
  // Store local copy of user image - this only applies to dev mode (localhost connecting to embed) so we can ignore the security implications here
651
- Promise.resolve()
655
+ Promise.resolve() // eslint-disable-line @typescript-eslint/no-floating-promises
652
656
  .then(()=> this.getUser({
653
657
  forceRetry: false, // Avoid loops
654
658
  waitPromises: false, // We have a partially resolved state so we don't care about outer promises resolving
@@ -796,6 +800,8 @@ export default class TeraFyServer {
796
800
  reject(e);
797
801
  }
798
802
  })
803
+
804
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
799
805
  askProject(); // Kick off intial project loop
800
806
  })
801
807
  .then(async (project: any) => {
@@ -1425,7 +1431,8 @@ export default class TeraFyServer {
1425
1431
 
1426
1432
  return Promise.resolve()
1427
1433
  .then(()=> {
1428
- settings.autoRequire && this.requireProject()
1434
+ if (settings.autoRequire)
1435
+ return this.requireProject();
1429
1436
  })
1430
1437
  .then((): Promise<string> => { // Ensure the promise returns a string (fileId)
1431
1438
  if (settings.id) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iebh/tera-fy",
3
- "version": "2.3.2",
3
+ "version": "2.3.4",
4
4
  "description": "TERA website worker",
5
5
  "scripts": {
6
6
  "dev": "esbuild --platform=browser --format=esm --bundle lib/terafy.client.ts --outfile=dist/terafy.js --minify --serve --servedir=.",
@@ -19,8 +19,8 @@
19
19
  },
20
20
  "type": "module",
21
21
  "imports": {
22
- "#terafy": "./lib/terafy.client.ts",
23
- "#utils/*": "./utils/*.ts"
22
+ "#terafy": "./dist/lib/terafy.client.js",
23
+ "#utils/*": "./dist/utils/*.js"
24
24
  },
25
25
  "exports": {
26
26
  ".": {
@@ -104,38 +104,38 @@
104
104
  "node": ">=18"
105
105
  },
106
106
  "dependencies": {
107
- "@iebh/supabasey": "^1.1.4",
107
+ "@iebh/supabasey": "^1.1.7",
108
108
  "@momsfriendlydevco/marshal": "^2.2.0",
109
109
  "detect-port": "^2.1.0",
110
- "filesize": "^10.1.6",
110
+ "filesize": "^11.0.13",
111
111
  "http-proxy": "^1.18.1",
112
- "lodash-es": "^4.17.21",
112
+ "lodash-es": "^4.17.23",
113
113
  "mitt": "^3.0.1",
114
- "nanoid": "^5.1.2",
115
- "p-retry": "^6.2.1",
114
+ "nanoid": "^5.1.6",
115
+ "p-retry": "^7.1.1",
116
116
  "release-it": "^19.2.4",
117
- "uuid": "^11.1.0"
117
+ "uuid": "^13.0.0"
118
118
  },
119
119
  "devDependencies": {
120
120
  "@momsfriendlydevco/eslint-config": "^2.3.1",
121
121
  "@release-it/conventional-changelog": "^10.0.5",
122
122
  "@types/detect-port": "^2.0.0",
123
- "@types/http-proxy": "^1.17.16",
123
+ "@types/http-proxy": "^1.17.17",
124
124
  "@types/lodash-es": "^4.17.12",
125
- "@types/node": "^24.3.0",
126
- "@types/uuid": "^10.0.0",
127
- "@typescript-eslint/eslint-plugin": "^8.41.0",
128
- "@typescript-eslint/parser": "^8.41.0",
129
- "concurrently": "^9.1.2",
130
- "conventional-changelog-eslint": "^6.0.0",
125
+ "@types/node": "^25.4.0",
126
+ "@types/uuid": "^11.0.0",
127
+ "@typescript-eslint/eslint-plugin": "^8.57.0",
128
+ "@typescript-eslint/parser": "^8.57.0",
129
+ "concurrently": "^9.2.1",
130
+ "conventional-changelog-eslint": "^6.1.0",
131
131
  "documentation": "^14.0.3",
132
- "esbuild": "^0.25.0",
133
- "eslint": "^9.34.0",
132
+ "esbuild": "^0.27.3",
133
+ "eslint": "^10.0.3",
134
134
  "eslint-plugin": "^1.0.1",
135
- "globals": "^16.5.0",
136
- "nodemon": "^3.1.9",
137
- "typescript": "^5.9.2",
138
- "typescript-eslint": "^8.41.0"
135
+ "globals": "^17.4.0",
136
+ "nodemon": "^3.1.14",
137
+ "typescript": "^5.9.3",
138
+ "typescript-eslint": "^8.57.0"
139
139
  },
140
140
  "peerDependencies": {
141
141
  "@iebh/reflib": "^2.5.4",
@@ -145,7 +145,7 @@
145
145
  },
146
146
  "optionalDependencies": {
147
147
  "just-diff-apply": "^5.5.0",
148
- "vue": "^3.5.13"
148
+ "vue": "^3.5.30"
149
149
  },
150
150
  "release-it": {
151
151
  "git": {