JSFiddle - React, Tailwind, and code Playground

HTML

<html>
    <head>
        <title>WalkObject - an Asynchronous recursive Object walker</title>
        <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.js"></script>
    </head>
    <body>
        <div id="log">
        </div>
    </body>    
</html>

JavaScript

var sa = { m : {
    walkObject : function (cmd) {
		/* 
			walkObject.*() is COPYLEFTED - PERPETUALLY FREE FOR ALL TYPES OF USAGE
			DISCLAIMER : NO WARRANTIES EXPRESSED OR IMPLIED, USE ONLY AT YOUR OWN RISK
			(c) and (r) 2014-Nov by Rene Veerman <info@seductiveapps.com>
            this code has been tested on large arrays (>2MB in size, <100MB in size)
		*/
		cmd.scanPointer = cmd.val;
		if (!cmd.origin) {
			cmd.origin = '[unknown origin]';
		}
		if (!cmd.levelsAtOnce) {
			cmd.levelsAtOnce = 1;
		}
		
		setTimeout (function () {
			sa.m.walkObject_scan (cmd, sa.m.walkObject_processList);
		}, 50);
	},
	
	walkObject_callbackScan : function (pvCmd) {
		if (cmd.progressbarHTMLid) {
			var el = document.getElementById(cmd.progressbarHTMLid);
			sa.pbar.setPercentage (el, cmd.scanIdx, cmd.scanResults.length);
		}
	},

	walkObject_scan : function (cmd, callback) {
		if (!cmd.scanResults) {
			cmd.scanResults = [{level:1, path:'', d:cmd.scanPointer}];
			cmd.scanIdx = 0;
			cmd.scanCount = 0;
			cmd.lastPause = 0;
			cmd.scanCallback = callback;
		};

		sa.m.walkObject_scanItem (cmd);
		
		if (typeof cmd.callbackScan=='function') {
			cmd.callbackScan (cmd);
		};

		if (cmd.scanIdx==cmd.scanResults.length) {
			if (typeof cmd.scanCallback=='function') {
				setTimeout (function () {
					cmd.scanCallback (cmd);
				}, 300);
			} 
			return true; // scanning done!
		}
		
		var pauseFactor = cmd.scanIdx;
		if (pauseFactor > cmd.lastPause + 50) {
			sa.m.log (1211, 'sa.m.walkObject_scan(): pausing for 500 milliseconds');
			setTimeout (function () {
				cmd.lastPause = pauseFactor;
				sa.m.walkObject_scan(cmd);
			}, 500);
			return false;
		} else {
			return sa.m.walkObject_scan(cmd);
		};
	},

	
	walkObject_scanItem : function (cmd, path) {
		var it = cmd.scanResults[cmd.scanIdx];
		
		var tit = typeof it.d;
		if (tit=='object') {
			if (!it.keys) {
				it.keys = Object.keys (it.d);
				it.keys.reverse();
				it.keyIdx = 0;
			}
		} 
		if (it.keys) {
			if...