fix
This commit is contained in:
@@ -1 +1,107 @@
|
||||
const c=Math.PI,x=2*c,u=1e-6,m=x-u;function E(e){this._+=e[0];for(let t=1,h=e.length;t<h;++t)this._+=arguments[t]+e[t]}function A(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return E;const h=10**t;return function(i){this._+=i[0];for(let s=1,n=i.length;s<n;++s)this._+=Math.round(arguments[s]*h)/h+i[s]}}class L{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?E:A(t)}moveTo(t,h){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+h}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,h){this._append`L${this._x1=+t},${this._y1=+h}`}quadraticCurveTo(t,h,i,s){this._append`Q${+t},${+h},${this._x1=+i},${this._y1=+s}`}bezierCurveTo(t,h,i,s,n,$){this._append`C${+t},${+h},${+i},${+s},${this._x1=+n},${this._y1=+$}`}arcTo(t,h,i,s,n){if(t=+t,h=+h,i=+i,s=+s,n=+n,n<0)throw new Error(`negative radius: ${n}`);let $=this._x1,r=this._y1,p=i-t,l=s-h,_=$-t,o=r-h,a=_*_+o*o;if(this._x1===null)this._append`M${this._x1=t},${this._y1=h}`;else if(a>u)if(!(Math.abs(o*p-l*_)>u)||!n)this._append`L${this._x1=t},${this._y1=h}`;else{let d=i-$,f=s-r,y=p*p+l*l,T=d*d+f*f,g=Math.sqrt(y),v=Math.sqrt(a),w=n*Math.tan((c-Math.acos((y+a-T)/(2*g*v)))/2),M=w/v,b=w/g;Math.abs(M-1)>u&&this._append`L${t+M*_},${h+M*o}`,this._append`A${n},${n},0,0,${+(o*d>_*f)},${this._x1=t+b*p},${this._y1=h+b*l}`}}arc(t,h,i,s,n,$){if(t=+t,h=+h,i=+i,$=!!$,i<0)throw new Error(`negative radius: ${i}`);let r=i*Math.cos(s),p=i*Math.sin(s),l=t+r,_=h+p,o=1^$,a=$?s-n:n-s;this._x1===null?this._append`M${l},${_}`:(Math.abs(this._x1-l)>u||Math.abs(this._y1-_)>u)&&this._append`L${l},${_}`,i&&(a<0&&(a=a%x+x),a>m?this._append`A${i},${i},0,1,${o},${t-r},${h-p}A${i},${i},0,1,${o},${this._x1=l},${this._y1=_}`:a>u&&this._append`A${i},${i},0,${+(a>=c)},${o},${this._x1=t+i*Math.cos(n)},${this._y1=h+i*Math.sin(n)}`)}rect(t,h,i,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+h}h${i=+i}v${+s}h${-i}Z`}toString(){return this._}}function P(e){return function(){return e}}function q(e){let t=3;return e.digits=function(h){if(!arguments.length)return t;if(h==null)t=null;else{const i=Math.floor(h);if(!(i>=0))throw new RangeError(`invalid digits: ${h}`);t=i}return e},()=>new L(t)}export{P as c,q as w};
|
||||
const c = Math.PI,
|
||||
x = 2 * c,
|
||||
u = 1e-6,
|
||||
m = x - u;
|
||||
function E(e) {
|
||||
this._ += e[0];
|
||||
for (let t = 1, h = e.length; t < h; ++t) this._ += arguments[t] + e[t];
|
||||
}
|
||||
function A(e) {
|
||||
let t = Math.floor(e);
|
||||
if (!(t >= 0)) throw new Error(`invalid digits: ${e}`);
|
||||
if (t > 15) return E;
|
||||
const h = 10 ** t;
|
||||
return function (i) {
|
||||
this._ += i[0];
|
||||
for (let s = 1, n = i.length; s < n; ++s) this._ += Math.round(arguments[s] * h) / h + i[s];
|
||||
};
|
||||
}
|
||||
class L {
|
||||
constructor(t) {
|
||||
(this._x0 = this._y0 = this._x1 = this._y1 = null), (this._ = ''), (this._append = t == null ? E : A(t));
|
||||
}
|
||||
moveTo(t, h) {
|
||||
this._append`M${(this._x0 = this._x1 = +t)},${(this._y0 = this._y1 = +h)}`;
|
||||
}
|
||||
closePath() {
|
||||
this._x1 !== null && ((this._x1 = this._x0), (this._y1 = this._y0), this._append`Z`);
|
||||
}
|
||||
lineTo(t, h) {
|
||||
this._append`L${(this._x1 = +t)},${(this._y1 = +h)}`;
|
||||
}
|
||||
quadraticCurveTo(t, h, i, s) {
|
||||
this._append`Q${+t},${+h},${(this._x1 = +i)},${(this._y1 = +s)}`;
|
||||
}
|
||||
bezierCurveTo(t, h, i, s, n, $) {
|
||||
this._append`C${+t},${+h},${+i},${+s},${(this._x1 = +n)},${(this._y1 = +$)}`;
|
||||
}
|
||||
arcTo(t, h, i, s, n) {
|
||||
if (((t = +t), (h = +h), (i = +i), (s = +s), (n = +n), n < 0)) throw new Error(`negative radius: ${n}`);
|
||||
let $ = this._x1,
|
||||
r = this._y1,
|
||||
p = i - t,
|
||||
l = s - h,
|
||||
_ = $ - t,
|
||||
o = r - h,
|
||||
a = _ * _ + o * o;
|
||||
if (this._x1 === null) this._append`M${(this._x1 = t)},${(this._y1 = h)}`;
|
||||
else if (a > u)
|
||||
if (!(Math.abs(o * p - l * _) > u) || !n) this._append`L${(this._x1 = t)},${(this._y1 = h)}`;
|
||||
else {
|
||||
let d = i - $,
|
||||
f = s - r,
|
||||
y = p * p + l * l,
|
||||
T = d * d + f * f,
|
||||
g = Math.sqrt(y),
|
||||
v = Math.sqrt(a),
|
||||
w = n * Math.tan((c - Math.acos((y + a - T) / (2 * g * v))) / 2),
|
||||
M = w / v,
|
||||
b = w / g;
|
||||
Math.abs(M - 1) > u && this._append`L${t + M * _},${h + M * o}`,
|
||||
this._append`A${n},${n},0,0,${+(o * d > _ * f)},${(this._x1 = t + b * p)},${(this._y1 = h + b * l)}`;
|
||||
}
|
||||
}
|
||||
arc(t, h, i, s, n, $) {
|
||||
if (((t = +t), (h = +h), (i = +i), ($ = !!$), i < 0)) throw new Error(`negative radius: ${i}`);
|
||||
let r = i * Math.cos(s),
|
||||
p = i * Math.sin(s),
|
||||
l = t + r,
|
||||
_ = h + p,
|
||||
o = 1 ^ $,
|
||||
a = $ ? s - n : n - s;
|
||||
this._x1 === null ? this._append`M${l},${_}` : (Math.abs(this._x1 - l) > u || Math.abs(this._y1 - _) > u) && this._append`L${l},${_}`,
|
||||
i &&
|
||||
(a < 0 && (a = (a % x) + x),
|
||||
a > m
|
||||
? this._append`A${i},${i},0,1,${o},${t - r},${h - p}A${i},${i},0,1,${o},${(this._x1 = l)},${(this._y1 = _)}`
|
||||
: a > u && this._append`A${i},${i},0,${+(a >= c)},${o},${(this._x1 = t + i * Math.cos(n))},${(this._y1 = h + i * Math.sin(n))}`);
|
||||
}
|
||||
rect(t, h, i, s) {
|
||||
this._append`M${(this._x0 = this._x1 = +t)},${(this._y0 = this._y1 = +h)}h${(i = +i)}v${+s}h${-i}Z`;
|
||||
}
|
||||
toString() {
|
||||
return this._;
|
||||
}
|
||||
}
|
||||
function P(e) {
|
||||
return function () {
|
||||
return e;
|
||||
};
|
||||
}
|
||||
function q(e) {
|
||||
let t = 3;
|
||||
return (
|
||||
(e.digits = function (h) {
|
||||
if (!arguments.length) return t;
|
||||
if (h == null) t = null;
|
||||
else {
|
||||
const i = Math.floor(h);
|
||||
if (!(i >= 0)) throw new RangeError(`invalid digits: ${h}`);
|
||||
t = i;
|
||||
}
|
||||
return e;
|
||||
}),
|
||||
() => new L(t)
|
||||
);
|
||||
}
|
||||
export { P as c, q as w };
|
||||
|
||||
Reference in New Issue
Block a user