Files
plainleaf/common/expression_parser.ts
T
Zef HemelandGitHub 6b69449d05 More JSR (#1027)
* Move all syscalls to JSR-style package naming
* Eliminating some prefixes in import maps
2024-08-06 20:11:38 +02:00

13 lines
606 B
TypeScript

import type { QueryExpression } from "@silverbulletmd/silverbullet/types";
import { parseTreeToAST } from "@silverbulletmd/silverbullet/lib/tree";
import { expressionLanguage } from "$common/template/template_parser.ts";
import { expressionToKvQueryExpression } from "@silverbulletmd/silverbullet/lib/parse_query";
import { lezerToParseTree } from "$common/markdown_parser/parse_tree.ts";
export function parseExpression(s: string): QueryExpression {
const ast = parseTreeToAST(
lezerToParseTree(s, expressionLanguage.parser.parse(s).topNode),
);
return expressionToKvQueryExpression(ast[1]);
}