Cómo acceder a firestre.Timestamp desde Firebase Cloud Function

Estamos en medio de convertir nuestro objeto Firestre Date a los nuevos objetos Timestamp

Lo hemos hecho con éxito en la parte delantera importando firestre

import { firestre } from 'firebase'; 

y luego reemplazando todos los tipos de objetos Date con firestre.Timestamp

  startDate: firestre.Timestamp; 

El problema es que parece que no puedo encontrar una manera de obtener acceso a la marca de tiempo en el nodo.

He intentado registrar tanto el objeto admin como el objeto de funciones, pero parece que no puedo encontrar la marca de tiempo en absoluto

 import * as functions from 'firebase-functions'; import * as admin from 'firebase-admin'; ... console.log(functions) console.log(admin) 

Esto es lo que he intentado y todos han regresado con ‘La marca de tiempo no existe en indefinido’

 import * as firebase from 'firebase'; ... firebase.firestre.Timestamp.now() 

 const firebase = require('firebase') ... firebase.firestre.Timestamp.now() 

 import * as admin from 'firebase-admin'; ... admin.firestre.Timestamp.now() 

Aquí están mis dependencias de package.json

 "dependencies": { "@sendgrid/mail": "^6.2.1", "@types/node-fetch": "^1.6.8", "chai": "^4.1.2", "chai-as-promised": "^7.1.1", "cors": "^2.8.4", "encodeurl": "^1.0.2", "fetch": "^1.1.0", "firebase": "^4.13.0", "firebase-admin": "^5.12.0", "firebase-functions": "^1.0.1", "generator-karma": "^2.0.0", "google-distance": "^1.0.1", "mailgun-js": "^0.13.1", "moment": "^2.22.1", "node-fetch": "^2.1.2", "request": "^2.85.0", "sinon": "^4.0.1", "typescript": "^2.8.3" }, "private": true, "devDependencies": { "@angular/cli": "^1.7.4", "@types/cors": "^2.8.3", "@types/jasmine": "^2.6.6", "ts-loader": "^3.5.0", "webpack-node-externals": "^1.7.2" } 

En este preciso momento, Timestamp simplemente no está disponible en la última versión del módulo @google-cloud/firestre firestre npm para node. También puedes ver que no está incluido en los documentos API . Quizás se agregará en la próxima versión de @google-cloud/firestre .

Encontré el mismo problema y, por lo tanto, creé un módulo de nodo básico para las marcas de tiempo de Firebase Firestre aquí https://www.npmjs.com/package/firebase-firestre-timestamp

Puerto de código básico de https://www.gstatic.com/firebasejs/4.13.0/firebase-firestre.js

Con el lanzamiento de V2.0 de Firebase Functions parece que han agregado soporte de marca de tiempo en el paquete Firebase Admin SDK.

Echa un vistazo a los documentos oficiales aquí .

 import { firestre } from 'firebase-admin'; ... const now = firestre.Timestamp.now()