UNPKG

1.12 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.finalizeSegment = void 0;
4var params_count_1 = require("./params-count");
5/**
6 * Breaks the parsing of a pathString once a segment is finalized.
7 */
8function finalizeSegment(path) {
9 var pathCommand = path.pathValue[path.segmentStart];
10 var LK = pathCommand.toLowerCase();
11 var data = path.data;
12 while (data.length >= params_count_1.paramsCount[LK]) {
13 // overloaded `moveTo`
14 // https://github.com/rveciana/svg-path-properties/blob/master/src/parse.ts
15 if (LK === 'm' && data.length > 2) {
16 // @ts-ignore
17 path.segments.push([pathCommand].concat(data.splice(0, 2)));
18 LK = 'l';
19 pathCommand = pathCommand === 'm' ? 'l' : 'L';
20 }
21 else {
22 // @ts-ignore
23 path.segments.push([pathCommand].concat(data.splice(0, params_count_1.paramsCount[LK])));
24 }
25 if (!params_count_1.paramsCount[LK]) {
26 break;
27 }
28 }
29}
30exports.finalizeSegment = finalizeSegment;
31//# sourceMappingURL=finalize-segment.js.map
\No newline at end of file