export function h(
name: Name,
props: Partial,
...children: Node[]
): HTMLElementTagNameMap[Name] {
const element = Object.assign(document.createElement(name), props);
element.append(...children);
return element;
}
export function canvas2d(
props: Partial
): [HTMLCanvasElement, CanvasRenderingContext2D] {
const canvas = h("canvas", props);
const cx = canvas.getContext("2d");
if (!cx) {
throw new Error("2D rendering context not supported");
}
return [canvas, cx];
}