export function summarize()

in src/components/Firestore/utils.ts [146:181]


export function summarize(data: FirestoreAny, maxLen: number): string {
  switch (getFieldType(data)) {
    case FieldType.ARRAY:
      return summarizeArray(data as FirestoreAny[], maxLen, summarize);
    case FieldType.MAP:
      return summarizeMap(
        data as Record<string, FirestoreAny>,
        maxLen,
        summarize
      );
    case FieldType.BLOB:
      const base64 = (data as firebase.firestore.Blob).toBase64();
      if (base64.length < maxLen) return base64;
      else return base64.substr(0, maxLen) + '...';
    case FieldType.BOOLEAN:
      return (data as boolean).toString();
    case FieldType.GEOPOINT:
      const value = data as firebase.firestore.GeoPoint;
      return summarizeLatLng(value.latitude, value.longitude);
    case FieldType.NULL:
      return 'null';
    case FieldType.NUMBER:
      return (data as number).toString();
    case FieldType.REFERENCE:
      return (data as firebase.firestore.DocumentReference).path;
    case FieldType.STRING:
      return `"${data as string}"`;
    case FieldType.TIMESTAMP:
      return summarizeDate(
        (data as firebase.firestore.Timestamp).toDate(),
        maxLen
      );
    case FieldType.JSON:
      throw new Error('JSON field type is input only');
  }
}