@fin.cx/einvoice
Version:
A TypeScript module for creating, manipulating, and embedding XML data within PDF files specifically tailored for electronic invoice (einvoice) packages.
39 lines • 1.83 kB
JavaScript
import { ValidationLevel } from '../interfaces.js';
/**
* Base validator class that defines common validation functionality
* for all invoice format validators
*/
export class BaseValidator {
constructor(xml) {
this.errors = [];
this.xml = xml;
}
/**
* Gets all validation errors found during validation
* @returns Array of validation errors
*/
getValidationErrors() {
return this.errors;
}
/**
* Checks if the document is valid
* @returns True if no validation errors were found
*/
isValid() {
return this.errors.length === 0;
}
/**
* Adds an error to the validation errors list
* @param code Error code
* @param message Error message
* @param location Location in the XML where the error occurred
*/
addError(code, message, location = '') {
this.errors.push({
code,
message,
location
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9mb3JtYXRzL2Jhc2UudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUduRDs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLGFBQWE7SUFJakMsWUFBWSxHQUFXO1FBRmIsV0FBTSxHQUFzQixFQUFFLENBQUM7UUFHdkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQVNEOzs7T0FHRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBY0Q7Ozs7O09BS0c7SUFDTyxRQUFRLENBQUMsSUFBWSxFQUFFLE9BQWUsRUFBRSxXQUFtQixFQUFFO1FBQ3JFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSTtZQUNKLE9BQU87WUFDUCxRQUFRO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=