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.
Files changed (108) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/esm/src/util/create-response-proxy.js +2 -2
  3. package/dist/esm/src/util/fork.js +3 -3
  4. package/dist/umd/src/util/create-response-proxy.js +2 -2
  5. package/dist/umd/src/util/fork.js +3 -3
  6. package/package.json +1 -1
  7. package/packages/cache/.turbo/turbo-build.log +1 -6
  8. package/packages/cache/dist/cache-entry/cache-entry.d.ts +1 -1
  9. package/packages/cache/dist/cache-entry/cache-entry.d.ts.map +1 -1
  10. package/packages/cache/dist/cache.d.ts +7 -1
  11. package/packages/cache/dist/cache.d.ts.map +1 -1
  12. package/packages/cache/dist/index.js +28 -8
  13. package/packages/cache/dist/index.js.map +1 -1
  14. package/packages/cache/dist/index.mjs +28 -8
  15. package/packages/cache/dist/index.mjs.map +1 -1
  16. package/packages/cache/dist/request-cache-handler/request-cache-handler.d.ts.map +1 -1
  17. package/packages/cache/dist/types/request-cache-options.d.ts +11 -0
  18. package/packages/cache/dist/types/request-cache-options.d.ts.map +1 -1
  19. package/packages/cli/.turbo/turbo-build.log +1 -17
  20. package/packages/cli/dist/cli.cjs +132 -86
  21. package/packages/cli/dist/cli.cjs.map +1 -1
  22. package/packages/cli/dist/cli.js +132 -86
  23. package/packages/cli/dist/cli.js.map +1 -1
  24. package/packages/cli/dist/compiler/compiler.d.ts.map +1 -1
  25. package/packages/cli/dist/compiler/tasks/setup/index.d.ts.map +1 -1
  26. package/packages/cli/dist/compiler/tasks/setup/utils/index.d.ts +0 -1
  27. package/packages/cli/dist/compiler/tasks/setup/utils/index.d.ts.map +1 -1
  28. package/packages/cli/dist/compiler/tasks/setup/utils/parse-runtime-config.d.ts +3 -0
  29. package/packages/cli/dist/compiler/tasks/setup/utils/parse-runtime-config.d.ts.map +1 -0
  30. package/packages/cli/dist/compiler/types/compiler-context.d.ts +1 -1
  31. package/packages/cli/dist/compiler/types/compiler-context.d.ts.map +1 -1
  32. package/packages/cli/dist/compiler/types/compiler-hooks.d.ts +2 -1
  33. package/packages/cli/dist/compiler/types/compiler-hooks.d.ts.map +1 -1
  34. package/packages/cli/dist/define-config.d.ts +3 -0
  35. package/packages/cli/dist/define-config.d.ts.map +1 -0
  36. package/packages/cli/dist/index.cjs +137 -93
  37. package/packages/cli/dist/index.cjs.map +1 -1
  38. package/packages/cli/dist/index.d.ts +2 -2
  39. package/packages/cli/dist/index.d.ts.map +1 -1
  40. package/packages/cli/dist/index.js +136 -91
  41. package/packages/cli/dist/index.js.map +1 -1
  42. package/packages/cli/dist/models/module-definition.d.ts +3 -2
  43. package/packages/cli/dist/models/module-definition.d.ts.map +1 -1
  44. package/packages/cli/dist/plugins/download-http-file/download-http-file.plugin.d.ts +2 -2
  45. package/packages/cli/dist/plugins/download-http-file/download-http-file.plugin.d.ts.map +1 -1
  46. package/packages/cli/dist/plugins/download-local-file/download-local-file.plugin.d.ts.map +1 -1
  47. package/packages/cli/dist/plugins/shaking/shaking.plugin.d.ts.map +1 -1
  48. package/packages/cli/dist/plugins.cjs +25 -12
  49. package/packages/cli/dist/plugins.cjs.map +1 -1
  50. package/packages/cli/dist/plugins.js +25 -12
  51. package/packages/cli/dist/plugins.js.map +1 -1
  52. package/packages/cli/dist/types/address.d.ts +8 -0
  53. package/packages/cli/dist/types/address.d.ts.map +1 -0
  54. package/packages/cli/dist/types/index.d.ts +2 -1
  55. package/packages/cli/dist/types/index.d.ts.map +1 -1
  56. package/packages/cli/dist/types/runtime-config.d.ts +16 -7
  57. package/packages/cli/dist/types/runtime-config.d.ts.map +1 -1
  58. package/packages/cli/dist/utils/is-valid-url.d.ts +16 -0
  59. package/packages/cli/dist/utils/is-valid-url.d.ts.map +1 -0
  60. package/packages/exception/dist/catch-exception.d.ts +4 -0
  61. package/packages/exception/dist/catch-exception.d.ts.map +1 -0
  62. package/packages/exception/dist/index.d.ts +4 -0
  63. package/packages/exception/dist/index.d.ts.map +1 -0
  64. package/packages/exception/dist/throw-exception.d.ts +5 -0
  65. package/packages/exception/dist/throw-exception.d.ts.map +1 -0
  66. package/packages/exception/dist/validate-status-code.d.ts +3 -0
  67. package/packages/exception/dist/validate-status-code.d.ts.map +1 -0
  68. package/packages/headers/.turbo/turbo-build.log +6 -4
  69. package/packages/headers/dist/index.d.ts +42 -0
  70. package/packages/headers/dist/index.d.ts.map +1 -0
  71. package/packages/keq/.turbo/turbo-build.log +6 -6
  72. package/packages/keq/dist/context/execution-context.d.ts +2 -2
  73. package/packages/keq/dist/context/execution-context.d.ts.map +1 -1
  74. package/packages/keq/dist/context/middleware-context.d.ts +1 -1
  75. package/packages/keq/dist/context/middleware-context.d.ts.map +1 -1
  76. package/packages/keq/dist/context/orchestrator-context.d.ts +2 -2
  77. package/packages/keq/dist/context/orchestrator-context.d.ts.map +1 -1
  78. package/packages/keq/dist/context/shared-context.d.ts +7 -7
  79. package/packages/keq/dist/context/shared-context.d.ts.map +1 -1
  80. package/packages/keq/dist/context/types/keq-global.d.ts +7 -2
  81. package/packages/keq/dist/context/types/keq-global.d.ts.map +1 -1
  82. package/packages/keq/dist/index.d.ts +1 -1
  83. package/packages/keq/dist/index.d.ts.map +1 -1
  84. package/packages/keq/dist/index.js +73 -61
  85. package/packages/keq/dist/index.js.map +1 -1
  86. package/packages/keq/dist/index.mjs +73 -61
  87. package/packages/keq/dist/index.mjs.map +1 -1
  88. package/packages/keq/dist/middlewares/flow-control-middleware/abort-flow-control-middleware.d.ts.map +1 -1
  89. package/packages/keq/dist/middlewares/flow-control-middleware/serial-flow-control-middleware.d.ts.map +1 -1
  90. package/packages/keq/dist/orchestrator/orchestrator.d.ts +11 -6
  91. package/packages/keq/dist/orchestrator/orchestrator.d.ts.map +1 -1
  92. package/packages/keq/dist/request/core.d.ts +1 -7
  93. package/packages/keq/dist/request/core.d.ts.map +1 -1
  94. package/packages/keq/dist/request/request.d.ts.map +1 -1
  95. package/packages/keq/dist/request-init/request-init.d.ts +1 -1
  96. package/packages/keq/dist/request-init/request-init.d.ts.map +1 -1
  97. package/packages/nestjs/.turbo/turbo-build.log +1 -6
  98. package/packages/url/.turbo/turbo-build.log +4 -2
  99. package/packages/url/dist/index.d.ts +5 -0
  100. package/packages/url/dist/index.d.ts.map +1 -0
  101. package/packages/cli/dist/compiler/tasks/setup/utils/validate-modules.d.ts +0 -2
  102. package/packages/cli/dist/compiler/tasks/setup/utils/validate-modules.d.ts.map +0 -1
  103. package/packages/cli/dist/define-keq-config.d.ts +0 -3
  104. package/packages/cli/dist/define-keq-config.d.ts.map +0 -1
  105. package/packages/keq/node_modules/.bin/tsc +0 -21
  106. package/packages/keq/node_modules/.bin/tsserver +0 -21
  107. package/packages/nestjs/node_modules/.bin/tsc +0 -21
  108. 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 = /* @__PURE__ */ Symbol("context.request.abortController");
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 = /* @__PURE__ */ Symbol("protected context.orchestration.orchestrator");
564
- var ExecutorProperty = /* @__PURE__ */ Symbol("protected context.orchestration.executor");
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 = /* @__PURE__ */ Symbol("protected context.orchestrator");
600
- var ContextOrchestrationProperty = /* @__PURE__ */ Symbol("protected context.orchestration");
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 UnWrapPropertyKey = /* @__PURE__ */ Symbol("UnWrapPropertyKey");
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 === UnWrapPropertyKey) return realTarget;
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[UnWrapPropertyKey] ? proxy[UnWrapPropertyKey] : 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 = /* @__PURE__ */ Symbol("KeqResponseProxyJsonCachePropertyKey");
775
- var TextCachePropertyKey = /* @__PURE__ */ Symbol("KeqResponseProxyTextCachePropertyKey");
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 = /* @__PURE__ */ Symbol("protected context.locationId");
825
- var ContextRequestProperty = /* @__PURE__ */ Symbol("protected context.request");
826
- var ContextGlobalProperty = /* @__PURE__ */ Symbol("protected context.global");
827
- var ContextEmitterProperty = /* @__PURE__ */ Symbol("protected context.emitter");
828
- var ContextOptionsProperty = /* @__PURE__ */ Symbol("protected context.options");
829
- var ContextDataProperty = /* @__PURE__ */ Symbol("protected context.data");
830
- var ContextOutputProperty = /* @__PURE__ */ Symbol("protected context.output");
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 = /* @__PURE__ */ Symbol("protected context.orchestration.middlewares");
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
- forkedOrchestrator.main = {
1061
- orchestrator: this.main ? this.main.orchestrator : this,
1062
- index: this.main ? this.main.index + next : next
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.serialFlowControl) ctx.global.serialFlowControl = {};
1729
- if (!ctx.global.serialFlowControl[key]) {
1730
- ctx.global.serialFlowControl[key] = fastq.promise(async (next2) => {
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.abortFlowControl) ctx.global.abortFlowControl = {};
1749
- const abort = ctx.global.abortFlowControl[key];
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(this.__formatUrl__(url), { ...init, locationId, global: this.global, qs: this.qs });
1818
- keq.appendMiddlewares(...this.postMiddlewares);
1819
- keq.prependMiddlewares(...this.preMiddlewares);
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
- const locationId = getLocationId(1);
1838
- const keq = new Keq(
1839
- this.__formatUrl__(url),
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
  }