resolveBodyImports method
Scans all files under lib/
to collect model classes
(classes extending Model<T>
) for request body parsing.
Implementation
Future<void> resolveBodyImports(BuildStep buildStep) async {
final inputAssets = await buildStep
.findAssets(Glob('lib/**.dart'))
.toList();
for (final asset in inputAssets) {
final library = await buildStep.resolver.libraryFor(asset);
final reader = LibraryReader(library);
final models = reader.classes.where(
(element) =>
element.supertype != null &&
element.supertype!.getDisplayString().startsWith('Model<'),
);
for (final model in models) {
importsPaths[model.name!] = model.library.uri.path;
}
}
}