{"version":3,"sources":["jsdelivr-header.js","/npm/supra-router@0.0.4/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACiBA,OAAO,QAAU,MAAM,MAAM,OAAO,CAWnC,KAAK,SAAS,EAAI,EAAI,GACrB,IAAM,EAAI,IAAI,MAAM,KACpB,KAAK,IAAM,EACX,KAAK,IAAM,EACX,KAAK,KAAO,CACb,EASA,YAAY,WACX,IAAI,EAAU,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,IAAI,IAAI,QAE5C,KAAK,GACR,KAAK,MAAQ,KAAK,KAElB,KAAK,MAAQ,CACZ,WAAa,IAAI,IAAM,MAAM,MAAM,kBACnC,OAAS,IAAI,IAAM,QACnB,OAAS,IAAI,MAAM,EAAE,IAAI,SAAW,IAGvC,KAAK,eAAe,KAAK,MAE1B,EASA,eAAe,SAAS,GACvB,IAAI,EAAM,OAAO,gBACjB,EAAM,WAAa,EAAM,WAAW,QAAQ,aAAa,IACzD,KAAO,EAAI,EAAM,WAAW,gBAE5B,MAAM,GAAG,OAAO,KAAM,SAAU,GAC5B,GACF,KAAK,kBAAkB,EAAM,WAE/B,EAAE,KAAK,MACR,EASA,kBAAkB,SAAS,GAErB,MAAM,EAAe,gBACzB,WAAa,QAAQ,OAAO,gBAAgB,EAAe,cAC3D,WAAa,IAAI,WAAW,CAC3B,eAAiB,IAElB,MAAM,EAAe,cAAgB,YAGtC,MAAM,EAAe,cAAc,iBAAiB,CACnD,IAAM,KAAK,IACX,IAAM,KAAK,IACX,OAAS,KAAK,MAAM,OACpB,SAAW,KAAK,IAAI,KACpB,OAAS,KAAK,MAAM,OACpB,UAAY,KAAK,MAGnB,EAQA,mBAAmB,WAEf,MAAM,OAAO,CACZ,WAAY,EACZ,OAAS,IACT,KAAO,qBACP,IAAM,IACN,IAAM,IACN,KAAO,CACN,WAAa,aAGnB","file":"/npm/supra-router@0.0.4/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/supra-router@0.0.4/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*       .#.\n        @@@@@\n        @@@@@\n          @\n    .....@@@\n   .@@@@@@@\n   @@@@@@@\n    @@@@@@@:@@@..@@@@@@@  @@@   @@@ @@@@@@@@   @@@@@@@      @@@@\n   .@@@@@@@@    @@@@@@@@  @@@   @@@ @@@@@@@@@  @@@@@@@@@  @@@@@@@@\n   '@@@@@@@@@@@@@@@       @@@   @@@ @@@    @@@ @@@   @@@ @@@    @@@\n:@@@@@@@@@:     @@@@@@@@  @@@   @@@ @@@@@@@@@  @@@@@@@@@ @@@    @@@\n  `@@@@:             @@@  @@@   @@@ @@@#@@@    @@@@@@@@  @@@@@@@@@@\n   @@@         @@@@@@@@@  @@@@@@@@' @@@        @@@  @@@  @@@    @@@\n   +##`        @@@@@@@@     @@@@@   @@@        @@@  @@@  @@@    @@@\n\n  Supra\n  NodeJS\n  Developer\n  Friendly\n  Framework.\n\n */\n\nmodule.exports = Supra.Class.extend({\n\n\n\n\t/**\n\t * Routes contructor.\n\t * @param  {[type]} req  HTTP Request\n\t * @param  {[type]} res  HTTP Response\n\t * @param  {[type]} verb HTTP Verb\n\t * @return {[type]}      [description]\n\t */\n\tinit:function(req,res,verb){\n\t\tURL = req.url.split('/');\n\t\tthis.req = req;\n\t\tthis.res = res;\n\t\tthis.verb = verb;\n\t},\n\n\n\n\t/**\n\t * Check if the URL matches one method of this class.\n\t * I know ...  sounds weird.\n\t * @return {[type]} [description]\n\t */\n\tcheckRoutes:function(){\n\t\tvar request = this.req.url.substr(1,this.req.url.length);\n\n\t\t\tif (this[request]){\n\t\t\t\tthis.route = this[request]()\n\t\t\t}else{\n\t\t\t\tthis.route = {\n\t\t\t\t\tcontroller : URL[1] || Supra.prefs.defaultController,\n\t\t\t\t\tmethod : URL[2] || 'index',\n\t\t\t\t\tparams : URL.slice(3,URL.length) || []\n\t\t\t\t}\n\t\t\t}\n\t\tthis.loadController(this.route);\n\n\t},\n\n\n\n\t/**\n\t * [loadController description]\n\t * @param  {[type]} route [description]\n\t * @return {[type]}       [description]\n\t */\n\tloadController:function(route){\n\t\tvar dir = appDir+'/Controllers/';\n\t\troute.controller = route.controller.replace(/Controller/,'');\n\t\tfile = dir+route.controller+'Controller.js';\n\n\t\tSupra.fs.exists(file, function (ControllerFound) {\n\t\t\tif(ControllerFound){\n\t\t\t\tthis.requireController(route.controller)\n\t\t\t}\n\t\t}.bind(this))\n\t},\n\n\n\n\t/**\n\t * [requireController description]\n\t * @param  {[type]} ControllerName [description]\n\t * @return {[type]}                [description]\n\t */\n\trequireController:function(ControllerName){\n\n\t\tif (!Supra[ControllerName+'Controller']){\n\t\t\tController = require(appDir+'/Controllers/'+ControllerName+'Controller');\n\t\t\tController = new Controller({\n\t\t\t\tControllerName : ControllerName\n\t\t\t})\n\t\t\tSupra[ControllerName+'Controller'] = Controller;\n\t\t}\n\n\t\tSupra[ControllerName+'Controller'].loadDependencies({\n\t\t\treq : this.req,\n\t\t\tres : this.res,\n\t\t\tMethod : this.route.method,\n\t\t\tPOSTData : this.req.body,\n\t\t\tParams : this.route.params,\n\t\t\treqMethod : this.verb\n\t\t})\n\n\t},\n\n\n\n\t/**\n\t * [controllerNotFound description]\n\t * @return {[type]} [description]\n\t */\n\tcontrollerNotFound:function(){\n\t\t\t\t\t//Controller Not Found\n\t\t\t\t\tSupra.render({\n\t\t\t\t\t\terrorView : true,\n\t\t\t\t\t\tstatus : 404,\n\t\t\t\t\t\tview : 'ControllerNotFound',\n\t\t\t\t\t\tres : res,\n\t\t\t\t\t\treq : req,\n\t\t\t\t\t\tvars : {\n\t\t\t\t\t\t\tController : Controller\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t}\n});\n"]}