π Search Terms
undefined forever
β― Playground Link
https://www.typescriptlang.org/play/?#code/C4TwDgpgBAqgdgZwseATCAzAlnCqAqA9gPIBGANlgG5aFwA8+AfFALxQDeUA2gApQ4oAawghCGKPgC6AWgD8ALkl8pUAD5QArnHTZcqANxQAvlABQoSFADKyNJhx5GLdlz4C4w0eMlSl+FXUtHQd9E3NLaHwACwgAdWiAQ2A2GzsQvSd4JBQMxwISCmpaBi5ExSgARhMmJjMgA
π» Code
type UnsetUndefinedToOblivion<T> = { [P in keyof T]-?: T[P] | undefined; }
type SetUndefined<T> = { [P in keyof T]: T[P] | undefined }
type TheWhat = SetUndefined<UnsetUndefinedToOblivion<{ a?: 1 }>>
π Actual behavior
π Expected behavior
type TheWhat = {
a: 1 | undefined;
}
Additional information about the issue
Temporary fix:
type UnsetTheUnset<T> = { [P in keyof T & {}]: T[P] }
type TheWhat = SetUndefined<UnsetTheUnset<UnsetUndefinedToOblivion<{ a?: 1 }>>>
π Search Terms
undefined forever
β― Playground Link
https://www.typescriptlang.org/play/?#code/C4TwDgpgBAqgdgZwseATCAzAlnCqAqA9gPIBGANlgG5aFwA8+AfFALxQDeUA2gApQ4oAawghCGKPgC6AWgD8ALkl8pUAD5QArnHTZcqANxQAvlABQoSFADKyNJhx5GLdlz4C4w0eMlSl+FXUtHQd9E3NLaHwACwgAdWiAQ2A2GzsQvSd4JBQMxwISCmpaBi5ExSgARhMmJjMgA
π» Code
π Actual behavior
π Expected behavior
Additional information about the issue
Temporary fix: