render method

  1. @override
Future<RenderResult> render({
  1. required String brickPath,
  2. required Map<String, dynamic> vars,
  3. required String targetDir,
})
override

Implementation

@override
Future<RenderResult> render({
  required String brickPath,
  required Map<String, dynamic> vars,
  required String targetDir,
}) async {
  final generator = await MasonGenerator.fromBrick(Brick.path(brickPath));
  final target = Directory(targetDir).absolute;

  // FR-041/FR-044: generate files only; Mason hooks are deliberately never run.
  final files = await generator.generate(
    DirectoryGeneratorTarget(target),
    vars: vars,
  );

  return RenderResult([
    for (final file in files)
      File(file.path).absolute.path
          .substring(target.path.length + 1)
          .replaceAll(Platform.pathSeparator, '/'),
  ]);
}