(self, query: str)
| 59 | self.entries = entries |
| 60 | |
| 61 | def search(self, query: str) -> set[Char]: |
| 62 | if words := list(tokenize(query)): |
| 63 | found = self.entries[words[0]] |
| 64 | return found.intersection(*(self.entries[w] for w in words[1:])) |
| 65 | else: |
| 66 | return set() |
| 67 | |
| 68 | |
| 69 | def format_results(chars: set[Char]) -> Iterator[str]: |