TypeScript 再帰的にPartial型にする DeepPartial
#TypeScript
code:deepPartial.ts
export type DeepPartial<T> =
{ K in keyof T?: TK extends object ? TK extends any[] ? TK : DeepAny<TK> : TK };
TypeScript Playground
DeepPartialとDeepAny
TypeScript 再帰的にany型にする DeepAny
やりたいこと
code:User.ts
type User = {
id: number,
name: {
first: string,
last: string,
},
gender?: string,
hobby: string[]
}
↑の型を↓の型に変換したい
code:deepAnyUser.ts
type User = {
id?: number,
name: {
first?: string,
last?: string,
},
gender?: string,
hobby?: string[]
}