File tree Expand file tree Collapse file tree 2 files changed +51
-0
lines changed Expand file tree Collapse file tree 2 files changed +51
-0
lines changed Original file line number Diff line number Diff line change 1+ enum Gift {
2+ Coal = 0 ,
3+ Train = 1 ,
4+ Bicycle = 2 ,
5+ Traditional = 3 ,
6+ SuccessorToTheNintendoSwitch = 4 ,
7+ TikTokPremium = 1 << 3 ,
8+ Vape = 1 << 4 ,
9+ OnTheMove = Gift . Coal | Gift . Bicycle | Gift . TikTokPremium | Gift . Vape ,
10+ OnTheCouch = Gift . Coal |
11+ Gift . SuccessorToTheNintendoSwitch |
12+ Gift . TikTokPremium |
13+ Gift . Vape ,
14+ }
15+
16+ // ------------------- Test section ---------------------
17+
18+ const test = < F extends Gift > ( flag : F ) => flag ;
19+
20+ test < Gift . Coal > ( 0 ) ;
21+ test < Gift . Train > ( 1 ) ;
22+ test < Gift . Bicycle > ( 2 ) ;
23+ test < Gift . SuccessorToTheNintendoSwitch > ( 4 ) ;
24+ test < Gift . TikTokPremium > ( 8 ) ;
25+ test < Gift . Vape > ( 16 ) ;
26+ test < Gift . Traditional > ( 3 ) ;
27+ test < Gift . OnTheMove > ( 26 ) ;
28+ test < Gift . OnTheCouch > ( 28 ) ;
29+
30+ // @ts -expect-error
31+ test < Gift . Coal > ( 10 ) ;
32+ // @ts -expect-error
33+ test < Gift . Train > ( 11 ) ;
34+ // @ts -expect-error
35+ test < Gift . Bicycle > ( 12 ) ;
36+ // @ts -expect-error
37+ test < Gift . SuccessorToTheNintendoSwitch > ( 14 ) ;
38+ // @ts -expect-error
39+ test < Gift . TikTokPremium > ( 18 ) ;
40+ // @ts -expect-error
41+ test < Gift . Vape > ( 116 ) ;
42+ // @ts -expect-error
43+ test < Gift . Traditional > ( 13 ) ;
44+ // @ts -expect-error
45+ test < Gift . OnTheMove > ( 126 ) ;
46+ // @ts -expect-error
47+ test < Gift . OnTheCouch > ( 124 ) ;
Original file line number Diff line number Diff line change @@ -37,6 +37,10 @@ export default tseslint.config(
3737 "error" ,
3838 { prefer : "type-imports" , fixStyle : "separate-type-imports" } ,
3939 ] ,
40+ "@typescript-eslint/prefer-literal-enum-member" : [
41+ "error" ,
42+ { allowBitwiseExpressions : true } ,
43+ ] ,
4044 "@typescript-eslint/no-unused-vars" : [
4145 "error" ,
4246 {
You can’t perform that action at this time.
0 commit comments