UNPKG

reblock

Version:

Build interactive Slack surfaces with React

19 lines (16 loc) 528 B
import { createContainer, render, Root } from '../renderer' import { jsxToBlocks } from '../jsx/blocks' import type React from 'react' import type Slack from '@slack/bolt' class OneTimeRoot extends Root { publish() {} } export function blocks(element: React.ReactNode): Slack.types.KnownBlock[] { const root = new OneTimeRoot() const container = createContainer(root) render(element, container) const children = root.getChildren() const [blocks] = jsxToBlocks(children) render(null, container) return blocks }