Create your own tag decorators
Creating your own decorators is really simple:
let throwable = tagged("canThrow", true);
let notThrowable = tagged("canThrow", false);
@injectable()
class Ninja implements Ninja {
public katana: Weapon;
public shuriken: Weapon;
public constructor(
@inject("Weapon") @notThrowable katana: Weapon,
@inject("Weapon") @throwable shuriken: Weapon
) {
this.katana = katana;
this.shuriken = shuriken;
}
}