shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$graphics$shared$svg$parseSVGPath = function(global, require, module, exports) {
  var parse = require("module$node_modules$parse_svg_path$dist$index_cjs"), warn = require("module$node_modules$pixi_DOT_js$lib$utils$logging$warn");
  "use strict";
  exports.parseSVGPath = function(svgPath, path) {
    svgPath = parse(svgPath);
    const subpaths = [];
    let currentSubPath = null, lastX = 0, lastY = 0;
    for (let i = 0; i < svgPath.length; i++) {
      var command = svgPath[i];
      const type = command[0];
      switch(type) {
        case "M":
          lastX = command[1];
          lastY = command[2];
          path.moveTo(lastX, lastY);
          break;
        case "m":
          lastX += command[1];
          lastY += command[2];
          path.moveTo(lastX, lastY);
          break;
        case "H":
          lastX = command[1];
          path.lineTo(lastX, lastY);
          break;
        case "h":
          lastX += command[1];
          path.lineTo(lastX, lastY);
          break;
        case "V":
          lastY = command[1];
          path.lineTo(lastX, lastY);
          break;
        case "v":
          lastY += command[1];
          path.lineTo(lastX, lastY);
          break;
        case "L":
          lastX = command[1];
          lastY = command[2];
          path.lineTo(lastX, lastY);
          break;
        case "l":
          lastX += command[1];
          lastY += command[2];
          path.lineTo(lastX, lastY);
          break;
        case "C":
          lastX = command[5];
          lastY = command[6];
          path.bezierCurveTo(command[1], command[2], command[3], command[4], lastX, lastY);
          break;
        case "c":
          path.bezierCurveTo(lastX + command[1], lastY + command[2], lastX + command[3], lastY + command[4], lastX + command[5], lastY + command[6]);
          lastX += command[5];
          lastY += command[6];
          break;
        case "S":
          lastX = command[3];
          lastY = command[4];
          path.bezierCurveToShort(command[1], command[2], lastX, lastY);
          break;
        case "s":
          path.bezierCurveToShort(lastX + command[1], lastY + command[2], lastX + command[3], lastY + command[4]);
          lastX += command[3];
          lastY += command[4];
          break;
        case "Q":
          lastX = command[3];
          lastY = command[4];
          path.quadraticCurveTo(command[1], command[2], lastX, lastY);
          break;
        case "q":
          path.quadraticCurveTo(lastX + command[1], lastY + command[2], lastX + command[3], lastY + command[4]);
          lastX += command[3];
          lastY += command[4];
          break;
        case "T":
          lastX = command[1];
          lastY = command[2];
          path.quadraticCurveToShort(lastX, lastY);
          break;
        case "t":
          lastX += command[1];
          lastY += command[2];
          path.quadraticCurveToShort(lastX, lastY);
          break;
        case "A":
          lastX = command[6];
          lastY = command[7];
          path.arcToSvg(command[1], command[2], command[3], command[4], command[5], lastX, lastY);
          break;
        case "a":
          lastX += command[6];
          lastY += command[7];
          path.arcToSvg(command[1], command[2], command[3], command[4], command[5], lastX, lastY);
          break;
        case "Z":
        case "z":
          path.closePath();
          0 < subpaths.length && ((currentSubPath = subpaths.pop()) ? (lastX = currentSubPath.startX, lastY = currentSubPath.startY) : lastY = lastX = 0);
          currentSubPath = null;
          break;
        default:
          warn.warn(`Unknown SVG path command: ${type}`);
      }
      "Z" !== type && "z" !== type && null === currentSubPath && (currentSubPath = {startX:lastX, startY:lastY}, subpaths.push(currentSubPath));
    }
    return path;
  };
};

//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$graphics$shared$svg$parseSVGPath.js.map
