getExtensionTypes static method

List<ExtensionType> getExtensionTypes(
  1. List<int> tlvData
)

Implementation

static List<ExtensionType> getExtensionTypes(List<int> tlvData) {
  List<int> extensionTypes = [];
  int extensionTypeIndex = 0;

  while (extensionTypeIndex < tlvData.length) {
    int entryType = IntUtils.fromBytes(
        tlvData.sublist(extensionTypeIndex, extensionTypeIndex + typeSize),
        byteOrder: Endian.little);
    extensionTypes.add(entryType);
    int entryLength = IntUtils.fromBytes(
        tlvData.sublist(extensionTypeIndex + typeSize,
            extensionTypeIndex + typeSize + lengthSize),
        byteOrder: Endian.little);
    extensionTypeIndex += entryLength + typeSize + lengthSize;
  }

  return extensionTypes.map((e) => ExtensionType.fromValue(e)).toList();
}