generateWithCollisionHandling static method
Generate UIDs with collision resolution
Implementation
static List<FileConfig> generateWithCollisionHandling(
List<({String path, String type})> inputs,
) {
final configs = <FileConfig>[];
final usedUIDs = <String>{};
for (final input in inputs) {
var uid = _generateUID(input.path, input.type);
var counter = 1;
// Handle collisions by appending counter
while (usedUIDs.contains(uid)) {
final baseUID = uid.substring(0, 6);
uid = '${baseUID}${counter.toString().padLeft(2, '0')}';
counter++;
}
usedUIDs.add(uid);
configs.add(FileConfig(input.path, input.type, uid));
}
return configs;
}