UNPKG

@onereach/channel-transformer

Version:

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

38 lines (31 loc) 1.05 kB
import { IGenericInput } from "../../../../generic/types"; import { IRWCAnswerComponent } from "../../../types"; export const transformInput = (msg: IRWCAnswerComponent): IGenericInput => { const input: IGenericInput = { type: 'input', props: { rwc: { suggestions: msg.vBind?.suggestions || [], validation: msg.vBind?.validation || {}, sendInputTypingEvent: msg.vBind?.sendInputTypingEvent || false } } }; if (input.props.rwc.validation?.rules) { const { rules } = input.props.rwc.validation; const characterLimitRule = rules.find(rule => rule.name === "characterLimits"); if (characterLimitRule) { [input.props.minLength, input.props.maxLength] = [characterLimitRule.min, characterLimitRule.max]; } } if (msg.vBind.predefinedText) { input.props.value = msg.vBind.predefinedText; } if (msg.vBind?.placeholder) { input.props.placeholder = msg.vBind.placeholder; } if (msg.vBind?.type) { input.props.rwc.type = msg.vBind.type; } return input; };