mirror of
https://github.com/lucide-icons/lucide.git
synced 2026-08-29 09:28:23 +02:00
* chore: upgrade eslint to v9 latest with compatible lint deps Agent-Logs-Url: https://github.com/lucide-icons/lucide/sessions/f7c1f1b5-d213-4afa-91a8-b799a16397ec * Fix eslint config * Fix a lot of eslint errors * Fix eslint * Fix eslint errors * Fix eslint errors * Fix types * Fix eslint warning * Format code * Add eslint 10 * Remove unused vars * Update pnpm * Update deps --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
22 lines
639 B
TypeScript
22 lines
639 B
TypeScript
import { memoize } from 'lodash-es';
|
|
import SVGPathCommander from 'svg-path-commander';
|
|
import { Path } from './types';
|
|
|
|
function pathToPoints({ d, prev, next }: Path, interval = 1) {
|
|
const commander = new SVGPathCommander(d);
|
|
const points = [];
|
|
try {
|
|
const totalLength = commander.getTotalLength();
|
|
points.push(prev);
|
|
for (let i = interval; i < totalLength - interval; i += interval) {
|
|
points.push(commander.getPointAtLength(i));
|
|
}
|
|
points.push(next);
|
|
} catch (err) {
|
|
console.warn(`Failed to convert path to points for d="${d}": ${err}`);
|
|
}
|
|
return points;
|
|
}
|
|
|
|
export default memoize(pathToPoints);
|