generateFile method
Generates necessary file and code for a SteamStruct
Implementation
Future<void> generateFile({
required String path,
required String target,
required IOSink exportSink,
Set<String> enumSet = const {},
Set<String> structSet = const {},
Set<String> callbackStructSet = const {},
}) async {
await enums.generateFile(
path: path,
exportSink: exportSink,
);
String filePath;
String fileName = name.toFileName();
if (callbackId != -1) {
filePath = p.join(path, "callback_structs", "$fileName.dart");
exportSink.writeExport(
path: "callback_structs/$fileName.dart",
);
} else {
filePath = p.join(path, "structs", "$fileName.dart");
exportSink.writeExport(
path: "structs/$fileName.dart",
);
}
File file = File(filePath);
await file.create(recursive: true);
IOSink fileSink = file.openWrite(mode: FileMode.writeOnly);
generate(
fileSink: fileSink,
target: target,
enumSet: enumSet,
structSet: structSet,
callbackStructSet: callbackStructSet,
);
await fileSink.flush();
await fileSink.close();
}