getPayload method
Implementation
Payload? getPayload(Map? result) {
if ((result == null) || (result.isEmpty)) return null;
Payload payload = Payload();
// barcode
String barcode =
(result.containsKey("barcode") ? toStr(result["barcode"]) : null) ?? "";
// barcode format
String? format =
(result.containsKey("format") ? toStr(result["format"]) : null)
?.trim()
.toLowerCase()
.replaceAll("label-type-", "");
// source
String? source =
result.containsKey("source") ? toStr(result["source"]) : "";
// get barcode(s) - RFID concatenates barcodes together and seperates by a newline
var barcodes = LineSplitter.split(barcode);
for (var barcode in barcodes) {
barcode = barcode.trim();
if (!isNullOrEmpty(barcode)) {
Barcode bc = Barcode();
bc.type = 0;
bc.source = source;
bc.format = fromEnum(
toEnum(format, BarcodeFormats.values) ?? BarcodeFormats.unknown);
bc.display = barcode;
bc.barcode = barcode;
payload.barcodes.add(bc);
}
}
return payload;
}