Stream _getLines()

in dartfn/tool/builder/src/code_generator.dart [70:87]


Stream<String> _getLines(List<AssetId> ids, AssetReader reader) async* {
  for (var id in ids) {
    yield p.url.joinAll(id.pathSegments.skip(2));
    yield _binaryFileTypes.hasMatch(p.basename(id.path)) ? 'binary' : 'text';

    if (id.pathSegments.last == 'analysis_options.yaml') {
      var content = await reader.readAsString(id);
      if (content.contains(_lintFix)) {
        content = content.replaceAll(_lintFix, '');
        yield _base64encode(utf8.encode(content));
      } else {
        throw StateError('Expected `${id.path}` to contain:\n$_lintFix');
      }
    } else {
      yield _base64encode(await reader.readAsBytes(id));
    }
  }
}