deserializePPT method

  1. @override
PPTPayload? deserializePPT(
  1. Uint8List binPayload
)
override

Converts a uint8 data into a PPT Payload Object

Implementation

@override
PPTPayload? deserializePPT(Uint8List binPayload) {
  final binaryPayload = _deserializeSingleBinaryPpt(binPayload);
  if (binaryPayload != null) {
    return binaryPayload;
  }
  List<dynamic>? arguments;
  Map<String, dynamic>? argumentsKeywords;

  final decodedMessage = cbor.decode(binPayload);
  if (decodedMessage is CborMap) {
    if (decodedMessage[CborString('args')] != null &&
        decodedMessage[CborString('args')] is CborList) {
      arguments = _cborListToDart(
        decodedMessage[CborString('args')] as CborList,
      );
    }

    if (decodedMessage[CborString('kwargs')] != null &&
        decodedMessage[CborString('kwargs')] is CborMap) {
      argumentsKeywords = Map.castFrom<Object?, Object?, String, dynamic>(
        _cborValueToDart(decodedMessage[CborString('kwargs')])!
            as Map<Object?, Object?>,
      );
    }

    return PPTPayload(
      arguments: arguments,
      argumentsKeywords: argumentsKeywords,
    );
  }
  return null;
}