Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

@leafer/path

Package Overview
Dependencies
Maintainers
1
Versions
116
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@leafer/path - npm Package Compare versions

Comparing version
1.0.0-rc.9
to
1.0.0-rc.10
+4
-4
package.json
{
"name": "@leafer/path",
"version": "1.0.0-rc.9",
"version": "1.0.0-rc.10",
"description": "@leafer/path",

@@ -25,8 +25,8 @@ "author": "Chao (Leafer) Wan",

"dependencies": {
"@leafer/math": "1.0.0-rc.9",
"@leafer/debug": "1.0.0-rc.9"
"@leafer/math": "1.0.0-rc.10",
"@leafer/debug": "1.0.0-rc.10"
},
"devDependencies": {
"@leafer/interface": "1.0.0-rc.9"
"@leafer/interface": "1.0.0-rc.10"
}
}

@@ -6,3 +6,2 @@ export { PathHelper } from './PathHelper'

export { PathDrawer } from './PathDrawer'
export { PathScaler } from './PathScaler'
export { PathBounds } from './PathBounds'

@@ -9,0 +8,0 @@ export { PathCorner } from './PathCorner'

import { IPathCommandData, IPointData } from '@leafer/interface'
import { StringNumberMap } from '@leafer/math'
import { MathHelper, StringNumberMap } from '@leafer/math'
import { Debug } from '@leafer/debug'

@@ -29,3 +29,3 @@

stringify(data: IPathCommandData): string {
stringify(data: IPathCommandData, floatLength?: number): string {
let i = 0, len = data.length, count: number, str: string = '', command: number, lastCommand: number

@@ -42,3 +42,3 @@ while (i < len) {

for (let j = 1; j < count; j++) {
str += data[i + j];
str += MathHelper.float(data[i + j], floatLength);
(j === count - 1) || (str += ' ')

@@ -45,0 +45,0 @@ }

@@ -17,3 +17,3 @@ import { IPathCreator, IPathCommandData, IPathDrawer, IPathString, IBoundsData, ITwoPointBoundsData, IPointData, INumberMap, IStringMap } from '@leafer/interface';

current: ICurrentCommand;
stringify(data: IPathCommandData): string;
stringify(data: IPathCommandData, floatLength?: number): string;
parse(pathString: string, curveMode?: boolean): IPathCommandData;

@@ -65,7 +65,2 @@ toCanvasData(old: IPathCommandData, curveMode?: boolean): IPathCommandData;

declare const PathScaler: {
scale(data: IPathCommandData, scaleX: number, scaleY: number): void;
scalePoints(data: IPathCommandData, scaleX: number, scaleY: number, start?: number, pointCount?: number): void;
};
declare const PathBounds: {

@@ -107,2 +102,2 @@ toBounds(data: IPathCommandData, setBounds: IBoundsData): void;

export { BezierHelper, EllipseHelper, NeedConvertToCanvasCommandMap, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, PathScaler, RectHelper };
export { BezierHelper, EllipseHelper, NeedConvertToCanvasCommandMap, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathDrawer, PathHelper, PathNumberCommandLengthMap, PathNumberCommandMap, RectHelper };
import { IPathCommandData } from '@leafer/interface'
import { PathCommandMap as Command } from './PathCommandMap'
const { M, L, C, Q, Z, N, D, X, G, F, O, P, U } = Command
export const PathScaler = {
scale(data: IPathCommandData, scaleX: number, scaleY: number): void {
if (!data) return
let command: number
let i = 0, len = data.length
while (i < len) {
command = data[i]
switch (command) {
case M: //moveto(x, y)
scalePoints(data, scaleX, scaleY, i, 1)
i += 3
break
case L: //lineto(x, y)
scalePoints(data, scaleX, scaleY, i, 1)
i += 3
break
case C: //bezierCurveTo(x1, y1, x2, y2, x, y)
scalePoints(data, scaleX, scaleY, i, 3)
i += 7
break
case Q: //quadraticCurveTo(x1, y1, x, y)
scalePoints(data, scaleX, scaleY, i, 2)
i += 5
break
case Z: //closepath()
i += 1
break
// canvas command
case N: // rect(x, y, width, height)
scalePoints(data, scaleX, scaleY, i, 2)
i += 5
break
case D: // roundRect(x, y, width, height, radius1, radius2, radius3, radius4)
scalePoints(data, scaleX, scaleY, i, 2)
i += 9
break
case X: // simple roundRect(x, y, width, height, radius)
scalePoints(data, scaleX, scaleY, i, 2)
i += 6
break
case G: // ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)
scalePoints(data, scaleX, scaleY, i, 2)
i += 9
break
case F: // simple ellipse(x, y, radiusX, radiusY)
scalePoints(data, scaleX, scaleY, i, 2)
i += 5
break
case O: // arc(x, y, radius, startAngle, endAngle, anticlockwise)
data[i] = G // to ellipse
data.splice(i + 4, 0, data[i + 3], 0)
scalePoints(data, scaleX, scaleY, i, 2)
i += 7 + 2
len += 2
break
case P: // simple arc(x, y, radius)
data[i] = F // to simple ellipse
data.splice(i + 4, 0, data[i + 3])
scalePoints(data, scaleX, scaleY, i, 2)
i += 4 + 1
len += 1
break
case U: // arcTo(x1, y1, x2, y2, radius)
scalePoints(data, scaleX, scaleY, i, 2)
i += 6
break
}
}
},
scalePoints(data: IPathCommandData, scaleX: number, scaleY: number, start?: number, pointCount?: number): void {
for (let i = pointCount ? start + 1 : 0, end = pointCount ? i + pointCount * 2 : data.length; i < end; i += 2) {
data[i] *= scaleX
data[i + 1] *= scaleY
}
}
}
const { scalePoints } = PathScaler