react-native-marked 1.6.12 → 1.6.13

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.
@@ -24,7 +24,7 @@ class Parser {
24
24
  */
25
25
  if (t.type === "image" || t.type === "link" && t.tokens && t.tokens[0] && t.tokens[0].type === "image") {
26
26
  // Render existing inline tokens in the queue
27
- const parsed = this.parseInline(tokenRenderQueue);
27
+ const parsed = this._parse(tokenRenderQueue);
28
28
 
29
29
  if (parsed.length > 0) {
30
30
  siblingNodes.push(this.renderer.getTextNode(parsed, textStyle));
@@ -32,7 +32,7 @@ class Parser {
32
32
 
33
33
 
34
34
  if (t.type === "image") {
35
- siblingNodes.push(this.parseInline([t]));
35
+ siblingNodes.push(this._parseToken(t));
36
36
  } else if (t.type === "link") {
37
37
  const imageToken = t.tokens[0];
38
38
  const href = getValidURL(this.baseUrl, t.href);
@@ -48,7 +48,7 @@ class Parser {
48
48
  /* Remaining temp tokens if any */
49
49
 
50
50
  if (tokenRenderQueue.length > 0) {
51
- siblingNodes.push(this.renderer.getTextNode(this.parseInline(tokenRenderQueue), {}));
51
+ siblingNodes.push(this.renderer.getTextNode(this._parse(tokenRenderQueue), {}));
52
52
  }
53
53
 
54
54
  return siblingNodes;
@@ -69,150 +69,148 @@ class Parser {
69
69
  }
70
70
 
71
71
  parse(tokens) {
72
+ return this._parse(tokens);
73
+ }
74
+
75
+ _parse(tokens, styles) {
72
76
  const elements = tokens.map(token => {
73
- switch (token.type) {
74
- case "space":
75
- {
76
- return null;
77
- }
77
+ return this._parseToken(token, styles);
78
+ });
79
+ return elements.filter(element => element !== null);
80
+ }
78
81
 
79
- case "paragraph":
80
- {
81
- const paragraphChildren = this.getNormalizedSiblingNodesForBlockAndInlineTokens(token.tokens, this.styles.text);
82
- return this.renderer.getViewNode(paragraphChildren, this.styles.paragraph);
83
- }
82
+ _parseToken(token, styles) {
83
+ switch (token.type) {
84
+ case "space":
85
+ {
86
+ return null;
87
+ }
84
88
 
85
- case "blockquote":
86
- {
87
- return this.renderer.getBlockquoteNode(this.parse(token.tokens), this.styles.blockquote);
88
- }
89
+ case "paragraph":
90
+ {
91
+ const paragraphChildren = this.getNormalizedSiblingNodesForBlockAndInlineTokens(token.tokens, this.styles.text);
92
+ return this.renderer.getViewNode(paragraphChildren, this.styles.paragraph);
93
+ }
89
94
 
90
- case "heading":
91
- {
92
- const styles = this.headingStylesMap[token.depth];
93
- return this.renderer.getTextNode(this.parseInline(token.tokens, styles), styles);
94
- }
95
+ case "blockquote":
96
+ {
97
+ return this.renderer.getBlockquoteNode(this._parse(token.tokens), this.styles.blockquote);
98
+ }
95
99
 
96
- case "code":
97
- {
98
- return this.renderer.getCodeBlockNode(token.text, this.styles.code, this.styles.em);
99
- }
100
+ case "heading":
101
+ {
102
+ const styles = this.headingStylesMap[token.depth];
103
+ return this.renderer.getTextNode(this._parse(token.tokens, styles), styles);
104
+ }
100
105
 
101
- case "hr":
102
- {
103
- return this.renderer.getViewNode(null, this.styles.hr);
104
- }
106
+ case "code":
107
+ {
108
+ return this.renderer.getCodeBlockNode(token.text, this.styles.code, this.styles.em);
109
+ }
105
110
 
106
- case "list":
107
- {
108
- const li = token.items.map(item => {
109
- const children = item.tokens.map(cItem => {
110
- if (cItem.type === "text") {
111
- /* getViewNode since tokens could contain a block like elements (i.e. img) */
112
- const childTokens = cItem.tokens || [];
113
- const listChildren = this.getNormalizedSiblingNodesForBlockAndInlineTokens(childTokens, this.styles.li);
114
- return this.renderer.getViewNode(listChildren, this.styles.li);
115
- }
116
- /* Parse the nested token */
117
-
118
-
119
- return this.parse([cItem]);
120
- });
121
- return this.renderer.getViewNode(children, this.styles.li);
122
- });
123
- return this.renderer.getListNode(token.ordered, li, this.styles.list, this.styles.li);
124
- }
111
+ case "hr":
112
+ {
113
+ return this.renderer.getViewNode(null, this.styles.hr);
114
+ }
125
115
 
126
- default:
127
- return this.parseInline([token]);
128
- }
129
- });
130
- return elements.filter(element => element !== null);
131
- }
116
+ case "list":
117
+ {
118
+ const li = token.items.map(item => {
119
+ const children = item.tokens.map(cItem => {
120
+ if (cItem.type === "text") {
121
+ /* getViewNode since tokens could contain a block like elements (i.e. img) */
122
+ const childTokens = cItem.tokens || [];
123
+ const listChildren = this.getNormalizedSiblingNodesForBlockAndInlineTokens(childTokens, this.styles.li);
124
+ return this.renderer.getViewNode(listChildren, this.styles.li);
125
+ }
126
+ /* Parse the nested token */
132
127
 
133
- parseInline(tokens, styles) {
134
- const elements = tokens.map(token => {
135
- switch (token.type) {
136
- case "escape":
137
- {
138
- return this.renderer.getTextNode(token.text, { ...this.styles.text,
139
- ...styles
128
+
129
+ return this._parseToken(cItem);
140
130
  });
141
- }
131
+ return this.renderer.getViewNode(children, this.styles.li);
132
+ });
133
+ return this.renderer.getListNode(token.ordered, li, this.styles.list, this.styles.li);
134
+ }
142
135
 
143
- case "link":
144
- {
145
- // Note: Linking Images (https://www.markdownguide.org/basic-syntax/#linking-images) are wrapped
146
- // in paragraph token, so will be handled via `getNormalizedSiblingNodesForBlockAndInlineTokens`
147
- const linkStyle = { ...styles,
148
- ...this.styles.link // To override color property
136
+ case "escape":
137
+ {
138
+ return this.renderer.getTextNode(token.text, { ...this.styles.text,
139
+ ...styles
140
+ });
141
+ }
149
142
 
150
- };
151
- const href = getValidURL(this.baseUrl, token.href);
152
- return this.renderer.getTextLinkNode(this.parseInline(token.tokens, linkStyle), href, linkStyle);
153
- }
143
+ case "link":
144
+ {
145
+ // Note: Linking Images (https://www.markdownguide.org/basic-syntax/#linking-images) are wrapped
146
+ // in paragraph token, so will be handled via `getNormalizedSiblingNodesForBlockAndInlineTokens`
147
+ const linkStyle = { ...styles,
148
+ ...this.styles.link // To override color property
154
149
 
155
- case "image":
156
- {
157
- return this.renderer.getImageNode(token.href, token.text || token.title, this.styles.image);
158
- }
150
+ };
151
+ const href = getValidURL(this.baseUrl, token.href);
152
+ return this.renderer.getTextLinkNode(this._parse(token.tokens, linkStyle), href, linkStyle);
153
+ }
159
154
 
160
- case "strong":
161
- {
162
- const boldStyle = { ...this.styles.strong,
163
- ...styles
164
- };
165
- return this.renderer.getTextNode(this.parseInline(token.tokens, boldStyle), boldStyle);
166
- }
155
+ case "image":
156
+ {
157
+ return this.renderer.getImageNode(token.href, token.text || token.title, this.styles.image);
158
+ }
167
159
 
168
- case "em":
169
- {
170
- const italicStyle = { ...this.styles.em,
171
- ...styles
172
- };
173
- return this.renderer.getTextNode(this.parseInline(token.tokens, italicStyle), italicStyle);
174
- }
160
+ case "strong":
161
+ {
162
+ const boldStyle = { ...this.styles.strong,
163
+ ...styles
164
+ };
165
+ return this.renderer.getTextNode(this._parse(token.tokens, boldStyle), boldStyle);
166
+ }
175
167
 
176
- case "codespan":
177
- {
178
- return this.renderer.getTextNode(token.text, { ...this.styles.codespan,
179
- ...styles
180
- });
181
- }
168
+ case "em":
169
+ {
170
+ const italicStyle = { ...this.styles.em,
171
+ ...styles
172
+ };
173
+ return this.renderer.getTextNode(this._parse(token.tokens, italicStyle), italicStyle);
174
+ }
182
175
 
183
- case "br":
184
- {
185
- return this.renderer.getTextNode("\n", {});
186
- }
176
+ case "codespan":
177
+ {
178
+ return this.renderer.getTextNode(token.text, { ...this.styles.codespan,
179
+ ...styles
180
+ });
181
+ }
187
182
 
188
- case "del":
189
- {
190
- const strikethroughStyle = { ...this.styles.strikethrough,
191
- ...styles
192
- };
193
- return this.renderer.getTextNode(this.parseInline(token.tokens, strikethroughStyle), strikethroughStyle);
194
- }
183
+ case "br":
184
+ {
185
+ return this.renderer.getTextNode("\n", {});
186
+ }
195
187
 
196
- case "text":
197
- case "html":
198
- {
199
- if (token.type === "html") {
200
- console.warn("react-native-marked: rendering html from markdown is not supported");
201
- }
188
+ case "del":
189
+ {
190
+ const strikethroughStyle = { ...this.styles.strikethrough,
191
+ ...styles
192
+ };
193
+ return this.renderer.getTextNode(this._parse(token.tokens, strikethroughStyle), strikethroughStyle);
194
+ }
202
195
 
203
- return this.renderer.getTextNode(token.raw, { ...this.styles.text,
204
- ...styles
205
- });
196
+ case "text":
197
+ case "html":
198
+ {
199
+ if (token.type === "html") {
200
+ console.warn("react-native-marked: rendering html from markdown is not supported");
206
201
  }
207
202
 
208
- default:
209
- {
210
- console.warn(`react-native-marked: token with '${token.type}' type was not found.`);
211
- return null;
212
- }
213
- }
214
- });
215
- return elements.filter(element => element !== null);
203
+ return this.renderer.getTextNode(token.raw, { ...this.styles.text,
204
+ ...styles
205
+ });
206
+ }
207
+
208
+ default:
209
+ {
210
+ console.warn(`react-native-marked: token with '${token.type}' type was not found.`);
211
+ return null;
212
+ }
213
+ }
216
214
  }
217
215
 
218
216
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Renderer","getValidURL","Parser","constructor","options","tokens","textStyle","tokenRenderQueue","siblingNodes","forEach","t","type","parsed","parseInline","length","push","renderer","getTextNode","imageToken","href","baseUrl","getImageLinkNode","text","title","styles","image","headingStylesMap","h1","h2","h3","h4","h5","h6","parse","elements","map","token","paragraphChildren","getNormalizedSiblingNodesForBlockAndInlineTokens","getViewNode","paragraph","getBlockquoteNode","blockquote","depth","getCodeBlockNode","code","em","hr","li","items","item","children","cItem","childTokens","listChildren","getListNode","ordered","list","filter","element","linkStyle","link","getTextLinkNode","getImageNode","boldStyle","strong","italicStyle","codespan","strikethroughStyle","strikethrough","console","warn","raw"],"sourceRoot":"../../src","sources":["Parser.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["Renderer","getValidURL","Parser","constructor","options","tokens","textStyle","tokenRenderQueue","siblingNodes","forEach","t","type","parsed","_parse","length","push","renderer","getTextNode","_parseToken","imageToken","href","baseUrl","getImageLinkNode","text","title","styles","image","headingStylesMap","h1","h2","h3","h4","h5","h6","parse","elements","map","token","filter","element","paragraphChildren","getNormalizedSiblingNodesForBlockAndInlineTokens","getViewNode","paragraph","getBlockquoteNode","blockquote","depth","getCodeBlockNode","code","em","hr","li","items","item","children","cItem","childTokens","listChildren","getListNode","ordered","list","linkStyle","link","getTextLinkNode","getImageNode","boldStyle","strong","italicStyle","codespan","strikethroughStyle","strikethrough","console","warn","raw"],"sourceRoot":"../../src","sources":["Parser.tsx"],"mappings":"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"}
@@ -48,9 +48,9 @@ class Renderer {
48
48
 
49
49
  getCodeBlockNode(text, containerStyle, textStyle) {
50
50
  return /*#__PURE__*/React.createElement(ScrollView, {
51
+ horizontal: true,
51
52
  key: generateRandomString(),
52
- contentContainerStyle: containerStyle,
53
- horizontal: true
53
+ contentContainerStyle: containerStyle
54
54
  }, /*#__PURE__*/React.createElement(Text, {
55
55
  style: textStyle
56
56
  }, text));
@@ -1 +1 @@
1
- {"version":3,"names":["React","ScrollView","View","Text","TouchableHighlight","MarkedList","Disc","Decimal","MDImage","generateRandomString","onLinkPress","Renderer","children","styles","href","imageUrl","alt","style","imageNode","getImageNode","getViewNode","getCodeBlockNode","text","containerStyle","textStyle","getBlockquoteNode","uri","getListNode","ordered","li","listStyle","map","node"],"sourceRoot":"../../src","sources":["Renderer.tsx"],"mappings":";;AAAA,OAAOA,KAAP,MAAiC,OAAjC;AACA,SACCC,UADD,EAECC,IAFD,EAGCC,IAHD,EAICC,kBAJD,QAQO,cARP;AASA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,IAAP,MAAiB,mCAAjB;AACA,OAAOC,OAAP,MAAoB,sCAApB;AACA,OAAOC,OAAP,MAAoB,yBAApB;AACA,SAASC,oBAAT,QAAqC,iBAArC;AACA,SAASC,WAAT,QAA4B,mBAA5B;;AAEA,MAAMC,QAAN,CAAe;EAAA;IAAA,qCACA,CAACC,QAAD,EAAiCC,MAAjC,KAAwD;MACrE,oBACC,oBAAC,IAAD;QAAM,GAAG,EAAEJ,oBAAoB,EAA/B;QAAmC,KAAK,EAAEI;MAA1C,GACED,QADF,CADD;IAKA,CAPa;;IAAA,yCASI,CACjBA,QADiB,EAEjBE,IAFiB,EAGjBD,MAHiB,KAIb;MACJ,oBACC,oBAAC,IAAD;QACC,iBAAiB,EAAC,MADnB;QAEC,iBAAiB,EAAC,uBAFnB;QAGC,GAAG,EAAEJ,oBAAoB,EAH1B;QAIC,OAAO,EAAEC,WAAW,CAACI,IAAD,CAJrB;QAKC,KAAK,EAAED;MALR,GAOED,QAPF,CADD;IAWA,CAzBa;;IAAA,0CA2BK,CAClBE,IADkB,EAElBC,QAFkB,EAGlBC,GAHkB,EAIlBC,KAJkB,KAKd;MACJ,MAAMC,SAAS,GAAG,KAAKC,YAAL,CAAkBJ,QAAlB,EAA4BC,GAA5B,EAAiCC,KAAjC,CAAlB;MACA,oBACC,oBAAC,kBAAD;QACC,iBAAiB,EAAC,MADnB;QAEC,iBAAiB,EAAC,uBAFnB;QAGC,OAAO,EAAEP,WAAW,CAACI,IAAD,CAHrB;QAIC,GAAG,EAAEL,oBAAoB;MAJ1B,GAMES,SANF,CADD;IAUA,CA5Ca;EAAA;;EA8CdE,WAAW,CAACR,QAAD,EAA+BC,MAA/B,EAAmD;IAC7D,oBACC,oBAAC,IAAD;MAAM,GAAG,EAAEJ,oBAAoB,EAA/B;MAAmC,KAAK,EAAEI;IAA1C,GACED,QADF,CADD;EAKA;;EAEDS,gBAAgB,CACfC,IADe,EAEfC,cAFe,EAGfC,SAHe,EAId;IACD,oBACC,oBAAC,UAAD;MACC,GAAG,EAAEf,oBAAoB,EAD1B;MAEC,qBAAqB,EAAEc,cAFxB;MAGC,UAAU,EAAE;IAHb,gBAKC,oBAAC,IAAD;MAAM,KAAK,EAAEC;IAAb,GAAyBF,IAAzB,CALD,CADD;EASA;;EAEDG,iBAAiB,CAACb,QAAD,EAAwBC,MAAxB,EAA4C;IAC5D,oBACC,oBAAC,IAAD;MAAM,GAAG,EAAEJ,oBAAoB,EAA/B;MAAmC,KAAK,EAAEI;IAA1C,GACED,QADF,CADD;EAKA;;EAEDO,YAAY,CAACO,GAAD,EAAcV,GAAd,EAA4BC,KAA5B,EAAgD;IAC3D,oBACC,oBAAC,OAAD;MAAS,GAAG,EAAER,oBAAoB,EAAlC;MAAsC,GAAG,EAAEiB,GAA3C;MAAgD,GAAG,EAAEV,GAArD;MAA0D,KAAK,EAAEC;IAAjE,EADD;EAGA;;EAEDU,WAAW,CACVC,OADU,EAEVC,EAFU,EAGVC,SAHU,EAIVN,SAJU,EAKT;IACD,oBACC,oBAAC,UAAD;MACC,eAAe,EAAEI,OAAO,GAAGrB,OAAH,GAAaD,IADtC;MAEC,eAAe,EAAEkB,SAFlB;MAGC,cAAc,EAAEM,SAHjB;MAIC,GAAG,EAAErB,oBAAoB;IAJ1B,GAMEoB,EAAE,CAACE,GAAH,CAAQC,IAAD,IAAUA,IAAjB,CANF,CADD;EAUA;;AApGa;;AAuGf,eAAerB,QAAf"}
1
+ {"version":3,"names":["React","ScrollView","View","Text","TouchableHighlight","MarkedList","Disc","Decimal","MDImage","generateRandomString","onLinkPress","Renderer","children","styles","href","imageUrl","alt","style","imageNode","getImageNode","getViewNode","getCodeBlockNode","text","containerStyle","textStyle","getBlockquoteNode","uri","getListNode","ordered","li","listStyle","map","node"],"sourceRoot":"../../src","sources":["Renderer.tsx"],"mappings":";;AAAA,OAAOA,KAAP,MAAiC,OAAjC;AACA,SACCC,UADD,EAECC,IAFD,EAGCC,IAHD,EAICC,kBAJD,QAQO,cARP;AASA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,IAAP,MAAiB,mCAAjB;AACA,OAAOC,OAAP,MAAoB,sCAApB;AACA,OAAOC,OAAP,MAAoB,yBAApB;AACA,SAASC,oBAAT,QAAqC,iBAArC;AACA,SAASC,WAAT,QAA4B,mBAA5B;;AAEA,MAAMC,QAAN,CAAe;EAAA;IAAA,qCACA,CAACC,QAAD,EAAiCC,MAAjC,KAAwD;MACrE,oBACC,oBAAC,IAAD;QAAM,GAAG,EAAEJ,oBAAoB,EAA/B;QAAmC,KAAK,EAAEI;MAA1C,GACED,QADF,CADD;IAKA,CAPa;;IAAA,yCASI,CACjBA,QADiB,EAEjBE,IAFiB,EAGjBD,MAHiB,KAIb;MACJ,oBACC,oBAAC,IAAD;QACC,iBAAiB,EAAC,MADnB;QAEC,iBAAiB,EAAC,uBAFnB;QAGC,GAAG,EAAEJ,oBAAoB,EAH1B;QAIC,OAAO,EAAEC,WAAW,CAACI,IAAD,CAJrB;QAKC,KAAK,EAAED;MALR,GAOED,QAPF,CADD;IAWA,CAzBa;;IAAA,0CA2BK,CAClBE,IADkB,EAElBC,QAFkB,EAGlBC,GAHkB,EAIlBC,KAJkB,KAKd;MACJ,MAAMC,SAAS,GAAG,KAAKC,YAAL,CAAkBJ,QAAlB,EAA4BC,GAA5B,EAAiCC,KAAjC,CAAlB;MACA,oBACC,oBAAC,kBAAD;QACC,iBAAiB,EAAC,MADnB;QAEC,iBAAiB,EAAC,uBAFnB;QAGC,OAAO,EAAEP,WAAW,CAACI,IAAD,CAHrB;QAIC,GAAG,EAAEL,oBAAoB;MAJ1B,GAMES,SANF,CADD;IAUA,CA5Ca;EAAA;;EA8CdE,WAAW,CAACR,QAAD,EAA+BC,MAA/B,EAAmD;IAC7D,oBACC,oBAAC,IAAD;MAAM,GAAG,EAAEJ,oBAAoB,EAA/B;MAAmC,KAAK,EAAEI;IAA1C,GACED,QADF,CADD;EAKA;;EAEDS,gBAAgB,CACfC,IADe,EAEfC,cAFe,EAGfC,SAHe,EAId;IACD,oBACC,oBAAC,UAAD;MACC,UAAU,MADX;MAEC,GAAG,EAAEf,oBAAoB,EAF1B;MAGC,qBAAqB,EAAEc;IAHxB,gBAKC,oBAAC,IAAD;MAAM,KAAK,EAAEC;IAAb,GAAyBF,IAAzB,CALD,CADD;EASA;;EAEDG,iBAAiB,CAACb,QAAD,EAAwBC,MAAxB,EAA4C;IAC5D,oBACC,oBAAC,IAAD;MAAM,GAAG,EAAEJ,oBAAoB,EAA/B;MAAmC,KAAK,EAAEI;IAA1C,GACED,QADF,CADD;EAKA;;EAEDO,YAAY,CAACO,GAAD,EAAcV,GAAd,EAA4BC,KAA5B,EAAgD;IAC3D,oBACC,oBAAC,OAAD;MAAS,GAAG,EAAER,oBAAoB,EAAlC;MAAsC,GAAG,EAAEiB,GAA3C;MAAgD,GAAG,EAAEV,GAArD;MAA0D,KAAK,EAAEC;IAAjE,EADD;EAGA;;EAEDU,WAAW,CACVC,OADU,EAEVC,EAFU,EAGVC,SAHU,EAIVN,SAJU,EAKT;IACD,oBACC,oBAAC,UAAD;MACC,eAAe,EAAEI,OAAO,GAAGrB,OAAH,GAAaD,IADtC;MAEC,eAAe,EAAEkB,SAFlB;MAGC,cAAc,EAAEM,SAHjB;MAIC,GAAG,EAAErB,oBAAoB;IAJ1B,GAMEoB,EAAE,CAACE,GAAH,CAAQC,IAAD,IAAUA,IAAjB,CANF,CADD;EAUA;;AApGa;;AAuGf,eAAerB,QAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../../src/lib/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAKrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;;AA4C7C,wBAA8B"}
1
+ {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../../src/lib/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;;AAgD7C,wBAA8B"}
@@ -1,5 +1,4 @@
1
1
  import type { ReactNode } from "react";
2
- import type { TextStyle, ViewStyle, ImageStyle } from "react-native";
3
2
  import type { marked } from "marked";
4
3
  import type { ParserOptions } from "./types";
5
4
  declare class Parser {
@@ -9,7 +8,8 @@ declare class Parser {
9
8
  private baseUrl;
10
9
  constructor(options: ParserOptions);
11
10
  parse(tokens: marked.Token[]): ReactNode[];
12
- parseInline(tokens: marked.Token[], styles?: ViewStyle | TextStyle | ImageStyle): ReactNode[];
11
+ private _parse;
12
+ private _parseToken;
13
13
  private getNormalizedSiblingNodesForBlockAndInlineTokens;
14
14
  }
15
15
  export default Parser;
@@ -1 +1 @@
1
- {"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../../../../src/lib/Parser.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,cAAM,MAAM;IACX,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,OAAO,CAAS;gBACZ,OAAO,EAAE,aAAa;IAclC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE;IA0E5B,WAAW,CACV,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EACtB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU;IA8F5C,OAAO,CAAC,gDAAgD,CAuDtD;CACF;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../../../../src/lib/Parser.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,cAAM,MAAM;IACX,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,OAAO,CAAS;gBACZ,OAAO,EAAE,aAAa;IAclC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE;IAI5B,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,WAAW;IA6JnB,OAAO,CAAC,gDAAgD,CAuDtD;CACF;AAED,eAAe,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-marked",
3
- "version": "1.6.12",
3
+ "version": "1.6.13",
4
4
  "description": "Markdown renderer for React Native powered by marked.js",
5
5
  "main": "dist/commonjs/index",
6
6
  "module": "dist/module/index",
@@ -50,30 +50,30 @@
50
50
  "devDependencies": {
51
51
  "@babel/core": "7.20.12",
52
52
  "@babel/preset-env": "7.20.2",
53
- "@commitlint/config-conventional": "17.4.2",
54
- "@evilmartians/lefthook": "1.2.7",
53
+ "@commitlint/config-conventional": "17.4.4",
54
+ "@evilmartians/lefthook": "1.2.9",
55
55
  "@release-it/conventional-changelog": "5.1.1",
56
56
  "@testing-library/jest-native": "5.4.1",
57
- "@testing-library/react-native": "11.5.0",
58
- "@types/jest": "29.2.5",
57
+ "@testing-library/react-native": "11.5.2",
58
+ "@types/jest": "29.4.0",
59
59
  "@types/marked": "4.0.8",
60
60
  "@types/node": "^18.11.18",
61
- "@types/react": "18.0.26",
61
+ "@types/react": "18.0.28",
62
62
  "@types/react-native": "0.70.8",
63
- "commitlint": "17.4.2",
64
- "danger": "11.2.1",
65
- "jest": "29.3.1",
66
- "jest-environment-jsdom": "29.3.1",
67
- "metro-react-native-babel-preset": "0.74.0",
63
+ "commitlint": "17.4.4",
64
+ "danger": "11.2.3",
65
+ "jest": "29.4.3",
66
+ "jest-environment-jsdom": "29.4.3",
67
+ "metro-react-native-babel-preset": "0.75.0",
68
68
  "pod-install": "0.1.38",
69
69
  "react": "18.1.0",
70
70
  "react-native": "0.70.6",
71
71
  "react-native-builder-bob": "0.20.3",
72
72
  "react-test-renderer": "18.1.0",
73
- "reassure": "0.6.0",
73
+ "reassure": "0.7.1",
74
74
  "release-it": "15.6.0",
75
75
  "rome": "11.0.0",
76
- "typescript": "4.9.4"
76
+ "typescript": "4.9.5"
77
77
  },
78
78
  "peerDependencies": {
79
79
  "react": "^16.8.6 || ^17.0.0 || ^18.0.0",
@@ -1,4 +1,10 @@
1
- import React, { memo, ReactNode, useCallback, useMemo } from "react";
1
+ import React, {
2
+ memo,
3
+ ReactElement,
4
+ ReactNode,
5
+ useCallback,
6
+ useMemo,
7
+ } from "react";
2
8
  import { FlatList, useColorScheme } from "react-native";
3
9
  import { marked } from "marked";
4
10
  import Parser from "./Parser";
@@ -18,14 +24,18 @@ const Markdown = ({
18
24
  [userStyles, colorScheme, theme],
19
25
  );
20
26
 
27
+ const parser = useMemo(
28
+ () => new Parser({ styles, baseUrl }),
29
+ [styles, baseUrl],
30
+ );
31
+
21
32
  const rnElements = useMemo(() => {
22
- const parser = new Parser({ styles, baseUrl });
23
33
  const tokens = marked.lexer(value, { mangle: false, gfm: true });
24
34
  return parser.parse(tokens);
25
35
  }, [value, styles, baseUrl]);
26
36
 
27
37
  const renderItem = useCallback(({ item }: { item: ReactNode }) => {
28
- return <>{item}</>;
38
+ return item as ReactElement;
29
39
  }, []);
30
40
 
31
41
  const keyExtractor = useCallback(
@@ -35,10 +45,10 @@ const Markdown = ({
35
45
 
36
46
  return (
37
47
  <FlatList
48
+ removeClippedSubviews
38
49
  keyExtractor={keyExtractor}
39
50
  maxToRenderPerBatch={8}
40
51
  initialNumToRender={8}
41
- removeClippedSubviews={true}
42
52
  style={styles.container}
43
53
  {...flatListProps}
44
54
  data={rnElements}