length method

  1. @override
Future<ResourceTry<int>> length()
override

Returns data length from metadata if available, or calculated from reading the bytes otherwise.

This value must be treated as a hint, as it might not reflect the actual bytes length. To get the real length, you need to read the whole resource.

Implementation

@override
Future<ResourceTry<int>> length() async {
  if (_length == null) {
    if (_bytes != null) {
      _length = _bytes!.map((it) => it.lengthInBytes);
    } else {
      _length = await resource.length();
    }
  }
  return _length!;
}