前提・実現したいこと
タイトルの通り、Firebaseの関数にあった型が欲しいのですが調べてみてもわかりませんでした。
発生している問題・エラーメッセージ
下のように、
Firebaseの各関数を読み込むページ、
FirebaseのClassのページ、
でそれぞれファイルを分けています。
// loadFirebase.ts const app = import("firebase/app"); const auth = import("firebase/auth"); const database = import("firebase/firestore"); const functions = import("firebase/functions"); const storage = import("firebase/storage"); const loadFirebaseDependencies = Promise.all([ app, auth, database, functions, storage, ]).then((values) => { return values[0].default; }); export default loadFirebaseDependencies;
下のfierbase.tsの
app,
auth,
db,
functions,
storage,
にあった型をどのように定義すれば良いのかわかりません。
// firebase.ts import firebaseConfig from "./config"; import firebase from "firebase/app"; class Firebase { // 型がわからずとりあえずany型を使っている app: any; auth: any; db: any; functions: any; storage: any; constructor(app: any) { if (!firebaseInstance) { app.initializeApp(firebaseConfig); this.app = app; this.auth = app.auth(); this.db = app.firestore(); this.functions = app.functions(); this.storage = app.storage(); } } logout = async () => { await this.auth.signOut(); }; ...以下はFirebaseのログイン処理や登録などの関数記述のため省略 } let firebaseInstance: any; const getFirebaseInstance = (app: any) => { if (!firebaseInstance && app) { firebaseInstance = new Firebase(app); return firebaseInstance; } else if (firebaseInstance) { return firebaseInstance; } else { return null; } }; export default getFirebaseInstance;
試したこと
https://www.npmjs.com/package/@types/firebase のサイトより @types/firebase をインストールしようとしたのですが説明欄に書かれているように
This is a stub types definition for Firebase API (https://www.firebase.com/docs/javascript/firebase). Firebase API provides its own type definitions, so you don't need @types/firebase installed!
独自の型を用意してあると書かれています。しかし型一覧のようなページを見つけられず質問に至ります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/14 02:12
2021/02/14 03:22