simc-ast-builder
Version:
Parser and AST generator for SimulationCraft files
25 lines • 950 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleHeroTree = void 0;
const SimCVisitorError_1 = require("../../errors/SimCVisitorError");
const fieldMaps_1 = require("../../utils/fieldMaps");
/**
* Handler for hero_tree access contexts
*/
const handleHeroTree = ({ ctx, parts, }) => {
if (parts.length < 2) {
throw new SimCVisitorError_1.SimCVisitorError("Hero tree access requires a node name", ctx);
}
const nodeName = parts[1]; // Non-null assertion since we check parts.length above
// hero_tree always returns a boolean value (whether the node is active or not)
const fieldDef = (0, fieldMaps_1.getFieldDef)("value");
return {
expressionType: "boolean", // Always boolean
field: "",
kind: "expression",
nodeName,
nodeType: "hero_tree",
};
};
exports.handleHeroTree = handleHeroTree;
//# sourceMappingURL=HeroTreeHandler.js.map