from typing import Iterable, Optional, TYPE_CHECKING if TYPE_CHECKING: from agame.item import ItemInst def search_item_name(seq: Iterable["ItemInst"], item_name: str) -> Optional["ItemInst"]: for item in seq: if item.name.lower() == item_name.lower() or item_name.lower() in item.synonyms: return item return None