fetchAllTokens method

  1. @override
Future<Map<ResourceKey, Result<ResourceToken>>> fetchAllTokens(
  1. Iterable<ResourceKey> keys
)
override

Eager all-token batch: dedups keys by full ResourceKey, starts acquisition for EVERY key before awaiting any, and returns a total map with exactly one terminal entry per requested key. Lazy first-call acquisition is not permitted.

Implementation

@override
Future<Map<ResourceKey, Result<ResourceToken>>> fetchAllTokens(
  Iterable<ResourceKey> keys,
) async {
  fetchAllCount += 1;
  final Map<ResourceKey, Result<ResourceToken>> snapshot = _current;
  if (_cursor < batches.length - 1) {
    _cursor += 1;
  }
  return <ResourceKey, Result<ResourceToken>>{
    for (final ResourceKey key in keys)
      key: snapshot[key] ?? await tokenFor(key),
  };
}