Class Keyboard

A base class for creating chips that reduces boilerplate code. To use it, simply override some or all of the following protected methods:

  • _onActivate()
  • _onTick()
  • _onTerminate()
  • _onPause()
  • _onResume() In these methods, you can access the _chipContext _lastTickInfo properties to obtain the latest information there.

In addition, you can subscribe to events using _subscribe() in a way that automatically unsubscribes when the chip is terminated.

Hierarchy

Constructors

Properties

_chipContext: Readonly<Record<string, any>>
_elapsedTime: number
_eventListeners: IEventListener[] = []
_inputSignal?: Signal<string>
_lastKeysDown: {
    [key: string]: number;
} = {}

Type declaration

  • [key: string]: number
_lastTickInfo: TickInfo
_listeners: Listener<BaseChipBaseEvents, any>[]
_outputSignal?: Signal<string>
_reloadMemento?: ReloadMemento
_state: ChipState = "inactive"
emitter: EventTarget
keysDown: {
    [key: string]: number;
} = {}

Type declaration

  • [key: string]: number
keysJustDown: {
    [key: string]: boolean;
} = {}

Type declaration

  • [key: string]: boolean
keysJustUp: {
    [key: string]: boolean;
} = {}

Type declaration

  • [key: string]: boolean

Accessors

  • get children(): Record<string, Chip>
  • Children of this chip, if any

    Returns Record<string, Chip>

  • get chipContext(): Readonly<Record<string, any>>
  • Returns Readonly<Record<string, any>>

  • get outputSignal(): undefined | Signal<string>
  • Once the chip is terminated, contains the signal

    Returns undefined | Signal<string>

Methods

  • Parameters

    • event: KeyboardEvent

    Returns void

  • Parameters

    • event: KeyboardEvent

    Returns void

  • Template method called by resize()

    Parameters

    • width: number
    • height: number

    Returns void

  • Start listening to events of a certain type emitted by an object. The callback will be called with the chip as this. Works by default for both NodeJS- and DOM-style events. If you are interfacing with a different event system, you can provide a subscriptionHandler that knows how to handle it.

    Type Parameters

    • Emitter extends object

    • EventNames extends BaseEventNames

    • EventName extends string

    Parameters

    • emitter: Emitter
    • eventName: EventName
    • cb: ((this, ...args) => void)
        • (this, ...args): void
        • Parameters

          • this: Keyboard
          • Rest ...args: EventNames[EventName]

          Returns void

    • Optional subscriptionHandler: SubscriptionHandler

    Returns void

  • Listen to a single event emitted by an object, then stop. The callback will be called with the chip as this. Works by default for both NodeJS- and DOM-style events. If you are interfacing with a different event system, you can provide a subscriptionHandler that knows how to handle them.

    Type Parameters

    • Emitter extends object

    • EventNames extends BaseEventNames

    • EventName extends string

    Parameters

    • emitter: Emitter
    • eventName: EventName
    • cb: ((this, ...args) => void)
        • (this, ...args): void
        • Parameters

          • this: Keyboard
          • Rest ...args: EventNames[EventName]

          Returns void

    • Optional subscriptionHandler: SubscriptionHandler

    Returns void

  • Unsubscribe to a set of events. By default, unsubscribes to everything. If emitter, event, or cb is provided, unsubscribe only to those.

    Parameters

    • Optional emitter: NodeEventSource
    • Optional event: string
    • Optional cb: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: unknown[]

          Returns void

    Returns void

  • Activate the chip, with a provided context and input signal. Should only be called from an inactive state

    Parameters

    • tickInfo: TickInfo
    • chipContext: Readonly<Record<string, any>>
    • Optional inputSignal: Signal<string>
    • Optional reloadMemento: ReloadMemento

    Returns void

  • Type Parameters

    Parameters

    Returns void

  • Type Parameters

    Parameters

    Returns void

  • Type Parameters

    Parameters

    Returns void

  • Type Parameters

    Parameters

    Returns void

  • Pause the chip, informing it that it won't receive ticks for a while

    Returns void

  • Terminate the chip. Should only be called from an active or paused state

    Parameters

    • outputSignal: Signal<string> = ...

    Returns void

Generated using TypeDoc