UNPKG

@mkljczk/lexical-remark

Version:

This package contains Markdown helpers and functionality for Lexical using remark-parse.

24 lines (20 loc) 748 B
import { LexicalNode, RootNode } from 'lexical'; import { Root } from 'mdast'; import { DummyRootNode } from '../../extensions/collapsible/dummyRoot/node.js'; import { Handler } from '../parser.js'; export const root: Handler<Root> = (node, parser) => { const lexicalNode = new RootNode(); parser.push(lexicalNode); node.children.forEach((child) => parser.parse(child)); parser.pop(lexicalNode); return lexicalNode; }; export const dummyRoot: Handler<Root> = (node, parser) => { const lexicalNode = new DummyRootNode(); parser.push(lexicalNode); node.children.forEach((child) => parser.parse(child)); if (parser.stack.length > 1) { lexicalNode.setStack(parser.stack.slice(1) as LexicalNode[]); } return lexicalNode; };