Итак, у меня есть такой интерфейс:
interface Test {
// ...
created_at: Timestamp;
// ...
}
, и я возвращаю объект из функции, подобной этой:
export const getTest = functions.https.onCall(async (data, context) => {
if (!context.auth) {
return null;
}
let snap = await admin
.firestore()
.collection('test')
.get();
return snap.docs.map(r => ({ // Add id to the output
id: r.id,
...r.data()
})[0];
});
Так что я должен получить объект метки времени в моемприложения, но это то, что я получаю в консоли Chrome, когда я пытаюсь получить объект из функции следующим образом:
// Using AngularFireFunctions
let result: Test = await this.fns.httpsCallable<void, Test>('getTest')().toPromise();
Это все содержание result.created_at
:
Когда я звоню result.created_at.toDate()
, я получаю ошибку ....created_at.toDate is not a function
.
Что я могу сделать, чтобы изменить это?
Это то, с чем я сейчас застрял:
result.created_at = new Date(result.created_at._seconds * 1000);