Typescriptのオブジェクトから特定の型に適合するプロパティだけ抜き出した型をコンパイルタイミングで作る

オブジェクトからstring型のプロパティだけ取り出したいってことありませんか。僕はあります。何言ってんだという感じですがこういう感じです。 type EnumString = "foo" | "bar" | "piyo"; interface Mixed { a: string, b: number, c: object, d: EnumString }; type NoneStringKeys<T> = { [P in keyof T]: T[P] extends s</t>…