handleScales method
Implementation
List<double> handleScales(String format, String scales) {
// 'scale' is a comma-separated string
final scalesList = scales.split(',').map((e) {
final parsedValue = double.tryParse(e.toString().trim());
if (parsedValue == null) {
throw ArgumentError('Invalid scale value "$e". Must be a number.');
}
if (parsedValue < 0.01 || parsedValue > 4.0) {
throw ArgumentError('Scale value must be between 0.01 and 4.0.');
} else {
return parsedValue;
}
}).toList();
// If format is SVG, enforce scale = 1.0
if (format == 'svg') {
if (scalesList.length != 1 ||
(scalesList.length == 1 && scalesList.first != 1.0)) {
logger.log(
'\n❗ Warning: The "scale" argument is ignored for SVG format. Using scale = 1.0.');
}
return [1.0]; // Override with 1.0
} else {
return scalesList;
}
}