DartBlockValue<T>.fromJson constructor

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

Implementation

factory DartBlockValue.fromJson(Map<String, dynamic> json) {
  var kind = DartBlockValueType.dynamicValue;
  for (var neoValueType in DartBlockValueType.values) {
    if (json["neoValueType"] == neoValueType.jsonValue) {
      kind = neoValueType;
      break;
    }
  }
  switch (kind) {
    case DartBlockValueType.dynamicValue:
      return DartBlockDynamicValue.fromJson(json) as DartBlockValue<T>;
    case DartBlockValueType.stringValue:
      return DartBlockStringValue.fromJson(json) as DartBlockValue<T>;
    case DartBlockValueType.concatenationValue:
      return DartBlockConcatenationValue.fromJson(json) as DartBlockValue<T>;
    case DartBlockValueType.expressionValue:
      return DartBlockExpressionValue.fromJson(json) as DartBlockValue<T>;
  }
}