fox-slack-block-builder
Version:
Maintainable code for interactive Slack messages, modals, home tabs, and workflow steps. A must-have for the Slack Block Kit framework.
33 lines (32 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OptionBuilder = void 0;
const base_1 = require("../internal/base");
const dto_1 = require("../internal/dto");
const helpers_1 = require("../internal/helpers");
const methods_1 = require("../internal/methods");
/**
* @@link https://api.slack.com/reference/block-kit/composition-objects#option
* @@displayName Option
*/
class OptionBuilder extends base_1.BitBuilderBase {
/** @internal */
build({ isMarkdown } = { isMarkdown: false }) {
return this.getResult(dto_1.SlackDto, {
text: isMarkdown
? (0, helpers_1.getMarkdownObject)(this.props.text)
: (0, helpers_1.getPlainTextObject)(this.props.text),
description: isMarkdown
? (0, helpers_1.getMarkdownObject)(this.props.description)
: (0, helpers_1.getPlainTextObject)(this.props.description),
});
}
}
exports.OptionBuilder = OptionBuilder;
(0, helpers_1.applyMixins)(OptionBuilder, [
methods_1.Description,
methods_1.End,
methods_1.Text,
methods_1.Url,
methods_1.Value,
]);