SnapshotDecoder constructor Null safety


Create a new, unsealed SnapshotDecoder containing the default converters

Additional converters can be registered with SnapshotDecoder.register and SnapshotDecoder.registerWithFormat. Before being able to use this SnapshotDecoder, you'll need to seal it by calling SnapshotDecoder.seal.


SnapshotDecoder() {
  register<String, DateTime>((v) => DateTime.parse(v));
  register<num, DateTime>(
      (v) => DateTime.fromMicrosecondsSinceEpoch((v * 1000).toInt()),
      format: 'epoch');
  register<String, Uri>((v) => Uri.parse(v));
  register<String, int>(
      (v, {String? format}) =>
          int.parse(v, radix: int.parse(format!.substring('radix:'.length))),
      format: RegExp(r'radix:(\d+)'));
  register<String, int>((v) => int.parse(v), format: 'string');
  register<String, double>((v) => double.parse(v), format: 'string');
  register<String, num>((v) => num.parse(v), format: 'string');
  register<String, DateTime>((v, {String? format}) {
    var f = DateFormat(format!);
    return f.parse(v);
  }, format: RegExp('.*'));