Deep partial ============ .. post:: Aug 03, 2022 :tags: typescript There is no native `Partial` functionality if we want to apply it to the nested properties of an object as well. :: type DeepPartial = Thing extends Array ? DeepPartialArray : Thing extends object ? DeepPartialObject : Thing | undefined; type DeepPartialArray = Array>; type DeepPartialObject = { [Key in keyof Thing]?: DeepPartial; }; Reference: https://twitter.com/mattpocockuk/status/1505892984658743300?s=20&t=NaylAKSz2yuiiGibIeAnVw