{"size": 451, "ext": "js", "max_stars_repo_path": "ui/src/SSE/onError/SSEOnErrorHandler.js", "max_stars_repo_name": "bartoszgolebiowski/sse-example", "max_stars_repo_stars_event_min_datetime": null, "max_stars_repo_stars_event_max_datetime": null, "max_issues_repo_path": "ui/src/SSE/onError/SSEOnErrorHandler.js", "max_issues_repo_name": "bartoszgolebiowski/sse-example", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "ui/src/SSE/onError/SSEOnErrorHandler.js", "max_forks_repo_name": "bartoszgolebiowski/sse-example", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": null, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 20.5, "max_line_length": 80, "alphanum_fraction": 0.6718403548}
import { getType } from "../utils";

export class SSEOnErrorHandler {
  onErrorFunctions;
  general;

  constructor(onErrorFunctions, general) {
    this.onErrorFunctions = onErrorFunctions;
    this.general = general;
  }

  handleOnError(response) {
    const type = getType(response);
    
    const toInvoke =
      this.onErrorFunctions.find((functions) => functions.getName() === type) ||
      this.general;

    toInvoke.exec(response);
  }
}
