Socket
Socket
Sign inDemoInstall

kld-path-parser

Package Overview
Dependencies
0
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    kld-path-parser

Event-driven SVG path data parser


Version published
Maintainers
1
Created

Readme

Source

kld-path-parser

  • Installation
  • Importing
  • Usage
  • Custom Handlers

An event-driven SVG path data parser.

Installation

npm install kld-path-parser

Importing

The following sections indicate how you can import the code for use in various environments.

Node

import {PathParser, SampleHandler} = require("kld-path-parser");

ESM in Modern Browsers

import {PathParser, SampleHandler} from './node_modules/kld-path-parser/dist/index-esm.js';

Older Browsers

<script src="./node_modules/kld-path-parser/dist/index-umd.js"></script>
<script>
  var PathParser = KldPathParser.PathParser;
  var SampleHandler = KldPathParser.SampleHandler;
</script>

Bundlers

import {AffineShapes, Shapes, Intersection} from "kld-path-parser";

Usage

import {PathParser, SampleHandler} from "kld-path-parser";

const parser = new PathParser();
const handler = new SampleHandler());
const pathData = "M40,70 Q50,150 90,90 T135,130 L160,70 C180,180 280,55 280,140 S400,110 290,100";

parser.setHandler(handler);
parser.parseData(pathData);

console.log(handler.logs.join("\n"));

Result

movetoAbs(40,70)
curvetoQuadraticAbs(50,150,90,90)
curvetoQuadraticSmoothAbs(135,130)
linetoAbs(160,70)
curvetoCubicAbs(180,180,280,55,280,140)
curvetoCubicSmoothAbs(400,110,290,100)

Custom Handlers

When creating your own event handler, you will need to define methods for each event you wish to listen for. Below is a list of all events (method names) that may be fired during a parse.

  • beginParse()
  • endParse()
  • arcAbs(rx, ry, xAxisRotation, largeArcFlag, sweepFlag, x, y)
  • arcRel(rx, ry, xAxisRotation, largeArcFlag, sweepFlag, x, y)
  • curvetoCubicAbs(x1, y1, x2, y2, x, y)
  • curvetoCubicRel(x1, y1, x2, y2, x, y)
  • linetoHorizontalAbs(x)
  • linetoHorizontalRel(x)
  • linetoAbs(x, y)
  • linetoRel(x, y)
  • movetoAbs(x, y)
  • movetoRel(x, y)
  • curvetoQuadraticAbs(x1, y1, x, y)
  • curvetoQuadraticRel(x1, y1, x, y)
  • curvetoCubicSmoothAbs(x2, y2, x, y)
  • curvetoCubicSmoothRel(x2, y2, x, y)
  • curvetoQuadraticSmoothAbs(x, y)
  • curvetoQuadraticSmoothRel(x, y)
  • linetoVerticalAbs(y)
  • linetoVerticalRel(y)
  • closePath()

Keywords

FAQs

Last updated on 09 May 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc