#javascript #typescript #firebase #google-cloud-firestore
#javascript #typescript #firebase #google-облако-firestore
Вопрос:
Я работаю над функцией проверки.
Есть ли способ проверить, является ли объект firestore.Timestamp
?
Я использую firebase
JS SDK, а также использую Typescript.
import * as firebase from "firebase/app";
const blogPost = {
title: "",
createdAt: firebase.firestore.Timestamp.now()
}
function validateBlogPostCreationDate(blogPost) {
// SOMETHING LIKE THIS:
return blogPost.createdAt is a Timestamp ?
true : false;
}
Комментарии:
1. Какой код вы пишете? Правила безопасности или что-то еще? Пожалуйста, разверните пример кода и описание, чтобы было более понятно.
2. @DougStevenson Это не для правил безопасности. Это форма администратора для добавления / редактирования сообщений в блоге на веб-сайте. И
blogPost.createdAt
должно бытьTimestamp
. Поскольку я полностью проверяю свойства наblogPost
, я хотел бы также проверить это. Когда администратор нажмет наSave
, я выполню эту проверку на клиенте, прежде чем сохранить ее в Firestore.3. Итак, что это за язык? Пожалуйста, разверните свой код, чтобы показать, как создается временная метка и как она должна проходить через этот код. И отладочный вывод также был бы полезен.
4. @DougStevenson Извините за недостающие фрагменты. Я добавил больше деталей к вопросу.
5. Мне не понятно, почему клиенты Firebase для JS не преобразуют временные метки в собственные
Date
. Они преобразуютсяDate
при записи в; было бы несложно сделать то же самое при чтении.
Ответ №1:
В JavaScript и TypeScript есть оператор instanceof, который проверяет тип объекта на соответствие прототипу.
return blogPost.createdAt instanceof firebase.firestore.Timestamp