版博士V2.0程序
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 

14 satır
436 B

  1. type RecordToUnion<T extends Record<string, any>> = T[keyof T]
  2. type UnionToIntersection<U> = (
  3. U extends unknown ? (arg: U) => 0 : never
  4. ) extends (arg: infer I) => 0
  5. ? I
  6. : never
  7. export type ShortEmits<T extends Record<string, any>> = UnionToIntersection<
  8. RecordToUnion<{
  9. [K in keyof T]: T[K] extends (...args: any[]) => any
  10. ? (evt: K, ...args: Parameters<T[K]>) => void
  11. : (evt: K, ...args: T[K]) => void
  12. }>
  13. >