context method

Map<String, Object?> context(
  1. SmartError e
)

提取错误的上下文变量(用于模板插值)

返回的 Map 包含错误特定的字段值,可用于消息模板替换。

Implementation

Map<String, Object?> context(SmartError e) => switch (e) {
      ResponseError(:final statusCode, :final statusMessage) => {
          'statusCode': statusCode,
          'statusMessage': statusMessage,
        },
      TimeoutError(:final phase, :final timeout) => {
          'phase': phase.name,
          'timeout': timeout?.inSeconds,
        },
      BusinessError(:final code, :final serverMessage) => {
          'code': code,
          'serverMessage': serverMessage,
        },
      NetworkError(:final host, :final errorCode) => {
          'host': host,
          'errorCode': errorCode,
        },
      ParseError(:final source, :final expectedType) => {
          'source': source,
          'expectedType': expectedType?.toString(),
        },
      CancelError(:final reason) => {
          'reason': reason,
        },
      CertificateError(:final host) => {
          'host': host,
        },
      UnknownError() => const {},
    };