Comparing version 3.0.1 to 3.1.0
@@ -1,2 +0,2 @@ | ||
// https://d3js.org/d3-path/ v3.0.1 Copyright 2015-2021 Mike Bostock | ||
// https://d3js.org/d3-path/ v3.1.0 Copyright 2015-2022 Mike Bostock | ||
(function (global, factory) { | ||
@@ -6,3 +6,3 @@ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : | ||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.d3 = global.d3 || {})); | ||
}(this, (function (exports) { 'use strict'; | ||
})(this, (function (exports) { 'use strict'; | ||
@@ -14,35 +14,54 @@ const pi = Math.PI, | ||
function Path() { | ||
this._x0 = this._y0 = // start of current subpath | ||
this._x1 = this._y1 = null; // end of current subpath | ||
this._ = ""; | ||
function append(strings) { | ||
this._ += strings[0]; | ||
for (let i = 1, n = strings.length; i < n; ++i) { | ||
this._ += arguments[i] + strings[i]; | ||
} | ||
} | ||
function path() { | ||
return new Path; | ||
function appendRound(digits) { | ||
let d = Math.floor(digits); | ||
if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`); | ||
if (d > 15) return append; | ||
const k = 10 ** d; | ||
return function(strings) { | ||
this._ += strings[0]; | ||
for (let i = 1, n = strings.length; i < n; ++i) { | ||
this._ += Math.round(arguments[i] * k) / k + strings[i]; | ||
} | ||
}; | ||
} | ||
Path.prototype = path.prototype = { | ||
constructor: Path, | ||
moveTo: function(x, y) { | ||
this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y); | ||
}, | ||
closePath: function() { | ||
class Path { | ||
constructor(digits) { | ||
this._x0 = this._y0 = // start of current subpath | ||
this._x1 = this._y1 = null; // end of current subpath | ||
this._ = ""; | ||
this._append = digits == null ? append : appendRound(digits); | ||
} | ||
moveTo(x, y) { | ||
this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`; | ||
} | ||
closePath() { | ||
if (this._x1 !== null) { | ||
this._x1 = this._x0, this._y1 = this._y0; | ||
this._ += "Z"; | ||
this._append`Z`; | ||
} | ||
}, | ||
lineTo: function(x, y) { | ||
this._ += "L" + (this._x1 = +x) + "," + (this._y1 = +y); | ||
}, | ||
quadraticCurveTo: function(x1, y1, x, y) { | ||
this._ += "Q" + (+x1) + "," + (+y1) + "," + (this._x1 = +x) + "," + (this._y1 = +y); | ||
}, | ||
bezierCurveTo: function(x1, y1, x2, y2, x, y) { | ||
this._ += "C" + (+x1) + "," + (+y1) + "," + (+x2) + "," + (+y2) + "," + (this._x1 = +x) + "," + (this._y1 = +y); | ||
}, | ||
arcTo: function(x1, y1, x2, y2, r) { | ||
} | ||
lineTo(x, y) { | ||
this._append`L${this._x1 = +x},${this._y1 = +y}`; | ||
} | ||
quadraticCurveTo(x1, y1, x, y) { | ||
this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`; | ||
} | ||
bezierCurveTo(x1, y1, x2, y2, x, y) { | ||
this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`; | ||
} | ||
arcTo(x1, y1, x2, y2, r) { | ||
x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r; | ||
var x0 = this._x1, | ||
// Is the radius negative? Error. | ||
if (r < 0) throw new Error(`negative radius: ${r}`); | ||
let x0 = this._x1, | ||
y0 = this._y1, | ||
@@ -55,8 +74,5 @@ x21 = x2 - x1, | ||
// Is the radius negative? Error. | ||
if (r < 0) throw new Error("negative radius: " + r); | ||
// Is this path empty? Move to (x1,y1). | ||
if (this._x1 === null) { | ||
this._ += "M" + (this._x1 = x1) + "," + (this._y1 = y1); | ||
this._append`M${this._x1 = x1},${this._y1 = y1}`; | ||
} | ||
@@ -71,3 +87,3 @@ | ||
else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) { | ||
this._ += "L" + (this._x1 = x1) + "," + (this._y1 = y1); | ||
this._append`L${this._x1 = x1},${this._y1 = y1}`; | ||
} | ||
@@ -77,3 +93,3 @@ | ||
else { | ||
var x20 = x2 - x0, | ||
let x20 = x2 - x0, | ||
y20 = y2 - y0, | ||
@@ -90,11 +106,15 @@ l21_2 = x21 * x21 + y21 * y21, | ||
if (Math.abs(t01 - 1) > epsilon) { | ||
this._ += "L" + (x1 + t01 * x01) + "," + (y1 + t01 * y01); | ||
this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`; | ||
} | ||
this._ += "A" + r + "," + r + ",0,0," + (+(y01 * x20 > x01 * y20)) + "," + (this._x1 = x1 + t21 * x21) + "," + (this._y1 = y1 + t21 * y21); | ||
this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`; | ||
} | ||
}, | ||
arc: function(x, y, r, a0, a1, ccw) { | ||
} | ||
arc(x, y, r, a0, a1, ccw) { | ||
x = +x, y = +y, r = +r, ccw = !!ccw; | ||
var dx = r * Math.cos(a0), | ||
// Is the radius negative? Error. | ||
if (r < 0) throw new Error(`negative radius: ${r}`); | ||
let dx = r * Math.cos(a0), | ||
dy = r * Math.sin(a0), | ||
@@ -106,8 +126,5 @@ x0 = x + dx, | ||
// Is the radius negative? Error. | ||
if (r < 0) throw new Error("negative radius: " + r); | ||
// Is this path empty? Move to (x0,y0). | ||
if (this._x1 === null) { | ||
this._ += "M" + x0 + "," + y0; | ||
this._append`M${x0},${y0}`; | ||
} | ||
@@ -117,3 +134,3 @@ | ||
else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) { | ||
this._ += "L" + x0 + "," + y0; | ||
this._append`L${x0},${y0}`; | ||
} | ||
@@ -129,3 +146,3 @@ | ||
if (da > tauEpsilon) { | ||
this._ += "A" + r + "," + r + ",0,1," + cw + "," + (x - dx) + "," + (y - dy) + "A" + r + "," + r + ",0,1," + cw + "," + (this._x1 = x0) + "," + (this._y1 = y0); | ||
this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`; | ||
} | ||
@@ -135,17 +152,28 @@ | ||
else if (da > epsilon) { | ||
this._ += "A" + r + "," + r + ",0," + (+(da >= pi)) + "," + cw + "," + (this._x1 = x + r * Math.cos(a1)) + "," + (this._y1 = y + r * Math.sin(a1)); | ||
this._append`A${r},${r},0,${+(da >= pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`; | ||
} | ||
}, | ||
rect: function(x, y, w, h) { | ||
this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y) + "h" + (+w) + "v" + (+h) + "h" + (-w) + "Z"; | ||
}, | ||
toString: function() { | ||
} | ||
rect(x, y, w, h) { | ||
this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`; | ||
} | ||
toString() { | ||
return this._; | ||
} | ||
}; | ||
} | ||
function path() { | ||
return new Path; | ||
} | ||
// Allow instanceof d3.path | ||
path.prototype = Path.prototype; | ||
function pathRound(digits = 3) { | ||
return new Path(+digits); | ||
} | ||
exports.Path = Path; | ||
exports.path = path; | ||
exports.pathRound = pathRound; | ||
Object.defineProperty(exports, '__esModule', { value: true }); | ||
}))); | ||
})); |
@@ -1,2 +0,2 @@ | ||
// https://d3js.org/d3-path/ v3.0.1 Copyright 2015-2021 Mike Bostock | ||
!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i((t="undefined"!=typeof globalThis?globalThis:t||self).d3=t.d3||{})}(this,(function(t){"use strict";const i=Math.PI,s=2*i,h=1e-6,_=s-h;function e(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function n(){return new e}e.prototype=n.prototype={constructor:e,moveTo:function(t,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+i)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,i){this._+="L"+(this._x1=+t)+","+(this._y1=+i)},quadraticCurveTo:function(t,i,s,h){this._+="Q"+ +t+","+ +i+","+(this._x1=+s)+","+(this._y1=+h)},bezierCurveTo:function(t,i,s,h,_,e){this._+="C"+ +t+","+ +i+","+ +s+","+ +h+","+(this._x1=+_)+","+(this._y1=+e)},arcTo:function(t,s,_,e,n){t=+t,s=+s,_=+_,e=+e,n=+n;var o=this._x1,r=this._y1,a=_-t,u=e-s,f=o-t,c=r-s,y=f*f+c*c;if(n<0)throw new Error("negative radius: "+n);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=s);else if(y>h)if(Math.abs(c*a-u*f)>h&&n){var x=_-o,l=e-r,M=a*a+u*u,d=x*x+l*l,p=Math.sqrt(M),v=Math.sqrt(y),b=n*Math.tan((i-Math.acos((M+y-d)/(2*p*v)))/2),T=b/v,g=b/p;Math.abs(T-1)>h&&(this._+="L"+(t+T*f)+","+(s+T*c)),this._+="A"+n+","+n+",0,0,"+ +(c*x>f*l)+","+(this._x1=t+g*a)+","+(this._y1=s+g*u)}else this._+="L"+(this._x1=t)+","+(this._y1=s);else;},arc:function(t,e,n,o,r,a){t=+t,e=+e,a=!!a;var u=(n=+n)*Math.cos(o),f=n*Math.sin(o),c=t+u,y=e+f,x=1^a,l=a?o-r:r-o;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+c+","+y:(Math.abs(this._x1-c)>h||Math.abs(this._y1-y)>h)&&(this._+="L"+c+","+y),n&&(l<0&&(l=l%s+s),l>_?this._+="A"+n+","+n+",0,1,"+x+","+(t-u)+","+(e-f)+"A"+n+","+n+",0,1,"+x+","+(this._x1=c)+","+(this._y1=y):l>h&&(this._+="A"+n+","+n+",0,"+ +(l>=i)+","+x+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))))},rect:function(t,i,s,h){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+i)+"h"+ +s+"v"+ +h+"h"+-s+"Z"},toString:function(){return this._}},t.path=n,Object.defineProperty(t,"__esModule",{value:!0})})); | ||
// https://d3js.org/d3-path/ v3.1.0 Copyright 2015-2022 Mike Bostock | ||
!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i((t="undefined"!=typeof globalThis?globalThis:t||self).d3=t.d3||{})}(this,(function(t){"use strict";const i=Math.PI,s=2*i,h=1e-6,e=s-h;function n(t){this._+=t[0];for(let i=1,s=t.length;i<s;++i)this._+=arguments[i]+t[i]}class _{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==t?n:function(t){let i=Math.floor(t);if(!(i>=0))throw new Error(`invalid digits: ${t}`);if(i>15)return n;const s=10**i;return function(t){this._+=t[0];for(let i=1,h=t.length;i<h;++i)this._+=Math.round(arguments[i]*s)/s+t[i]}}(t)}moveTo(t,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+i}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,i){this._append`L${this._x1=+t},${this._y1=+i}`}quadraticCurveTo(t,i,s,h){this._append`Q${+t},${+i},${this._x1=+s},${this._y1=+h}`}bezierCurveTo(t,i,s,h,e,n){this._append`C${+t},${+i},${+s},${+h},${this._x1=+e},${this._y1=+n}`}arcTo(t,s,e,n,_){if(t=+t,s=+s,e=+e,n=+n,(_=+_)<0)throw new Error(`negative radius: ${_}`);let a=this._x1,$=this._y1,o=e-t,r=n-s,p=a-t,d=$-s,l=p*p+d*d;if(null===this._x1)this._append`M${this._x1=t},${this._y1=s}`;else if(l>h)if(Math.abs(d*o-r*p)>h&&_){let u=e-a,f=n-$,x=o*o+r*r,y=u*u+f*f,c=Math.sqrt(x),M=Math.sqrt(l),b=_*Math.tan((i-Math.acos((x+l-y)/(2*c*M)))/2),g=b/M,w=b/c;Math.abs(g-1)>h&&this._append`L${t+g*p},${s+g*d}`,this._append`A${_},${_},0,0,${+(d*u>p*f)},${this._x1=t+w*o},${this._y1=s+w*r}`}else this._append`L${this._x1=t},${this._y1=s}`;else;}arc(t,n,_,a,$,o){if(t=+t,n=+n,o=!!o,(_=+_)<0)throw new Error(`negative radius: ${_}`);let r=_*Math.cos(a),p=_*Math.sin(a),d=t+r,l=n+p,u=1^o,f=o?a-$:$-a;null===this._x1?this._append`M${d},${l}`:(Math.abs(this._x1-d)>h||Math.abs(this._y1-l)>h)&&this._append`L${d},${l}`,_&&(f<0&&(f=f%s+s),f>e?this._append`A${_},${_},0,1,${u},${t-r},${n-p}A${_},${_},0,1,${u},${this._x1=d},${this._y1=l}`:f>h&&this._append`A${_},${_},0,${+(f>=i)},${u},${this._x1=t+_*Math.cos($)},${this._y1=n+_*Math.sin($)}`)}rect(t,i,s,h){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+i}h${s=+s}v${+h}h${-s}Z`}toString(){return this._}}function a(){return new _}a.prototype=_.prototype,t.Path=_,t.path=a,t.pathRound=function(t=3){return new _(+t)}})); |
{ | ||
"name": "d3-path", | ||
"version": "3.0.1", | ||
"version": "3.1.0", | ||
"description": "Serialize Canvas path commands to SVG.", | ||
@@ -41,5 +41,5 @@ "homepage": "https://d3js.org/d3-path/", | ||
"devDependencies": { | ||
"eslint": "7", | ||
"mocha": "8", | ||
"rollup": "2", | ||
"eslint": "8", | ||
"mocha": "10", | ||
"rollup": "3", | ||
"rollup-plugin-terser": "7" | ||
@@ -46,0 +46,0 @@ }, |
@@ -24,3 +24,3 @@ # d3-path | ||
If you use npm, `npm install d3-path`. You can also download the [latest release on GitHub](https://github.com/d3/d3-path/releases/latest). In modern browsers, you can import d3-path from Skypack: | ||
If you use npm, `npm install d3-path`. You can also download the [latest release on GitHub](https://github.com/d3/d3-path/releases/latest). In modern browsers, you can import d3-path from jsDelivr: | ||
@@ -30,3 +30,3 @@ ```html | ||
import {path} from "https://cdn.skypack.dev/d3-path@3"; | ||
import {path} from "https://cdn.jsdelivr.net/npm/d3-path@3/+esm"; | ||
@@ -93,1 +93,5 @@ const p = path(); | ||
Returns the string representation of this *path* according to SVG’s [path data specification](http://www.w3.org/TR/SVG/paths.html#PathData). | ||
<a name="pathRound" href="#pathRound">#</a> d3.<b>pathRound</b>(*digits* = 3) · [Source](https://github.com/d3/d3-path/blob/master/src/path.js), [Examples](https://observablehq.com/@d3/d3-path) | ||
Like [d3.path](#path), except limits the digits after the decimal to the specified number of *digits*. |
@@ -1,1 +0,1 @@ | ||
export {default as path} from "./path.js"; | ||
export {Path, path, pathRound} from "./path.js"; |
126
src/path.js
@@ -6,35 +6,54 @@ const pi = Math.PI, | ||
function Path() { | ||
this._x0 = this._y0 = // start of current subpath | ||
this._x1 = this._y1 = null; // end of current subpath | ||
this._ = ""; | ||
function append(strings) { | ||
this._ += strings[0]; | ||
for (let i = 1, n = strings.length; i < n; ++i) { | ||
this._ += arguments[i] + strings[i]; | ||
} | ||
} | ||
function path() { | ||
return new Path; | ||
function appendRound(digits) { | ||
let d = Math.floor(digits); | ||
if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`); | ||
if (d > 15) return append; | ||
const k = 10 ** d; | ||
return function(strings) { | ||
this._ += strings[0]; | ||
for (let i = 1, n = strings.length; i < n; ++i) { | ||
this._ += Math.round(arguments[i] * k) / k + strings[i]; | ||
} | ||
}; | ||
} | ||
Path.prototype = path.prototype = { | ||
constructor: Path, | ||
moveTo: function(x, y) { | ||
this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y); | ||
}, | ||
closePath: function() { | ||
export class Path { | ||
constructor(digits) { | ||
this._x0 = this._y0 = // start of current subpath | ||
this._x1 = this._y1 = null; // end of current subpath | ||
this._ = ""; | ||
this._append = digits == null ? append : appendRound(digits); | ||
} | ||
moveTo(x, y) { | ||
this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`; | ||
} | ||
closePath() { | ||
if (this._x1 !== null) { | ||
this._x1 = this._x0, this._y1 = this._y0; | ||
this._ += "Z"; | ||
this._append`Z`; | ||
} | ||
}, | ||
lineTo: function(x, y) { | ||
this._ += "L" + (this._x1 = +x) + "," + (this._y1 = +y); | ||
}, | ||
quadraticCurveTo: function(x1, y1, x, y) { | ||
this._ += "Q" + (+x1) + "," + (+y1) + "," + (this._x1 = +x) + "," + (this._y1 = +y); | ||
}, | ||
bezierCurveTo: function(x1, y1, x2, y2, x, y) { | ||
this._ += "C" + (+x1) + "," + (+y1) + "," + (+x2) + "," + (+y2) + "," + (this._x1 = +x) + "," + (this._y1 = +y); | ||
}, | ||
arcTo: function(x1, y1, x2, y2, r) { | ||
} | ||
lineTo(x, y) { | ||
this._append`L${this._x1 = +x},${this._y1 = +y}`; | ||
} | ||
quadraticCurveTo(x1, y1, x, y) { | ||
this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`; | ||
} | ||
bezierCurveTo(x1, y1, x2, y2, x, y) { | ||
this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`; | ||
} | ||
arcTo(x1, y1, x2, y2, r) { | ||
x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r; | ||
var x0 = this._x1, | ||
// Is the radius negative? Error. | ||
if (r < 0) throw new Error(`negative radius: ${r}`); | ||
let x0 = this._x1, | ||
y0 = this._y1, | ||
@@ -47,8 +66,5 @@ x21 = x2 - x1, | ||
// Is the radius negative? Error. | ||
if (r < 0) throw new Error("negative radius: " + r); | ||
// Is this path empty? Move to (x1,y1). | ||
if (this._x1 === null) { | ||
this._ += "M" + (this._x1 = x1) + "," + (this._y1 = y1); | ||
this._append`M${this._x1 = x1},${this._y1 = y1}`; | ||
} | ||
@@ -63,3 +79,3 @@ | ||
else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) { | ||
this._ += "L" + (this._x1 = x1) + "," + (this._y1 = y1); | ||
this._append`L${this._x1 = x1},${this._y1 = y1}`; | ||
} | ||
@@ -69,3 +85,3 @@ | ||
else { | ||
var x20 = x2 - x0, | ||
let x20 = x2 - x0, | ||
y20 = y2 - y0, | ||
@@ -82,11 +98,15 @@ l21_2 = x21 * x21 + y21 * y21, | ||
if (Math.abs(t01 - 1) > epsilon) { | ||
this._ += "L" + (x1 + t01 * x01) + "," + (y1 + t01 * y01); | ||
this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`; | ||
} | ||
this._ += "A" + r + "," + r + ",0,0," + (+(y01 * x20 > x01 * y20)) + "," + (this._x1 = x1 + t21 * x21) + "," + (this._y1 = y1 + t21 * y21); | ||
this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`; | ||
} | ||
}, | ||
arc: function(x, y, r, a0, a1, ccw) { | ||
} | ||
arc(x, y, r, a0, a1, ccw) { | ||
x = +x, y = +y, r = +r, ccw = !!ccw; | ||
var dx = r * Math.cos(a0), | ||
// Is the radius negative? Error. | ||
if (r < 0) throw new Error(`negative radius: ${r}`); | ||
let dx = r * Math.cos(a0), | ||
dy = r * Math.sin(a0), | ||
@@ -98,8 +118,5 @@ x0 = x + dx, | ||
// Is the radius negative? Error. | ||
if (r < 0) throw new Error("negative radius: " + r); | ||
// Is this path empty? Move to (x0,y0). | ||
if (this._x1 === null) { | ||
this._ += "M" + x0 + "," + y0; | ||
this._append`M${x0},${y0}`; | ||
} | ||
@@ -109,3 +126,3 @@ | ||
else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) { | ||
this._ += "L" + x0 + "," + y0; | ||
this._append`L${x0},${y0}`; | ||
} | ||
@@ -121,3 +138,3 @@ | ||
if (da > tauEpsilon) { | ||
this._ += "A" + r + "," + r + ",0,1," + cw + "," + (x - dx) + "," + (y - dy) + "A" + r + "," + r + ",0,1," + cw + "," + (this._x1 = x0) + "," + (this._y1 = y0); | ||
this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`; | ||
} | ||
@@ -127,13 +144,22 @@ | ||
else if (da > epsilon) { | ||
this._ += "A" + r + "," + r + ",0," + (+(da >= pi)) + "," + cw + "," + (this._x1 = x + r * Math.cos(a1)) + "," + (this._y1 = y + r * Math.sin(a1)); | ||
this._append`A${r},${r},0,${+(da >= pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`; | ||
} | ||
}, | ||
rect: function(x, y, w, h) { | ||
this._ += "M" + (this._x0 = this._x1 = +x) + "," + (this._y0 = this._y1 = +y) + "h" + (+w) + "v" + (+h) + "h" + (-w) + "Z"; | ||
}, | ||
toString: function() { | ||
} | ||
rect(x, y, w, h) { | ||
this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`; | ||
} | ||
toString() { | ||
return this._; | ||
} | ||
}; | ||
} | ||
export default path; | ||
export function path() { | ||
return new Path; | ||
} | ||
// Allow instanceof d3.path | ||
path.prototype = Path.prototype; | ||
export function pathRound(digits = 3) { | ||
return new Path(+digits); | ||
} |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
20858
290
95