Я пишу функции, предназначенные для манипулирования данными Firestore либо внутри клиентского кода, либо внутри облачных функций.
К сожалению, похоже, что типы TypeScript для firebase
(используется для клиентского кода) и firebase-admin
(для облачных функций), хотя и почти идентичны, несовместимы. У кого-нибудь есть решение помимо импорта и псевдонимов всех типов?
В настоящее время я получаю сообщения об ошибках типа:
Type 'FirebaseFirestore.DocumentReference' is not assignable to type 'firebase.firestore.DocumentReference'
Это потому, что я определяю свои интерфейсы в моей клиентской кодовой базе, используя firebase
, но затем пытаюсь инициализировать экземпляр и использовать его в моей кодовой базе функций, используя firebase-admin
. Но та же ошибка произойдет, если я поменяю их местами.
К сожалению, похоже, что определения TypeScript TypeK Node Admin не являются надмножеством определений Client TypeScript, даже если кажется, что они сделаны с точки зрения интерфейса.