JSFiddle - React, Tailwind, and code Playground

by alnitak

JavaScript

var services = {
    'github.com': {
        api: {
            v2: {
                json: {
                    repos: {
                        show: function(username, fn) {
                            var route = this._route + '/' + username;

                            return $.getJSON('http:/' + route).done(fn);
                        }
                    }
                }
            }
        }
    }
};

function fillRoutes(obj) {
    var route = obj._route || '';
    for (var key in obj) {
        if (key === '_route') continue;
        var next = obj[key];
        next._route = route + '/' + key;
        fillRoutes(next);
    }
}

fillRoutes(services);

console.dir(services);