Firebase: попытка вернуть временную метку сервера приводит к ошибке пространства имен

Не уверен, что я делаю неправильно. Ошибка указывает на возвращаемый тип. Я стараюсь быть осторожным с добавлением слишком большого количества пространств имен, потому что я не хочу замедлять холодный запуск своих функций, но, очевидно, я упускаю здесь что-то важное...

import * as functions from "firebase-functions";
import * as admin from "firebase-admin";
admin.initializeApp();
const fs = admin.firestore();

/**
 * Returns the server timestamp from Firestore.
 *
 * @returns {Timestamp} The server timestamp.
 */
export function getServerTimestamp(): firebase.firestore.Timestamp {
  // return firebase.firestore.FieldValue.serverTimestamp();
  return FirebaseFirestore.FieldValue.serverTimestamp();
}

Полезен ли мой опубликованный ответ для вас, если вы не признаете его, чтобы мы могли погрузиться дальше.

Rohit Kharche 06.04.2023 12:39
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Мне нравится библиотека Mantine Component , но заставить ее работать без проблем с Remix бывает непросто.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
TypeScript против JavaScript
TypeScript против JavaScript
TypeScript vs JavaScript - в чем различия и какой из них выбрать?
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Не все нужно хранить на стороне сервера. Иногда все, что вам нужно, это постоянное хранилище на стороне клиента для хранения уникальных для клиента...
Что такое ленивая загрузка в Angular и как ее применять
Что такое ленивая загрузка в Angular и как ее применять
Ленивая загрузка - это техника, используемая в Angular для повышения производительности приложения путем загрузки модулей только тогда, когда они...
0
1
64
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать admin.firestore.Timestamp или Timestamp из

import {Timestamp} from "firebase-admin/firestore";

чтобы ввести тип возвращаемого значения вашей функции и вернуть временную метку сервера Firestore, вы можете использовать любой из следующих фрагментов:

import * as admin from "firebase-admin";
admin.initializeApp();
/**
 * Returns the server timestamp from Firestore.
 * @return {Timestamp} The server timestamp.
 */
export function getServerTimestamp(): admin.firestore.Timestamp {
  // return firebase.firestore.FieldValue.serverTimestamp();
  return admin.firestore.Timestamp.now();
}

ИЛИ

import * as admin from "firebase-admin";
import {Timestamp} from "firebase-admin/firestore";  
admin.initializeApp();
/**
 * Returns the server timestamp from Firestore.
 * @return {Timestamp} The server timestamp.
 */
export function getServerTimestamp(): Timestamp {
  // return firebase.firestore.FieldValue.serverTimestamp();
  return admin.firestore.Timestamp.now();
}

Ссылка: Временная метка

Другие вопросы по теме