From 09de17773584821aa594e0e04af80399b6e5e7c5 Mon Sep 17 00:00:00 2001 From: chylex <contact@chylex.com> Date: Mon, 24 Jul 2017 11:56:22 +0200 Subject: [PATCH] Add an 'indentstr' parameter to use for line indentation --- README.md | 3 +++ objtree.js | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e6dfc93..f0786d1 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,9 @@ var result = objtree(target, { // Prefixed before every name (ex. window) grandparent: "", + // String used to indent lines to display the level of nesting + indentstr: " ", + // Array of strings (behaving like regular expressions) matched against names to exclude // Use / to separate nested objects (ex. {a:{b:{c:true}}} will be a/b/c) // Note that grandparent is not included in the name matching process diff --git a/objtree.js b/objtree.js index 276f1d9..0144e3a 100644 --- a/objtree.js +++ b/objtree.js @@ -14,6 +14,7 @@ var objtree = function(target, { maxlevel = 10, grandparent = "", + indentstr = " ", exclude = [] } = {}){ var excludeRules = exclude.map(rule => new RegExp(rule)); @@ -142,7 +143,7 @@ var addLines = function(node, parents, level){ let entries = Object.entries(node); - let prefix = " ".repeat(level)+"|-- "; + let prefix = indentstr.repeat(level)+"|-- "; let longest = Math.max.apply(null, entries .filter(entry => varTypes.includes(entry[1].type))