deserializeListByType<T> method

List<T>? deserializeListByType<T>()

Safely deserializes a list of items to the specified type T.

Returns null if the deserialization fails.

Implementation

List<T>? deserializeListByType<T>() {
  try {
    final List<T> result = <T>[];

    for (final Object? item in this) {
      if (item == null) continue;

      final T? deserializedItem = item.fromSerializable<T>();
      if (deserializedItem != null) {
        result.add(deserializedItem);
      }
    }

    return result;
  } catch (e, s) {
    safeDebugLog('Error deserializing list items: $e', stackTrace: s);
    return null;
  }
}