@shgysk8zer0/slack
Version:
An npm package for sending messages in Slack
48 lines (37 loc) • 956 B
JavaScript
;
var block = require('./block.cjs');
var plainText = require('../element/plain-text.cjs');
var functions = require('../functions.cjs');
class SlackHeaderBlock extends block.SlackBlock {
#text;
constructor(text, { id } = {}) {
super({ id });
if (typeof text !== 'undefined') {
this.text = text;
}
}
get text() {
return this.#text;
}
set text(val) {
if (val instanceof plainText.SlackPlainTextElement) {
this.#text = val;
} else if (typeof val === 'string') {
this.text = new plainText.SlackPlainTextElement(val);
} else {
throw new TypeError('text must be a string or plain SlackPlainTextElement.');
}
}
toJSON() {
return {
...super.toJSON(),
text: this.#text,
};
}
static get TYPE() {
return 'header';
}
}
const createSlackHeaderBlock = functions.createFactory(SlackHeaderBlock);
exports.SlackHeaderBlock = SlackHeaderBlock;
exports.createSlackHeaderBlock = createSlackHeaderBlock;