diff --git a/src/document/brushes.ts b/src/document/brushes.ts index 1c4a2ce5..23685001 100644 --- a/src/document/brushes.ts +++ b/src/document/brushes.ts @@ -886,3 +886,26 @@ export function cloneBrush(brush: Brush): Brush { return createRadialPrismBrush(brush); } } + +export function updateBrush( + brush: T, + overrides: Partial> +): T { + switch (brush.kind) { + case "box": + return createBoxBrush({ + ...brush, + ...(overrides as Partial>) + }) as T; + case "wedge": + return createWedgeBrush({ + ...brush, + ...(overrides as Partial>) + }) as T; + case "radialPrism": + return createRadialPrismBrush({ + ...brush, + ...(overrides as Partial>) + }) as T; + } +}