tryDecode static method
Implementation
static WalRecord? tryDecode(String line) {
try {
final outer = jsonDecode(line) as Map<String, dynamic>;
final body = outer['body'] as String;
final crc = outer['crc'] as int;
if (_Crc32.compute(body) != crc) return null;
final m = jsonDecode(body) as Map<String, dynamic>;
return WalRecord(
lsn: m['lsn'] as int,
txnId: m['txnId'] as int? ?? 0,
op: WalOp.values.firstWhere((e) => e.name == m['op']),
table: m['table'] as String,
payload: Map<String, dynamic>.from(m['payload'] as Map),
checksum: crc,
);
} catch (_) {
return null;
}
}