deviceTypes.ts 495 B

123456789101112
  1. import { DeviceType, PointerInput, DualShockInput, XboxInput, SwitchInput } from './deviceEnums';
  2. /**
  3. * Type to handle enforcement of inputs
  4. */
  5. export type DeviceInput<T extends DeviceType> =
  6. T extends DeviceType.Keyboard | DeviceType.Generic ? number :
  7. T extends DeviceType.Mouse | DeviceType.Touch ? PointerInput :
  8. T extends DeviceType.DualShock ? DualShockInput :
  9. T extends DeviceType.Xbox ? XboxInput :
  10. T extends DeviceType.Switch ? SwitchInput :
  11. never;