react-native-nitro-markdown 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +128 -518
  2. package/lib/commonjs/MarkdownSession.js +6 -2
  3. package/lib/commonjs/MarkdownSession.js.map +1 -1
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/markdown-stream.js +8 -6
  6. package/lib/commonjs/markdown-stream.js.map +1 -1
  7. package/lib/commonjs/use-markdown-stream.js +23 -4
  8. package/lib/commonjs/use-markdown-stream.js.map +1 -1
  9. package/lib/module/MarkdownSession.js +6 -2
  10. package/lib/module/MarkdownSession.js.map +1 -1
  11. package/lib/module/index.js.map +1 -1
  12. package/lib/module/markdown-stream.js +8 -6
  13. package/lib/module/markdown-stream.js.map +1 -1
  14. package/lib/module/use-markdown-stream.js +22 -5
  15. package/lib/module/use-markdown-stream.js.map +1 -1
  16. package/lib/typescript/commonjs/MarkdownSession.d.ts +1 -1
  17. package/lib/typescript/commonjs/MarkdownSession.d.ts.map +1 -1
  18. package/lib/typescript/commonjs/index.d.ts +1 -0
  19. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  20. package/lib/typescript/commonjs/markdown-stream.d.ts +2 -1
  21. package/lib/typescript/commonjs/markdown-stream.d.ts.map +1 -1
  22. package/lib/typescript/commonjs/use-markdown-stream.d.ts +4 -1
  23. package/lib/typescript/commonjs/use-markdown-stream.d.ts.map +1 -1
  24. package/lib/typescript/module/MarkdownSession.d.ts +1 -1
  25. package/lib/typescript/module/MarkdownSession.d.ts.map +1 -1
  26. package/lib/typescript/module/index.d.ts +1 -0
  27. package/lib/typescript/module/index.d.ts.map +1 -1
  28. package/lib/typescript/module/markdown-stream.d.ts +2 -1
  29. package/lib/typescript/module/markdown-stream.d.ts.map +1 -1
  30. package/lib/typescript/module/use-markdown-stream.d.ts +4 -1
  31. package/lib/typescript/module/use-markdown-stream.d.ts.map +1 -1
  32. package/package.json +2 -1
  33. package/src/MarkdownSession.ts +9 -2
  34. package/src/index.ts +1 -0
  35. package/src/markdown-stream.tsx +12 -7
  36. package/src/use-markdown-stream.ts +53 -13
@@ -5,7 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createMarkdownSession = createMarkdownSession;
7
7
  var _reactNativeNitroModules = require("react-native-nitro-modules");
8
- function createMarkdownSession() {
9
- return _reactNativeNitroModules.NitroModules.createHybridObject("MarkdownSession");
8
+ function createMarkdownSession(initialText) {
9
+ const session = _reactNativeNitroModules.NitroModules.createHybridObject("MarkdownSession");
10
+ if (initialText !== undefined) {
11
+ session.reset(initialText);
12
+ }
13
+ return session;
10
14
  }
11
15
  //# sourceMappingURL=MarkdownSession.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeNitroModules","require","createMarkdownSession","NitroModules","createHybridObject"],"sourceRoot":"../../src","sources":["MarkdownSession.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAKO,SAASC,qBAAqBA,CAAA,EAAoB;EACvD,OAAOC,qCAAY,CAACC,kBAAkB,CAAkB,iBAAiB,CAAC;AAC5E","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeNitroModules","require","createMarkdownSession","initialText","session","NitroModules","createHybridObject","undefined","reset"],"sourceRoot":"../../src","sources":["MarkdownSession.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAKO,SAASC,qBAAqBA,CAACC,WAAoB,EAAmB;EAC3E,MAAMC,OAAO,GACXC,qCAAY,CAACC,kBAAkB,CAAkB,iBAAiB,CAAC;EAErE,IAAIH,WAAW,KAAKI,SAAS,EAAE;IAC7BH,OAAO,CAACI,KAAK,CAACL,WAAW,CAAC;EAC5B;EAEA,OAAOC,OAAO;AAChB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_headless","require","_markdown","_markdownStream","_MarkdownContext","_theme","_heading","_paragraph","_link","_blockquote","_horizontalRule","_code","_list","_table","_image","_math","_MarkdownSession","_useMarkdownStream","_codeHighlight"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAmBA,IAAAC,SAAA,GAAAD,OAAA;AASA,IAAAE,eAAA,GAAAF,OAAA;AAGA,IAAAG,gBAAA,GAAAH,OAAA;AAsBA,IAAAI,MAAA,GAAAJ,OAAA;AAYA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,KAAA,GAAAd,OAAA;AAEA,IAAAe,gBAAA,GAAAf,OAAA;AAEA,IAAAgB,kBAAA,GAAAhB,OAAA;AAOA,IAAAiB,cAAA,GAAAjB,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_headless","require","_markdown","_markdownStream","_MarkdownContext","_theme","_heading","_paragraph","_link","_blockquote","_horizontalRule","_code","_list","_table","_image","_math","_MarkdownSession","_useMarkdownStream","_codeHighlight"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAmBA,IAAAC,SAAA,GAAAD,OAAA;AASA,IAAAE,eAAA,GAAAF,OAAA;AAGA,IAAAG,gBAAA,GAAAH,OAAA;AAsBA,IAAAI,MAAA,GAAAJ,OAAA;AAYA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,KAAA,GAAAd,OAAA;AAEA,IAAAe,gBAAA,GAAAf,OAAA;AAEA,IAAAgB,kBAAA,GAAAhB,OAAA;AAQA,IAAAiB,cAAA,GAAAjB,OAAA","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.MarkdownStream = void 0;
7
7
  var _react = require("react");
8
8
  var _markdown = require("./markdown.js");
9
+ var _useMarkdownStream = require("./use-markdown-stream.js");
9
10
  var _incrementalAst = require("./utils/incremental-ast.js");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
11
12
  const normalizeOffset = value => {
@@ -64,12 +65,13 @@ const MarkdownStream = ({
64
65
  plugins,
65
66
  ...props
66
67
  }) => {
68
+ const activeSession = (0, _useMarkdownStream.resolveMarkdownSession)(session);
67
69
  const parseText = (0, _react.useCallback)(text => (0, _incrementalAst.parseMarkdownAst)(text, options), [options]);
68
70
  const createEmptyAst = () => ({
69
71
  type: "document",
70
72
  children: []
71
73
  });
72
- const initialText = session.getAllText();
74
+ const initialText = activeSession.getAllText();
73
75
  const hasBeforeParsePlugins = plugins?.some(plugin => typeof plugin.beforeParse === "function") ?? false;
74
76
  const [renderState, setRenderState] = (0, _react.useState)(() => ({
75
77
  text: initialText,
@@ -94,7 +96,7 @@ const MarkdownStream = ({
94
96
  };
95
97
  }, []);
96
98
  (0, _react.useEffect)(() => {
97
- const initialText = session.getAllText();
99
+ const initialText = activeSession.getAllText();
98
100
  const initialState = {
99
101
  text: initialText,
100
102
  ast: hasBeforeParsePlugins ? createEmptyAst() : parseText(initialText)
@@ -105,7 +107,7 @@ const MarkdownStream = ({
105
107
  forceFullSyncRef.current = false;
106
108
  renderStateRef.current = initialState;
107
109
  setRenderState(initialState);
108
- }, [hasBeforeParsePlugins, parseText, session]);
110
+ }, [activeSession, hasBeforeParsePlugins, parseText]);
109
111
  (0, _react.useEffect)(() => {
110
112
  const flushUpdate = () => {
111
113
  updateTimerRef.current = null;
@@ -127,7 +129,7 @@ const MarkdownStream = ({
127
129
  pendingFrom,
128
130
  pendingTo,
129
131
  previousText: previousState.text,
130
- session
132
+ session: activeSession
131
133
  });
132
134
  if (latest === previousState.text) return;
133
135
  const nextAst = hasBeforeParsePlugins ? previousState.ast : (0, _incrementalAst.getNextStreamAst)({
@@ -165,7 +167,7 @@ const MarkdownStream = ({
165
167
  };
166
168
  let unsubscribe = null;
167
169
  try {
168
- unsubscribe = session.addListener((from, to) => {
170
+ unsubscribe = activeSession.addListener((from, to) => {
169
171
  const nextFrom = normalizeOffset(from);
170
172
  const nextTo = normalizeOffset(to);
171
173
  if (nextFrom === null || nextTo === null || nextTo < nextFrom) {
@@ -197,7 +199,7 @@ const MarkdownStream = ({
197
199
  rafRef.current = null;
198
200
  }
199
201
  };
200
- }, [allowIncremental, hasBeforeParsePlugins, options, plugins, session, updateIntervalMs, updateStrategy, useTransitionUpdates]);
202
+ }, [allowIncremental, hasBeforeParsePlugins, options, plugins, activeSession, updateIntervalMs, updateStrategy, useTransitionUpdates]);
201
203
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_markdown.Markdown, {
202
204
  ...props,
203
205
  options: options,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_markdown","_incrementalAst","_jsxRuntime","normalizeOffset","value","Number","isFinite","Math","floor","resolveStreamText","forceFullSync","pendingFrom","pendingTo","previousText","session","getAllText","length","appendedChunk","getTextRange","warnStreamError","message","error","__DEV__","warn","Reflect","get","console","call","MarkdownStream","updateIntervalMs","updateStrategy","useTransitionUpdates","incrementalParsing","options","plugins","props","parseText","useCallback","text","parseMarkdownAst","createEmptyAst","type","children","initialText","hasBeforeParsePlugins","some","plugin","beforeParse","renderState","setRenderState","useState","ast","renderStateRef","useRef","pendingUpdateRef","pendingFromRef","pendingToRef","forceFullSyncRef","updateTimerRef","rafRef","mountedRef","allowIncremental","useEffect","current","initialState","flushUpdate","cancelAnimationFrame","previousState","latest","nextAst","getNextStreamAst","nextText","previousAst","nextState","startTransition","scheduleFlush","requestAnimationFrame","setTimeout","unsubscribe","addListener","from","to","nextFrom","nextTo","currentFrom","currentTo","min","max","clearTimeout","jsx","Markdown","sourceAst","undefined","exports"],"sourceRoot":"../../src","sources":["markdown-stream.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_markdown","_useMarkdownStream","_incrementalAst","_jsxRuntime","normalizeOffset","value","Number","isFinite","Math","floor","resolveStreamText","forceFullSync","pendingFrom","pendingTo","previousText","session","getAllText","length","appendedChunk","getTextRange","warnStreamError","message","error","__DEV__","warn","Reflect","get","console","call","MarkdownStream","updateIntervalMs","updateStrategy","useTransitionUpdates","incrementalParsing","options","plugins","props","activeSession","resolveMarkdownSession","parseText","useCallback","text","parseMarkdownAst","createEmptyAst","type","children","initialText","hasBeforeParsePlugins","some","plugin","beforeParse","renderState","setRenderState","useState","ast","renderStateRef","useRef","pendingUpdateRef","pendingFromRef","pendingToRef","forceFullSyncRef","updateTimerRef","rafRef","mountedRef","allowIncremental","useEffect","current","initialState","flushUpdate","cancelAnimationFrame","previousState","latest","nextAst","getNextStreamAst","nextText","previousAst","nextState","startTransition","scheduleFlush","requestAnimationFrame","setTimeout","unsubscribe","addListener","from","to","nextFrom","nextTo","currentFrom","currentTo","min","max","clearTimeout","jsx","Markdown","sourceAst","undefined","exports"],"sourceRoot":"../../src","sources":["markdown-stream.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,15 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.isMarkdownSessionController = isMarkdownSessionController;
7
+ exports.resolveMarkdownSession = resolveMarkdownSession;
6
8
  exports.useMarkdownSession = useMarkdownSession;
7
9
  exports.useStream = useStream;
8
10
  var _react = require("react");
9
11
  var _MarkdownSession = require("./MarkdownSession.js");
10
12
  var _streamTimeline = require("./utils/stream-timeline.js");
11
- function useMarkdownSession() {
13
+ function useMarkdownSession(initialText) {
12
14
  const sessionRef = (0, _react.useRef)(null);
15
+ const initialTextRef = (0, _react.useRef)(initialText);
13
16
  if (sessionRef.current === null) {
14
- sessionRef.current = (0, _MarkdownSession.createMarkdownSession)();
17
+ sessionRef.current = (0, _MarkdownSession.createMarkdownSession)(initialText);
15
18
  }
16
19
  const [isStreaming, setIsStreaming] = (0, _react.useState)(false);
17
20
  (0, _react.useEffect)(() => {
@@ -28,6 +31,13 @@ function useMarkdownSession() {
28
31
  }
29
32
  };
30
33
  }, []);
34
+ (0, _react.useEffect)(() => {
35
+ if (initialText === undefined || initialTextRef.current === initialText) {
36
+ return;
37
+ }
38
+ initialTextRef.current = initialText;
39
+ sessionRef.current.reset(initialText);
40
+ }, [initialText]);
31
41
  const stop = (0, _react.useCallback)(() => {
32
42
  setIsStreaming(false);
33
43
  }, []);
@@ -46,7 +56,7 @@ function useMarkdownSession() {
46
56
  const replace = (0, _react.useCallback)((from, to, text) => {
47
57
  return sessionRef.current.replace(from, to, text);
48
58
  }, []);
49
- return {
59
+ return (0, _react.useMemo)(() => ({
50
60
  getSession,
51
61
  isStreaming,
52
62
  setIsStreaming,
@@ -55,7 +65,16 @@ function useMarkdownSession() {
55
65
  setHighlight,
56
66
  reset,
57
67
  replace
58
- };
68
+ }), [clear, getSession, isStreaming, replace, reset, setHighlight, setIsStreaming, stop]);
69
+ }
70
+ function isMarkdownSessionController(value) {
71
+ return typeof Reflect.get(value, "getSession") === "function";
72
+ }
73
+ function resolveMarkdownSession(session) {
74
+ if (isMarkdownSessionController(session)) {
75
+ return session.getSession();
76
+ }
77
+ return session;
59
78
  }
60
79
  function useStream(timestamps) {
61
80
  const engine = useMarkdownSession();
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_MarkdownSession","_streamTimeline","useMarkdownSession","sessionRef","useRef","current","createMarkdownSession","isStreaming","setIsStreaming","useState","useEffect","session","clear","dispose","stop","useCallback","highlightPosition","setHighlight","position","getSession","reset","text","replace","from","to","useStream","timestamps","engine","isPlaying","setIsPlaying","timelineRef","entries","monotonic","lastHighlightRef","createTimestampTimeline","sync","currentTimeMs","nextHighlight","resolveHighlightPosition"],"sourceRoot":"../../src","sources":["use-markdown-stream.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_MarkdownSession","_streamTimeline","useMarkdownSession","initialText","sessionRef","useRef","initialTextRef","current","createMarkdownSession","isStreaming","setIsStreaming","useState","useEffect","session","clear","dispose","undefined","reset","stop","useCallback","highlightPosition","setHighlight","position","getSession","text","replace","from","to","useMemo","isMarkdownSessionController","value","Reflect","get","resolveMarkdownSession","useStream","timestamps","engine","isPlaying","setIsPlaying","timelineRef","entries","monotonic","lastHighlightRef","createTimestampTimeline","sync","currentTimeMs","nextHighlight","resolveHighlightPosition"],"sourceRoot":"../../src","sources":["use-markdown-stream.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import { NitroModules } from "react-native-nitro-modules";
4
- export function createMarkdownSession() {
5
- return NitroModules.createHybridObject("MarkdownSession");
4
+ export function createMarkdownSession(initialText) {
5
+ const session = NitroModules.createHybridObject("MarkdownSession");
6
+ if (initialText !== undefined) {
7
+ session.reset(initialText);
8
+ }
9
+ return session;
6
10
  }
7
11
  //# sourceMappingURL=MarkdownSession.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","createMarkdownSession","createHybridObject"],"sourceRoot":"../../src","sources":["MarkdownSession.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAKzD,OAAO,SAASC,qBAAqBA,CAAA,EAAoB;EACvD,OAAOD,YAAY,CAACE,kBAAkB,CAAkB,iBAAiB,CAAC;AAC5E","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","createMarkdownSession","initialText","session","createHybridObject","undefined","reset"],"sourceRoot":"../../src","sources":["MarkdownSession.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAKzD,OAAO,SAASC,qBAAqBA,CAACC,WAAoB,EAAmB;EAC3E,MAAMC,OAAO,GACXH,YAAY,CAACI,kBAAkB,CAAkB,iBAAiB,CAAC;EAErE,IAAIF,WAAW,KAAKG,SAAS,EAAE;IAC7BF,OAAO,CAACG,KAAK,CAACJ,WAAW,CAAC;EAC5B;EAEA,OAAOC,OAAO;AAChB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["MarkdownParserModule","parseMarkdown","parseMarkdownWithOptions","extractPlainText","extractPlainTextWithOptions","getTextContent","getFlattenedText","stripSourceOffsets","Markdown","MarkdownStream","useMarkdownContext","MarkdownContext","defaultMarkdownTheme","minimalMarkdownTheme","mergeThemes","Heading","Paragraph","Link","Blockquote","HorizontalRule","CodeBlock","InlineCode","List","ListItem","TaskListItem","TableRenderer","Image","MathInline","MathBlock","createMarkdownSession","useMarkdownSession","useStream","defaultHighlighter"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SACEA,oBAAoB,EACpBC,aAAa,EACbC,wBAAwB,EACxBC,gBAAgB,EAChBC,2BAA2B,EAC3BC,cAAc,EACdC,gBAAgB,EAChBC,kBAAkB,QACb,eAAY;AAUnB,SAASC,QAAQ,QAAQ,eAAY;AASrC,SAASC,cAAc,QAAQ,sBAAmB;AAGlD,SAASC,kBAAkB,EAAEC,eAAe,QAAQ,sBAAmB;AAsBvE,SACEC,oBAAoB,EACpBC,oBAAoB,EACpBC,WAAW,QACN,YAAS;AAQhB,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,SAAS,QAAQ,0BAAuB;AACjD,SAASC,IAAI,QAAQ,qBAAkB;AACvC,SAASC,UAAU,QAAQ,2BAAwB;AACnD,SAASC,cAAc,QAAQ,gCAA6B;AAC5D,SAASC,SAAS,EAAEC,UAAU,QAAQ,qBAAkB;AACxD,SAASC,IAAI,EAAEC,QAAQ,EAAEC,YAAY,QAAQ,qBAAkB;AAC/D,SAASC,aAAa,QAAQ,sBAAmB;AACjD,SAASC,KAAK,QAAQ,sBAAmB;AACzC,SAASC,UAAU,EAAEC,SAAS,QAAQ,qBAAkB;AAExD,SAASC,qBAAqB,QAAQ,sBAAmB;AAEzD,SAASC,kBAAkB,EAAEC,SAAS,QAAQ,0BAAuB;AAOrE,SAASC,kBAAkB,QAAQ,2BAAwB","ignoreList":[]}
1
+ {"version":3,"names":["MarkdownParserModule","parseMarkdown","parseMarkdownWithOptions","extractPlainText","extractPlainTextWithOptions","getTextContent","getFlattenedText","stripSourceOffsets","Markdown","MarkdownStream","useMarkdownContext","MarkdownContext","defaultMarkdownTheme","minimalMarkdownTheme","mergeThemes","Heading","Paragraph","Link","Blockquote","HorizontalRule","CodeBlock","InlineCode","List","ListItem","TaskListItem","TableRenderer","Image","MathInline","MathBlock","createMarkdownSession","useMarkdownSession","useStream","defaultHighlighter"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SACEA,oBAAoB,EACpBC,aAAa,EACbC,wBAAwB,EACxBC,gBAAgB,EAChBC,2BAA2B,EAC3BC,cAAc,EACdC,gBAAgB,EAChBC,kBAAkB,QACb,eAAY;AAUnB,SAASC,QAAQ,QAAQ,eAAY;AASrC,SAASC,cAAc,QAAQ,sBAAmB;AAGlD,SAASC,kBAAkB,EAAEC,eAAe,QAAQ,sBAAmB;AAsBvE,SACEC,oBAAoB,EACpBC,oBAAoB,EACpBC,WAAW,QACN,YAAS;AAQhB,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,SAAS,QAAQ,0BAAuB;AACjD,SAASC,IAAI,QAAQ,qBAAkB;AACvC,SAASC,UAAU,QAAQ,2BAAwB;AACnD,SAASC,cAAc,QAAQ,gCAA6B;AAC5D,SAASC,SAAS,EAAEC,UAAU,QAAQ,qBAAkB;AACxD,SAASC,IAAI,EAAEC,QAAQ,EAAEC,YAAY,QAAQ,qBAAkB;AAC/D,SAASC,aAAa,QAAQ,sBAAmB;AACjD,SAASC,KAAK,QAAQ,sBAAmB;AACzC,SAASC,UAAU,EAAEC,SAAS,QAAQ,qBAAkB;AAExD,SAASC,qBAAqB,QAAQ,sBAAmB;AAEzD,SAASC,kBAAkB,EAAEC,SAAS,QAAQ,0BAAuB;AAQrE,SAASC,kBAAkB,QAAQ,2BAAwB","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { useState, useEffect, useRef, useCallback, startTransition } from "react";
4
4
  import { Markdown } from "./markdown.js";
5
+ import { resolveMarkdownSession } from "./use-markdown-stream.js";
5
6
  import { getNextStreamAst, parseMarkdownAst } from "./utils/incremental-ast.js";
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
8
  const normalizeOffset = value => {
@@ -60,12 +61,13 @@ export const MarkdownStream = ({
60
61
  plugins,
61
62
  ...props
62
63
  }) => {
64
+ const activeSession = resolveMarkdownSession(session);
63
65
  const parseText = useCallback(text => parseMarkdownAst(text, options), [options]);
64
66
  const createEmptyAst = () => ({
65
67
  type: "document",
66
68
  children: []
67
69
  });
68
- const initialText = session.getAllText();
70
+ const initialText = activeSession.getAllText();
69
71
  const hasBeforeParsePlugins = plugins?.some(plugin => typeof plugin.beforeParse === "function") ?? false;
70
72
  const [renderState, setRenderState] = useState(() => ({
71
73
  text: initialText,
@@ -90,7 +92,7 @@ export const MarkdownStream = ({
90
92
  };
91
93
  }, []);
92
94
  useEffect(() => {
93
- const initialText = session.getAllText();
95
+ const initialText = activeSession.getAllText();
94
96
  const initialState = {
95
97
  text: initialText,
96
98
  ast: hasBeforeParsePlugins ? createEmptyAst() : parseText(initialText)
@@ -101,7 +103,7 @@ export const MarkdownStream = ({
101
103
  forceFullSyncRef.current = false;
102
104
  renderStateRef.current = initialState;
103
105
  setRenderState(initialState);
104
- }, [hasBeforeParsePlugins, parseText, session]);
106
+ }, [activeSession, hasBeforeParsePlugins, parseText]);
105
107
  useEffect(() => {
106
108
  const flushUpdate = () => {
107
109
  updateTimerRef.current = null;
@@ -123,7 +125,7 @@ export const MarkdownStream = ({
123
125
  pendingFrom,
124
126
  pendingTo,
125
127
  previousText: previousState.text,
126
- session
128
+ session: activeSession
127
129
  });
128
130
  if (latest === previousState.text) return;
129
131
  const nextAst = hasBeforeParsePlugins ? previousState.ast : getNextStreamAst({
@@ -161,7 +163,7 @@ export const MarkdownStream = ({
161
163
  };
162
164
  let unsubscribe = null;
163
165
  try {
164
- unsubscribe = session.addListener((from, to) => {
166
+ unsubscribe = activeSession.addListener((from, to) => {
165
167
  const nextFrom = normalizeOffset(from);
166
168
  const nextTo = normalizeOffset(to);
167
169
  if (nextFrom === null || nextTo === null || nextTo < nextFrom) {
@@ -193,7 +195,7 @@ export const MarkdownStream = ({
193
195
  rafRef.current = null;
194
196
  }
195
197
  };
196
- }, [allowIncremental, hasBeforeParsePlugins, options, plugins, session, updateIntervalMs, updateStrategy, useTransitionUpdates]);
198
+ }, [allowIncremental, hasBeforeParsePlugins, options, plugins, activeSession, updateIntervalMs, updateStrategy, useTransitionUpdates]);
197
199
  return /*#__PURE__*/_jsx(Markdown, {
198
200
  ...props,
199
201
  options: options,
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useRef","useCallback","startTransition","Markdown","getNextStreamAst","parseMarkdownAst","jsx","_jsx","normalizeOffset","value","Number","isFinite","Math","floor","resolveStreamText","forceFullSync","pendingFrom","pendingTo","previousText","session","getAllText","length","appendedChunk","getTextRange","warnStreamError","message","error","__DEV__","warn","Reflect","get","console","call","MarkdownStream","updateIntervalMs","updateStrategy","useTransitionUpdates","incrementalParsing","options","plugins","props","parseText","text","createEmptyAst","type","children","initialText","hasBeforeParsePlugins","some","plugin","beforeParse","renderState","setRenderState","ast","renderStateRef","pendingUpdateRef","pendingFromRef","pendingToRef","forceFullSyncRef","updateTimerRef","rafRef","mountedRef","allowIncremental","current","initialState","flushUpdate","cancelAnimationFrame","previousState","latest","nextAst","nextText","previousAst","nextState","scheduleFlush","requestAnimationFrame","setTimeout","unsubscribe","addListener","from","to","nextFrom","nextTo","currentFrom","currentTo","min","max","clearTimeout","sourceAst","undefined"],"sourceRoot":"../../src","sources":["markdown-stream.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","useRef","useCallback","startTransition","Markdown","resolveMarkdownSession","getNextStreamAst","parseMarkdownAst","jsx","_jsx","normalizeOffset","value","Number","isFinite","Math","floor","resolveStreamText","forceFullSync","pendingFrom","pendingTo","previousText","session","getAllText","length","appendedChunk","getTextRange","warnStreamError","message","error","__DEV__","warn","Reflect","get","console","call","MarkdownStream","updateIntervalMs","updateStrategy","useTransitionUpdates","incrementalParsing","options","plugins","props","activeSession","parseText","text","createEmptyAst","type","children","initialText","hasBeforeParsePlugins","some","plugin","beforeParse","renderState","setRenderState","ast","renderStateRef","pendingUpdateRef","pendingFromRef","pendingToRef","forceFullSyncRef","updateTimerRef","rafRef","mountedRef","allowIncremental","current","initialState","flushUpdate","cancelAnimationFrame","previousState","latest","nextAst","nextText","previousAst","nextState","scheduleFlush","requestAnimationFrame","setTimeout","unsubscribe","addListener","from","to","nextFrom","nextTo","currentFrom","currentTo","min","max","clearTimeout","sourceAst","undefined"],"sourceRoot":"../../src","sources":["markdown-stream.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import { useRef, useCallback, useState, useEffect } from "react";
3
+ import { useRef, useCallback, useState, useEffect, useMemo } from "react";
4
4
  import { createMarkdownSession } from "./MarkdownSession.js";
5
5
  import { createTimestampTimeline, resolveHighlightPosition } from "./utils/stream-timeline.js";
6
- export function useMarkdownSession() {
6
+ export function useMarkdownSession(initialText) {
7
7
  const sessionRef = useRef(null);
8
+ const initialTextRef = useRef(initialText);
8
9
  if (sessionRef.current === null) {
9
- sessionRef.current = createMarkdownSession();
10
+ sessionRef.current = createMarkdownSession(initialText);
10
11
  }
11
12
  const [isStreaming, setIsStreaming] = useState(false);
12
13
  useEffect(() => {
@@ -23,6 +24,13 @@ export function useMarkdownSession() {
23
24
  }
24
25
  };
25
26
  }, []);
27
+ useEffect(() => {
28
+ if (initialText === undefined || initialTextRef.current === initialText) {
29
+ return;
30
+ }
31
+ initialTextRef.current = initialText;
32
+ sessionRef.current.reset(initialText);
33
+ }, [initialText]);
26
34
  const stop = useCallback(() => {
27
35
  setIsStreaming(false);
28
36
  }, []);
@@ -41,7 +49,7 @@ export function useMarkdownSession() {
41
49
  const replace = useCallback((from, to, text) => {
42
50
  return sessionRef.current.replace(from, to, text);
43
51
  }, []);
44
- return {
52
+ return useMemo(() => ({
45
53
  getSession,
46
54
  isStreaming,
47
55
  setIsStreaming,
@@ -50,7 +58,16 @@ export function useMarkdownSession() {
50
58
  setHighlight,
51
59
  reset,
52
60
  replace
53
- };
61
+ }), [clear, getSession, isStreaming, replace, reset, setHighlight, setIsStreaming, stop]);
62
+ }
63
+ export function isMarkdownSessionController(value) {
64
+ return typeof Reflect.get(value, "getSession") === "function";
65
+ }
66
+ export function resolveMarkdownSession(session) {
67
+ if (isMarkdownSessionController(session)) {
68
+ return session.getSession();
69
+ }
70
+ return session;
54
71
  }
55
72
  export function useStream(timestamps) {
56
73
  const engine = useMarkdownSession();
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useCallback","useState","useEffect","createMarkdownSession","createTimestampTimeline","resolveHighlightPosition","useMarkdownSession","sessionRef","current","isStreaming","setIsStreaming","session","clear","dispose","stop","highlightPosition","setHighlight","position","getSession","reset","text","replace","from","to","useStream","timestamps","engine","isPlaying","setIsPlaying","timelineRef","entries","monotonic","lastHighlightRef","sync","currentTimeMs","nextHighlight"],"sourceRoot":"../../src","sources":["use-markdown-stream.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useCallback","useState","useEffect","useMemo","createMarkdownSession","createTimestampTimeline","resolveHighlightPosition","useMarkdownSession","initialText","sessionRef","initialTextRef","current","isStreaming","setIsStreaming","session","clear","dispose","undefined","reset","stop","highlightPosition","setHighlight","position","getSession","text","replace","from","to","isMarkdownSessionController","value","Reflect","get","resolveMarkdownSession","useStream","timestamps","engine","isPlaying","setIsPlaying","timelineRef","entries","monotonic","lastHighlightRef","sync","currentTimeMs","nextHighlight"],"sourceRoot":"../../src","sources":["use-markdown-stream.ts"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import type { MarkdownSession as MarkdownSessionSpec } from "./specs/MarkdownSession.nitro";
2
2
  export type MarkdownSession = MarkdownSessionSpec;
3
- export declare function createMarkdownSession(): MarkdownSession;
3
+ export declare function createMarkdownSession(initialText?: string): MarkdownSession;
4
4
  //# sourceMappingURL=MarkdownSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownSession.d.ts","sourceRoot":"","sources":["../../../src/MarkdownSession.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE5F,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD"}
1
+ {"version":3,"file":"MarkdownSession.d.ts","sourceRoot":"","sources":["../../../src/MarkdownSession.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE5F,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,wBAAgB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe,CAS3E"}
@@ -21,6 +21,7 @@ export { MathInline, MathBlock } from "./renderers/math";
21
21
  export { createMarkdownSession } from "./MarkdownSession";
22
22
  export type { MarkdownSession } from "./MarkdownSession";
23
23
  export { useMarkdownSession, useStream } from "./use-markdown-stream";
24
+ export type { MarkdownSessionController } from "./use-markdown-stream";
24
25
  export type { HighlightedToken, TokenType, CodeHighlighter, } from "./utils/code-highlight";
25
26
  export { defaultHighlighter } from "./utils/code-highlight";
26
27
  export type { UrlSafetyOptions } from "./utils/link-security";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEtE,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACtE,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { type FC } from "react";
2
2
  import { type MarkdownProps } from "./markdown";
3
3
  import type { MarkdownSession } from "./specs/MarkdownSession.nitro";
4
+ import { type MarkdownSessionController } from "./use-markdown-stream";
4
5
  export type MarkdownStreamProps = {
5
6
  /**
6
7
  * The active MarkdownSession to stream content from.
7
8
  */
8
- session: MarkdownSession;
9
+ session: MarkdownSession | MarkdownSessionController;
9
10
  /**
10
11
  * Throttle UI updates when updateStrategy is "interval".
11
12
  * Ignored when updateStrategy is "raf".
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/markdown-stream.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA2DrE,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IACpC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAgMlD,CAAC"}
1
+ {"version":3,"file":"markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/markdown-stream.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;AA2D/B,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,OAAO,EAAE,eAAe,GAAG,yBAAyB,CAAC;IACrD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IACpC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAiMlD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { createMarkdownSession } from "./MarkdownSession";
2
2
  export type MarkdownSession = ReturnType<typeof createMarkdownSession>;
3
- export declare function useMarkdownSession(): {
3
+ export declare function useMarkdownSession(initialText?: string): {
4
4
  getSession: () => import("./specs/MarkdownSession.nitro").MarkdownSession;
5
5
  isStreaming: boolean;
6
6
  setIsStreaming: import("react").Dispatch<import("react").SetStateAction<boolean>>;
@@ -10,6 +10,9 @@ export declare function useMarkdownSession(): {
10
10
  reset: (text: string) => void;
11
11
  replace: (from: number, to: number, text: string) => number;
12
12
  };
13
+ export type MarkdownSessionController = ReturnType<typeof useMarkdownSession>;
14
+ export declare function isMarkdownSessionController(value: MarkdownSession | MarkdownSessionController): value is MarkdownSessionController;
15
+ export declare function resolveMarkdownSession(session: MarkdownSession | MarkdownSessionController): MarkdownSession;
13
16
  export declare function useStream(timestamps?: Record<number, number>): {
14
17
  isPlaying: boolean;
15
18
  setIsPlaying: import("react").Dispatch<import("react").SetStateAction<boolean>>;
@@ -1 +1 @@
1
- {"version":3,"file":"use-markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/use-markdown-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,wBAAgB,kBAAkB;;;;;;6BAiCY,MAAM;kBAMjB,MAAM;oBAIJ,MAAM,MAAM,MAAM,QAAQ,MAAM;EAcpE;AAED,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;0BAgBzC,MAAM;;;;;;6BA1CoB,MAAM;kBAMjB,MAAM;oBAIJ,MAAM,MAAM,MAAM,QAAQ,MAAM;EAqDpE"}
1
+ {"version":3,"file":"use-markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/use-markdown-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,wBAAgB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM;;;;;;6BA2CT,MAAM;kBAMjB,MAAM;oBAIJ,MAAM,MAAM,MAAM,QAAQ,MAAM;EA0BpE;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9E,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,GAAG,yBAAyB,GACjD,KAAK,IAAI,yBAAyB,CAEpC;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,GAAG,yBAAyB,GACnD,eAAe,CAMjB;AAED,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;0BAgBzC,MAAM;;;;;;6BAxEoB,MAAM;kBAMjB,MAAM;oBAIJ,MAAM,MAAM,MAAM,QAAQ,MAAM;EAmFpE"}
@@ -1,4 +1,4 @@
1
1
  import type { MarkdownSession as MarkdownSessionSpec } from "./specs/MarkdownSession.nitro";
2
2
  export type MarkdownSession = MarkdownSessionSpec;
3
- export declare function createMarkdownSession(): MarkdownSession;
3
+ export declare function createMarkdownSession(initialText?: string): MarkdownSession;
4
4
  //# sourceMappingURL=MarkdownSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownSession.d.ts","sourceRoot":"","sources":["../../../src/MarkdownSession.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE5F,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD"}
1
+ {"version":3,"file":"MarkdownSession.d.ts","sourceRoot":"","sources":["../../../src/MarkdownSession.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE5F,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,wBAAgB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe,CAS3E"}
@@ -21,6 +21,7 @@ export { MathInline, MathBlock } from "./renderers/math";
21
21
  export { createMarkdownSession } from "./MarkdownSession";
22
22
  export type { MarkdownSession } from "./MarkdownSession";
23
23
  export { useMarkdownSession, useStream } from "./use-markdown-stream";
24
+ export type { MarkdownSessionController } from "./use-markdown-stream";
24
25
  export type { HighlightedToken, TokenType, CodeHighlighter, } from "./utils/code-highlight";
25
26
  export { defaultHighlighter } from "./utils/code-highlight";
26
27
  export type { UrlSafetyOptions } from "./utils/link-security";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEtE,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACtE,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { type FC } from "react";
2
2
  import { type MarkdownProps } from "./markdown";
3
3
  import type { MarkdownSession } from "./specs/MarkdownSession.nitro";
4
+ import { type MarkdownSessionController } from "./use-markdown-stream";
4
5
  export type MarkdownStreamProps = {
5
6
  /**
6
7
  * The active MarkdownSession to stream content from.
7
8
  */
8
- session: MarkdownSession;
9
+ session: MarkdownSession | MarkdownSessionController;
9
10
  /**
10
11
  * Throttle UI updates when updateStrategy is "interval".
11
12
  * Ignored when updateStrategy is "raf".
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/markdown-stream.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA2DrE,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IACpC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAgMlD,CAAC"}
1
+ {"version":3,"file":"markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/markdown-stream.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;AA2D/B,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,OAAO,EAAE,eAAe,GAAG,yBAAyB,CAAC;IACrD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IACpC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAiMlD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { createMarkdownSession } from "./MarkdownSession";
2
2
  export type MarkdownSession = ReturnType<typeof createMarkdownSession>;
3
- export declare function useMarkdownSession(): {
3
+ export declare function useMarkdownSession(initialText?: string): {
4
4
  getSession: () => import("./specs/MarkdownSession.nitro").MarkdownSession;
5
5
  isStreaming: boolean;
6
6
  setIsStreaming: import("react").Dispatch<import("react").SetStateAction<boolean>>;
@@ -10,6 +10,9 @@ export declare function useMarkdownSession(): {
10
10
  reset: (text: string) => void;
11
11
  replace: (from: number, to: number, text: string) => number;
12
12
  };
13
+ export type MarkdownSessionController = ReturnType<typeof useMarkdownSession>;
14
+ export declare function isMarkdownSessionController(value: MarkdownSession | MarkdownSessionController): value is MarkdownSessionController;
15
+ export declare function resolveMarkdownSession(session: MarkdownSession | MarkdownSessionController): MarkdownSession;
13
16
  export declare function useStream(timestamps?: Record<number, number>): {
14
17
  isPlaying: boolean;
15
18
  setIsPlaying: import("react").Dispatch<import("react").SetStateAction<boolean>>;