fuzzy board search.

Signed-off-by: Akos Kitta <kittaakos@typefox.io>
This commit is contained in:
Akos Kitta
2020-07-20 11:29:05 +02:00
parent 2f3fe27da3
commit 0ee9d16b40
9 changed files with 32 additions and 17 deletions

View File

@@ -261,13 +261,10 @@ export class BoardsServiceImpl implements BoardsService {
return packages.find(({ boards }) => boards.some(({ fqbn }) => fqbn === expectedFqbn));
}
async searchBoards(options: { query?: string }): Promise<Array<Board & { packageName: string }>> {
const query = (options.query || '').toLocaleLowerCase();
async allBoards(options: {}): Promise<Array<Board & { packageName: string }>> {
const results = await this.search(options);
return results.map(item => item.boards.map(board => ({ ...board, packageName: item.name })))
.reduce((acc, curr) => acc.concat(curr), [])
.filter(board => board.name.toLocaleLowerCase().indexOf(query) !== -1)
.sort(Board.compare);
.reduce((acc, curr) => acc.concat(curr), []);
}
async search(options: { query?: string }): Promise<BoardsPackage[]> {