だから私はこれで運が悪いと思いますが、アイデアを捨てる前にここで試してみようと思いました.
ジェネリックを指定してから、ジェネリック型から選択するキーを引数として配列を指定する関数を作成しようとしています。このようなもの。
type Test = {
a: boolean;
b: boolean;
c: boolean;
};
const t = use<Test>(["a", "b"]);
t.a = true;
t.b = true;
t.c = true; // `use` shall not let c be available. This should throw a typescript build error
誰かがその解決策を持っている場合、一般的な残りのパラメーターも可能です。
use<Test, "a" | "b">(["a", "b"]);
私が見つけた唯一の解決策はこれまでのところうまくいきましたが、本当に醜いです。