broke apart

This commit is contained in:
John Lancaster
2026-02-21 19:00:10 -06:00
parent 5985708233
commit 2405d670fb
3 changed files with 73 additions and 55 deletions

View File

@@ -0,0 +1,24 @@
from dataclasses import dataclass
from typing import Generic, TypeVar
T = TypeVar("T")
@dataclass(frozen=True)
class ChangeEvent(Generic[T]):
index: int
@dataclass(frozen=True)
class AddItemEvent(ChangeEvent[T]):
item: T
@dataclass(frozen=True)
class SetItemEvent(ChangeEvent[T]):
item: T
@dataclass(frozen=True)
class RemoveItemEvent(ChangeEvent[T]):
item: T