DartTypeModel.createFrom constructor

DartTypeModel.createFrom(
  1. dynamic data
)

Implementation

factory DartTypeModel.createFrom(dynamic data) {
  if (data == null) {
    return const DartTypeModel.nil();
  }
  var model = DartTypeModel.dynamic(data);
  if (data is String) {
    try {
      final dec = jsonDecode(data);
      if (dec is Map<String, dynamic>) {
        model = DartTypeModel.json(dec);
      } else if (dec is List) {
        model = DartTypeModel.list(dec);
      }
    } catch (e) {
      model = DartTypeModel.string(data);
    }
  } else if (data is Map<String, dynamic>) {
    model = DartTypeModel.json(data);
  } else if (data is List<dynamic>) {
    model = DartTypeModel.list(data);
  } else if (data is num) {
    model = DartTypeModel.num(data);
  } else if (data is bool) {
    model = DartTypeModel.bool(data);
  }
  return model;
}