forPayload static method

QrSizing forPayload({
  1. required String payload,
  2. required int paperWidthDots,
  3. QrModuleSize moduleSize = QrModuleSize.auto,
})

Wie compute, nur mit der Modulanzahl aus payload.

Eine leere Nutzlast ergibt kein Symbol — sie "passt nicht", statt zu werfen: der Aufrufer behandelt den Fall ohnehin schon (leerer QR am Beleg ist ein Datenfehler, kein Papierfehler).

Implementation

static QrSizing forPayload({
  required String payload,
  required int paperWidthDots,
  QrModuleSize moduleSize = QrModuleSize.auto,
}) {
  if (payload.isEmpty) return const QrSizing._(null, 0, 0, false);
  return compute(
    paperWidthDots: paperWidthDots,
    moduleCount: moduleCount(payload),
    moduleSize: moduleSize,
  );
}