import * as plugins from './smartuniverse.plugins'; import { ICombinatorPayload } from './smartuniverse.classes.reactionrequest'; import { UniverseChannel } from './smartuniverse.classes.universechannel'; import { ClientUniverseChannel } from './smartuniverse.classes.clientuniversechannel'; import { UniverseMessage } from './smartuniverse.classes.universemessage'; import { ClientUniverseMessage } from './smartuniverse.classes.clientuniversemessage'; export interface IReactionResponseConstructorOptions { method: T['method']; channels: Array; } export class ReactionResponse { public method: T['method']; public channels = new plugins.lik.Objectmap(); constructor(optionsArg: IReactionResponseConstructorOptions) { this.channels.addArray(optionsArg.channels); for (const channel of this.channels.getArray()) { channel.subscribe(messageArg => { this.processMessageForReaction(messageArg); }); } } private processMessageForReaction(messageArg: UniverseMessage | ClientUniverseMessage) { } }