@onereach/channel-transformer
Version:
Convert data model between different channels (Slack, Microsoft Teams, Generic...)
41 lines (35 loc) • 878 B
text/typescript
/**
* Slack API Docs: https://api.slack.com/reference/block-kit/blocks#image
*/
import { IGenericImage } from '../../../generic/types';
import { ISlackImage } from '../../types';
import { transformTextObject } from './helpers/transform-text-object';
export const transformImage = ({
image_url,
alt_text,
title,
block_id
}: ISlackImage): IGenericImage => {
const res: IGenericImage = {
type: 'image',
props: {
url: image_url
}
};
if (alt_text) {
res.props.alt = alt_text;
}
if (title || block_id) {
res.props.slack = {};
}
if (title) {
res.props.title = transformTextObject(title).value;
res.props.slack.title_type = title.type;
res.props.slack.title_emoji = title.emoji;
res.props.slack.title_verbatim = title.verbatim;
}
if (block_id) {
res.props.slack.block_id = block_id;
}
return res;
};