type-fest
Advanced tools
Comparing version 4.3.1 to 4.3.2
{ | ||
"name": "type-fest", | ||
"version": "4.3.1", | ||
"version": "4.3.2", | ||
"description": "A collection of essential TypeScript types", | ||
@@ -5,0 +5,0 @@ "license": "(MIT OR CC0-1.0)", |
@@ -80,2 +80,4 @@ <div align="center"> | ||
*Works best with [`{strict: true}`](https://www.typescriptlang.org/tsconfig#strict) in your tsconfig.* | ||
## Usage | ||
@@ -295,6 +297,7 @@ | ||
- `Prettify`- See [`Simplify`](https://github.com/sindresorhus/type-fest/blob/main/source/simplify.d.ts) | ||
- `Expand`- See [`Simplify`](https://github.com/sindresorhus/type-fest/blob/main/source/simplify.d.ts) | ||
- `PartialBy` - See [`SetOptional`](https://github.com/sindresorhus/type-fest/blob/main/source/set-optional.d.ts) | ||
- `RecordDeep`- See [`Schema`](https://github.com/sindresorhus/type-fest/blob/main/source/schema.d.ts) | ||
- `Mutable`- See [`Writable`](https://github.com/sindresorhus/type-fest/blob/main/source/writable.d.ts) | ||
- `Prettify`- See [`Simplify`](https://github.com/sindresorhus/type-fest/blob/main/source/simplify.d.ts) | ||
- `RequireOnlyOne` - See [`RequireExactlyOne`](https://github.com/sindresorhus/type-fest/blob/main/source/require-exactly-one.d.ts) | ||
@@ -301,0 +304,0 @@ - `AtMostOne` - See [`RequireOneOrNone`](https://github.com/sindresorhus/type-fest/blob/main/source/require-one-or-none.d.ts) |
@@ -192,5 +192,12 @@ import type {Primitive} from './primitive'; | ||
? never | ||
: [(...arguments_: any[]) => any] extends [Type[Key]] | ||
? never | ||
: Key; | ||
/* | ||
To prevent a problem where an object with only a `name` property is incorrectly treated as assignable to a function, we first check if the property is a record. | ||
This check is necessary, because without it, if we don't verify whether the property is a record, an object with a type of `{name: any}` would return `never` due to its potential assignability to a function. | ||
See: https://github.com/sindresorhus/type-fest/issues/657 | ||
*/ | ||
: Type[Key] extends Record<string, unknown> | ||
? Key | ||
: [(...arguments_: any[]) => any] extends [Type[Key]] | ||
? never | ||
: Key; | ||
@@ -197,0 +204,0 @@ /** |
283644
6577
944