UNPKG

@luncheon/simplify-svg-path

Version:
50 lines (36 loc) 1.24 kB
# simplify-svg-path Extracts `Path#simplify()` from Paper.js. http://paperjs.org/reference/path/#simplify ## Installation & Usage ### [npm](https://www.npmjs.com/package/@luncheon/simplify-svg-path) ```bash $ npm i @luncheon/simplify-svg-path ``` ```javascript import simplifySvgPath from '@luncheon/simplify-svg-path' const points = [[10, 10], [10, 20], [20, 20]]; const path = simplifySvgPath(points); // "M10,10c0,3.33333 -2.35702,7.64298 0,10c2.35702,2.35702 6.66667,0 10,0" ``` ### CDN ([jsDelivr](https://www.jsdelivr.com/package/npm/@luncheon/simplify-svg-path)) ```html <script src="https://cdn.jsdelivr.net/npm/@luncheon/simplify-svg-path@0.2.0"></script> <script> const path = simplifySvgPath([[10, 10], [10, 20], [20, 20]]); </script> ``` ## API ```ts simplifySvgPath( points: [x: number, y: number][], // `{ x: number, y: number }[]` is also acceptable { tolerance: number = 2.5, precision: number = 5, } = {} ): string // SVG path command string such as // "M10,10c0,3.33333 -2.35702,7.64298 0,10c2.35702,2.35702 6.66667,0 10,0" ``` ## Note The logic is a copy of Paper.js v0.12.11. If you like this, please send your thanks and the star to [Paper.js](https://github.com/paperjs/paper.js).