getPayload method

Payload? getPayload(
  1. Map? result
)

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;
}