@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.
- package/dist/Middlewares.d.ts +32 -1
- package/dist/Middlewares.d.ts.map +1 -1
- package/dist/Middlewares.esm.js +4 -3
- package/dist/Middlewares.esm.js.map +1 -1
- package/dist/Middlewares.js +4 -3
- package/dist/Middlewares.js.map +1 -1
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +24 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/Middlewares.d.ts
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
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"}
|
package/dist/Middlewares.esm.js
CHANGED
|
@@ -98,13 +98,14 @@ const text = (options) => {
|
|
|
98
98
|
const urlencoded = (options) => {
|
|
99
99
|
return BodyParser.urlencoded(options);
|
|
100
100
|
};
|
|
101
|
-
|
|
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":";;;;;;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;
|
|
1
|
+
{"version":3,"file":"Middlewares.esm.js","sources":["../src/Middlewares.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/Middlewares.js
CHANGED
|
@@ -100,13 +100,14 @@ const text = (options) => {
|
|
|
100
100
|
const urlencoded = (options) => {
|
|
101
101
|
return BodyParser.urlencoded(options);
|
|
102
102
|
};
|
|
103
|
-
|
|
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[]`.
|
package/dist/Middlewares.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
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.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
package/dist/index.esm.js.map
CHANGED
|
@@ -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;;;;;;;;;;;;;;"}
|