Browse Source

extract FlagHandler type

mightyplow 5 năm trước cách đây
mục cha
commit
86153093bd
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      src/flags.ts

+ 2 - 1
src/flags.ts

@@ -5,7 +5,8 @@ const $toggle = (flag: number, sequence = 0) => sequence ^ flag
 
 const combine = (flags: number[]) => flags.reduce((flags, flag) => flags + flag, 0)
 
-const createMultiFlagHandler = <T>(fn: (flag: number, flags: number) => T) => 
+type FlagHandler<T> = (flag: number, flags: number) => T
+const createMultiFlagHandler = <T extends number | boolean>(fn: FlagHandler<T>) => 
     (flag: number | number[], sequence = 0): T => 
         fn(Array.isArray(flag) ? combine(flag) : flag, sequence)