matchable_builder 0.6.0+1 copy "matchable_builder: ^0.6.0+1" to clipboard
matchable_builder: ^0.6.0+1 copied to clipboard

discontinued
outdated

Matchable builder provides a easier way to find files that you want generate code from.

Matchable Builder #

Matchable builder provides a easier way to find files that you want generate code from.

Usage #

Builder demoBuilder(BuilderOptions ops) => DemoBuilder();

class DemoBuilder extends MatchableBuilder {
  @override
  Matcher get buildStepMatcher => Matcher.and([
        FilenameExtensionMatcher('.dart'),
      ]);

  @override
  Matcher get elementMatcher => Matcher.and([
        ElementTypeMatcher<ClassElement>(),
        ElementAnnotationMatcher<Deprecated>(),
        ElementNamePrefixMatcher('a'),
      ]);

  @override
  Map<String, List<String>> get buildExtensions => {
        '.dart': ['.demo.dart'],
      };

  @override
  FutureOr<void> generate(List<Element> elements, BuildStep buildStep) {
    print('${buildStep.inputId.path} | ${elements}');
    return null;
  }
}
0
likes
0
pub points
0%
popularity

Publisher

unverified uploader

Matchable builder provides a easier way to find files that you want generate code from.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

analyzer, build, glob, meta, source_gen

More

Packages that depend on matchable_builder