✅ScrapboxのBaseStoreで継承先classを使えるよう型定義を変える
scrapbox-jp/typesのBaseStoreは0.3.9時点で以下の定義になっている
https://code2svg.vercel.app/svg/https://raw.githubusercontent.com/scrapbox-jp/types/0.3.9/baseStore.ts#.svg https://github.com/scrapbox-jp/types/blob/0.3.9/baseStore.ts
addChangeListener()のlistenerの引数はhttps://code2svg.vercel.app/svg/L1/https://raw.githubusercontent.com/scrapbox-jp/types/0.3.9/baseStore.ts#.svg https://github.com/scrapbox-jp/types/blob/0.3.9/baseStore.ts#L1と定義されているが、実際にはstoreの型定義はBaseStoreではなくBaseStoreの継承先クラスである
storeがBaseStoreのままだと、takeStores()から取り出したcursorとselectionでlistenerを使う際、型変換しなければならず面倒である
そのため、storeが継承先クラスになるように変更する
2023-03-23
11:51:04 eventもgenericだったのを忘れてた
修正した
11:33:15 merged
11:06:07 型定義方法がわからん!!!takker.icon
typescript template 継承先などでぐぐってみたが情報なし
はっそうか!こういうときにchatGPTに聞けばいいのか
継承元classで継承先classの型を使う
#2023-03-23 10:42:39