(items: XnItem[])
| 49 | items: SearchItem[]; |
| 50 | |
| 51 | constructor(items: XnItem[]) { |
| 52 | // items: [{ name, display }]. Sorted in-place by lowercase name. |
| 53 | this.items = items.map(({ name, display }) => ({ |
| 54 | name: String(name).toLowerCase(), |
| 55 | display: display ?? name, |
| 56 | })); |
| 57 | this.items.sort((a, b) => a.name.localeCompare(b.name)); |
| 58 | } |
| 59 | |
| 60 | search(prefix: string, limit = 20): SearchItem[] { |
| 61 | const query = String(prefix).toLowerCase(); |