replaceStyleStringWithSize function

String replaceStyleStringWithSize(
  1. String s, {
  2. required double width,
  3. required double height,
  4. required bool isMobile,
})

Implementation

String replaceStyleStringWithSize(
  String s, {
  required double width,
  required double height,
  required bool isMobile,
}) {
  final result = <String, String>{};
  final pairs = s.split(';');
  for (final pair in pairs) {
    final _index = pair.indexOf(':');
    if (_index < 0) {
      continue;
    }
    final _key = pair.substring(0, _index).trim();
    result[_key] = pair.substring(_index + 1).trim();
  }

  if (isMobile) {
    result[Attribute.mobileWidth] = width.toString();
    result[Attribute.mobileHeight] = height.toString();
  } else {
    result[Attribute.width.key] = width.toString();
    result[Attribute.height.key] = height.toString();
  }
  final sb = StringBuffer();
  for (final pair in result.entries) {
    sb
      ..write(pair.key)
      ..write(': ')
      ..write(pair.value)
      ..write('; ');
  }
  return sb.toString();
}