@robotlegsjs/signalcommandmap
Version:
TypeScript port of Robotlegs Extensions SignalCommandMap
30 lines (29 loc) • 925 B
TypeScript
import { IClass, ICommandMapper, ICommandUnmapper } from "@robotlegsjs/core";
import { ISignal } from "@robotlegsjs/signals";
export declare const ISignalCommandMap: unique symbol;
/**
* The Signal Command Map allows you to bind Signals to Commands
*/
export interface ISignalCommandMap {
/**
* Creates a mapping for a Signal based trigger
*
* @param signalClass The concrete Signal class
* @return Command mapper
*/
map(signalClass: IClass<ISignal>): ICommandMapper;
/**
* Unmaps a Signal based trigger from a command
*
* @param signalClass The concrete Signal class
* @return Command unmapper
*/
unmap(signalClass: IClass<ISignal>): ICommandUnmapper;
/**
* Adds a handler to process mappings
*
* @param handler Function that accepts a mapping
* @return Self
*/
addMappingProcessor(handler: Function): ISignalCommandMap;
}