import { AgentInitiator } from './AgentInitiator'; import { ClientFactory } from '../client/ClientFactory'; import { MessageHandlerChain } from './message/MessageHandlerChain'; import { ChatWidgetShowMessageHandler } from './message/ChatWidgetShowMessageHandler'; export class HandlerFactory { private constructor() {} public static createMessageHandlerChain(): MessageHandlerChain { return new MessageHandlerChain([HandlerFactory.createChatWidgetShowMessageHandler()]); } public static createAgentInitiator(): AgentInitiator { return new AgentInitiator(ClientFactory.createElementTransformer(), ClientFactory.createEnvironmentReader(), ClientFactory.createBrowserEventListener(), HandlerFactory.createMessageHandlerChain()); } private static createChatWidgetShowMessageHandler() { return new ChatWidgetShowMessageHandler(ClientFactory.createElementTransformer(), ClientFactory.createEnvironmentReader()); } }