UNPKG

@onereach/channel-transformer

Version:

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

42 lines (36 loc) 1.19 kB
import { IGenericTimePicker } from '../../../generic/types'; import { ISlackTimePicker } from '../../types'; import { transformTextObject } from './helpers/transform-text-object'; import { transformConfirm } from './confirm'; export const transformTimePicker = ({ action_id, placeholder, initial_time, confirm }: ISlackTimePicker): IGenericTimePicker => { const res: IGenericTimePicker = { type: 'timePicker', props: { variableName: action_id, slack: {} } }; if (placeholder) { res.props.placeholder = transformTextObject(placeholder).value, res.props.slack.placeholder_type = placeholder.type; res.props.slack.placeholder_emoji = placeholder.emoji; res.props.slack.placeholder_verbatim = placeholder.verbatim; } if (initial_time) { const [HH, mm] = initial_time.split(':').map(v => parseInt(v)); const mod = HH >= 12 ? 'pm' : 'am'; const hour = (HH === 0) ? 12 : ((HH > 12) ? HH - 12 : HH); const hh = hour >= 10 ? hour : `0${hour}`; res.props.value = `${hh}:${mm} ${mod}`; res.props.timeformat = 12; } if (confirm) { res.props.slack.confirm = transformConfirm(confirm); } return res; };