{"version":3,"file":"Router.cjs","sources":["../../src/server/Router.ts"],"sourcesContent":["import { HTTPMethods } from \"../client/types\";\nimport { HandlerFunction, RouteFactory } from \"./types\"\nimport { match } from \"path-to-regexp\";\n\nclass Router {\n   protected routes: RouteFactory = {\n      GET: {},\n      POST: {},\n      PUT: {},\n      DELETE: {}\n   };\n\n   async addRoute(path: string, method: HTTPMethods, handler: HandlerFunction) {\n      if (this.routes[method][path]) return\n      this.routes[method][path] = {\n         handler,\n         test: match(path)\n      }\n   }\n\n   async get(path: string, handler: HandlerFunction) {\n      this.addRoute(path, 'GET', handler)\n   }\n\n   async post(path: string, handler: HandlerFunction) {\n      this.addRoute(path, 'POST', handler)\n   }\n\n   async put(path: string, handler: HandlerFunction) {\n      this.addRoute(path, 'PUT', handler)\n   }\n\n   async delete(path: string, handler: HandlerFunction) {\n      this.addRoute(path, 'DELETE', handler)\n   }\n}\n\nexport default Router;"],"names":["match"],"mappings":";;;;AAIA,MAAM,MAAM,CAAA;AAAZ,IAAA,WAAA,GAAA;AACa,QAAA,IAAA,CAAA,MAAM,GAAiB;AAC9B,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,MAAM,EAAE;SACV;IAyBJ;AAvBG,IAAA,MAAM,QAAQ,CAAC,IAAY,EAAE,MAAmB,EAAE,OAAwB,EAAA;QACvE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YAAE;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG;YACzB,OAAO;AACP,YAAA,IAAI,EAAEA,kBAAK,CAAC,IAAI;SAClB;IACJ;AAEA,IAAA,MAAM,GAAG,CAAC,IAAY,EAAE,OAAwB,EAAA;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;IACtC;AAEA,IAAA,MAAM,IAAI,CAAC,IAAY,EAAE,OAAwB,EAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC;IACvC;AAEA,IAAA,MAAM,GAAG,CAAC,IAAY,EAAE,OAAwB,EAAA;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;IACtC;AAEA,IAAA,MAAM,MAAM,CAAC,IAAY,EAAE,OAAwB,EAAA;QAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;IACzC;AACF;;;;"}