@ismael1361/router 1.0.1 → 1.0.6

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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/HandleError.ts","../src/utils.ts","../src/middleware.ts","../src/handler.ts","../src/router.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n",null,null,null,null,null,null],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","SuppressedError","codes","HandleError","Error","constructor","message","name","cause","level","super","this","code","status","isConstructedObject","Object","joinObject","obj","objs","Array","isArray","filter","o","forEach","key","_a","v","i","l","findIndex","v2","deepEqual","_b","regexpToPath","regexp","path","toString","slice","lastIndexOf","replace","endsWith","startsWith","normalizePath","split","map","test","join","getRoutes","router","basePath","routes","stack","layer","route","methods","keys","method","toUpperCase","handle","find","swagger","push","type","routerPath","nestedRoutes","createDynamicMiddleware","middleware","doc","callback","req","res","xForwardedFor","headers","clientIp","connection","remoteAddress","error","console","__executedMiddlewares__","Set","headersSent","executedSet","has","executeOnce","isOnce","add","delete","handler","setTimeout","response","json","includes","warn","fs","appendFileSync","Date","toISOString","JSON","stringify","tryHandler","RequestMiddleware","middlewares","Express","Router","use","undefined","PreparedHandler","RequestHandler","hierarchicalMiddleware","RouterProps","rootPath","previousRouter","get","post","put","patch","options","head","all","getSwagger","defaultResponses","paths","components","responses","definition","assign","apis","by","operation","middlewaresDocs","reduce","previous","current","s","t","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","length","propertyIsEnumerable","__rest","app"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/HandleError.ts","../src/utils.ts","../src/middleware.ts","../src/handler.ts","../src/Layer.ts","../src/redocUi/index.ts","../src/router.ts","../src/Middlewares.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n",null,null,null,null,null,null,null,null,null],"names":["__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","apply","SuppressedError","codes","HandleError","Error","constructor","message","name","cause","level","super","this","code","status","isConstructedObject","joinObject","obj","objs","Array","isArray","filter","o","keys","forEach","key","undefined","_a","v","l","findIndex","v2","deepEqual","_b","joinPath","paths","map","replace","trim","join","getDocHandles","handles","handle","doc","d","joinDocs","docs","reduce","previous","current","omit","fromEntries","entries","includes","createDynamicMiddleware","middleware","callback","req","res","xForwardedFor","headers","clientIp","connection","remoteAddress","__executedMiddlewares__","Set","headersSent","executedSet","id","has","executeOnce","isOnce","add","delete","handler","setTimeout","response","error","json","stack","console","warn","fs","appendFileSync","path","process","cwd","Date","toISOString","JSON","stringify","tryHandler","RequestMiddleware","router","Router","layers","push","uuidv4","execute","request","executeMiddlewares","Middleware","Handler","RequestHandler","type","middlewares","route","operation","components","comp","op","assign","Layer","__event__","EventEmitter","index","addListener","event","listener","on","removeListener","off","pushPath","method","routes","find","r","emit","args","root","by","_path","_route","_doc","from","props","race","layer","get","post","put","patch","options","head","all","use","setup","swagger","url","endsWith","snippet","readFileSync","__dirname","setHeader","send","Buffer","content","originalUrl","definition","routePath","app","express","express_router","basePath","methods","getRoutes","getSwagger","defaultResponses","swaggerOptions","routeDoc","responses","apis","defineSwagger","swaggerUi","serve","redocUi.setup","engine","ext","fn","enabled","setting","disabled","enable","disable","listen","BodyParser","raw","text","urlencoded","create"],"mappings":"uNA0CO,SAASA,EAAOC,EAAGC,GACtB,IAAIC,EAAI,CAAA,EACR,IAAK,IAAIC,KAAKH,EAAOI,OAAOC,UAAUC,eAAeC,KAAKP,EAAGG,IAAMF,EAAEO,QAAQL,GAAK,IAC9ED,EAAEC,GAAKH,EAAEG,IACb,GAAS,MAALH,GAAqD,mBAAjCI,OAAOK,sBACtB,KAAIC,EAAI,EAAb,IAAgBP,EAAIC,OAAOK,sBAAsBT,GAAIU,EAAIP,EAAEQ,OAAQD,IAC3DT,EAAEO,QAAQL,EAAEO,IAAM,GAAKN,OAAOC,UAAUO,qBAAqBL,KAAKP,EAAGG,EAAEO,MACvER,EAAEC,EAAEO,IAAMV,EAAEG,EAAEO,IAF4B,CAItD,OAAOR,CACX,CA8DO,SAASW,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,UAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAQ,CAAG,MAAOrB,GAAKmB,EAAOnB,GAAO,CAC3F,SAASwB,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAU,CAAC,MAAOrB,GAAKmB,EAAOnB,GAAO,CAC9F,SAASsB,EAAKG,GAJlB,IAAeJ,EAIaI,EAAOC,KAAOR,EAAQO,EAAOJ,QAJ1CA,EAIyDI,EAAOJ,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,EAAE,SAAUG,GAAWA,EAAQG,EAAO,IAIhBM,KAAKP,EAAWI,EAAY,CAC9GF,GAAMN,EAAYA,EAAUY,MAAMf,EAASC,GAAc,KAAKS,OACtE,EACA,CA8MkD,mBAApBM,iBAAiCA,gBCxU/D,MAAMC,EAAQ,CACb,IAAK,WACL,IAAK,sBACL,IAAK,aACL,IAAK,cACL,IAAK,KACL,IAAK,UACL,IAAK,WACL,IAAK,gCACL,IAAK,aACL,IAAK,gBACL,IAAK,kBACL,IAAK,eACL,IAAK,mBACL,IAAK,UACL,IAAK,mBACL,IAAK,oBACL,IAAK,QACL,IAAK,YACL,IAAK,eACL,IAAK,YACL,IAAK,qBACL,IAAK,qBACL,IAAK,cACL,IAAK,eACL,IAAK,mBACL,IAAK,YACL,IAAK,YACL,IAAK,qBACL,IAAK,iBACL,IAAK,gCACL,IAAK,kBACL,IAAK,WACL,IAAK,OACL,IAAK,kBACL,IAAK,sBACL,IAAK,oBACL,IAAK,eACL,IAAK,yBACL,IAAK,wBACL,IAAK,qBACL,IAAK,eACL,IAAK,sBACL,IAAK,uBACL,IAAK,SACL,IAAK,oBACL,IAAK,YACL,IAAK,mBACL,IAAK,wBACL,IAAK,oBACL,IAAK,kCACL,IAAK,gCACL,IAAK,wBACL,IAAK,kBACL,IAAK,cACL,IAAK,sBACL,IAAK,kBACL,IAAK,6BACL,IAAK,0BACL,IAAK,uBACL,IAAK,gBACL,IAAK,eACL,IAAK,mCAqCA,MAAOC,UAAoBC,MAOhC,WAAAC,CACUC,EACAC,EAAe,UACfC,EACAC,EAA4C,SAErDC,MAAMJ,GALGK,KAAOL,QAAPA,EACAK,KAAIJ,KAAJA,EACAI,KAAKH,MAALA,EACAG,KAAKF,MAALA,CAGT,CAGD,QAAIG,GACH,MAA6B,iBAAfD,KAAKH,MAAqBG,KAAKH,MAAQ,GACrD,CAGD,UAAIK,GACH,MAAO,CACND,KAAMD,KAAKC,KACXN,QAASJ,EAAMS,KAAKC,MAErB,ECtHK,MAAME,EAAuBrB,GACX,iBAAVA,GAAgC,OAAVA,GAAkBA,EAAMY,cAAgB9B,OAGhEwC,EAAa,CAAyBC,KAAWC,KAC7D,IAAKC,MAAMC,QAAQH,IAAQF,EAAoBE,GAC9C,OAAOA,EAGR,MAAMnB,EAAc,CAAA,EA6BpB,MA3BA,CAACmB,KAAQC,GACPG,OAAQC,MAASH,MAAMC,QAAQ,IAAML,EAAoB,KAAOvC,OAAO+C,KAAKD,GAAGvC,OAAS,GACxFyC,QAASF,YACT,IAAK,IAAIG,KAAOH,OACAI,IAAXJ,EAAEG,KAIS,OAAXH,EAAEG,KAAmBN,MAAMC,QAAQE,EAAEG,KAASV,EAAoBO,EAAEG,IACvE3B,EAAO2B,GAAOH,EAAEG,GAIbN,MAAMC,QAAQE,EAAEG,IACnB3B,EAAO2B,GAAO,IAAyB,QAAnBE,EAAA7B,EAAO2B,UAAY,IAAAE,EAAAA,EAAI,MAASL,EAAEG,IAAcJ,OAAO,CAACO,EAAG9C,EAAG+C,IAC1E/C,IAAM+C,EAAEC,UAAWC,GAAOC,YAAUD,EAAIH,KAGpB,iBAAXN,EAAEG,GAKpB3B,EAAO2B,GAAOH,EAAEG,GAJf3B,EAAO2B,GAAOT,EAAuB,UAAXlB,EAAO2B,UAAI,IAAAQ,EAAAA,EAAI,CAAE,EAAUX,EAAEG,OAQpD3B,GAuEKoC,EAAW,IAAIC,IACpB,CAAC,MAAOA,EAAMC,IAAK7D,GAAMA,EAAE8D,QAAQ,kBAAmB,KAAKhB,OAAQ9C,GAAmB,KAAbA,EAAE+D,SAAgBC,KAAK,KAG3FC,EAAgB,IAAIC,IACxBA,EAAQL,IAAKM,GAAWA,EAAOC,KAAKtB,OAAQsB,QAAgBjB,IAARiB,GAAyCtB,OAAQuB,GAAMpE,OAAO+C,KAAKqB,GAAG7D,OAAS,GAG/H8D,EAAW,IAAIC,IACpBA,EACLzB,OAAQuB,GAAMpE,OAAO+C,KAAKqB,GAAG7D,OAAS,GACtCgE,OAAO,CAACC,EAAUC,IACXjC,EAAWgC,EAAUC,GAC1B,CAAqB,GAGbC,EAAO,CAAsCjC,KAAWM,IAC7D/C,OAAO2E,YAAY3E,OAAO4E,QAAQnC,GAAKI,OAAO,EAAEI,MAAUF,EAAK8B,SAAS5B,KAiJ1E,SAAU6B,EAAwFC,GAEvG,GADAA,EAAWZ,KAAMY,aAAU,EAAVA,EAAYZ,MAAO,CAAA,EAChC,SAAUY,GAAkC,WAApBA,EAAW/C,KACtC,OAAO+C,EAER,MAAMC,EAAmC,CAACC,EAAUC,EAAe9D,KAClE,IACC,MAAM+D,GAAiBF,EAAIG,QAAQ,oBAAsB,IAAIvB,QAAQ,QAAS,IAC9EoB,EAAII,SAAWF,GAAiBF,EAAIK,WAAWC,aAC/C,CAAC,MAAMpC,GAAE,CAIV,GAFM8B,EAAIO,mCAAmCC,MAAMR,EAAIO,wBAA0B,IAAIC,KAEjFP,EAAIQ,YACP,OAGD,MAAMC,EAAcV,EAAIO,wBAElBI,EAA8B,iBAAlBb,EAAWa,GAAkBb,EAAWa,GAAKb,EAE1DY,EAAYE,IAAID,GAQpBxE,KAPA6D,EAAIa,YAAc,CAACC,GAAkB,KAChCA,EAAQJ,EAAYK,IAAIJ,GACvBD,EAAYM,OAAOL,IApFtB,SAAqBM,GAC1B,MAA0B,mBAAZA,GAA4B,UAAWA,EA0BjDA,EAzBD,CAAOjB,EAAqBC,EAAe9D,IAAsBX,EAAA2B,UAAA,OAAA,EAAA,YACjE,IAAI8C,EAAIQ,YAIR,UACO,IAAI5E,QAASC,GAAYoF,WAAWpF,EAAS,IACnD,MAAMqF,EAAgBF,EAAQjB,EAAYC,EAAK9D,GAC3CgF,aAAoBtF,gBAAesF,EACvC,CAAC,MAAOC,GACR,MAAMhE,EAAegE,aAAiBzE,GAAsC,iBAAhByE,EAAMpE,MAAqBoE,EAAMhE,KAAO,IAC9FN,EAAUsE,aAAiBzE,GAAeyE,aAAiBxE,MAAQwE,EAAMtE,QAAU,qBACnFC,EAAOqE,aAAiBzE,GAAeyE,aAAiBxE,MAAQwE,EAAMrE,KAAO,QAC7EE,EAAQmE,aAAiBzE,GAAsC,iBAAhByE,EAAMnE,MAAqBmE,EAAMnE,MAAQ,QAI9F,GAFAgD,EAAI5C,OAAOD,GAAMiE,KAAK,CAAEvE,UAASC,OAAMK,SAEnC,CAAC,QAAS,OAAQ,QAAQwC,SAAS3C,GAAQ,CAC9C,MAAMqE,EAASF,EAAcE,OAASF,EACxB,UAAVnE,GAAmBsE,QAAQH,MAAMA,GACvB,SAAVnE,GAAkBsE,QAAQC,KAAKJ,GACnCK,EAAGC,eAAeC,EAAK7C,KAAK8C,QAAQC,MAAO,cAAe,SAAQ,IAAIC,MAAOC,uBAAuB9E,aAAiB+E,KAAKC,UAAUX,OACpI,CACD,CACD,EAEJ,CA2DGY,CAAWpC,EAAXoC,CAAuBlC,EAAKC,EAAK9D,KAOnC,OAFA4D,EAASY,GAAKb,EAAWa,SAAM1C,EAC/B8B,EAASb,IAAMY,EAAWZ,KAAO,CAAA,EAC1Ba,CACR,OC/SaoC,EAEZ,WAAAtF,CAAYkD,EAA2DqC,EAAiB,IAAIC,EAAiBnD,GAAtC/B,KAAMiF,OAANA,EAAsCjF,KAAG+B,IAAHA,EACxGa,IACCA,aAAoBoC,EACvBpC,EAASqC,OAAOE,OAAOvE,QAASK,IAC/BjB,KAAKiF,OAAOE,OAAOC,KAAKnE,MAGzB2B,EAASY,GAAKZ,EAASY,IAAM6B,EAAMA,OAAC,KACpCrF,KAAK+B,IAAMa,EAASb,IAAME,GAASW,aAAA,EAAAA,EAAUb,MAAO,GAAIA,GAAO,CAAA,GAC/D/B,KAAKiF,OAAOtC,WAAWD,EAAwBE,KAGjD,CAWD,UAAAD,CAA2EC,EAAkDb,GAC5H,OAAO,IAAIiD,EAAkBpC,EAAU5C,KAAKiF,OAAQlD,EACpD,CA8BD,OAAAuD,CAAQC,EAAavB,EAAchF,GAClC,OAAOgB,KAAKiF,OAAOO,mBAAmBD,EAASvB,EAAUhF,EACzD,EAmCI,MAAOyG,UAAiFT,EAM7F,UAAArC,CAA2EC,EAAkDb,GAC5H,OAAO,IAAI0D,EAAW7C,EAAU5C,KAAKiF,OAAQlD,EAC7C,CAQD,OAAA+B,CAAwElB,EAA+Cb,GACtH,OAAO,IAAI2D,EAAQ9C,EAAU5C,KAAKiF,OAAQlD,EAC1C,CAyBD,OAAAuD,CAAQC,EAAavB,EAAchF,GAClC,OAAOe,MAAMuF,QAAQC,EAASvB,EAAUhF,EACxC,ECpHI,MAAO2G,UAAqFX,EAIjG,WAAAtF,CAA4BuF,EAAgCW,EAAqCpB,EAAqBzC,GACrHhC,WAAMe,EAAWmE,GADUjF,KAAMiF,OAANA,EAAgCjF,KAAI4F,KAAJA,EAAqC5F,KAAIwE,KAAJA,EAAqBxE,KAAG+B,IAAHA,EAH7G/B,KAAW6F,YAA6B,EAKhD,CAYD,UAAAlD,CAA2EC,EAAkDb,GAY5H,OAXIa,aAAoBoC,EACvBpC,EAASqC,OAAOE,OACd1E,OAAO,EAAGmF,OAAM9D,YAAsB,eAAT8D,KAA2B9D,GACxDN,IAAI,EAAGM,YAAaA,GACpBlB,QAASkB,GAAW9B,KAAK6F,YAAYT,QAAQtD,IAE/C9B,KAAK6F,YAAYT,KAAK1C,EAAwBE,IAE3Cb,IACH/B,KAAK+B,IAAME,EAASjC,KAAK+B,KAAO,CAAA,EAAIA,IAE9B/B,IACP,CAYD,OAAA8D,CAAwElB,EAA+Cb,GAClHa,aAAoB8C,EACvB9C,EAASqC,OAAOE,OACd1E,OAAO,EAAGmF,OAAM9D,YAAsB,eAAT8D,KAA2B9D,GACxDN,IAAI,EAAGM,YAAaA,GACpBlB,QAASkB,GAAW9B,KAAK6F,YAAYT,QAAQtD,IAE/C9B,KAAK6F,YAAYT,KAAK1C,EAAwBE,IAG/C,MAAMkD,EAAQ9F,KAAKiF,OAAOE,OAAOnF,KAAK4F,MAAM5F,KAAKwE,KAAMxE,KAAK6F,YAAa5D,EAASjC,KAAK+B,KAAO,CAAA,EAAIA,GAAO,CAAE,IAE3G,MAAO,CACN6D,KAAM5F,KAAK4F,KACXpB,KAAMxE,KAAKwE,KACXqB,YAAa7F,KAAK6F,YAClB/B,QAAS9D,KAAK6F,YAAY1H,OAAS,EAAI6B,KAAK6F,YAAY7F,KAAK6F,YAAY1H,OAAS,QAAK2C,EACvF,GAAAiB,CAAIgE,EAAqDC,EAAsC,IAC9F,MAAQA,WAAYC,EAAO,CAAA,GAAcF,EAAPG,EAAO3I,EAAAwI,EAAnC,CAAA,eAGN,OADAD,EAAM/D,IAAME,EAAS6D,EAAM/D,IAAUnE,OAAAuI,OAAAvI,OAAAuI,OAAA,CAAA,EAAAD,IAAIF,WAAY5F,EAAW6F,EAAMD,MAC/DhG,IACP,EAEF,QAoBW0F,EAEZ,WAAAhG,CAAYkD,EAAwDqC,EAAiB,IAAIC,EAAiBnD,GAAtC/B,KAAMiF,OAANA,EAAsCjF,KAAG+B,IAAHA,EACrGa,IACCA,aAAoB8C,EACvB9C,EAASqC,OAAOE,OAAOvE,QAASK,IAC/BjB,KAAKiF,OAAOE,OAAOC,KAAKnE,MAGzB2B,EAASY,GAAKZ,EAASY,IAAM6B,EAAMA,OAAC,KACpCzC,EAASb,IAAME,GAASW,aAAQ,EAARA,EAAUb,MAAO,CAAA,EAAIA,GAAO,CAAA,GACpD/B,KAAKiF,OAAOtC,WAAWD,EAAwBE,KAGjD,CA6BD,OAAA0C,CAAQC,EAAavB,EAAchF,GAClC,OAAOgB,KAAKiF,OAAOO,mBAAmBD,EAASvB,EAAUhF,EACzD,ECzJI,MAAOoH,UAAc7F,MAa1B,WAAAb,CAAmB8E,EAAe,GAAWzC,EAAuB,CAAA,GACnEhC,QADkBC,KAAIwE,KAAJA,EAA0BxE,KAAG+B,IAAHA,EAZrC/B,KAAAqG,UAEH,IAAIC,EAAAA,aAGFtG,KAAKuG,OAAY,CASvB,CAOD,WAAAC,CAAYC,EAAcC,GACzB,OAAO1G,KAAKqG,UAAUM,GAAGF,EAAOC,EAChC,CAOD,cAAAE,CAAeH,EAAcC,GAC5B,OAAO1G,KAAKqG,UAAUQ,IAAIJ,EAAOC,EACjC,CAOD,QAAAI,CAASlB,EAA8BmB,EAAuBvC,EAAc1C,EAAiDC,EAAuB,IACnJ,MAAMwE,EAAQvG,KAAK7B,OAEnB6B,KAAKoF,KAAK,CACTZ,OACAuC,SACAnB,OACA9D,OAAQA,aAAkBsE,OAAQtF,EAAYgB,EAC9CC,IAAKE,EAASjC,KAAK+B,OAASD,aAAkBsE,EAAQ,CAACtE,EAAOC,KAAOH,KAAiBE,GAAUC,GAChG+D,MAAOhE,aAAkBsE,EAAQtE,OAAShB,IAG3C,MAAMgF,EAAQ9F,KAAKgH,OAAOC,KAAMC,GAAMA,EAAEX,QAAUA,GAIlD,OAFIT,GAAO9F,KAAKqG,UAAUc,KAAK,MAAOrB,GAGlClI,OAAAuI,OAAAvI,OAAAuI,OAAA,GAAAnG,OACHuG,QACA,OAAIxE,SACH,OAAoB,QAAbhB,EAAAf,KAAKuG,UAAQ,IAAAxF,OAAA,EAAAA,EAAAgB,MAAO,CAAA,CAC3B,EACD,OAAIA,CAAIA,GACP/B,KAAKuG,GAAOxE,IAAMA,CAClB,GAEF,CAYD,KAAA+D,IAASsB,GACR,MAAM5C,EAAkC,iBAAZ4C,EAAK,GAAkBA,EAAK,GAAK,GACvDrF,EAAuBqF,EAAK,aAAchB,EAAQgB,EAAK,GAAKA,EAAK,aAAchB,GAA4B,iBAAZgB,EAAK,GAAkBA,EAAK,GAAKA,EAAK,GACrIC,EAAO,IAAIjB,EAAM9E,EAAStB,KAAKwE,KAAMA,GAAOzC,GAIlD,GAFA/B,KAAKoF,KAAK,CAAEZ,KAAM,GAAIuC,OAAQ,MAAOnB,KAAM,QAASE,MAAOuB,IAEvDD,EAAK,aAAchB,GAASgB,EAAK,aAAchB,EAAO,CACzD,MAAMN,EAAesB,EAAK,aAAchB,EAAQgB,EAAK,GAAKA,EAAK,GAI/D,OAFAC,EAAKjC,KAAK,CAAEZ,KAAM,GAAIuC,OAAQ,MAAOnB,KAAM,QAASE,UAE7CA,CACP,CAED,OAAOuB,CACP,CAMD,YAAOvB,CAAMtB,EAAezC,GAC3B,OAAO,IAAIqE,EAAM5B,EAAMzC,EACvB,CAWD,EAAAuF,CAAG9C,EAAsBsB,EAAiC/D,GACzD,MAAMwF,EAAgC,iBAAT/C,EAAoBA,EAAOA,EAAKA,KACvDgD,EAAgC,iBAAThD,EAAqBsB,EAAmBtB,EAC/DiD,EAAoD,iBAATjD,EAAoBzC,EAAM+D,EAE3E,OADA9F,KAAK8F,MAAMyB,EAAOC,EAAQC,GACnBzH,IACP,CAMD,SAAImE,GACH,OAAO5D,MAAMmH,KAAK1H,MAAMwB,IAAKT,IAAA,IAAA+E,MAAEA,GAAsB/E,EAAZ4G,EAAKpK,EAAAwD,EAAjB,WAC5B,OACInD,OAAAuI,OAAAvI,OAAAuI,OAAA,CAAA,EAAAwB,GACH,CAAA,SAAI7B,GACH,OAAOA,eAAAA,EAAO3B,KACd,KAGH,CAEK,kBAAAqB,CAAmBD,EAAkBvB,EAAoBhF,2CAC9D,MAAM6G,EAAgE,GAQtE,IAAIlH,EANJqB,KAAKS,OAAO,EAAGmF,UACE,eAATA,GACLhF,QAAQ,EAAGkB,aACb+D,EAAYT,QAAStD,GAAU,MAKhC,IAAK,IAAI5D,EAAI,EAAGA,EAAI2H,EAAY1H,SAC3B6F,EAASV,YAD0BpF,IAAK,CAK5C,MAAMyE,EAAakD,EAAY3H,GAC/BS,QAAgBD,QAAQkJ,KAAK,CAACjF,EAAW4C,EAASvB,EAAU9F,GAAK2H,EAAY1H,OAAS,EAAIa,EAAO,SACjG,CAED,OAAOL,GACP,CAOD,UAAIqI,GACH,MAAMA,EAAmB,GACnBnB,EAAgE,GAChE3D,EAA0B,GAEhC,IAAIqE,GAAS,EAEb,IAAK,MAAMsB,KAAS7H,KAGnB,OAFAuG,IAEQsB,EAAMjC,MACb,IAAK,aAAc,CAClB,MAAM/D,EAAUgG,EAAM/F,QAAU,GAChC+D,EAAYT,QAAQvD,GACpBK,EAAKkD,QAAQxD,KAAiBC,GAAUgG,EAAM9F,KAAO,CAAA,GACrD,KACA,CACD,IAAK,QACH8F,EAAM/B,MAAgBkB,OAAOpG,QAASkF,IACtC,MAAMjE,EAAU,IAAIgE,KAAiBgC,EAAM/F,QAAU,MAAQgE,EAAMhE,QACnEkF,EAAO5B,KAAK,CACXmB,QACA/B,KAAMlD,EAASuG,EAAMrD,MAAQ,GAAIsB,EAAMtB,MACvCuC,OAAQjB,EAAMiB,OACdjF,OAAQD,EACRE,IAAKE,KAAYC,KAASN,KAAiBC,GAAUgG,EAAM9F,KAAO,CAAA,EAAI+D,EAAM/D,KAAO,CAAA,OAGrF,MAED,QAAS,CACR,MAAMF,EAAU,IAAIgE,KAAiBgC,EAAM/F,QAAU,IACrDkF,EAAO5B,KAAK,CACXmB,QACA/B,KAAMqD,EAAMrD,MAAQ,GACpBuC,OAAQc,EAAMd,OACdjF,OAAQD,EACRE,IAAKE,KAAYC,KAASN,KAAiBC,GAAUgG,EAAM9F,KAAO,MAEnE,KACA,EAIH,OAAOiF,CACP,CAMD,UAAArE,CAAWb,EAA6BC,EAAuB,IAC9D,OAAO/B,KAAK8G,SAAS,aAAc,MAAO9G,KAAKwE,KAAM1C,EAAQG,EAASjC,KAAK+B,IAAKA,GAChF,CAMD,GAAA+F,CAAItD,EAAc1C,EAAyCC,EAAuB,CAAA,GACjF,OAAO/B,KAAK8G,SAAS,QAAS,MAAOxF,EAAStB,KAAKwE,KAAMA,GAAO1C,EAAQG,EAASjC,KAAK+B,IAAKA,GAC3F,CAMD,IAAAgG,CAAKvD,EAAc1C,EAAyCC,EAAuB,CAAA,GAClF,OAAO/B,KAAK8G,SAAS,QAAS,OAAQxF,EAAStB,KAAKwE,KAAMA,GAAO1C,EAAQG,EAASjC,KAAK+B,IAAKA,GAC5F,CAMD,GAAAiG,CAAIxD,EAAc1C,EAAyCC,EAAuB,CAAA,GACjF,OAAO/B,KAAK8G,SAAS,QAAS,MAAOxF,EAAStB,KAAKwE,KAAMA,GAAO1C,EAAQG,EAASjC,KAAK+B,IAAKA,GAC3F,CAMD,OAAOyC,EAAc1C,EAAyCC,EAAuB,CAAA,GACpF,OAAO/B,KAAK8G,SAAS,QAAS,SAAUxF,EAAStB,KAAKwE,KAAMA,GAAO1C,EAAQG,EAASjC,KAAK+B,IAAKA,GAC9F,CAMD,KAAAkG,CAAMzD,EAAc1C,EAAyCC,EAAuB,CAAA,GACnF,OAAO/B,KAAK8G,SAAS,QAAS,QAASxF,EAAStB,KAAKwE,KAAMA,GAAO1C,EAAQG,EAASjC,KAAK+B,IAAKA,GAC7F,CAMD,OAAAmG,CAAQ1D,EAAc1C,EAAyCC,EAAuB,CAAA,GACrF,OAAO/B,KAAK8G,SAAS,QAAS,UAAWxF,EAAStB,KAAKwE,KAAMA,GAAO1C,EAAQG,EAASjC,KAAK+B,IAAKA,GAC/F,CAMD,IAAAoG,CAAK3D,EAAc1C,EAAyCC,EAAuB,CAAA,GAClF,OAAO/B,KAAK8G,SAAS,QAAS,OAAQxF,EAAStB,KAAKwE,KAAMA,GAAO1C,EAAQG,EAASjC,KAAK+B,IAAKA,GAC5F,CAMD,GAAAqG,CAAI5D,EAAc1C,EAAyCC,EAAuB,CAAA,GACjF,OAAO/B,KAAK8G,SAAS,QAAS,MAAOxF,EAAStB,KAAKwE,KAAMA,GAAO1C,EAAQG,EAASjC,KAAK+B,IAAKA,GAC3F,CAMD,GAAAsG,CAAI7D,EAAc1C,EAAyCC,EAAuB,CAAA,GACjF,OAAO/B,KAAK8G,SAAS,QAAS,MAAOxF,EAAStB,KAAKwE,KAAMA,GAAO1C,EAAQG,EAASjC,KAAK+B,IAAKA,GAC3F,ECzSK,MAAMuG,EAASC,GACd,CAAO1F,EAAKC,IAAOzE,OAAA,OAAA,OAAA,EAAA,YACzB,GAAIwE,EAAI2F,IAAIC,SAAS,yBAA0B,CAC9C,MAAMC,EAAUpE,EAAGqE,aAAanE,EAAK7F,QAAQiK,UAAW,yBAA0B,SAGlF,OAFA9F,EAAI+F,UAAU,eAAgB,+BAC9B/F,EAAIgG,KAAKC,OAAOrB,KAAKgB,EAAS,QAE9B,CAED,MAAMM,EAAU,4RAaCnG,EAAIoG,YAAYxH,QAAQ,WAAY,kLAG9BoD,KAAKC,UAAUyD,EAAQW,k6CAyC9CpG,EAAI+F,UAAU,eAAgB,aAC9B/F,EAAIgG,KAAKC,OAAOrB,KAAKsB,EAAS,QAC/B,SCtCY9D,EAUZ,WAAAxF,CAAqByJ,EAAoB,GAAahE,EAAgB,IAAIiB,GAArDpG,KAASmJ,UAATA,EAAiCnJ,KAAMmF,OAANA,EAR/CnF,KAAGoJ,IAAYC,IACdrJ,KAAAsJ,eAAgCD,EAAQnE,SAQ/ClF,KAAKmF,OAAOX,KAAO2E,CACnB,CASD,GAAApH,CAAIgE,EAAmCC,EAAsC,IAC5EhG,KAAKmF,OAAOpD,mCAAWgE,GAAS,CAAEC,cAClC,CAWD,UAAArD,CAA2EC,EAAkDb,GAS5H,OARIa,aAAoBoC,EACvBpC,EAASqC,OAAOE,OACd1E,OAAO,EAAGmF,OAAM9D,YAAsB,eAAT8D,KAA2B9D,GACxDN,IAAI,EAAGM,YAAaA,GACpBlB,QAASkB,GAAW9B,KAAKmF,OAAOxC,WAAWb,EAAQC,IAErD/B,KAAKmF,OAAOxC,WAAW,CAACC,GAAUpB,IAAIkB,GAA0BX,GAE1D/B,IACP,CA6BD,kBAAAwF,CAAmBD,EAAavB,EAAchF,GAC7C,OAAOgB,KAAKmF,OAAOK,mBAAmBD,EAASvB,EAAUhF,EACzD,CA0BD,OAAA8E,CAAwElB,EAAkDb,GACzH,OAAO,IAAI2D,EAAQ9C,OAAU9B,EAAWiB,EACxC,CAgBD,GAAA+F,CAAItD,EAAczC,GACjB,OAAO,IAAI4D,EAAe3F,KAAM,MAAOwE,EAAMzC,EAC7C,CAgBD,IAAAgG,CAAKvD,EAAczC,GAClB,OAAO,IAAI4D,EAAe3F,KAAM,OAAQwE,EAAMzC,EAC9C,CAQD,GAAAiG,CAAIxD,EAAczC,GACjB,OAAO,IAAI4D,EAAe3F,KAAM,MAAOwE,EAAMzC,EAC7C,CAQD,OAAOyC,EAAczC,GACpB,OAAO,IAAI4D,EAAe3F,KAAM,SAAUwE,EAAMzC,EAChD,CAQD,KAAAkG,CAAMzD,EAAczC,GACnB,OAAO,IAAI4D,EAAe3F,KAAM,QAASwE,EAAMzC,EAC/C,CAQD,OAAAmG,CAAQ1D,EAAczC,GACrB,OAAO,IAAI4D,EAAe3F,KAAM,UAAWwE,EAAMzC,EACjD,CAQD,IAAAoG,CAAK3D,EAAczC,GAClB,OAAO,IAAI4D,EAAe3F,KAAM,OAAQwE,EAAMzC,EAC9C,CAQD,GAAAqG,CAAI5D,EAAczC,GACjB,OAAO,IAAI4D,EAAe3F,KAAM,MAAOwE,EAAMzC,EAC7C,CAiBD,GAAAsG,CAAI7D,EAAe,GAAIzC,GACtB,OAAO,IAAI4D,EAAe3F,KAAM,MAAOwE,EAAMzC,EAC7C,CAOD,UAAIiF,GACH,ML9FuB,EAAC/B,EAAesE,EAAmB,MAC3D,IACC,IAAIvC,EAKC/B,EAAO+B,OAAOxF,IAAKqG,IACvB,MAAMrD,KAAEA,EAAIuC,OAAEA,EAAMhF,IAAEA,GAAQ8F,EAExBlK,EAAI2D,EAASiI,EAAU/E,GAE7B,MAAO,CACNA,KAAM7G,EACN6L,QAAS,CAACzC,GACVnB,KAAM,QACN2C,QAAS,CACRhH,MAAO,CAAE5D,CAACA,GAAI,CAAEoJ,CAACA,IAAShF,aAAA,EAAAA,EAAKgE,YAAa,CAAA,IAC5CC,YAAYjE,eAAAA,EAAKiE,aAAc,CAAE,MAKpC,OAAOgB,CACP,CAAC,MAAOvJ,GAER,CAED,MAAO,IKkECgM,CAAUzJ,KAAKmF,OACtB,CAQD,UAAAuE,CAAWxB,EAAuCyB,EAA2C,IAC5F,MAAMC,EAAchM,OAAAuI,OAAAvI,OAAAuI,OAAA,CAAK3B,KAAM,QAAY0D,GAAW,CAAA,GAAK,CAAAyB,qBAE3D,IAAI5H,EAAiE,CAAER,OAAOqI,aAAc,EAAdA,EAAgBrI,QAAS,GAAIyE,YAAY4D,aAAA,EAAAA,EAAgB5D,aAAc,CAAE,GAevJ,OAbAhG,KAAKmF,OAAO6B,OAAOpG,QAAQ,EAAGmG,SAAQvC,OAAMzC,IAAK8H,MAChD,GAAIA,EAAU,CACb,MAAM7D,WAAEA,GAA6B6D,EAAd9D,EAASxI,EAAKsM,EAA/B,CAA4B,eAElC9D,EAAU+D,UAAY1J,EAAmCwJ,EAAeD,kBAAoB,CAAA,EAAI5D,EAAU+D,WAAa,CAAA,GAEvH/H,EAAM3B,EAAW2B,EAAK,CACrBR,MAAO,CAAEiD,CAACA,GAAO,CAAEuC,CAACA,GAAShB,IAC7BC,WAAYA,GAAc,CAAE,GAE7B,IAGK,CAAEkD,WAAUtL,OAAAuI,OAAAvI,OAAAuI,OAAA,GAAO7D,EAAKsH,EAAgB,OAAQ,qBAAwB7H,GAAOgI,KAAM,GAC5F,CAiBD,aAAAC,CAAc9B,GACb,MAAM0B,iCAAsB1B,GAAO,CAAE1D,KAAM0D,EAAQ1D,MAAQ,OAAQmF,iBAAkBzB,EAAQyB,kBAAoB,CAAE,IAE7GnF,EAAOoF,EAAepF,MAAQ,OAEpCxE,KAAKsJ,eAAexB,IAAIxG,EAASkD,EAAM,4BAA6B,CAAC3B,EAAKC,KACzEA,EAAIoB,KAAKlE,KAAK0J,WAAWE,EAAgBA,EAAeD,kBAAkBT,cAG3ElJ,KAAKsJ,eAAejB,IAAI/G,EAASkD,EAAM,YAAayF,EAAUC,MAAO,IAAI9C,KACxE6C,EAAU3B,MAAMtI,KAAK0J,WAAWE,EAAgBA,EAAeD,kBAAkBT,YAAY7J,MAAMW,KAAKoJ,IAAKhC,KAG9GpH,KAAKsJ,eAAejB,IAAI/G,EAASkD,EAAM,UAAW,IAAI4C,KACrD+C,EAAcnK,KAAK0J,WAAWE,EAAgBA,EAAeD,mBAAmBtK,MAAMW,KAAKoJ,IAAKhC,IAEjG,CAYD,KAAAtB,CAAMtB,EAAe,IACpB,OAAO,IAAIU,EAAO,GAAIlF,KAAKmF,OAAOW,MAAMtB,GACxC,CAeD,EAAA8C,CAAGrC,GAIF,OAHIA,aAAkBC,GACrBlF,KAAKmF,OAAOmC,GAAGrC,EAAOE,QAEhBnF,IACP,CAGD,MAAAoK,CAAOC,EAAaC,GAEnB,OADAtK,KAAKoJ,IAAIgB,OAAOC,EAAKC,GACdtK,IACP,CAED,OAAAuK,CAAQC,GACP,OAAOxK,KAAKoJ,IAAImB,QAAQC,EACxB,CAGD,QAAAC,CAASD,GACR,OAAOxK,KAAKoJ,IAAIqB,SAASD,EACzB,CAGD,MAAAE,CAAOF,GAEN,OADAxK,KAAKoJ,IAAIsB,OAAOF,GACTxK,IACP,CAGD,OAAA2K,CAAQH,GAEP,OADAxK,KAAKoJ,IAAIuB,QAAQH,GACVxK,IACP,CA2BD,MAAA4K,IAAUxD,GACT,MAAMnC,EAAwBoE,EAAQnE,SAkBtC,OAhBAlF,KAAKoJ,IAAIf,IAAI,CAACxF,EAAKC,EAAK9D,KACvBiG,EAAOd,MAAQ,GACfnE,KAAKmF,OAAO6B,OAAOpG,QAAQ,EAAGmG,SAAQvC,OAAM1C,aAC3CmD,EAAO8B,GAAQvC,KAAS1C,KAEzB9C,KACEiG,GAEHjF,KAAKoJ,IAAIf,IAAIrI,KAAKsJ,gBAElBtJ,KAAKoJ,IAAIf,IACR3F,EAAwB,CAACG,EAAKC,EAAK9D,KAClC,MAAM,IAAIQ,EAAY,YAAa,YAAa,QAI3CQ,KAAKoJ,IAAIwB,UAAUxD,EAC1B,2CCvZmBc,GACb2C,EAAW3G,KAAKgE,OAwBJA,GACZ2C,EAAWC,IAAI5C,QAwBFA,GACb2C,EAAWE,KAAK7C,cAuBGA,GACnB2C,EAAWG,WAAW9C,cC/Dd+C,IACf,OAAO,IAAI/F,CACZ,CA2BgB,SAAAvC,EAA2EC,EAAwCb,GAClI,OAAO,IAAI0D,EAAW7C,OAAU9B,EAAWiB,EAC5C,CAsBgB,SAAA+B,EAAwElB,EAAqCb,GAC5H,OAAO,IAAI2D,EAAQ9C,OAAU9B,EAAWiB,EACzC,CAqBM,SAAU+D,EAAsEtB,GACrF,OAAO,IAAIU,EAAiBV,EAC7B,UAuBgBzC,EAAIgE,EAAqDC,EAAsC,IAC9G,MAAQA,WAAYC,EAAO,CAAA,GAAcF,EAAPG,EAAO3I,EAAAwI,EAAnC,CAAA,eACN,OAAYnI,OAAAuI,OAAAvI,OAAAuI,OAAA,CAAA,EAAAD,GAAI,CAAAF,WAAY5F,EAAW6F,EAAMD,IAC9C,CAEA,IAAeO,EAAA,CACd0E,SACAnF,QACAnD,aACAmB,UACA/B","x_google_ignoreList":[0]}
@@ -1,153 +1,136 @@
1
- import type { Request, Response, ExpressRouter, MiddlewareFC } from "./type";
1
+ import type { Request, Response, NextFunction, MiddlewareFCDoc, MiddlewareCallback, HandlerCallback } from "./type";
2
2
  import { Router } from "./router";
3
+ import { Handler } from "./handler";
3
4
  /**
4
- * Representa um construtor de cadeia de middlewares.
5
- * Esta classe é a base para criar sequências de middlewares de forma fluente,
6
- * permitindo que os tipos de requisição e resposta sejam estendidos a cada passo.
7
- *
8
- * @template Rq O tipo de requisição acumulado na cadeia de middlewares.
9
- * @template Rs O tipo de resposta acumulado na cadeia de middlewares.
5
+ * @internal
6
+ * Uma classe base para a construção de componentes de middleware encadeáveis.
7
+ * Esta classe não deve ser instanciada diretamente pelo usuário final.
10
8
  */
11
9
  export declare class RequestMiddleware<Rq extends Request = Request, Rs extends Response = Response> {
12
- readonly router: ExpressRouter;
13
- /** A lista de middlewares acumulados. */
14
- middlewares: MiddlewareFC<any, any>[];
10
+ readonly router: Router;
11
+ doc?: MiddlewareFCDoc | undefined;
12
+ /** @internal */
13
+ constructor(callback: MiddlewareCallback<Rq, Rs> | undefined, router?: Router, doc?: MiddlewareFCDoc | undefined);
15
14
  /**
16
- * @param {MiddlewareFC<Rq, Rs>} [callback] - O middleware inicial para adicionar à cadeia.
17
- * @param {MiddlewareFC<any, any>[]} [middlewares=[]] - Uma lista de middlewares pré-existentes para iniciar a cadeia.
15
+ * Anexa um middleware adicional à cadeia.
16
+ *
17
+ * @template Req - Tipo de Request estendido pelo novo middleware.
18
+ * @template Res - Tipo de Response estendido pelo novo middleware.
19
+ * @param {MiddlewareCallback<Rq & Req, Rs & Res>} callback - A função de middleware a ser adicionada.
20
+ * @param {MiddlewareFCDoc} [doc] - Documentação OpenAPI opcional para o middleware.
21
+ * @returns {RequestMiddleware<Rq & Req, Rs & Res>} Uma nova instância de `RequestMiddleware` com o middleware adicionado.
18
22
  */
19
- constructor(callback: MiddlewareFC<Rq, Rs> | undefined, middlewares?: MiddlewareFC<any, any>[], router?: ExpressRouter);
23
+ middleware<Req extends Request = Request, Res extends Response = Response>(callback: MiddlewareCallback<Rq & Req, Rs & Res>, doc?: MiddlewareFCDoc): RequestMiddleware<Rq & Req, Rs & Res>;
20
24
  /**
21
- * Adiciona um novo middleware à cadeia.
25
+ * Executa a cadeia de middlewares encapsulados por esta instância.
26
+ * Este método é projetado principalmente para testes, permitindo que você execute a lógica do middleware
27
+ * de forma isolada, sem a necessidade de um servidor HTTP real.
28
+ *
29
+ * @param {Rq} request - O objeto de requisição (ou um mock para testes).
30
+ * @param {Rs} response - O objeto de resposta (ou um mock para testes).
31
+ * @param {NextFunction} next - A função `next` a ser chamada ao final da cadeia de middlewares.
32
+ * @returns {Promise<void>} Uma promessa que resolve quando a execução da cadeia é concluída.
33
+ *
34
+ * @example
35
+ * import { middleware, Request, Response, NextFunction } from '@ismael1361/router';
36
+ *
37
+ * // 1. Crie um componente de middleware reutilizável
38
+ * const myMiddleware = middleware<{ user: { id: string } }>((req, res, next) => {
39
+ * req.user = { id: 'test-user' };
40
+ * next();
41
+ * });
42
+ *
43
+ * // 2. Crie mocks para os objetos de requisição, resposta e next (ex: com Jest)
44
+ * const mockRequest = {} as Request & { user: { id: string } };
45
+ * const mockResponse = {} as Response;
46
+ * const mockNext = () => {}; // ou jest.fn()
22
47
  *
23
- * @template Req O tipo de requisição que este novo middleware adiciona.
24
- * @template Res O tipo de resposta que este novo middleware adiciona.
25
- * @param {MiddlewareFC<Rq & Req, Rs & Res>} callback O middleware a ser adicionado.
26
- * @returns {RequestMiddleware<Rq & Req, Rs & Res>} Uma nova instância de `RequestMiddleware` com a cadeia estendida.
48
+ * // 3. Execute o middleware programaticamente e verifique o resultado
49
+ * await myMiddleware.execute(mockRequest, mockResponse, mockNext);
50
+ * console.log(mockRequest.user); // Output: { id: 'test-user' }
27
51
  */
28
- middleware<Req extends Request = Request, Res extends Response = Response>(callback: MiddlewareFC<Rq & Req, Rs & Res>): RequestMiddleware<Rq & Req, Rs & Res>;
52
+ execute(request: Rq, response: Rs, next: NextFunction): Promise<any>;
29
53
  }
30
54
  /**
31
- * Um construtor de roteadores com middlewares compartilhados.
32
- *
33
- * Esta classe permite construir uma base de middlewares de forma fluente e com segurança de tipos.
34
- * Após configurar os middlewares desejados, você pode usar o método `.route()` para criar
35
- * roteadores específicos (sub-rotas) que herdam automaticamente todos os middlewares e
36
- * suas respectivas tipagens de requisição e resposta.
37
- *
38
- * Isso é útil para agrupar rotas que compartilham a mesma lógica de autenticação,
39
- * logging ou qualquer outro pré-processamento, garantindo que os tipos sejam consistentes.
40
- *
41
- * @template Rq O tipo de requisição acumulado na cadeia de middlewares.
42
- * @template Rs O tipo de resposta acumulado na cadeia de middlewares.
55
+ * Representa um componente de middleware encadeável que pode ser finalizado com um manipulador (handler).
56
+ * Uma instância desta classe é retornada pela função `middleware()`. Permite criar componentes
57
+ * de lógica reutilizáveis que podem ser aplicados a múltiplas rotas.
43
58
  *
44
59
  * @example
45
- * import express, { Request, Response, NextFunction } from "express";
46
- * import { MiddlewareRouter, MiddlewareFC } from "./middleware"; // Ajuste o caminho
60
+ * // middlewares/auth.ts
61
+ * import { middleware, Request } from '@ismael1361/router';
47
62
  *
48
- * // 1. Defina os tipos e middlewares que estendem a requisição
49
- * interface AuthRequest { user: { id: number; role: string }; }
50
- * const authMiddleware: MiddlewareFC<AuthRequest> = (req, res, next) => {
51
- * // Em um app real, validaria um token e buscaria o usuário
52
- * req.user = { id: 1, role: "admin" };
53
- * next();
54
- * };
63
+ * // Define um tipo para a requisição após a autenticação
64
+ * interface AuthRequest extends Request {
65
+ * user: { id: string; roles: string[] };
66
+ * }
55
67
  *
56
- * interface LoggedRequest { log: (message: string) => void; }
57
- * const loggerMiddleware: MiddlewareFC<LoggedRequest> = (req, res, next) => {
58
- * req.log = (message) => console.log(`[${new Date().toISOString()}] ${message}`);
68
+ * // Cria um componente de middleware reutilizável
69
+ * export const authMiddleware = middleware<AuthRequest>((req, res, next) => {
70
+ * // Lógica de autenticação...
71
+ * req.user = { id: 'user-123', roles: ['admin'] };
59
72
  * next();
60
- * };
61
- *
62
- * // 2. Crie uma base de roteamento com os middlewares
63
- * const baseRouter = new MiddlewareRouter(authMiddleware)
64
- * .middleware(loggerMiddleware)
65
- *
66
- * // 3. Crie sub-rotas a partir da base. Elas herdarão os middlewares.
67
- * const usersRouter = baseRouter.route("/users");
68
- * const postsRouter = baseRouter.route("/posts");
69
- *
70
- * // 4. Defina os handlers. `req` terá os tipos `AuthRequest & LoggedRequest`.
71
- * usersRouter.get("/:id").handler((req, res) => {
72
- * req.log(`Buscando usuário com ID: ${req.params.id}`);
73
- * // `req.user` está disponível e tipado
74
- * res.json({ id: req.params.id, requester: req.user });
73
+ * }, {
74
+ * security: [{ bearerAuth: [] }], // Documentação OpenAPI
75
+ * responses: { '401': { description: 'Não autorizado' } }
75
76
  * });
76
77
  *
77
- * postsRouter.get("/").handler((req, res) => {
78
- * req.log("Listando posts");
79
- * // `req.user` também está disponível aqui
80
- * if (req.user.role !== 'admin') {
81
- * return res.status(403).send("Acesso negado");
82
- * }
83
- * res.json([{ id: 1, title: "Post de Admin" }]);
84
- * });
85
- *
86
- * // 5. Use os roteadores no seu app Express
87
- * const app = express();
88
- * // O roteador principal que contém as sub-rotas é o `baseRouter.router`
89
- * app.use("/api/v1", baseRouter.router);
90
- *
91
- * app.listen(3000, () => console.log("Servidor rodando na porta 3000"));
78
+ * // routes/users.ts
79
+ * // router.get('/profile')
80
+ * // .middleware(authMiddleware) // Aplica o middleware
81
+ * // .handler((req, res) => {
82
+ * // // req.user está disponível e tipado aqui
83
+ * // res.json(req.user);
84
+ * // });
92
85
  */
93
- export declare class MiddlewareRouter<Rq extends Request = Request, Rs extends Response = Response> extends RequestMiddleware<Rq, Rs> {
86
+ export declare class Middleware<Rq extends Request = Request, Rs extends Response = Response> extends RequestMiddleware<Rq, Rs> {
94
87
  /**
95
- * Adiciona um novo middleware à cadeia de construção.
96
- *
97
- * Este método é imutável: ele retorna uma **nova instância** de `MiddlewareRouter`
98
- * com o middleware adicionado, permitindo o encadeamento seguro. A tipagem dos
99
- * objetos `Request` e `Response` é aprimorada para refletir as modificações
100
- * feitas pelo novo middleware.
88
+ * Anexa um middleware adicional à cadeia.
101
89
  *
102
- * @template Req O tipo de `Request` que o novo middleware adiciona ou modifica.
103
- * @template Res O tipo de `Response` que o novo middleware adiciona ou modifica.
104
- * @param {MiddlewareFC<Rq & Req, Rs & Res>} callback A função de middleware a ser adicionada.
105
- * @returns {MiddlewareRouter<Rq & Req, Rs & Res>} Uma nova instância de `MiddlewareRouter` com a cadeia estendida.
90
+ * @returns {Middleware<Rq & Req, Rs & Res>} Uma nova instância de `Middleware` para continuar o encadeamento.
106
91
  */
107
- middleware<Req extends Request = Request, Res extends Response = Response>(callback: MiddlewareFC<Rq & Req, Rs & Res>): MiddlewareRouter<Rq & Req, Rs & Res>;
92
+ middleware<Req extends Request = Request, Res extends Response = Response>(callback: MiddlewareCallback<Rq & Req, Rs & Res>, doc?: MiddlewareFCDoc): Middleware<Rq & Req, Rs & Res>;
108
93
  /**
109
- * Cria um novo sub-roteador (`Router`) montado em um prefixo de caminho específico.
94
+ * Finaliza a cadeia de middlewares e define um manipulador (handler) final.
95
+ * Isso transforma o componente de middleware em um componente de manipulador completo e reutilizável.
110
96
  *
111
- * O roteador retornado herda todos os middlewares (e suas tipagens) que foram
112
- * configurados nesta cadeia de `MiddlewareRouter`. É o principal método para
113
- * criar grupos de rotas que compartilham uma configuração base.
114
- *
115
- * @param {string} path O prefixo do caminho para o sub-roteador.
116
- * @returns {Router<Rq, Rs>} Uma nova instância de `Router` para definir as rotas finais.
117
- * @see MiddlewareRouter para um exemplo de uso completo.
97
+ * @returns {Handler<Rq & Req, Rs & Res>} Uma instância de `Handler` que encapsula toda a cadeia.
118
98
  */
119
- route(path: string): Router<Rq, Rs>;
99
+ handler<Req extends Request = Request, Res extends Response = Response>(callback: HandlerCallback<Rq & Req, Rs & Res>, doc?: MiddlewareFCDoc): Handler<Rq & Req, Rs & Res>;
120
100
  /**
121
- * Monta um sub-roteador existente na raiz do roteador base.
122
- *
123
- * Este método é usado para compor a aplicação anexando um módulo de rotas
124
- * pré-construído (uma instância de `Router` ou `express.Router`).
125
- *
126
- * **Importante:** Diferente do método `.route()`, os middlewares configurados
127
- * na cadeia do `MiddlewareRouter` **não são herdados** pelo roteador que está
128
- * sendo montado com `.by()`. Ele é útil para anexar roteadores que
129
- * não devem compartilhar o mesmo contexto de middleware (por exemplo, rotas públicas).
101
+ * Executa a cadeia de middlewares encapsulados por esta instância de `Middleware`.
102
+ * Este método é herdado e serve principalmente para fins de teste, permitindo invocar
103
+ * a lógica do middleware de forma isolada.
130
104
  *
131
- * @param {Router | ExpressRouter} router - A instância do roteador a ser montada.
132
- * @returns {this} A instância atual de `MiddlewareRouter`, permitindo o encadeamento de chamadas.
105
+ * @param {Rq} request - O objeto de requisição (ou um mock para testes).
106
+ * @param {Rs} response - O objeto de resposta (ou um mock para testes).
107
+ * @param {NextFunction} next - A função `next` a ser chamada ao final da cadeia.
108
+ * @returns {Promise<void>} Uma promessa que resolve quando a execução é concluída.
133
109
  *
134
110
  * @example
135
- * // RequestMiddleware de autenticação
136
- * const authMiddleware = (req, res, next) => {
137
- * req.user = { id: 1 };
138
- * next();
139
- * };
111
+ * import { middleware, Request, Response, NextFunction } from '@ismael1361/router';
140
112
  *
141
- * // Roteador base com autenticação
142
- * const api = new MiddlewareRouter(authMiddleware);
113
+ * const addDataMiddleware = middleware<{ customData: string }>((req, res, next) => {
114
+ * req.customData = 'Hello from middleware!';
115
+ * next();
116
+ * });
143
117
  *
144
- * // Roteador de status público (não deve ter auth)
145
- * const statusRouter = new Router();
146
- * statusRouter.get("/status").handler((req, res) => res.send("Service is up"));
118
+ * const mockRequest = {} as Request & { customData: string };
147
119
  *
148
- * // Monta o roteador público usando .by()
149
- * api.by(statusRouter);
120
+ * await addDataMiddleware.execute(mockRequest, {} as Response, () => {});
121
+ * console.log(mockRequest.customData); // Output: 'Hello from middleware!'
150
122
  */
151
- by(router: Router | ExpressRouter): this;
123
+ execute(request: Rq, response: Rs, next: NextFunction): Promise<any>;
124
+ }
125
+ /**
126
+ * @internal
127
+ * Representa um componente de middleware que também possui capacidades de roteamento.
128
+ * Usado internamente para construir estruturas de roteamento mais complexas.
129
+ */
130
+ export declare class MiddlewareRouter<Rq extends Request = Request, Rs extends Response = Response> extends RequestMiddleware<Rq, Rs> {
131
+ middleware<Req extends Request = Request, Res extends Response = Response>(callback: MiddlewareCallback<Rq & Req, Rs & Res>, doc?: MiddlewareFCDoc): MiddlewareRouter<Rq & Req, Rs & Res>;
132
+ route(path: string): Router<Rq, Rs>;
133
+ by(router: Router): this;
134
+ execute(request: Rq, response: Rs, next: NextFunction): Promise<any>;
152
135
  }
153
136
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;;;;;;GAOG;AACH,qBAAa,iBAAiB,CAAC,EAAE,SAAS,OAAO,GAAG,OAAO,EAAE,EAAE,SAAS,QAAQ,GAAG,QAAQ;IAQU,QAAQ,CAAC,MAAM,EAAE,aAAa;IAPlI,yCAAyC;IAClC,WAAW,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IAE7C;;;OAGG;gBACS,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,SAAS,EAAE,WAAW,GAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EAAO,EAAW,MAAM,GAAE,aAAgC;IAKrJ;;;;;;;OAOG;IACH,UAAU,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,iBAAiB,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC;CAI7J;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,qBAAa,gBAAgB,CAAC,EAAE,SAAS,OAAO,GAAG,OAAO,EAAE,EAAE,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC;IAC5H;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,GAAG,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,gBAAgB,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC;IAK5J;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;IAInC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;CAIxC"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import swaggerJSDoc from "swagger-jsdoc";
2
+ import { RequestHandler } from "express";
3
+ export declare const setup: (swagger: swaggerJSDoc.Options) => RequestHandler;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redocUi/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,KAAK,GAAI,SAAS,YAAY,CAAC,OAAO,KAAG,cAqErD,CAAC"}