generate method
Generates necessary code for a SteamConst
Implementation
void generate({
required IOSink fileSink,
}) {
String correctedName = name.clearSteamNaming().afterFirstCapital();
String correctedType = type.toToken().typeDart;
String correctedValue = value.replaceAll("ull", "");
correctedValue = correctedValue.replaceAll(" (uint32) ", "");
correctedValue = correctedValue.replaceAll(
"( ( uint32 ) 'd' << 16U ) | ( ( uint32 ) 'e' << 8U ) | ( uint32 ) 'v'",
"6579574",
);
correctedValue = correctedValue.replaceAll(
"600.f",
"600.0",
);
correctedValue =
correctedValue.replaceAll("( SteamItemInstanceID_t ) ~ 0", "~0");
correctedValue = correctedValue.clearSteamNaming();
if (int.tryParse(correctedValue[0]) == null) {
correctedValue = correctedValue.splitMapJoin(
"|",
onMatch: (m) => m[0].toString(),
onNonMatch: (nm) => nm.trim().afterFirstCapital().snakeCase,
);
}
fileSink.writeConst(
type: correctedType,
name: correctedName.camelCase,
value: correctedValue.camelCase,
);
}