botbook/node_modules/@sagold/json-query/dist/module/lib/split.js
Rodrigo Rodriguez 6ae15fe3e5 Updated.
2024-09-04 13:13:15 -03:00

22 lines
596 B
JavaScript

import { parse } from "./parser";
const skip = ["root", "recursion"];
function buildPath(node, path = []) {
if (skip.includes(node.type)) {
node.children.forEach((n) => buildPath(n, path));
return path;
}
// remove escaped property quotes?
path.push(node.text);
return path;
}
/**
* Returns queryString as a list of property-queries
*/
export function split(queryString) {
if (queryString == null || queryString === "") {
return [];
}
const ast = parse(queryString);
// console.log(toJSON(ast, null, 2));
return buildPath(ast);
}