react-native-markdown-renderer
Version:
Markdown renderer for react-native, with CommonMark spec support + adds syntax extensions & sugar (URL autolinking, typographer).
24 lines (20 loc) • 654 B
JavaScript
import React from 'react';
import { View } from 'react-native';
import tokensToAST from './util/tokensToAST';
import { stringToTokens } from './util/stringToTokens';
import { cleanupTokens } from './util/cleanupTokens';
import groupTextTokens from './util/groupTextTokens';
/**
*
* @param {string} source
* @param {function} [renderer]
* @param {AstRenderer} [markdownIt]
* @return {View}
*/
export default function parser(source, renderer, markdownIt) {
let tokens = stringToTokens(source, markdownIt);
tokens = cleanupTokens(tokens);
tokens = groupTextTokens(tokens);
const astTree = tokensToAST(tokens);
return renderer(astTree);
}