Socket
Socket
Sign inDemoInstall

perfect-freehand

Package Overview
Dependencies
Maintainers
1
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

perfect-freehand - npm Package Compare versions

Comparing version 1.0.12 to 1.0.13

2

dist/cjs/index.js

@@ -1,1 +0,1 @@

var ue=Object.defineProperty;var be=e=>ue(e,"__esModule",{value:!0});var ge=(e,t)=>{be(e);for(var r in t)ue(e,r,{get:t[r],enumerable:!0})};ge(exports,{default:()=>ke,getStroke:()=>ee,getStrokeOutlinePoints:()=>B,getStrokePoints:()=>A});function Y(e,t,r,x=g=>g){return e*x(.5-t*(.5-r))}function c(e,t){return[e[0]+t[0],e[1]+t[1]]}function p(e,t){return[e[0]-t[0],e[1]-t[1]]}function f(e,t){return[e[0]*t,e[1]*t]}function de(e,t){return[e[0]/t,e[1]/t]}function I(e){return[e[1],-e[0]]}function ie(e,t){return e[0]*t[0]+e[1]*t[1]}function pe(e,t){return e[0]===t[0]&&e[1]===t[1]}function he(e){return Math.hypot(e[0],e[1])}function xe(e){return e[0]*e[0]+e[1]*e[1]}function Z(e,t){return xe(p(e,t))}function K(e){return de(e,he(e))}function me(e,t){return Math.hypot(e[1]-t[1],e[0]-t[0])}function ce(e,t){return f(c(e,t),.5)}function V(e,t,r){let x=Math.sin(r),g=Math.cos(r),y=e[0]-t[0],s=e[1]-t[1],d=y*g-s*x,L=y*x+s*g;return[d+t[0],L+t[1]]}function H(e,t,r){return c(e,f(p(t,e),r))}function $(e,t,r){return c(e,f(t,r))}var{min:_,PI:Se}=Math,ae=.275,j=Se+1e-4;function B(e,t={}){let{size:r=16,smoothing:x=.5,thinning:g=.5,simulatePressure:y=!0,easing:s=n=>n,start:d={},end:L={},last:q=!1}=t,{cap:S=!0,taper:k=0,easing:C=n=>n*(2-n)}=d,{cap:b=!0,taper:a=0,easing:T=n=>--n*n*n+1}=L;if(e.length===0||r<=0)return[];let N=e[e.length-1].runningLength,te=Math.pow(r*x,2),O=[],P=[],U=e.slice(0,10).reduce((n,i)=>{let o=i.pressure;if(y){let u=_(1,i.distance/r),l=_(1,1-u);o=_(1,n+(l-n)*(u*ae))}return(n+o)/2},e[0].pressure),m=Y(r,g,e[e.length-1].pressure,s),X,ne=e[0].vector,z=e[0].point,F=z,E=z,M=F;for(let n=0;n<e.length-1;n++){let{pressure:i}=e[n],{point:o,vector:u,distance:l,runningLength:R}=e[n];if(N-R<3)continue;if(g){if(y){let D=_(1,l/r),W=_(1,1-D);i=_(1,U+(W-U)*(D*ae))}m=Y(r,g,i,s)}else m=r/2;X===void 0&&(X=m);let le=R<k?C(R/k):1,fe=N-R<a?T((N-R)/a):1;m=Math.max(.01,m*Math.min(le,fe));let re=e[n+1].vector,oe=ie(u,re);if(oe<0){let D=f(I(ne),m);for(let W=1/13,G=0;G<=1;G+=W)E=V(p(o,D),o,j*G),O.push(E),M=V(c(o,D),o,j*-G),P.push(M);z=E,F=M;continue}let se=f(I(H(re,u,oe)),m);E=p(o,se),(n===0||Z(z,E)>te)&&(O.push(E),z=E),M=c(o,se),(n===0||Z(F,M)>te)&&(P.push(M),F=M),U=i,ne=u}let v=e[0].point.slice(0,2),h=e.length>1?e[e.length-1].point.slice(0,2):c(e[0].point,[1,1]),J=O.length<=1||P.length<=1,Q=[],w=[];if(J){if(!(k||a)||q){let n=$(v,K(I(p(v,h))),-(X||m)),i=[];for(let o=1/13,u=o;u<=1;u+=o)i.push(V(n,v,j*2*u));return i}}else{if(!(k||a&&J))if(S)for(let o=1/13,u=o;u<=1;u+=o){let l=V(P[0],v,j*u);Q.push(l)}else{let o=p(O[0],P[0]),u=f(o,.5),l=f(o,.51);Q.push(p(v,u),p(v,l),c(v,l),c(v,u))}let n=ce(O[O.length-1],P[P.length-1]),i=I(K(p(h,n)));if(a||k&&J)w.push(h);else if(b){let o=$(h,i,m);for(let u=1/29,l=0;l<=1;l+=u){let R=V(o,h,j*3*l);w.push(R)}}else w.push(c(h,f(i,m)),c(h,f(i,m*.99)),p(h,f(i,m*.99)),p(h,f(i,m)))}return O.concat(w,P.reverse(),Q)}function A(e,t={}){var C;let{streamline:r=.5,size:x=16,last:g=!1}=t;if(e.length===0)return[];let y=.15+(1-r)*.85,s=Array.isArray(e[0])?e:e.map(({x:b,y:a,pressure:T=.5})=>[b,a,T]);s.length===1&&(s=[...s,[...c(s[0],[1,1]),...s[0].slice(2)]]);let d=[{point:[s[0][0],s[0][1]],pressure:s[0][2]||.25,vector:[1,1],distance:0,runningLength:0}],L=!1,q=0,S=d[0],k=s.length-1;for(let b=1;b<s.length;b++){let a=g&&b===k?s[b]:H(S.point,s[b],y);if(pe(S.point,a))continue;let T=me(a,S.point);if(q+=T,b<k&&!L){if(q<x)continue;L=!0}S={point:a,pressure:s[b][2]||.5,vector:K(p(S.point,a)),distance:T,runningLength:q},d.push(S)}return d[0].vector=((C=d[1])==null?void 0:C.vector)||[0,0],d}function ee(e,t={}){return B(A(e,t),t)}var ke=ee;
var ue=Object.defineProperty;var be=e=>ue(e,"__esModule",{value:!0});var ge=(e,t)=>{be(e);for(var r in t)ue(e,r,{get:t[r],enumerable:!0})};ge(exports,{default:()=>ke,getStroke:()=>ee,getStrokeOutlinePoints:()=>B,getStrokePoints:()=>A});function Y(e,t,r,x=g=>g){return e*x(.5-t*(.5-r))}function c(e,t){return[e[0]+t[0],e[1]+t[1]]}function p(e,t){return[e[0]-t[0],e[1]-t[1]]}function b(e,t){return[e[0]*t,e[1]*t]}function de(e,t){return[e[0]/t,e[1]/t]}function I(e){return[e[1],-e[0]]}function ie(e,t){return e[0]*t[0]+e[1]*t[1]}function pe(e,t){return e[0]===t[0]&&e[1]===t[1]}function he(e){return Math.hypot(e[0],e[1])}function xe(e){return e[0]*e[0]+e[1]*e[1]}function Z(e,t){return xe(p(e,t))}function K(e){return de(e,he(e))}function me(e,t){return Math.hypot(e[1]-t[1],e[0]-t[0])}function ce(e,t){return b(c(e,t),.5)}function V(e,t,r){let x=Math.sin(r),g=Math.cos(r),y=e[0]-t[0],o=e[1]-t[1],d=y*g-o*x,L=y*x+o*g;return[d+t[0],L+t[1]]}function H(e,t,r){return c(e,b(p(t,e),r))}function $(e,t,r){return c(e,b(t,r))}var{min:_,PI:Se}=Math,ae=.275,j=Se+1e-4;function B(e,t={}){let{size:r=16,smoothing:x=.5,thinning:g=.5,simulatePressure:y=!0,easing:o=n=>n,start:d={},end:L={},last:q=!1}=t,{cap:S=!0,taper:k=0,easing:C=n=>n*(2-n)}=d,{cap:a=!0,taper:l=0,easing:T=n=>--n*n*n+1}=L;if(e.length===0||r<=0)return[];let N=e[e.length-1].runningLength,te=Math.pow(r*x,2),O=[],P=[],U=e.slice(0,10).reduce((n,i)=>{let s=i.pressure;if(y){let u=_(1,i.distance/r),f=_(1,1-u);s=_(1,n+(f-n)*(u*ae))}return(n+s)/2},e[0].pressure),m=Y(r,g,e[e.length-1].pressure,o),X,ne=e[0].vector,z=e[0].point,F=z,E=z,M=F;for(let n=0;n<e.length-1;n++){let{pressure:i}=e[n],{point:s,vector:u,distance:f,runningLength:R}=e[n];if(N-R<3)continue;if(g){if(y){let D=_(1,f/r),W=_(1,1-D);i=_(1,U+(W-U)*(D*ae))}m=Y(r,g,i,o)}else m=r/2;X===void 0&&(X=m);let le=R<k?C(R/k):1,fe=N-R<l?T((N-R)/l):1;m=Math.max(.01,m*Math.min(le,fe));let re=e[n+1].vector,oe=ie(u,re);if(oe<0){let D=b(I(ne),m);for(let W=1/13,G=0;G<=1;G+=W)E=V(p(s,D),s,j*G),O.push(E),M=V(c(s,D),s,j*-G),P.push(M);z=E,F=M;continue}let se=b(I(H(re,u,oe)),m);E=p(s,se),(n===0||Z(z,E)>te)&&(O.push(E),z=E),M=c(s,se),(n===0||Z(F,M)>te)&&(P.push(M),F=M),U=i,ne=u}let v=e[0].point.slice(0,2),h=e.length>1?e[e.length-1].point.slice(0,2):c(e[0].point,[1,1]),J=O.length<=1||P.length<=1,Q=[],w=[];if(J){if(!(k||l)||q){let n=$(v,K(I(p(v,h))),-(X||m)),i=[];for(let s=1/13,u=s;u<=1;u+=s)i.push(V(n,v,j*2*u));return i}}else{if(!(k||l&&J))if(S)for(let s=1/13,u=s;u<=1;u+=s){let f=V(P[0],v,j*u);Q.push(f)}else{let s=p(O[0],P[0]),u=b(s,.5),f=b(s,.51);Q.push(p(v,u),p(v,f),c(v,f),c(v,u))}let n=ce(O[O.length-1],P[P.length-1]),i=I(K(p(h,n)));if(l||k&&J)w.push(h);else if(a){let s=$(h,i,m);for(let u=1/29,f=0;f<=1;f+=u){let R=V(s,h,j*3*f);w.push(R)}}else w.push(c(h,b(i,m)),c(h,b(i,m*.99)),p(h,b(i,m*.99)),p(h,b(i,m)))}return O.concat(w,P.reverse(),Q)}function A(e,t={}){var C;let{streamline:r=.5,size:x=16,last:g=!1}=t;if(e.length===0)return[];let y=.15+(1-r)*.85,o=Array.isArray(e[0])?e:e.map(({x:a,y:l,pressure:T=.5})=>[a,l,T]);o.length===1&&(o=[...o,[...c(o[0],[1,1]),...o[0].slice(2)]]);let d=[{point:[o[0][0],o[0][1]],pressure:o[0][2]>=0?o[0][2]:.25,vector:[1,1],distance:0,runningLength:0}],L=!1,q=0,S=d[0],k=o.length-1;for(let a=1;a<o.length;a++){let l=g&&a===k?o[a]:H(S.point,o[a],y);if(pe(S.point,l))continue;let T=me(l,S.point);if(q+=T,a<k&&!L){if(q<x)continue;L=!0}S={point:l,pressure:o[a][2]>=0?o[a][2]:.5,vector:K(p(S.point,l)),distance:T,runningLength:q},d.push(S)}return d[0].vector=((C=d[1])==null?void 0:C.vector)||[0,0],d}function ee(e,t={}){return B(A(e,t),t)}var ke=ee;

@@ -1,1 +0,1 @@

function Y(e,t,u,x=g=>g){return e*x(.5-t*(.5-u))}function c(e,t){return[e[0]+t[0],e[1]+t[1]]}function p(e,t){return[e[0]-t[0],e[1]-t[1]]}function f(e,t){return[e[0]*t,e[1]*t]}function fe(e,t){return[e[0]/t,e[1]/t]}function I(e){return[e[1],-e[0]]}function re(e,t){return e[0]*t[0]+e[1]*t[1]}function oe(e,t){return e[0]===t[0]&&e[1]===t[1]}function be(e){return Math.hypot(e[0],e[1])}function ge(e){return e[0]*e[0]+e[1]*e[1]}function Z(e,t){return ge(p(e,t))}function K(e){return fe(e,be(e))}function se(e,t){return Math.hypot(e[1]-t[1],e[0]-t[0])}function ue(e,t){return f(c(e,t),.5)}function V(e,t,u){let x=Math.sin(u),g=Math.cos(u),y=e[0]-t[0],o=e[1]-t[1],d=y*g-o*x,L=y*x+o*g;return[d+t[0],L+t[1]]}function H(e,t,u){return c(e,f(p(t,e),u))}function $(e,t,u){return c(e,f(t,u))}var{min:_,PI:de}=Math,ie=.275,j=de+1e-4;function pe(e,t={}){let{size:u=16,smoothing:x=.5,thinning:g=.5,simulatePressure:y=!0,easing:o=n=>n,start:d={},end:L={},last:q=!1}=t,{cap:S=!0,taper:k=0,easing:C=n=>n*(2-n)}=d,{cap:b=!0,taper:a=0,easing:T=n=>--n*n*n+1}=L;if(e.length===0||u<=0)return[];let N=e[e.length-1].runningLength,B=Math.pow(u*x,2),O=[],P=[],U=e.slice(0,10).reduce((n,i)=>{let r=i.pressure;if(y){let s=_(1,i.distance/u),l=_(1,1-s);r=_(1,n+(l-n)*(s*ie))}return(n+r)/2},e[0].pressure),m=Y(u,g,e[e.length-1].pressure,o),X,A=e[0].vector,z=e[0].point,F=z,E=z,M=F;for(let n=0;n<e.length-1;n++){let{pressure:i}=e[n],{point:r,vector:s,distance:l,runningLength:R}=e[n];if(N-R<3)continue;if(g){if(y){let D=_(1,l/u),W=_(1,1-D);i=_(1,U+(W-U)*(D*ie))}m=Y(u,g,i,o)}else m=u/2;X===void 0&&(X=m);let ae=R<k?C(R/k):1,le=N-R<a?T((N-R)/a):1;m=Math.max(.01,m*Math.min(ae,le));let ee=e[n+1].vector,te=re(s,ee);if(te<0){let D=f(I(A),m);for(let W=1/13,G=0;G<=1;G+=W)E=V(p(r,D),r,j*G),O.push(E),M=V(c(r,D),r,j*-G),P.push(M);z=E,F=M;continue}let ne=f(I(H(ee,s,te)),m);E=p(r,ne),(n===0||Z(z,E)>B)&&(O.push(E),z=E),M=c(r,ne),(n===0||Z(F,M)>B)&&(P.push(M),F=M),U=i,A=s}let v=e[0].point.slice(0,2),h=e.length>1?e[e.length-1].point.slice(0,2):c(e[0].point,[1,1]),J=O.length<=1||P.length<=1,Q=[],w=[];if(J){if(!(k||a)||q){let n=$(v,K(I(p(v,h))),-(X||m)),i=[];for(let r=1/13,s=r;s<=1;s+=r)i.push(V(n,v,j*2*s));return i}}else{if(!(k||a&&J))if(S)for(let r=1/13,s=r;s<=1;s+=r){let l=V(P[0],v,j*s);Q.push(l)}else{let r=p(O[0],P[0]),s=f(r,.5),l=f(r,.51);Q.push(p(v,s),p(v,l),c(v,l),c(v,s))}let n=ue(O[O.length-1],P[P.length-1]),i=I(K(p(h,n)));if(a||k&&J)w.push(h);else if(b){let r=$(h,i,m);for(let s=1/29,l=0;l<=1;l+=s){let R=V(r,h,j*3*l);w.push(R)}}else w.push(c(h,f(i,m)),c(h,f(i,m*.99)),p(h,f(i,m*.99)),p(h,f(i,m)))}return O.concat(w,P.reverse(),Q)}function me(e,t={}){var C;let{streamline:u=.5,size:x=16,last:g=!1}=t;if(e.length===0)return[];let y=.15+(1-u)*.85,o=Array.isArray(e[0])?e:e.map(({x:b,y:a,pressure:T=.5})=>[b,a,T]);o.length===1&&(o=[...o,[...c(o[0],[1,1]),...o[0].slice(2)]]);let d=[{point:[o[0][0],o[0][1]],pressure:o[0][2]||.25,vector:[1,1],distance:0,runningLength:0}],L=!1,q=0,S=d[0],k=o.length-1;for(let b=1;b<o.length;b++){let a=g&&b===k?o[b]:H(S.point,o[b],y);if(oe(S.point,a))continue;let T=se(a,S.point);if(q+=T,b<k&&!L){if(q<x)continue;L=!0}S={point:a,pressure:o[b][2]||.5,vector:K(p(S.point,a)),distance:T,runningLength:q},d.push(S)}return d[0].vector=((C=d[1])==null?void 0:C.vector)||[0,0],d}function ce(e,t={}){return pe(me(e,t),t)}var qe=ce;export{qe as default,ce as getStroke,pe as getStrokeOutlinePoints,me as getStrokePoints};
function Y(e,t,u,x=g=>g){return e*x(.5-t*(.5-u))}function c(e,t){return[e[0]+t[0],e[1]+t[1]]}function p(e,t){return[e[0]-t[0],e[1]-t[1]]}function b(e,t){return[e[0]*t,e[1]*t]}function fe(e,t){return[e[0]/t,e[1]/t]}function I(e){return[e[1],-e[0]]}function re(e,t){return e[0]*t[0]+e[1]*t[1]}function oe(e,t){return e[0]===t[0]&&e[1]===t[1]}function be(e){return Math.hypot(e[0],e[1])}function ge(e){return e[0]*e[0]+e[1]*e[1]}function Z(e,t){return ge(p(e,t))}function K(e){return fe(e,be(e))}function se(e,t){return Math.hypot(e[1]-t[1],e[0]-t[0])}function ue(e,t){return b(c(e,t),.5)}function V(e,t,u){let x=Math.sin(u),g=Math.cos(u),y=e[0]-t[0],r=e[1]-t[1],d=y*g-r*x,L=y*x+r*g;return[d+t[0],L+t[1]]}function H(e,t,u){return c(e,b(p(t,e),u))}function $(e,t,u){return c(e,b(t,u))}var{min:_,PI:de}=Math,ie=.275,j=de+1e-4;function pe(e,t={}){let{size:u=16,smoothing:x=.5,thinning:g=.5,simulatePressure:y=!0,easing:r=n=>n,start:d={},end:L={},last:q=!1}=t,{cap:S=!0,taper:k=0,easing:C=n=>n*(2-n)}=d,{cap:a=!0,taper:l=0,easing:T=n=>--n*n*n+1}=L;if(e.length===0||u<=0)return[];let N=e[e.length-1].runningLength,B=Math.pow(u*x,2),O=[],P=[],U=e.slice(0,10).reduce((n,i)=>{let o=i.pressure;if(y){let s=_(1,i.distance/u),f=_(1,1-s);o=_(1,n+(f-n)*(s*ie))}return(n+o)/2},e[0].pressure),m=Y(u,g,e[e.length-1].pressure,r),X,A=e[0].vector,z=e[0].point,F=z,E=z,M=F;for(let n=0;n<e.length-1;n++){let{pressure:i}=e[n],{point:o,vector:s,distance:f,runningLength:R}=e[n];if(N-R<3)continue;if(g){if(y){let D=_(1,f/u),W=_(1,1-D);i=_(1,U+(W-U)*(D*ie))}m=Y(u,g,i,r)}else m=u/2;X===void 0&&(X=m);let ae=R<k?C(R/k):1,le=N-R<l?T((N-R)/l):1;m=Math.max(.01,m*Math.min(ae,le));let ee=e[n+1].vector,te=re(s,ee);if(te<0){let D=b(I(A),m);for(let W=1/13,G=0;G<=1;G+=W)E=V(p(o,D),o,j*G),O.push(E),M=V(c(o,D),o,j*-G),P.push(M);z=E,F=M;continue}let ne=b(I(H(ee,s,te)),m);E=p(o,ne),(n===0||Z(z,E)>B)&&(O.push(E),z=E),M=c(o,ne),(n===0||Z(F,M)>B)&&(P.push(M),F=M),U=i,A=s}let v=e[0].point.slice(0,2),h=e.length>1?e[e.length-1].point.slice(0,2):c(e[0].point,[1,1]),J=O.length<=1||P.length<=1,Q=[],w=[];if(J){if(!(k||l)||q){let n=$(v,K(I(p(v,h))),-(X||m)),i=[];for(let o=1/13,s=o;s<=1;s+=o)i.push(V(n,v,j*2*s));return i}}else{if(!(k||l&&J))if(S)for(let o=1/13,s=o;s<=1;s+=o){let f=V(P[0],v,j*s);Q.push(f)}else{let o=p(O[0],P[0]),s=b(o,.5),f=b(o,.51);Q.push(p(v,s),p(v,f),c(v,f),c(v,s))}let n=ue(O[O.length-1],P[P.length-1]),i=I(K(p(h,n)));if(l||k&&J)w.push(h);else if(a){let o=$(h,i,m);for(let s=1/29,f=0;f<=1;f+=s){let R=V(o,h,j*3*f);w.push(R)}}else w.push(c(h,b(i,m)),c(h,b(i,m*.99)),p(h,b(i,m*.99)),p(h,b(i,m)))}return O.concat(w,P.reverse(),Q)}function me(e,t={}){var C;let{streamline:u=.5,size:x=16,last:g=!1}=t;if(e.length===0)return[];let y=.15+(1-u)*.85,r=Array.isArray(e[0])?e:e.map(({x:a,y:l,pressure:T=.5})=>[a,l,T]);r.length===1&&(r=[...r,[...c(r[0],[1,1]),...r[0].slice(2)]]);let d=[{point:[r[0][0],r[0][1]],pressure:r[0][2]>=0?r[0][2]:.25,vector:[1,1],distance:0,runningLength:0}],L=!1,q=0,S=d[0],k=r.length-1;for(let a=1;a<r.length;a++){let l=g&&a===k?r[a]:H(S.point,r[a],y);if(oe(S.point,l))continue;let T=se(l,S.point);if(q+=T,a<k&&!L){if(q<x)continue;L=!0}S={point:l,pressure:r[a][2]>=0?r[a][2]:.5,vector:K(p(S.point,l)),distance:T,runningLength:q},d.push(S)}return d[0].vector=((C=d[1])==null?void 0:C.vector)||[0,0],d}function ce(e,t={}){return pe(me(e,t),t)}var qe=ce;export{qe as default,ce as getStroke,pe as getStrokeOutlinePoints,me as getStrokePoints};
{
"version": "1.0.12",
"version": "1.0.13",
"name": "perfect-freehand",

@@ -59,3 +59,3 @@ "private": false,

},
"gitHead": "d3a6f8a0f9757ad02d620652c64a310ea6fcb0b1"
"gitHead": "831ea3ece64bbdf63f0d670bf70e072ac04e3924"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc