export default class Issues {
    entityIssues;
    fieldIssues;
    enumIssues;
    relationshipIssues;
    constructor() {
        this.entityIssues = [];
        this.fieldIssues = [];
        this.enumIssues = [];
        this.relationshipIssues = [];
    }
    addEntityIssues(issues = []) {
        this.entityIssues = this.entityIssues.concat(issues);
    }
    addFieldIssues(issues = []) {
        this.fieldIssues = this.fieldIssues.concat(issues);
    }
    addEnumIssues(issues = []) {
        this.enumIssues = this.enumIssues.concat(issues);
    }
    addRelationshipIssues(issues = []) {
        this.relationshipIssues = this.relationshipIssues.concat(issues);
    }
    getNumberOfIssues() {
        return (this.getNumberOfEntityIssues() + this.getNumberOfFieldIssues() + this.getNumberOfEnumIssues() + this.getNumberOfRelationshipIssues());
    }
    getNumberOfEntityIssues() {
        return this.entityIssues.length;
    }
    getNumberOfFieldIssues() {
        return this.fieldIssues.length;
    }
    getNumberOfEnumIssues() {
        return this.enumIssues.length;
    }
    getNumberOfRelationshipIssues() {
        return this.relationshipIssues.length;
    }
    getIssues() {
        return {
            entities: this.entityIssues,
            enums: this.enumIssues,
            fields: this.fieldIssues,
            relationships: this.relationshipIssues,
        };
    }
}
