@ismael1361/router 1.2.3 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -88,6 +88,12 @@ export declare const text: (options?: OptionsText) => MiddlewareFC<Request, Resp
88
88
  export declare const urlencoded: (options?: OptionsUrlencoded) => MiddlewareFC<Request, Response>;
89
89
  type CorsOptionsMethods = "GET" | "POST" | "PUT" | "DELETE" | "OPTIONS" | "PATCH" | "HEAD";
90
90
  interface CorsOptions {
91
+ /**
92
+ * Define quais origens são permitidas para requisições cross-origin.
93
+ * - Use "*" para permitir todas as origens.
94
+ * - Use uma URL específica (ex: "https://example.com") para restringir a uma origem.
95
+ */
96
+ allowOrigin?: string;
91
97
  /**
92
98
  * Informa quais métodos HTTP são permitidos quando a requisição é cross-origin.
93
99
  * - OPTIONS é essencial para preflight requests (verificação prévia feita pelo navegador).
@@ -125,7 +131,32 @@ interface CorsOptions {
125
131
  */
126
132
  exposeHeaders?: string[] | string;
127
133
  }
128
- export declare const cors: (allowOrigin?: string, options?: CorsOptions) => MiddlewareFC<Request, Response>;
134
+ /**
135
+ * Middleware para configurar CORS (Cross-Origin Resource Sharing).
136
+ * Permite controlar quais domínios podem acessar a API, quais métodos HTTP são permitidos, headers, etc.
137
+ *
138
+ * @param {string} allowOrigin - Origem permitida (ex: "*", "https://site.com").
139
+ * @param {CorsOptions} options - Opções de configuração do CORS.
140
+ * @returns {MiddlewareFC<Request, Response>} Middleware configurado.
141
+ *
142
+ * @example
143
+ * // Permitir qualquer origem (padrão se nenhuma opção for passada ou passar apenas "*")
144
+ * app.middleware(Middlewares.cors({ allowOrigin: "*" }));
145
+ *
146
+ * // Permitir origem específica com opções
147
+ * app.middleware(Middlewares.cors("https://meusite.com", {
148
+ * allowedMethods: ["GET", "POST"],
149
+ * credentials: true
150
+ * }));
151
+ *
152
+ * // Passando apenas objeto de opções
153
+ * app.middleware(Middlewares.cors({
154
+ * allowOrigin: "https://api.meusite.com",
155
+ * exposeHeaders: ["Content-Length"]
156
+ * }));
157
+ */
158
+ export declare function cors(allowOrigin?: string, options?: CorsOptions): MiddlewareFC<Request, Response>;
159
+ export declare function cors(options?: CorsOptions): MiddlewareFC<Request, Response>;
129
160
  /**
130
161
  * Middleware para analisar arquivos de uma solicitação.
131
162
  * Os arquivos com suas informações são armazenados no objeto `req.files`, sua tipagem: `FileInfo[]`.
@@ -1 +1 @@
1
- {"version":3,"file":"Middlewares.d.ts","sourceRoot":"","sources":["../src/Middlewares.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACjF,OAAmB,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG/F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,IAAI,GAAI,UAAU,WAAW,GAAG,SAAS,KAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAEtF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,GAAG,GAAI,UAAU,OAAO,KAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAErE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,IAAI,GAAI,UAAU,WAAW,KAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAE1E,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,UAAU,GAAI,UAAU,iBAAiB,KAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAEtF,CAAC;AAEF,KAAK,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3F,UAAU,WAAW;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC;IAC/C;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACnC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,IAAI,GAAI,cAAa,MAAY,EAAE,UAAS,WAAgB,KAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAyBzG,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,KAAK,GAAI,GAAG,cAAc,MAAM,EAAE,KAAG,YAAY,CAAC,YAAY,CA8D1E,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,KAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAgIjD,CAAC"}
1
+ {"version":3,"file":"Middlewares.d.ts","sourceRoot":"","sources":["../src/Middlewares.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACjF,OAAmB,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAG/F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,IAAI,GAAI,UAAU,WAAW,GAAG,SAAS,KAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAEtF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,GAAG,GAAI,UAAU,OAAO,KAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAErE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,IAAI,GAAI,UAAU,WAAW,KAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAE1E,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,UAAU,GAAI,UAAU,iBAAiB,KAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAEtF,CAAC;AAEF,KAAK,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3F,UAAU,WAAW;IACpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC;IAC/C;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACnC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACnG,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AA6B7E;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,KAAK,GAAI,GAAG,cAAc,MAAM,EAAE,KAAG,YAAY,CAAC,YAAY,CA8D1E,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,KAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAgIjD,CAAC"}
@@ -98,13 +98,14 @@ const text = (options) => {
98
98
  const urlencoded = (options) => {
99
99
  return BodyParser.urlencoded(options);
100
100
  };
101
- const cors = (allowOrigin = "*", options = {}) => {
101
+ function cors(allowOrigin = "*", options = {}) {
102
+ options = Object.assign(Object.assign({}, (typeof allowOrigin === "string" ? { allowOrigin } : allowOrigin)), options);
102
103
  return (req, res, next) => {
103
104
  // Configuração mais robusta de CORS
104
105
  const origin = req.headers.origin;
105
106
  options = Object.assign({ allowedMethods: "*", allowedHeaders: "*", credentials: true, exposeHeaders: "*" }, options);
106
107
  // Definir headers CORS
107
- res.setHeader("Access-Control-Allow-Origin", allowOrigin || origin || "*");
108
+ res.setHeader("Access-Control-Allow-Origin", options.allowOrigin || origin || "*");
108
109
  if (options.allowedMethods)
109
110
  res.setHeader("Access-Control-Allow-Methods", Array.isArray(options.allowedMethods) ? options.allowedMethods.join(",") : options.allowedMethods);
110
111
  if (options.allowedHeaders)
@@ -118,7 +119,7 @@ const cors = (allowOrigin = "*", options = {}) => {
118
119
  }
119
120
  next();
120
121
  };
121
- };
122
+ }
122
123
  /**
123
124
  * Middleware para analisar arquivos de uma solicitação.
124
125
  * Os arquivos com suas informações são armazenados no objeto `req.files`, sua tipagem: `FileInfo[]`.
@@ -1 +1 @@
1
- {"version":3,"file":"Middlewares.esm.js","sources":["../src/Middlewares.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Middlewares.esm.js","sources":["../src/Middlewares.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -100,13 +100,14 @@ const text = (options) => {
100
100
  const urlencoded = (options) => {
101
101
  return BodyParser.urlencoded(options);
102
102
  };
103
- const cors = (allowOrigin = "*", options = {}) => {
103
+ function cors(allowOrigin = "*", options = {}) {
104
+ options = Object.assign(Object.assign({}, (typeof allowOrigin === "string" ? { allowOrigin } : allowOrigin)), options);
104
105
  return (req, res, next) => {
105
106
  // Configuração mais robusta de CORS
106
107
  const origin = req.headers.origin;
107
108
  options = Object.assign({ allowedMethods: "*", allowedHeaders: "*", credentials: true, exposeHeaders: "*" }, options);
108
109
  // Definir headers CORS
109
- res.setHeader("Access-Control-Allow-Origin", allowOrigin || origin || "*");
110
+ res.setHeader("Access-Control-Allow-Origin", options.allowOrigin || origin || "*");
110
111
  if (options.allowedMethods)
111
112
  res.setHeader("Access-Control-Allow-Methods", Array.isArray(options.allowedMethods) ? options.allowedMethods.join(",") : options.allowedMethods);
112
113
  if (options.allowedHeaders)
@@ -120,7 +121,7 @@ const cors = (allowOrigin = "*", options = {}) => {
120
121
  }
121
122
  next();
122
123
  };
123
- };
124
+ }
124
125
  /**
125
126
  * Middleware para analisar arquivos de uma solicitação.
126
127
  * Os arquivos com suas informações são armazenados no objeto `req.files`, sua tipagem: `FileInfo[]`.
@@ -1 +1 @@
1
- {"version":3,"file":"Middlewares.js","sources":["../src/Middlewares.ts"],"sourcesContent":[null],"names":["__awaiter","HandleError","Readable"],"mappings":"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"}
1
+ {"version":3,"file":"Middlewares.js","sources":["../src/Middlewares.ts"],"sourcesContent":[null],"names":["__awaiter","HandleError","Readable"],"mappings":";;;;;;;;AAMA;;;;;;;;;;;;;;;;;;;AAmBG;AACU,MAAA,IAAI,GAAG,CAAC,OAAiC,KAAqC;AAC1F,IAAA,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjC,EAAE;AAEF;;;;;;;;;;;;;;;;;;;;AAoBG;AACU,MAAA,GAAG,GAAG,CAAC,OAAiB,KAAqC;AACzE,IAAA,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAChC,EAAE;AAEF;;;;;;;;;;;;;;;;;;;;AAoBG;AACU,MAAA,IAAI,GAAG,CAAC,OAAqB,KAAqC;AAC9E,IAAA,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjC,EAAE;AAEF;;;;;;;;;;;;;;;;;;;AAmBG;AACU,MAAA,UAAU,GAAG,CAAC,OAA2B,KAAqC;AAC1F,IAAA,OAAO,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACvC,EAAE;SA2Ec,IAAI,CAAC,cAAoC,GAAG,EAAE,UAAuB,EAAE,EAAA;IACtF,OAAO,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GAAS,OAAO,WAAW,KAAK,QAAQ,GAAG,EAAE,WAAW,EAAE,GAAG,WAAW,EAAM,EAAA,OAAO,CAAE,CAAC;AAC/F,IAAA,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;;AAEzB,QAAA,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;AAElC,QAAA,OAAO,mBAAK,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAK,EAAA,OAAO,CAAE,CAAC;;AAG1G,QAAA,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC;QAEnF,IAAI,OAAO,CAAC,cAAc;AAAE,YAAA,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QAE7K,IAAI,OAAO,CAAC,cAAc;AAAE,YAAA,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7K,QAAA,GAAG,CAAC,SAAS,CAAC,kCAAkC,EAAE,OAAO,CAAC,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;QAE1F,IAAI,OAAO,CAAC,aAAa;AAAE,YAAA,GAAG,CAAC,SAAS,CAAC,+BAA+B,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;;AAG1K,QAAA,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;SAC7B;AAED,QAAA,IAAI,EAAE,CAAC;AACR,KAAC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;AAcG;MACU,KAAK,GAAG,CAAC,GAAG,YAAsB,KAAgC;AAC9E,IAAA,OAAO,CAAO,GAAG,EAAE,GAAG,EAAE,IAAI,KAAIA,mBAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AAC/B,QAAA,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,KAAI;YAC7D,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3D,YAAA,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpD,YAAA,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACzB,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE;YACnG,MAAM,IAAIC,uBAAW,CAAC,sBAAsB,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;SAClE;AAED,QAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,EAAA,EAAK,QAAQ,CAAA,CAAE,CAAC,CAAC;QAChE,MAAM,KAAK,GAAe,EAAE,CAAC;AAE7B,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACzB,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAChC,gBAAA,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;;gBAG9C,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACtD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBACzD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAE/D,gBAAA,IAAI,cAAc,IAAI,aAAa,IAAI,aAAa,EAAE;AACrD,oBAAA,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AACpC,oBAAA,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAClC,oBAAA,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC1D,oBAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;wBACnE,SAAS;qBACT;oBACD,KAAK,CAAC,IAAI,CAAC;AACV,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,YAAY,EAAE,QAAQ;AACtB,wBAAA,QAAQ,EAAE,EAAE;AACZ,wBAAA,QAAQ,EAAE,WAAW;wBACrB,IAAI,EAAE,OAAO,CAAC,MAAM;wBACpB,MAAM,EAAE,IAAIC,eAAQ,EAAE;AACtB,wBAAA,WAAW,EAAE,EAAE;AACf,wBAAA,QAAQ,EAAE,QAAQ;AAClB,wBAAA,IAAI,EAAE,EAAE;wBACR,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3B,qBAAA,CAAC,CAAC;iBACH;aACD;SACD;AAED,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAClB,MAAM,IAAID,uBAAW,CAAC,wBAAwB,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;SACpE;AAED,QAAA,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACpB,QAAA,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;AAElB,QAAA,IAAI,EAAE,CAAC;AACR,KAAC,CAAA,CAAC;AACH,EAAE;AAEW,MAAA,gBAAgB,GAC5B,CAAC,QAAgB,KACjB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;AAClB,IAAA,MAAM,SAAS,GAAG,CAAC,IAAY,KAAI;QAClC,MAAM,KAAK,GAAG,gCAAgC,CAAC;QAC/C,MAAM,MAAM,GAAQ,EAAE,CAAC;AAEvB,QAAA,IAAI,KAA6B,CAAC;AAElC,QAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE;AAC3C,YAAA,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACrB,YAAA,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAErB,YAAA,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACjD,gBAAA,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC1B;AAED,YAAA,IAAI;AACH,gBAAA,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC1B;AAAC,YAAA,OAAA,EAAA,EAAM;AACP,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACpB;SACD;AAED,QAAA,OAAO,MAAM,CAAC;AACf,KAAC,CAAC;IAEF,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;IAExF,MAAM,MAAM,GAAG,WAAW;AACxB,SAAA,IAAI,EAAE;SACN,KAAK,CAAC,IAAI,CAAC;SACX,KAAK,CAAC,CAAC,EAAE,CAAC;AACV,SAAA,GAAG,CAAC,CAAC,KAAK,KAAI;AACd,QAAA,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AAEpE,QAAA,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;QAE1D,OAAO,CAAA,YAAA,EAAe,KAAK,CAAC,WAAW,EAAE,CAAS,MAAA,EAAA,KAAK,CAAW,QAAA,EAAA,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAuC,oCAAA,EAAA,KAAK,CAAC,IAAI,CACxJ,0BAA0B,CAC1B,CAAA,yBAAA,CAA2B,CAAC;AAC9B,KAAC,CAAC;AACD,SAAA,OAAO,EAAE;SACT,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,IAAA,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAE3C,GAAG,CAAC,IAAI,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA+Ee,MAAM,CAAA;;AAE/B,CAAA,CAAC,CAAC;AACF;;;;;;;;;;"}
package/dist/index.d.ts CHANGED
@@ -96,6 +96,27 @@ export declare function handler<Req extends Request = Request, Res extends Respo
96
96
  * mainRouter.by(usersRouter); // Anexa o grupo de rotas ao roteador principal
97
97
  */
98
98
  export declare function route<Req extends Request = Request, Res extends Response = Response>(path?: string): Router<Req, Res>;
99
+ /**
100
+ * Cria uma nova instância do Router com um prefixo de versão na rota.
101
+ * Útil para versionar APIs de forma limpa (ex: '/v1', '/v2').
102
+ *
103
+ * @template Req - Tipo de Request base para o roteador.
104
+ * @template Res - Tipo de Response base para o roteador.
105
+ * @param {number} version - O número da versão para o prefixo da rota.
106
+ * @returns {Router<Req, Res>} Uma nova instância do Router com o prefixo de versão definido.
107
+ *
108
+ * @example
109
+ * import { routeVersion, create } from '@ismael1361/router';
110
+ *
111
+ * const apiRouter = create();
112
+ *
113
+ * const v1Router = routeVersion(1); // Todas as rotas aqui começarão com /v1
114
+ *
115
+ * v1Router.get('/users').handler((req, res) => { ... }); // Acessível em GET /v1/users
116
+ *
117
+ * apiRouter.by(v1Router); // Anexa o grupo de rotas versionadas ao roteador principal
118
+ */
119
+ export declare function routeVersion<Req extends Request = Request, Res extends Response = Response>(version: number): Router<Req, Res>;
99
120
  /**
100
121
  * Um helper para criar um objeto de documentação OpenAPI de forma limpa.
101
122
  * Ele separa a operação principal dos componentes e os mescla em um único objeto.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAI9C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,mBAAmB,QAAQ,CAAC;AAE5B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,QAAQ,GAAG,QAAQ,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAEzG;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAE9K;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAErK;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,KAAK,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAErH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,GAAG,CAAC,SAAS,EAAE,eAAe,GAAG,YAAY,CAAC,SAAS,EAAE,UAAU,GAAE,YAAY,CAAC,UAAe,GAAG,eAAe,CAGlI;;;;;;;;AAED,wBAME"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAI9C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,mBAAmB,QAAQ,CAAC;AAE5B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,QAAQ,GAAG,QAAQ,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAEzG;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAE9K;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,OAAO,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAErK;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,KAAK,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAErH;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAE9H;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,GAAG,CAAC,SAAS,EAAE,eAAe,GAAG,YAAY,CAAC,SAAS,EAAE,UAAU,GAAE,YAAY,CAAC,UAAe,GAAG,eAAe,CAGlI;;;;;;;;AAED,wBAME"}
package/dist/index.esm.js CHANGED
@@ -105,6 +105,29 @@ function handler(callback, doc) {
105
105
  function route(path) {
106
106
  return new Router(path);
107
107
  }
108
+ /**
109
+ * Cria uma nova instância do Router com um prefixo de versão na rota.
110
+ * Útil para versionar APIs de forma limpa (ex: '/v1', '/v2').
111
+ *
112
+ * @template Req - Tipo de Request base para o roteador.
113
+ * @template Res - Tipo de Response base para o roteador.
114
+ * @param {number} version - O número da versão para o prefixo da rota.
115
+ * @returns {Router<Req, Res>} Uma nova instância do Router com o prefixo de versão definido.
116
+ *
117
+ * @example
118
+ * import { routeVersion, create } from '@ismael1361/router';
119
+ *
120
+ * const apiRouter = create();
121
+ *
122
+ * const v1Router = routeVersion(1); // Todas as rotas aqui começarão com /v1
123
+ *
124
+ * v1Router.get('/users').handler((req, res) => { ... }); // Acessível em GET /v1/users
125
+ *
126
+ * apiRouter.by(v1Router); // Anexa o grupo de rotas versionadas ao roteador principal
127
+ */
128
+ function routeVersion(version) {
129
+ return new Router(`/v${version}`);
130
+ }
108
131
  /**
109
132
  * Um helper para criar um objeto de documentação OpenAPI de forma limpa.
110
133
  * Ele separa a operação principal dos componentes e os mescla em um único objeto.
@@ -138,5 +161,5 @@ var index = {
138
161
  doc,
139
162
  };
140
163
 
141
- export { create, index as default, doc, handler, middleware, route };
164
+ export { create, index as default, doc, handler, middleware, route, routeVersion };
142
165
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAgBA;;;;;;;;;;;;;;;;;;;;AAoBG;SACa,MAAM,GAAA;IACrB,OAAO,IAAI,MAAM,EAAY,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACa,SAAA,UAAU,CAAiE,QAAsC,EAAE,GAAqB,EAAA;IACvJ,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACa,SAAA,OAAO,CAAiE,QAAmC,EAAE,GAAqB,EAAA;IACjJ,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;;AAkBG;AACG,SAAU,KAAK,CAAiE,IAAa,EAAA;AAClG,IAAA,OAAO,IAAI,MAAM,CAAW,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;AAoBG;SACa,GAAG,CAAC,SAAmD,EAAE,aAAsC,EAAE,EAAA;AAChH,IAAA,MAAM,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAA,GAAY,SAAS,EAAhB,EAAE,GAAK,MAAA,CAAA,SAAS,EAA5C,CAAA,YAAA,CAAgC,CAAY,CAAC;IACnD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAE,CAAE,EAAA,EAAA,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,EAAG,CAAA,CAAA;AAC5D,CAAC;AAED,YAAe;IACd,MAAM;IACN,KAAK;IACL,UAAU;IACV,OAAO;IACP,GAAG;CACH;;;;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAgBA;;;;;;;;;;;;;;;;;;;;AAoBG;SACa,MAAM,GAAA;IACrB,OAAO,IAAI,MAAM,EAAY,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACa,SAAA,UAAU,CAAiE,QAAsC,EAAE,GAAqB,EAAA;IACvJ,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACa,SAAA,OAAO,CAAiE,QAAmC,EAAE,GAAqB,EAAA;IACjJ,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;;AAkBG;AACG,SAAU,KAAK,CAAiE,IAAa,EAAA;AAClG,IAAA,OAAO,IAAI,MAAM,CAAW,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACG,SAAU,YAAY,CAAiE,OAAe,EAAA;AAC3G,IAAA,OAAO,IAAI,MAAM,CAAW,KAAK,OAAO,CAAA,CAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;AAoBG;SACa,GAAG,CAAC,SAAmD,EAAE,aAAsC,EAAE,EAAA;AAChH,IAAA,MAAM,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAA,GAAY,SAAS,EAAhB,EAAE,GAAK,MAAA,CAAA,SAAS,EAA5C,CAAA,YAAA,CAAgC,CAAY,CAAC;IACnD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAE,CAAE,EAAA,EAAA,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,EAAG,CAAA,CAAA;AAC5D,CAAC;AAED,YAAe;IACd,MAAM;IACN,KAAK;IACL,UAAU;IACV,OAAO;IACP,GAAG;CACH;;;;"}
package/dist/index.js CHANGED
@@ -107,6 +107,29 @@ function handler(callback, doc) {
107
107
  function route(path) {
108
108
  return new router.Router(path);
109
109
  }
110
+ /**
111
+ * Cria uma nova instância do Router com um prefixo de versão na rota.
112
+ * Útil para versionar APIs de forma limpa (ex: '/v1', '/v2').
113
+ *
114
+ * @template Req - Tipo de Request base para o roteador.
115
+ * @template Res - Tipo de Response base para o roteador.
116
+ * @param {number} version - O número da versão para o prefixo da rota.
117
+ * @returns {Router<Req, Res>} Uma nova instância do Router com o prefixo de versão definido.
118
+ *
119
+ * @example
120
+ * import { routeVersion, create } from '@ismael1361/router';
121
+ *
122
+ * const apiRouter = create();
123
+ *
124
+ * const v1Router = routeVersion(1); // Todas as rotas aqui começarão com /v1
125
+ *
126
+ * v1Router.get('/users').handler((req, res) => { ... }); // Acessível em GET /v1/users
127
+ *
128
+ * apiRouter.by(v1Router); // Anexa o grupo de rotas versionadas ao roteador principal
129
+ */
130
+ function routeVersion(version) {
131
+ return new router.Router(`/v${version}`);
132
+ }
110
133
  /**
111
134
  * Um helper para criar um objeto de documentação OpenAPI de forma limpa.
112
135
  * Ele separa a operação principal dos componentes e os mescla em um único objeto.
@@ -150,4 +173,5 @@ exports.doc = doc;
150
173
  exports.handler = handler;
151
174
  exports.middleware = middleware;
152
175
  exports.route = route;
176
+ exports.routeVersion = routeVersion;
153
177
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["Router","Middleware","Handler","__rest","joinObject"],"mappings":";;;;;;;;;;;;AAgBA;;;;;;;;;;;;;;;;;;;;AAoBG;SACa,MAAM,GAAA;IACrB,OAAO,IAAIA,aAAM,EAAY,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACa,SAAA,UAAU,CAAiE,QAAsC,EAAE,GAAqB,EAAA;IACvJ,OAAO,IAAIC,uBAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACa,SAAA,OAAO,CAAiE,QAAmC,EAAE,GAAqB,EAAA;IACjJ,OAAO,IAAIC,iBAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;;AAkBG;AACG,SAAU,KAAK,CAAiE,IAAa,EAAA;AAClG,IAAA,OAAO,IAAIF,aAAM,CAAW,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;AAoBG;SACa,GAAG,CAAC,SAAmD,EAAE,aAAsC,EAAE,EAAA;AAChH,IAAA,MAAM,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAA,GAAY,SAAS,EAAhB,EAAE,GAAKG,gBAAA,CAAA,SAAS,EAA5C,CAAA,YAAA,CAAgC,CAAY,CAAC;IACnD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAE,CAAE,EAAA,EAAA,UAAU,EAAEC,gBAAU,CAAC,IAAI,EAAE,UAAU,CAAC,EAAG,CAAA,CAAA;AAC5D,CAAC;AAED,YAAe;IACd,MAAM;IACN,KAAK;IACL,UAAU;IACV,OAAO;IACP,GAAG;CACH;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["Router","Middleware","Handler","__rest","joinObject"],"mappings":";;;;;;;;;;;;AAgBA;;;;;;;;;;;;;;;;;;;;AAoBG;SACa,MAAM,GAAA;IACrB,OAAO,IAAIA,aAAM,EAAY,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACa,SAAA,UAAU,CAAiE,QAAsC,EAAE,GAAqB,EAAA;IACvJ,OAAO,IAAIC,uBAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACa,SAAA,OAAO,CAAiE,QAAmC,EAAE,GAAqB,EAAA;IACjJ,OAAO,IAAIC,iBAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;;AAkBG;AACG,SAAU,KAAK,CAAiE,IAAa,EAAA;AAClG,IAAA,OAAO,IAAIF,aAAM,CAAW,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACG,SAAU,YAAY,CAAiE,OAAe,EAAA;AAC3G,IAAA,OAAO,IAAIA,aAAM,CAAW,KAAK,OAAO,CAAA,CAAE,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;AAoBG;SACa,GAAG,CAAC,SAAmD,EAAE,aAAsC,EAAE,EAAA;AAChH,IAAA,MAAM,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAA,GAAY,SAAS,EAAhB,EAAE,GAAKG,gBAAA,CAAA,SAAS,EAA5C,CAAA,YAAA,CAAgC,CAAY,CAAC;IACnD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAE,CAAE,EAAA,EAAA,UAAU,EAAEC,gBAAU,CAAC,IAAI,EAAE,UAAU,CAAC,EAAG,CAAA,CAAA;AAC5D,CAAC;AAED,YAAe;IACd,MAAM;IACN,KAAK;IACL,UAAU;IACV,OAAO;IACP,GAAG;CACH;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ismael1361/router",
3
- "version": "1.2.3",
3
+ "version": "1.2.4",
4
4
  "description": "A API of router functions built with TypeScript",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",