DartBlockExpressionValue<T, U extends DartBlockValueTreeNode>.fromJson constructor

DartBlockExpressionValue<T, U extends DartBlockValueTreeNode>.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory DartBlockExpressionValue.fromJson(Map<String, dynamic> json) {
  var kind = DartBlockExpressionValueType.algebraic;
  for (var expressionValueType in DartBlockExpressionValueType.values) {
    if (json["expressionValueType"] == expressionValueType.jsonValue) {
      kind = expressionValueType;
      break;
    }
  }
  switch (kind) {
    case DartBlockExpressionValueType.algebraic:
      return DartBlockAlgebraicExpression.fromJson(json)
          as DartBlockExpressionValue<T, U>;
    case DartBlockExpressionValueType.boolean:
      return DartBlockBooleanExpression.fromJson(json)
          as DartBlockExpressionValue<T, U>;
  }
}