UNPKG

4.26 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/Elements.js"],"names":[],"mappings":"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","file":"Elements.js","sourcesContent":["import Buttons from './Buttons';\n\nclass Elements {\n constructor() {\n this._elements = [];\n }\n\n add({text, image, subtext, buttons}) {\n if (buttons) {\n if (!(buttons instanceof Buttons)) {\n throw Error('buttons not instanceof Buttons');\n }\n } else {\n buttons = null;\n }\n\n this._elements.push({text, image, subtext, buttons});\n return this;\n }\n\n get length() {\n return this._elements.length;\n }\n\n toJSON() {\n if (this._elements.length > 1) {\n const elements = [];\n for (const e of this._elements) {\n const element = {};\n if (e.text) element.title = e.text;\n if (e.image) element.image_url = e.image;\n if (e.subtext) element.subtitle = e.subtext;\n if (e.buttons && e.buttons.length) element.buttons = e.buttons.toJSON();\n elements.push(element);\n }\n return {attachment: {type: 'template', payload: {template_type: 'generic', elements}}};\n } else if (this._elements.length === 1) {\n const e = this._elements[0];\n const element = {};\n if (e.text && e.buttons && e.buttons.length && e.image) {\n element.title = e.text;\n element.image_url = e.image;\n if (e.subtext) element.subtitle = e.subtext;\n element.buttons = e.buttons.toJSON();\n return {attachment: {type: 'template', payload: {template_type: 'generic', elements: [element]}}};\n } else if (e.text && e.buttons && e.buttons.length) {\n element.text = e.text;\n if (e.image) element.image_url = e.image;\n element.buttons = e.buttons.toJSON();\n return {attachment: {type: 'template', payload: {template_type: 'button', ...element}}};\n } else if (e.text) {\n return {text: e.text};\n } else if (e.image) {\n return {attachment: {type: 'image', payload: {url: e.image}}};\n }\n }\n\n throw Error('Could not form a message. Have you followed the format?');\n }\n}\n\nexport default Elements;\n"]}
\No newline at end of file