New query rendering engine with handlebars

This commit is contained in:
Zef Hemel
2022-04-28 11:55:38 +02:00
parent 0182a587e4
commit 9ef30d1f49
24 changed files with 2560 additions and 112 deletions
+23
View File
@@ -47,6 +47,25 @@ test("Test parser", () => {
"name",
"age",
]);
expect(
parseQuery(`gh-events where type in ["PushEvent", "somethingElse"]`)
).toStrictEqual({
table: "gh-events",
filter: [
{
op: "in",
prop: "type",
value: ["PushEvent", "somethingElse"],
},
],
});
expect(parseQuery(`something render "template/table"`)).toStrictEqual({
table: "something",
filter: [],
render: "template/table",
});
});
test("Test performing the queries", () => {
@@ -92,4 +111,8 @@ test("Test performing the queries", () => {
expect(
applyQuery(parseQuery(`page where age > 30 select name`), data)
).toStrictEqual([{ name: "Pete" }]);
expect(
applyQuery(parseQuery(`page where name in ["Pete"] select name`), data)
).toStrictEqual([{ name: "Pete" }]);
});