Skip to content
This repository has been archived by the owner on Oct 12, 2022. It is now read-only.

Misstatement in definition of Partial<T> #1308

Open
vassudanagunta opened this issue Mar 26, 2020 · 1 comment
Open

Misstatement in definition of Partial<T> #1308

vassudanagunta opened this issue Mar 26, 2020 · 1 comment

Comments

@vassudanagunta
Copy link

The definition of Partial<T> states:

Constructs a type with all properties of T set to optional. This utility will return a type that represents all subsets of a given type.

To paraphrase Inigo Montoya: You use the word "subset". I do not think it means what you think it means.

A "type with all properties of T set to optional" does not represent subsets of T.

Examples of "subsets of a given type":

  • given type: real number, some subsets: rational number, integer
  • given type: number | string | null, some subsets: number, number | null

I know what the author is trying to say, but can't come up with the right words, though I probably should have spent more time on that than what I've put into this Issue so far 😂.

@jpelton-stroud
Copy link

jpelton-stroud commented May 3, 2020

I know what the author is trying to say,

Now that you've brought it up, I've realized I have no idea what the author is trying to say in the second sentence. Partial<T> only returns the params of the targeted type with the optional flag on each one, doesn't it? Does something else happen if the targeted type isn't an object literal?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants