unpack function
dynamic
unpack(
[ - dynamic passedValue,
- String? key,
- TTNode? node
])
Implementation
dynamic unpack([dynamic passedValue, String? key, TTNode? node]) {
var value = passedValue;
if (value == null) {
return;
}
if (value.runtimeType == {}.runtimeType && value.containsKey(':')) {
final val = value[':'];
if (val != null) {
return val;
}
}
if (value.runtimeType == {}.runtimeType && value.containsKey('m')) {
final val = value['m'];
if (val != null) {
value = int.parse(val);
}
}
if (key == null || value == null) {
return;
}
if (value == node![key]) {
return value;
}
if (!check(node[key])) {
return value;
}
final soul = node.nodeMetaData?.key;
final state = node.nodeMetaData != null
? node.nodeMetaData!.forward != null
? node.nodeMetaData!.forward![key]
: null
: null;
if (value is List &&
value.length == 4 &&
value[0] == soul &&
value[1] == key &&
state?.floor() == value[3].floor()) {
return value[2];
}
if (state! < shuffleAttackCutoff) {
return value;
}
}