decodeDiagnostics static method

JackfieldDiagnostics decodeDiagnostics(
  1. Object? payload
)

Decodes health without accepting unrecognized fields or negative counts.

Implementation

static JackfieldDiagnostics decodeDiagnostics(Object? payload) {
  final data = _envelope(
    payload,
    {
      'mechanism',
      'permissions',
      'pendingFlutterEvents',
      'pendingHttpEvents',
      'httpPausedForAuthentication',
    },
    {'lastError'},
  );
  final permissions = _stringMap(data['permissions']);
  return JackfieldDiagnostics(
    mechanism: _enum(data['mechanism'], JackfieldMechanism.values),
    permissions: permissions.map((name, value) {
      _validatedId(name);
      return MapEntry(name, _enum(value, JackfieldPermissionState.values));
    }),
    pendingFlutterEvents: _nullableCount(data['pendingFlutterEvents']),
    pendingHttpEvents: _nullableCount(data['pendingHttpEvents']),
    httpPausedForAuthentication: _bool(data['httpPausedForAuthentication']),
    lastError: data['lastError'] == null
        ? null
        : _decodeError(data['lastError']),
  );
}