diff --git a/src/entrypoints/set-has.d.ts b/src/entrypoints/set-has.d.ts index 2da70da..af7b326 100644 --- a/src/entrypoints/set-has.d.ts +++ b/src/entrypoints/set-has.d.ts @@ -3,3 +3,7 @@ interface Set { has(value: T | (TSReset.WidenLiteral & {})): boolean; } + +interface ReadonlySet { + has(value: T | (TSReset.WidenLiteral & {})): boolean; +} diff --git a/src/tests/set-has.ts b/src/tests/set-has.ts index 288bf98..00a8042 100644 --- a/src/tests/set-has.ts +++ b/src/tests/set-has.ts @@ -15,3 +15,19 @@ doNotExecute(() => { true, ); }); + +doNotExecute(() => { + const set = new Set([1, 2, 3] as const) as ReadonlySet<1 | 2 | 3>; + + set.has(4); + + set.has( + // @ts-expect-error + "4", + ); + + set.has( + // @ts-expect-error + true, + ); +});