@types/react 17.0.20 → 17.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. react/README.md +1 -1
  2. react/index.d.ts +3 -4
  3. react/package.json +2 -2
react/README.md CHANGED
@@ -8,7 +8,7 @@ This package contains type definitions for React (http://facebook.github.io/reac
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Sun, 05 Sep 2021 10:01:23 GMT
11
+ * Last updated: Tue, 14 Sep 2021 21:01:34 GMT
12
12
  * Dependencies: [@types/csstype](https://npmjs.com/package/@types/csstype), [@types/prop-types](https://npmjs.com/package/@types/prop-types), [@types/scheduler](https://npmjs.com/package/@types/scheduler)
13
13
  * Global values: `React`
14
14
 
react/index.d.ts CHANGED
@@ -805,11 +805,10 @@ declare namespace React {
805
805
 
806
806
  /** Ensures that the props do not include ref at all */
807
807
  type PropsWithoutRef<P> =
808
- // Just Pick would be sufficient for this, but I'm trying to avoid unnecessary mapping over union types
808
+ // Pick would not be sufficient for this. We'd like to avoid unnecessary mapping and need a distributive conditional to support unions.
809
+ // see: https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distributive-conditional-types
809
810
  // https://github.com/Microsoft/TypeScript/issues/28339
810
- 'ref' extends keyof P
811
- ? Pick<P, Exclude<keyof P, 'ref'>>
812
- : P;
811
+ P extends any ? ('ref' extends keyof P ? Pick<P, Exclude<keyof P, 'ref'>> : P) : P;
813
812
  /** Ensures that the props do not include string ref, which cannot be forwarded */
814
813
  type PropsWithRef<P> =
815
814
  // Just "P extends { ref?: infer R }" looks sufficient, but R will infer as {} if P is {}.
react/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/react",
3
- "version": "17.0.20",
3
+ "version": "17.0.21",
4
4
  "description": "TypeScript definitions for React",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react",
6
6
  "license": "MIT",
@@ -146,6 +146,6 @@
146
146
  "@types/scheduler": "*",
147
147
  "csstype": "^3.0.2"
148
148
  },
149
- "typesPublisherContentHash": "b98539428aeb48bb4b954672f744bccb907e1934aa7ce9a24589803ca068a20f",
149
+ "typesPublisherContentHash": "657f17803ced16330ffb4269377e68db9893c764d3a1a97e1368236513759be5",
150
150
  "typeScriptVersion": "3.7"
151
151
  }