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.12 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
? helpers_1.getMarkdownObject(this.props.text)
: helpers_1.getPlainTextObject(this.props.text),
description: isMarkdown
? helpers_1.getMarkdownObject(this.props.description)
: helpers_1.getPlainTextObject(this.props.description),
});
}
}
exports.OptionBuilder = OptionBuilder;
helpers_1.applyMixins(OptionBuilder, [
methods_1.Description,
methods_1.End,
methods_1.Text,
methods_1.Url,
methods_1.Value,
]);