joinStructuredAppend static method
Splits a multi-part QR payload set (structured append) back into one string once every part has been scanned; returns null while parts are missing.
Implementation
static String? joinStructuredAppend(Iterable<UCode> codes) {
final Map<int, UCode> parts = <int, UCode>{};
int? total;
for (final UCode code in codes) {
final UCodeStructuredAppend? append = code.structuredAppend;
if (append == null) return null;
total ??= append.total;
parts[append.index] = code;
}
if (total == null || parts.length != total) return null;
final StringBuffer buffer = StringBuffer();
for (int i = 0; i < total; i++) {
final UCode? part = parts[i];
if (part == null) return null;
buffer.write(part.text);
}
return buffer.toString();
}