decode<K, V> static method

Map<K, Record<V>> decode<K, V>(
  1. String json,
  2. Hlc canonicalTime, {
  3. KeyDecoder<K>? keyDecoder,
  4. ValueDecoder<V>? valueDecoder,
  5. NodeIdDecoder? nodeIdDecoder,
})

Implementation

static Map<K, Record<V>> decode<K, V>(String json, Hlc canonicalTime,
    {KeyDecoder<K>? keyDecoder,
    ValueDecoder<V>? valueDecoder,
    NodeIdDecoder? nodeIdDecoder}) {
  final now = Hlc.now(canonicalTime.nodeId);
  final modified = canonicalTime >= now ? canonicalTime : now;
  return (jsonDecode(json) as Map<String, dynamic>).map(
    (key, value) => MapEntry(
      keyDecoder == null ? key as K : keyDecoder(key),
      Record.fromJson(
        key,
        value,
        modified,
        valueDecoder: valueDecoder,
        nodeIdDecoder: nodeIdDecoder,
      ),
    ),
  );
}