serializeDynamicValue method

dynamic serializeDynamicValue(
  1. dynamic value
)

check the type of value and invoke corresponding serialize method

Implementation

dynamic serializeDynamicValue(dynamic value) {
  // DateTime is deprecated and will be removed in the next major version
  if (value is DateTime) {
    if (zDebugMode) {
      safePrint(
        'WARNING: Using DateTime types in a QueryPredicate is deprecated. '
        'Use a Temporal Date/Time Type instead.',
      );
    }
    return value.toDateTimeIso8601String();
  } else if (value is TemporalDate) {
    return value.format();
  } else if (value is TemporalDateTime) {
    return value.format();
  } else if (value is TemporalTime) {
    return value.format();
  } else if (value is TemporalTimestamp) {
    return value.toSeconds();
  } else if (value is Enum) {
    return enumToString(value);
  } else if (value is ModelIdentifier) {
    return value.serializeAsList();
  }

  // TODO(HuiSF): sanitize other types appropriately
  return value;
}