philipgreat's picture
feat: explain seven TeaQL runtimes (part 2)
0ccd578 verified
Raw History Blame Contribute Delete
1.1 kB
import fetch from 'node-fetch';
import { TeaQLClient } from './src/tfp/client';
import { Q } from './src/generated/Q';
import { QueryParser } from './src/parser/dsl';
const client = new TeaQLClient({
baseUrl: 'http://127.0.0.1:3001',
fetch: fetch as any
});
const context = { client };
async function runTest() {
try {
console.log("Testing QueryParser (Filter)...");
const queryStr1 = 'Q.tasks().withNameContaining("bug")';
console.log("Parsing:", queryStr1);
const parsedRequest1 = QueryParser.parse(queryStr1);
const parsedTasks1 = await parsedRequest1.executeForList(context);
console.log("Parsed Tasks result:", parsedTasks1);
console.log("\nTesting QueryParser (Aggregation + GroupBy)...");
const queryStr2 = 'Q.taskStatuses().groupByDisplayOrder().sumProgress()';
console.log("Parsing:", queryStr2);
const parsedRequest2 = QueryParser.parse(queryStr2);
const parsedTasks2 = await parsedRequest2.executeForList(context);
console.log("Parsed Aggregation result:", parsedTasks2);
} catch (err) {
console.error(err);
}
}
runTest();