in dartfn/tool/builder/src/code_generator.dart [33:67]
FutureOr<String?> generate(LibraryReader library, BuildStep buildStep) async {
if (!p.isWithin('lib/src/generators', buildStep.inputId.path)) {
return null;
}
final name =
p.basenameWithoutExtension(buildStep.inputId.path).replaceAll('_', '-');
final filteredAssets =
await buildStep.findAssets(Glob('templates/$name/**')).where(
(asset) {
final rootSegment = asset.pathSegments[2];
if (_excludedRootFiles.contains(rootSegment)) {
return false;
}
if (_allowedDotFiles.contains(rootSegment)) {
return true;
}
return !rootSegment.startsWith('.');
},
).toList()
..sort();
final items = await _getLines(filteredAssets, buildStep).map((item) {
if (item.contains('\n')) {
return "'''\n$item'''";
}
return "'$item'";
}).join(',');
return 'const _data = <String>[$items];';
}