mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 10:26:08 +01:00 
			
		
		
		
	
		
			
	
	
		
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | import lex from "./apps/server/dist/services/search/services/lex.js"; | ||
|  | import parse from "./apps/server/dist/services/search/services/parse.js"; | ||
|  | import SearchContext from "./apps/server/dist/services/search/search_context.js"; | ||
|  | 
 | ||
|  | // Test the integration of the lexer and parser
 | ||
|  | const testCases = [ | ||
|  |     "=example", | ||
|  |     "example", | ||
|  |     "=hello world" | ||
|  | ]; | ||
|  | 
 | ||
|  | for (const query of testCases) { | ||
|  |     console.log(`\n=== Testing: "${query}" ===`); | ||
|  |      | ||
|  |     const lexResult = lex(query); | ||
|  |     console.log("Lex result:"); | ||
|  |     console.log("  Fulltext tokens:", lexResult.fulltextTokens.map(t => t.token)); | ||
|  |     console.log("  Leading operator:", lexResult.leadingOperator || "(none)"); | ||
|  |      | ||
|  |     const searchContext = new SearchContext.default({ fastSearch: false }); | ||
|  |      | ||
|  |     try { | ||
|  |         const expression = parse.default({ | ||
|  |             fulltextTokens: lexResult.fulltextTokens, | ||
|  |             expressionTokens: [], | ||
|  |             searchContext, | ||
|  |             originalQuery: query, | ||
|  |             leadingOperator: lexResult.leadingOperator | ||
|  |         }); | ||
|  |          | ||
|  |         console.log("Parse result: Success"); | ||
|  |         console.log("  Expression type:", expression.constructor.name); | ||
|  |     } catch (e) { | ||
|  |         console.log("Parse result: Error -", e.message); | ||
|  |     } | ||
|  | } |