From 293c4a1be9629419c3829e7370682a6627eec6a2 Mon Sep 17 00:00:00 2001 From: Matt Huntington Date: Sat, 23 Jan 2016 12:41:28 -0500 Subject: [PATCH] using closure for html_stack --- index.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index 81b12f7..9ca2d67 100755 --- a/index.js +++ b/index.js @@ -1,6 +1,8 @@ var fs = require('fs'); module.exports = function(file_path, callback){ + var html_stack = []; + var insertTabs = function(num_tabs) { var result = ''; for(var i = 0; i < num_tabs; i++){ @@ -9,14 +11,14 @@ module.exports = function(file_path, callback){ return result; } - var emptyHTMLStack = function(html_stack){ + var emptyHTMLStack = function(){ var result = ''; while(html_stack.length > 0){ result += html_stack.pop(); } return result; } - var popHTMLStack = function(html_stack, current_line_num_tabs, previous_line_num_tabs){ + var popHTMLStack = function(current_line_num_tabs, previous_line_num_tabs){ var result = html_stack.pop(); for(var i = previous_line_num_tabs; i > current_line_num_tabs; i--){ result += html_stack.pop(); @@ -29,7 +31,6 @@ module.exports = function(file_path, callback){ var previous_line_num_tabs = -1; var lines = data.split('\n'); var html = ''; - var html_stack = []; for(var i = 0; i < lines.length; i++){ if(lines[i] !== ''){ var tabs_array = lines[i].split('\t'); @@ -41,7 +42,7 @@ module.exports = function(file_path, callback){ html += html_stack.pop(); } else if(current_line_num_tabs < previous_line_num_tabs){ - html += popHTMLStack(html_stack, current_line_num_tabs, previous_line_num_tabs); + html += popHTMLStack(current_line_num_tabs, previous_line_num_tabs); } html += insertTabs((current_line_num_tabs * 2) + 1) + '
  • \n'; html += insertTabs((current_line_num_tabs * 2) + 2) + tabs_array[tabs_array.length - 1] + '\n'; @@ -49,7 +50,7 @@ module.exports = function(file_path, callback){ previous_line_num_tabs = current_line_num_tabs; } } - html += emptyHTMLStack(html_stack); + html += emptyHTMLStack(); callback(html); } fs.readFile(file_path, 'utf8', function(err, data){