decodeRawNdefMessage function

List<NDEFRecord> decodeRawNdefMessage(
  1. Uint8List data, {
  2. dynamic typeFactory = NDEFRecord.defaultTypeFactory,
})

Decode raw NDEF messages (containing at least one NDEFRecord) from byte array

Implementation

List<NDEFRecord> decodeRawNdefMessage(Uint8List data,
    {var typeFactory = NDEFRecord.defaultTypeFactory}) {
  var records = <NDEFRecord>[];
  var stream = ByteStream(data);
  while (!stream.isEnd()) {
    var record = NDEFRecord.decodeStream(stream, typeFactory);
    if (records.isEmpty) {
      assert(record.flags.MB == true, "MB flag is not set in first record");
    } else {
      assert(record.flags.MB == false, "MB flag is set in middle record");
    }
    records.add(record);
  }
  assert(records.last.flags.ME == true, "ME flag is not set in last record");
  assert(records.last.flags.CF == false, "CF flag is set in last record");
  return records;
}