Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Mouse<EmptyEvents>

Type parameters

  • EmptyEvents: EventName

Hierarchy

  • Typed<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>
    • Mouse

Index

Constructors

constructor

Properties

Private _delay

_delay: number = 10

Private _propagate

_propagate: boolean = true

Static listenerAdded

listenerAdded: keyof symbol

Fires when an event listener was added.

An object with listener and eventName (if on or off was used) is provided as event data.

example
import Emittery = require('emittery');

const emitter = new Emittery();

emitter.on(Emittery.listenerAdded, ({listener, eventName}) => {
console.log(listener);
//=> data => {}

console.log(eventName);
//=> '🦄'
});

emitter.on('🦄', data => {
// Handle data
});

Static listenerRemoved

listenerRemoved: keyof symbol

Fires when an event listener was removed.

An object with listener and eventName (if on or off was used) is provided as event data.

example
import Emittery = require('emittery');

const emitter = new Emittery();

const off = emitter.on('🦄', data => {
// Handle data
});

emitter.on(Emittery.listenerRemoved, ({listener, eventName}) => {
console.log(listener);
//=> data => {}

console.log(eventName);
//=> '🦄'
});

off();

Accessors

delay

  • get delay(): number
  • set delay(value: number): void

propagate

  • get propagate(): boolean
  • set propagate(value: boolean): void

x

  • get x(): number

y

  • get y(): number

Methods

anyEvent

  • anyEvent(): AsyncIterableIterator<[EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>, { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>]]>
  • Returns AsyncIterableIterator<[EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>, { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>]]>

bindMethods

  • bindMethods(target: object, methodNames?: keyof string[]): void
  • Bind the given methodNames, or all Emittery methods if methodNames is not defined, into the target object.

    example
    import Emittery = require('emittery');
    
    const object = {};
    
    new Emittery().bindMethods(object);
    
    object.emit('event');

    Parameters

    • target: object
    • Optional methodNames: keyof string[]

    Returns void

clearListeners

  • clearListeners(eventName?: EventName): void
  • Clear all event listeners on the instance.

    If eventName is given, only the listeners for that event are cleared.

    Parameters

    • Optional eventName: EventName

    Returns void

click

clickAt

  • clickAt(x: number, y: number, button?: MouseButton): void

down

dragTo

  • dragTo(x: number, y: number, __namedParameters?: { relative: boolean }): void
  • Parameters

    • x: number
    • y: number
    • Default value __namedParameters: { relative: boolean } = {}
      • relative: boolean

    Returns void

emit

  • emit<Name>(eventName: Name, eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]): Promise<void>
  • emit<Name>(eventName: Name): Promise<void>
  • Type parameters

    • Name: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>

    Parameters

    • eventName: Name
    • eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]

    Returns Promise<void>

  • Type parameters

    • Name: EmptyEvents

    Parameters

    • eventName: Name

    Returns Promise<void>

emitSerial

  • emitSerial<Name>(eventName: Name, eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]): Promise<void>
  • emitSerial<Name>(eventName: Name): Promise<void>
  • Type parameters

    • Name: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>

    Parameters

    • eventName: Name
    • eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]

    Returns Promise<void>

  • Type parameters

    • Name: EmptyEvents

    Parameters

    • eventName: Name

    Returns Promise<void>

events

  • events<Name>(eventName: Name): AsyncIterableIterator<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]>
  • Type parameters

    • Name: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>

    Parameters

    • eventName: Name

    Returns AsyncIterableIterator<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]>

listenerCount

  • listenerCount(eventName?: EventName): number
  • The number of listeners for the eventName or all events if not specified.

    Parameters

    • Optional eventName: EventName

    Returns number

move

  • move(x: number, y: number, __namedParameters?: { relative: boolean; smooth: boolean }): void
  • Parameters

    • x: number
    • y: number
    • Default value __namedParameters: { relative: boolean; smooth: boolean } = {}
      • relative: boolean
      • smooth: boolean

    Returns void

off

  • off<Name>(eventName: Name, listener: (eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]) => void): void
  • off<Name>(eventName: Name, listener: () => void): void
  • Type parameters

    • Name: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>

    Parameters

    • eventName: Name
    • listener: (eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]) => void
        • (eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]): void
        • Parameters

          • eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]

          Returns void

    Returns void

  • Type parameters

    • Name: EmptyEvents

    Parameters

    • eventName: Name
    • listener: () => void
        • (): void
        • Returns void

    Returns void

offAny

  • offAny(listener: (eventName: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }> | EmptyEvents, eventData?: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>]) => void): void
  • Parameters

    • listener: (eventName: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }> | EmptyEvents, eventData?: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>]) => void
        • (eventName: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }> | EmptyEvents, eventData?: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>]): void
        • Parameters

          • eventName: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }> | EmptyEvents
          • Optional eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>]

          Returns void

    Returns void

on

  • on<Name>(eventName: Name, listener: (eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]) => void): Emittery.UnsubscribeFn
  • on<Name>(eventName: Name, listener: () => void): Emittery.UnsubscribeFn
  • Type parameters

    • Name: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>

    Parameters

    • eventName: Name
    • listener: (eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]) => void
        • (eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]): void
        • Parameters

          • eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]

          Returns void

    Returns Emittery.UnsubscribeFn

  • Type parameters

    • Name: EmptyEvents

    Parameters

    • eventName: Name
    • listener: () => void
        • (): void
        • Returns void

    Returns Emittery.UnsubscribeFn

onAny

  • onAny(listener: (eventName: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }> | EmptyEvents, eventData?: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>]) => void): Emittery.UnsubscribeFn
  • Parameters

    • listener: (eventName: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }> | EmptyEvents, eventData?: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>]) => void
        • (eventName: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }> | EmptyEvents, eventData?: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>]): void
        • Parameters

          • eventName: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }> | EmptyEvents
          • Optional eventData: { click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>]

          Returns void

    Returns Emittery.UnsubscribeFn

once

  • once<Name>(eventName: Name): Promise<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]>
  • once<Name>(eventName: Name): Promise<void>
  • Type parameters

    • Name: EventNameFromDataMap<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }>

    Parameters

    • eventName: Name

    Returns Promise<{ click: { button: number; clicks: number; x: number; y: number }; down: { button: number; clicks: number; x: number; y: number }; drag: { button: number; clicks: number; x: number; y: number }; move: { button: number; clicks: number; x: number; y: number }; wheel: { amount: number; clicks: number; direction: number; rotation: number; x: number; y: number } }[Name]>

  • Type parameters

    • Name: EmptyEvents

    Parameters

    • eventName: Name

    Returns Promise<void>

scrollTo

  • scrollTo(x: number, y: number, __namedParameters?: { relative: boolean }): void
  • Parameters

    • x: number
    • y: number
    • Default value __namedParameters: { relative: boolean } = {}
      • relative: boolean

    Returns void

up

Static mixin

  • mixin(emitteryPropertyName: string, methodNames?: keyof string[]): Function
  • In TypeScript, it returns a decorator which mixins Emittery as property emitteryPropertyName and methodNames, or all Emittery methods if methodNames is not defined, into the target class.

    example
    import Emittery = require('emittery');
    
    @Emittery.mixin('emittery')
    class MyClass {}
    
    const instance = new MyClass();
    
    instance.emit('event');

    Parameters

    • emitteryPropertyName: string
    • Optional methodNames: keyof string[]

    Returns Function

Generated using TypeDoc