UNPKG

1.42 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.normalizePath = void 0;
4var tslib_1 = require("tslib");
5var is_normalized_array_1 = require("../util/is-normalized-array");
6var params_parser_1 = require("../parser/params-parser");
7var path_2_absolute_1 = require("../convert/path-2-absolute");
8var clone_path_1 = require("./clone-path");
9var normalize_segment_1 = require("./normalize-segment");
10/**
11 * @example
12 * const path = 'M0 0 H50';
13 * const normalizedPath = SVGPathCommander.normalizePath(path);
14 * // result => [['M', 0, 0], ['L', 50, 0]]
15 */
16function normalizePath(pathInput) {
17 if ((0, is_normalized_array_1.isNormalizedArray)(pathInput)) {
18 return (0, clone_path_1.clonePath)(pathInput);
19 }
20 var path = (0, path_2_absolute_1.path2Absolute)(pathInput);
21 var params = (0, tslib_1.__assign)({}, params_parser_1.paramsParser);
22 for (var i = 0; i < path.length; i += 1) {
23 // Save current path command
24 path[i] = (0, normalize_segment_1.normalizeSegment)(path[i], params);
25 var segment = path[i];
26 var seglen = segment.length;
27 params.x1 = +segment[seglen - 2];
28 params.y1 = +segment[seglen - 1];
29 params.x2 = +segment[seglen - 4] || params.x1;
30 params.y2 = +segment[seglen - 3] || params.y1;
31 }
32 return path;
33}
34exports.normalizePath = normalizePath;
35//# sourceMappingURL=normalize-path.js.map
\No newline at end of file