From 5aa3f693c0fa9759cb594a1e79a48cfb448a7cdf Mon Sep 17 00:00:00 2001 From: wopian Date: Wed, 25 Jan 2023 23:44:42 +0000 Subject: [PATCH] feat: implement automated releases BREAKING CHANGE: Nothing has changed here, just forcing a new major so semantic-release doesn't step on old 1.0.x releases --- paint.js | 60 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/paint.js b/paint.js index f35b657..ce7b84a 100644 --- a/paint.js +++ b/paint.js @@ -1,29 +1,29 @@ class SmoothCornersPainter { static get inputProperties() { - return ['--smooth-corners']; + return ['--smooth-corners'] } superellipse(a, b, nX = 4, nY) { - if (Number.isNaN(nX)) nX = 4; - if (typeof nY === 'undefined' || Number.isNaN(nY)) nY = nX; - if (nX > 100) nX = 100; - if (nY > 100) nY = 100; - if (nX < 0.00000000001) nX = 0.00000000001; - if (nY < 0.00000000001) nY = 0.00000000001; - - const nX2 = 2 / nX; - const nY2 = nY ? 2 / nY : nX2; - const steps = 360; - const step = (2 * Math.PI) / steps; + if (Number.isNaN(nX)) nX = 4 + if (typeof nY === 'undefined' || Number.isNaN(nY)) nY = nX + if (nX > 100) nX = 100 + if (nY > 100) nY = 100 + if (nX < 0.00000000001) nX = 0.00000000001 + if (nY < 0.00000000001) nY = 0.00000000001 + + const nX2 = 2 / nX + const nY2 = nY ? 2 / nY : nX2 + const steps = 360 + const step = (2 * Math.PI) / steps const points = t => { - const cosT = Math.cos(t); - const sinT = Math.sin(t); + const cosT = Math.cos(t) + const sinT = Math.sin(t) return { x: Math.abs(cosT) ** nX2 * a * Math.sign(cosT), y: Math.abs(sinT) ** nY2 * b * Math.sign(sinT) - }; - }; - return Array.from({ length: steps }, (_, i) => points(i * step)); + } + } + return Array.from({ length: steps }, (_, i) => points(i * step)) } paint(ctx, geom, properties) { @@ -31,31 +31,31 @@ class SmoothCornersPainter { .get('--smooth-corners') .toString() .replace(/ /g, '') - .split(','); + .split(',') - const width = geom.width / 2; - const height = geom.height / 2; + const width = geom.width / 2 + const height = geom.height / 2 const smooth = this.superellipse( width, height, parseFloat(nX), parseFloat(nY) - ); + ) - ctx.fillStyle = '#000'; - ctx.setTransform(1, 0, 0, 1, width, height); - ctx.beginPath(); + ctx.fillStyle = '#000' + ctx.setTransform(1, 0, 0, 1, width, height) + ctx.beginPath() for (let i = 0; i < smooth.length; i++) { - const { x, y } = smooth[i]; - if (i === 0) ctx.moveTo(x, y); - else ctx.lineTo(x, y); + const { x, y } = smooth[i] + if (i === 0) ctx.moveTo(x, y) + else ctx.lineTo(x, y) } - ctx.closePath(); - ctx.fill(); + ctx.closePath() + ctx.fill() } } // eslint-disable-next-line no-undef -registerPaint('smooth-corners', SmoothCornersPainter); +registerPaint('smooth-corners', SmoothCornersPainter)