Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import parser from './lib/parser';
import getUniqueID from './lib/util/getUniqueID';
import hasParents from './lib/util/hasParents';
import openUrl from './lib/util/openUrl';
import logger from './lib/util/logger.js';
import tokensToAST from './lib/util/tokensToAST';
import renderRules from './lib/renderRules';
import AstRenderer from './lib/AstRenderer';
Expand Down Expand Up @@ -91,13 +92,13 @@ const getRenderer = (
debugPrintTree,
) => {
if (renderer && rules) {
console.warn(
logger.warn(
'react-native-markdown-display you are using renderer and rules at the same time. This is not possible, props.rules is ignored',
);
}

if (renderer && style) {
console.warn(
logger.warn(
'react-native-markdown-display you are using renderer and style at the same time. This is not possible, props.style is ignored',
);
}
Expand Down
17 changes: 13 additions & 4 deletions src/lib/AstRenderer.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import {StyleSheet} from 'react-native';

import {textStylePropsSet} from './data/textStyleProps';
import logger from './util/logger.js';
import convertAdditionalStyles from './util/convertAdditionalStyles';
import getUniqueID from './util/getUniqueID';

Expand Down Expand Up @@ -30,6 +31,16 @@ export default class AstRenderer {
this._debugPrintTree = debugPrintTree;
}

_log = (...args) => {
if (this._debugPrintTree === true) {
logger.log(...args);
}
};

_warn = (...args) => {
logger.warn(...args);
};

/**
*
* @param {string} type
Expand All @@ -39,7 +50,7 @@ export default class AstRenderer {
const renderFunction = this._renderRules[type];

if (!renderFunction) {
console.warn(
this._warn(
`Warning, unknown render rule encountered: ${type}. 'unknown' render rule used (by default, returns null - nothing rendered)`,
);
return this._renderRules.unknown;
Expand All @@ -58,9 +69,7 @@ export default class AstRenderer {
const renderFunction = this.getRenderFunction(node.type);
const parents = [...parentNodes];

if (this._debugPrintTree === true) {
console.log(`${'-'.repeat(parents.length)}${node.type}`);
}
this._log(`${'-'.repeat(parents.length)}${node.type}`);

parents.unshift(node);

Expand Down
19 changes: 19 additions & 0 deletions src/lib/util/logger.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
const logger = {
log: (...args) => {
if (typeof console !== 'undefined' && typeof console.log === 'function') {
console.log(...args);
}
},
warn: (...args) => {
if (typeof console !== 'undefined' && typeof console.warn === 'function') {
console.warn(...args);
}
},
error: (...args) => {
if (typeof console !== 'undefined' && typeof console.error === 'function') {
console.error(...args);
}
},
};

export default logger;
3 changes: 2 additions & 1 deletion src/lib/util/stringToTokens.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import logger from './logger.js';
export function stringToTokens(source, markdownIt) {
let result = [];
try {
result = markdownIt.parse(source, {});
} catch (err) {
console.warn(err);
logger.warn(err);
}

return result;
Expand Down