deserializeValue method

dynamic deserializeValue(
  1. dynamic value,
  2. ColumnType type
)

Deserialize a database value to Dart type.

Implementation

dynamic deserializeValue(dynamic value, ColumnType type) {
  if (value == null) return null;

  switch (type) {
    case ColumnType.dateTime:
      if (value is String) {
        return DateTime.parse(value);
      }
      return value;

    case ColumnType.date:
      if (value is String) {
        return DateTime.parse(value);
      }
      return value;

    case ColumnType.json:
      // JSON values are typically returned as strings that need parsing
      // or as already-parsed objects depending on the driver
      return value;

    case ColumnType.boolean:
      if (value is int) {
        return value != 0;
      }
      return value;

    default:
      return value;
  }
}