loadStructuredBinaryData<T> method

  1. @override
Future<T> loadStructuredBinaryData<T>(
  1. String key,
  2. FutureOr<T> parser(
    1. ByteData data
    )
)
override

Retrieve ByteData from the asset bundle, parse it with the given function, and return that function's result.

The result is not cached by the default implementation; the parser is run each time the resource is fetched. However, some subclasses may implement caching (notably, subclasses of CachingAssetBundle).

Implementation

@override
Future<T> loadStructuredBinaryData<T>(
  String key,
  FutureOr<T> Function(ByteData data) parser,
) {
  if (_structuredBinary.containsKey(key)) {
    return SynchronousFuture(_structuredBinary[key] as T);
  }
  return load(key)
      .then(parser)
      .then((value) => _structuredBinary[key] = value);
}