werewolf-core
Version:
Are you a WEREWOLF?
15 lines (14 loc) • 382 B
TypeScript
export interface Effect {
id: string;
type: string;
}
export declare class Effects<Ef extends Effect> {
private effects;
length: number;
add(e: Ef): void;
removeById(id: string): void;
get<Ef2 extends Ef>(idx: number | string): Ef2 | undefined;
ofType<Ef2 extends Ef>(t: string): Array<Ef2>;
asArray(): Array<Ef>;
deepClone(): Effects<Ef>;
}