UNPKG

@onereach/channel-transformer

Version:

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

32 lines (28 loc) 946 B
import { IGenericSection } from '../../../../generic/types'; import { IRWCMessage } from '../../../types'; import { getMethods } from '../methods'; import { RWCv5Message } from '../../../classes/v5'; export const transformContext = ({ children }: IGenericSection, isPlain:boolean): IRWCMessage => { const words = children.map(item => { const child = getMethods(item.type)(item, true); return { type: item.type, message: child?.message || child?.vBind?.text || '' }; }); let message; if (isPlain) { message = words.map(w => w.message).join(" "); } else { message = words.map(w => { if (w.type === 'text') { return `<span style="margin-right: 5px;">${w.message}</span>`; } if (w.type === 'image') { return `<img src="${w.message}" style="height: 20px; margin-right: 5px;" />`; } return w.message; }).join(""); } return new RWCv5Message(message); };