Firestoreの新しいライブラリを思いついたんだけど
思いつきのメモなんですが
FirebaseのFirestoreを読み書きするTypeScriptのコードってちょっと書くとすぐごちゃごちゃし始めて脳負荷が高いコードになりがちじゃないですか?
テーブル?の定義とセーブロードのロジックが混じり合ってカオスになるのがとっても汚らしいと思うんですよ。
なので、アノテーションつかってこういうふうにかけるライブラリあったらよくないかなとおもいました。
class Game extends FSModel { // このアノテーションで/usr/games/ 以下に保存される @definePath("/user/games") // これでFireStoreのエントリを定義する // storeEntityアノテーションがつけられたメンバー変数は // toFirestore(), fromFirestore()で自動的に保存される @storeEntity public gameTitle: string; @storeEntity public gameID: GameID; @storeEntity private published: boolean = false; public setPublish() { this.published = true; } } const e = new Game(); e.gameID = "Foo"; e.gameTitle = "Bar"; e.setPublish(); // これでFireStoreに保存 e.toFirestore(); // FireStoreから取ってくる const ref = Game.fromFirestore(); ref.gameTitle = "Hoge"; ref.gameID = "Fuga"; // もっかい保存しなおす ref.toFirestore();
こんな感じで書けると嬉しい。