nested router

by Vladymyr Shevchuk

JavaScript

const router = {
	routes: [],
	addRouter (path, cb) {
  	const route = {
    	path,
      routes: [],  
      addRouter: router.addRouter
    };
    
  	this.routes.push(route);
    
    if (cb) {
    	cb(route);
      return this;
    }
    
    return router;
  }
};

router
  .addRouter('/dashboard/', route => {
  		route
      	.addRouter('bar', route => {
        	 route.addRouter('riba');
      	})
        .addRouter('foo')
  })
  .addRouter('categories')

console.log(router)