stream-markdown-parser 0.0.1 → 0.0.2

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.
package/dist/index.d.ts CHANGED
@@ -1,323 +1,305 @@
1
- import { default as default_2 } from 'markdown-it';
2
-
3
- export declare interface AdmonitionNode extends BaseNode {
4
- type: 'admonition';
5
- kind: string;
6
- title: string;
7
- children: ParsedNode[];
8
- }
9
-
10
- export declare function applyContainers(md: default_2): void;
11
-
12
- export declare function applyMath(md: default_2, mathOpts?: MathOptions): void;
13
-
14
- export declare interface BaseNode {
15
- type: string;
16
- raw: string;
17
- loading?: boolean;
18
- code?: string;
19
- diff?: boolean;
20
- }
21
-
22
- export declare interface BlockquoteNode extends BaseNode {
23
- type: 'blockquote';
24
- children: ParsedNode[];
25
- }
26
-
27
- export declare interface CheckboxInputNode extends BaseNode {
28
- type: 'checkbox_input';
29
- checked: boolean;
30
- }
31
-
32
- export declare interface CheckboxNode extends BaseNode {
33
- type: 'checkbox';
34
- checked: boolean;
35
- }
36
-
37
- export declare interface CodeBlockNode extends BaseNode {
38
- type: 'code_block';
39
- language: string;
40
- code: string;
41
- startLine?: number;
42
- endLine?: number;
43
- loading?: boolean;
44
- diff?: boolean;
45
- originalCode?: string;
46
- updatedCode?: string;
47
- raw: string;
48
- }
49
-
50
- export declare interface CustomComponents {
51
- text: any;
52
- paragraph: any;
53
- heading: any;
54
- code_block: any;
55
- list: any;
56
- blockquote: any;
57
- table: any;
58
- definition_list: any;
59
- footnote: any;
60
- footnote_reference: any;
61
- admonition: any;
62
- hardbreak: any;
63
- link: any;
64
- image: any;
65
- thematic_break: any;
66
- math_inline: any;
67
- math_block: any;
68
- strong: any;
69
- emphasis: any;
70
- strikethrough: any;
71
- highlight: any;
72
- insert: any;
73
- subscript: any;
74
- superscript: any;
75
- emoji: any;
76
- checkbox: any;
77
- inline_code: any;
78
- reference: any;
79
- mermaid: any;
80
- [key: string]: any;
81
- }
82
-
83
- export declare interface DefinitionItemNode extends BaseNode {
84
- type: 'definition_item';
85
- term: ParsedNode[];
86
- definition: ParsedNode[];
87
- }
88
-
89
- export declare interface DefinitionListNode extends BaseNode {
90
- type: 'definition_list';
91
- items: DefinitionItemNode[];
92
- }
93
-
94
- export declare interface EmojiNode extends BaseNode {
95
- type: 'emoji';
96
- name: string;
97
- markup: string;
98
- }
99
-
100
- export declare interface EmphasisNode extends BaseNode {
101
- type: 'emphasis';
102
- children: ParsedNode[];
103
- }
104
-
105
- export declare function findMatchingClose(src: string, startIdx: number, open: string, close: string): number;
106
-
107
- export declare interface FootnoteNode extends BaseNode {
108
- type: 'footnote';
109
- id: string;
110
- children: ParsedNode[];
111
- }
112
-
113
- export declare interface FootnoteReferenceNode extends BaseNode {
114
- type: 'footnote_reference';
115
- id: string;
116
- }
117
-
118
- export declare function getDefaultMathOptions(): MathOptions | undefined;
119
-
120
- export declare function getMarkdown(opts?: GetMarkdownOptions): default_2;
121
-
122
- export declare interface GetMarkdownOptions extends Record<string, any> {
123
- markdownItOptions?: Record<string, any>;
124
- enableMath?: boolean;
125
- enableContainers?: boolean;
126
- mathOptions?: {
127
- commands?: string[];
128
- escapeExclamation?: boolean;
129
- };
130
- }
131
-
132
- export declare interface HardBreakNode extends BaseNode {
133
- type: 'hardbreak';
134
- }
135
-
136
- export declare interface HeadingNode extends BaseNode {
137
- type: 'heading';
138
- level: number;
139
- text: string;
140
- children: ParsedNode[];
141
- }
142
-
143
- export declare interface HighlightNode extends BaseNode {
144
- type: 'highlight';
145
- children: ParsedNode[];
146
- }
147
-
148
- export declare interface ImageNode extends BaseNode {
149
- type: 'image';
150
- src: string;
151
- alt: string;
152
- title: string | null;
153
- }
154
-
155
- export declare interface InlineCodeNode extends BaseNode {
156
- type: 'inline_code';
157
- code: string;
158
- }
159
-
160
- export declare interface InsertNode extends BaseNode {
161
- type: 'insert';
162
- children: ParsedNode[];
163
- }
164
-
165
- export declare const KATEX_COMMANDS: string[];
166
-
167
- export declare interface LinkNode extends BaseNode {
168
- type: 'link';
169
- href: string;
170
- title: string | null;
171
- text: string;
172
- children: ParsedNode[];
173
- }
174
-
175
- export declare interface ListItemNode extends BaseNode {
176
- type: 'list_item';
177
- children: ParsedNode[];
178
- }
179
-
180
- export declare interface ListNode extends BaseNode {
181
- type: 'list';
182
- ordered: boolean;
183
- start?: number;
184
- items: ListItemNode[];
185
- }
186
-
187
- export declare type MarkdownRender = {
188
- content: string;
189
- nodes?: undefined;
190
- } | {
191
- content?: undefined;
192
- nodes: BaseNode[];
193
- };
194
-
195
- export declare interface MarkdownToken {
196
- type: string;
197
- tag?: string;
198
- content?: string;
199
- info?: string;
200
- loading?: boolean;
201
- children?: MarkdownToken[];
202
- attrs?: [string, string][];
203
- markup?: string;
204
- meta?: any;
205
- map?: [number, number];
206
- raw?: string;
207
- }
208
-
209
- export declare interface MathBlockNode extends BaseNode {
210
- type: 'math_block';
211
- content: string;
212
- }
213
-
214
- export declare interface MathInlineNode extends BaseNode {
215
- type: 'math_inline';
216
- content: string;
217
- }
218
-
219
- /**
220
- * MathOptions control how the math plugin normalizes content before
221
- * handing it to KaTeX (or other math renderers).
222
- *
223
- * - commands: list of command words that should be auto-prefixed with a
224
- * backslash if not already escaped (e.g. 'infty' -> '\\infty'). Use a
225
- * conservative list to avoid false positives in prose.
226
- * - escapeExclamation: whether to escape standalone '!' to '\\!' (default true).
227
- */
228
- export declare interface MathOptions {
229
- /** List of command words to auto-escape. */
230
- commands?: readonly string[];
231
- /** Whether to escape standalone '!' (default: true). */
232
- escapeExclamation?: boolean;
233
- }
234
-
235
- export declare interface MermaidBlockNode {
236
- node: {
237
- type: 'code_block';
238
- language: string;
239
- code: string;
240
- loading?: boolean;
241
- };
242
- }
243
-
244
- export declare function normalizeStandaloneBackslashT(s: string, opts?: MathOptions): string;
245
-
246
- export declare interface ParagraphNode extends BaseNode {
247
- type: 'paragraph';
248
- children: ParsedNode[];
249
- maybeCheckbox?: boolean;
250
- }
251
-
252
- export declare type ParsedNode = TextNode | HeadingNode | ParagraphNode | ListNode | ListItemNode | CodeBlockNode | InlineCodeNode | LinkNode | ImageNode | ThematicBreakNode | BlockquoteNode | TableNode | TableRowNode | TableCellNode | StrongNode | EmphasisNode | StrikethroughNode | HighlightNode | InsertNode | SubscriptNode | SuperscriptNode | CheckboxNode | CheckboxInputNode | EmojiNode | DefinitionListNode | DefinitionItemNode | FootnoteNode | FootnoteReferenceNode | AdmonitionNode | HardBreakNode | MathInlineNode | MathBlockNode | ReferenceNode | Record<string, any>;
253
-
254
- export declare function parseInlineTokens(tokens: MarkdownToken[], raw?: string, pPreToken?: MarkdownToken): ParsedNode[];
255
-
256
- export declare function parseMarkdownToStructure(markdown: string, md: default_2, options?: ParseOptions): ParsedNode[];
257
-
258
- export declare interface ParseOptions {
259
- preTransformTokens?: TransformTokensHook;
260
- postTransformTokens?: TransformTokensHook;
261
- }
262
-
263
- export declare type PostTransformNodesHook = (nodes: ParsedNode[]) => ParsedNode[];
264
-
265
- export declare function processTokens(tokens: MarkdownToken[]): ParsedNode[];
266
-
267
- export declare interface ReferenceNode extends BaseNode {
268
- type: 'reference';
269
- id: string;
270
- }
271
-
272
- export declare function setDefaultMathOptions(opts: MathOptions | undefined): void;
273
-
274
- export declare interface StrikethroughNode extends BaseNode {
275
- type: 'strikethrough';
276
- children: ParsedNode[];
277
- }
278
-
279
- export declare interface StrongNode extends BaseNode {
280
- type: 'strong';
281
- children: ParsedNode[];
282
- }
283
-
284
- export declare interface SubscriptNode extends BaseNode {
285
- type: 'subscript';
286
- children: ParsedNode[];
287
- }
288
-
289
- export declare interface SuperscriptNode extends BaseNode {
290
- type: 'superscript';
291
- children: ParsedNode[];
292
- }
293
-
294
- export declare interface TableCellNode extends BaseNode {
295
- type: 'table_cell';
296
- header: boolean;
297
- children: ParsedNode[];
298
- }
299
-
300
- export declare interface TableNode extends BaseNode {
301
- type: 'table';
302
- header: TableRowNode;
303
- rows: TableRowNode[];
304
- }
305
-
306
- export declare interface TableRowNode extends BaseNode {
307
- type: 'table_row';
308
- cells: TableCellNode[];
309
- }
310
-
311
- export declare interface TextNode extends BaseNode {
312
- type: 'text';
313
- content: string;
314
- center?: boolean;
315
- }
316
-
317
- export declare interface ThematicBreakNode extends BaseNode {
318
- type: 'thematic_break';
319
- }
320
-
321
- export declare type TransformTokensHook = (tokens: MarkdownToken[]) => MarkdownToken[];
322
-
323
- export { }
1
+ import MarkdownIt from "markdown-it";
2
+
3
+ //#region src/factory.d.ts
4
+ interface FactoryOptions extends Record<string, any> {
5
+ markdownItOptions?: Record<string, any>;
6
+ enableMath?: boolean;
7
+ enableContainers?: boolean;
8
+ mathOptions?: {
9
+ commands?: string[];
10
+ escapeExclamation?: boolean;
11
+ };
12
+ }
13
+ //#endregion
14
+ //#region src/types.d.ts
15
+ interface BaseNode {
16
+ type: string;
17
+ raw: string;
18
+ loading?: boolean;
19
+ code?: string;
20
+ diff?: boolean;
21
+ }
22
+ interface TextNode extends BaseNode {
23
+ type: 'text';
24
+ content: string;
25
+ center?: boolean;
26
+ }
27
+ interface HeadingNode extends BaseNode {
28
+ type: 'heading';
29
+ level: number;
30
+ text: string;
31
+ children: ParsedNode[];
32
+ }
33
+ interface ParagraphNode extends BaseNode {
34
+ type: 'paragraph';
35
+ children: ParsedNode[];
36
+ maybeCheckbox?: boolean;
37
+ }
38
+ interface ListNode extends BaseNode {
39
+ type: 'list';
40
+ ordered: boolean;
41
+ start?: number;
42
+ items: ListItemNode[];
43
+ }
44
+ interface ListItemNode extends BaseNode {
45
+ type: 'list_item';
46
+ children: ParsedNode[];
47
+ }
48
+ interface CodeBlockNode extends BaseNode {
49
+ type: 'code_block';
50
+ language: string;
51
+ code: string;
52
+ startLine?: number;
53
+ endLine?: number;
54
+ loading?: boolean;
55
+ diff?: boolean;
56
+ originalCode?: string;
57
+ updatedCode?: string;
58
+ raw: string;
59
+ }
60
+ interface InlineCodeNode extends BaseNode {
61
+ type: 'inline_code';
62
+ code: string;
63
+ }
64
+ interface LinkNode extends BaseNode {
65
+ type: 'link';
66
+ href: string;
67
+ title: string | null;
68
+ text: string;
69
+ children: ParsedNode[];
70
+ }
71
+ interface ImageNode extends BaseNode {
72
+ type: 'image';
73
+ src: string;
74
+ alt: string;
75
+ title: string | null;
76
+ }
77
+ interface ThematicBreakNode extends BaseNode {
78
+ type: 'thematic_break';
79
+ }
80
+ interface MermaidBlockNode {
81
+ node: {
82
+ type: 'code_block';
83
+ language: string;
84
+ code: string;
85
+ loading?: boolean;
86
+ };
87
+ }
88
+ type MarkdownRender = {
89
+ content: string;
90
+ nodes?: undefined;
91
+ } | {
92
+ content?: undefined;
93
+ nodes: BaseNode[];
94
+ };
95
+ interface BlockquoteNode extends BaseNode {
96
+ type: 'blockquote';
97
+ children: ParsedNode[];
98
+ }
99
+ interface TableNode extends BaseNode {
100
+ type: 'table';
101
+ header: TableRowNode;
102
+ rows: TableRowNode[];
103
+ }
104
+ interface TableRowNode extends BaseNode {
105
+ type: 'table_row';
106
+ cells: TableCellNode[];
107
+ }
108
+ interface TableCellNode extends BaseNode {
109
+ type: 'table_cell';
110
+ header: boolean;
111
+ children: ParsedNode[];
112
+ }
113
+ interface DefinitionListNode extends BaseNode {
114
+ type: 'definition_list';
115
+ items: DefinitionItemNode[];
116
+ }
117
+ interface DefinitionItemNode extends BaseNode {
118
+ type: 'definition_item';
119
+ term: ParsedNode[];
120
+ definition: ParsedNode[];
121
+ }
122
+ interface FootnoteNode extends BaseNode {
123
+ type: 'footnote';
124
+ id: string;
125
+ children: ParsedNode[];
126
+ }
127
+ interface FootnoteReferenceNode extends BaseNode {
128
+ type: 'footnote_reference';
129
+ id: string;
130
+ }
131
+ interface AdmonitionNode extends BaseNode {
132
+ type: 'admonition';
133
+ kind: string;
134
+ title: string;
135
+ children: ParsedNode[];
136
+ }
137
+ interface StrongNode extends BaseNode {
138
+ type: 'strong';
139
+ children: ParsedNode[];
140
+ }
141
+ interface EmphasisNode extends BaseNode {
142
+ type: 'emphasis';
143
+ children: ParsedNode[];
144
+ }
145
+ interface StrikethroughNode extends BaseNode {
146
+ type: 'strikethrough';
147
+ children: ParsedNode[];
148
+ }
149
+ interface HighlightNode extends BaseNode {
150
+ type: 'highlight';
151
+ children: ParsedNode[];
152
+ }
153
+ interface InsertNode extends BaseNode {
154
+ type: 'insert';
155
+ children: ParsedNode[];
156
+ }
157
+ interface SubscriptNode extends BaseNode {
158
+ type: 'subscript';
159
+ children: ParsedNode[];
160
+ }
161
+ interface SuperscriptNode extends BaseNode {
162
+ type: 'superscript';
163
+ children: ParsedNode[];
164
+ }
165
+ interface CheckboxNode extends BaseNode {
166
+ type: 'checkbox';
167
+ checked: boolean;
168
+ }
169
+ interface CheckboxInputNode extends BaseNode {
170
+ type: 'checkbox_input';
171
+ checked: boolean;
172
+ }
173
+ interface EmojiNode extends BaseNode {
174
+ type: 'emoji';
175
+ name: string;
176
+ markup: string;
177
+ }
178
+ interface HardBreakNode extends BaseNode {
179
+ type: 'hardbreak';
180
+ }
181
+ interface MathInlineNode extends BaseNode {
182
+ type: 'math_inline';
183
+ content: string;
184
+ }
185
+ interface MathBlockNode extends BaseNode {
186
+ type: 'math_block';
187
+ content: string;
188
+ }
189
+ interface ReferenceNode extends BaseNode {
190
+ type: 'reference';
191
+ id: string;
192
+ }
193
+ interface MarkdownToken {
194
+ type: string;
195
+ tag?: string;
196
+ content?: string;
197
+ info?: string;
198
+ loading?: boolean;
199
+ children?: MarkdownToken[];
200
+ attrs?: [string, string][];
201
+ markup?: string;
202
+ meta?: any;
203
+ map?: [number, number];
204
+ raw?: string;
205
+ }
206
+ type ParsedNode = TextNode | HeadingNode | ParagraphNode | ListNode | ListItemNode | CodeBlockNode | InlineCodeNode | LinkNode | ImageNode | ThematicBreakNode | BlockquoteNode | TableNode | TableRowNode | TableCellNode | StrongNode | EmphasisNode | StrikethroughNode | HighlightNode | InsertNode | SubscriptNode | SuperscriptNode | CheckboxNode | CheckboxInputNode | EmojiNode | DefinitionListNode | DefinitionItemNode | FootnoteNode | FootnoteReferenceNode | AdmonitionNode | HardBreakNode | MathInlineNode | MathBlockNode | ReferenceNode | Record<string, any>;
207
+ interface CustomComponents {
208
+ text: any;
209
+ paragraph: any;
210
+ heading: any;
211
+ code_block: any;
212
+ list: any;
213
+ blockquote: any;
214
+ table: any;
215
+ definition_list: any;
216
+ footnote: any;
217
+ footnote_reference: any;
218
+ admonition: any;
219
+ hardbreak: any;
220
+ link: any;
221
+ image: any;
222
+ thematic_break: any;
223
+ math_inline: any;
224
+ math_block: any;
225
+ strong: any;
226
+ emphasis: any;
227
+ strikethrough: any;
228
+ highlight: any;
229
+ insert: any;
230
+ subscript: any;
231
+ superscript: any;
232
+ emoji: any;
233
+ checkbox: any;
234
+ inline_code: any;
235
+ reference: any;
236
+ mermaid: any;
237
+ [key: string]: any;
238
+ }
239
+ type TransformTokensHook = (tokens: MarkdownToken[]) => MarkdownToken[];
240
+ interface ParseOptions {
241
+ preTransformTokens?: TransformTokensHook;
242
+ postTransformTokens?: TransformTokensHook;
243
+ }
244
+ type PostTransformNodesHook = (nodes: ParsedNode[]) => ParsedNode[];
245
+ //#endregion
246
+ //#region src/parser/inline-parsers/index.d.ts
247
+ declare function parseInlineTokens(tokens: MarkdownToken[], raw?: string, pPreToken?: MarkdownToken): ParsedNode[];
248
+ //#endregion
249
+ //#region src/parser/index.d.ts
250
+ declare function parseMarkdownToStructure(markdown: string, md: MarkdownIt, options?: ParseOptions): ParsedNode[];
251
+ declare function processTokens(tokens: MarkdownToken[]): ParsedNode[];
252
+ //#endregion
253
+ //#region src/config.d.ts
254
+ /**
255
+ * MathOptions control how the math plugin normalizes content before
256
+ * handing it to KaTeX (or other math renderers).
257
+ *
258
+ * - commands: list of command words that should be auto-prefixed with a
259
+ * backslash if not already escaped (e.g. 'infty' -> '\\infty'). Use a
260
+ * conservative list to avoid false positives in prose.
261
+ * - escapeExclamation: whether to escape standalone '!' to '\\!' (default true).
262
+ */
263
+ interface MathOptions {
264
+ /** List of command words to auto-escape. */
265
+ commands?: readonly string[];
266
+ /** Whether to escape standalone '!' (default: true). */
267
+ escapeExclamation?: boolean;
268
+ }
269
+ declare function setDefaultMathOptions(opts: MathOptions | undefined): void;
270
+ //#endregion
271
+ //#region src/findMatchingClose.d.ts
272
+ declare function findMatchingClose(src: string, startIdx: number, open: string, close: string): number;
273
+ //#endregion
274
+ //#region src/parser/inline-parsers/fence-parser.d.ts
275
+ declare function parseFenceToken(token: MarkdownToken): CodeBlockNode;
276
+ //#endregion
277
+ //#region src/plugins/containers.d.ts
278
+ declare function applyContainers(md: MarkdownIt): void;
279
+ //#endregion
280
+ //#region src/plugins/isMathLike.d.ts
281
+ declare const TEX_BRACE_COMMANDS: string[];
282
+ declare const ESCAPED_TEX_BRACE_COMMANDS: string;
283
+ declare function isMathLike(s: string): boolean;
284
+ //#endregion
285
+ //#region src/plugins/math.d.ts
286
+ declare const KATEX_COMMANDS: string[];
287
+ declare function normalizeStandaloneBackslashT(s: string, opts?: MathOptions): string;
288
+ declare function applyMath(md: MarkdownIt, mathOpts?: MathOptions): void;
289
+ //#endregion
290
+ //#region src/index.d.ts
291
+ interface GetMarkdownOptions extends FactoryOptions {
292
+ plugin?: Array<any>;
293
+ apply?: Array<(md: MarkdownIt) => void>;
294
+ /**
295
+ * Custom translation function or translation map for UI texts
296
+ * @default { 'common.copy': 'Copy' }
297
+ */
298
+ i18n?: ((key: string) => string) | Record<string, string>;
299
+ }
300
+ declare function getMarkdown(msgId?: string, options?: GetMarkdownOptions): MarkdownIt;
301
+ declare function getCommonMarkdown(): MarkdownIt;
302
+ declare function renderMarkdown(md: MarkdownIt, content: string): string;
303
+ //#endregion
304
+ export { AdmonitionNode, BaseNode, BlockquoteNode, CheckboxInputNode, CheckboxNode, CodeBlockNode, CustomComponents, DefinitionItemNode, DefinitionListNode, ESCAPED_TEX_BRACE_COMMANDS, EmojiNode, EmphasisNode, FootnoteNode, FootnoteReferenceNode, GetMarkdownOptions, HardBreakNode, HeadingNode, HighlightNode, ImageNode, InlineCodeNode, InsertNode, KATEX_COMMANDS, LinkNode, ListItemNode, ListNode, MarkdownRender, MarkdownToken, MathBlockNode, MathInlineNode, type MathOptions, MermaidBlockNode, ParagraphNode, ParseOptions, ParsedNode, PostTransformNodesHook, ReferenceNode, StrikethroughNode, StrongNode, SubscriptNode, SuperscriptNode, TEX_BRACE_COMMANDS, TableCellNode, TableNode, TableRowNode, TextNode, ThematicBreakNode, TransformTokensHook, applyContainers, applyMath, findMatchingClose, getCommonMarkdown, getMarkdown, isMathLike, normalizeStandaloneBackslashT, parseFenceToken, parseInlineTokens, parseMarkdownToStructure, processTokens, renderMarkdown, setDefaultMathOptions };
305
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/factory.ts","../src/types.ts","../src/parser/inline-parsers/index.ts","../src/parser/index.ts","../src/config.ts","../src/findMatchingClose.ts","../src/parser/inline-parsers/fence-parser.ts","../src/plugins/containers.ts","../src/plugins/isMathLike.ts","../src/plugins/math.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}