版博士V2.0程序
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

12345678910111213
  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. >