generateFile method

Future<void> generateFile({
  1. required String path,
  2. required IOSink exportSink,
})

Generates respective code for each SteamConst

Implementation

Future<void> generateFile({
  required String path,
  required IOSink exportSink,
}) async {
  String filePath = p.join(path, "steam_constants.dart");

  exportSink.writeExport(
    path: "steam_constants.dart",
  );

  File file = File(filePath);
  await file.create(recursive: true);

  IOSink fileSink = file.openWrite(mode: FileMode.writeOnly);

  fileSink.writeln(
    "// ignore_for_file: public_member_api_docs, always_specify_types, avoid_positional_boolean_parameters, avoid_classes_with_only_static_members",
  );
  fileSink.writeImport(
    packageName: "typedefs.dart",
  );

  fileSink.writeClass(
    className: "SteamConstants",
  );

  fileSink.writeStartBlock();

  for (SteamConst steamConst in this) {
    steamConst.generate(
      fileSink: fileSink,
    );
  }

  fileSink.writeEndBlock();

  await fileSink.flush();
  await fileSink.close();
}