You've already forked wakapi-readme-stats
Bar graph added.
This commit is contained in:
49
node_modules/vega-scenegraph/src/path/parse.js
generated
vendored
Normal file
49
node_modules/vega-scenegraph/src/path/parse.js
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
// Path parsing and rendering code adapted from fabric.js -- Thanks!
|
||||
var cmdlen = { m:2, l:2, h:1, v:1, c:6, s:4, q:4, t:2, a:7 },
|
||||
regexp = [/([MLHVCSQTAZmlhvcsqtaz])/g, /###/, /(\d)([-+])/g, /\s|,|###/];
|
||||
|
||||
export default function(pathstr) {
|
||||
var result = [],
|
||||
path,
|
||||
curr,
|
||||
chunks,
|
||||
parsed, param,
|
||||
cmd, len, i, j, n, m;
|
||||
|
||||
// First, break path into command sequence
|
||||
path = pathstr
|
||||
.slice()
|
||||
.replace(regexp[0], '###$1')
|
||||
.split(regexp[1])
|
||||
.slice(1);
|
||||
|
||||
// Next, parse each command in turn
|
||||
for (i=0, n=path.length; i<n; ++i) {
|
||||
curr = path[i];
|
||||
chunks = curr
|
||||
.slice(1)
|
||||
.trim()
|
||||
.replace(regexp[2],'$1###$2')
|
||||
.split(regexp[3]);
|
||||
cmd = curr.charAt(0);
|
||||
|
||||
parsed = [cmd];
|
||||
for (j=0, m=chunks.length; j<m; ++j) {
|
||||
if ((param = +chunks[j]) === param) { // not NaN
|
||||
parsed.push(param);
|
||||
}
|
||||
}
|
||||
|
||||
len = cmdlen[cmd.toLowerCase()];
|
||||
if (parsed.length-1 > len) {
|
||||
for (j=1, m=parsed.length; j<m; j+=len) {
|
||||
result.push([cmd].concat(parsed.slice(j, j+len)));
|
||||
}
|
||||
}
|
||||
else {
|
||||
result.push(parsed);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
Reference in New Issue
Block a user