summaryrefslogtreecommitdiff
path: root/packages/frontend/src/utility/settings-search-index.ts
blob: 7ed97ed34fd360ab148919d753c21d5a9cab9ae4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*
 * SPDX-FileCopyrightText: syuilo and misskey-project
 * SPDX-License-Identifier: AGPL-3.0-only
 */

import { searchIndexes as generated } from 'search-index:settings';
import type { GeneratedSearchIndexItem } from 'search-index:settings';

export type SearchIndexItem = {
	id: string;
	parentId?: string;
	path?: string;
	label: string;
	keywords: string[];
	icon?: string;
};

const rootMods = new Map(generated.map(item => [item.id, item]));

// link inlining here
for (const item of generated) {
	if (item.inlining) {
		for (const id of item.inlining) {
			const inline = rootMods.get(id);
			if (inline) {
				inline.parentId = item.id;
			} else {
				console.log('[Settings Search Index] Failed to inline', id);
			}
		}
	}
}

export const searchIndexes: SearchIndexItem[] = generated;