From 7a41005a46f88b61eb30acf0f8e33962c0445d92 Mon Sep 17 00:00:00 2001 From: Vitaly Puzrin Date: Sat, 11 Oct 2014 04:56:42 +0400 Subject: [PATCH] speed opt (renderer) --- lib/renderer.js | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/renderer.js b/lib/renderer.js index 45d76d4..474d39c 100644 --- a/lib/renderer.js +++ b/lib/renderer.js @@ -227,8 +227,9 @@ function Renderer() { this.rules = assign({}, rules); } + Renderer.prototype.render = function (tokens, options) { - var i, len, rule, name, next, + var i, len, name, next, result = '', rules = this.rules, tightStack = []; @@ -238,7 +239,6 @@ Renderer.prototype.render = function (tokens, options) { for (i = 0, len = tokens.length; i < len; i++) { name = tokens[i].type; - rule = rules[name]; // Dirty stack machine to track lists style (loose/tight) if (name === 'ordered_list_open' || name === 'bullet_list_open') { @@ -279,11 +279,7 @@ Renderer.prototype.render = function (tokens, options) { if (tokens[i].type === 'inline') { result += this.render(tokens[i].children, options); } else { - // TODO: temporary check - if (!rule) { - throw new Error('Renderer error: unknown token ' + name); - } - result += rule(tokens, i, options); + result += rules[name](tokens, i, options); } }