UNPKG

simc-ast-builder

Version:

Parser and AST generator for SimulationCraft files

27 lines 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleDebuff = void 0; const SimCVisitorError_1 = require("../../errors/SimCVisitorError"); const fieldMaps_1 = require("../../utils/fieldMaps"); /** * Handler for debuff access contexts */ const handleDebuff = ({ ctx, parts, }) => { if (parts.length < 2) { throw new SimCVisitorError_1.SimCVisitorError("Debuff access requires a name", ctx); } const name = parts[1]; // Non-null assertion since we check parts.length above const rawField = parts.length > 2 ? parts[2] : null; const defaultField = (0, fieldMaps_1.getDefaultField)("debuff"); const field = rawField || defaultField || ""; const fieldDef = (0, fieldMaps_1.getFieldDef)(field); return { debuffName: name, expressionType: fieldDef.type, field: fieldDef, kind: "expression", nodeType: "debuff", }; }; exports.handleDebuff = handleDebuff; //# sourceMappingURL=DebuffHandler.js.map