loadSpecDefinitions function

Future<List<SpecDefinitionContext>> loadSpecDefinitions(
  1. BuildStep buildStep
)

Implementation

Future<List<SpecDefinitionContext>> loadSpecDefinitions(
  BuildStep buildStep,
) async {
  final annotatedClasses =
      await getAnnotatedClasses(buildStep, _specDefinitionTypeChecker);

  final contexts = <SpecDefinitionContext>[];

  for (final classElement in annotatedClasses) {
    final options = SpecDefinitionOptions.fromClassElement(classElement);
    if (options == null) {
      throw InvalidGenerationSourceError(
        'Spec definition must be annotated with @SpecDefinition()',
        element: classElement,
      );
    }

    contexts.add(
      SpecDefinitionContext._(buildStep: buildStep, options: options),
    );
  }

  return contexts;
}