DatumSyncOperation<T extends DatumEntityBase>.fromMap constructor

DatumSyncOperation<T extends DatumEntityBase>.fromMap(
  1. Map<String, dynamic> map,
  2. T fromJsonT(
    1. Map<String, dynamic> json
    )
)

Creates a DatumSyncOperation from a map.

Requires a fromJsonT function to deserialize the nested entity data.

Implementation

factory DatumSyncOperation.fromMap(
  Map<String, dynamic> map,
  T Function(Map<String, dynamic> json) fromJsonT,
) {
  return DatumSyncOperation<T>(
    id: map['id'] as String,
    userId: map['userId'] as String,
    entityId: map['entityId'] as String,
    type: DatumOperationType.values.byName(map['type'] as String),
    data: map['data'] == null
        ? null
        : fromJsonT(
            Map<String, dynamic>.from(map['data'] as Map),
          ),
    delta: map['delta'] == null
        ? null
        : Map<String, dynamic>.from(
            map['delta'] as Map,
          ),
    timestamp: DateTime.fromMillisecondsSinceEpoch(map['timestamp'] as int),
    retryCount: map['retryCount'] as int? ?? 0,
    sizeInBytes: map['sizeInBytes'] as int? ?? 0,
  );
}