from lib.irt.models.three_parameter_logistic import ThreeParameterLogistic
from lib.errors.item_generation_error import ItemGenerationError

class ItemResponseFunction():
  def __init__(self, irt_model):
    self.model_data = irt_model

  def calculate(self, **kwargs):
    if self.model_data.model == '3PL':
      return ThreeParameterLogistic(self.model_data, kwargs).result()
    else:
      raise ItemGenerationError("irt model not supported or provided")