Files
sgauthier 6e64e138e2
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
planning
2024-10-14 09:15:30 +02:00

1 line
54 KiB
Plaintext

{"version":3,"file":"index.mjs","sources":["../src/src/utils.ts","../src/src/transformers/mdast-to-slate/index.ts","../src/src/plugins/remark-to-slate.ts","../src/src/transformers/slate-to-mdast/index.ts","../src/src/plugins/slate-to-remark.ts","../src/src/transformers/slate0.47-to-slate.ts","../src/src/plugins/slate0.47-to-remark.ts","../src/src/transformers/slate-to-slate0.47.ts","../src/src/plugins/remark-to-slate0.47.ts"],"sourcesContent":["export const unreachable = (_: never): never => {\n throw new Error(\"unreachable\");\n};\n","import type * as slate from \"../../models/slate\";\nimport type * as mdast from \"../../models/mdast\";\nimport { unreachable } from \"../../utils\";\n\nexport type Decoration = Readonly<{\n [key in (\n | mdast.Emphasis\n | mdast.Strong\n | mdast.Delete\n | mdast.InlineCode\n )[\"type\"]]?: true;\n}>;\n\nexport type OverridedMdastBuilders = {\n [key in mdast.Content[\"type\"]]?: MdastBuilder<key>;\n} & ({ [key: string]: MdastBuilder<typeof key> } | {});\n\nexport type MdastBuilder<T extends string> = (\n node: T extends mdast.Content[\"type\"]\n ? Extract<mdast.Content, { type: T }>\n : unknown,\n next: (children: any[]) => any\n) => object | undefined;\n\nexport const mdastToSlate = (\n node: mdast.Root,\n overrides: OverridedMdastBuilders\n): slate.Node[] => {\n return buildSlateRoot(node, overrides);\n};\n\nconst buildSlateRoot = (\n root: mdast.Root,\n overrides: OverridedMdastBuilders\n): slate.Node[] => {\n return convertNodes(root.children, {}, overrides);\n};\n\nconst convertNodes = (\n nodes: mdast.Content[],\n deco: Decoration,\n overrides: OverridedMdastBuilders\n): slate.Node[] => {\n return nodes.reduce<slate.Node[]>((acc, node) => {\n acc.push(...buildSlateNode(node, deco, overrides));\n return acc;\n }, []);\n};\n\nconst buildSlateNode = (\n node: mdast.Content,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n): SlateNode[] => {\n const customNode = overrides[node.type]?.(node as any, (children) =>\n convertNodes(children, deco, overrides)\n );\n if (customNode != null) {\n return [customNode as SlateNode];\n }\n\n switch (node.type) {\n case \"paragraph\":\n return [buildParagraph(node, deco, overrides)];\n case \"heading\":\n return [buildHeading(node, deco, overrides)];\n case \"thematicBreak\":\n return [buildThematicBreak(node)];\n case \"blockquote\":\n return [buildBlockquote(node, deco, overrides)];\n case \"list\":\n return [buildList(node, deco, overrides)];\n case \"listItem\":\n return [buildListItem(node, deco, overrides)];\n case \"table\":\n return [buildTable(node, deco, overrides)];\n case \"tableRow\":\n return [buildTableRow(node, deco, overrides)];\n case \"tableCell\":\n return [buildTableCell(node, deco, overrides)];\n case \"html\":\n return [buildHtml(node)];\n case \"code\":\n return [buildCode(node)];\n case \"yaml\":\n return [buildYaml(node)];\n case \"toml\":\n return [buildToml(node)];\n case \"definition\":\n return [buildDefinition(node)];\n case \"footnoteDefinition\":\n return [buildFootnoteDefinition(node, deco, overrides)];\n case \"text\":\n return [buildText(node.value, deco)];\n case \"emphasis\":\n case \"strong\":\n case \"delete\": {\n const { type, children } = node;\n return children.reduce<SlateNode[]>((acc, n) => {\n acc.push(...buildSlateNode(n, { ...deco, [type]: true }, overrides));\n return acc;\n }, []);\n }\n case \"inlineCode\": {\n const { type, value } = node;\n return [buildText(value, { ...deco, [type]: true })];\n }\n case \"break\":\n return [buildBreak(node)];\n case \"link\":\n return [buildLink(node, deco, overrides)];\n case \"image\":\n return [buildImage(node)];\n case \"linkReference\":\n return [buildLinkReference(node, deco, overrides)];\n case \"imageReference\":\n return [buildImageReference(node)];\n case \"footnote\":\n return [buildFootnote(node, deco, overrides)];\n case \"footnoteReference\":\n return [buildFootnoteReference(node)];\n case \"math\":\n return [buildMath(node)];\n case \"inlineMath\":\n return [buildInlineMath(node)];\n default:\n unreachable(node);\n break;\n }\n return [];\n};\n\nexport type Paragraph = ReturnType<typeof buildParagraph>;\n\nconst buildParagraph = (\n { type, children }: mdast.Paragraph,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n) => {\n return {\n type,\n children: convertNodes(children, deco, overrides),\n };\n};\n\nexport type Heading = ReturnType<typeof buildHeading>;\n\nconst buildHeading = (\n { type, children, depth }: mdast.Heading,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n) => {\n return {\n type,\n depth,\n children: convertNodes(children, deco, overrides),\n };\n};\n\nexport type ThematicBreak = ReturnType<typeof buildThematicBreak>;\n\nconst buildThematicBreak = ({ type }: mdast.ThematicBreak) => {\n return {\n type,\n children: [{ text: \"\" }],\n };\n};\n\nexport type Blockquote = ReturnType<typeof buildBlockquote>;\n\nconst buildBlockquote = (\n { type, children }: mdast.Blockquote,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n) => {\n return {\n type,\n children: convertNodes(children, deco, overrides),\n };\n};\n\nexport type List = ReturnType<typeof buildList>;\n\nconst buildList = (\n { type, children, ordered, start, spread }: mdast.List,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n) => {\n return {\n type,\n children: convertNodes(children, deco, overrides),\n ordered,\n start,\n spread,\n };\n};\n\nexport type ListItem = ReturnType<typeof buildListItem>;\n\nconst buildListItem = (\n { type, children, checked, spread }: mdast.ListItem,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n) => {\n return {\n type,\n children:\n // https://github.com/inokawa/remark-slate-transformer/issues/42\n // https://github.com/inokawa/remark-slate-transformer/issues/129\n children.length === 0\n ? [{ text: \"\" }]\n : convertNodes(children, deco, overrides),\n checked,\n spread,\n };\n};\n\nexport type Table = ReturnType<typeof buildTable>;\n\nconst buildTable = (\n { type, children, align }: mdast.Table,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n) => {\n return {\n type,\n children: convertNodes(children, deco, overrides),\n align,\n };\n};\n\nexport type TableRow = ReturnType<typeof buildTableRow>;\n\nconst buildTableRow = (\n { type, children }: mdast.TableRow,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n) => {\n return {\n type,\n children: convertNodes(children, deco, overrides),\n };\n};\n\nexport type TableCell = ReturnType<typeof buildTableCell>;\n\nconst buildTableCell = (\n { type, children }: mdast.TableCell,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n) => {\n return {\n type,\n children: convertNodes(children, deco, overrides),\n };\n};\n\nexport type Html = ReturnType<typeof buildHtml>;\n\nconst buildHtml = ({ type, value }: mdast.HTML) => {\n return {\n type,\n children: [{ text: value }],\n };\n};\n\nexport type Code = ReturnType<typeof buildCode>;\n\nconst buildCode = ({ type, value, lang, meta }: mdast.Code) => {\n return {\n type,\n lang,\n meta,\n children: [{ text: value }],\n };\n};\n\nexport type Yaml = ReturnType<typeof buildYaml>;\n\nconst buildYaml = ({ type, value }: mdast.YAML) => {\n return {\n type,\n children: [{ text: value }],\n };\n};\n\nexport type Toml = ReturnType<typeof buildToml>;\n\nconst buildToml = ({ type, value }: mdast.TOML) => {\n return {\n type,\n children: [{ text: value }],\n };\n};\n\nexport type Math = ReturnType<typeof buildMath>;\n\nconst buildMath = ({ type, value }: mdast.Math) => {\n return {\n type,\n children: [{ text: value }],\n };\n};\n\nexport type InlineMath = ReturnType<typeof buildInlineMath>;\n\nconst buildInlineMath = ({ type, value }: mdast.InlineMath) => {\n return {\n type,\n children: [{ text: value }],\n };\n};\n\nexport type Definition = ReturnType<typeof buildDefinition>;\n\nconst buildDefinition = ({\n type,\n identifier,\n label,\n url,\n title,\n}: mdast.Definition) => {\n return {\n type,\n identifier,\n label,\n url,\n title,\n children: [{ text: \"\" }],\n };\n};\n\nexport type FootnoteDefinition = ReturnType<typeof buildFootnoteDefinition>;\n\nconst buildFootnoteDefinition = (\n { type, children, identifier, label }: mdast.FootnoteDefinition,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n) => {\n return {\n type,\n children: convertNodes(children, deco, overrides),\n identifier,\n label,\n };\n};\n\nexport type Text = ReturnType<typeof buildText>;\n\nconst buildText = (text: string, deco: Decoration) => {\n return {\n ...deco,\n text,\n };\n};\n\nexport type Break = ReturnType<typeof buildBreak>;\n\nconst buildBreak = ({ type }: mdast.Break) => {\n return {\n type,\n children: [{ text: \"\" }],\n };\n};\n\nexport type Link = ReturnType<typeof buildLink>;\n\nconst buildLink = (\n { type, children, url, title }: mdast.Link,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n) => {\n return {\n type,\n children: convertNodes(children, deco, overrides),\n url,\n title,\n };\n};\n\nexport type Image = ReturnType<typeof buildImage>;\n\nconst buildImage = ({ type, url, title, alt }: mdast.Image) => {\n return {\n type,\n url,\n title,\n alt,\n children: [{ text: \"\" }],\n };\n};\n\nexport type LinkReference = ReturnType<typeof buildLinkReference>;\n\nconst buildLinkReference = (\n { type, children, referenceType, identifier, label }: mdast.LinkReference,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n) => {\n return {\n type,\n children: convertNodes(children, deco, overrides),\n referenceType,\n identifier,\n label,\n };\n};\n\nexport type ImageReference = ReturnType<typeof buildImageReference>;\n\nconst buildImageReference = ({\n type,\n alt,\n referenceType,\n identifier,\n label,\n}: mdast.ImageReference) => {\n return {\n type,\n alt,\n referenceType,\n identifier,\n label,\n children: [{ text: \"\" }],\n };\n};\n\nexport type Footnote = ReturnType<typeof buildFootnote>;\n\nconst buildFootnote = (\n { type, children }: mdast.Footnote,\n deco: Decoration,\n overrides: OverridedMdastBuilders\n) => {\n return {\n type,\n children: convertNodes(children, deco, overrides),\n };\n};\n\nexport type FootnoteReference = ReturnType<typeof buildFootnoteReference>;\n\nconst buildFootnoteReference = ({\n type,\n identifier,\n label,\n}: mdast.FootnoteReference) => {\n return {\n type,\n identifier,\n label,\n children: [{ text: \"\" }],\n };\n};\n\nexport type SlateNode =\n | Paragraph\n | Heading\n | ThematicBreak\n | Blockquote\n | List\n | ListItem\n | Table\n | TableRow\n | TableCell\n | Html\n | Code\n | Yaml\n | Toml\n | Definition\n | FootnoteDefinition\n | Text\n | Break\n | Link\n | Image\n | LinkReference\n | ImageReference\n | Footnote\n | FootnoteReference\n | Math\n | InlineMath;\n","import type { Plugin } from \"unified\";\nimport type * as mdast from \"../models/mdast\";\nimport type * as slate from \"../models/slate\";\nimport {\n OverridedMdastBuilders,\n mdastToSlate,\n} from \"../transformers/mdast-to-slate\";\n\nexport type Options = {\n overrides?: OverridedMdastBuilders;\n};\n\nconst plugin: Plugin<[Options?], mdast.Root, slate.Node[]> = function ({\n overrides = {},\n} = {}) {\n this.Compiler = function (node) {\n return mdastToSlate(node, overrides);\n };\n};\nexport default plugin;\n","import type * as unistLib from \"unist\";\nimport type * as slate from \"../../models/slate\";\nimport type * as mdast from \"../../models/mdast\";\nimport type * as slateInternal from \"../mdast-to-slate\";\nimport { unreachable } from \"../../utils\";\n\ntype DecorationType = keyof slateInternal.Decoration;\n\ntype TextOrDecoration =\n | mdast.Text\n | mdast.Emphasis\n | mdast.Strong\n | mdast.Delete\n | mdast.InlineCode;\n\nexport type OverridedSlateBuilders = { [key: string]: SlateBuilder };\n\nexport type SlateBuilder = (\n node: unknown,\n next: (children: any[]) => any\n) => object | undefined;\n\nexport const slateToMdast = (\n node: slate.Node,\n overrides: OverridedSlateBuilders\n): mdast.Root => {\n return buildMdastRoot(node, overrides);\n};\n\nconst buildMdastRoot = (\n node: slate.Node,\n overrides: OverridedSlateBuilders\n): mdast.Root => {\n return <mdast.Root>{\n type: \"root\",\n children: convertNodes(\n (node as any).children,\n overrides\n ) as mdast.Root[\"children\"],\n };\n};\n\nconst convertNodes = (\n nodes: slate.Node[],\n overrides: OverridedSlateBuilders\n): unistLib.Node[] => {\n const mdastNodes: unistLib.Node[] = [];\n let textQueue: slateInternal.Text[] = [];\n for (let i = 0; i <= nodes.length; i++) {\n const n = nodes[i] as slateInternal.SlateNode;\n if (n && isText(n)) {\n textQueue.push(n);\n } else {\n mdastNodes.push(...(convertTexts(textQueue) as any as unistLib.Node[]));\n textQueue = [];\n if (!n) continue;\n const node = buildMdastNode(n, overrides);\n if (node) {\n mdastNodes.push(node as unistLib.Node);\n }\n }\n }\n\n return mdastNodes;\n};\n\nconst convertTexts = (\n slateTexts: readonly slateInternal.Text[]\n): TextOrDecoration[] => {\n const mdastTexts: TextOrDecoration[] = [];\n const starts: DecorationType[] = [];\n let ends: DecorationType[] = [];\n let textTemp: string = \"\";\n for (let j = 0; j < slateTexts.length; j++) {\n const cur = slateTexts[j]!;\n textTemp += cur.text;\n\n const prevStarts = starts.slice();\n const prevEnds = ends.slice();\n\n const prev = slateTexts[j - 1];\n const next = slateTexts[j + 1];\n ends = [];\n (\n [\n \"emphasis\",\n \"strong\",\n \"delete\",\n // inlineCode should be last because of the spec in mdast\n // https://github.com/inokawa/remark-slate-transformer/issues/145\n \"inlineCode\",\n ] as const\n ).forEach((k) => {\n if (cur[k]) {\n if (!prev || !prev[k]) {\n starts.push(k);\n }\n if (!next || !next[k]) {\n ends.push(k);\n }\n }\n });\n\n const endsToRemove = starts.reduce<\n { key: DecorationType; index: number }[]\n >((acc, k, kIndex) => {\n if (ends.includes(k)) {\n acc.push({ key: k, index: kIndex });\n }\n return acc;\n }, []);\n\n if (starts.length > 0) {\n let bef = \"\";\n let aft = \"\";\n if (\n endsToRemove.length === 1 &&\n (prevStarts.toString() !== starts.toString() ||\n // https://github.com/inokawa/remark-slate-transformer/issues/90\n (prevEnds.includes(\"emphasis\") && ends.includes(\"strong\"))) &&\n starts.length - endsToRemove.length === 0\n ) {\n while (textTemp.startsWith(\" \")) {\n bef += \" \";\n textTemp = textTemp.slice(1);\n }\n while (textTemp.endsWith(\" \")) {\n aft += \" \";\n textTemp = textTemp.slice(0, -1);\n }\n }\n let res: TextOrDecoration = {\n type: \"text\",\n value: textTemp,\n };\n textTemp = \"\";\n const startsReversed = starts.slice().reverse();\n startsReversed.forEach((k) => {\n switch (k) {\n case \"inlineCode\":\n res = {\n type: k,\n value: (res as any).value,\n };\n break;\n case \"strong\":\n case \"emphasis\":\n case \"delete\":\n res = {\n type: k,\n children: [res],\n };\n break;\n default:\n unreachable(k);\n break;\n }\n });\n const arr: TextOrDecoration[] = [];\n if (bef.length > 0) {\n arr.push({ type: \"text\", value: bef });\n }\n arr.push(res);\n if (aft.length > 0) {\n arr.push({ type: \"text\", value: aft });\n }\n mdastTexts.push(...arr);\n }\n\n if (endsToRemove.length > 0) {\n endsToRemove.reverse().forEach((e) => {\n starts.splice(e.index, 1);\n });\n } else {\n mdastTexts.push({ type: \"text\", value: textTemp });\n textTemp = \"\";\n }\n }\n if (textTemp) {\n mdastTexts.push({ type: \"text\", value: textTemp });\n textTemp = \"\";\n }\n return mergeTexts(mdastTexts);\n};\n\nconst buildMdastNode = (\n node: Exclude<slateInternal.SlateNode, slateInternal.Text>,\n overrides: OverridedSlateBuilders\n): Exclude<mdast.Content, TextOrDecoration> | null => {\n const customNode = overrides[node.type]?.(node as any, (children) =>\n convertNodes(children, overrides)\n );\n if (customNode != null) {\n return customNode as any;\n }\n\n switch (node.type) {\n case \"paragraph\":\n return buildParagraph(node, overrides);\n case \"heading\":\n return buildHeading(node, overrides);\n case \"thematicBreak\":\n return buildThematicBreak(node);\n case \"blockquote\":\n return buildBlockquote(node, overrides);\n case \"list\":\n return buildList(node, overrides);\n case \"listItem\":\n return buildListItem(node, overrides);\n case \"table\":\n return buildTable(node, overrides);\n case \"tableRow\":\n return buildTableRow(node, overrides);\n case \"tableCell\":\n return buildTableCell(node, overrides);\n case \"html\":\n return buildHtml(node);\n case \"code\":\n return buildCode(node);\n case \"yaml\":\n return buildYaml(node);\n case \"toml\":\n return buildToml(node);\n case \"definition\":\n return buildDefinition(node);\n case \"footnoteDefinition\":\n return buildFootnoteDefinition(node, overrides);\n case \"break\":\n return buildBreak(node);\n case \"link\":\n return buildLink(node, overrides);\n case \"image\":\n return buildImage(node);\n case \"linkReference\":\n return buildLinkReference(node, overrides);\n case \"imageReference\":\n return buildImageReference(node);\n case \"footnote\":\n return buildFootnote(node, overrides);\n case \"footnoteReference\":\n return creatFootnoteReference(node);\n case \"math\":\n return buildMath(node);\n case \"inlineMath\":\n return buildInlineMath(node);\n default:\n unreachable(node);\n break;\n }\n return null;\n};\n\nconst isText = (node: slateInternal.SlateNode): node is slateInternal.Text => {\n return \"text\" in node;\n};\n\nconst mergeTexts = (nodes: TextOrDecoration[]): TextOrDecoration[] => {\n const res: TextOrDecoration[] = [];\n for (const cur of nodes) {\n const last = res[res.length - 1];\n if (last && last.type === cur.type) {\n if (last.type === \"text\") {\n last.value += (cur as typeof last).value;\n } else if (last.type === \"inlineCode\") {\n last.value += (cur as typeof last).value;\n } else {\n last.children = mergeTexts(\n last.children.concat(\n (cur as typeof last).children\n ) as TextOrDecoration[]\n );\n }\n } else {\n if (cur.type === \"text\" && cur.value === \"\") continue;\n res.push(cur);\n }\n }\n return res;\n};\n\nconst buildParagraph = (\n { type, children }: slateInternal.Paragraph,\n overrides: OverridedSlateBuilders\n): mdast.Paragraph => {\n return {\n type,\n children: convertNodes(children, overrides) as mdast.Paragraph[\"children\"],\n };\n};\n\nconst buildHeading = (\n { type, depth, children }: slateInternal.Heading,\n overrides: OverridedSlateBuilders\n): mdast.Heading => {\n return {\n type,\n depth,\n children: convertNodes(children, overrides) as mdast.Heading[\"children\"],\n };\n};\n\nconst buildThematicBreak = ({\n type,\n}: slateInternal.ThematicBreak): mdast.ThematicBreak => {\n return {\n type,\n };\n};\n\nconst buildBlockquote = (\n { type, children }: slateInternal.Blockquote,\n overrides: OverridedSlateBuilders\n): mdast.Blockquote => {\n return {\n type,\n children: convertNodes(children, overrides) as mdast.Blockquote[\"children\"],\n };\n};\n\nconst buildList = (\n { type, ordered, start, spread, children }: slateInternal.List,\n overrides: OverridedSlateBuilders\n): mdast.List => {\n return {\n type,\n ordered,\n start,\n spread,\n children: convertNodes(children, overrides) as mdast.List[\"children\"],\n };\n};\n\nconst buildListItem = (\n { type, checked, spread, children }: slateInternal.ListItem,\n overrides: OverridedSlateBuilders\n): mdast.ListItem => {\n return {\n type,\n checked,\n spread,\n children: convertNodes(children, overrides) as mdast.ListItem[\"children\"],\n };\n};\n\nconst buildTable = (\n { type, align, children }: slateInternal.Table,\n overrides: OverridedSlateBuilders\n): mdast.Table => {\n return {\n type,\n align,\n children: convertNodes(children, overrides) as mdast.Table[\"children\"],\n };\n};\n\nconst buildTableRow = (\n { type, children }: slateInternal.TableRow,\n overrides: OverridedSlateBuilders\n): mdast.TableRow => {\n return {\n type,\n children: convertNodes(children, overrides) as mdast.TableRow[\"children\"],\n };\n};\n\nconst buildTableCell = (\n { type, children }: slateInternal.TableCell,\n overrides: OverridedSlateBuilders\n): mdast.TableCell => {\n return {\n type,\n children: convertNodes(children, overrides) as mdast.TableCell[\"children\"],\n };\n};\n\nconst buildHtml = ({ type, children }: slateInternal.Html): mdast.HTML => {\n return {\n type,\n value: children[0]!.text,\n };\n};\n\nconst buildCode = ({\n type,\n lang,\n meta,\n children,\n}: slateInternal.Code): mdast.Code => {\n return {\n type,\n lang,\n meta,\n value: children[0]!.text,\n };\n};\n\nconst buildYaml = ({ type, children }: slateInternal.Yaml): mdast.YAML => {\n return {\n type,\n value: children[0]!.text,\n };\n};\n\nconst buildToml = ({ type, children }: slateInternal.Toml): mdast.TOML => {\n return {\n type,\n value: children[0]!.text,\n };\n};\n\nconst buildDefinition = ({\n type,\n identifier,\n label,\n url,\n title,\n}: slateInternal.Definition): mdast.Definition => {\n return {\n type,\n identifier,\n label,\n url,\n title,\n };\n};\n\nconst buildFootnoteDefinition = (\n { type, identifier, label, children }: slateInternal.FootnoteDefinition,\n overrides: OverridedSlateBuilders\n): mdast.FootnoteDefinition => {\n return {\n type,\n identifier,\n label,\n children: convertNodes(\n children,\n overrides\n ) as mdast.FootnoteDefinition[\"children\"],\n };\n};\n\nconst buildBreak = ({ type }: slateInternal.Break): mdast.Break => {\n return {\n type,\n };\n};\n\nconst buildLink = (\n { type, url, title, children }: slateInternal.Link,\n overrides: OverridedSlateBuilders\n): mdast.Link => {\n return {\n type,\n url,\n title,\n children: convertNodes(children, overrides) as mdast.Link[\"children\"],\n };\n};\n\nconst buildImage = ({\n type,\n url,\n title,\n alt,\n}: slateInternal.Image): mdast.Image => {\n return {\n type,\n url,\n title,\n alt,\n };\n};\n\nconst buildLinkReference = (\n {\n type,\n identifier,\n label,\n referenceType,\n children,\n }: slateInternal.LinkReference,\n overrides: OverridedSlateBuilders\n): mdast.LinkReference => {\n return {\n type,\n identifier,\n label,\n referenceType,\n children: convertNodes(\n children,\n overrides\n ) as mdast.LinkReference[\"children\"],\n };\n};\n\nconst buildImageReference = ({\n type,\n identifier,\n label,\n alt,\n referenceType,\n}: slateInternal.ImageReference): mdast.ImageReference => {\n return {\n type,\n identifier,\n label,\n alt,\n referenceType,\n };\n};\n\nconst buildFootnote = (\n { type, children }: slateInternal.Footnote,\n overrides: OverridedSlateBuilders\n): mdast.Footnote => {\n return {\n type,\n children: convertNodes(children, overrides) as mdast.Footnote[\"children\"],\n };\n};\n\nconst creatFootnoteReference = ({\n type,\n identifier,\n label,\n}: slateInternal.FootnoteReference): mdast.FootnoteReference => {\n return {\n type,\n identifier,\n label,\n };\n};\n\nconst buildMath = ({ type, children }: slateInternal.Math): mdast.Math => {\n return {\n type,\n value: children[0]!.text,\n };\n};\n\nconst buildInlineMath = ({\n type,\n children,\n}: slateInternal.InlineMath): mdast.InlineMath => {\n return {\n type,\n value: children[0]!.text,\n };\n};\n","import type { Plugin } from \"unified\";\nimport type * as mdast from \"../models/mdast\";\nimport type * as slate from \"../models/slate\";\nimport {\n slateToMdast,\n OverridedSlateBuilders,\n} from \"../transformers/slate-to-mdast\";\n\nexport type Options = {\n overrides?: OverridedSlateBuilders;\n};\n\nconst plugin: Plugin<[Options?], slate.Node, mdast.Root> = ({\n overrides = {},\n} = {}) => {\n return function (node) {\n return slateToMdast(node, overrides);\n };\n};\nexport default plugin;\n","import type { BlockJSON, InlineJSON, TextJSON } from \"slate_legacy\";\nimport type * as slate from \"../models/slate\";\n\nexport const slate047ToSlate = (\n nodes: (BlockJSON | InlineJSON | TextJSON)[]\n): slate.Node[] => {\n return convertNodes(nodes);\n};\n\nconst convertNodes = (\n nodes: (BlockJSON | InlineJSON | TextJSON)[]\n): slate.Node[] => {\n return nodes.reduce<slate.Node[]>((acc, n) => {\n const node = convert(n as BlockJSON);\n if (node) {\n acc.push(node);\n }\n return acc;\n }, []);\n};\n\nconst convert = (\n node: BlockJSON | InlineJSON | TextJSON\n): slate.Node | null => {\n switch (node.object) {\n case \"block\": {\n const { type, nodes, data } = node;\n return {\n type,\n children: convertNodes(nodes as BlockJSON[]),\n ...data,\n };\n }\n case \"inline\": {\n const { type, nodes, data } = node;\n return {\n type,\n children: convertNodes(nodes as InlineJSON[]),\n ...data,\n };\n }\n case \"text\": {\n const { text = \"\", marks } = node;\n return {\n text,\n ...marks?.reduce((acc, m) => {\n acc[m.type] = true;\n return acc;\n }, {} as { [key: string]: true }),\n };\n }\n default:\n break;\n }\n return null;\n};\n","import type { Plugin } from \"unified\";\nimport { slateToMdast } from \"../transformers/slate-to-mdast\";\nimport { slate047ToSlate } from \"../transformers/slate0.47-to-slate\";\n\nconst plugin: Plugin<[]> = function () {\n return function (node) {\n return slateToMdast(\n {\n type: \"root\",\n children: slate047ToSlate((node as any).children),\n },\n {}\n );\n };\n};\nexport default plugin;\n","import type {\n ValueJSON,\n BlockJSON,\n InlineJSON,\n TextJSON,\n MarkJSON,\n} from \"slate_legacy\";\nimport type { Decoration, SlateNode } from \"./mdast-to-slate\";\n\nexport const slateToSlate047 = (nodes: SlateNode[]): ValueJSON => {\n return {\n object: \"value\",\n document: {\n object: \"document\",\n nodes: convertNodes(nodes),\n },\n };\n};\n\nconst convertNodes = (\n nodes: SlateNode[]\n): (BlockJSON | InlineJSON | TextJSON)[] => {\n return nodes.reduce<(BlockJSON | InlineJSON | TextJSON)[]>((acc, n) => {\n const node = convert(n as SlateNode);\n if (node) {\n acc.push(node);\n }\n return acc;\n }, []);\n};\n\nconst convert = (node: SlateNode): BlockJSON | InlineJSON | TextJSON | null => {\n if (\"text\" in node) {\n const { text, ...rest } = node;\n const marks: MarkJSON[] = Object.keys(rest).reduce<\n { object: \"mark\"; type: string }[]\n >((acc, type) => {\n if (!rest[type as keyof Decoration]) return acc;\n acc.push({\n object: \"mark\",\n type,\n });\n return acc;\n }, []);\n const res: TextJSON = {\n object: \"text\",\n text,\n marks,\n };\n return res;\n }\n switch (node.type) {\n case \"paragraph\":\n case \"heading\":\n case \"blockquote\":\n case \"list\":\n case \"listItem\":\n case \"table\":\n case \"tableRow\":\n case \"tableCell\":\n case \"html\":\n case \"code\":\n case \"yaml\":\n case \"toml\":\n case \"thematicBreak\":\n case \"definition\":\n case \"break\":\n case \"math\": {\n const { type, children, ...rest } = node;\n const res: BlockJSON = {\n object: \"block\",\n type,\n nodes: convertNodes(children as SlateNode[]),\n data: {\n ...rest,\n },\n };\n return res;\n }\n case \"footnoteDefinition\":\n case \"link\":\n case \"linkReference\":\n case \"image\":\n case \"imageReference\":\n case \"footnote\":\n case \"footnoteReference\":\n case \"inlineMath\": {\n const { type, children, ...rest } = node;\n const res: InlineJSON = {\n object: \"inline\",\n type,\n nodes: convertNodes(children as SlateNode[]) as InlineJSON[],\n data: {\n ...rest,\n },\n };\n return res;\n }\n default:\n break;\n }\n return null;\n};\n","import type { Plugin } from \"unified\";\nimport { mdastToSlate, SlateNode } from \"../transformers/mdast-to-slate\";\nimport { slateToSlate047 } from \"../transformers/slate-to-slate0.47\";\n\nconst plugin: Plugin<[]> = function () {\n this.Compiler = function (node) {\n return slateToSlate047(mdastToSlate(node as any, {}) as SlateNode[]);\n };\n};\nexport default plugin;\n"],"names":["convertNodes","buildParagraph","buildHeading","buildThematicBreak","buildBlockquote","buildList","buildListItem","buildTable","buildTableRow","buildTableCell","buildHtml","buildCode","buildYaml","buildToml","buildDefinition","buildFootnoteDefinition","buildBreak","buildLink","buildImage","buildLinkReference","buildImageReference","buildFootnote","buildMath","buildInlineMath","plugin","convert"],"mappings":"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"}