import { CaretParser, CaretLeafParselet, TokensTag } from "@caret-js/core"; import { FractionToken } from "../tokens/fraction"; import { DivideNode } from "../nodes/divide"; export class FractionParselet extends CaretLeafParselet { parse(parser: CaretParser): DivideNode { const token = parser.consume(); this.assert(token instanceof FractionToken, "Expected FractionToken"); return DivideNode.from( parser.parseSubStrand(token.numerator), parser.parseSubStrand(token.denominator) ).addTag(new TokensTag([token])); } }