keq 2.9.0 → 2.10.0

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.
Files changed (151) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/esm/src/constant.d.ts +2 -0
  3. package/dist/esm/src/constant.js +2 -0
  4. package/dist/esm/src/core.d.ts +30 -0
  5. package/dist/esm/src/core.js +162 -53
  6. package/dist/esm/src/exception/abort.exception.d.ts +3 -0
  7. package/dist/esm/src/exception/abort.exception.js +6 -0
  8. package/dist/esm/src/index.d.ts +1 -0
  9. package/dist/esm/src/index.js +1 -0
  10. package/dist/esm/src/is/is-abort-signal.d.ts +1 -0
  11. package/dist/esm/src/is/is-abort-signal.js +8 -0
  12. package/dist/esm/src/middlewares/fetch-arguments-middleware.js +5 -1
  13. package/dist/esm/src/middlewares/retry-middleware.js +20 -3
  14. package/dist/esm/src/middlewares/timeout-middleware.js +3 -1
  15. package/dist/esm/src/types/keq-context.d.ts +10 -1
  16. package/dist/esm/src/types/keq-context.js +1 -1
  17. package/dist/umd/src/constant.d.ts +2 -0
  18. package/dist/umd/src/constant.js +3 -1
  19. package/dist/umd/src/core.d.ts +30 -0
  20. package/dist/umd/src/core.js +162 -53
  21. package/dist/umd/src/exception/abort.exception.d.ts +3 -0
  22. package/dist/umd/src/exception/abort.exception.js +20 -0
  23. package/dist/umd/src/index.d.ts +1 -0
  24. package/dist/umd/src/index.js +4 -2
  25. package/dist/umd/src/is/is-abort-signal.d.ts +1 -0
  26. package/dist/umd/src/is/is-abort-signal.js +22 -0
  27. package/dist/umd/src/middlewares/fetch-arguments-middleware.js +4 -0
  28. package/dist/umd/src/middlewares/retry-middleware.js +21 -4
  29. package/dist/umd/src/middlewares/timeout-middleware.js +4 -2
  30. package/dist/umd/src/types/keq-context.d.ts +10 -1
  31. package/package.json +10 -13
  32. package/.claude/settings.local.json +0 -26
  33. package/packages/cache/.turbo/turbo-build.log +0 -29
  34. package/packages/cache/dist/index.d.mts +0 -354
  35. package/packages/cache/dist/index.d.mts.map +0 -1
  36. package/packages/cache/dist/index.d.ts +0 -353
  37. package/packages/cache/dist/index.d.ts.map +0 -1
  38. package/packages/cache/dist/index.js +0 -1271
  39. package/packages/cache/dist/index.js.map +0 -1
  40. package/packages/cache/dist/index.mjs +0 -1237
  41. package/packages/cache/dist/index.mjs.map +0 -1
  42. package/packages/cli/.turbo/turbo-build.log +0 -91
  43. package/packages/cli/dist/cli.cjs +0 -1364
  44. package/packages/cli/dist/cli.cjs.map +0 -1
  45. package/packages/cli/dist/cli.d.cts +0 -1
  46. package/packages/cli/dist/cli.d.mts +0 -1
  47. package/packages/cli/dist/cli.mjs +0 -1359
  48. package/packages/cli/dist/cli.mjs.map +0 -1
  49. package/packages/cli/dist/compiler-0Kli6UCr.cjs +0 -738
  50. package/packages/cli/dist/compiler-0Kli6UCr.cjs.map +0 -1
  51. package/packages/cli/dist/compiler-C3AE8j54.mjs +0 -715
  52. package/packages/cli/dist/compiler-C3AE8j54.mjs.map +0 -1
  53. package/packages/cli/dist/index.cjs +0 -20
  54. package/packages/cli/dist/index.cjs.map +0 -1
  55. package/packages/cli/dist/index.d.cts +0 -17
  56. package/packages/cli/dist/index.d.cts.map +0 -1
  57. package/packages/cli/dist/index.d.mts +0 -17
  58. package/packages/cli/dist/index.d.mts.map +0 -1
  59. package/packages/cli/dist/index.mjs +0 -10
  60. package/packages/cli/dist/index.mjs.map +0 -1
  61. package/packages/cli/dist/init-BNhD2oCI.mjs +0 -168
  62. package/packages/cli/dist/init-BNhD2oCI.mjs.map +0 -1
  63. package/packages/cli/dist/init-DqxLcRSQ.cjs +0 -170
  64. package/packages/cli/dist/init-DqxLcRSQ.cjs.map +0 -1
  65. package/packages/cli/dist/logger-D7PyVZo3.cjs +0 -46
  66. package/packages/cli/dist/logger-D7PyVZo3.cjs.map +0 -1
  67. package/packages/cli/dist/logger-QLBHySQ3.mjs +0 -12
  68. package/packages/cli/dist/logger-QLBHySQ3.mjs.map +0 -1
  69. package/packages/cli/dist/micro-function.translator-BmJZzkKh.cjs +0 -16
  70. package/packages/cli/dist/micro-function.translator-BmJZzkKh.cjs.map +0 -1
  71. package/packages/cli/dist/micro-function.translator-CDfkj4Tt.mjs +0 -11
  72. package/packages/cli/dist/micro-function.translator-CDfkj4Tt.mjs.map +0 -1
  73. package/packages/cli/dist/mock-command-Bp1LxSls.mjs +0 -350
  74. package/packages/cli/dist/mock-command-Bp1LxSls.mjs.map +0 -1
  75. package/packages/cli/dist/mock-command-WZcfy5Iq.cjs +0 -353
  76. package/packages/cli/dist/mock-command-WZcfy5Iq.cjs.map +0 -1
  77. package/packages/cli/dist/plugins-CgMhaNZq.cjs +0 -3558
  78. package/packages/cli/dist/plugins-CgMhaNZq.cjs.map +0 -1
  79. package/packages/cli/dist/plugins-DCvJ8iHR.mjs +0 -3280
  80. package/packages/cli/dist/plugins-DCvJ8iHR.mjs.map +0 -1
  81. package/packages/cli/dist/plugins.cjs +0 -36
  82. package/packages/cli/dist/plugins.d.cts +0 -2
  83. package/packages/cli/dist/plugins.d.mts +0 -2
  84. package/packages/cli/dist/plugins.mjs +0 -2
  85. package/packages/cli/dist/runtime-config-BWQlPhiB.d.cts +0 -780
  86. package/packages/cli/dist/runtime-config-BWQlPhiB.d.cts.map +0 -1
  87. package/packages/cli/dist/runtime-config-CrzK-Ucf.d.mts +0 -780
  88. package/packages/cli/dist/runtime-config-CrzK-Ucf.d.mts.map +0 -1
  89. package/packages/cli/dist/translators.cjs +0 -14
  90. package/packages/cli/dist/translators.cjs.map +0 -1
  91. package/packages/cli/dist/translators.d.cts +0 -14
  92. package/packages/cli/dist/translators.d.cts.map +0 -1
  93. package/packages/cli/dist/translators.d.mts +0 -14
  94. package/packages/cli/dist/translators.d.mts.map +0 -1
  95. package/packages/cli/dist/translators.mjs +0 -12
  96. package/packages/cli/dist/translators.mjs.map +0 -1
  97. package/packages/cli/node_modules/.bin/eslint +0 -21
  98. package/packages/cli/node_modules/.bin/jiti +0 -21
  99. package/packages/cli/node_modules/.bin/js-yaml +0 -21
  100. package/packages/cli/node_modules/.bin/jsf +0 -21
  101. package/packages/cli/node_modules/.bin/jsonpath +0 -21
  102. package/packages/cli/node_modules/.bin/jsonpath-plus +0 -21
  103. package/packages/cli/node_modules/.bin/semver +0 -21
  104. package/packages/cli/node_modules/.bin/tsc +0 -21
  105. package/packages/cli/node_modules/.bin/tsserver +0 -21
  106. package/packages/exception/.turbo/turbo-build.log +0 -29
  107. package/packages/exception/dist/index.d.mts +0 -21
  108. package/packages/exception/dist/index.d.mts.map +0 -1
  109. package/packages/exception/dist/index.d.ts +0 -21
  110. package/packages/exception/dist/index.d.ts.map +0 -1
  111. package/packages/exception/dist/index.js +0 -104
  112. package/packages/exception/dist/index.js.map +0 -1
  113. package/packages/exception/dist/index.mjs +0 -99
  114. package/packages/exception/dist/index.mjs.map +0 -1
  115. package/packages/headers/.turbo/turbo-build.log +0 -29
  116. package/packages/headers/dist/index.d.mts +0 -46
  117. package/packages/headers/dist/index.d.mts.map +0 -1
  118. package/packages/headers/dist/index.d.ts +0 -46
  119. package/packages/headers/dist/index.d.ts.map +0 -1
  120. package/packages/headers/dist/index.js +0 -81
  121. package/packages/headers/dist/index.js.map +0 -1
  122. package/packages/headers/dist/index.mjs +0 -75
  123. package/packages/headers/dist/index.mjs.map +0 -1
  124. package/packages/keq/.turbo/turbo-build.log +0 -29
  125. package/packages/keq/dist/index.d.mts +0 -962
  126. package/packages/keq/dist/index.d.mts.map +0 -1
  127. package/packages/keq/dist/index.d.ts +0 -962
  128. package/packages/keq/dist/index.d.ts.map +0 -1
  129. package/packages/keq/dist/index.js +0 -1876
  130. package/packages/keq/dist/index.js.map +0 -1
  131. package/packages/keq/dist/index.mjs +0 -1814
  132. package/packages/keq/dist/index.mjs.map +0 -1
  133. package/packages/nestjs/.turbo/turbo-build.log +0 -29
  134. package/packages/nestjs/dist/index.d.mts +0 -52
  135. package/packages/nestjs/dist/index.d.mts.map +0 -1
  136. package/packages/nestjs/dist/index.d.ts +0 -52
  137. package/packages/nestjs/dist/index.d.ts.map +0 -1
  138. package/packages/nestjs/dist/index.js +0 -166
  139. package/packages/nestjs/dist/index.js.map +0 -1
  140. package/packages/nestjs/dist/index.mjs +0 -136
  141. package/packages/nestjs/dist/index.mjs.map +0 -1
  142. package/packages/test/.turbo/turbo-build.log +0 -6
  143. package/packages/url/.turbo/turbo-build.log +0 -29
  144. package/packages/url/dist/index.d.mts +0 -9
  145. package/packages/url/dist/index.d.mts.map +0 -1
  146. package/packages/url/dist/index.d.ts +0 -9
  147. package/packages/url/dist/index.d.ts.map +0 -1
  148. package/packages/url/dist/index.js +0 -43
  149. package/packages/url/dist/index.js.map +0 -1
  150. package/packages/url/dist/index.mjs +0 -40
  151. package/packages/url/dist/index.mjs.map +0 -1
@@ -1,166 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region \0rolldown/runtime.js
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
- key = keys[i];
12
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
- get: ((k) => from[k]).bind(null, key),
14
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
- });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
20
- value: mod,
21
- enumerable: true
22
- }) : target, mod));
23
- //#endregion
24
- let _nestjs_common = require("@nestjs/common");
25
- let _nestjs_core = require("@nestjs/core");
26
- let keq = require("keq");
27
- let picomatch = require("picomatch");
28
- picomatch = __toESM(picomatch);
29
- //#region src/constants.ts
30
- const KEQ_ROUTES = { ALL: Symbol("KEQ_ROUTES.ALL") };
31
- //#endregion
32
- //#region src/keq-middleware-consumer.ts
33
- var KeqMiddlewareConsumerImpl = class {
34
- entries = [];
35
- apply(...middlewares) {
36
- const entry = {
37
- middlewares,
38
- routes: []
39
- };
40
- this.entries.push(entry);
41
- return { forRoutes: (...routes) => {
42
- entry.routes = routes;
43
- return this;
44
- } };
45
- }
46
- applyTo(keqRequest, moduleRef) {
47
- for (const entry of this.entries) {
48
- const resolved = entry.middlewares.map((m) => this.resolveMiddleware(m, moduleRef));
49
- if (entry.routes.length === 0 || entry.routes.some((r) => r === KEQ_ROUTES.ALL)) for (const mw of resolved) keqRequest.use(mw);
50
- else for (const routeTarget of entry.routes) {
51
- if (routeTarget === KEQ_ROUTES.ALL) continue;
52
- if (this.isKeqModuleClass(routeTarget)) {
53
- const targetRequest = moduleRef.get(routeTarget.KEQ_REQUEST, { strict: false });
54
- if (targetRequest) for (const mw of resolved) targetRequest.use(mw);
55
- } else {
56
- const route = this.buildRoute(routeTarget);
57
- keqRequest.useRouter().route(route, resolved);
58
- }
59
- }
60
- }
61
- }
62
- isKeqModuleClass(route) {
63
- return typeof route === "function" && "KEQ_REQUEST" in route && typeof route.KEQ_REQUEST === "symbol";
64
- }
65
- isNestMiddlewareClass(m) {
66
- return typeof m === "function" && m.prototype !== void 0 && "use" in m.prototype;
67
- }
68
- resolveMiddleware(m, moduleRef) {
69
- if (this.isNestMiddlewareClass(m)) {
70
- const instance = moduleRef.get(m, { strict: false });
71
- return async (ctx, next) => {
72
- await instance.use(ctx, next);
73
- };
74
- }
75
- return m;
76
- }
77
- buildRoute(info) {
78
- const routes = [];
79
- if (info.host) {
80
- const host = info.host;
81
- routes.push((ctx) => ctx.request.url.host === host);
82
- }
83
- if (info.method) {
84
- const method = info.method.toLowerCase();
85
- routes.push((ctx) => ctx.request.method.toLowerCase() === method);
86
- }
87
- if (info.pathname) {
88
- const isMatch = (0, picomatch.default)(info.pathname);
89
- routes.push((ctx) => isMatch(ctx.request.url.pathname));
90
- }
91
- if (routes.length === 1) return routes[0];
92
- return (0, keq.composeRoute)(routes);
93
- }
94
- };
95
- //#endregion
96
- //#region src/utils/has-configure-keq-middleware.ts
97
- function hasConfigureKeqMiddleware(instance) {
98
- return instance !== null && instance !== void 0 && typeof instance.configureKeqMiddleware === "function";
99
- }
100
- //#endregion
101
- //#region \0@oxc-project+runtime@0.127.0/helpers/decorateMetadata.js
102
- function __decorateMetadata(k, v) {
103
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
104
- }
105
- //#endregion
106
- //#region \0@oxc-project+runtime@0.127.0/helpers/decorateParam.js
107
- function __decorateParam(paramIndex, decorator) {
108
- return function(target, key) {
109
- decorator(target, key, paramIndex);
110
- };
111
- }
112
- //#endregion
113
- //#region \0@oxc-project+runtime@0.127.0/helpers/decorate.js
114
- function __decorate(decorators, target, key, desc) {
115
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
116
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
117
- 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;
118
- return c > 3 && r && Object.defineProperty(target, key, r), r;
119
- }
120
- //#endregion
121
- //#region src/keq.module.ts
122
- var _ref, _ref2, _ref3;
123
- let KeqModule = class KeqModule {
124
- constructor(modulesContainer, moduleRef, keqRequest) {
125
- this.modulesContainer = modulesContainer;
126
- this.moduleRef = moduleRef;
127
- this.keqRequest = keqRequest;
128
- }
129
- onModuleInit() {
130
- for (const [, moduleWrapper] of this.modulesContainer) {
131
- const instance = moduleWrapper.instance;
132
- if (hasConfigureKeqMiddleware(instance)) {
133
- const consumer = new KeqMiddlewareConsumerImpl();
134
- instance.configureKeqMiddleware(consumer);
135
- consumer.applyTo(this.keqRequest, this.moduleRef);
136
- }
137
- }
138
- }
139
- };
140
- KeqModule = __decorate([
141
- (0, _nestjs_common.Global)(),
142
- (0, _nestjs_common.Module)({
143
- providers: [{
144
- provide: keq.KeqRequest,
145
- useFactory: () => new keq.KeqRequest()
146
- }],
147
- exports: [keq.KeqRequest]
148
- }),
149
- __decorateParam(0, (0, _nestjs_common.Inject)(_nestjs_core.ModulesContainer)),
150
- __decorateParam(1, (0, _nestjs_common.Inject)(_nestjs_core.ModuleRef)),
151
- __decorateMetadata("design:paramtypes", [
152
- typeof (_ref = typeof _nestjs_core.ModulesContainer !== "undefined" && _nestjs_core.ModulesContainer) === "function" ? _ref : Object,
153
- typeof (_ref2 = typeof _nestjs_core.ModuleRef !== "undefined" && _nestjs_core.ModuleRef) === "function" ? _ref2 : Object,
154
- typeof (_ref3 = typeof keq.KeqRequest !== "undefined" && keq.KeqRequest) === "function" ? _ref3 : Object
155
- ])
156
- ], KeqModule);
157
- //#endregion
158
- exports.KEQ_ROUTES = KEQ_ROUTES;
159
- Object.defineProperty(exports, "KeqModule", {
160
- enumerable: true,
161
- get: function() {
162
- return KeqModule;
163
- }
164
- });
165
-
166
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["KeqRequest","ModulesContainer","ModuleRef"],"sources":["../src/constants.ts","../src/keq-middleware-consumer.ts","../src/utils/has-configure-keq-middleware.ts","../src/keq.module.ts"],"sourcesContent":["export const KEQ_ROUTES = {\n ALL: Symbol('KEQ_ROUTES.ALL'),\n} as const\n","import type { Type } from '@nestjs/common'\nimport type { ModuleRef } from '@nestjs/core'\nimport type { KeqMiddleware, KeqRoute } from 'keq'\nimport { composeRoute, KeqRequest } from 'keq'\nimport picomatch from 'picomatch'\nimport { KEQ_ROUTES } from './constants.js'\nimport type { KeqMiddlewareConfigProxy, KeqMiddlewareConsumer, KeqModuleClass, KeqRouteInfo } from './interfaces/keq-middleware-consumer.interface.js'\nimport type { KeqNestMiddleware } from './interfaces/keq-nest-middleware.interface.js'\n\n\ninterface MiddlewareEntry {\n middlewares: Array<Type<KeqNestMiddleware> | KeqMiddleware>\n routes: Array<typeof KEQ_ROUTES.ALL | KeqRouteInfo | KeqModuleClass>\n}\n\nexport class KeqMiddlewareConsumerImpl implements KeqMiddlewareConsumer {\n private entries: MiddlewareEntry[] = []\n\n apply(...middlewares: Array<Type<KeqNestMiddleware> | KeqMiddleware>): KeqMiddlewareConfigProxy {\n const entry: MiddlewareEntry = { middlewares, routes: [] }\n this.entries.push(entry)\n return {\n forRoutes: (...routes) => {\n entry.routes = routes\n return this\n },\n }\n }\n\n applyTo(keqRequest: KeqRequest, moduleRef: ModuleRef): void {\n for (const entry of this.entries) {\n const resolved = entry.middlewares.map((m) => this.resolveMiddleware(m, moduleRef))\n const isGlobal = entry.routes.length === 0\n || entry.routes.some((r) => r === KEQ_ROUTES.ALL)\n\n if (isGlobal) {\n for (const mw of resolved) keqRequest.use(mw)\n } else {\n for (const routeTarget of entry.routes) {\n if (routeTarget === KEQ_ROUTES.ALL) continue\n\n if (this.isKeqModuleClass(routeTarget)) {\n const targetRequest = moduleRef.get<KeqRequest>(routeTarget.KEQ_REQUEST, { strict: false })\n if (targetRequest) {\n for (const mw of resolved) targetRequest.use(mw)\n }\n } else {\n const route = this.buildRoute(routeTarget as KeqRouteInfo)\n keqRequest.useRouter().route(route, resolved)\n }\n }\n }\n }\n }\n\n private isKeqModuleClass(route: unknown): route is KeqModuleClass {\n return (\n typeof route === 'function'\n && 'KEQ_REQUEST' in route\n && typeof (route as Record<string, unknown>).KEQ_REQUEST === 'symbol'\n )\n }\n\n private isNestMiddlewareClass(m: Type<KeqNestMiddleware> | KeqMiddleware): m is Type<KeqNestMiddleware> {\n return typeof m === 'function' && m.prototype !== undefined && 'use' in m.prototype\n }\n\n private resolveMiddleware(m: Type<KeqNestMiddleware> | KeqMiddleware, moduleRef: ModuleRef): KeqMiddleware {\n if (this.isNestMiddlewareClass(m)) {\n const instance = moduleRef.get<KeqNestMiddleware>(m, { strict: false })\n return async (ctx, next) => {\n await instance.use(ctx, next)\n }\n }\n return m\n }\n\n private buildRoute(info: KeqRouteInfo): KeqRoute {\n const routes: KeqRoute[] = []\n if (info.host) {\n const host = info.host\n routes.push((ctx) => ctx.request.url.host === host)\n }\n if (info.method) {\n const method = info.method.toLowerCase()\n routes.push((ctx) => ctx.request.method.toLowerCase() === method)\n }\n if (info.pathname) {\n const isMatch: (test: string) => boolean = picomatch(info.pathname)\n routes.push((ctx) => isMatch(ctx.request.url.pathname))\n }\n if (routes.length === 1) return routes[0]\n return composeRoute(routes)\n }\n}\n","import type { KeqMiddlewareModule } from '../interfaces/keq-middleware-module.interface.js'\n\n\nexport function hasConfigureKeqMiddleware(instance: unknown): instance is KeqMiddlewareModule {\n return (\n instance !== null\n && instance !== undefined\n && typeof (instance as Record<string, unknown>).configureKeqMiddleware === 'function'\n )\n}\n","import { Global, Inject, Module, OnModuleInit } from '@nestjs/common'\nimport { ModulesContainer, ModuleRef } from '@nestjs/core'\nimport { KeqRequest } from 'keq'\nimport { KeqMiddlewareConsumerImpl } from './keq-middleware-consumer.js'\nimport { hasConfigureKeqMiddleware } from './utils/has-configure-keq-middleware.js'\n\n\n@Global()\n@Module({\n providers: [{ provide: KeqRequest, useFactory: () => new KeqRequest() }],\n exports: [KeqRequest],\n})\nexport class KeqModule implements OnModuleInit {\n constructor(\n @Inject(ModulesContainer) private readonly modulesContainer: ModulesContainer,\n @Inject(ModuleRef) private readonly moduleRef: ModuleRef,\n private readonly keqRequest: KeqRequest,\n ) {}\n\n onModuleInit(): void {\n for (const [, moduleWrapper] of this.modulesContainer) {\n const instance = moduleWrapper.instance\n if (hasConfigureKeqMiddleware(instance)) {\n const consumer = new KeqMiddlewareConsumerImpl()\n instance.configureKeqMiddleware(consumer)\n consumer.applyTo(this.keqRequest, this.moduleRef)\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,136 +0,0 @@
1
- import { Global, Inject, Module } from "@nestjs/common";
2
- import { ModuleRef, ModulesContainer } from "@nestjs/core";
3
- import { KeqRequest, composeRoute } from "keq";
4
- import picomatch from "picomatch";
5
- //#region src/constants.ts
6
- const KEQ_ROUTES = { ALL: Symbol("KEQ_ROUTES.ALL") };
7
- //#endregion
8
- //#region src/keq-middleware-consumer.ts
9
- var KeqMiddlewareConsumerImpl = class {
10
- entries = [];
11
- apply(...middlewares) {
12
- const entry = {
13
- middlewares,
14
- routes: []
15
- };
16
- this.entries.push(entry);
17
- return { forRoutes: (...routes) => {
18
- entry.routes = routes;
19
- return this;
20
- } };
21
- }
22
- applyTo(keqRequest, moduleRef) {
23
- for (const entry of this.entries) {
24
- const resolved = entry.middlewares.map((m) => this.resolveMiddleware(m, moduleRef));
25
- if (entry.routes.length === 0 || entry.routes.some((r) => r === KEQ_ROUTES.ALL)) for (const mw of resolved) keqRequest.use(mw);
26
- else for (const routeTarget of entry.routes) {
27
- if (routeTarget === KEQ_ROUTES.ALL) continue;
28
- if (this.isKeqModuleClass(routeTarget)) {
29
- const targetRequest = moduleRef.get(routeTarget.KEQ_REQUEST, { strict: false });
30
- if (targetRequest) for (const mw of resolved) targetRequest.use(mw);
31
- } else {
32
- const route = this.buildRoute(routeTarget);
33
- keqRequest.useRouter().route(route, resolved);
34
- }
35
- }
36
- }
37
- }
38
- isKeqModuleClass(route) {
39
- return typeof route === "function" && "KEQ_REQUEST" in route && typeof route.KEQ_REQUEST === "symbol";
40
- }
41
- isNestMiddlewareClass(m) {
42
- return typeof m === "function" && m.prototype !== void 0 && "use" in m.prototype;
43
- }
44
- resolveMiddleware(m, moduleRef) {
45
- if (this.isNestMiddlewareClass(m)) {
46
- const instance = moduleRef.get(m, { strict: false });
47
- return async (ctx, next) => {
48
- await instance.use(ctx, next);
49
- };
50
- }
51
- return m;
52
- }
53
- buildRoute(info) {
54
- const routes = [];
55
- if (info.host) {
56
- const host = info.host;
57
- routes.push((ctx) => ctx.request.url.host === host);
58
- }
59
- if (info.method) {
60
- const method = info.method.toLowerCase();
61
- routes.push((ctx) => ctx.request.method.toLowerCase() === method);
62
- }
63
- if (info.pathname) {
64
- const isMatch = picomatch(info.pathname);
65
- routes.push((ctx) => isMatch(ctx.request.url.pathname));
66
- }
67
- if (routes.length === 1) return routes[0];
68
- return composeRoute(routes);
69
- }
70
- };
71
- //#endregion
72
- //#region src/utils/has-configure-keq-middleware.ts
73
- function hasConfigureKeqMiddleware(instance) {
74
- return instance !== null && instance !== void 0 && typeof instance.configureKeqMiddleware === "function";
75
- }
76
- //#endregion
77
- //#region \0@oxc-project+runtime@0.127.0/helpers/decorateMetadata.js
78
- function __decorateMetadata(k, v) {
79
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
80
- }
81
- //#endregion
82
- //#region \0@oxc-project+runtime@0.127.0/helpers/decorateParam.js
83
- function __decorateParam(paramIndex, decorator) {
84
- return function(target, key) {
85
- decorator(target, key, paramIndex);
86
- };
87
- }
88
- //#endregion
89
- //#region \0@oxc-project+runtime@0.127.0/helpers/decorate.js
90
- function __decorate(decorators, target, key, desc) {
91
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
92
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
93
- 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;
94
- return c > 3 && r && Object.defineProperty(target, key, r), r;
95
- }
96
- //#endregion
97
- //#region src/keq.module.ts
98
- var _ref, _ref2, _ref3;
99
- let KeqModule = class KeqModule {
100
- constructor(modulesContainer, moduleRef, keqRequest) {
101
- this.modulesContainer = modulesContainer;
102
- this.moduleRef = moduleRef;
103
- this.keqRequest = keqRequest;
104
- }
105
- onModuleInit() {
106
- for (const [, moduleWrapper] of this.modulesContainer) {
107
- const instance = moduleWrapper.instance;
108
- if (hasConfigureKeqMiddleware(instance)) {
109
- const consumer = new KeqMiddlewareConsumerImpl();
110
- instance.configureKeqMiddleware(consumer);
111
- consumer.applyTo(this.keqRequest, this.moduleRef);
112
- }
113
- }
114
- }
115
- };
116
- KeqModule = __decorate([
117
- Global(),
118
- Module({
119
- providers: [{
120
- provide: KeqRequest,
121
- useFactory: () => new KeqRequest()
122
- }],
123
- exports: [KeqRequest]
124
- }),
125
- __decorateParam(0, Inject(ModulesContainer)),
126
- __decorateParam(1, Inject(ModuleRef)),
127
- __decorateMetadata("design:paramtypes", [
128
- typeof (_ref = typeof ModulesContainer !== "undefined" && ModulesContainer) === "function" ? _ref : Object,
129
- typeof (_ref2 = typeof ModuleRef !== "undefined" && ModuleRef) === "function" ? _ref2 : Object,
130
- typeof (_ref3 = typeof KeqRequest !== "undefined" && KeqRequest) === "function" ? _ref3 : Object
131
- ])
132
- ], KeqModule);
133
- //#endregion
134
- export { KEQ_ROUTES, KeqModule };
135
-
136
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/constants.ts","../src/keq-middleware-consumer.ts","../src/utils/has-configure-keq-middleware.ts","../src/keq.module.ts"],"sourcesContent":["export const KEQ_ROUTES = {\n ALL: Symbol('KEQ_ROUTES.ALL'),\n} as const\n","import type { Type } from '@nestjs/common'\nimport type { ModuleRef } from '@nestjs/core'\nimport type { KeqMiddleware, KeqRoute } from 'keq'\nimport { composeRoute, KeqRequest } from 'keq'\nimport picomatch from 'picomatch'\nimport { KEQ_ROUTES } from './constants.js'\nimport type { KeqMiddlewareConfigProxy, KeqMiddlewareConsumer, KeqModuleClass, KeqRouteInfo } from './interfaces/keq-middleware-consumer.interface.js'\nimport type { KeqNestMiddleware } from './interfaces/keq-nest-middleware.interface.js'\n\n\ninterface MiddlewareEntry {\n middlewares: Array<Type<KeqNestMiddleware> | KeqMiddleware>\n routes: Array<typeof KEQ_ROUTES.ALL | KeqRouteInfo | KeqModuleClass>\n}\n\nexport class KeqMiddlewareConsumerImpl implements KeqMiddlewareConsumer {\n private entries: MiddlewareEntry[] = []\n\n apply(...middlewares: Array<Type<KeqNestMiddleware> | KeqMiddleware>): KeqMiddlewareConfigProxy {\n const entry: MiddlewareEntry = { middlewares, routes: [] }\n this.entries.push(entry)\n return {\n forRoutes: (...routes) => {\n entry.routes = routes\n return this\n },\n }\n }\n\n applyTo(keqRequest: KeqRequest, moduleRef: ModuleRef): void {\n for (const entry of this.entries) {\n const resolved = entry.middlewares.map((m) => this.resolveMiddleware(m, moduleRef))\n const isGlobal = entry.routes.length === 0\n || entry.routes.some((r) => r === KEQ_ROUTES.ALL)\n\n if (isGlobal) {\n for (const mw of resolved) keqRequest.use(mw)\n } else {\n for (const routeTarget of entry.routes) {\n if (routeTarget === KEQ_ROUTES.ALL) continue\n\n if (this.isKeqModuleClass(routeTarget)) {\n const targetRequest = moduleRef.get<KeqRequest>(routeTarget.KEQ_REQUEST, { strict: false })\n if (targetRequest) {\n for (const mw of resolved) targetRequest.use(mw)\n }\n } else {\n const route = this.buildRoute(routeTarget as KeqRouteInfo)\n keqRequest.useRouter().route(route, resolved)\n }\n }\n }\n }\n }\n\n private isKeqModuleClass(route: unknown): route is KeqModuleClass {\n return (\n typeof route === 'function'\n && 'KEQ_REQUEST' in route\n && typeof (route as Record<string, unknown>).KEQ_REQUEST === 'symbol'\n )\n }\n\n private isNestMiddlewareClass(m: Type<KeqNestMiddleware> | KeqMiddleware): m is Type<KeqNestMiddleware> {\n return typeof m === 'function' && m.prototype !== undefined && 'use' in m.prototype\n }\n\n private resolveMiddleware(m: Type<KeqNestMiddleware> | KeqMiddleware, moduleRef: ModuleRef): KeqMiddleware {\n if (this.isNestMiddlewareClass(m)) {\n const instance = moduleRef.get<KeqNestMiddleware>(m, { strict: false })\n return async (ctx, next) => {\n await instance.use(ctx, next)\n }\n }\n return m\n }\n\n private buildRoute(info: KeqRouteInfo): KeqRoute {\n const routes: KeqRoute[] = []\n if (info.host) {\n const host = info.host\n routes.push((ctx) => ctx.request.url.host === host)\n }\n if (info.method) {\n const method = info.method.toLowerCase()\n routes.push((ctx) => ctx.request.method.toLowerCase() === method)\n }\n if (info.pathname) {\n const isMatch: (test: string) => boolean = picomatch(info.pathname)\n routes.push((ctx) => isMatch(ctx.request.url.pathname))\n }\n if (routes.length === 1) return routes[0]\n return composeRoute(routes)\n }\n}\n","import type { KeqMiddlewareModule } from '../interfaces/keq-middleware-module.interface.js'\n\n\nexport function hasConfigureKeqMiddleware(instance: unknown): instance is KeqMiddlewareModule {\n return (\n instance !== null\n && instance !== undefined\n && typeof (instance as Record<string, unknown>).configureKeqMiddleware === 'function'\n )\n}\n","import { Global, Inject, Module, OnModuleInit } from '@nestjs/common'\nimport { ModulesContainer, ModuleRef } from '@nestjs/core'\nimport { KeqRequest } from 'keq'\nimport { KeqMiddlewareConsumerImpl } from './keq-middleware-consumer.js'\nimport { hasConfigureKeqMiddleware } from './utils/has-configure-keq-middleware.js'\n\n\n@Global()\n@Module({\n providers: [{ provide: KeqRequest, useFactory: () => new KeqRequest() }],\n exports: [KeqRequest],\n})\nexport class KeqModule implements OnModuleInit {\n constructor(\n @Inject(ModulesContainer) private readonly modulesContainer: ModulesContainer,\n @Inject(ModuleRef) private readonly moduleRef: ModuleRef,\n private readonly keqRequest: KeqRequest,\n ) {}\n\n onModuleInit(): void {\n for (const [, moduleWrapper] of this.modulesContainer) {\n const instance = moduleWrapper.instance\n if (hasConfigureKeqMiddleware(instance)) {\n const consumer = new KeqMiddlewareConsumerImpl()\n instance.configureKeqMiddleware(consumer)\n consumer.applyTo(this.keqRequest, this.moduleRef)\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
-
2
- 
3
- > @keq-request/test@5.0.0-beta.10 build /Users/10009313/Shein/workspace/@keq/keq/packages/test
4
- > echo 'No build step required for test package'
5
-
6
- No build step required for test package
@@ -1,29 +0,0 @@
1
-
2
- 
3
- > @keq-request/url@5.0.0-beta.10 build /Users/10009313/Shein/workspace/@keq/keq/packages/url
4
- > tsdown
5
-
6
- ℹ tsdown v0.21.10 powered by rolldown v1.0.0-rc.17
7
- ℹ config file: /Users/10009313/Shein/workspace/@keq/keq/packages/url/tsdown.config.ts
8
- (node:38127) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///Users/10009313/Shein/workspace/@keq/keq/packages/url/tsdown.config.ts?no-cache=187ee497-e98e-4394-9f80-ef813e44d91a is not specified and it doesn't parse as CommonJS.
9
- Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
10
- To eliminate this warning, add "type": "module" to /Users/10009313/Shein/workspace/@keq/keq/packages/url/package.json.
11
- (Use `node --trace-warnings ...` to show where the warning was created)
12
- ℹ entry: src/index.ts
13
- ℹ targets: chrome91, firefox90, safari15, edge91, node20
14
- ℹ tsconfig: tsconfig.lib.json
15
- ℹ Build start
16
- ℹ Cleaning 8 files
17
- ℹ [CJS] dist/index.js 1.31 kB │ gzip: 0.47 kB
18
- ℹ [CJS] dist/index.js.map 2.78 kB │ gzip: 0.83 kB
19
- ℹ [CJS] 2 files, total: 4.09 kB
20
- ℹ [ESM] dist/index.mjs 1.19 kB │ gzip: 0.40 kB
21
- ℹ [ESM] dist/index.mjs.map 2.78 kB │ gzip: 0.83 kB
22
- ℹ [ESM] dist/index.d.mts.map 0.20 kB │ gzip: 0.16 kB
23
- ℹ [ESM] dist/index.d.mts 0.33 kB │ gzip: 0.19 kB
24
- ℹ [ESM] 4 files, total: 4.49 kB
25
- ✔ Build complete in 1238ms
26
- ℹ [CJS] dist/index.d.ts.map 0.20 kB │ gzip: 0.16 kB
27
- ℹ [CJS] dist/index.d.ts 0.33 kB │ gzip: 0.19 kB
28
- ℹ [CJS] 2 files, total: 0.53 kB
29
- ✔ Build complete in 1240ms
@@ -1,9 +0,0 @@
1
- import { KeqMiddleware } from "keq";
2
-
3
- //#region src/index.d.ts
4
- declare function setBaseUrl(base: string): KeqMiddleware;
5
- declare function setOrigin(origin: string): KeqMiddleware;
6
- declare function setHost(host: string): KeqMiddleware;
7
- //#endregion
8
- export { setBaseUrl, setHost, setOrigin };
9
- //# sourceMappingURL=index.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;iBAGgB,UAAA,CAAW,IAAA,WAAe,aAAA;AAAA,iBA+B1B,SAAA,CAAU,MAAA,WAAiB,aAAA;AAAA,iBAkB3B,OAAA,CAAQ,IAAA,WAAe,aAAA"}
@@ -1,9 +0,0 @@
1
- import { KeqMiddleware } from "keq";
2
-
3
- //#region src/index.d.ts
4
- declare function setBaseUrl(base: string): KeqMiddleware;
5
- declare function setOrigin(origin: string): KeqMiddleware;
6
- declare function setHost(host: string): KeqMiddleware;
7
- //#endregion
8
- export { setBaseUrl, setHost, setOrigin };
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/index.ts"],"mappings":";;;iBAGgB,UAAA,CAAW,IAAA,WAAe,aAAA;AAAA,iBA+B1B,SAAA,CAAU,MAAA,WAAiB,aAAA;AAAA,iBAkB3B,OAAA,CAAQ,IAAA,WAAe,aAAA"}
@@ -1,43 +0,0 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region src/index.ts
3
- function setBaseUrl(base) {
4
- if (!base.startsWith("//") && base.startsWith("/")) {
5
- const prefix = base.replace(/\/$/, "");
6
- return async function setBaseUrl(ctx, next) {
7
- ctx.request.url.pathname = `${prefix}/${ctx.request.url.pathname.replace(/^\//, "")}`;
8
- await next();
9
- };
10
- }
11
- const url = new URL(base);
12
- const protocol = url.protocol;
13
- const host = url.host;
14
- const prefix = url.pathname.replace(/\/$/, "");
15
- return async function setBaseUrl(ctx, next) {
16
- ctx.request.url.protocol = protocol;
17
- ctx.request.url.host = host;
18
- ctx.request.url.pathname = `${prefix}/${ctx.request.url.pathname.replace(/^\//, "")}`;
19
- if (url.port) ctx.request.url.port = url.port;
20
- await next();
21
- };
22
- }
23
- function setOrigin(origin) {
24
- const url = new URL(origin);
25
- return async function setOrigin(ctx, next) {
26
- ctx.request.url.host = url.host;
27
- ctx.request.url.protocol = url.protocol;
28
- if (url.port) ctx.request.url.port = url.port;
29
- await next();
30
- };
31
- }
32
- function setHost(host) {
33
- return async function setHost(ctx, next) {
34
- ctx.request.url.host = host;
35
- await next();
36
- };
37
- }
38
- //#endregion
39
- exports.setBaseUrl = setBaseUrl;
40
- exports.setHost = setHost;
41
- exports.setOrigin = setOrigin;
42
-
43
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import { KeqMiddleware } from 'keq'\n\n\nexport function setBaseUrl(base: string): KeqMiddleware {\n if (!base.startsWith('//') && base.startsWith('/')) {\n const prefix = base.replace(/\\/$/, '')\n\n return async function setBaseUrl(ctx, next) {\n ctx.request.url.pathname = `${prefix}/${ctx.request.url.pathname.replace(/^\\//, '')}`\n await next()\n }\n }\n\n const url = new URL(base)\n const protocol = url.protocol\n const host = url.host\n const prefix = url.pathname.replace(/\\/$/, '')\n\n return async function setBaseUrl(ctx, next) {\n ctx.request.url.protocol = protocol\n ctx.request.url.host = host\n ctx.request.url.pathname = `${prefix}/${ctx.request.url.pathname.replace(/^\\//, '')}`\n\n // Fix bug in chrome@74 bug:\n // url.port will return `\"\"` if the base url not contain port.\n // And when ctx.response.url.port is set to `\"\"`, `null` or `undefined`, it will return `:0` in ctx.response.url.href\n if (url.port) {\n ctx.request.url.port = url.port\n }\n\n await next()\n }\n}\n\nexport function setOrigin(origin: string): KeqMiddleware {\n const url = new URL(origin)\n\n return async function setOrigin(ctx, next) {\n ctx.request.url.host = url.host\n ctx.request.url.protocol = url.protocol\n\n // Fix bug in chrome@74 bug:\n // url.port will return `\"\"` if the base url not contain port.\n // And when ctx.response.url.port is set to `\"\"`, `null` or `undefined`, it will return `:0` in ctx.response.url.href\n if (url.port) {\n ctx.request.url.port = url.port\n }\n\n await next()\n }\n}\n\nexport function setHost(host: string): KeqMiddleware {\n return async function setHost(ctx, next) {\n ctx.request.url.host = host\n await next()\n }\n}\n"],"mappings":";;AAGA,SAAgB,WAAW,MAA6B;AACtD,KAAI,CAAC,KAAK,WAAW,KAAK,IAAI,KAAK,WAAW,IAAI,EAAE;EAClD,MAAM,SAAS,KAAK,QAAQ,OAAO,GAAG;AAEtC,SAAO,eAAe,WAAW,KAAK,MAAM;AAC1C,OAAI,QAAQ,IAAI,WAAW,GAAG,OAAO,GAAG,IAAI,QAAQ,IAAI,SAAS,QAAQ,OAAO,GAAG;AACnF,SAAM,MAAM;;;CAIhB,MAAM,MAAM,IAAI,IAAI,KAAK;CACzB,MAAM,WAAW,IAAI;CACrB,MAAM,OAAO,IAAI;CACjB,MAAM,SAAS,IAAI,SAAS,QAAQ,OAAO,GAAG;AAE9C,QAAO,eAAe,WAAW,KAAK,MAAM;AAC1C,MAAI,QAAQ,IAAI,WAAW;AAC3B,MAAI,QAAQ,IAAI,OAAO;AACvB,MAAI,QAAQ,IAAI,WAAW,GAAG,OAAO,GAAG,IAAI,QAAQ,IAAI,SAAS,QAAQ,OAAO,GAAG;AAKnF,MAAI,IAAI,KACN,KAAI,QAAQ,IAAI,OAAO,IAAI;AAG7B,QAAM,MAAM;;;AAIhB,SAAgB,UAAU,QAA+B;CACvD,MAAM,MAAM,IAAI,IAAI,OAAO;AAE3B,QAAO,eAAe,UAAU,KAAK,MAAM;AACzC,MAAI,QAAQ,IAAI,OAAO,IAAI;AAC3B,MAAI,QAAQ,IAAI,WAAW,IAAI;AAK/B,MAAI,IAAI,KACN,KAAI,QAAQ,IAAI,OAAO,IAAI;AAG7B,QAAM,MAAM;;;AAIhB,SAAgB,QAAQ,MAA6B;AACnD,QAAO,eAAe,QAAQ,KAAK,MAAM;AACvC,MAAI,QAAQ,IAAI,OAAO;AACvB,QAAM,MAAM"}
@@ -1,40 +0,0 @@
1
- //#region src/index.ts
2
- function setBaseUrl(base) {
3
- if (!base.startsWith("//") && base.startsWith("/")) {
4
- const prefix = base.replace(/\/$/, "");
5
- return async function setBaseUrl(ctx, next) {
6
- ctx.request.url.pathname = `${prefix}/${ctx.request.url.pathname.replace(/^\//, "")}`;
7
- await next();
8
- };
9
- }
10
- const url = new URL(base);
11
- const protocol = url.protocol;
12
- const host = url.host;
13
- const prefix = url.pathname.replace(/\/$/, "");
14
- return async function setBaseUrl(ctx, next) {
15
- ctx.request.url.protocol = protocol;
16
- ctx.request.url.host = host;
17
- ctx.request.url.pathname = `${prefix}/${ctx.request.url.pathname.replace(/^\//, "")}`;
18
- if (url.port) ctx.request.url.port = url.port;
19
- await next();
20
- };
21
- }
22
- function setOrigin(origin) {
23
- const url = new URL(origin);
24
- return async function setOrigin(ctx, next) {
25
- ctx.request.url.host = url.host;
26
- ctx.request.url.protocol = url.protocol;
27
- if (url.port) ctx.request.url.port = url.port;
28
- await next();
29
- };
30
- }
31
- function setHost(host) {
32
- return async function setHost(ctx, next) {
33
- ctx.request.url.host = host;
34
- await next();
35
- };
36
- }
37
- //#endregion
38
- export { setBaseUrl, setHost, setOrigin };
39
-
40
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["import { KeqMiddleware } from 'keq'\n\n\nexport function setBaseUrl(base: string): KeqMiddleware {\n if (!base.startsWith('//') && base.startsWith('/')) {\n const prefix = base.replace(/\\/$/, '')\n\n return async function setBaseUrl(ctx, next) {\n ctx.request.url.pathname = `${prefix}/${ctx.request.url.pathname.replace(/^\\//, '')}`\n await next()\n }\n }\n\n const url = new URL(base)\n const protocol = url.protocol\n const host = url.host\n const prefix = url.pathname.replace(/\\/$/, '')\n\n return async function setBaseUrl(ctx, next) {\n ctx.request.url.protocol = protocol\n ctx.request.url.host = host\n ctx.request.url.pathname = `${prefix}/${ctx.request.url.pathname.replace(/^\\//, '')}`\n\n // Fix bug in chrome@74 bug:\n // url.port will return `\"\"` if the base url not contain port.\n // And when ctx.response.url.port is set to `\"\"`, `null` or `undefined`, it will return `:0` in ctx.response.url.href\n if (url.port) {\n ctx.request.url.port = url.port\n }\n\n await next()\n }\n}\n\nexport function setOrigin(origin: string): KeqMiddleware {\n const url = new URL(origin)\n\n return async function setOrigin(ctx, next) {\n ctx.request.url.host = url.host\n ctx.request.url.protocol = url.protocol\n\n // Fix bug in chrome@74 bug:\n // url.port will return `\"\"` if the base url not contain port.\n // And when ctx.response.url.port is set to `\"\"`, `null` or `undefined`, it will return `:0` in ctx.response.url.href\n if (url.port) {\n ctx.request.url.port = url.port\n }\n\n await next()\n }\n}\n\nexport function setHost(host: string): KeqMiddleware {\n return async function setHost(ctx, next) {\n ctx.request.url.host = host\n await next()\n }\n}\n"],"mappings":";AAGA,SAAgB,WAAW,MAA6B;AACtD,KAAI,CAAC,KAAK,WAAW,KAAK,IAAI,KAAK,WAAW,IAAI,EAAE;EAClD,MAAM,SAAS,KAAK,QAAQ,OAAO,GAAG;AAEtC,SAAO,eAAe,WAAW,KAAK,MAAM;AAC1C,OAAI,QAAQ,IAAI,WAAW,GAAG,OAAO,GAAG,IAAI,QAAQ,IAAI,SAAS,QAAQ,OAAO,GAAG;AACnF,SAAM,MAAM;;;CAIhB,MAAM,MAAM,IAAI,IAAI,KAAK;CACzB,MAAM,WAAW,IAAI;CACrB,MAAM,OAAO,IAAI;CACjB,MAAM,SAAS,IAAI,SAAS,QAAQ,OAAO,GAAG;AAE9C,QAAO,eAAe,WAAW,KAAK,MAAM;AAC1C,MAAI,QAAQ,IAAI,WAAW;AAC3B,MAAI,QAAQ,IAAI,OAAO;AACvB,MAAI,QAAQ,IAAI,WAAW,GAAG,OAAO,GAAG,IAAI,QAAQ,IAAI,SAAS,QAAQ,OAAO,GAAG;AAKnF,MAAI,IAAI,KACN,KAAI,QAAQ,IAAI,OAAO,IAAI;AAG7B,QAAM,MAAM;;;AAIhB,SAAgB,UAAU,QAA+B;CACvD,MAAM,MAAM,IAAI,IAAI,OAAO;AAE3B,QAAO,eAAe,UAAU,KAAK,MAAM;AACzC,MAAI,QAAQ,IAAI,OAAO,IAAI;AAC3B,MAAI,QAAQ,IAAI,WAAW,IAAI;AAK/B,MAAI,IAAI,KACN,KAAI,QAAQ,IAAI,OAAO,IAAI;AAG7B,QAAM,MAAM;;;AAIhB,SAAgB,QAAQ,MAA6B;AACnD,QAAO,eAAe,QAAQ,KAAK,MAAM;AACvC,MAAI,QAAQ,IAAI,OAAO;AACvB,QAAM,MAAM"}