import { getKeyValue } from '../../../helpers/get-key-value';
import { getErrorObject } from '../../../helpers/get-error-object'; 
import { 
  transformButtons, 
  transformChatMessage, 
  transformFileTransfer, 
  transformMenu, 
  transformRichMessage
} from './items';

const methods: { [key: string]: Function } = {
  ChatMessage: transformChatMessage,
  RichMessage: transformRichMessage,
  FileTransfer: transformFileTransfer,
  ChatWindowMenu: transformMenu,
  ChatWindowButton: transformButtons
};

export const getMethods = (type: string): Function => {
  return getKeyValue(methods)(type) || getErrorObject({ type, message: 'Salesforce to Generic' });
};
