ChatCursorResult<T>.fromJson  constructor 
Implementation
factory ChatCursorResult.fromJson(Map<String, dynamic> map,
    {dataItemCallback = CursorResultCallback}) {
  List<T> list = [];
  (map['list'] as List)
      .forEach((element) => list.add(dataItemCallback(element)));
  ChatCursorResult<T> result =
      ChatCursorResult<T>._private(map['cursor'], list);
  return result;
}