parseJsonString function

FutureOr<Either<Map?, List?>?> parseJsonString(
  1. String jsonString
)

Implementation

FutureOr<Either<Map?, List?>?> parseJsonString(String jsonString) async {
  if (jsonString.isEmpty) {
    return null;
  }

  var parsed = await jsonDecode(jsonString);

  if (parsed is Map) {
    return Either.left(parsed);
  } else if (parsed is List) {
    return Either.right(parsed);
  } else {
    logger.severe('Returned JSON value is not a valid Map or List: $parsed');
    return null;
  }
}