17 lines
563 B
TypeScript
17 lines
563 B
TypeScript
import { setColor, createEmptyGrid, setColorEmpty } from "@snk/types/grid";
|
|
import type { Cell } from "@snk/github-user-contribution";
|
|
import type { Color } from "@snk/types/grid";
|
|
|
|
export const userContributionToGrid = (cells: Cell[]) => {
|
|
const width = Math.max(0, ...cells.map((c) => c.x)) + 1;
|
|
const height = Math.max(0, ...cells.map((c) => c.y)) + 1;
|
|
|
|
const grid = createEmptyGrid(width, height);
|
|
for (const c of cells) {
|
|
if (c.level > 0) setColor(grid, c.x, c.y, c.level as Color);
|
|
else setColorEmpty(grid, c.x, c.y);
|
|
}
|
|
|
|
return grid;
|
|
};
|