@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
29 lines • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizedAstToJson = normalizedAstToJson;
exports.normalizedAstToQuads = normalizedAstToQuads;
exports.printNormalizedAstToMermaid = printNormalizedAstToMermaid;
exports.printNormalizedAstToMermaidUrl = printNormalizedAstToMermaidUrl;
const json_1 = require("../../util/json");
const quads_1 = require("../../util/quads");
const ast_1 = require("../../util/mermaid/ast");
/** Should work with larger things as well */
function normalizedAstToJson(ast) {
// we never serialize the idmap, as it just duplicates the ast, additionally we now miss the full-lexeme to further safe memory
return JSON.stringify({ ...ast.ast, idMap: undefined }, (k, v) => {
if (k === 'fullLexeme') {
return undefined;
}
return (0, json_1.jsonReplacer)(k, v);
});
}
function normalizedAstToQuads(ast, config) {
return (0, quads_1.serialize2quads)(ast.ast, config);
}
function printNormalizedAstToMermaid(ast) {
return (0, ast_1.normalizedAstToMermaid)(ast.ast);
}
function printNormalizedAstToMermaidUrl(ast) {
return (0, ast_1.normalizedAstToMermaidUrl)(ast.ast);
}
//# sourceMappingURL=normalize-printer.js.map