DartBlockEvaluation.fromJson constructor

DartBlockEvaluation.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory DartBlockEvaluation.fromJson(Map<String, dynamic> json) {
  DartBlockEvaluationSchemaType? kind;
  if (json.containsKey('evaluationType')) {
    for (var schemaType in DartBlockEvaluationSchemaType.values) {
      if (json["evaluationType"] == schemaType.jsonValue) {
        kind = schemaType;
        break;
      }
    }
  }

  if (kind == null) {
    throw EvaluatorEvaluationSerializationException(
      json.containsKey("evaluationType") ? json["evaluationType"] : "UNKNOWN",
    );
  }
  switch (kind) {
    case DartBlockEvaluationSchemaType.functionDefinition:
      return DartBlockFunctionDefinitionEvaluation.fromJson(json);
    case DartBlockEvaluationSchemaType.functionOutput:
      return DartBlockFunctionOutputEvaluation.fromJson(json);
    case DartBlockEvaluationSchemaType.script:
      return DartBlockScriptEvaluation.fromJson(json);
    case DartBlockEvaluationSchemaType.variableCount:
      return DartBlockVariableCountEvaluation.fromJson(json);
    case DartBlockEvaluationSchemaType.environment:
      return DartBlockEnvironmentEvaluation.fromJson(json);
    case DartBlockEvaluationSchemaType.print:
      return DartBlockPrintEvaluation.fromJson(json);
  }
}