serializeValue function

dynamic serializeValue(
  1. dynamic value
)

Basic serialization function. Handles:

Implementation

dynamic serializeValue(dynamic value) => switch (value) {
      null => null,
      int() || double() || String() || bool() => value,
      List() => value.map(serializeValue).toList(),
      Map() => value.map((k, v) => MapEntry(k.toString(), serializeValue(v))),
      CrystallisMixin() => value.serialize(),
      _ => throw ArgumentError.value(
          value,
          'value',
          'Cannot serialize value of type ${value.runtimeType}',
        ),
    };