@onereach/channel-transformer
Version:
Convert data model between different channels (Slack, Microsoft Teams, Generic...)
69 lines (59 loc) • 2.65 kB
text/typescript
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;