From 9fd26b472b18924ab11afcebace90329b0fe3abf Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sun, 12 Jan 2025 20:03:47 +0000 Subject: feat: Add ability to filter by bookmark type --- packages/shared/searchQueryParser.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'packages/shared/searchQueryParser.ts') diff --git a/packages/shared/searchQueryParser.ts b/packages/shared/searchQueryParser.ts index e52af274..4f68523b 100644 --- a/packages/shared/searchQueryParser.ts +++ b/packages/shared/searchQueryParser.ts @@ -15,6 +15,7 @@ import { } from "typescript-parsec"; import { z } from "zod"; +import { BookmarkTypes } from "./types/bookmarks"; import { Matcher } from "./types/search"; enum TokenType { @@ -136,6 +137,33 @@ MATCHER.setPattern( text: "", matcher: { type: "inlist", inList: !minus }, }; + case "link": + return { + text: "", + matcher: { + type: "type", + typeName: BookmarkTypes.LINK, + inverse: !!minus, + }, + }; + case "text": + return { + text: "", + matcher: { + type: "type", + typeName: BookmarkTypes.TEXT, + inverse: !!minus, + }, + }; + case "media": + return { + text: "", + matcher: { + type: "type", + typeName: BookmarkTypes.ASSET, + inverse: !!minus, + }, + }; default: // If the token is not known, emit it as pure text return { -- cgit v1.2.3-70-g09d2