good morning!!!!

Skip to content
Snippets Groups Projects
Select Git revision
  • c756633fb7f39caa4f0e28aab58c7393c8dae9b1
  • master default protected
  • v0.2.16-candidate
  • shivam/rpcAddBorTx
  • default-cli-config
  • shivam/minerRecommitFix
  • vcastellm/pos-296-bump-go-version-in-bor-and-heimdall
  • shivam/ethstats-backend-fix
  • v0.2.16-beta1-candidate
  • v0.2.15-beta3-candidate
  • shivam/newCli-IPC
  • v0.3.0-dev
  • checkpoint-whitelist-master
  • shivam/codecov
  • jdkanani/fix-typo-log
  • shivam/hardcoded-spans-v0.2.14
  • shivam/hardcoded-spans
  • shivam/fast-state-sync
  • shivam/fast-state-sync-master
  • gethv1.10.15-merge
  • fix-txpool-2
  • v0.2.14-tmp-span-hotfix
  • v0.2.15-beta2
  • v0.2.15-beta1
  • v0.3.0-beta3
  • v0.3.0-beta2
  • v0.3.0-beta1
  • v0.2.14
  • v0.2.13
  • v0.2.13-beta2
  • v0.2.13-beta1
  • v0.2.12
  • v0.2.12-beta3
  • v0.2.12-beta1
  • v0.2.12-beta2
  • v0.2.11
  • v0.2.10
  • v0.2.10-beta2
  • v0.2.9
  • v0.2.9-beta1
  • v0.2.8
41 results

pp_js.go

Blame
  • Forked from github / maticnetwork / bor
    8715 commits behind the upstream repository.
    user avatar
    Marek Kotewicz authored
    b09d62ba
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    pp_js.go 2.38 KiB
    package jsre
    
    const pp_js = `
    function pp(object, indent) {
        try {
            JSON.stringify(object)
        } catch(e) {
            return pp(e, indent);
        }
    
        var str = "";
        if(object instanceof Array) {
            str += "[";
            for(var i = 0, l = object.length; i < l; i++) {
                str += pp(object[i], indent);
    
                if(i < l-1) {
                    str += ", ";
                }
            }
            str += " ]";
        } else if (object instanceof Error) {
            str += "\033[31m" + "Error:\033[0m " + object.message;
        } else if (isBigNumber(object)) {
            str += "\033[32m'" + object.toString(10) + "'";
        } else if(typeof(object) === "object") {
            str += "{\n";
            indent += "  ";
            var last = getFields(object).pop()
            getFields(object).forEach(function (k) {
                str += indent + k + ": ";
                try {
                    str += pp(object[k], indent);
                } catch (e) {
                    str += pp(e, indent);
                }
    
                if(k !== last) {
                    str += ",";
                }
    
                str += "\n";
            });
            str += indent.substr(2, indent.length) + "}";
        } else if(typeof(object) === "string") {
            str += "\033[32m'" + object + "'";
        } else if(typeof(object) === "undefined") {
            str += "\033[1m\033[30m" + object;
        } else if(typeof(object) === "number") {
            str += "\033[31m" + object;
        } else if(typeof(object) === "function") {
            str += "\033[35m[Function]";
        } else {
            str += object;
        }
    
        str += "\033[0m";
    
        return str;
    }
    
    var redundantFields = [
        'valueOf',
        'toString',
        'toLocaleString',
        'hasOwnProperty',
        'isPrototypeOf',
        'propertyIsEnumerable',
        'constructor'
    ];
    
    var getFields = function (object) {
        var result = Object.getOwnPropertyNames(object);
        if (object.constructor && object.constructor.prototype) {
            result = result.concat(Object.getOwnPropertyNames(object.constructor.prototype));
        }
        return result.filter(function (field) {
            return redundantFields.indexOf(field) === -1;
        });
    };
    
    var isBigNumber = function (object) {
        return typeof BigNumber !== 'undefined' && object instanceof BigNumber;
    };
    
    function prettyPrint(/* */) {
        var args = arguments;
        var ret = "";
        for(var i = 0, l = args.length; i < l; i++) {
    	    ret += pp(args[i], "") + "\n";
        }
        return ret;
    }
    
    var print = prettyPrint;
    `