Как проверить тип отметки времени сервера Firestore в ClojureScript? - PullRequest
0 голосов
/ 29 апреля 2020

Когда я выбираю документ из Firestore с отметкой времени, отметка времени сериализуется как [Object], поэтому мне нужно преобразовать значения этих полей в моменты времени и даты. Для этого мне нужно иметь возможность просматривать данные документа и преобразовывать временные метки.

Как проверить, соответствует ли тип этих полей типу временной метки Firestore, не зная заранее, какие имена полей будут

1 Ответ

0 голосов
/ 29 апреля 2020

Решено:

(ns some.namespace
  (:require ["@google-cloud/firestore" :as firestore]
            [clojure.walk :as walk]))

(def Timestamp (.-Timestamp firestore))

(defn fire->date [fire-date]
  (.toDate fire-date))

(defn fire->clj [doc]
  (walk/postwalk
    (fn [x]
      (cond
        (= (type x) Timestamp) (fire->date x)
        :default x))
    doc))
...