omni-tools/src/tools/index.ts

24 lines
667 B
TypeScript
Raw Normal View History

2024-06-22 22:06:16 +01:00
import { stringTools } from '../pages/string/stringTools';
import { imageTools } from '../pages/images/imageTools';
2024-06-22 23:31:00 +01:00
import { DefinedTool } from './defineTool';
2024-06-22 22:06:16 +01:00
2024-06-22 23:31:00 +01:00
export const tools: DefinedTool[] = [...stringTools, ...imageTools];
export const filterTools = (
tools: DefinedTool[],
query: string
): DefinedTool[] => {
if (!query) return tools;
const lowerCaseQuery = query.toLowerCase();
return tools.filter(
(tool) =>
tool.name.toLowerCase().includes(lowerCaseQuery) ||
tool.description.toLowerCase().includes(lowerCaseQuery) ||
tool.keywords.some((keyword) =>
keyword.toLowerCase().includes(lowerCaseQuery)
)
);
};