decode method
Implementation
@override
Map<String, int> decode(Input input) {
final mortalLen = input.read();
if (mortalLen == 0) {
//
// Immortal
return <String, int>{};
}
//
// Mortal
final int encoded = mortalLen + (input.read() << 8);
final int period = 2 << (encoded % (1 << 4));
final int phase = ((encoded >> 4) * max(period >> 12, 1)) as int;
return <String, int>{
'period': period,
'phase': phase,
};
}