| 130 | var reNumber = /[-+]?(?:\d+\.\d+|\d+\.|\.\d+|\d+)(?:[eE][-]?\d+)?/g; |
| 131 | |
| 132 | function parsePath(path) { |
| 133 | var parts = []; |
| 134 | reNumber.lastIndex = 0; |
| 135 | for (var i = 0, s0 = 0, s1, m; m = reNumber.exec(path); ++i) { |
| 136 | if (m.index) { |
| 137 | var part = path.substring(s0, s1 = m.index); |
| 138 | if (!/^[, ]$/.test(part)) parts.push(part); |
| 139 | } |
| 140 | parts.push(parseFloat(m[0])); |
| 141 | s0 = reNumber.lastIndex; |
| 142 | } |
| 143 | if (s0 < path.length) parts.push(path.substring(s0)); |
| 144 | return parts; |
| 145 | } |
| 146 | |
| 147 | function formatPath(path) { |
| 148 | return path.replace(reNumber, formatNumber); |