safeFromJson<T> static method

T safeFromJson<T>(
  1. Map<String, dynamic> json,
  2. T factory(
    1. Map<String, dynamic>
    ),
  3. T fallback()
)

Factory method defensivo que aplica try-catch y logging

Implementation

static T safeFromJson<T>(
  Map<String, dynamic> json,
  T Function(Map<String, dynamic>) factory,
  T Function() fallback,
) {
  try {
    return factory(json);
  } catch (e, stackTrace) {
    // Reintroducido stackTrace
    // Log del error sin romper la aplicación (principio defensivo)
    // ignore: undefined_named_parameter
    ObslyLogger.error('[OBSLY] JSON parsing error for ${T.toString()}: $e', e,
        stackTrace); // Incluyo stackTrace en el log
    return fallback();
  }
}