toJsonValue function

Object? toJsonValue(
  1. Object? value
)

Converts value to plain JSON: nested models become maps, dates ISO text and enums their name.

Implementation

Object? toJsonValue(Object? value) {
  return switch (value) {
    null || bool() || num() || String() => value,
    CorextraJsonModel() => value.toJson(),
    DateTime() => value.toIso8601String(),
    Enum() => value.name,
    Map() => {for (final e in value.entries) '${e.key}': toJsonValue(e.value)},
    Iterable() => [for (final item in value) toJsonValue(item)],
    _ => value,
  };
}