Skip to content

Commit 588781b

Browse files
committed
Merge branch 'master' of https://github.com/vltansky/svg-path-commander into vladta/tree-shake-iife
2 parents 6de16a1 + 4084205 commit 588781b

16 files changed

+374
-107
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@ For developer guidelines, and a complete list of static methods, head over to th
267267
* Eric Eastwood for his excelent [svg-curve-lib](https://github.com/MadLittleMods/svg-curve-lib)
268268
* PhET Interactive Simulations for their [kite](https://github.com/phetsims/kite)
269269
* [herrstrietzel](https://github.com/herrstrietzel) for his awesome [svg-pathdata-getbbox](https://github.com/herrstrietzel/svg-pathdata-getbbox)
270+
* a special thanks goes to [@vltansky](https://github.com/vltansky) for fixing tree-shaking in **SVGPathCommander**!
270271
271272
# License
272273
**SVGPathCommander** is released under [MIT Licence](https://github.com/thednp/svg-path-commander/blob/master/LICENSE).

dist/svg-path-commander.cjs.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/svg-path-commander.d.cts

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,141 @@
11
import CSSMatrix from '@thednp/dommatrix';
22
export { default as CSSMatrix } from '@thednp/dommatrix';
33

4+
type SegmentProperties = {
5+
segment: PathSegment;
6+
index: number;
7+
length: number;
8+
lengthAtSegment: number;
9+
};
10+
type PointProperties = {
11+
closest: {
12+
x: number;
13+
y: number;
14+
};
15+
distance: number;
16+
segment?: SegmentProperties;
17+
};
18+
type LineAttr = {
19+
type: "line";
20+
x1: number;
21+
y1: number;
22+
x2: number;
23+
y2: number;
24+
[key: string]: string | number;
25+
};
26+
type PolyAttr = {
27+
type: "polygon" | "polyline";
28+
points: string;
29+
[key: string]: string | number;
30+
};
31+
type CircleAttr = {
32+
type: "circle";
33+
cx: number;
34+
cy: number;
35+
r: number;
36+
[key: string]: string | number;
37+
};
38+
type EllipseAttr = {
39+
type: "ellipse";
40+
cx: number;
41+
cy: number;
42+
rx: number;
43+
ry?: number;
44+
[key: string]: string | number | undefined;
45+
};
46+
type RectAttr = {
47+
type: "rect";
48+
width: number;
49+
height: number;
50+
x: number;
51+
y: number;
52+
rx?: number;
53+
ry?: number;
54+
[key: string]: string | number | undefined;
55+
};
56+
type GlyphAttr = {
57+
type: "glyph";
58+
d: string;
59+
[key: string]: string | number;
60+
};
61+
type ShapeParams = {
62+
line: ["x1", "y1", "x2", "y2"];
63+
circle: ["cx", "cy", "r"];
64+
ellipse: ["cx", "cy", "rx", "ry"];
65+
rect: ["width", "height", "x", "y", "rx", "ry"];
66+
polygon: ["points"];
67+
polyline: ["points"];
68+
glyph: ["d"];
69+
};
70+
type PathBBox = {
71+
width: number;
72+
height: number;
73+
x: number;
74+
y: number;
75+
x2: number;
76+
y2: number;
77+
cx: number;
78+
cy: number;
79+
cz: number;
80+
};
81+
type SegmentLimits = {
82+
min: {
83+
x: number;
84+
y: number;
85+
};
86+
max: {
87+
x: number;
88+
y: number;
89+
};
90+
};
91+
type ParserParams = {
92+
x1: number;
93+
y1: number;
94+
x2: number;
95+
y2: number;
96+
x: number;
97+
y: number;
98+
qx: number | null;
99+
qy: number | null;
100+
};
101+
type LengthFactory = {
102+
length: number;
103+
point: {
104+
x: number;
105+
y: number;
106+
};
107+
min: {
108+
x: number;
109+
y: number;
110+
};
111+
max: {
112+
x: number;
113+
y: number;
114+
};
115+
};
116+
type Options = {
117+
round: "off" | number;
118+
origin: number[];
119+
};
120+
type PathTransform = {
121+
s: PathSegment;
122+
c: string;
123+
x: number;
124+
y: number;
125+
};
126+
type TransformObject = {
127+
translate: number | number[];
128+
rotate: number | number[];
129+
scale: number | number[];
130+
skew: number | number[];
131+
origin: number[];
132+
};
133+
type TransformProps = keyof TransformObject;
134+
type TransformEntries = [
135+
TransformProps,
136+
TransformObject[TransformProps]
137+
][];
138+
4139
type SpaceNumber = 0x1680 | 0x180e | 0x2000 | 0x2001 | 0x2002 | 0x2003 | 0x2004 | 0x2005 | 0x2006 | 0x2007 | 0x2008 | 0x2009 | 0x200a | 0x202f | 0x205f | 0x3000 | 0xfeff | 0x0a | 0x0d | 0x2028 | 0x2029 | 0x20 | 0x09 | 0x0b | 0x0c | 0xa0 | 0x1680;
5140
type PathCommandNumber = 0x6d | 0x7a | 0x6c | 0x68 | 0x76 | 0x63 | 0x73 | 0x71 | 0x74 | 0x61;
6141
type DigitNumber = 0x30 | 0x31 | 0x32 | 0x33 | 0x34 | 0x35 | 0x36 | 0x37 | 0x38 | 0x39;

dist/svg-path-commander.d.ts

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,141 @@
11
import CSSMatrix from '@thednp/dommatrix';
22
export { default as CSSMatrix } from '@thednp/dommatrix';
33

4+
type SegmentProperties = {
5+
segment: PathSegment;
6+
index: number;
7+
length: number;
8+
lengthAtSegment: number;
9+
};
10+
type PointProperties = {
11+
closest: {
12+
x: number;
13+
y: number;
14+
};
15+
distance: number;
16+
segment?: SegmentProperties;
17+
};
18+
type LineAttr = {
19+
type: "line";
20+
x1: number;
21+
y1: number;
22+
x2: number;
23+
y2: number;
24+
[key: string]: string | number;
25+
};
26+
type PolyAttr = {
27+
type: "polygon" | "polyline";
28+
points: string;
29+
[key: string]: string | number;
30+
};
31+
type CircleAttr = {
32+
type: "circle";
33+
cx: number;
34+
cy: number;
35+
r: number;
36+
[key: string]: string | number;
37+
};
38+
type EllipseAttr = {
39+
type: "ellipse";
40+
cx: number;
41+
cy: number;
42+
rx: number;
43+
ry?: number;
44+
[key: string]: string | number | undefined;
45+
};
46+
type RectAttr = {
47+
type: "rect";
48+
width: number;
49+
height: number;
50+
x: number;
51+
y: number;
52+
rx?: number;
53+
ry?: number;
54+
[key: string]: string | number | undefined;
55+
};
56+
type GlyphAttr = {
57+
type: "glyph";
58+
d: string;
59+
[key: string]: string | number;
60+
};
61+
type ShapeParams = {
62+
line: ["x1", "y1", "x2", "y2"];
63+
circle: ["cx", "cy", "r"];
64+
ellipse: ["cx", "cy", "rx", "ry"];
65+
rect: ["width", "height", "x", "y", "rx", "ry"];
66+
polygon: ["points"];
67+
polyline: ["points"];
68+
glyph: ["d"];
69+
};
70+
type PathBBox = {
71+
width: number;
72+
height: number;
73+
x: number;
74+
y: number;
75+
x2: number;
76+
y2: number;
77+
cx: number;
78+
cy: number;
79+
cz: number;
80+
};
81+
type SegmentLimits = {
82+
min: {
83+
x: number;
84+
y: number;
85+
};
86+
max: {
87+
x: number;
88+
y: number;
89+
};
90+
};
91+
type ParserParams = {
92+
x1: number;
93+
y1: number;
94+
x2: number;
95+
y2: number;
96+
x: number;
97+
y: number;
98+
qx: number | null;
99+
qy: number | null;
100+
};
101+
type LengthFactory = {
102+
length: number;
103+
point: {
104+
x: number;
105+
y: number;
106+
};
107+
min: {
108+
x: number;
109+
y: number;
110+
};
111+
max: {
112+
x: number;
113+
y: number;
114+
};
115+
};
116+
type Options = {
117+
round: "off" | number;
118+
origin: number[];
119+
};
120+
type PathTransform = {
121+
s: PathSegment;
122+
c: string;
123+
x: number;
124+
y: number;
125+
};
126+
type TransformObject = {
127+
translate: number | number[];
128+
rotate: number | number[];
129+
scale: number | number[];
130+
skew: number | number[];
131+
origin: number[];
132+
};
133+
type TransformProps = keyof TransformObject;
134+
type TransformEntries = [
135+
TransformProps,
136+
TransformObject[TransformProps]
137+
][];
138+
4139
type SpaceNumber = 0x1680 | 0x180e | 0x2000 | 0x2001 | 0x2002 | 0x2003 | 0x2004 | 0x2005 | 0x2006 | 0x2007 | 0x2008 | 0x2009 | 0x200a | 0x202f | 0x205f | 0x3000 | 0xfeff | 0x0a | 0x0d | 0x2028 | 0x2029 | 0x20 | 0x09 | 0x0b | 0x0c | 0xa0 | 0x1680;
5140
type PathCommandNumber = 0x6d | 0x7a | 0x6c | 0x68 | 0x76 | 0x63 | 0x73 | 0x71 | 0x74 | 0x61;
6141
type DigitNumber = 0x30 | 0x31 | 0x32 | 0x33 | 0x34 | 0x35 | 0x36 | 0x37 | 0x38 | 0x39;

dist/svg-path-commander.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/svg-path-commander.mjs.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/index.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@ <h1><a href="https://github.com/thednp/svg-path-commander">
126126
</div>
127127
<script src="./svg-path-commander.js"></script>
128128

129-
<script>
129+
<script>
130+
console.log('SVGPathCommander: ', SVGPathCommander);
130131
const { pathToCurve, pathToString, roundPath, splitPath, reverseCurve, optimizePath } = SVGPathCommander,
131132
svg = document.getElementById('test-svg'),
132133
path = svg.children[0],

docs/svg-path-commander.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)