@vulppi/toolbelt
Version:
A collection of tools and utilities.
2 lines (1 loc) • 816 B
JavaScript
;var m=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var p=(e,n)=>{for(var r in n)m(e,r,{get:n[r],enumerable:!0})},f=(e,n,r,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let u of c(n))!i.call(e,u)&&u!==r&&m(e,u,{get:()=>n[u],enumerable:!(t=b(n,u))||t.enumerable});return e};var x=e=>f(m({},"__esModule",{value:!0}),e);var l={};p(l,{clamp:()=>o,curve:()=>a,curveStep:()=>M,distance:()=>s,lerp:()=>h});module.exports=x(l);function o(e,n=0,r=1){return Math.min(Math.max(e,n),r)}function h(e,n,r){return e+(n-e)*o(r)}function M(e,n,r){return a(e/(n-1),r)}function a(e,n=!1){let r=Math.max(0,Math.min(1,e));return Math.sin(Math.PI*r)*(n?-1:1)+(n?1:0)}function s(e,n){return e.reduce((r,t,u)=>r+(t-n[u])**2,0)**.5}