File tree Expand file tree Collapse file tree 5 files changed +15
-7
lines changed
Expand file tree Collapse file tree 5 files changed +15
-7
lines changed Original file line number Diff line number Diff line change 22
33# enum-plus Changelog
44
5+ ## 3.1.7
6+
7+ 2026-1-26
8+
9+ ### Features
10+
11+ - ✨ Update ` has ` method type signature for better type inference.
12+
513## 3.1.6
614
7152025-11-26
Original file line number Diff line number Diff line change 11{
22 "name" : " enum-plus" ,
3- "version" : " 3.1.6 " ,
3+ "version" : " 3.1.7 " ,
44 "description" : " A drop-in replacement for native enum. Like native enum but much better!" ,
55 "keywords" : [
66 " enum" ,
Original file line number Diff line number Diff line change @@ -157,7 +157,7 @@ export class EnumCollectionClass<
157157 }
158158 }
159159
160- has < KV > ( keyOrValue ?: KV ) : keyOrValue is Extract < KV , K | V > {
160+ has < KV > ( keyOrValue ?: KV ) : keyOrValue is Extract < KV , K | V > extends never ? typeof keyOrValue : Extract < KV , K | V > {
161161 return this . __items__ . has ( keyOrValue ) ;
162162 }
163163
Original file line number Diff line number Diff line change @@ -221,7 +221,7 @@ export class EnumItemsArray<
221221 }
222222 }
223223
224- has < KV > ( keyOrValue ?: KV ) : keyOrValue is Extract < KV , K | V > {
224+ has < KV > ( keyOrValue ?: KV ) : keyOrValue is Extract < KV , K | V > extends never ? typeof keyOrValue : Extract < KV , K | V > {
225225 return this . some ( ( i ) => i . value === ( keyOrValue as unknown as V ) || i . key === ( keyOrValue as unknown as K ) ) ;
226226 }
227227
@@ -569,7 +569,7 @@ export interface InheritableEnumItems<
569569 *
570570 * @returns {boolean } Whether the enumeration item exists | 枚举项是否存在
571571 */
572- has < KV > ( keyOrValue ?: KV ) : keyOrValue is Extract < KV , K | V > ;
572+ has < KV > ( keyOrValue ?: KV ) : keyOrValue is Extract < KV , K | V > extends never ? typeof keyOrValue : Extract < KV , K | V > ;
573573
574574 /**
575575 * **EN:** Find an enumeration item by key or value, or by custom meta fields
Original file line number Diff line number Diff line change @@ -145,7 +145,7 @@ export function addEnumItemsTestSuite(engine: TestEngineBase<'jest' | 'playwrigh
145145 engine . expect ( weekEnum . items . label ( 'Sunday' ) ) . toBe ( locales . Sunday ) ;
146146 engine . expect ( weekEnum . items . label ( 6 ) ) . toBe ( locales . Saturday ) ;
147147 engine . expect ( weekEnum . items . label ( 'Saturday' ) ) . toBe ( locales . Saturday ) ;
148- engine . expect ( weekEnum . items . label ( 7 as typeof weekEnum . valueType ) ) . toBeUndefined ( ) ;
148+ engine . expect ( weekEnum . items . label ( 7 ) ) . toBeUndefined ( ) ;
149149 }
150150 ) ;
151151
@@ -158,7 +158,7 @@ export function addEnumItemsTestSuite(engine: TestEngineBase<'jest' | 'playwrigh
158158 ( { weekEnum } ) => {
159159 engine . expect ( weekEnum . items . key ( 0 ) ) . toBe ( 'Sunday' ) ;
160160 engine . expect ( weekEnum . items . key ( 6 ) ) . toBe ( 'Saturday' ) ;
161- engine . expect ( weekEnum . items . key ( 7 as typeof weekEnum . valueType ) ) . toBeUndefined ( ) ;
161+ engine . expect ( weekEnum . items . key ( 7 ) ) . toBeUndefined ( ) ;
162162 }
163163 ) ;
164164
@@ -173,7 +173,7 @@ export function addEnumItemsTestSuite(engine: TestEngineBase<'jest' | 'playwrigh
173173 engine . expect ( weekEnum . items . has ( 'Sunday' ) ) . toBe ( true ) ;
174174 engine . expect ( weekEnum . items . has ( 6 ) ) . toBe ( true ) ;
175175 engine . expect ( weekEnum . items . has ( 'Saturday' ) ) . toBe ( true ) ;
176- engine . expect ( weekEnum . items . has ( 7 as typeof weekEnum . valueType ) ) . toBe ( false ) ;
176+ engine . expect ( weekEnum . items . has ( 7 ) ) . toBe ( false ) ;
177177 }
178178 ) ;
179179
You can’t perform that action at this time.
0 commit comments