setValue<T> method Null safety

T? setValue<T>(
  1. T v
)

Implementation

T? setValue<T>(T v) {
  if (v == null) {
    return null;
  }
  switch (field_2) {
    case SchemaKind.BOOL:
      if (v is bool) {
        boolValue.value = v;
        return v;
      }
      break;
    case SchemaKind.INT:
      if (v is int) {
        intValue.value = v;
        return v;
      }
      break;
    case SchemaKind.FLOAT:
      if (v is double) {
        floatValue.value = v;
        return v;
      }
      break;

    case SchemaKind.STRING:
      if (v is String) {
        stringValue.value = v;
        return v;
      }
      break;

    case SchemaKind.BYTES:
      if (v is Uint8List) {
        bytesValue.value = v;
        return v;
      }
      break;

    case SchemaKind.LIST:
      if (v is List<SchemaDocumentValue>) {
        arrayValue.value.clear();
        arrayValue.value.addAll(v);
        return v;
      }
      break;
    case SchemaKind.LINK:
      if (v is String) {
        linkValue.value = v;
        return v;
      }
      break;
    default:
      break;
  }
  return null;
}