@onereach/channel-transformer
Version:
Convert data model between different channels (Slack, Microsoft Teams, Generic...)
59 lines (54 loc) • 2.2 kB
text/typescript
import { getKeyValue } from '../../../../helpers/get-key-value';
import { getErrorObject } from '../../../../helpers/get-error-object';
import { transformSection } from './items/section';
import { transformText } from './items/text';
import { transformButton } from './items/button';
import { transformSelect } from './items/select';
import { transformImage } from './items/image';
import { transformHeader } from './items/header';
import { transformCard } from './items/card';
import { transformRadio } from './items/radio';
import { transformCheckbox } from './items/checkbox';
import { transformInput } from './items/input';
import { transformRange } from './items/range';
import { transformLocation } from './items/location';
import { transformDivider } from './items/divider';
import { transformDatepicker } from './items/date-picker';
import { transformTimepicker } from './items/time-picker';
import { transformFileUpload } from './items/file';
import { transformLink } from './items/link';
import { transformSwitch } from './items/switch';
import { transformCarousel } from './items/carousel';
import { transformButtonList } from './items/button-list';
import { transformAttachments } from './items/attachments';
import { transformFields } from './items/fields';
import { transformContext } from './items/context';
const methods: { [key: string]: Function } = {
section: transformSection,
text: transformText,
header: transformHeader,
image: transformImage,
card: transformCard,
button: transformButton,
select: transformSelect,
radio: transformRadio,
checkbox: transformCheckbox,
input: transformInput,
range: transformRange,
location: transformLocation,
divider: transformDivider,
datePicker: transformDatepicker,
timePicker: transformTimepicker,
file: transformFileUpload,
link: transformLink,
switch: transformSwitch,
carousel: transformCarousel,
buttonList: transformButtonList,
attachments: transformAttachments,
fields: transformFields,
context: transformContext
};
export const getMethods = (type: string): Function => {
return getKeyValue(methods)(type) || getErrorObject({ type, message: 'Generic to RWC' });
};
export { methods };