solve method

  1. @override
Future<String> solve(
  1. String playerUrl,
  2. JSChallengeType type,
  3. String challenge
)
override

Solves a single JavaScript challenge of the specified type. Returns the solved challenge as a string.

See solveBulk for bulk solving.

Implementation

@override
Future<String> solve(
    String playerUrl, JSChallengeType type, String challenge) async {
  final key = (playerUrl, challenge, type);
  if (_sigCache.containsKey(key)) {
    return _sigCache[key]!;
  }

  final results = await solveBulk(playerUrl, {
    type: [challenge]
  });
  final decoded = results[challenge];
  if (decoded == null) {
    throw Exception('No data for challenge: $challenge');
  }
  return decoded;
}