build method

  1. @override
FutureOr<void> build(
  1. BuildStep buildStep
)

Generates the outputs for a given BuildStep.

Implementation

@override
FutureOr<void> build(BuildStep buildStep) async {
  final inputId = buildStep.inputId;
  final inputPrefix = '$inputDir/';
  final relativeInputPath =
      inputId.path.startsWith(inputPrefix)
          ? inputId.path.substring(inputPrefix.length)
          : inputId.pathSegments.last;
  final outputId = AssetId(
    inputId.package,
    p.url.join(outputDir, p.url.setExtension(relativeInputPath, '.dart')),
  );

  final fileName = p.url.basenameWithoutExtension(inputId.path);
  final generatedCode = generateFreezedModel(
    fileName,
    await buildStep.readAsString(inputId),
  );
  await buildStep.writeAsString(outputId, generatedCode.code);
}