serialize function

dynamic serialize(
  1. dynamic value
)

Basic serialization function. Handles:

Implementation

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