UNPKG

tfl-js

Version:

A TypeScript library for parsing and evaluating propositional logic formulas

52 lines 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ValidationError = exports.EvaluationError = exports.ParseError = exports.TFLError = void 0; /** * Base error class for all tfl-js errors */ class TFLError extends Error { constructor(message) { super(message); this.name = this.constructor.name; } } exports.TFLError = TFLError; /** * Error thrown during parsing */ class ParseError extends TFLError { constructor(message, position, line, column, input) { super(message); this.position = position; this.line = line; this.column = column; this.input = input; } toString() { return `${this.name} at line ${this.line}, column ${this.column}: ${this.message}\n` + `${this.input}\n` + `${' '.repeat(this.column - 1)}^`; } } exports.ParseError = ParseError; /** * Error thrown during formula evaluation */ class EvaluationError extends TFLError { constructor(message, formula) { super(message); this.formula = formula; } } exports.EvaluationError = EvaluationError; /** * Error thrown during formula validation */ class ValidationError extends TFLError { constructor(message, formula) { super(message); this.formula = formula; } } exports.ValidationError = ValidationError; //# sourceMappingURL=index.js.map