Skip to content

Commit 01a1e3a

Browse files
committed
use strict type IClass<ISignal> for signalClass
1 parent 111d797 commit 01a1e3a

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

src/robotlegs/bender/extensions/signalCommandMap/api/ISignalCommandMap.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
// in accordance with the terms of the license agreement accompanying it.
66
// ------------------------------------------------------------------------------
77

8-
import { ICommandMapper, ICommandUnmapper } from "@robotlegsjs/core";
8+
import { IClass, ICommandMapper, ICommandUnmapper } from "@robotlegsjs/core";
9+
10+
import { ISignal } from "@robotlegsjs/signals";
911

1012
/**
1113
* The Signal Command Map allows you to bind Signals to Commands
@@ -17,14 +19,14 @@ export interface ISignalCommandMap {
1719
* @param signalClass The concrete Signal class
1820
* @return Command mapper
1921
*/
20-
map(signalClass: Object): ICommandMapper;
22+
map(signalClass: IClass<ISignal>): ICommandMapper;
2123

2224
/**
2325
* Unmaps a Signal based trigger from a command
2426
* @param signalClass The concrete Signal class
2527
* @return Command unmapper
2628
*/
27-
unmap(signalClass: Object): ICommandUnmapper;
29+
unmap(signalClass: IClass<ISignal>): ICommandUnmapper;
2830

2931
/**
3032
* Adds a handler to process mappings

src/robotlegs/bender/extensions/signalCommandMap/impl/SignalCommandMap.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import {
99
injectable,
1010
inject,
11+
IClass,
1112
IInjector,
1213
IContext,
1314
ILogger,
@@ -17,6 +18,8 @@ import {
1718
CommandTriggerMap
1819
} from "@robotlegsjs/core";
1920

21+
import { ISignal } from "@robotlegsjs/signals";
22+
2023
import { ISignalCommandMap } from "../api/ISignalCommandMap";
2124
import { SignalCommandTrigger } from "./SignalCommandTrigger";
2225

@@ -60,14 +63,14 @@ export class SignalCommandMap implements ISignalCommandMap {
6063
/**
6164
* @inheritDoc
6265
*/
63-
public map(signalClass: Object): ICommandMapper {
66+
public map(signalClass: IClass<ISignal>): ICommandMapper {
6467
return this.getTrigger(signalClass).createMapper();
6568
}
6669

6770
/**
6871
* @inheritDoc
6972
*/
70-
public unmap(signalClass: Object): ICommandUnmapper {
73+
public unmap(signalClass: IClass<ISignal>): ICommandUnmapper {
7174
return this.getTrigger(signalClass).createMapper();
7275
}
7376

@@ -83,19 +86,19 @@ export class SignalCommandMap implements ISignalCommandMap {
8386
/* Private Functions */
8487
/*============================================================================*/
8588

86-
private createTrigger(signalClass: Object): ICommandTrigger {
89+
private createTrigger(signalClass: IClass<ISignal>): ICommandTrigger {
8790
return new SignalCommandTrigger(
8891
this._injector,
8992
signalClass,
9093
this._mappingProcessors
9194
);
9295
}
9396

94-
private getTrigger(signalClass: Object): SignalCommandTrigger {
97+
private getTrigger(signalClass: IClass<ISignal>): SignalCommandTrigger {
9598
return <SignalCommandTrigger>this._triggerMap.getTrigger(signalClass);
9699
}
97100

98-
private getKey(signalClass: Object): Object {
101+
private getKey(signalClass: IClass<ISignal>): IClass<ISignal> {
99102
return signalClass;
100103
}
101104
}

src/robotlegs/bender/extensions/signalCommandMap/impl/SignalCommandTrigger.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
// ------------------------------------------------------------------------------
77

88
import {
9+
IClass,
910
IInjector,
1011
ILogger,
1112
ICommandExecutor,
@@ -26,7 +27,7 @@ export class SignalCommandTrigger implements ICommandTrigger {
2627
/* Private Properties */
2728
/*============================================================================*/
2829

29-
private _signalClass: any;
30+
private _signalClass: IClass<ISignal>;
3031

3132
private _signal: ISignal;
3233

@@ -45,7 +46,7 @@ export class SignalCommandTrigger implements ICommandTrigger {
4546
*/
4647
constructor(
4748
injector: IInjector,
48-
signalClass: any,
49+
signalClass: IClass<ISignal>,
4950
processors?: Function[],
5051
logger?: ILogger
5152
) {

0 commit comments

Comments
 (0)