From 981eb82fedf9d4db8202cf824a01837ffafcb57d Mon Sep 17 00:00:00 2001 From: Luke Melia Date: Mon, 18 Sep 2023 00:22:13 -0400 Subject: [PATCH] Export MobiledocParser and utils functions to support extensibility --- src/js/index.ts | 7 +++++++ src/js/utils/parse-utils.ts | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/js/index.ts b/src/js/index.ts index 9247be61f..ba74dfa61 100644 --- a/src/js/index.ts +++ b/src/js/index.ts @@ -8,6 +8,9 @@ import Error from './utils/mobiledoc-error' import Renderer, { MOBILEDOC_VERSION } from './renderers/mobiledoc' import DOMParser from './parsers/dom' import PostNodeBuilder from './models/post-node-builder' +import MobiledocParser from './parsers/mobiledoc' +import { parsePostFromHTML, parsePostFromText } from './utils/parse-utils' +import { detect } from './utils/array-utils' export { Editor, @@ -18,7 +21,11 @@ export { Markup, Error, DOMParser, + MobiledocParser, PostNodeBuilder, Renderer, MOBILEDOC_VERSION, + detect, + parsePostFromHTML, + parsePostFromText, } diff --git a/src/js/utils/parse-utils.ts b/src/js/utils/parse-utils.ts index b98eeef4b..0f0591ca8 100644 --- a/src/js/utils/parse-utils.ts +++ b/src/js/utils/parse-utils.ts @@ -19,7 +19,7 @@ const MOBILEDOC_REGEX = new RegExp(/data-mobiledoc='(.*?)'>/) * @return {Post} * @private */ -function parsePostFromHTML(html: string, builder: PostNodeBuilder, plugins: SectionParserPlugin[]): Post { +export function parsePostFromHTML(html: string, builder: PostNodeBuilder, plugins: SectionParserPlugin[]): Post { let post: Post if (MOBILEDOC_REGEX.test(html)) { @@ -37,7 +37,7 @@ function parsePostFromHTML(html: string, builder: PostNodeBuilder, plugins: Sect * @return {Post} * @private */ -function parsePostFromText(text: string, builder: PostNodeBuilder, plugins: SectionParserPlugin[]): Post { +export function parsePostFromText(text: string, builder: PostNodeBuilder, plugins: SectionParserPlugin[]): Post { let parser = new TextParser(builder, { plugins }) let post = parser.parse(text) return post