annotationscanner 0.0.1 copy "annotationscanner: ^0.0.1" to clipboard
annotationscanner: ^0.0.1 copied to clipboard

Dart 1 only

Scans root library for annotation usages

annotationscanner #

Scans root library for annotation usages.

Usage #

A simple usage example:

import 'package:annotationscanner/annotationscanner.dart';

@MyAnnotationA(1)
void myMethodA() {
  print("myMethodA");
}

@MyAnnotationA(2)
void myMethodB() {
  print("myMethodB");
}

@MyAnnotationA(3)
@MyAnnotationB('one')
void myMethodC() {
  print("myMethodC");
}

@MyAnnotationB('two')
@MyAnnotationB('three')
void myMethodD() {
  print("myMethodD");
}

void myMethodE() {
  print("myMethodE");
}


main() {
  List<AnnotationUsage<MyAnnotationA>> scanA = AnnotationUsage.scanRootLibrary(MyAnnotationA);
  scanA.forEach((usage) {
    print(usage.singleAnnotation.valueA);
    usage.invoke([]);
  });
  List<AnnotationUsage<MyAnnotationB>> scanB = AnnotationUsage.scanRootLibrary(MyAnnotationB);
  scanB.forEach((usage) {
    print(usage.annotations);
    usage.invokeSync([]);
  });
}


class MyAnnotationA {
  final int valueA;

  const MyAnnotationA([this.valueA]);
}

class MyAnnotationB {
  final String valueB;

  const MyAnnotationB([this.valueB]);
}
0
likes
30
pub points
0%
popularity

Publisher

unverified uploader

Scans root library for annotation usages

Repository (GitHub)
View/report issues

License

BSD-3-Clause (LICENSE)

More

Packages that depend on annotationscanner