From aab5114d9e7e43346886a7efdf5107c2d9ce41c1 Mon Sep 17 00:00:00 2001 From: harris-miller Date: Wed, 3 Jan 2024 03:44:57 -0700 Subject: [PATCH] fix the optional problem --- test/propEq.test.ts | 3 --- types/propEq.d.ts | 6 +++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/test/propEq.test.ts b/test/propEq.test.ts index 9b350cc..89d70b6 100644 --- a/test/propEq.test.ts +++ b/test/propEq.test.ts @@ -11,9 +11,6 @@ type Obj = { const obj = {} as Obj; -const literalVar = 'A'; -let typedVar: 'A' | 'B' = 'A'; - // // literals // diff --git a/types/propEq.d.ts b/types/propEq.d.ts index 216c0d4..d4f4a7d 100644 --- a/types/propEq.d.ts +++ b/types/propEq.d.ts @@ -3,11 +3,11 @@ import { WidenLiterals } from './util/tools'; // propEq(val) export function propEq(val: T): { // propEq(val)(name)(obj) - (name: K): >(obj: T extends WidenLiterals ? U : never) => boolean; + (name: K): >>(obj: Required extends Record ? T extends WidenLiterals ? U : never : never) => boolean; // propEq(val)(name, obj) - >(name: K, obj: T extends WidenLiterals ? U : never): boolean; + >>(name: K, obj: Required extends Record ? T extends WidenLiterals ? U : never : never): boolean; }; // propEq(val, name)(obj) -export function propEq(val: T, name: K): >(obj: T extends WidenLiterals ? U : never) => boolean; +export function propEq(val: T, name: K): >>(obj: Required extends Record ? T extends WidenLiterals ? U : never : never) => boolean; // propEq(val, name, obj) export function propEq(val: U[K], name: K, obj: U): boolean;