pubo-utils 1.0.177 → 1.0.179

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 +1 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.PuboUtils=e():t.PuboUtils=e()}(this,(()=>(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{Base64Utils:()=>i,ColorUtils:()=>h,ContinuousTrigger:()=>x,Emitter:()=>f,HistoryStack:()=>v,Level:()=>_,LinearColor:()=>c,RegExpList:()=>X,SensorDataFilter:()=>q,StringSplit:()=>W,SyncQueue:()=>w,UTM:()=>n,WatchDog:()=>E,callbackToPromise:()=>S,cloneDeep:()=>B,debounce:()=>s,degrees:()=>k,filterKeyPoints:()=>L,filterTree:()=>V,fixNum:()=>F,flatTree:()=>Q,getAngle:()=>R,getBestPointIndex:()=>U,getCenter:()=>j,getDistance:()=>P,getPositionTheta:()=>O,getRotate:()=>z,getTreeItem:()=>H,getVectorTheta:()=>I,hex2rgb:()=>o,loop:()=>g,lower2camel:()=>D,orderByDistance:()=>C,radians:()=>N,random:()=>u,randomRangeNum:()=>l,retry:()=>d,runAsyncTasks:()=>b,searchTree:()=>K,sleep:()=>m,superFactory:()=>p,throttle:()=>M,waitFor:()=>y});var i={};t.r(i),t.d(i,{EncoderMap:()=>T,toUnit8Array:()=>A});var n={};t.r(n),t.d(n,{fromLatLon:()=>dt,latLonToZoneNumber:()=>bt,latitudeToZoneLetter:()=>wt,toLatLon:()=>yt});const s=(t,e,i=!1)=>{if(i){let i,n=!0;return(...s)=>{n&&(t(...s),n=!1),i&&clearTimeout(i),i=setTimeout((()=>{clearTimeout(i),n=!0,i=null}),e)}}{let i;return(...n)=>{i&&(clearTimeout(i),i=null),i=setTimeout((()=>{t(...n),clearTimeout(i),n=null,i=null}),e)}}},r=t=>parseInt(t.replace("#",""),16),o=t=>{let e;e="string"==typeof t?r(t):t;const i=e.toString(2).padStart(24,"0");return[parseInt(i.slice(0,8),2),parseInt(i.slice(8,16),2),parseInt(i.slice(16,24),2)]},a=t=>"#"+[0,1,2].map((e=>t[e].toString(16))).join("");class h{int;constructor(t){"number"==typeof t?this.int=t:"string"==typeof t?this.int=r(t):Array.isArray(t)&&(this.int=r(a(t)))}getRgbArray(){return o(this.int)}get rgb(){return`rba(${this.getRgbArray().join(", ")})`}get hex(){return a(this.getRgbArray())}toString(t="hex"){return"rgb"===t?this.rgb:this.hex}}class c{base=[255,0,0];intensity=1;min;max;constructor({base:t=[255,0,0],intensity:e=1}={}){this.base=t,this.intensity=e,this.intensity<1&&(this.intensity=1),this.min=this.base[1],this.max=this.base[0],Math.abs(this.min-this.max)<1&&(this.min=0,this.max=255)}getColor(t){if(t<0)return this.base;let e=this.base[0],i=this.base[1],n=this.base[2],s=t*this.intensity;return i=this.base[1]+s,i<this.max||(s=i-this.max,i=this.max,e=this.base[0]-s,e>this.min||(s=this.min-e,e=this.min,n=this.base[2]+s,n<this.max||(s=n-this.max,n=this.max,i-=s,i>this.min||(s=this.min-i,i=this.min,e+=s,e<this.max||(s=e-this.max,e=this.max,n-=s,n>this.min||(n=this.min)))))),[e,i,n]}}const u=(t=8)=>{const e=t=>Math.random().toString(32).slice(2,2+t);if(t<=8)return e(t);let i="";for(let n=0;n<=t;n+=8)i+=e(t-n>8?8:t-n);return i},l=t=>{const e=Math.abs(t[1]-t[0]);return Math.random()*e+Math.min(...t)};class f{state={};ids={};on(t,e){if(this.state[t]||(this.state[t]=[]),"function"!=typeof e)throw new Error("第二个参数必须为function!");const i=this.state[t].push(e)-1,n=u(40);return this.ids[n]={event:t,index:i},n}cancel(t){if(!t)return void this.clear();const{event:e,index:i}=this.ids[t]||{};e&&Array.isArray(this.state[e])&&(this.state[e].splice(i,1),delete this.ids[t],Object.keys(this.ids).forEach((t=>{this.ids[t].event===e&&this.ids[t].index>i&&(this.ids[t].index=this.ids[t].index-1)})))}clear(){this.state.length=0}emit(t,e){if(Array.isArray(this.state[t]))for(const i of this.state[t])"function"==typeof i&&i(e)}async emitSync(t,e){if(Array.isArray(this.state[t]))for(const i of this.state[t])if("function"==typeof i)try{await i(e)}catch(t){console.log(t)}}clone(){return{state:{...this.state},ids:{...this.ids}}}restore(t){this.state=t.state,this.ids=t.ids}}const p=t=>e=>{const i={};for(const n of Object.keys(e))i[n]=t(e[n],n);return i},m=async t=>{await new Promise((e=>{let i=setTimeout((()=>{e(),clearTimeout(i),i=null}),t)}))},g=(t,e)=>{let i=!0,n=()=>{i=!1},s=async()=>{try{await t()}catch(t){console.log(t)}await m(e),i?s():(s=null,t=null,n=null,i=null,e=null)};return s(),n},y=(t,{checkTime:e,timeout:i}={})=>new Promise(((n,s)=>{let r,o=g((async()=>{const e=await t();e&&("function"==typeof o&&o(),r&&(clearTimeout(r),r=null),n(e),o=null,t=null,n=null)}),e||100);i&&(r=setTimeout((()=>{"function"==typeof o&&o(),r&&(clearTimeout(r),r=null),s("timeout"),s=null,o=null,t=null}),i))})),d=(t,{times:e=5,interval:i=1e3}={times:5,interval:1e3})=>{let n=1;const s=async(...r)=>{let o;if(n>e)throw new Error("retry times exceed");try{return o=await t(...r),o}catch(t){return console.log(`action error, times ${n}`),console.log(t),await m(i),n+=1,s(...r)}};return s};class w{cache=[];running=!1;len=0;async _run({fn:t,promise:e}){try{const i=await t();e.resolve(i)}catch(t){e.reject(t)}t=null,e=null}async run(){if(this.cache.length<1)return void(this.running=!1);this.running=!0;const t=this.cache.shift();this.len-=1,"function"==typeof t.fn&&await this._run(t),this.run()}push(t){return this.len+=1,new Promise(((e,i)=>{this.cache.push({fn:t,promise:{resolve:e,reject:i}}),this.running||this.run()}))}get length(){return this.len}}const b=async(t,e=4)=>{let i=-1;const n=[],s=async()=>{if(i+=1,t[i]){try{await t[i]()}catch(t){console.log(t)}await s()}};for(let t=0;t<e;t+=1)n.push(s());await Promise.all(n)};function M(t,e){const i=new w;let n=[];return(...s)=>{if(n=s,!(i.length>0))return i.push((async()=>{await m(e),await t(...n)}))}}class x{timeout;_count=0;props;constructor(t){this.props=t}get count(){return this._count}increment(){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.clear()),this.props.resetTime),this._count=this._count+1,this._count>this.props.count&&this.props.cb()}clear(){clearTimeout(this.timeout),this._count=0,this.timeout=0}}const T=function(){const t={};for(let e=0;e<64;e++)t["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)]=e;return t}();function A(t){const e=new Uint8Array(6*t.length/8);let i=0,n=0,s=0;for(let r=0;r<t.length&&s<e.length;r+=1)if(n=(n<<6)+T[t.charAt(r)],i+=6,i>=8){i-=8;let t=n>>>i;e[s++]=255&t,t<<=i,n-=t}return e}class v{stack=[];len=10;point=0;constructor(t=10){this.len=t}get current(){if(this.point<this.stack.length&&this.point>-1)return this.stack[this.point]}clear(){this.stack.length=0,this.point=0}backup(t){this.point>0&&this.stack.length>0&&(this.stack.splice(0,this.point),this.point=0),this.stack.unshift(t),this.stack.length>this.len&&this.stack.pop()}undo(){return this.point<this.stack.length-1&&(this.point+=1),this.current}redo(){return this.point>0&&(this.point-=1),this.current}}class E{onTimeout;timeout=null;_time;constructor({limit:t=10,onTimeout:e}){this._time=1e3*t,this.onTimeout=()=>{this.timeout&&(clearTimeout(this.timeout),this.timeout=null),e()}}feed(){this.init()}init(){clearTimeout(this.timeout),this.timeout=null,delete this.timeout,this.timeout=setTimeout(this.onTimeout,this._time)}stop(){this.timeout&&clearTimeout(this.timeout),delete this.timeout}}class _{config;step;constructor(t){this.config=t,this.step=(this.config.max-this.config.min)/(this.config.count-2)}get(t){if(t<=this.config.min)return 1;if(t>=this.config.max)return this.config.count;for(let e=2,i=this.config.min+this.step;i<this.config.max+this.step;i+=this.step,e+=1)if(t<i)return e;return this.config.count}}const S=t=>(...e)=>new Promise(((i,n)=>{t(...e,((t,...e)=>{t&&n(t),e.length<2?i(e[0]):i([...e])})),t=null})),P=(t,e)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)),k=t=>180*t/Math.PI,N=t=>t*Math.PI/180,R=({w:t,h:e})=>k(Math.atan2(e,t));function L(t,e=.5){if(t.length<3||e<=0)return t;let i;return t.filter(((n,s)=>!(s>0&&P(i,n)<e||(i=t[s],0))))}function j(t){const e=[0,0];for(const i of t)Array.isArray(i)?(e[0]+=i[0],e[1]+=i[1]):(e[0]+=i.x,e[1]+=i.y);return{x:e[0]/t.length,y:e[1]/t.length}}function z(t,e,i){return i&&(e=N(e)),[Math.cos(e)*t[0]-Math.sin(e)*t[1],Math.sin(e)*t[0]+Math.cos(e)*t[1]]}const O=(t,e)=>{const i={x:e.x-t.x,y:e.y-t.y};return Math.atan2(i.y,i.x)},U=(t,e)=>{if(t.length<2)return 0;const i=[];let n=1/0,s=0;for(const r of t){const t=P(r,e),o=O(e,r)-e.theta;n>t&&(n=t),i.push({...r,index:s,distance:t,theta:o}),s+=1}return i.filter((t=>t.distance-n<.1)).sort(((t,e)=>t.theta-e.theta))[0].index},C=(t,e={x:0,y:0,theta:0})=>{let i=e;const n=[],s=[...t];for(;s.length>0;){const t=U(s,i);n.push(s[t]),i=s[t],s.splice(t,1)}return n},I=(t,e)=>Math.atan2(e.y,e.x)-Math.atan2(t.y,t.x),D=t=>t.split("_").map(((t,e)=>e>0?t.slice(0,1).toUpperCase()+t.slice(1):t)).join(""),F=(t,e=2)=>null==t||"NaN"===t?"N/A":("number"!=typeof t&&(t=parseFloat(t)),isNaN(t)?"N/A":t.toFixed(e));class X{list;_RegExpList=null;constructor(t){this.list=t}getRegEXP(t){const e=t.replace("/","\\/").replace("*",".*");return new RegExp(e)}include(t){return this._RegExpList||(this._RegExpList=this.list.map(this.getRegEXP)),this._RegExpList.some((e=>e.test(t)))}}class q{tmp=[];size;step;min;max;count=0;value=NaN;old;constructor({size:t=5,step:e=5,min:i=-1/0,max:n=1/0}={}){this.size=t,this.step=e,this.min=i,this.max=n}filter(t){return t<this.min||t>this.max||(this.tmp.push(t),this.old=this.calc(t)),this.old}calc(t){if(this.tmp.length<1)return t;this.tmp.length>this.size&&this.tmp.shift();const{res:e,dic:i}=this.getMostNumberOfTmp();return e!==t&&Math.abs(e-t)>this.step?(this.value!==t?this.count=1:this.count+=1,this.value=t,this.count>i[e]?(this.tmp.length=0,this.tmp.push(t),t):e):(this.count=0,this.value=NaN,t)}getMostNumberOfTmp(){const t={};let e,i=0;for(const n of this.tmp)t[n]?t[n]+=1:t[n]=1,t[n]>i&&(i=t[n],e=n);return{res:e,dic:t}}}class W{_splitSymbol;_cache="";constructor(t){this._splitSymbol=t}split(t){const e=(this._cache+t).split(this._splitSymbol);return this._cache=e.splice(e.length-1,1)[0],e}}function B(t,e=new WeakMap){if("object"!=typeof t||null===t)return t;if(e.has(t))return e.get(t);if(Array.isArray(t)){const i=t.map((t=>B(t,e)));return e.set(t,i),i}if(t instanceof Set){const i=new Set([...t].map((t=>B(t,e))));return e.set(t,i),i}if(t instanceof Map){const i=new Map;for(const[n,s]of t.entries())i.set(B(n,e),B(s,e));return e.set(t,i),i}{const i={};e.set(t,i);for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=B(t[n],e));return i}}function H(t,e){if(e.length<1)return null;let i;Array.isArray(t)&&(i={children:t});for(const t of e)i=i.children[t];return B(i)}function K(t,e,i="children"){const n=[];let s=!1;const r=t=>{for(let o=0;o<t.length;o+=1){const a=t[o];if(e(a)){s=!0,n.push(o);break}if(Array.isArray(a[i])){if(n.push(o),r(a[i]),s)break;n.pop()}}};return Array.isArray(t)?r(t):Array.isArray(t[i])&&r(t[i]),s?n:[]}const Q=(t,e="children",i=[],n=[])=>{let s=[];return Array.isArray(t[e])?s=t[e]:Array.isArray(t)&&(s=t),s.forEach(((t,s)=>{const r={...t};delete r[e],n.push(r),r.__indexes=[...i,s]})),s.forEach(((t,s)=>Q(t,e,[...i,s],n))),n},V=(t,e,i="children")=>{const n=[];let s=[];return Array.isArray(t[i])?s=t[i]:Array.isArray(t)&&(s=t),s.forEach((t=>{var s;t[i]&&(t[i]=V(t[i],e)),((null===(s=t[i])||void 0===s?void 0:s.length)>0||e(t))&&n.push(t)})),n},Z=.9996,G=.00669438,J=Math.pow(G,2),$=Math.pow(G,3),Y=G/(1-G),tt=Math.sqrt(1-G),et=(1-tt)/(1+tt),it=Math.pow(et,2),nt=Math.pow(et,3),st=Math.pow(et,4),rt=Math.pow(et,5),ot=1-G/4-3*J/64-5*$/256,at=3*G/8+3*J/32+45*$/1024,ht=15*J/256+45*$/1024,ct=35*$/3072,ut=1.5*et-27/32*nt+269/512*rt,lt=21/16*it-55/32*st,ft=151/96*nt-417/128*rt,pt=1097/512*st,mt=6378137,gt="CDEFGHJKLMNPQRSTUVWXX";function yt(t){const{zoneNum:e,strict:i=!0}=t;let{zoneLetter:n,northern:s}=t;const r=t.x,o=t.y;if(!n&&void 0===s)throw new Error("either zoneLetter or northern needs to be set");if(n&&void 0!==s)throw new Error("set either zoneLetter or northern, but not both");if(i){if(r<1e5||1e6<=r)throw new RangeError("easting out of range (must be between 100 000 m and 999 999 m)");if(o<0||o>1e7)throw new RangeError("northing out of range (must be between 0 m and 10 000 000 m)")}if(e<1||e>60)throw new RangeError("zone number out of range (must be between 1 and 60)");if(n){if(n=n.toUpperCase(),1!==n.length||-1===gt.indexOf(n))throw new RangeError("zone letter out of range (must be between C and X)");s=n>="N"}const a=r-5e5;let h=o;s||(h-=1e7);const c=h/Z/(mt*ot),u=c+ut*Math.sin(2*c)+lt*Math.sin(4*c)+ft*Math.sin(6*c)+pt*Math.sin(8*c),l=Math.sin(u),f=Math.pow(l,2),p=Math.cos(u),m=Math.tan(u),g=Math.pow(m,2),y=Math.pow(m,4),d=1-G*f,w=Math.sqrt(d),b=(1-G)/d,M=et*p*p,x=M*M,T=a/(mt/w*Z),A=Math.pow(T,2),v=Math.pow(T,3),E=Math.pow(T,4),_=Math.pow(T,5),S=Math.pow(T,6),P=(T-v/6*(1+2*g+M)+_/120*(5-2*M+28*g-3*x+8*Y+24*y))/p;return{latitude:k(u-m/b*(A/2-E/24*(5+3*g+10*M-4*x-9*Y))+S/720*(61+90*g+298*M+45*y-252*Y-3*x)),longitude:k(P)+Mt(e)}}function dt({latitude:t,longitude:e},i){if(t>84||t<-80)throw new RangeError("latitude out of range (must be between 80 deg S and 84 deg N)");if(e>180||e<-180)throw new RangeError("longitude out of range (must be between 180 deg W and 180 deg E)");const n=N(t),s=Math.sin(n),r=Math.cos(n),o=Math.tan(n),a=Math.pow(o,2),h=Math.pow(o,4);let c;c=void 0===i?bt({latitude:t,longitude:e}):i;const u=wt(t),l=N(e),f=Mt(c),p=N(f),m=mt/Math.sqrt(1-G*s*s),g=Y*r*r,y=r*(l-p),d=Math.pow(y,2),w=Math.pow(y,3),b=Math.pow(y,4),M=Math.pow(y,5),x=Math.pow(y,6),T=mt*(ot*n-at*Math.sin(2*n)+ht*Math.sin(4*n)-ct*Math.sin(6*n));let A=Z*(T+m*o*(d/2+b/24*(5-a+9*g+4*g*g)+x/720*(61-58*a+h+600*g-330*Y)));return t<0&&(A+=1e7),{x:Z*m*(y+w/6*(1-a+g)+M/120*(5-18*a+h+72*g-58*Y))+5e5,y:A,zoneNum:c,zoneLetter:u}}function wt(t){return-80<=t&&t<=84?gt[Math.floor((t+80)/8)]:null}function bt({latitude:t,longitude:e}){if(56<=t&&t<64&&3<=e&&e<12)return 32;if(72<=t&&t<=84&&e>=0){if(e<9)return 31;if(e<21)return 33;if(e<33)return 35;if(e<42)return 37}return Math.floor((e+180)/6)+1}function Mt(t){return 6*(t-1)-180+3}return e})()));
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.PuboUtils=e():t.PuboUtils=e()}(this,(()=>(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{Base64Utils:()=>i,ColorUtils:()=>h,ContinuousTrigger:()=>x,Emitter:()=>f,HistoryStack:()=>v,Level:()=>_,LinearColor:()=>c,RegExpList:()=>X,SensorDataFilter:()=>q,StringSplit:()=>W,SyncQueue:()=>w,UTM:()=>n,WatchDog:()=>E,callbackToPromise:()=>S,cloneDeep:()=>B,debounce:()=>s,degrees:()=>k,filterKeyPoints:()=>L,filterTree:()=>V,fixNum:()=>F,flatTree:()=>Q,getAngle:()=>R,getBestPointIndex:()=>U,getCenter:()=>j,getDistance:()=>P,getPositionTheta:()=>O,getRotate:()=>z,getTreeItem:()=>H,getVectorTheta:()=>I,hex2rgb:()=>o,loop:()=>g,lower2camel:()=>D,orderByDistance:()=>C,radians:()=>N,random:()=>u,randomRangeNum:()=>l,retry:()=>d,runAsyncTasks:()=>b,searchTree:()=>K,sleep:()=>m,superFactory:()=>p,throttle:()=>M,waitFor:()=>y});var i={};t.r(i),t.d(i,{EncoderMap:()=>T,toUnit8Array:()=>A});var n={};t.r(n),t.d(n,{fromLatLon:()=>dt,latLonToZoneNumber:()=>bt,latitudeToZoneLetter:()=>wt,toLatLon:()=>yt});const s=(t,e,i=!1)=>{if(i){let i,n=!0;return(...s)=>{n&&(t(...s),n=!1),i&&clearTimeout(i),i=setTimeout((()=>{clearTimeout(i),n=!0,i=null}),e)}}{let i;return(...n)=>{i&&(clearTimeout(i),i=null),i=setTimeout((()=>{t(...n),clearTimeout(i),n=null,i=null}),e)}}},r=t=>parseInt(t.replace("#",""),16),o=t=>{let e;e="string"==typeof t?r(t):t;const i=e.toString(2).padStart(24,"0");return[parseInt(i.slice(0,8),2),parseInt(i.slice(8,16),2),parseInt(i.slice(16,24),2)]},a=t=>"#"+[0,1,2].map((e=>t[e].toString(16))).join("");class h{int;constructor(t){"number"==typeof t?this.int=t:"string"==typeof t?this.int=r(t):Array.isArray(t)&&(this.int=r(a(t)))}getRgbArray(){return o(this.int)}get rgb(){return`rba(${this.getRgbArray().join(", ")})`}get hex(){return a(this.getRgbArray())}toString(t="hex"){return"rgb"===t?this.rgb:this.hex}}class c{base=[255,0,0];intensity=1;min;max;constructor({base:t=[255,0,0],intensity:e=1}={}){this.base=t,this.intensity=e,this.intensity<1&&(this.intensity=1),this.min=this.base[1],this.max=this.base[0],Math.abs(this.min-this.max)<1&&(this.min=0,this.max=255)}getColor(t){if(t<0)return this.base;let e=this.base[0],i=this.base[1],n=this.base[2],s=t*this.intensity;return i=this.base[1]+s,i<this.max||(s=i-this.max,i=this.max,e=this.base[0]-s,e>this.min||(s=this.min-e,e=this.min,n=this.base[2]+s,n<this.max||(s=n-this.max,n=this.max,i-=s,i>this.min||(s=this.min-i,i=this.min,e+=s,e<this.max||(s=e-this.max,e=this.max,n-=s,n>this.min||(n=this.min)))))),[e,i,n]}}const u=(t=8)=>{const e=t=>Math.random().toString(32).slice(2,2+t);if(t<=8)return e(t);let i="";for(let n=0;n<=t;n+=8)i+=e(t-n>8?8:t-n);return i},l=t=>{const e=Math.abs(t[1]-t[0]);return Math.random()*e+Math.min(...t)};class f{state={};ids={};on(t,e){if(this.state[t]||(this.state[t]=[]),"function"!=typeof e)throw new Error("第二个参数必须为function!");const i=this.state[t].push(e)-1,n=u(40);return this.ids[n]={event:t,index:i},n}cancel(t){if(!t)return void this.clear();const{event:e,index:i}=this.ids[t]||{};e&&Array.isArray(this.state[e])&&(this.state[e].splice(i,1),delete this.ids[t],Object.keys(this.ids).forEach((t=>{this.ids[t].event===e&&this.ids[t].index>i&&(this.ids[t].index=this.ids[t].index-1)})))}clear(){this.state.length=0}emit(t,e){if(Array.isArray(this.state[t]))for(const i of this.state[t])"function"==typeof i&&i(e)}async emitSync(t,e){if(Array.isArray(this.state[t]))for(const i of this.state[t])if("function"==typeof i)try{await i(e)}catch(t){console.log(t)}}clone(){return{state:{...this.state},ids:{...this.ids}}}restore(t){this.state=t.state,this.ids=t.ids}}const p=t=>e=>{const i={};for(const n of Object.keys(e))i[n]=t(e[n],n);return i},m=async t=>{await new Promise((e=>{let i=setTimeout((()=>{e(),clearTimeout(i),i=null}),t)}))},g=(t,e)=>{let i=!0,n=()=>{i=!1},s=async()=>{try{await t()}catch(t){console.log(t)}await m(e),i?s():(s=null,t=null,n=null,i=null,e=null)};return s(),n},y=(t,{checkTime:e,timeout:i}={})=>new Promise(((n,s)=>{let r,o=g((async()=>{const e=await t();e&&("function"==typeof o&&o(),r&&(clearTimeout(r),r=null),n(e),o=null,t=null,n=null)}),e||100);i&&(r=setTimeout((()=>{"function"==typeof o&&o(),r&&(clearTimeout(r),r=null),s("timeout"),s=null,o=null,t=null}),i))})),d=async(t,{times:e=5,interval:i=1e3}={times:5,interval:1e3})=>{let n=1;const s=async()=>{let r;if(n>e)throw new Error("retry times exceed");try{return r=await t(),r}catch(t){console.log(`action error, times ${n}`),console.log(t),await m(i),n+=1,await s()}};await s()};class w{cache=[];running=!1;len=0;async _run({fn:t,promise:e}){try{const i=await t();e.resolve(i)}catch(t){e.reject(t)}t=null,e=null}async run(){if(this.cache.length<1)return void(this.running=!1);this.running=!0;const t=this.cache.shift();this.len-=1,"function"==typeof t.fn&&await this._run(t),this.run()}push(t){return this.len+=1,new Promise(((e,i)=>{this.cache.push({fn:t,promise:{resolve:e,reject:i}}),this.running||this.run()}))}get length(){return this.len}}const b=async(t,e=4)=>{let i=-1;const n=[],s=async()=>{if(i+=1,t[i]){try{await t[i]()}catch(t){console.log(t)}await s()}};for(let t=0;t<e;t+=1)n.push(s());await Promise.all(n)};function M(t,e){const i=new w;let n=[];return(...s)=>{if(n=s,!(i.length>0))return i.push((async()=>{await m(e),await t(...n)}))}}class x{timeout;_count=0;props;constructor(t){this.props=t}get count(){return this._count}increment(){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.clear()),this.props.resetTime),this._count=this._count+1,this._count>this.props.count&&this.props.cb()}clear(){clearTimeout(this.timeout),this._count=0,this.timeout=0}}const T=function(){const t={};for(let e=0;e<64;e++)t["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)]=e;return t}();function A(t){const e=new Uint8Array(6*t.length/8);let i=0,n=0,s=0;for(let r=0;r<t.length&&s<e.length;r+=1)if(n=(n<<6)+T[t.charAt(r)],i+=6,i>=8){i-=8;let t=n>>>i;e[s++]=255&t,t<<=i,n-=t}return e}class v{stack=[];len=10;point=0;constructor(t=10){this.len=t}get current(){if(this.point<this.stack.length&&this.point>-1)return this.stack[this.point]}clear(){this.stack.length=0,this.point=0}backup(t){this.point>0&&this.stack.length>0&&(this.stack.splice(0,this.point),this.point=0),this.stack.unshift(t),this.stack.length>this.len&&this.stack.pop()}undo(){return this.point<this.stack.length-1&&(this.point+=1),this.current}redo(){return this.point>0&&(this.point-=1),this.current}}class E{onTimeout;timeout=null;_time;constructor({limit:t=10,onTimeout:e}){this._time=1e3*t,this.onTimeout=()=>{this.timeout&&(clearTimeout(this.timeout),this.timeout=null),e()}}feed(){this.init()}init(){clearTimeout(this.timeout),this.timeout=null,delete this.timeout,this.timeout=setTimeout(this.onTimeout,this._time)}stop(){this.timeout&&clearTimeout(this.timeout),delete this.timeout}}class _{config;step;constructor(t){this.config=t,this.step=(this.config.max-this.config.min)/(this.config.count-2)}get(t){if(t<=this.config.min)return 1;if(t>=this.config.max)return this.config.count;for(let e=2,i=this.config.min+this.step;i<this.config.max+this.step;i+=this.step,e+=1)if(t<i)return e;return this.config.count}}const S=t=>(...e)=>new Promise(((i,n)=>{t(...e,((t,...e)=>{t&&n(t),e.length<2?i(e[0]):i([...e])})),t=null})),P=(t,e)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)),k=t=>180*t/Math.PI,N=t=>t*Math.PI/180,R=({w:t,h:e})=>k(Math.atan2(e,t));function L(t,e=.5){if(t.length<3||e<=0)return t;let i;return t.filter(((n,s)=>!(s>0&&P(i,n)<e||(i=t[s],0))))}function j(t){const e=[0,0];for(const i of t)Array.isArray(i)?(e[0]+=i[0],e[1]+=i[1]):(e[0]+=i.x,e[1]+=i.y);return{x:e[0]/t.length,y:e[1]/t.length}}function z(t,e,i){return i&&(e=N(e)),[Math.cos(e)*t[0]-Math.sin(e)*t[1],Math.sin(e)*t[0]+Math.cos(e)*t[1]]}const O=(t,e)=>{const i={x:e.x-t.x,y:e.y-t.y};return Math.atan2(i.y,i.x)},U=(t,e)=>{if(t.length<2)return 0;const i=[];let n=1/0,s=0;for(const r of t){const t=P(r,e),o=O(e,r)-e.theta;n>t&&(n=t),i.push({...r,index:s,distance:t,theta:o}),s+=1}return i.filter((t=>t.distance-n<.1)).sort(((t,e)=>t.theta-e.theta))[0].index},C=(t,e={x:0,y:0,theta:0})=>{let i=e;const n=[],s=[...t];for(;s.length>0;){const t=U(s,i);n.push(s[t]),i=s[t],s.splice(t,1)}return n},I=(t,e)=>Math.atan2(e.y,e.x)-Math.atan2(t.y,t.x),D=t=>t.split("_").map(((t,e)=>e>0?t.slice(0,1).toUpperCase()+t.slice(1):t)).join(""),F=(t,e=2)=>null==t||"NaN"===t?"N/A":("number"!=typeof t&&(t=parseFloat(t)),isNaN(t)?"N/A":t.toFixed(e));class X{list;_RegExpList=null;constructor(t){this.list=t}getRegEXP(t){const e=t.replace("/","\\/").replace("*",".*");return new RegExp(e)}include(t){return this._RegExpList||(this._RegExpList=this.list.map(this.getRegEXP)),this._RegExpList.some((e=>e.test(t)))}}class q{tmp=[];size;step;min;max;count=0;value=NaN;old;constructor({size:t=5,step:e=5,min:i=-1/0,max:n=1/0}={}){this.size=t,this.step=e,this.min=i,this.max=n}filter(t){return t<this.min||t>this.max||(this.tmp.push(t),this.old=this.calc(t)),this.old}calc(t){if(this.tmp.length<1)return t;this.tmp.length>this.size&&this.tmp.shift();const{res:e,dic:i}=this.getMostNumberOfTmp();return e!==t&&Math.abs(e-t)>this.step?(this.value!==t?this.count=1:this.count+=1,this.value=t,this.count>i[e]?(this.tmp.length=0,this.tmp.push(t),t):e):(this.count=0,this.value=NaN,t)}getMostNumberOfTmp(){const t={};let e,i=0;for(const n of this.tmp)t[n]?t[n]+=1:t[n]=1,t[n]>i&&(i=t[n],e=n);return{res:e,dic:t}}}class W{_splitSymbol;_cache="";constructor(t){this._splitSymbol=t}split(t){const e=(this._cache+t).split(this._splitSymbol);return this._cache=e.splice(e.length-1,1)[0],e}}function B(t,e=new WeakMap){if("object"!=typeof t||null===t)return t;if(e.has(t))return e.get(t);if(Array.isArray(t)){const i=t.map((t=>B(t,e)));return e.set(t,i),i}if(t instanceof Set){const i=new Set([...t].map((t=>B(t,e))));return e.set(t,i),i}if(t instanceof Map){const i=new Map;for(const[n,s]of t.entries())i.set(B(n,e),B(s,e));return e.set(t,i),i}{const i={};e.set(t,i);for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(i[n]=B(t[n],e));return i}}function H(t,e){if(e.length<1)return null;let i;Array.isArray(t)&&(i={children:t});for(const t of e)i=i.children[t];return B(i)}function K(t,e,i="children"){const n=[];let s=!1;const r=t=>{for(let o=0;o<t.length;o+=1){const a=t[o];if(e(a)){s=!0,n.push(o);break}if(Array.isArray(a[i])){if(n.push(o),r(a[i]),s)break;n.pop()}}};return Array.isArray(t)?r(t):Array.isArray(t[i])&&r(t[i]),s?n:[]}const Q=(t,e="children",i=[],n=[])=>{let s=[];return Array.isArray(t[e])?s=t[e]:Array.isArray(t)&&(s=t),s.forEach(((t,s)=>{const r={...t};delete r[e],n.push(r),r.__indexes=[...i,s]})),s.forEach(((t,s)=>Q(t,e,[...i,s],n))),n},V=(t,e,i="children")=>{const n=[];let s=[];return Array.isArray(t[i])?s=t[i]:Array.isArray(t)&&(s=t),s.forEach((t=>{var s;t[i]&&(t[i]=V(t[i],e)),((null===(s=t[i])||void 0===s?void 0:s.length)>0||e(t))&&n.push(t)})),n},Z=.9996,G=.00669438,J=Math.pow(G,2),$=Math.pow(G,3),Y=G/(1-G),tt=Math.sqrt(1-G),et=(1-tt)/(1+tt),it=Math.pow(et,2),nt=Math.pow(et,3),st=Math.pow(et,4),rt=Math.pow(et,5),ot=1-G/4-3*J/64-5*$/256,at=3*G/8+3*J/32+45*$/1024,ht=15*J/256+45*$/1024,ct=35*$/3072,ut=1.5*et-27/32*nt+269/512*rt,lt=21/16*it-55/32*st,ft=151/96*nt-417/128*rt,pt=1097/512*st,mt=6378137,gt="CDEFGHJKLMNPQRSTUVWXX";function yt(t){const{zoneNum:e,strict:i=!0}=t;let{zoneLetter:n,northern:s}=t;const r=t.x,o=t.y;if(!n&&void 0===s)throw new Error("either zoneLetter or northern needs to be set");if(n&&void 0!==s)throw new Error("set either zoneLetter or northern, but not both");if(i){if(r<1e5||1e6<=r)throw new RangeError("easting out of range (must be between 100 000 m and 999 999 m)");if(o<0||o>1e7)throw new RangeError("northing out of range (must be between 0 m and 10 000 000 m)")}if(e<1||e>60)throw new RangeError("zone number out of range (must be between 1 and 60)");if(n){if(n=n.toUpperCase(),1!==n.length||-1===gt.indexOf(n))throw new RangeError("zone letter out of range (must be between C and X)");s=n>="N"}const a=r-5e5;let h=o;s||(h-=1e7);const c=h/Z/(mt*ot),u=c+ut*Math.sin(2*c)+lt*Math.sin(4*c)+ft*Math.sin(6*c)+pt*Math.sin(8*c),l=Math.sin(u),f=Math.pow(l,2),p=Math.cos(u),m=Math.tan(u),g=Math.pow(m,2),y=Math.pow(m,4),d=1-G*f,w=Math.sqrt(d),b=(1-G)/d,M=et*p*p,x=M*M,T=a/(mt/w*Z),A=Math.pow(T,2),v=Math.pow(T,3),E=Math.pow(T,4),_=Math.pow(T,5),S=Math.pow(T,6),P=(T-v/6*(1+2*g+M)+_/120*(5-2*M+28*g-3*x+8*Y+24*y))/p;return{latitude:k(u-m/b*(A/2-E/24*(5+3*g+10*M-4*x-9*Y))+S/720*(61+90*g+298*M+45*y-252*Y-3*x)),longitude:k(P)+Mt(e)}}function dt({latitude:t,longitude:e},i){if(t>84||t<-80)throw new RangeError("latitude out of range (must be between 80 deg S and 84 deg N)");if(e>180||e<-180)throw new RangeError("longitude out of range (must be between 180 deg W and 180 deg E)");const n=N(t),s=Math.sin(n),r=Math.cos(n),o=Math.tan(n),a=Math.pow(o,2),h=Math.pow(o,4);let c;c=void 0===i?bt({latitude:t,longitude:e}):i;const u=wt(t),l=N(e),f=Mt(c),p=N(f),m=mt/Math.sqrt(1-G*s*s),g=Y*r*r,y=r*(l-p),d=Math.pow(y,2),w=Math.pow(y,3),b=Math.pow(y,4),M=Math.pow(y,5),x=Math.pow(y,6),T=mt*(ot*n-at*Math.sin(2*n)+ht*Math.sin(4*n)-ct*Math.sin(6*n));let A=Z*(T+m*o*(d/2+b/24*(5-a+9*g+4*g*g)+x/720*(61-58*a+h+600*g-330*Y)));return t<0&&(A+=1e7),{x:Z*m*(y+w/6*(1-a+g)+M/120*(5-18*a+h+72*g-58*Y))+5e5,y:A,zoneNum:c,zoneLetter:u}}function wt(t){return-80<=t&&t<=84?gt[Math.floor((t+80)/8)]:null}function bt({latitude:t,longitude:e}){if(56<=t&&t<64&&3<=e&&e<12)return 32;if(72<=t&&t<=84&&e>=0){if(e<9)return 31;if(e<21)return 33;if(e<33)return 35;if(e<42)return 37}return Math.floor((e+180)/6)+1}function Mt(t){return 6*(t-1)-180+3}return e})()));
@@ -23,5 +23,5 @@ export declare const waitFor: (bool: WaitForBool, { checkTime, timeout }?: {
23
23
  export declare const retry: (action: any, { times, interval }?: {
24
24
  times: number;
25
25
  interval: number;
26
- }) => (...args: any[]) => Promise<any>;
26
+ }) => Promise<void>;
27
27
  export {};
package/es/loop/index.js CHANGED
@@ -74,26 +74,26 @@ import { sleep } from '../sleep';
74
74
  }
75
75
  });
76
76
  };
77
- export const retry = (action, { times = 5, interval = 1000 } = {
77
+ export const retry = async (action, { times = 5, interval = 1000 } = {
78
78
  times: 5,
79
79
  interval: 1000
80
80
  })=>{
81
81
  let count = 1;
82
- const fn = async (...args)=>{
82
+ const fn = async ()=>{
83
83
  let result;
84
84
  if (count > times) {
85
85
  throw new Error('retry times exceed');
86
86
  }
87
87
  try {
88
- result = await action(...args);
88
+ result = await action();
89
89
  return result;
90
90
  } catch (err) {
91
91
  console.log(`action error, times ${count}`);
92
92
  console.log(err);
93
93
  await sleep(interval);
94
94
  count += 1;
95
- return fn(...args);
95
+ await fn();
96
96
  }
97
97
  };
98
- return fn;
98
+ await fn();
99
99
  };
@@ -23,5 +23,5 @@ export declare const waitFor: (bool: WaitForBool, { checkTime, timeout }?: {
23
23
  export declare const retry: (action: any, { times, interval }?: {
24
24
  times: number;
25
25
  interval: number;
26
- }) => (...args: any[]) => Promise<any>;
26
+ }) => Promise<void>;
27
27
  export {};
package/lib/loop/index.js CHANGED
@@ -81,26 +81,26 @@ const waitFor = (bool, { checkTime, timeout } = {})=>{
81
81
  }
82
82
  });
83
83
  };
84
- const retry = (action, { times = 5, interval = 1000 } = {
84
+ const retry = async (action, { times = 5, interval = 1000 } = {
85
85
  times: 5,
86
86
  interval: 1000
87
87
  })=>{
88
88
  let count = 1;
89
- const fn = async (...args)=>{
89
+ const fn = async ()=>{
90
90
  let result;
91
91
  if (count > times) {
92
92
  throw new Error('retry times exceed');
93
93
  }
94
94
  try {
95
- result = await action(...args);
95
+ result = await action();
96
96
  return result;
97
97
  } catch (err) {
98
98
  console.log(`action error, times ${count}`);
99
99
  console.log(err);
100
100
  await (0, _sleep.sleep)(interval);
101
101
  count += 1;
102
- return fn(...args);
102
+ await fn();
103
103
  }
104
104
  };
105
- return fn;
105
+ await fn();
106
106
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pubo-utils",
3
- "version": "1.0.177",
3
+ "version": "1.0.179",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  "engines": {
19
19
  "node": ">=8.0.0"
20
20
  },
21
- "gitHead": "55aa58ad8f9997c32f9c21019611e30e6dd69c5a",
21
+ "gitHead": "a2e0127445a5d985e2c27f85aa12f5d5bef71a0a",
22
22
  "devDependencies": {
23
23
  "del": "^5.1.0",
24
24
  "eslint": "^8.42.0",