import { IGenericText } from '../../../generic/types';
import { ISlackTextObject } from '../../types';
import { parseSlackMrkdwnToMarkdown } from '../../parsers/parse-slack-mrkdwn-to-markdown';

export const transformText = ({
  type, text, emoji, verbatim
}: ISlackTextObject): IGenericText => {
  const res: IGenericText = {
    type: 'text',
    props: {
      value: type === 'mrkdwn'
        ? parseSlackMrkdwnToMarkdown(text)
        : text,
      type: type === 'plain_text' ? 'plain' : 'markdown',
      slack: {
        type,
        emoji: emoji || false,
        verbatim: verbatim || false
      }
    }
  };

  return res;
};