UNPKG

@onereach/channel-transformer

Version:

Convert data model between different channels (Slack, Microsoft Teams, Generic...)

69 lines (59 loc) 2.65 kB
import { getKeyValue } from '../../../helpers/get-key-value'; import { getErrorObject } from '../../../helpers/get-error-object'; // Block import { transformSection } from './items/section'; import { transformActions } from './items/actions'; import { transformContext } from './items/context'; import { transformHeader } from './items/header'; import { transformInput } from './items/input'; // Elements import { transformButton } from './items/button'; import { transformImage } from './items/image'; import { transformDatePicker } from './items/date-picker'; import { transformDivider } from './items/divider'; import { transformCheckboxes } from './items/checkboxes'; import { transformRadioButtons } from './items/radio-buttons'; import { transformPlainTextInput } from './items/plain-text-input'; import { transformTimePicker } from './items/time-picker'; // Composition fields import { transformText } from './items/text-object'; // Select import { transformChannelsSelect } from './items/select/channels-select'; import { transformOverflow } from './items/select/overflow'; import { transformConversationsSelect } from './items/select/conversations-select'; import { transformMultiConversationsSelect } from './items/select/multi-conversations-select'; import { transformUsersSelect } from './items/select/users-select'; import { transformSelect } from './items/select/select'; import { transformMultiUsersSelect } from './items/select/multi-users-select'; import { transformMultiStaticSelect } from './items/select/multi-static-select'; const methods: {[key:string]: Function} = { section: transformSection, users_select: transformUsersSelect, static_select: transformSelect, conversations_select: transformConversationsSelect, multi_conversations_select: transformMultiConversationsSelect, button: transformButton, image: transformImage, overflow: transformOverflow, datepicker: transformDatePicker, actions: transformActions, channels_select: transformChannelsSelect, divider: transformDivider, context: transformContext, plain_text: transformText, mrkdwn: transformText, header: transformHeader, checkboxes: transformCheckboxes, radio_buttons: transformRadioButtons, input: transformInput, plain_text_input: transformPlainTextInput, multi_users_select: transformMultiUsersSelect, multi_static_select: transformMultiStaticSelect, timepicker: transformTimePicker }; export const getMethods = (type: string): Function => { return getKeyValue(methods)(type) || getErrorObject({ type, message: 'Slack to Generic'}); }; export { methods }; export const methodsSlackToGenrric = methods;