@litecanvas/utils
Version:
Utilities to help build litecanvas games
2 lines (1 loc) • 1.29 kB
JavaScript
(()=>{var F=Object.defineProperty;var v=(e,t)=>{for(var r in t)F(e,r,{get:t[r],enumerable:!0})};globalThis.utils=globalThis.utils||{};globalThis.utils.global=(e=!0)=>{for(let t in globalThis.utils)t!=="global"&&(e||globalThis[t]===void 0)&&(globalThis[t]=globalThis.utils[t])};var o={};v(o,{advance:()=>m,almost:()=>g,clamp:()=>a,diff:()=>n,dist:()=>c,fract:()=>u,lerpAngle:()=>x,mag:()=>p,mean:()=>b,median:()=>f,mod:()=>l,move:()=>h,percent:()=>d,smoothstep:()=>N,sum:()=>i,wave:()=>y});var n=(e,t)=>Math.abs(t-e);var u=e=>e%1;var a=(e,t,r)=>e<t?t:e>r?r:e;var P=2*Math.PI;var m=(e,t,r,s=1)=>{r&&(t.x+=r.x*s,t.y+=r.y*s),e.x+=t.x*s,e.y+=t.y*s};var l=(e,t)=>(t+e%t)%t;var c=(e,t,r,s)=>Math.hypot(r-e,s-t)||0;var p=(e,t)=>Math.hypot(e,t);var i=e=>{let t=0;for(let r=0;r<e.length;r++)t+=e[r];return t};var b=e=>i(e)/e.length;var f=e=>{let t=e.sort((s,M)=>s-M),r=Math.floor(t.length/2);return t.length%2===0?(t[r-1]+t[r])/2:t[r]};var x=(e,t,r)=>{let s=(t-e)%360;return s>180?s-=360:s<-180&&(s+=360),e+s*r};var d=(e,t,r)=>a((e-t)/(r-t),0,1);var y=(e,t,r,s=Math.sin)=>e+(s(r)+1)/2*(t-e);var h=(e,t,r)=>Math.abs(t-e)<=r?t:e+Math.sign(t-e)*r;var g=(e,t,r=1e-5)=>n(e,t)<=r;var N=(e,t,r)=>{let s=a((r-e)/(t-e),0,1);return s*s*(3-2*s)};globalThis.utils=Object.assign(globalThis.utils||{},o);})();