Comparing version 1.10.4 to 1.10.5
@@ -46,11 +46,4 @@ /** Object types that should never be mapped */ | ||
/** Includes 1 when `void` or `undefined` exists in type `T` */ | ||
type HasVoidLike<T> = (void extends T ? 1 : 0) | (undefined extends T ? 1 : 0) | ||
type IsVoidLike<T> = T extends void | undefined ? 1 : 0 | ||
/** Includes 1 when type `T` is `void` or `undefined` (or both) */ | ||
type IsVoidLike<T> = | ||
| (T extends void ? 1 : 0) | ||
| (T extends undefined ? 1 : 0) | ||
| (T extends void | undefined ? 1 : 0) | ||
/** Converts `nothing` into `undefined` */ | ||
@@ -60,7 +53,7 @@ type FromNothing<T> = Nothing extends T ? Exclude<T, Nothing> | undefined : T | ||
/** The inferred return type of `produce` */ | ||
type Produced<T, Return> = 1 extends HasVoidLike<Return> | ||
? 1 extends IsVoidLike<Return> | ||
? Immutable<T> | ||
: Immutable<T> | FromNothing<Exclude<Return, void>> | ||
: FromNothing<Return> | ||
export type Produced<T, Return> = IsVoidLike<Return> extends 0 | ||
? FromNothing<Return> | ||
: IsVoidLike<Return> extends 1 | ||
? T | ||
: T | FromNothing<Exclude<Return, void>> | ||
@@ -106,3 +99,3 @@ type ImmutableTuple<T extends ReadonlyArray<any>> = { | ||
listener?: PatchListener | ||
): Produced<D, Return> | ||
): Produced<T, Return> | ||
@@ -109,0 +102,0 @@ /** Curried producer with a default value */ |
{ | ||
"name": "immer", | ||
"version": "1.10.4", | ||
"version": "1.10.5", | ||
"description": "Create your next immutable state by mutating the current one", | ||
@@ -5,0 +5,0 @@ "main": "dist/immer.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
247217
1750