getMap<K, V> method

Map<K, V> getMap<K, V>(
  1. int tagId, {
  2. bool allowNull = true,
})

Implementation

Map<K, V> getMap<K, V>(int tagId, {bool allowNull = true}) {
  final result = where((element) => element.tagNumber == tagId);
  if (result.isEmpty && !allowNull) {
    throw TronPluginException('field id does not exist.', details: {
      'fieldIds': map((e) => e.tagNumber).join(', '),
      'id': tagId
    });
  }
  final Map<K, V> data = {};
  for (final i in result) {
    final decode = ProtocolBufferDecoder.decode(i.value);
    data.addAll({decode.getField<K>(1): decode.getField<V>(2)});
  }
  return data;
}