Parser for Slack message
npm install slack-message-parser





Parser library for Slack message format.
Requires Node.js >=v16.
``sh`
npm i --save slack-message-parseryarn add slack-message-parser
Usage with Typescript (recommended).
`ts
import slackMessageParser, { Node, NodeType } from "slack-message-parser";
const tree = slackMessageParser("Slack message ~to~ _parse_");
// tree is:
// {
// type: NodeType.Root,
// children: [
// {
// type: NodeType.Text,
// text: "Slack ",
// . source: "Slack "
// },
// {
// type: NodeType.Bold,
// children: [
// {
// type: NodeType.Text,
// text: "message"
// }
// ],
// . source: "message"
// },
// ...
// ],
// source: "Slack message ~to~ _parse_"
// }
// Write your own!
const toHTML = (node: Node): string => {
switch (node.type) {
case NodeType.Root:
return
${node.children.map(toHTML).join("")}
;
case NodeType.Text:
return node.text;
case NodeType.Bold:
return ${node.children.map(toHTML).join("")};
case NodeType.Italic:
return ${node.children.map(toHTML).join("")};
case NodeType.Strike:
return ;
default:
// You can use source property, which every nodes have, to serialize unknown nodes as-is
return node.source;
}
};console.log(toHTML(tree));
// Output:
// '
Slack message to parse
'
``