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.
- package/CHANGELOG.md +7 -0
- package/dist/esm/src/constant.d.ts +2 -0
- package/dist/esm/src/constant.js +2 -0
- package/dist/esm/src/core.d.ts +30 -0
- package/dist/esm/src/core.js +162 -53
- package/dist/esm/src/exception/abort.exception.d.ts +3 -0
- package/dist/esm/src/exception/abort.exception.js +6 -0
- package/dist/esm/src/index.d.ts +1 -0
- package/dist/esm/src/index.js +1 -0
- package/dist/esm/src/is/is-abort-signal.d.ts +1 -0
- package/dist/esm/src/is/is-abort-signal.js +8 -0
- package/dist/esm/src/middlewares/fetch-arguments-middleware.js +5 -1
- package/dist/esm/src/middlewares/retry-middleware.js +20 -3
- package/dist/esm/src/middlewares/timeout-middleware.js +3 -1
- package/dist/esm/src/types/keq-context.d.ts +10 -1
- package/dist/esm/src/types/keq-context.js +1 -1
- package/dist/umd/src/constant.d.ts +2 -0
- package/dist/umd/src/constant.js +3 -1
- package/dist/umd/src/core.d.ts +30 -0
- package/dist/umd/src/core.js +162 -53
- package/dist/umd/src/exception/abort.exception.d.ts +3 -0
- package/dist/umd/src/exception/abort.exception.js +20 -0
- package/dist/umd/src/index.d.ts +1 -0
- package/dist/umd/src/index.js +4 -2
- package/dist/umd/src/is/is-abort-signal.d.ts +1 -0
- package/dist/umd/src/is/is-abort-signal.js +22 -0
- package/dist/umd/src/middlewares/fetch-arguments-middleware.js +4 -0
- package/dist/umd/src/middlewares/retry-middleware.js +21 -4
- package/dist/umd/src/middlewares/timeout-middleware.js +4 -2
- package/dist/umd/src/types/keq-context.d.ts +10 -1
- package/package.json +10 -13
- package/.claude/settings.local.json +0 -26
- package/packages/cache/.turbo/turbo-build.log +0 -29
- package/packages/cache/dist/index.d.mts +0 -354
- package/packages/cache/dist/index.d.mts.map +0 -1
- package/packages/cache/dist/index.d.ts +0 -353
- package/packages/cache/dist/index.d.ts.map +0 -1
- package/packages/cache/dist/index.js +0 -1271
- package/packages/cache/dist/index.js.map +0 -1
- package/packages/cache/dist/index.mjs +0 -1237
- package/packages/cache/dist/index.mjs.map +0 -1
- package/packages/cli/.turbo/turbo-build.log +0 -91
- package/packages/cli/dist/cli.cjs +0 -1364
- package/packages/cli/dist/cli.cjs.map +0 -1
- package/packages/cli/dist/cli.d.cts +0 -1
- package/packages/cli/dist/cli.d.mts +0 -1
- package/packages/cli/dist/cli.mjs +0 -1359
- package/packages/cli/dist/cli.mjs.map +0 -1
- package/packages/cli/dist/compiler-0Kli6UCr.cjs +0 -738
- package/packages/cli/dist/compiler-0Kli6UCr.cjs.map +0 -1
- package/packages/cli/dist/compiler-C3AE8j54.mjs +0 -715
- package/packages/cli/dist/compiler-C3AE8j54.mjs.map +0 -1
- package/packages/cli/dist/index.cjs +0 -20
- package/packages/cli/dist/index.cjs.map +0 -1
- package/packages/cli/dist/index.d.cts +0 -17
- package/packages/cli/dist/index.d.cts.map +0 -1
- package/packages/cli/dist/index.d.mts +0 -17
- package/packages/cli/dist/index.d.mts.map +0 -1
- package/packages/cli/dist/index.mjs +0 -10
- package/packages/cli/dist/index.mjs.map +0 -1
- package/packages/cli/dist/init-BNhD2oCI.mjs +0 -168
- package/packages/cli/dist/init-BNhD2oCI.mjs.map +0 -1
- package/packages/cli/dist/init-DqxLcRSQ.cjs +0 -170
- package/packages/cli/dist/init-DqxLcRSQ.cjs.map +0 -1
- package/packages/cli/dist/logger-D7PyVZo3.cjs +0 -46
- package/packages/cli/dist/logger-D7PyVZo3.cjs.map +0 -1
- package/packages/cli/dist/logger-QLBHySQ3.mjs +0 -12
- package/packages/cli/dist/logger-QLBHySQ3.mjs.map +0 -1
- package/packages/cli/dist/micro-function.translator-BmJZzkKh.cjs +0 -16
- package/packages/cli/dist/micro-function.translator-BmJZzkKh.cjs.map +0 -1
- package/packages/cli/dist/micro-function.translator-CDfkj4Tt.mjs +0 -11
- package/packages/cli/dist/micro-function.translator-CDfkj4Tt.mjs.map +0 -1
- package/packages/cli/dist/mock-command-Bp1LxSls.mjs +0 -350
- package/packages/cli/dist/mock-command-Bp1LxSls.mjs.map +0 -1
- package/packages/cli/dist/mock-command-WZcfy5Iq.cjs +0 -353
- package/packages/cli/dist/mock-command-WZcfy5Iq.cjs.map +0 -1
- package/packages/cli/dist/plugins-CgMhaNZq.cjs +0 -3558
- package/packages/cli/dist/plugins-CgMhaNZq.cjs.map +0 -1
- package/packages/cli/dist/plugins-DCvJ8iHR.mjs +0 -3280
- package/packages/cli/dist/plugins-DCvJ8iHR.mjs.map +0 -1
- package/packages/cli/dist/plugins.cjs +0 -36
- package/packages/cli/dist/plugins.d.cts +0 -2
- package/packages/cli/dist/plugins.d.mts +0 -2
- package/packages/cli/dist/plugins.mjs +0 -2
- package/packages/cli/dist/runtime-config-BWQlPhiB.d.cts +0 -780
- package/packages/cli/dist/runtime-config-BWQlPhiB.d.cts.map +0 -1
- package/packages/cli/dist/runtime-config-CrzK-Ucf.d.mts +0 -780
- package/packages/cli/dist/runtime-config-CrzK-Ucf.d.mts.map +0 -1
- package/packages/cli/dist/translators.cjs +0 -14
- package/packages/cli/dist/translators.cjs.map +0 -1
- package/packages/cli/dist/translators.d.cts +0 -14
- package/packages/cli/dist/translators.d.cts.map +0 -1
- package/packages/cli/dist/translators.d.mts +0 -14
- package/packages/cli/dist/translators.d.mts.map +0 -1
- package/packages/cli/dist/translators.mjs +0 -12
- package/packages/cli/dist/translators.mjs.map +0 -1
- package/packages/cli/node_modules/.bin/eslint +0 -21
- package/packages/cli/node_modules/.bin/jiti +0 -21
- package/packages/cli/node_modules/.bin/js-yaml +0 -21
- package/packages/cli/node_modules/.bin/jsf +0 -21
- package/packages/cli/node_modules/.bin/jsonpath +0 -21
- package/packages/cli/node_modules/.bin/jsonpath-plus +0 -21
- package/packages/cli/node_modules/.bin/semver +0 -21
- package/packages/cli/node_modules/.bin/tsc +0 -21
- package/packages/cli/node_modules/.bin/tsserver +0 -21
- package/packages/exception/.turbo/turbo-build.log +0 -29
- package/packages/exception/dist/index.d.mts +0 -21
- package/packages/exception/dist/index.d.mts.map +0 -1
- package/packages/exception/dist/index.d.ts +0 -21
- package/packages/exception/dist/index.d.ts.map +0 -1
- package/packages/exception/dist/index.js +0 -104
- package/packages/exception/dist/index.js.map +0 -1
- package/packages/exception/dist/index.mjs +0 -99
- package/packages/exception/dist/index.mjs.map +0 -1
- package/packages/headers/.turbo/turbo-build.log +0 -29
- package/packages/headers/dist/index.d.mts +0 -46
- package/packages/headers/dist/index.d.mts.map +0 -1
- package/packages/headers/dist/index.d.ts +0 -46
- package/packages/headers/dist/index.d.ts.map +0 -1
- package/packages/headers/dist/index.js +0 -81
- package/packages/headers/dist/index.js.map +0 -1
- package/packages/headers/dist/index.mjs +0 -75
- package/packages/headers/dist/index.mjs.map +0 -1
- package/packages/keq/.turbo/turbo-build.log +0 -29
- package/packages/keq/dist/index.d.mts +0 -962
- package/packages/keq/dist/index.d.mts.map +0 -1
- package/packages/keq/dist/index.d.ts +0 -962
- package/packages/keq/dist/index.d.ts.map +0 -1
- package/packages/keq/dist/index.js +0 -1876
- package/packages/keq/dist/index.js.map +0 -1
- package/packages/keq/dist/index.mjs +0 -1814
- package/packages/keq/dist/index.mjs.map +0 -1
- package/packages/nestjs/.turbo/turbo-build.log +0 -29
- package/packages/nestjs/dist/index.d.mts +0 -52
- package/packages/nestjs/dist/index.d.mts.map +0 -1
- package/packages/nestjs/dist/index.d.ts +0 -52
- package/packages/nestjs/dist/index.d.ts.map +0 -1
- package/packages/nestjs/dist/index.js +0 -166
- package/packages/nestjs/dist/index.js.map +0 -1
- package/packages/nestjs/dist/index.mjs +0 -136
- package/packages/nestjs/dist/index.mjs.map +0 -1
- package/packages/test/.turbo/turbo-build.log +0 -6
- package/packages/url/.turbo/turbo-build.log +0 -29
- package/packages/url/dist/index.d.mts +0 -9
- package/packages/url/dist/index.d.mts.map +0 -1
- package/packages/url/dist/index.d.ts +0 -9
- package/packages/url/dist/index.d.ts.map +0 -1
- package/packages/url/dist/index.js +0 -43
- package/packages/url/dist/index.js.map +0 -1
- package/packages/url/dist/index.mjs +0 -40
- 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,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
|
-
[34mℹ[39m [34mtsdown v0.21.10[39m powered by [38;2;255;126;23mrolldown v1.0.0-rc.17[39m
|
|
7
|
-
[34mℹ[39m config file: [4m/Users/10009313/Shein/workspace/@keq/keq/packages/url/tsdown.config.ts[24m
|
|
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
|
-
[34mℹ[39m entry: [34msrc/index.ts[39m
|
|
13
|
-
[34mℹ[39m targets: [34mchrome91, firefox90, safari15, edge91, node20[39m
|
|
14
|
-
[34mℹ[39m tsconfig: [34mtsconfig.lib.json[39m
|
|
15
|
-
[34mℹ[39m Build start
|
|
16
|
-
[34mℹ[39m Cleaning 8 files
|
|
17
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[1mindex.js[22m [2m1.31 kB[22m [2m│ gzip: 0.47 kB[22m
|
|
18
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mindex.js.map [2m2.78 kB[22m [2m│ gzip: 0.83 kB[22m
|
|
19
|
-
[34mℹ[39m [33m[CJS][39m 2 files, total: 4.09 kB
|
|
20
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[1mindex.mjs[22m [2m1.19 kB[22m [2m│ gzip: 0.40 kB[22m
|
|
21
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mindex.mjs.map [2m2.78 kB[22m [2m│ gzip: 0.83 kB[22m
|
|
22
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22mindex.d.mts.map [2m0.20 kB[22m [2m│ gzip: 0.16 kB[22m
|
|
23
|
-
[34mℹ[39m [34m[ESM][39m [2mdist/[22m[32m[1mindex.d.mts[22m[39m [2m0.33 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
24
|
-
[34mℹ[39m [34m[ESM][39m 4 files, total: 4.49 kB
|
|
25
|
-
[32m✔[39m Build complete in [32m1238ms[39m
|
|
26
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22mindex.d.ts.map [2m0.20 kB[22m [2m│ gzip: 0.16 kB[22m
|
|
27
|
-
[34mℹ[39m [33m[CJS][39m [2mdist/[22m[32m[1mindex.d.ts[22m[39m [2m0.33 kB[22m [2m│ gzip: 0.19 kB[22m
|
|
28
|
-
[34mℹ[39m [33m[CJS][39m 2 files, total: 0.53 kB
|
|
29
|
-
[32m✔[39m Build complete in [32m1240ms[39m
|
|
@@ -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"}
|