keq 2.8.13 → 2.8.14
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/util/create-response-proxy.js +2 -2
- package/dist/esm/src/util/fork.js +3 -3
- package/dist/umd/src/util/create-response-proxy.js +2 -2
- package/dist/umd/src/util/fork.js +3 -3
- package/package.json +1 -1
- package/packages/cache/.turbo/turbo-build.log +1 -6
- package/packages/cache/dist/cache-entry/cache-entry.d.ts +1 -1
- package/packages/cache/dist/cache-entry/cache-entry.d.ts.map +1 -1
- package/packages/cache/dist/cache.d.ts +7 -1
- package/packages/cache/dist/cache.d.ts.map +1 -1
- package/packages/cache/dist/index.js +28 -8
- package/packages/cache/dist/index.js.map +1 -1
- package/packages/cache/dist/index.mjs +28 -8
- package/packages/cache/dist/index.mjs.map +1 -1
- package/packages/cache/dist/request-cache-handler/request-cache-handler.d.ts.map +1 -1
- package/packages/cache/dist/types/request-cache-options.d.ts +11 -0
- package/packages/cache/dist/types/request-cache-options.d.ts.map +1 -1
- package/packages/cli/.turbo/turbo-build.log +1 -17
- package/packages/cli/dist/cli.cjs +132 -86
- package/packages/cli/dist/cli.cjs.map +1 -1
- package/packages/cli/dist/cli.js +132 -86
- package/packages/cli/dist/cli.js.map +1 -1
- package/packages/cli/dist/compiler/compiler.d.ts.map +1 -1
- package/packages/cli/dist/compiler/tasks/setup/index.d.ts.map +1 -1
- package/packages/cli/dist/compiler/tasks/setup/utils/index.d.ts +0 -1
- package/packages/cli/dist/compiler/tasks/setup/utils/index.d.ts.map +1 -1
- package/packages/cli/dist/compiler/tasks/setup/utils/parse-runtime-config.d.ts +3 -0
- package/packages/cli/dist/compiler/tasks/setup/utils/parse-runtime-config.d.ts.map +1 -0
- package/packages/cli/dist/compiler/types/compiler-context.d.ts +1 -1
- package/packages/cli/dist/compiler/types/compiler-context.d.ts.map +1 -1
- package/packages/cli/dist/compiler/types/compiler-hooks.d.ts +2 -1
- package/packages/cli/dist/compiler/types/compiler-hooks.d.ts.map +1 -1
- package/packages/cli/dist/define-config.d.ts +3 -0
- package/packages/cli/dist/define-config.d.ts.map +1 -0
- package/packages/cli/dist/index.cjs +137 -93
- package/packages/cli/dist/index.cjs.map +1 -1
- package/packages/cli/dist/index.d.ts +2 -2
- package/packages/cli/dist/index.d.ts.map +1 -1
- package/packages/cli/dist/index.js +136 -91
- package/packages/cli/dist/index.js.map +1 -1
- package/packages/cli/dist/models/module-definition.d.ts +3 -2
- package/packages/cli/dist/models/module-definition.d.ts.map +1 -1
- package/packages/cli/dist/plugins/download-http-file/download-http-file.plugin.d.ts +2 -2
- package/packages/cli/dist/plugins/download-http-file/download-http-file.plugin.d.ts.map +1 -1
- package/packages/cli/dist/plugins/download-local-file/download-local-file.plugin.d.ts.map +1 -1
- package/packages/cli/dist/plugins/shaking/shaking.plugin.d.ts.map +1 -1
- package/packages/cli/dist/plugins.cjs +25 -12
- package/packages/cli/dist/plugins.cjs.map +1 -1
- package/packages/cli/dist/plugins.js +25 -12
- package/packages/cli/dist/plugins.js.map +1 -1
- package/packages/cli/dist/types/address.d.ts +8 -0
- package/packages/cli/dist/types/address.d.ts.map +1 -0
- package/packages/cli/dist/types/index.d.ts +2 -1
- package/packages/cli/dist/types/index.d.ts.map +1 -1
- package/packages/cli/dist/types/runtime-config.d.ts +16 -7
- package/packages/cli/dist/types/runtime-config.d.ts.map +1 -1
- package/packages/cli/dist/utils/is-valid-url.d.ts +16 -0
- package/packages/cli/dist/utils/is-valid-url.d.ts.map +1 -0
- package/packages/exception/dist/catch-exception.d.ts +4 -0
- package/packages/exception/dist/catch-exception.d.ts.map +1 -0
- package/packages/exception/dist/index.d.ts +4 -0
- package/packages/exception/dist/index.d.ts.map +1 -0
- package/packages/exception/dist/throw-exception.d.ts +5 -0
- package/packages/exception/dist/throw-exception.d.ts.map +1 -0
- package/packages/exception/dist/validate-status-code.d.ts +3 -0
- package/packages/exception/dist/validate-status-code.d.ts.map +1 -0
- package/packages/headers/.turbo/turbo-build.log +6 -4
- package/packages/headers/dist/index.d.ts +42 -0
- package/packages/headers/dist/index.d.ts.map +1 -0
- package/packages/keq/.turbo/turbo-build.log +6 -6
- package/packages/keq/dist/context/execution-context.d.ts +2 -2
- package/packages/keq/dist/context/execution-context.d.ts.map +1 -1
- package/packages/keq/dist/context/middleware-context.d.ts +1 -1
- package/packages/keq/dist/context/middleware-context.d.ts.map +1 -1
- package/packages/keq/dist/context/orchestrator-context.d.ts +2 -2
- package/packages/keq/dist/context/orchestrator-context.d.ts.map +1 -1
- package/packages/keq/dist/context/shared-context.d.ts +7 -7
- package/packages/keq/dist/context/shared-context.d.ts.map +1 -1
- package/packages/keq/dist/context/types/keq-global.d.ts +7 -2
- package/packages/keq/dist/context/types/keq-global.d.ts.map +1 -1
- package/packages/keq/dist/index.d.ts +1 -1
- package/packages/keq/dist/index.d.ts.map +1 -1
- package/packages/keq/dist/index.js +73 -61
- package/packages/keq/dist/index.js.map +1 -1
- package/packages/keq/dist/index.mjs +73 -61
- package/packages/keq/dist/index.mjs.map +1 -1
- package/packages/keq/dist/middlewares/flow-control-middleware/abort-flow-control-middleware.d.ts.map +1 -1
- package/packages/keq/dist/middlewares/flow-control-middleware/serial-flow-control-middleware.d.ts.map +1 -1
- package/packages/keq/dist/orchestrator/orchestrator.d.ts +11 -6
- package/packages/keq/dist/orchestrator/orchestrator.d.ts.map +1 -1
- package/packages/keq/dist/request/core.d.ts +1 -7
- package/packages/keq/dist/request/core.d.ts.map +1 -1
- package/packages/keq/dist/request/request.d.ts.map +1 -1
- package/packages/keq/dist/request-init/request-init.d.ts +1 -1
- package/packages/keq/dist/request-init/request-init.d.ts.map +1 -1
- package/packages/nestjs/.turbo/turbo-build.log +1 -6
- package/packages/url/.turbo/turbo-build.log +4 -2
- package/packages/url/dist/index.d.ts +5 -0
- package/packages/url/dist/index.d.ts.map +1 -0
- package/packages/cli/dist/compiler/tasks/setup/utils/validate-modules.d.ts +0 -2
- package/packages/cli/dist/compiler/tasks/setup/utils/validate-modules.d.ts.map +0 -1
- package/packages/cli/dist/define-keq-config.d.ts +0 -3
- package/packages/cli/dist/define-keq-config.d.ts.map +0 -1
- package/packages/keq/node_modules/.bin/tsc +0 -21
- package/packages/keq/node_modules/.bin/tsserver +0 -21
- package/packages/nestjs/node_modules/.bin/tsc +0 -21
- package/packages/nestjs/node_modules/.bin/tsserver +0 -21
|
@@ -456,7 +456,7 @@ function cloneRequestInit(init) {
|
|
|
456
456
|
}
|
|
457
457
|
|
|
458
458
|
// src/request-init/request-init.ts
|
|
459
|
-
var AbortControllerProperty =
|
|
459
|
+
var AbortControllerProperty = "__KeqProtectedProperty(context.request.abortController)__";
|
|
460
460
|
var _a;
|
|
461
461
|
_a = AbortControllerProperty;
|
|
462
462
|
var KeqRequestInit = class {
|
|
@@ -560,8 +560,8 @@ var KeqRequestInit = class {
|
|
|
560
560
|
};
|
|
561
561
|
|
|
562
562
|
// src/context/orchestrator-context.ts
|
|
563
|
-
var OrchestratorProperty =
|
|
564
|
-
var ExecutorProperty =
|
|
563
|
+
var OrchestratorProperty = "__KeyProtectedProperty(context.orchestration.orchestrator)__";
|
|
564
|
+
var ExecutorProperty = "__KeyProtectedProperty(context.orchestration.executor)__";
|
|
565
565
|
var _a2, _b;
|
|
566
566
|
_b = OrchestratorProperty, _a2 = ExecutorProperty;
|
|
567
567
|
var KeqOrchestratorContext = class {
|
|
@@ -596,8 +596,8 @@ var KeqOrchestratorContext = class {
|
|
|
596
596
|
};
|
|
597
597
|
|
|
598
598
|
// src/context/execution-context.ts
|
|
599
|
-
var ContextOrchestratorProperty =
|
|
600
|
-
var ContextOrchestrationProperty =
|
|
599
|
+
var ContextOrchestratorProperty = "__KeyProtectedProperty(context.orchestrator)__";
|
|
600
|
+
var ContextOrchestrationProperty = "__KeyProtectedProperty(context.orchestration)__";
|
|
601
601
|
var _a3, _b2;
|
|
602
602
|
_b2 = ContextOrchestratorProperty, _a3 = ContextOrchestrationProperty;
|
|
603
603
|
var KeqExecutionContext = class {
|
|
@@ -694,7 +694,7 @@ function cloneSharedContext(context) {
|
|
|
694
694
|
|
|
695
695
|
// src/context/utils/fork.ts
|
|
696
696
|
import { klona as klona2 } from "klona/json";
|
|
697
|
-
var
|
|
697
|
+
var ForkedObjectBrandPropertyKey = "__KeqProtectedProperty(forked.object.brand)__";
|
|
698
698
|
var ARRAY_MUTATORS = /* @__PURE__ */ new Set([
|
|
699
699
|
"push",
|
|
700
700
|
"pop",
|
|
@@ -725,7 +725,7 @@ function fork(original) {
|
|
|
725
725
|
return new Proxy(getTarget(), {
|
|
726
726
|
get(target, prop) {
|
|
727
727
|
const realTarget = getTarget();
|
|
728
|
-
if (prop ===
|
|
728
|
+
if (prop === ForkedObjectBrandPropertyKey) return realTarget;
|
|
729
729
|
const value = realTarget[prop];
|
|
730
730
|
if (current !== original) {
|
|
731
731
|
return value;
|
|
@@ -767,12 +767,12 @@ function fork(original) {
|
|
|
767
767
|
return createProxy();
|
|
768
768
|
}
|
|
769
769
|
function unwrap(proxy) {
|
|
770
|
-
return proxy && proxy[
|
|
770
|
+
return proxy && proxy[ForkedObjectBrandPropertyKey] ? proxy[ForkedObjectBrandPropertyKey] : proxy;
|
|
771
771
|
}
|
|
772
772
|
|
|
773
773
|
// src/context/utils/create-proxy-response.ts
|
|
774
|
-
var JsonCachePropertyKey =
|
|
775
|
-
var TextCachePropertyKey =
|
|
774
|
+
var JsonCachePropertyKey = "__KeqProtectedProperty(response.proxy.cache.json)__";
|
|
775
|
+
var TextCachePropertyKey = "__KeqProtectedProperty(response.proxy.cache.text)__";
|
|
776
776
|
function createProxyResponse(response) {
|
|
777
777
|
return new Proxy(response, {
|
|
778
778
|
get(res, prop) {
|
|
@@ -821,13 +821,13 @@ function createProxyResponse(response) {
|
|
|
821
821
|
}
|
|
822
822
|
|
|
823
823
|
// src/context/shared-context.ts
|
|
824
|
-
var ContextLocationIdProperty =
|
|
825
|
-
var ContextRequestProperty =
|
|
826
|
-
var ContextGlobalProperty =
|
|
827
|
-
var ContextEmitterProperty =
|
|
828
|
-
var ContextOptionsProperty =
|
|
829
|
-
var ContextDataProperty =
|
|
830
|
-
var ContextOutputProperty =
|
|
824
|
+
var ContextLocationIdProperty = "__KeqProtectedProperty(context.locationId)__";
|
|
825
|
+
var ContextRequestProperty = "__KeqProtectedProperty(context.request)__";
|
|
826
|
+
var ContextGlobalProperty = "__KeqProtectedProperty(context.global)__";
|
|
827
|
+
var ContextEmitterProperty = "__KeqProtectedProperty(context.emitter)__";
|
|
828
|
+
var ContextOptionsProperty = "__KeqProtectedProperty(context.options)__";
|
|
829
|
+
var ContextDataProperty = "__KeqProtectedProperty(context.data)__";
|
|
830
|
+
var ContextOutputProperty = "__KeqProtectedProperty(context.output)__";
|
|
831
831
|
var _a4, _b3, _c, _d, _e, _f, _g;
|
|
832
832
|
_g = ContextLocationIdProperty, _f = ContextRequestProperty, _e = ContextGlobalProperty, _d = ContextEmitterProperty, _c = ContextOptionsProperty, _b3 = ContextOutputProperty, _a4 = ContextDataProperty;
|
|
833
833
|
var KeqSharedContext = class {
|
|
@@ -909,7 +909,7 @@ function composeMiddleware(middlewares, options) {
|
|
|
909
909
|
}
|
|
910
910
|
|
|
911
911
|
// src/context/middleware-context.ts
|
|
912
|
-
var ExecutorProperty2 =
|
|
912
|
+
var ExecutorProperty2 = "__KeyProtectedProperty(context.orchestration.middlewares)__";
|
|
913
913
|
var _a5;
|
|
914
914
|
_a5 = ExecutorProperty2;
|
|
915
915
|
var KeqMiddlewareContext = class {
|
|
@@ -990,7 +990,7 @@ function assignSharedContext(target, source) {
|
|
|
990
990
|
|
|
991
991
|
// src/orchestrator/orchestrator.ts
|
|
992
992
|
var KeqMiddlewareOrchestrator = class _KeqMiddlewareOrchestrator {
|
|
993
|
-
constructor(context, middlewares = []) {
|
|
993
|
+
constructor(context, middlewares = [], inherit) {
|
|
994
994
|
__publicField(this, "main");
|
|
995
995
|
__publicField(this, "status", "idle");
|
|
996
996
|
__publicField(this, "context");
|
|
@@ -998,6 +998,7 @@ var KeqMiddlewareOrchestrator = class _KeqMiddlewareOrchestrator {
|
|
|
998
998
|
__publicField(this, "current", -1);
|
|
999
999
|
this.context = context;
|
|
1000
1000
|
this.executors = middlewares.map((mw) => new KeqMiddlewareExecutor(mw));
|
|
1001
|
+
if (inherit == null ? void 0 : inherit.main) this.main = inherit.main;
|
|
1001
1002
|
}
|
|
1002
1003
|
cancelNotFinished() {
|
|
1003
1004
|
const current = this.current;
|
|
@@ -1056,11 +1057,12 @@ var KeqMiddlewareOrchestrator = class _KeqMiddlewareOrchestrator {
|
|
|
1056
1057
|
const context = cloneSharedContext(this.context);
|
|
1057
1058
|
const next = this.current + 1;
|
|
1058
1059
|
const middlewares = this.executors.slice(next).map((executor) => executor.middleware);
|
|
1059
|
-
const forkedOrchestrator = new _KeqMiddlewareOrchestrator(context, middlewares
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1060
|
+
const forkedOrchestrator = new _KeqMiddlewareOrchestrator(context, middlewares, {
|
|
1061
|
+
main: {
|
|
1062
|
+
orchestrator: this.main ? this.main.orchestrator : this,
|
|
1063
|
+
index: this.main ? this.main.index + next : next
|
|
1064
|
+
}
|
|
1065
|
+
});
|
|
1064
1066
|
return forkedOrchestrator;
|
|
1065
1067
|
}
|
|
1066
1068
|
merge(source) {
|
|
@@ -1253,26 +1255,30 @@ var Core = class {
|
|
|
1253
1255
|
...options,
|
|
1254
1256
|
url: new URL(url.href)
|
|
1255
1257
|
});
|
|
1258
|
+
if (options.middlewares) {
|
|
1259
|
+
this.__append_middlewares__.push(...options.middlewares);
|
|
1260
|
+
}
|
|
1256
1261
|
}
|
|
1257
1262
|
get __middlewares__() {
|
|
1258
1263
|
return [...this.__prepend_middlewares__, ...this.__append_middlewares__];
|
|
1259
1264
|
}
|
|
1260
|
-
prependMiddlewares(...middlewares) {
|
|
1265
|
+
// prependMiddlewares(...middlewares: KeqMiddleware[]): this {
|
|
1266
|
+
// this.__prepend_middlewares__.push(...middlewares)
|
|
1267
|
+
// return this
|
|
1268
|
+
// }
|
|
1269
|
+
// /**
|
|
1270
|
+
// * Appends middlewares to the end of the middleware chain.
|
|
1271
|
+
// * Using this method indiscriminately is discouraged;
|
|
1272
|
+
// * prefer using `.use` to maintain predictable execution order.
|
|
1273
|
+
// */
|
|
1274
|
+
// appendMiddlewares(...middlewares: KeqMiddleware[]): this {
|
|
1275
|
+
// this.__append_middlewares__.unshift(...middlewares)
|
|
1276
|
+
// return this
|
|
1277
|
+
// }
|
|
1278
|
+
use(...middlewares) {
|
|
1261
1279
|
this.__prepend_middlewares__.push(...middlewares);
|
|
1262
1280
|
return this;
|
|
1263
1281
|
}
|
|
1264
|
-
/**
|
|
1265
|
-
* Appends middlewares to the end of the middleware chain.
|
|
1266
|
-
* Using this method indiscriminately is discouraged;
|
|
1267
|
-
* prefer using `.use` to maintain predictable execution order.
|
|
1268
|
-
*/
|
|
1269
|
-
appendMiddlewares(...middlewares) {
|
|
1270
|
-
this.__append_middlewares__.unshift(...middlewares);
|
|
1271
|
-
return this;
|
|
1272
|
-
}
|
|
1273
|
-
use(...middlewares) {
|
|
1274
|
-
return this.prependMiddlewares(...middlewares);
|
|
1275
|
-
}
|
|
1276
1282
|
on(event, listener) {
|
|
1277
1283
|
this.__listeners__[event] = this.__listeners__[event] || [];
|
|
1278
1284
|
this.__listeners__[event].push(listener);
|
|
@@ -1725,14 +1731,15 @@ function keqSerialFlowControlMiddleware() {
|
|
|
1725
1731
|
const { signal } = ctx.options.flowControl;
|
|
1726
1732
|
const concurrent = ctx.options.flowControl.mode === "serial" ? 1 : !ctx.options.flowControl.concurrencyLimit ? 1 : ctx.options.flowControl.concurrencyLimit < 1 ? 1 : parseInt(ctx.options.flowControl.concurrencyLimit, 10);
|
|
1727
1733
|
const key = typeof signal === "string" ? signal : signal(ctx);
|
|
1728
|
-
if (!ctx.global.
|
|
1729
|
-
if (!ctx.global.serialFlowControl
|
|
1730
|
-
|
|
1734
|
+
if (!ctx.global.core) ctx.global.core = {};
|
|
1735
|
+
if (!ctx.global.core.serialFlowControl) ctx.global.core.serialFlowControl = {};
|
|
1736
|
+
if (!ctx.global.core.serialFlowControl[key]) {
|
|
1737
|
+
ctx.global.core.serialFlowControl[key] = fastq.promise(async ({ next: next2 }) => {
|
|
1731
1738
|
await next2();
|
|
1732
1739
|
}, concurrent);
|
|
1733
1740
|
}
|
|
1734
|
-
const queue = ctx.global.serialFlowControl[key];
|
|
1735
|
-
await queue.push(next);
|
|
1741
|
+
const queue = ctx.global.core.serialFlowControl[key];
|
|
1742
|
+
await queue.push({ next });
|
|
1736
1743
|
};
|
|
1737
1744
|
}
|
|
1738
1745
|
|
|
@@ -1745,19 +1752,20 @@ function keqAbortFlowControlMiddleware() {
|
|
|
1745
1752
|
}
|
|
1746
1753
|
const { signal } = ctx.options.flowControl;
|
|
1747
1754
|
const key = typeof signal === "string" ? signal : signal(ctx);
|
|
1748
|
-
if (!ctx.global.
|
|
1749
|
-
|
|
1755
|
+
if (!ctx.global.core) ctx.global.core = {};
|
|
1756
|
+
if (!ctx.global.core.abortFlowControl) ctx.global.core.abortFlowControl = {};
|
|
1757
|
+
const abort = ctx.global.core.abortFlowControl[key];
|
|
1750
1758
|
if (abort) {
|
|
1751
1759
|
const reason = new AbortException('Previous request was aborted by AbortFlowControl with key "'.concat(key, '"'));
|
|
1752
1760
|
abort(reason);
|
|
1753
1761
|
}
|
|
1754
1762
|
const fn = ctx.request.abort.bind(ctx.request);
|
|
1755
|
-
ctx.global.abortFlowControl[key] = fn;
|
|
1763
|
+
ctx.global.core.abortFlowControl[key] = fn;
|
|
1756
1764
|
try {
|
|
1757
1765
|
await next();
|
|
1758
1766
|
} finally {
|
|
1759
|
-
if (ctx.global.abortFlowControl[key] === fn) {
|
|
1760
|
-
ctx.global.abortFlowControl[key] = void 0;
|
|
1767
|
+
if (ctx.global.core.abortFlowControl[key] === fn) {
|
|
1768
|
+
ctx.global.core.abortFlowControl[key] = void 0;
|
|
1761
1769
|
}
|
|
1762
1770
|
}
|
|
1763
1771
|
};
|
|
@@ -1814,9 +1822,19 @@ var KeqRequest = class {
|
|
|
1814
1822
|
return new URL(url.href);
|
|
1815
1823
|
}
|
|
1816
1824
|
__fetch__(url, init, locationId) {
|
|
1817
|
-
const keq = new Keq(
|
|
1818
|
-
|
|
1819
|
-
|
|
1825
|
+
const keq = new Keq(
|
|
1826
|
+
this.__formatUrl__(url),
|
|
1827
|
+
{
|
|
1828
|
+
...init,
|
|
1829
|
+
locationId,
|
|
1830
|
+
global: this.global,
|
|
1831
|
+
qs: this.qs,
|
|
1832
|
+
middlewares: [
|
|
1833
|
+
...this.preMiddlewares,
|
|
1834
|
+
...this.postMiddlewares
|
|
1835
|
+
]
|
|
1836
|
+
}
|
|
1837
|
+
);
|
|
1820
1838
|
return keq;
|
|
1821
1839
|
}
|
|
1822
1840
|
fetch(url, init) {
|
|
@@ -1834,18 +1852,11 @@ var KeqRequest = class {
|
|
|
1834
1852
|
);
|
|
1835
1853
|
}
|
|
1836
1854
|
put(url) {
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
method: "put",
|
|
1842
|
-
locationId,
|
|
1843
|
-
global: this.global
|
|
1844
|
-
}
|
|
1855
|
+
return this.__fetch__(
|
|
1856
|
+
url,
|
|
1857
|
+
{ method: "put" },
|
|
1858
|
+
getLocationId(1)
|
|
1845
1859
|
);
|
|
1846
|
-
keq.appendMiddlewares(...this.postMiddlewares);
|
|
1847
|
-
keq.prependMiddlewares(...this.preMiddlewares);
|
|
1848
|
-
return keq;
|
|
1849
1860
|
}
|
|
1850
1861
|
delete(url) {
|
|
1851
1862
|
return this.__fetch__(
|
|
@@ -1897,6 +1908,7 @@ var KeqRequest = class {
|
|
|
1897
1908
|
context.emitter.on(event, listener);
|
|
1898
1909
|
await next();
|
|
1899
1910
|
};
|
|
1911
|
+
middleware.__keqMiddlewareName__ = "listen(".concat(event, ", ").concat(listener.name || "anonymous", ")");
|
|
1900
1912
|
this.use(middleware);
|
|
1901
1913
|
return this;
|
|
1902
1914
|
}
|