decode<T extends CborObject<Object?> > static method
T
decode<T extends CborObject<Object?> >({
- List<
int> ? cborBytes, - CborObject<
Object?> ? cborObject, - String? cborHex,
Decode raw CBOR data and return it as T.
Accepts:
cborBytes: CBOR bytescborObject: existing CBOR objectcborHex: CBOR data encoded as hex string
Implementation
static T decode<T extends CborObject>({
List<int>? cborBytes,
CborObject? cborObject,
String? cborHex,
}) {
assert(
cborBytes != null || cborObject != null || cborHex != null,
"Either cborBytes, cborHex or cborObject must be provided",
);
if (cborObject == null) {
cborBytes ??= BytesUtils.tryFromHexString(cborHex);
if (cborBytes == null) {
throw CborSerializableException.missingArguments;
}
try {
cborObject = CborObject.fromCbor(cborBytes);
} catch (_) {
throw CborSerializableException.invalidCborEncodingBytes;
}
}
if (cborObject is! T) {
throw CborSerializableException.castingFailed<T>(cborObject);
}
return cborObject;
}