parseWindowsShort static method

ParseResult<ByteConverter> parseWindowsShort(
  1. String input
)

Parse Windows Get-ChildItem short forms (e.g., 1.5KB, 20MB)

Implementation

static ParseResult<ByteConverter> parseWindowsShort(String input) {
  final m = RegExp(r'^\s*([0-9]+(?:\.[0-9]+)?)\s*([KMGT]B)\s*$',
          caseSensitive: true)
      .firstMatch(input.trim());
  if (m == null) {
    return ParseResult.failure(
      originalInput: input,
      error: const ParseError(message: 'Invalid Windows short size'),
    );
  }
  final numStr = m.group(1)!;
  final unit = m.group(2)!;
  final value = '$numStr $unit';
  return parseLocalized(value, standard: ByteStandard.si);
}