keq 2.8.14 → 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 (810) hide show
  1. package/CHANGELOG.md +14 -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/create-request.js +2 -0
  7. package/dist/esm/src/exception/abort.exception.d.ts +3 -0
  8. package/dist/esm/src/exception/abort.exception.js +6 -0
  9. package/dist/esm/src/index.d.ts +1 -0
  10. package/dist/esm/src/index.js +1 -0
  11. package/dist/esm/src/is/is-abort-signal.d.ts +1 -0
  12. package/dist/esm/src/is/is-abort-signal.js +8 -0
  13. package/dist/esm/src/middlewares/fetch-arguments-middleware.js +5 -1
  14. package/dist/esm/src/middlewares/mutex-flow-control-middleware.d.ts +2 -0
  15. package/dist/esm/src/middlewares/mutex-flow-control-middleware.js +22 -0
  16. package/dist/esm/src/middlewares/retry-middleware.js +20 -3
  17. package/dist/esm/src/middlewares/timeout-middleware.js +3 -1
  18. package/dist/esm/src/types/keq-context.d.ts +10 -1
  19. package/dist/esm/src/types/keq-context.js +1 -1
  20. package/dist/esm/src/types/keq-flow-control.d.ts +1 -1
  21. package/dist/esm/src/types/keq-global.d.ts +1 -0
  22. package/dist/umd/src/constant.d.ts +2 -0
  23. package/dist/umd/src/constant.js +3 -1
  24. package/dist/umd/src/core.d.ts +30 -0
  25. package/dist/umd/src/core.js +162 -53
  26. package/dist/umd/src/create-request.js +3 -1
  27. package/dist/umd/src/exception/abort.exception.d.ts +3 -0
  28. package/dist/umd/src/exception/abort.exception.js +20 -0
  29. package/dist/umd/src/index.d.ts +1 -0
  30. package/dist/umd/src/index.js +4 -2
  31. package/dist/umd/src/is/is-abort-signal.d.ts +1 -0
  32. package/dist/umd/src/is/is-abort-signal.js +22 -0
  33. package/dist/umd/src/middlewares/fetch-arguments-middleware.js +4 -0
  34. package/dist/umd/src/middlewares/mutex-flow-control-middleware.d.ts +2 -0
  35. package/dist/umd/src/middlewares/mutex-flow-control-middleware.js +36 -0
  36. package/dist/umd/src/middlewares/retry-middleware.js +21 -4
  37. package/dist/umd/src/middlewares/timeout-middleware.js +4 -2
  38. package/dist/umd/src/types/keq-context.d.ts +10 -1
  39. package/dist/umd/src/types/keq-flow-control.d.ts +1 -1
  40. package/dist/umd/src/types/keq-global.d.ts +1 -0
  41. package/package.json +10 -13
  42. package/packages/cache/.turbo/turbo-build.log +0 -14
  43. package/packages/cache/dist/cache-entry/cache-entry.d.ts +0 -17
  44. package/packages/cache/dist/cache-entry/cache-entry.d.ts.map +0 -1
  45. package/packages/cache/dist/cache-entry/index.d.ts +0 -4
  46. package/packages/cache/dist/cache-entry/index.d.ts.map +0 -1
  47. package/packages/cache/dist/cache-entry/types/cache-entry-build-options.d.ts +0 -8
  48. package/packages/cache/dist/cache-entry/types/cache-entry-build-options.d.ts.map +0 -1
  49. package/packages/cache/dist/cache-entry/types/cache-entry-options.d.ts +0 -7
  50. package/packages/cache/dist/cache-entry/types/cache-entry-options.d.ts.map +0 -1
  51. package/packages/cache/dist/cache.d.ts +0 -44
  52. package/packages/cache/dist/cache.d.ts.map +0 -1
  53. package/packages/cache/dist/constants/eviction.enum.d.ts +0 -7
  54. package/packages/cache/dist/constants/eviction.enum.d.ts.map +0 -1
  55. package/packages/cache/dist/constants/index.d.ts +0 -5
  56. package/packages/cache/dist/constants/index.d.ts.map +0 -1
  57. package/packages/cache/dist/constants/max-expired-at.d.ts +0 -2
  58. package/packages/cache/dist/constants/max-expired-at.d.ts.map +0 -1
  59. package/packages/cache/dist/constants/size.enum.d.ts +0 -7
  60. package/packages/cache/dist/constants/size.enum.d.ts.map +0 -1
  61. package/packages/cache/dist/constants/strategy.enum.d.ts +0 -7
  62. package/packages/cache/dist/constants/strategy.enum.d.ts.map +0 -1
  63. package/packages/cache/dist/exceptions/cache-exception.d.ts +0 -5
  64. package/packages/cache/dist/exceptions/cache-exception.d.ts.map +0 -1
  65. package/packages/cache/dist/exceptions/index.d.ts +0 -2
  66. package/packages/cache/dist/exceptions/index.d.ts.map +0 -1
  67. package/packages/cache/dist/index.d.ts +0 -6
  68. package/packages/cache/dist/index.d.ts.map +0 -1
  69. package/packages/cache/dist/index.js +0 -1336
  70. package/packages/cache/dist/index.js.map +0 -1
  71. package/packages/cache/dist/index.mjs +0 -1305
  72. package/packages/cache/dist/index.mjs.map +0 -1
  73. package/packages/cache/dist/request-cache-handler/index.d.ts +0 -2
  74. package/packages/cache/dist/request-cache-handler/index.d.ts.map +0 -1
  75. package/packages/cache/dist/request-cache-handler/request-cache-handler.d.ts +0 -23
  76. package/packages/cache/dist/request-cache-handler/request-cache-handler.d.ts.map +0 -1
  77. package/packages/cache/dist/storage/index.d.ts +0 -6
  78. package/packages/cache/dist/storage/index.d.ts.map +0 -1
  79. package/packages/cache/dist/storage/indexed-db-storage/base-indexed-db-storage.d.ts +0 -22
  80. package/packages/cache/dist/storage/indexed-db-storage/base-indexed-db-storage.d.ts.map +0 -1
  81. package/packages/cache/dist/storage/indexed-db-storage/constants/default-table-name.d.ts +0 -2
  82. package/packages/cache/dist/storage/indexed-db-storage/constants/default-table-name.d.ts.map +0 -1
  83. package/packages/cache/dist/storage/indexed-db-storage/index.d.ts +0 -3
  84. package/packages/cache/dist/storage/indexed-db-storage/index.d.ts.map +0 -1
  85. package/packages/cache/dist/storage/indexed-db-storage/indexed-db-storage.d.ts +0 -12
  86. package/packages/cache/dist/storage/indexed-db-storage/indexed-db-storage.d.ts.map +0 -1
  87. package/packages/cache/dist/storage/indexed-db-storage/lfu-indexed-db-storage.d.ts +0 -11
  88. package/packages/cache/dist/storage/indexed-db-storage/lfu-indexed-db-storage.d.ts.map +0 -1
  89. package/packages/cache/dist/storage/indexed-db-storage/lru-indexed-db-storage.d.ts +0 -11
  90. package/packages/cache/dist/storage/indexed-db-storage/lru-indexed-db-storage.d.ts.map +0 -1
  91. package/packages/cache/dist/storage/indexed-db-storage/random-indexed-db-storage.d.ts +0 -11
  92. package/packages/cache/dist/storage/indexed-db-storage/random-indexed-db-storage.d.ts.map +0 -1
  93. package/packages/cache/dist/storage/indexed-db-storage/ttl-indexed-db-storage.d.ts +0 -11
  94. package/packages/cache/dist/storage/indexed-db-storage/ttl-indexed-db-storage.d.ts.map +0 -1
  95. package/packages/cache/dist/storage/indexed-db-storage/types/index.d.ts +0 -7
  96. package/packages/cache/dist/storage/indexed-db-storage/types/index.d.ts.map +0 -1
  97. package/packages/cache/dist/storage/indexed-db-storage/types/indexed-db-entry-metadata.d.ts +0 -12
  98. package/packages/cache/dist/storage/indexed-db-storage/types/indexed-db-entry-metadata.d.ts.map +0 -1
  99. package/packages/cache/dist/storage/indexed-db-storage/types/indexed-db-entry-response.d.ts +0 -8
  100. package/packages/cache/dist/storage/indexed-db-storage/types/indexed-db-entry-response.d.ts.map +0 -1
  101. package/packages/cache/dist/storage/indexed-db-storage/types/indexed-db-entry-visits.d.ts +0 -14
  102. package/packages/cache/dist/storage/indexed-db-storage/types/indexed-db-entry-visits.d.ts.map +0 -1
  103. package/packages/cache/dist/storage/indexed-db-storage/types/indexed-db-schema.d.ts +0 -29
  104. package/packages/cache/dist/storage/indexed-db-storage/types/indexed-db-schema.d.ts.map +0 -1
  105. package/packages/cache/dist/storage/indexed-db-storage/types/indexed-db-storage-options.d.ts +0 -14
  106. package/packages/cache/dist/storage/indexed-db-storage/types/indexed-db-storage-options.d.ts.map +0 -1
  107. package/packages/cache/dist/storage/indexed-db-storage/types/indexed-db-storage-size.d.ts +0 -13
  108. package/packages/cache/dist/storage/indexed-db-storage/types/indexed-db-storage-size.d.ts.map +0 -1
  109. package/packages/cache/dist/storage/internal-storage/internal-storage.d.ts +0 -16
  110. package/packages/cache/dist/storage/internal-storage/internal-storage.d.ts.map +0 -1
  111. package/packages/cache/dist/storage/internal-storage/types/events.d.ts +0 -16
  112. package/packages/cache/dist/storage/internal-storage/types/events.d.ts.map +0 -1
  113. package/packages/cache/dist/storage/internal-storage/types/storage-options.d.ts +0 -20
  114. package/packages/cache/dist/storage/internal-storage/types/storage-options.d.ts.map +0 -1
  115. package/packages/cache/dist/storage/keq-cache-storage.d.ts +0 -20
  116. package/packages/cache/dist/storage/keq-cache-storage.d.ts.map +0 -1
  117. package/packages/cache/dist/storage/memory-storage/base-memory-storage.d.ts +0 -31
  118. package/packages/cache/dist/storage/memory-storage/base-memory-storage.d.ts.map +0 -1
  119. package/packages/cache/dist/storage/memory-storage/index.d.ts +0 -3
  120. package/packages/cache/dist/storage/memory-storage/index.d.ts.map +0 -1
  121. package/packages/cache/dist/storage/memory-storage/lfu-memory-storage.d.ts +0 -11
  122. package/packages/cache/dist/storage/memory-storage/lfu-memory-storage.d.ts.map +0 -1
  123. package/packages/cache/dist/storage/memory-storage/lru-memory-storage.d.ts +0 -11
  124. package/packages/cache/dist/storage/memory-storage/lru-memory-storage.d.ts.map +0 -1
  125. package/packages/cache/dist/storage/memory-storage/memory-storage.d.ts +0 -13
  126. package/packages/cache/dist/storage/memory-storage/memory-storage.d.ts.map +0 -1
  127. package/packages/cache/dist/storage/memory-storage/random-memory-storage.d.ts +0 -11
  128. package/packages/cache/dist/storage/memory-storage/random-memory-storage.d.ts.map +0 -1
  129. package/packages/cache/dist/storage/memory-storage/ttl-memory-storage.d.ts +0 -11
  130. package/packages/cache/dist/storage/memory-storage/ttl-memory-storage.d.ts.map +0 -1
  131. package/packages/cache/dist/storage/memory-storage/types/index.d.ts +0 -3
  132. package/packages/cache/dist/storage/memory-storage/types/index.d.ts.map +0 -1
  133. package/packages/cache/dist/storage/memory-storage/types/memory-storage-options.d.ts +0 -9
  134. package/packages/cache/dist/storage/memory-storage/types/memory-storage-options.d.ts.map +0 -1
  135. package/packages/cache/dist/storage/memory-storage/types/memory-storage-size.d.ts +0 -13
  136. package/packages/cache/dist/storage/memory-storage/types/memory-storage-size.d.ts.map +0 -1
  137. package/packages/cache/dist/storage/memory-storage/utils/humanize-size.d.ts +0 -6
  138. package/packages/cache/dist/storage/memory-storage/utils/humanize-size.d.ts.map +0 -1
  139. package/packages/cache/dist/storage/memory-storage/utils/index.d.ts +0 -3
  140. package/packages/cache/dist/storage/memory-storage/utils/index.d.ts.map +0 -1
  141. package/packages/cache/dist/storage/memory-storage/utils/serialize-response-body.d.ts +0 -6
  142. package/packages/cache/dist/storage/memory-storage/utils/serialize-response-body.d.ts.map +0 -1
  143. package/packages/cache/dist/storage/multi-tier-storage/index.d.ts +0 -3
  144. package/packages/cache/dist/storage/multi-tier-storage/index.d.ts.map +0 -1
  145. package/packages/cache/dist/storage/multi-tier-storage/multi-tier-storage.d.ts +0 -36
  146. package/packages/cache/dist/storage/multi-tier-storage/multi-tier-storage.d.ts.map +0 -1
  147. package/packages/cache/dist/storage/multi-tier-storage/types/index.d.ts +0 -2
  148. package/packages/cache/dist/storage/multi-tier-storage/types/index.d.ts.map +0 -1
  149. package/packages/cache/dist/storage/multi-tier-storage/types/multi-tier-storage-options.d.ts +0 -5
  150. package/packages/cache/dist/storage/multi-tier-storage/types/multi-tier-storage-options.d.ts.map +0 -1
  151. package/packages/cache/dist/storage/tier-storage/index.d.ts +0 -3
  152. package/packages/cache/dist/storage/tier-storage/index.d.ts.map +0 -1
  153. package/packages/cache/dist/storage/tier-storage/tier-storage.d.ts +0 -15
  154. package/packages/cache/dist/storage/tier-storage/tier-storage.d.ts.map +0 -1
  155. package/packages/cache/dist/storage/tier-storage/types/index.d.ts +0 -2
  156. package/packages/cache/dist/storage/tier-storage/types/index.d.ts.map +0 -1
  157. package/packages/cache/dist/storage/tier-storage/types/tier-storage-options.d.ts +0 -21
  158. package/packages/cache/dist/storage/tier-storage/types/tier-storage-options.d.ts.map +0 -1
  159. package/packages/cache/dist/strategies/cache-first.d.ts +0 -3
  160. package/packages/cache/dist/strategies/cache-first.d.ts.map +0 -1
  161. package/packages/cache/dist/strategies/index.d.ts +0 -5
  162. package/packages/cache/dist/strategies/index.d.ts.map +0 -1
  163. package/packages/cache/dist/strategies/network-first.d.ts +0 -3
  164. package/packages/cache/dist/strategies/network-first.d.ts.map +0 -1
  165. package/packages/cache/dist/strategies/network-only.d.ts +0 -3
  166. package/packages/cache/dist/strategies/network-only.d.ts.map +0 -1
  167. package/packages/cache/dist/strategies/stale-while-revalidate.d.ts +0 -3
  168. package/packages/cache/dist/strategies/stale-while-revalidate.d.ts.map +0 -1
  169. package/packages/cache/dist/types/index.d.ts +0 -6
  170. package/packages/cache/dist/types/index.d.ts.map +0 -1
  171. package/packages/cache/dist/types/keq-cache-key.d.ts +0 -4
  172. package/packages/cache/dist/types/keq-cache-key.d.ts.map +0 -1
  173. package/packages/cache/dist/types/keq-cache-pattern.d.ts +0 -3
  174. package/packages/cache/dist/types/keq-cache-pattern.d.ts.map +0 -1
  175. package/packages/cache/dist/types/keq-cache-rule.d.ts +0 -6
  176. package/packages/cache/dist/types/keq-cache-rule.d.ts.map +0 -1
  177. package/packages/cache/dist/types/keq-cache-strategy.d.ts +0 -6
  178. package/packages/cache/dist/types/keq-cache-strategy.d.ts.map +0 -1
  179. package/packages/cache/dist/types/request-cache-options.d.ts +0 -45
  180. package/packages/cache/dist/types/request-cache-options.d.ts.map +0 -1
  181. package/packages/cache/dist/utils/get-response-bytes.d.ts +0 -2
  182. package/packages/cache/dist/utils/get-response-bytes.d.ts.map +0 -1
  183. package/packages/cache/dist/utils/index.d.ts +0 -4
  184. package/packages/cache/dist/utils/index.d.ts.map +0 -1
  185. package/packages/cache/dist/utils/logger.d.ts +0 -5
  186. package/packages/cache/dist/utils/logger.d.ts.map +0 -1
  187. package/packages/cache/dist/utils/random.d.ts +0 -2
  188. package/packages/cache/dist/utils/random.d.ts.map +0 -1
  189. package/packages/cli/.turbo/turbo-build.log +0 -11
  190. package/packages/cli/dist/cli.cjs +0 -2968
  191. package/packages/cli/dist/cli.cjs.map +0 -1
  192. package/packages/cli/dist/cli.d.ts +0 -3
  193. package/packages/cli/dist/cli.d.ts.map +0 -1
  194. package/packages/cli/dist/cli.js +0 -2945
  195. package/packages/cli/dist/cli.js.map +0 -1
  196. package/packages/cli/dist/compiler/compiler.d.ts +0 -17
  197. package/packages/cli/dist/compiler/compiler.d.ts.map +0 -1
  198. package/packages/cli/dist/compiler/index.d.ts +0 -4
  199. package/packages/cli/dist/compiler/index.d.ts.map +0 -1
  200. package/packages/cli/dist/compiler/intercepter/index.d.ts +0 -3
  201. package/packages/cli/dist/compiler/intercepter/index.d.ts.map +0 -1
  202. package/packages/cli/dist/compiler/intercepter/perfect-error-message.d.ts +0 -3
  203. package/packages/cli/dist/compiler/intercepter/perfect-error-message.d.ts.map +0 -1
  204. package/packages/cli/dist/compiler/intercepter/print-information.d.ts +0 -5
  205. package/packages/cli/dist/compiler/intercepter/print-information.d.ts.map +0 -1
  206. package/packages/cli/dist/compiler/tasks/compile/index.d.ts +0 -6
  207. package/packages/cli/dist/compiler/tasks/compile/index.d.ts.map +0 -1
  208. package/packages/cli/dist/compiler/tasks/download/index.d.ts +0 -10
  209. package/packages/cli/dist/compiler/tasks/download/index.d.ts.map +0 -1
  210. package/packages/cli/dist/compiler/tasks/index.d.ts +0 -6
  211. package/packages/cli/dist/compiler/tasks/index.d.ts.map +0 -1
  212. package/packages/cli/dist/compiler/tasks/persist/index.d.ts +0 -5
  213. package/packages/cli/dist/compiler/tasks/persist/index.d.ts.map +0 -1
  214. package/packages/cli/dist/compiler/tasks/setup/index.d.ts +0 -15
  215. package/packages/cli/dist/compiler/tasks/setup/index.d.ts.map +0 -1
  216. package/packages/cli/dist/compiler/tasks/setup/utils/find-nearest-package-json.d.ts +0 -6
  217. package/packages/cli/dist/compiler/tasks/setup/utils/find-nearest-package-json.d.ts.map +0 -1
  218. package/packages/cli/dist/compiler/tasks/setup/utils/get-project-module-system.d.ts +0 -5
  219. package/packages/cli/dist/compiler/tasks/setup/utils/get-project-module-system.d.ts.map +0 -1
  220. package/packages/cli/dist/compiler/tasks/setup/utils/index.d.ts +0 -3
  221. package/packages/cli/dist/compiler/tasks/setup/utils/index.d.ts.map +0 -1
  222. package/packages/cli/dist/compiler/tasks/setup/utils/parse-runtime-config.d.ts +0 -3
  223. package/packages/cli/dist/compiler/tasks/setup/utils/parse-runtime-config.d.ts.map +0 -1
  224. package/packages/cli/dist/compiler/tasks/types/base-task-options.d.ts +0 -6
  225. package/packages/cli/dist/compiler/tasks/types/base-task-options.d.ts.map +0 -1
  226. package/packages/cli/dist/compiler/tasks/types/index.d.ts +0 -3
  227. package/packages/cli/dist/compiler/tasks/types/index.d.ts.map +0 -1
  228. package/packages/cli/dist/compiler/tasks/types/task-wrapper.d.ts +0 -4
  229. package/packages/cli/dist/compiler/tasks/types/task-wrapper.d.ts.map +0 -1
  230. package/packages/cli/dist/compiler/types/compiler-context.d.ts +0 -11
  231. package/packages/cli/dist/compiler/types/compiler-context.d.ts.map +0 -1
  232. package/packages/cli/dist/compiler/types/compiler-hooks.d.ts +0 -19
  233. package/packages/cli/dist/compiler/types/compiler-hooks.d.ts.map +0 -1
  234. package/packages/cli/dist/compiler/types/index.d.ts +0 -3
  235. package/packages/cli/dist/compiler/types/index.d.ts.map +0 -1
  236. package/packages/cli/dist/constants/file-naming-style.d.ts +0 -14
  237. package/packages/cli/dist/constants/file-naming-style.d.ts.map +0 -1
  238. package/packages/cli/dist/constants/index.d.ts +0 -4
  239. package/packages/cli/dist/constants/index.d.ts.map +0 -1
  240. package/packages/cli/dist/constants/qs-array-format.d.ts +0 -9
  241. package/packages/cli/dist/constants/qs-array-format.d.ts.map +0 -1
  242. package/packages/cli/dist/constants/supported-methods.d.ts +0 -2
  243. package/packages/cli/dist/constants/supported-methods.d.ts.map +0 -1
  244. package/packages/cli/dist/define-config.d.ts +0 -3
  245. package/packages/cli/dist/define-config.d.ts.map +0 -1
  246. package/packages/cli/dist/exception.d.ts +0 -6
  247. package/packages/cli/dist/exception.d.ts.map +0 -1
  248. package/packages/cli/dist/generators/index.d.ts +0 -2
  249. package/packages/cli/dist/generators/index.d.ts.map +0 -1
  250. package/packages/cli/dist/index.cjs +0 -2899
  251. package/packages/cli/dist/index.cjs.map +0 -1
  252. package/packages/cli/dist/index.d.ts +0 -6
  253. package/packages/cli/dist/index.d.ts.map +0 -1
  254. package/packages/cli/dist/index.js +0 -2853
  255. package/packages/cli/dist/index.js.map +0 -1
  256. package/packages/cli/dist/models/anchor.d.ts +0 -20
  257. package/packages/cli/dist/models/anchor.d.ts.map +0 -1
  258. package/packages/cli/dist/models/api-document_v3_1.d.ts +0 -16
  259. package/packages/cli/dist/models/api-document_v3_1.d.ts.map +0 -1
  260. package/packages/cli/dist/models/artifact.d.ts +0 -17
  261. package/packages/cli/dist/models/artifact.d.ts.map +0 -1
  262. package/packages/cli/dist/models/asset.d.ts +0 -5
  263. package/packages/cli/dist/models/asset.d.ts.map +0 -1
  264. package/packages/cli/dist/models/index.d.ts +0 -8
  265. package/packages/cli/dist/models/index.d.ts.map +0 -1
  266. package/packages/cli/dist/models/module-definition.d.ts +0 -8
  267. package/packages/cli/dist/models/module-definition.d.ts.map +0 -1
  268. package/packages/cli/dist/models/operation-definition.d.ts +0 -23
  269. package/packages/cli/dist/models/operation-definition.d.ts.map +0 -1
  270. package/packages/cli/dist/models/schema-definition.d.ts +0 -20
  271. package/packages/cli/dist/models/schema-definition.d.ts.map +0 -1
  272. package/packages/cli/dist/models/utils/to-comment.d.ts +0 -2
  273. package/packages/cli/dist/models/utils/to-comment.d.ts.map +0 -1
  274. package/packages/cli/dist/plugins/body-fallback/index.d.ts +0 -6
  275. package/packages/cli/dist/plugins/body-fallback/index.d.ts.map +0 -1
  276. package/packages/cli/dist/plugins/chinese-to-pinyin/chinese-to-pinyin.plugin.d.ts +0 -5
  277. package/packages/cli/dist/plugins/chinese-to-pinyin/chinese-to-pinyin.plugin.d.ts.map +0 -1
  278. package/packages/cli/dist/plugins/chinese-to-pinyin/index.d.ts +0 -2
  279. package/packages/cli/dist/plugins/chinese-to-pinyin/index.d.ts.map +0 -1
  280. package/packages/cli/dist/plugins/download-http-file/download-http-file.plugin.d.ts +0 -8
  281. package/packages/cli/dist/plugins/download-http-file/download-http-file.plugin.d.ts.map +0 -1
  282. package/packages/cli/dist/plugins/download-http-file/index.d.ts +0 -2
  283. package/packages/cli/dist/plugins/download-http-file/index.d.ts.map +0 -1
  284. package/packages/cli/dist/plugins/download-local-file/download-local-file.plugin.d.ts +0 -6
  285. package/packages/cli/dist/plugins/download-local-file/download-local-file.plugin.d.ts.map +0 -1
  286. package/packages/cli/dist/plugins/download-local-file/index.d.ts +0 -2
  287. package/packages/cli/dist/plugins/download-local-file/index.d.ts.map +0 -1
  288. package/packages/cli/dist/plugins/eslint/index.d.ts +0 -15
  289. package/packages/cli/dist/plugins/eslint/index.d.ts.map +0 -1
  290. package/packages/cli/dist/plugins/generate-declaration/constants/index.d.ts +0 -2
  291. package/packages/cli/dist/plugins/generate-declaration/constants/index.d.ts.map +0 -1
  292. package/packages/cli/dist/plugins/generate-declaration/constants/metadata-storage.d.ts +0 -12
  293. package/packages/cli/dist/plugins/generate-declaration/constants/metadata-storage.d.ts.map +0 -1
  294. package/packages/cli/dist/plugins/generate-declaration/generate-declaration.plugin.d.ts +0 -15
  295. package/packages/cli/dist/plugins/generate-declaration/generate-declaration.plugin.d.ts.map +0 -1
  296. package/packages/cli/dist/plugins/generate-declaration/generators/index.d.ts +0 -3
  297. package/packages/cli/dist/plugins/generate-declaration/generators/index.d.ts.map +0 -1
  298. package/packages/cli/dist/plugins/generate-declaration/generators/operation-declaration/index.d.ts +0 -2
  299. package/packages/cli/dist/plugins/generate-declaration/generators/operation-declaration/index.d.ts.map +0 -1
  300. package/packages/cli/dist/plugins/generate-declaration/generators/operation-declaration/operation.generator.d.ts +0 -15
  301. package/packages/cli/dist/plugins/generate-declaration/generators/operation-declaration/operation.generator.d.ts.map +0 -1
  302. package/packages/cli/dist/plugins/generate-declaration/generators/schema-declaration/index.d.ts +0 -2
  303. package/packages/cli/dist/plugins/generate-declaration/generators/schema-declaration/index.d.ts.map +0 -1
  304. package/packages/cli/dist/plugins/generate-declaration/generators/schema-declaration/schema.generator.d.ts +0 -15
  305. package/packages/cli/dist/plugins/generate-declaration/generators/schema-declaration/schema.generator.d.ts.map +0 -1
  306. package/packages/cli/dist/plugins/generate-declaration/index.d.ts +0 -3
  307. package/packages/cli/dist/plugins/generate-declaration/index.d.ts.map +0 -1
  308. package/packages/cli/dist/plugins/generate-micro-function/constants/index.d.ts +0 -2
  309. package/packages/cli/dist/plugins/generate-micro-function/constants/index.d.ts.map +0 -1
  310. package/packages/cli/dist/plugins/generate-micro-function/constants/metadata-storage.d.ts +0 -11
  311. package/packages/cli/dist/plugins/generate-micro-function/constants/metadata-storage.d.ts.map +0 -1
  312. package/packages/cli/dist/plugins/generate-micro-function/generate-micro-function.plugin.d.ts +0 -11
  313. package/packages/cli/dist/plugins/generate-micro-function/generate-micro-function.plugin.d.ts.map +0 -1
  314. package/packages/cli/dist/plugins/generate-micro-function/generators/index.d.ts +0 -3
  315. package/packages/cli/dist/plugins/generate-micro-function/generators/index.d.ts.map +0 -1
  316. package/packages/cli/dist/plugins/generate-micro-function/generators/micro_function/index.d.ts +0 -2
  317. package/packages/cli/dist/plugins/generate-micro-function/generators/micro_function/index.d.ts.map +0 -1
  318. package/packages/cli/dist/plugins/generate-micro-function/generators/micro_function/micro-function.generator.d.ts +0 -15
  319. package/packages/cli/dist/plugins/generate-micro-function/generators/micro_function/micro-function.generator.d.ts.map +0 -1
  320. package/packages/cli/dist/plugins/generate-micro-function/generators/request/index.d.ts +0 -2
  321. package/packages/cli/dist/plugins/generate-micro-function/generators/request/index.d.ts.map +0 -1
  322. package/packages/cli/dist/plugins/generate-micro-function/generators/request/request.generator.d.ts +0 -11
  323. package/packages/cli/dist/plugins/generate-micro-function/generators/request/request.generator.d.ts.map +0 -1
  324. package/packages/cli/dist/plugins/generate-micro-function/index.d.ts +0 -3
  325. package/packages/cli/dist/plugins/generate-micro-function/index.d.ts.map +0 -1
  326. package/packages/cli/dist/plugins/generate-nestjs-module/constants/index.d.ts +0 -2
  327. package/packages/cli/dist/plugins/generate-nestjs-module/constants/index.d.ts.map +0 -1
  328. package/packages/cli/dist/plugins/generate-nestjs-module/constants/metadata-storage.d.ts +0 -10
  329. package/packages/cli/dist/plugins/generate-nestjs-module/constants/metadata-storage.d.ts.map +0 -1
  330. package/packages/cli/dist/plugins/generate-nestjs-module/generate-nestjs-module.d.ts +0 -10
  331. package/packages/cli/dist/plugins/generate-nestjs-module/generate-nestjs-module.d.ts.map +0 -1
  332. package/packages/cli/dist/plugins/generate-nestjs-module/generators/index.d.ts +0 -2
  333. package/packages/cli/dist/plugins/generate-nestjs-module/generators/index.d.ts.map +0 -1
  334. package/packages/cli/dist/plugins/generate-nestjs-module/generators/nestjs-module.generator.d.ts +0 -14
  335. package/packages/cli/dist/plugins/generate-nestjs-module/generators/nestjs-module.generator.d.ts.map +0 -1
  336. package/packages/cli/dist/plugins/generate-nestjs-module/index.d.ts +0 -3
  337. package/packages/cli/dist/plugins/generate-nestjs-module/index.d.ts.map +0 -1
  338. package/packages/cli/dist/plugins/index.d.ts +0 -15
  339. package/packages/cli/dist/plugins/index.d.ts.map +0 -1
  340. package/packages/cli/dist/plugins/initialize/index.d.ts +0 -2
  341. package/packages/cli/dist/plugins/initialize/index.d.ts.map +0 -1
  342. package/packages/cli/dist/plugins/initialize/initialize.plugin.d.ts +0 -15
  343. package/packages/cli/dist/plugins/initialize/initialize.plugin.d.ts.map +0 -1
  344. package/packages/cli/dist/plugins/overwrite-operation-id/index.d.ts +0 -2
  345. package/packages/cli/dist/plugins/overwrite-operation-id/index.d.ts.map +0 -1
  346. package/packages/cli/dist/plugins/overwrite-operation-id/overwrite-operation-id.plugin.d.ts +0 -20
  347. package/packages/cli/dist/plugins/overwrite-operation-id/overwrite-operation-id.plugin.d.ts.map +0 -1
  348. package/packages/cli/dist/plugins/overwrite-query-options/index.d.ts +0 -2
  349. package/packages/cli/dist/plugins/overwrite-query-options/index.d.ts.map +0 -1
  350. package/packages/cli/dist/plugins/overwrite-query-options/overwrite-query-options.plugin.d.ts +0 -18
  351. package/packages/cli/dist/plugins/overwrite-query-options/overwrite-query-options.plugin.d.ts.map +0 -1
  352. package/packages/cli/dist/plugins/prettier/index.d.ts +0 -2
  353. package/packages/cli/dist/plugins/prettier/index.d.ts.map +0 -1
  354. package/packages/cli/dist/plugins/prettier/prettier.plugin.d.ts +0 -6
  355. package/packages/cli/dist/plugins/prettier/prettier.plugin.d.ts.map +0 -1
  356. package/packages/cli/dist/plugins/shaking/index.d.ts +0 -2
  357. package/packages/cli/dist/plugins/shaking/index.d.ts.map +0 -1
  358. package/packages/cli/dist/plugins/shaking/shaking.plugin.d.ts +0 -8
  359. package/packages/cli/dist/plugins/shaking/shaking.plugin.d.ts.map +0 -1
  360. package/packages/cli/dist/plugins/terminal-select/index.d.ts +0 -2
  361. package/packages/cli/dist/plugins/terminal-select/index.d.ts.map +0 -1
  362. package/packages/cli/dist/plugins/terminal-select/terminal-select.plugin.d.ts +0 -18
  363. package/packages/cli/dist/plugins/terminal-select/terminal-select.plugin.d.ts.map +0 -1
  364. package/packages/cli/dist/plugins/terminal-select/types/ignore-mode.d.ts +0 -2
  365. package/packages/cli/dist/plugins/terminal-select/types/ignore-mode.d.ts.map +0 -1
  366. package/packages/cli/dist/plugins/terminal-select/types/index.d.ts +0 -2
  367. package/packages/cli/dist/plugins/terminal-select/types/index.d.ts.map +0 -1
  368. package/packages/cli/dist/plugins/terminal-select/utils/index.d.ts +0 -2
  369. package/packages/cli/dist/plugins/terminal-select/utils/index.d.ts.map +0 -1
  370. package/packages/cli/dist/plugins/terminal-select/utils/select-operation-definitions.d.ts +0 -5
  371. package/packages/cli/dist/plugins/terminal-select/utils/select-operation-definitions.d.ts.map +0 -1
  372. package/packages/cli/dist/plugins.cjs +0 -2438
  373. package/packages/cli/dist/plugins.cjs.map +0 -1
  374. package/packages/cli/dist/plugins.js +0 -2378
  375. package/packages/cli/dist/plugins.js.map +0 -1
  376. package/packages/cli/dist/transformers/api-document/api-document.transformer.d.ts +0 -8
  377. package/packages/cli/dist/transformers/api-document/api-document.transformer.d.ts.map +0 -1
  378. package/packages/cli/dist/transformers/api-document/index.d.ts +0 -2
  379. package/packages/cli/dist/transformers/api-document/index.d.ts.map +0 -1
  380. package/packages/cli/dist/transformers/api-document/nestjs-client.renderer.d.ts +0 -14
  381. package/packages/cli/dist/transformers/api-document/nestjs-client.renderer.d.ts.map +0 -1
  382. package/packages/cli/dist/transformers/api-document/nestjs-module.renderer.d.ts +0 -12
  383. package/packages/cli/dist/transformers/api-document/nestjs-module.renderer.d.ts.map +0 -1
  384. package/packages/cli/dist/transformers/entrypoint/entrypoint.transformer.d.ts +0 -10
  385. package/packages/cli/dist/transformers/entrypoint/entrypoint.transformer.d.ts.map +0 -1
  386. package/packages/cli/dist/transformers/entrypoint/index.d.ts +0 -2
  387. package/packages/cli/dist/transformers/entrypoint/index.d.ts.map +0 -1
  388. package/packages/cli/dist/transformers/index.d.ts +0 -6
  389. package/packages/cli/dist/transformers/index.d.ts.map +0 -1
  390. package/packages/cli/dist/transformers/json-schema/comment.renderer.d.ts +0 -8
  391. package/packages/cli/dist/transformers/json-schema/comment.renderer.d.ts.map +0 -1
  392. package/packages/cli/dist/transformers/json-schema/declaration.renderer.d.ts +0 -26
  393. package/packages/cli/dist/transformers/json-schema/declaration.renderer.d.ts.map +0 -1
  394. package/packages/cli/dist/transformers/json-schema/index.d.ts +0 -4
  395. package/packages/cli/dist/transformers/json-schema/index.d.ts.map +0 -1
  396. package/packages/cli/dist/transformers/json-schema/json-schema.transformer.d.ts +0 -7
  397. package/packages/cli/dist/transformers/json-schema/json-schema.transformer.d.ts.map +0 -1
  398. package/packages/cli/dist/transformers/json-schema/reference.transformer.d.ts +0 -5
  399. package/packages/cli/dist/transformers/json-schema/reference.transformer.d.ts.map +0 -1
  400. package/packages/cli/dist/transformers/json-schema/types/any-other-attribute.d.ts +0 -5
  401. package/packages/cli/dist/transformers/json-schema/types/any-other-attribute.d.ts.map +0 -1
  402. package/packages/cli/dist/transformers/json-schema/types/index.d.ts +0 -3
  403. package/packages/cli/dist/transformers/json-schema/types/index.d.ts.map +0 -1
  404. package/packages/cli/dist/transformers/json-schema/types/mixed-schema-object.d.ts +0 -7
  405. package/packages/cli/dist/transformers/json-schema/types/mixed-schema-object.d.ts.map +0 -1
  406. package/packages/cli/dist/transformers/operation-definition/comment.renderer.d.ts +0 -8
  407. package/packages/cli/dist/transformers/operation-definition/comment.renderer.d.ts.map +0 -1
  408. package/packages/cli/dist/transformers/operation-definition/declaration.renderer.d.ts +0 -20
  409. package/packages/cli/dist/transformers/operation-definition/declaration.renderer.d.ts.map +0 -1
  410. package/packages/cli/dist/transformers/operation-definition/index.d.ts +0 -3
  411. package/packages/cli/dist/transformers/operation-definition/index.d.ts.map +0 -1
  412. package/packages/cli/dist/transformers/operation-definition/micro-function.renderer.d.ts +0 -19
  413. package/packages/cli/dist/transformers/operation-definition/micro-function.renderer.d.ts.map +0 -1
  414. package/packages/cli/dist/transformers/operation-definition/nestjs-method.renderer.d.ts +0 -15
  415. package/packages/cli/dist/transformers/operation-definition/nestjs-method.renderer.d.ts.map +0 -1
  416. package/packages/cli/dist/transformers/operation-definition/operation-definition.transformer.d.ts +0 -11
  417. package/packages/cli/dist/transformers/operation-definition/operation-definition.transformer.d.ts.map +0 -1
  418. package/packages/cli/dist/transformers/operation-definition/typescript-snippet.d.ts +0 -22
  419. package/packages/cli/dist/transformers/operation-definition/typescript-snippet.d.ts.map +0 -1
  420. package/packages/cli/dist/transformers/operation-definition/utils/index.d.ts +0 -2
  421. package/packages/cli/dist/transformers/operation-definition/utils/index.d.ts.map +0 -1
  422. package/packages/cli/dist/transformers/operation-definition/utils/type-name-factory.d.ts +0 -4
  423. package/packages/cli/dist/transformers/operation-definition/utils/type-name-factory.d.ts.map +0 -1
  424. package/packages/cli/dist/transformers/schema-definition/index.d.ts +0 -2
  425. package/packages/cli/dist/transformers/schema-definition/index.d.ts.map +0 -1
  426. package/packages/cli/dist/transformers/schema-definition/schema-definition.transformer.d.ts +0 -10
  427. package/packages/cli/dist/transformers/schema-definition/schema-definition.transformer.d.ts.map +0 -1
  428. package/packages/cli/dist/transformers/types/renderer.d.ts +0 -4
  429. package/packages/cli/dist/transformers/types/renderer.d.ts.map +0 -1
  430. package/packages/cli/dist/types/address.d.ts +0 -8
  431. package/packages/cli/dist/types/address.d.ts.map +0 -1
  432. package/packages/cli/dist/types/build-cli-options.d.ts +0 -19
  433. package/packages/cli/dist/types/build-cli-options.d.ts.map +0 -1
  434. package/packages/cli/dist/types/generator.d.ts +0 -7
  435. package/packages/cli/dist/types/generator.d.ts.map +0 -1
  436. package/packages/cli/dist/types/index.d.ts +0 -7
  437. package/packages/cli/dist/types/index.d.ts.map +0 -1
  438. package/packages/cli/dist/types/plugin.d.ts +0 -5
  439. package/packages/cli/dist/types/plugin.d.ts.map +0 -1
  440. package/packages/cli/dist/types/runtime-config.d.ts +0 -41
  441. package/packages/cli/dist/types/runtime-config.d.ts.map +0 -1
  442. package/packages/cli/dist/types/to-code-options.d.ts +0 -4
  443. package/packages/cli/dist/types/to-code-options.d.ts.map +0 -1
  444. package/packages/cli/dist/utils/debugger.d.ts +0 -7
  445. package/packages/cli/dist/utils/debugger.d.ts.map +0 -1
  446. package/packages/cli/dist/utils/ignore-matcher.d.ts +0 -18
  447. package/packages/cli/dist/utils/ignore-matcher.d.ts.map +0 -1
  448. package/packages/cli/dist/utils/indent.d.ts +0 -2
  449. package/packages/cli/dist/utils/indent.d.ts.map +0 -1
  450. package/packages/cli/dist/utils/is-keywords.d.ts +0 -2
  451. package/packages/cli/dist/utils/is-keywords.d.ts.map +0 -1
  452. package/packages/cli/dist/utils/is-reserved-word.d.ts +0 -2
  453. package/packages/cli/dist/utils/is-reserved-word.d.ts.map +0 -1
  454. package/packages/cli/dist/utils/is-valid-url.d.ts +0 -16
  455. package/packages/cli/dist/utils/is-valid-url.d.ts.map +0 -1
  456. package/packages/cli/dist/utils/json-schema-utils/index.d.ts +0 -11
  457. package/packages/cli/dist/utils/json-schema-utils/index.d.ts.map +0 -1
  458. package/packages/cli/dist/utils/json-schema-utils/is-array.d.ts +0 -3
  459. package/packages/cli/dist/utils/json-schema-utils/is-array.d.ts.map +0 -1
  460. package/packages/cli/dist/utils/json-schema-utils/is-mixed.d.ts +0 -4
  461. package/packages/cli/dist/utils/json-schema-utils/is-mixed.d.ts.map +0 -1
  462. package/packages/cli/dist/utils/json-schema-utils/is-non-array.d.ts +0 -3
  463. package/packages/cli/dist/utils/json-schema-utils/is-non-array.d.ts.map +0 -1
  464. package/packages/cli/dist/utils/json-schema-utils/is-ref.d.ts +0 -3
  465. package/packages/cli/dist/utils/json-schema-utils/is-ref.d.ts.map +0 -1
  466. package/packages/cli/dist/utils/json-schema-utils/types/any-other-attribute.d.ts +0 -5
  467. package/packages/cli/dist/utils/json-schema-utils/types/any-other-attribute.d.ts.map +0 -1
  468. package/packages/cli/dist/utils/json-schema-utils/types/mixed-schema-object.d.ts +0 -7
  469. package/packages/cli/dist/utils/json-schema-utils/types/mixed-schema-object.d.ts.map +0 -1
  470. package/packages/cli/dist/utils/logger.d.ts +0 -6
  471. package/packages/cli/dist/utils/logger.d.ts.map +0 -1
  472. package/packages/cli/dist/utils/openapi-utils/dereference-deep.d.ts +0 -3
  473. package/packages/cli/dist/utils/openapi-utils/dereference-deep.d.ts.map +0 -1
  474. package/packages/cli/dist/utils/openapi-utils/dereference-operation.d.ts +0 -4
  475. package/packages/cli/dist/utils/openapi-utils/dereference-operation.d.ts.map +0 -1
  476. package/packages/cli/dist/utils/openapi-utils/dereference.d.ts +0 -3
  477. package/packages/cli/dist/utils/openapi-utils/dereference.d.ts.map +0 -1
  478. package/packages/cli/dist/utils/openapi-utils/index.d.ts +0 -19
  479. package/packages/cli/dist/utils/openapi-utils/index.d.ts.map +0 -1
  480. package/packages/cli/dist/utils/openapi-utils/is-ref-defined.d.ts +0 -3
  481. package/packages/cli/dist/utils/openapi-utils/is-ref-defined.d.ts.map +0 -1
  482. package/packages/cli/dist/utils/openapi-utils/map-operation.d.ts +0 -4
  483. package/packages/cli/dist/utils/openapi-utils/map-operation.d.ts.map +0 -1
  484. package/packages/cli/dist/utils/openapi-utils/map-parameter.d.ts +0 -4
  485. package/packages/cli/dist/utils/openapi-utils/map-parameter.d.ts.map +0 -1
  486. package/packages/cli/dist/utils/openapi-utils/remove-undefined-ref.d.ts +0 -3
  487. package/packages/cli/dist/utils/openapi-utils/remove-undefined-ref.d.ts.map +0 -1
  488. package/packages/cli/dist/utils/openapi-utils/to-3_1.d.ts +0 -3
  489. package/packages/cli/dist/utils/openapi-utils/to-3_1.d.ts.map +0 -1
  490. package/packages/cli/node_modules/.bin/eslint +0 -21
  491. package/packages/cli/node_modules/.bin/jiti +0 -21
  492. package/packages/cli/node_modules/.bin/js-yaml +0 -21
  493. package/packages/cli/node_modules/.bin/jsonpath +0 -21
  494. package/packages/cli/node_modules/.bin/jsonpath-plus +0 -21
  495. package/packages/cli/node_modules/.bin/semver +0 -21
  496. package/packages/cli/node_modules/.bin/tsc +0 -21
  497. package/packages/cli/node_modules/.bin/tsserver +0 -21
  498. package/packages/exception/.turbo/turbo-build.log +0 -34
  499. package/packages/exception/dist/catch-exception.d.ts +0 -4
  500. package/packages/exception/dist/catch-exception.d.ts.map +0 -1
  501. package/packages/exception/dist/index.d.ts +0 -4
  502. package/packages/exception/dist/index.d.ts.map +0 -1
  503. package/packages/exception/dist/index.js +0 -112
  504. package/packages/exception/dist/index.js.map +0 -1
  505. package/packages/exception/dist/index.mjs +0 -111
  506. package/packages/exception/dist/index.mjs.map +0 -1
  507. package/packages/exception/dist/plugins/index.d.mts +0 -12
  508. package/packages/exception/dist/plugins/index.d.ts +0 -12
  509. package/packages/exception/dist/plugins/index.js +0 -95
  510. package/packages/exception/dist/plugins/index.mjs +0 -68
  511. package/packages/exception/dist/throw-exception.d.ts +0 -5
  512. package/packages/exception/dist/throw-exception.d.ts.map +0 -1
  513. package/packages/exception/dist/validate-status-code.d.ts +0 -3
  514. package/packages/exception/dist/validate-status-code.d.ts.map +0 -1
  515. package/packages/exception/node_modules/.bin/keq +0 -21
  516. package/packages/headers/.turbo/turbo-build.log +0 -21
  517. package/packages/headers/dist/index.d.ts +0 -42
  518. package/packages/headers/dist/index.d.ts.map +0 -1
  519. package/packages/headers/dist/index.js +0 -77
  520. package/packages/headers/dist/index.js.map +0 -1
  521. package/packages/headers/dist/index.mjs +0 -56
  522. package/packages/headers/dist/index.mjs.map +0 -1
  523. package/packages/keq/.turbo/turbo-build.log +0 -19
  524. package/packages/keq/dist/context/execution-context.d.ts +0 -26
  525. package/packages/keq/dist/context/execution-context.d.ts.map +0 -1
  526. package/packages/keq/dist/context/index.d.ts +0 -5
  527. package/packages/keq/dist/context/index.d.ts.map +0 -1
  528. package/packages/keq/dist/context/middleware-context.d.ts +0 -11
  529. package/packages/keq/dist/context/middleware-context.d.ts.map +0 -1
  530. package/packages/keq/dist/context/orchestrator-context.d.ts +0 -18
  531. package/packages/keq/dist/context/orchestrator-context.d.ts.map +0 -1
  532. package/packages/keq/dist/context/shared-context.d.ts +0 -43
  533. package/packages/keq/dist/context/shared-context.d.ts.map +0 -1
  534. package/packages/keq/dist/context/types/index.d.ts +0 -6
  535. package/packages/keq/dist/context/types/index.d.ts.map +0 -1
  536. package/packages/keq/dist/context/types/keq-context-data.d.ts +0 -7
  537. package/packages/keq/dist/context/types/keq-context-data.d.ts.map +0 -1
  538. package/packages/keq/dist/context/types/keq-context-emitter.d.ts +0 -35
  539. package/packages/keq/dist/context/types/keq-context-emitter.d.ts.map +0 -1
  540. package/packages/keq/dist/context/types/keq-context-options/index.d.ts +0 -6
  541. package/packages/keq/dist/context/types/keq-context-options/index.d.ts.map +0 -1
  542. package/packages/keq/dist/context/types/keq-context-options/keq-context-options.d.ts +0 -5
  543. package/packages/keq/dist/context/types/keq-context-options/keq-context-options.d.ts.map +0 -1
  544. package/packages/keq/dist/context/types/keq-context-options/keq-middleware-options.d.ts +0 -33
  545. package/packages/keq/dist/context/types/keq-context-options/keq-middleware-options.d.ts.map +0 -1
  546. package/packages/keq/dist/context/types/keq-context-options/keq-module-options.d.ts +0 -5
  547. package/packages/keq/dist/context/types/keq-context-options/keq-module-options.d.ts.map +0 -1
  548. package/packages/keq/dist/context/types/keq-context-options/keq-resolve-with-mode.d.ts +0 -2
  549. package/packages/keq/dist/context/types/keq-context-options/keq-resolve-with-mode.d.ts.map +0 -1
  550. package/packages/keq/dist/context/types/keq-context-options/keq-retry-options.d.ts +0 -9
  551. package/packages/keq/dist/context/types/keq-context-options/keq-retry-options.d.ts.map +0 -1
  552. package/packages/keq/dist/context/types/keq-context.d.ts +0 -17
  553. package/packages/keq/dist/context/types/keq-context.d.ts.map +0 -1
  554. package/packages/keq/dist/context/types/keq-global.d.ts +0 -12
  555. package/packages/keq/dist/context/types/keq-global.d.ts.map +0 -1
  556. package/packages/keq/dist/context/utils/assign-shared-context.d.ts +0 -3
  557. package/packages/keq/dist/context/utils/assign-shared-context.d.ts.map +0 -1
  558. package/packages/keq/dist/context/utils/clone-shared-context.d.ts +0 -3
  559. package/packages/keq/dist/context/utils/clone-shared-context.d.ts.map +0 -1
  560. package/packages/keq/dist/context/utils/create-proxy-response.d.ts +0 -2
  561. package/packages/keq/dist/context/utils/create-proxy-response.d.ts.map +0 -1
  562. package/packages/keq/dist/context/utils/fork.d.ts +0 -6
  563. package/packages/keq/dist/context/utils/fork.d.ts.map +0 -1
  564. package/packages/keq/dist/context/utils/index.d.ts +0 -5
  565. package/packages/keq/dist/context/utils/index.d.ts.map +0 -1
  566. package/packages/keq/dist/context/utils/watch-object.d.ts +0 -5
  567. package/packages/keq/dist/context/utils/watch-object.d.ts.map +0 -1
  568. package/packages/keq/dist/exception/abort.exception.d.ts +0 -4
  569. package/packages/keq/dist/exception/abort.exception.d.ts.map +0 -1
  570. package/packages/keq/dist/exception/exception.d.ts +0 -5
  571. package/packages/keq/dist/exception/exception.d.ts.map +0 -1
  572. package/packages/keq/dist/exception/http-exceptions/bad-gateway.exception.d.ts +0 -5
  573. package/packages/keq/dist/exception/http-exceptions/bad-gateway.exception.d.ts.map +0 -1
  574. package/packages/keq/dist/exception/http-exceptions/bad-request.exception.d.ts +0 -5
  575. package/packages/keq/dist/exception/http-exceptions/bad-request.exception.d.ts.map +0 -1
  576. package/packages/keq/dist/exception/http-exceptions/conflict.exception.d.ts +0 -5
  577. package/packages/keq/dist/exception/http-exceptions/conflict.exception.d.ts.map +0 -1
  578. package/packages/keq/dist/exception/http-exceptions/content-too-large.exception.d.ts +0 -5
  579. package/packages/keq/dist/exception/http-exceptions/content-too-large.exception.d.ts.map +0 -1
  580. package/packages/keq/dist/exception/http-exceptions/forbidden.exception.d.ts +0 -5
  581. package/packages/keq/dist/exception/http-exceptions/forbidden.exception.d.ts.map +0 -1
  582. package/packages/keq/dist/exception/http-exceptions/gateway-timeout.exception.d.ts +0 -5
  583. package/packages/keq/dist/exception/http-exceptions/gateway-timeout.exception.d.ts.map +0 -1
  584. package/packages/keq/dist/exception/http-exceptions/http-version-not-supported.exception.d.ts +0 -5
  585. package/packages/keq/dist/exception/http-exceptions/http-version-not-supported.exception.d.ts.map +0 -1
  586. package/packages/keq/dist/exception/http-exceptions/im-a-teapot.exception.d.ts +0 -5
  587. package/packages/keq/dist/exception/http-exceptions/im-a-teapot.exception.d.ts.map +0 -1
  588. package/packages/keq/dist/exception/http-exceptions/index.d.ts +0 -22
  589. package/packages/keq/dist/exception/http-exceptions/index.d.ts.map +0 -1
  590. package/packages/keq/dist/exception/http-exceptions/internal-server-error.exception.d.ts +0 -5
  591. package/packages/keq/dist/exception/http-exceptions/internal-server-error.exception.d.ts.map +0 -1
  592. package/packages/keq/dist/exception/http-exceptions/method-not-allowed.exception.d.ts +0 -5
  593. package/packages/keq/dist/exception/http-exceptions/method-not-allowed.exception.d.ts.map +0 -1
  594. package/packages/keq/dist/exception/http-exceptions/not-acceptable.exception.d.ts +0 -5
  595. package/packages/keq/dist/exception/http-exceptions/not-acceptable.exception.d.ts.map +0 -1
  596. package/packages/keq/dist/exception/http-exceptions/not-founded.exception.d.ts +0 -5
  597. package/packages/keq/dist/exception/http-exceptions/not-founded.exception.d.ts.map +0 -1
  598. package/packages/keq/dist/exception/http-exceptions/not-implemented.exception.d.ts +0 -5
  599. package/packages/keq/dist/exception/http-exceptions/not-implemented.exception.d.ts.map +0 -1
  600. package/packages/keq/dist/exception/http-exceptions/precondition-failed.exception.d.ts +0 -5
  601. package/packages/keq/dist/exception/http-exceptions/precondition-failed.exception.d.ts.map +0 -1
  602. package/packages/keq/dist/exception/http-exceptions/proxy-authentication-required.exception.d.ts +0 -5
  603. package/packages/keq/dist/exception/http-exceptions/proxy-authentication-required.exception.d.ts.map +0 -1
  604. package/packages/keq/dist/exception/http-exceptions/request-timeout.exception.d.ts +0 -5
  605. package/packages/keq/dist/exception/http-exceptions/request-timeout.exception.d.ts.map +0 -1
  606. package/packages/keq/dist/exception/http-exceptions/request.exception.d.ts +0 -12
  607. package/packages/keq/dist/exception/http-exceptions/request.exception.d.ts.map +0 -1
  608. package/packages/keq/dist/exception/http-exceptions/service-unavailable.exception.d.ts +0 -5
  609. package/packages/keq/dist/exception/http-exceptions/service-unavailable.exception.d.ts.map +0 -1
  610. package/packages/keq/dist/exception/http-exceptions/too-many-requests.exception.d.ts +0 -5
  611. package/packages/keq/dist/exception/http-exceptions/too-many-requests.exception.d.ts.map +0 -1
  612. package/packages/keq/dist/exception/http-exceptions/unauthorized.exception.d.ts +0 -5
  613. package/packages/keq/dist/exception/http-exceptions/unauthorized.exception.d.ts.map +0 -1
  614. package/packages/keq/dist/exception/http-exceptions/unsupported-media-type.exception.d.ts +0 -5
  615. package/packages/keq/dist/exception/http-exceptions/unsupported-media-type.exception.d.ts.map +0 -1
  616. package/packages/keq/dist/exception/http-exceptions/uri-too-long.exception.d.ts +0 -5
  617. package/packages/keq/dist/exception/http-exceptions/uri-too-long.exception.d.ts.map +0 -1
  618. package/packages/keq/dist/exception/index.d.ts +0 -6
  619. package/packages/keq/dist/exception/index.d.ts.map +0 -1
  620. package/packages/keq/dist/exception/timeout.exception.d.ts +0 -5
  621. package/packages/keq/dist/exception/timeout.exception.d.ts.map +0 -1
  622. package/packages/keq/dist/exception/type.exception.d.ts +0 -5
  623. package/packages/keq/dist/exception/type.exception.d.ts.map +0 -1
  624. package/packages/keq/dist/index.d.ts +0 -8
  625. package/packages/keq/dist/index.d.ts.map +0 -1
  626. package/packages/keq/dist/index.js +0 -1991
  627. package/packages/keq/dist/index.js.map +0 -1
  628. package/packages/keq/dist/index.mjs +0 -1960
  629. package/packages/keq/dist/index.mjs.map +0 -1
  630. package/packages/keq/dist/middleware/index.d.ts +0 -3
  631. package/packages/keq/dist/middleware/index.d.ts.map +0 -1
  632. package/packages/keq/dist/middleware/types/index.d.ts +0 -3
  633. package/packages/keq/dist/middleware/types/index.d.ts.map +0 -1
  634. package/packages/keq/dist/middleware/types/keq-middleware.d.ts +0 -8
  635. package/packages/keq/dist/middleware/types/keq-middleware.d.ts.map +0 -1
  636. package/packages/keq/dist/middleware/types/keq-next.d.ts +0 -2
  637. package/packages/keq/dist/middleware/types/keq-next.d.ts.map +0 -1
  638. package/packages/keq/dist/middleware/utils/compose-middleware.d.ts +0 -7
  639. package/packages/keq/dist/middleware/utils/compose-middleware.d.ts.map +0 -1
  640. package/packages/keq/dist/middleware/utils/get-middleware-name.d.ts +0 -3
  641. package/packages/keq/dist/middleware/utils/get-middleware-name.d.ts.map +0 -1
  642. package/packages/keq/dist/middleware/utils/index.d.ts +0 -3
  643. package/packages/keq/dist/middleware/utils/index.d.ts.map +0 -1
  644. package/packages/keq/dist/middlewares/fetch-middleware/index.d.ts +0 -6
  645. package/packages/keq/dist/middlewares/fetch-middleware/index.d.ts.map +0 -1
  646. package/packages/keq/dist/middlewares/flow-control-middleware/abort-flow-control-middleware.d.ts +0 -3
  647. package/packages/keq/dist/middlewares/flow-control-middleware/abort-flow-control-middleware.d.ts.map +0 -1
  648. package/packages/keq/dist/middlewares/flow-control-middleware/index.d.ts +0 -4
  649. package/packages/keq/dist/middlewares/flow-control-middleware/index.d.ts.map +0 -1
  650. package/packages/keq/dist/middlewares/flow-control-middleware/serial-flow-control-middleware.d.ts +0 -3
  651. package/packages/keq/dist/middlewares/flow-control-middleware/serial-flow-control-middleware.d.ts.map +0 -1
  652. package/packages/keq/dist/middlewares/flow-control-middleware/types/keq-flow-control.d.ts +0 -9
  653. package/packages/keq/dist/middlewares/flow-control-middleware/types/keq-flow-control.d.ts.map +0 -1
  654. package/packages/keq/dist/middlewares/index.d.ts +0 -4
  655. package/packages/keq/dist/middlewares/index.d.ts.map +0 -1
  656. package/packages/keq/dist/middlewares/timeout-middleware/index.d.ts +0 -6
  657. package/packages/keq/dist/middlewares/timeout-middleware/index.d.ts.map +0 -1
  658. package/packages/keq/dist/orchestrator/executor.d.ts +0 -13
  659. package/packages/keq/dist/orchestrator/executor.d.ts.map +0 -1
  660. package/packages/keq/dist/orchestrator/index.d.ts +0 -3
  661. package/packages/keq/dist/orchestrator/index.d.ts.map +0 -1
  662. package/packages/keq/dist/orchestrator/orchestrator.d.ts +0 -25
  663. package/packages/keq/dist/orchestrator/orchestrator.d.ts.map +0 -1
  664. package/packages/keq/dist/request/core.d.ts +0 -48
  665. package/packages/keq/dist/request/core.d.ts.map +0 -1
  666. package/packages/keq/dist/request/create-request.d.ts +0 -7
  667. package/packages/keq/dist/request/create-request.d.ts.map +0 -1
  668. package/packages/keq/dist/request/index.d.ts +0 -6
  669. package/packages/keq/dist/request/index.d.ts.map +0 -1
  670. package/packages/keq/dist/request/keq.d.ts +0 -120
  671. package/packages/keq/dist/request/keq.d.ts.map +0 -1
  672. package/packages/keq/dist/request/request.d.ts +0 -79
  673. package/packages/keq/dist/request/request.d.ts.map +0 -1
  674. package/packages/keq/dist/request/types/api-schema/api-schema-select.d.ts +0 -42
  675. package/packages/keq/dist/request/types/api-schema/api-schema-select.d.ts.map +0 -1
  676. package/packages/keq/dist/request/types/api-schema/api-schema.d.ts +0 -8
  677. package/packages/keq/dist/request/types/api-schema/api-schema.d.ts.map +0 -1
  678. package/packages/keq/dist/request/types/api-schema/default-operation.d.ts +0 -18
  679. package/packages/keq/dist/request/types/api-schema/default-operation.d.ts.map +0 -1
  680. package/packages/keq/dist/request/types/api-schema/extract-method-operations.d.ts +0 -31
  681. package/packages/keq/dist/request/types/api-schema/extract-method-operations.d.ts.map +0 -1
  682. package/packages/keq/dist/request/types/api-schema/index.d.ts +0 -6
  683. package/packages/keq/dist/request/types/api-schema/index.d.ts.map +0 -1
  684. package/packages/keq/dist/request/types/api-schema/operation.d.ts +0 -17
  685. package/packages/keq/dist/request/types/api-schema/operation.d.ts.map +0 -1
  686. package/packages/keq/dist/request/types/content-type.d.ts +0 -3
  687. package/packages/keq/dist/request/types/content-type.d.ts.map +0 -1
  688. package/packages/keq/dist/request/types/index.d.ts +0 -8
  689. package/packages/keq/dist/request/types/index.d.ts.map +0 -1
  690. package/packages/keq/dist/request/types/keq-attachable-file.d.ts +0 -2
  691. package/packages/keq/dist/request/types/keq-attachable-file.d.ts.map +0 -1
  692. package/packages/keq/dist/request/types/keq-param-value.d.ts +0 -3
  693. package/packages/keq/dist/request/types/keq-param-value.d.ts.map +0 -1
  694. package/packages/keq/dist/request/types/keq-query-options.d.ts +0 -7
  695. package/packages/keq/dist/request/types/keq-query-options.d.ts.map +0 -1
  696. package/packages/keq/dist/request/types/keq-query-value.d.ts +0 -8
  697. package/packages/keq/dist/request/types/keq-query-value.d.ts.map +0 -1
  698. package/packages/keq/dist/request/types/server-sent-event.d.ts +0 -3
  699. package/packages/keq/dist/request/types/server-sent-event.d.ts.map +0 -1
  700. package/packages/keq/dist/request/utils/fix-content-type.d.ts +0 -4
  701. package/packages/keq/dist/request/utils/fix-content-type.d.ts.map +0 -1
  702. package/packages/keq/dist/request/utils/get-location-id.d.ts +0 -2
  703. package/packages/keq/dist/request/utils/get-location-id.d.ts.map +0 -1
  704. package/packages/keq/dist/request/utils/index.d.ts +0 -7
  705. package/packages/keq/dist/request/utils/index.d.ts.map +0 -1
  706. package/packages/keq/dist/request/utils/intelligent-parse-response.d.ts +0 -2
  707. package/packages/keq/dist/request/utils/intelligent-parse-response.d.ts.map +0 -1
  708. package/packages/keq/dist/request/utils/merge-keq-request-body.d.ts +0 -3
  709. package/packages/keq/dist/request/utils/merge-keq-request-body.d.ts.map +0 -1
  710. package/packages/keq/dist/request/utils/query-stringify.d.ts +0 -3
  711. package/packages/keq/dist/request/utils/query-stringify.d.ts.map +0 -1
  712. package/packages/keq/dist/request/utils/resolve-with.d.ts +0 -3
  713. package/packages/keq/dist/request/utils/resolve-with.d.ts.map +0 -1
  714. package/packages/keq/dist/request-init/index.d.ts +0 -4
  715. package/packages/keq/dist/request-init/index.d.ts.map +0 -1
  716. package/packages/keq/dist/request-init/request-init.d.ts +0 -42
  717. package/packages/keq/dist/request-init/request-init.d.ts.map +0 -1
  718. package/packages/keq/dist/request-init/types/index.d.ts +0 -3
  719. package/packages/keq/dist/request-init/types/index.d.ts.map +0 -1
  720. package/packages/keq/dist/request-init/types/keq-body-init.d.ts +0 -2
  721. package/packages/keq/dist/request-init/types/keq-body-init.d.ts.map +0 -1
  722. package/packages/keq/dist/request-init/types/keq-request-method.d.ts +0 -2
  723. package/packages/keq/dist/request-init/types/keq-request-method.d.ts.map +0 -1
  724. package/packages/keq/dist/request-init/utils/assign-request-init.d.ts +0 -3
  725. package/packages/keq/dist/request-init/utils/assign-request-init.d.ts.map +0 -1
  726. package/packages/keq/dist/request-init/utils/clone-body.d.ts +0 -2
  727. package/packages/keq/dist/request-init/utils/clone-body.d.ts.map +0 -1
  728. package/packages/keq/dist/request-init/utils/clone-headers.d.ts +0 -2
  729. package/packages/keq/dist/request-init/utils/clone-headers.d.ts.map +0 -1
  730. package/packages/keq/dist/request-init/utils/clone-request-init.d.ts +0 -3
  731. package/packages/keq/dist/request-init/utils/clone-request-init.d.ts.map +0 -1
  732. package/packages/keq/dist/request-init/utils/compile-url.d.ts +0 -3
  733. package/packages/keq/dist/request-init/utils/compile-url.d.ts.map +0 -1
  734. package/packages/keq/dist/request-init/utils/index.d.ts +0 -7
  735. package/packages/keq/dist/request-init/utils/index.d.ts.map +0 -1
  736. package/packages/keq/dist/request-init/utils/to-form-data.d.ts +0 -2
  737. package/packages/keq/dist/request-init/utils/to-form-data.d.ts.map +0 -1
  738. package/packages/keq/dist/request-init/utils/to-url-search-params.d.ts +0 -2
  739. package/packages/keq/dist/request-init/utils/to-url-search-params.d.ts.map +0 -1
  740. package/packages/keq/dist/router/index.d.ts +0 -4
  741. package/packages/keq/dist/router/index.d.ts.map +0 -1
  742. package/packages/keq/dist/router/keq-host-route.d.ts +0 -3
  743. package/packages/keq/dist/router/keq-host-route.d.ts.map +0 -1
  744. package/packages/keq/dist/router/keq-location-route.d.ts +0 -3
  745. package/packages/keq/dist/router/keq-location-route.d.ts.map +0 -1
  746. package/packages/keq/dist/router/keq-method-route.d.ts +0 -3
  747. package/packages/keq/dist/router/keq-method-route.d.ts.map +0 -1
  748. package/packages/keq/dist/router/keq-module-route.d.ts +0 -3
  749. package/packages/keq/dist/router/keq-module-route.d.ts.map +0 -1
  750. package/packages/keq/dist/router/keq-pathname-route.d.ts +0 -3
  751. package/packages/keq/dist/router/keq-pathname-route.d.ts.map +0 -1
  752. package/packages/keq/dist/router/keq-router.d.ts +0 -32
  753. package/packages/keq/dist/router/keq-router.d.ts.map +0 -1
  754. package/packages/keq/dist/router/types/index.d.ts +0 -2
  755. package/packages/keq/dist/router/types/index.d.ts.map +0 -1
  756. package/packages/keq/dist/router/types/keq-route.d.ts +0 -7
  757. package/packages/keq/dist/router/types/keq-route.d.ts.map +0 -1
  758. package/packages/keq/dist/router/utils/compose-route.d.ts +0 -3
  759. package/packages/keq/dist/router/utils/compose-route.d.ts.map +0 -1
  760. package/packages/keq/dist/router/utils/index.d.ts +0 -2
  761. package/packages/keq/dist/router/utils/index.d.ts.map +0 -1
  762. package/packages/keq/dist/types/enabled-if-string-index.d.ts +0 -24
  763. package/packages/keq/dist/types/enabled-if-string-index.d.ts.map +0 -1
  764. package/packages/keq/dist/types/exclude-unknown-properties.d.ts +0 -19
  765. package/packages/keq/dist/types/exclude-unknown-properties.d.ts.map +0 -1
  766. package/packages/keq/dist/types/index-keys.d.ts +0 -18
  767. package/packages/keq/dist/types/index-keys.d.ts.map +0 -1
  768. package/packages/keq/dist/types/index.d.ts +0 -7
  769. package/packages/keq/dist/types/index.d.ts.map +0 -1
  770. package/packages/keq/dist/types/literal-keys.d.ts +0 -18
  771. package/packages/keq/dist/types/literal-keys.d.ts.map +0 -1
  772. package/packages/keq/dist/types/loose-nested-like.d.ts +0 -11
  773. package/packages/keq/dist/types/loose-nested-like.d.ts.map +0 -1
  774. package/packages/keq/dist/types/string-index-value-of.d.ts +0 -18
  775. package/packages/keq/dist/types/string-index-value-of.d.ts.map +0 -1
  776. package/packages/keq/dist/utils/base64.d.ts +0 -3
  777. package/packages/keq/dist/utils/base64.d.ts.map +0 -1
  778. package/packages/keq/dist/utils/index.d.ts +0 -4
  779. package/packages/keq/dist/utils/index.d.ts.map +0 -1
  780. package/packages/keq/dist/utils/shallow-clone.d.ts +0 -5
  781. package/packages/keq/dist/utils/shallow-clone.d.ts.map +0 -1
  782. package/packages/keq/dist/utils/sleep.d.ts +0 -2
  783. package/packages/keq/dist/utils/sleep.d.ts.map +0 -1
  784. package/packages/keq/dist/validator/index.d.ts +0 -2
  785. package/packages/keq/dist/validator/index.d.ts.map +0 -1
  786. package/packages/keq/dist/validator/validator.d.ts +0 -65
  787. package/packages/keq/dist/validator/validator.d.ts.map +0 -1
  788. package/packages/nestjs/.turbo/turbo-build.log +0 -14
  789. package/packages/nestjs/dist/index.d.ts +0 -3
  790. package/packages/nestjs/dist/index.d.ts.map +0 -1
  791. package/packages/nestjs/dist/index.js +0 -70
  792. package/packages/nestjs/dist/index.js.map +0 -1
  793. package/packages/nestjs/dist/index.mjs +0 -45
  794. package/packages/nestjs/dist/index.mjs.map +0 -1
  795. package/packages/nestjs/dist/keq.module-definition.d.ts +0 -3
  796. package/packages/nestjs/dist/keq.module-definition.d.ts.map +0 -1
  797. package/packages/nestjs/dist/keq.module.d.ts +0 -7
  798. package/packages/nestjs/dist/keq.module.d.ts.map +0 -1
  799. package/packages/nestjs/dist/types/index.d.ts +0 -2
  800. package/packages/nestjs/dist/types/index.d.ts.map +0 -1
  801. package/packages/nestjs/dist/types/keq-module-options.d.ts +0 -5
  802. package/packages/nestjs/dist/types/keq-module-options.d.ts.map +0 -1
  803. package/packages/test/.turbo/turbo-build.log +0 -6
  804. package/packages/url/.turbo/turbo-build.log +0 -21
  805. package/packages/url/dist/index.d.ts +0 -5
  806. package/packages/url/dist/index.d.ts.map +0 -1
  807. package/packages/url/dist/index.js +0 -67
  808. package/packages/url/dist/index.js.map +0 -1
  809. package/packages/url/dist/index.mjs +0 -46
  810. package/packages/url/dist/index.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/exception/exception.ts","../src/exception/type.exception.ts","../src/exception/abort.exception.ts","../src/exception/timeout.exception.ts","../src/exception/http-exceptions/request.exception.ts","../src/exception/http-exceptions/bad-request.exception.ts","../src/exception/http-exceptions/unauthorized.exception.ts","../src/exception/http-exceptions/forbidden.exception.ts","../src/exception/http-exceptions/not-founded.exception.ts","../src/exception/http-exceptions/method-not-allowed.exception.ts","../src/exception/http-exceptions/not-acceptable.exception.ts","../src/exception/http-exceptions/proxy-authentication-required.exception.ts","../src/exception/http-exceptions/request-timeout.exception.ts","../src/exception/http-exceptions/conflict.exception.ts","../src/exception/http-exceptions/precondition-failed.exception.ts","../src/exception/http-exceptions/content-too-large.exception.ts","../src/exception/http-exceptions/uri-too-long.exception.ts","../src/exception/http-exceptions/unsupported-media-type.exception.ts","../src/exception/http-exceptions/im-a-teapot.exception.ts","../src/exception/http-exceptions/too-many-requests.exception.ts","../src/exception/http-exceptions/internal-server-error.exception.ts","../src/exception/http-exceptions/not-implemented.exception.ts","../src/exception/http-exceptions/bad-gateway.exception.ts","../src/exception/http-exceptions/service-unavailable.exception.ts","../src/exception/http-exceptions/gateway-timeout.exception.ts","../src/utils/base64.ts","../src/validator/validator.ts","../src/utils/shallow-clone.ts","../src/utils/sleep.ts","../src/request-init/utils/clone-body.ts","../src/request-init/utils/clone-headers.ts","../src/request-init/utils/compile-url.ts","../src/request-init/utils/to-form-data.ts","../src/request-init/utils/to-url-search-params.ts","../src/request-init/utils/clone-request-init.ts","../src/request-init/request-init.ts","../src/context/orchestrator-context.ts","../src/context/execution-context.ts","../src/context/shared-context.ts","../src/context/utils/watch-object.ts","../src/context/utils/clone-shared-context.ts","../src/context/utils/fork.ts","../src/context/utils/create-proxy-response.ts","../src/middleware/utils/get-middleware-name.ts","../src/middleware/utils/compose-middleware.ts","../src/context/middleware-context.ts","../src/orchestrator/executor.ts","../src/request-init/utils/assign-request-init.ts","../src/context/utils/assign-shared-context.ts","../src/orchestrator/orchestrator.ts","../src/request/utils/fix-content-type.ts","../src/request/utils/get-location-id.ts","../src/request/utils/resolve-with.ts","../src/request/utils/intelligent-parse-response.ts","../src/request/utils/merge-keq-request-body.ts","../src/request/utils/query-stringify.ts","../src/request/core.ts","../src/request/keq.ts","../src/router/utils/compose-route.ts","../src/router/keq-host-route.ts","../src/router/keq-location-route.ts","../src/router/keq-method-route.ts","../src/router/keq-module-route.ts","../src/router/keq-pathname-route.ts","../src/router/keq-router.ts","../src/middlewares/timeout-middleware/index.ts","../src/middlewares/flow-control-middleware/serial-flow-control-middleware.ts","../src/middlewares/flow-control-middleware/abort-flow-control-middleware.ts","../src/middlewares/flow-control-middleware/index.ts","../src/middlewares/fetch-middleware/index.ts","../src/request/request.ts","../src/request/create-request.ts"],"sourcesContent":["import { CustomError } from 'ts-custom-error'\n\nexport class Exception extends CustomError {\n constructor(message?: string) {\n super(message)\n\n Object.defineProperty(this, 'name', { value: 'KeqError' })\n }\n}\n","import { Exception } from './exception.js'\n\n\nexport class TypeException extends Exception {\n constructor(msg?: string) {\n super(msg || 'Invalid Type')\n }\n}\n","export class AbortException extends DOMException {\n constructor(msg: string) {\n super(msg, 'AbortError')\n Object.setPrototypeOf(this, AbortException.prototype)\n }\n}\n","import { AbortException } from './abort.exception.js'\n\n\nexport class TimeoutException extends AbortException {\n constructor(msg: string) {\n super(msg)\n }\n}\n","import { Exception } from '../exception.js'\n\n\nexport interface RequestExceptionOptions {\n // disable retry for this exception\n fatal?: boolean\n\n // proxy response object\n response?: Response\n}\n\nexport class RequestException extends Exception {\n statusCode: number | string\n retry: boolean\n response?: Response\n\n constructor(statusCode: number | string, message?: string, options?: RequestExceptionOptions) {\n super(message)\n\n this.statusCode = statusCode\n this.retry = !options?.fatal\n this.response = options?.response\n\n Object.defineProperty(this, 'name', { value: 'RequestException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\n\nexport class BadRequestException extends RequestException {\n constructor(message: string = 'Bad Request', options?: RequestExceptionOptions) {\n super(400, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', { value: 'BadRequestException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\nexport class UnauthorizedException extends RequestException {\n constructor(message: string = 'Unauthorized', options?: RequestExceptionOptions) {\n super(401, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', { value: 'UnauthorizedException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\n\nexport class ForbiddenException extends RequestException {\n constructor(message: string = 'Forbidden', options?: RequestExceptionOptions) {\n super(403, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', { value: 'ForbiddenException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\nexport class NotFoundedException extends RequestException {\n constructor(message: string = 'Not Founded', options?: RequestExceptionOptions) {\n super(404, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', { value: 'NotFoundedException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\nexport class MethodNotAllowedException extends RequestException {\n constructor(message: string = 'Method Not Allowed', options?: RequestExceptionOptions) {\n super(405, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', {\n value: 'MethodNotAllowedException',\n })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\n\nexport class NotAcceptableException extends RequestException {\n constructor(message: string = 'Not Acceptable', options?: RequestExceptionOptions) {\n super(406, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', { value: 'NotAcceptableException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\n\nexport class ProxyAuthenticationRequiredException extends RequestException {\n constructor(message: string = 'Proxy Authentication Required', options?: RequestExceptionOptions) {\n super(407, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', {\n value: 'ProxyAuthenticationRequiredException',\n })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\n\nexport class RequestTimeoutException extends RequestException {\n constructor(message: string = 'Request Timeout', options?: RequestExceptionOptions) {\n super(408, message, { fatal: false, ...options })\n\n Object.defineProperty(this, 'name', {\n value: 'RequestTimeoutException',\n })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\n\nexport class ConflictException extends RequestException {\n constructor(message: string = 'Conflict', options?: RequestExceptionOptions) {\n super(409, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', { value: 'ConflictException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\nexport class PreconditionFailedException extends RequestException {\n constructor(message: string = 'Precondition Failed', options?: RequestExceptionOptions) {\n super(412, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', {\n value: 'PreconditionFailedException',\n })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\n\nexport class ContentTooLargeException extends RequestException {\n constructor(message: string = 'Content Too Large', options?: RequestExceptionOptions) {\n super(413, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', {\n value: 'ContentTooLargeException',\n })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\n\nexport class UriTooLongException extends RequestException {\n constructor(message: string = 'URI Too Long', options?: RequestExceptionOptions) {\n super(414, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', { value: 'UriTooLongException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\nexport class UnsupportedMediaTypeException extends RequestException {\n constructor(message: string = 'Unsupported Media Type', options?: RequestExceptionOptions) {\n super(415, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', { value: 'UnsupportedMediaTypeException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\n\nexport class ImATeapotException extends RequestException {\n constructor(message: string = \"I'm a teapot\", options?: RequestExceptionOptions) {\n super(418, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', { value: 'ImATeapotException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\n\nexport class TooManyRequestsException extends RequestException {\n constructor(message: string = 'Too Many Requests', options?: RequestExceptionOptions) {\n super(429, message, { fatal: false, ...options })\n\n Object.defineProperty(this, 'name', { value: 'TooManyRequestsException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\nexport class InternalServerErrorException extends RequestException {\n constructor(message: string = 'Internal Server Error', options?: RequestExceptionOptions) {\n super(500, message, { fatal: false, ...options })\n\n Object.defineProperty(this, 'name', {\n value: 'InternalServerErrorException',\n })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\nexport class NotImplementedException extends RequestException {\n constructor(message: string = 'Not Implemented', options?: RequestExceptionOptions) {\n super(501, message, { fatal: true, ...options })\n\n Object.defineProperty(this, 'name', { value: 'NotImplementedException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\n\nexport class BadGatewayException extends RequestException {\n constructor(message: string = 'Bad Gateway', options?: RequestExceptionOptions) {\n super(502, message, { fatal: false, ...options })\n\n Object.defineProperty(this, 'name', { value: 'BadGatewayException' })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\n\nexport class ServiceUnavailableException extends RequestException {\n constructor(message: string = 'Service Unavailable', options?: RequestExceptionOptions) {\n super(503, message, { fatal: false, ...options })\n\n Object.defineProperty(this, 'name', {\n value: 'ServiceUnavailableException',\n })\n }\n}\n","import { RequestException, RequestExceptionOptions } from './request.exception'\n\nexport class GatewayTimeoutException extends RequestException {\n constructor(message: string = 'Gateway Timeout', options?: RequestExceptionOptions) {\n super(504, message, { fatal: false, ...options })\n\n Object.defineProperty(this, 'name', { value: 'GatewayTimeoutException' })\n }\n}\n","export const base64Encode: ((str: string) => string) = globalThis.btoa || ((str: string) => Buffer.from(str).toString('base64'))\nexport const base64Decode: ((str: string) => string) = globalThis.atob || ((str: string) => Buffer.from(str, 'base64').toString('utf8'))\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * Validator 类用于类型检查\n */\nexport class Validator {\n /**\n * 检查是否为浏览器环境\n */\n static isBrowser(): boolean {\n return typeof window !== 'undefined'\n }\n\n /**\n * 检查是否为字符串\n */\n static isString(value: any): boolean {\n return typeof value === 'string'\n }\n\n /**\n * 检查是否为对象\n */\n static isObject(value: any): value is Exclude<object, null> {\n return typeof value === 'object' && value !== null\n }\n\n /**\n * 检查是否为函数\n */\n static isFunction(value: any): boolean {\n return typeof value === 'function'\n }\n\n /**\n * 检查是否为 ArrayBuffer\n */\n static isArrayBuffer(body: any): body is ArrayBuffer {\n return body instanceof ArrayBuffer\n }\n\n /**\n * 检查是否为 ReadableStream\n */\n static isReadableStream(body: any): body is ReadableStream {\n return body instanceof ReadableStream\n }\n\n /**\n * 检查是否为 Blob 或 File 类对象\n */\n static isBlob(value: any): value is Blob {\n if (value instanceof Blob) return true\n\n const names = ['Blob', 'File']\n\n return Validator.isObject(value)\n && Validator.isString(value['type'])\n && Validator.isFunction(value['arrayBuffer'])\n && Validator.isFunction(value['stream'])\n && Validator.isFunction(value.constructor)\n && names.includes(value.constructor.name)\n && 'size' in value\n }\n\n /**\n * 检查是否为 File\n */\n static isFile(object: any): object is File {\n if (Validator.isBrowser()) return object instanceof Blob\n\n return Validator.isBlob(object)\n }\n\n /**\n * 检查是否为 Buffer\n */\n static isBuffer(obj: any): obj is Buffer {\n return Validator.isBrowser() ? false : Buffer.isBuffer(obj)\n }\n\n /**\n * 检查是否为 FormData\n */\n static isFormData(object: any): object is FormData {\n if (object instanceof FormData) return true\n\n return (\n Validator.isObject(object)\n && Validator.isFunction(object['append'])\n && Validator.isFunction(object['delete'])\n && Validator.isFunction(object['get'])\n && Validator.isFunction(object['getAll'])\n && Validator.isFunction(object['has'])\n && Validator.isFunction(object['set'])\n && Validator.isFunction(object['entries'])\n && Validator.isFunction(object['keys'])\n && Validator.isFunction(object['values'])\n )\n }\n\n /**\n * 检查是否为 Headers\n */\n static isHeaders(obj: any): obj is Headers {\n if (obj instanceof Headers) return true\n\n if (\n Validator.isObject(obj)\n && Validator.isFunction(obj['forEach'])\n && Validator.isFunction(obj['get'])\n && Validator.isFunction(obj['has'])\n && Validator.isFunction(obj['set'])\n && Validator.isFunction(obj['append'])\n && Validator.isFunction(obj['delete'])\n && Validator.isFunction(obj['entries'])\n && Validator.isFunction(obj['keys'])\n && Validator.isFunction(obj['values'])\n ) {\n return true\n }\n\n return false\n }\n\n /**\n * 检查是否为 URLSearchParams\n */\n static isUrlSearchParams(obj: any): obj is URLSearchParams {\n if (obj instanceof URLSearchParams) return true\n\n return (\n Validator.isObject(obj)\n && Validator.isFunction(obj['append'])\n && Validator.isFunction(obj['delete'])\n && Validator.isFunction(obj['entries'])\n && Validator.isFunction(obj['forEach'])\n && Validator.isFunction(obj['get'])\n && Validator.isFunction(obj['getAll'])\n && Validator.isFunction(obj['has'])\n && Validator.isFunction(obj['keys'])\n && Validator.isFunction(obj['set'])\n && Validator.isFunction(obj['values'])\n && Validator.isFunction(obj['sort'])\n && Validator.isFunction(obj['toString'])\n )\n }\n\n /**\n * 检查是否为合法的 Header 值\n * 允许范围: HTAB(\\t), 0x20-0x7E, 0x80-0xFF\n * 禁止换行等控制字符\n */\n static isHeaderValue(str: any): boolean {\n const regex = /^[\\t\\x20-\\x7E\\x80-\\xFF]*$/\n return regex.test(String(str))\n }\n\n /**\n * 检查是否为 BodyInit 类型\n * BodyInit 包括: Blob | ArrayBuffer | TypedArray | DataView | FormData | URLSearchParams | ReadableStream | string\n */\n static isBodyInit(value: any): value is BodyInit {\n if (value === null || value === undefined) return false\n\n return (\n Validator.isString(value)\n || Validator.isBlob(value)\n || Validator.isArrayBuffer(value)\n || Validator.isFormData(value)\n || Validator.isUrlSearchParams(value)\n || Validator.isReadableStream(value)\n || Validator.isBuffer(value)\n // TypedArray or DataView\n || ArrayBuffer.isView(value)\n )\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Validator } from '~/validator/index.js'\n\n\n/**\n * @description 浅拷贝\n */\nexport function shallowClone<T = any>(obj: T): T {\n if (Array.isArray(obj)) {\n return [...obj] as T\n }\n\n if (Validator.isObject(obj)) {\n return { ...obj }\n }\n\n return obj\n}\n","export function sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Validator } from '~/validator/index.js'\n\n\nexport function cloneBody<T>(obj: T): T {\n if (Validator.isFormData(obj)) {\n const formData = new FormData()\n for (const [key, value] of obj.entries()) {\n formData.append(key, value)\n }\n return formData as unknown as T\n }\n\n if (Validator.isUrlSearchParams(obj)) {\n const urlSearchParams = new URLSearchParams()\n for (const [key, value] of obj.entries()) {\n urlSearchParams.append(key, value)\n }\n return urlSearchParams as unknown as T\n }\n\n if (Validator.isFile(obj)) {\n return obj\n }\n\n if (Validator.isBlob(obj)) {\n return obj\n }\n\n if (Validator.isBuffer(obj)) {\n return obj\n }\n\n if (obj === null) {\n return null as T\n }\n\n if (Array.isArray(obj)) {\n return obj.map(cloneBody) as unknown as T\n }\n\n if (Validator.isObject(obj)) {\n const cloned: any = {}\n\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n cloned[key] = cloneBody(obj[key])\n }\n }\n return cloned\n }\n\n return obj\n}\n","export function cloneHeaders(headers: Headers): Headers {\n const cloned = new Headers()\n for (const [key, value] of headers.entries()) {\n cloned.append(key, value)\n }\n\n return cloned\n}\n","import { UriTemplateContext, UriTemplateParser } from '@opendoc/uri-template'\n\n\nexport function compileUrl(obj: string | URL, pathParameters: UriTemplateContext): URL {\n const url = new URL(typeof obj === 'string' ? obj : obj.href)\n\n url.pathname = new UriTemplateParser(\n decodeURIComponent(url.pathname),\n pathParameters,\n ).expand()\n\n return url\n}\n","export function toFormData(body: object): FormData {\n const form = new FormData()\n\n for (const [key, value] of Object.entries(body)) {\n if (Array.isArray(value)) {\n for (const v of value) {\n form.append(key, v)\n }\n } else {\n form.append(key, value)\n }\n }\n\n return form\n}\n","export function toUrlSearchParams(body: object): URLSearchParams {\n const params = new URLSearchParams()\n Object.entries(body).map(([key, value]) => {\n if (Array.isArray(value)) {\n for (const v of value) {\n params.append(key, v)\n }\n } else {\n params.append(key, value)\n }\n })\n\n return params\n}\n","import { KeqRequestInit } from '../request-init'\n\n\nexport function cloneRequestInit(init: KeqRequestInit): KeqRequestInit {\n return new KeqRequestInit({\n url: init.url,\n pathParameters: init.pathParameters,\n method: init.method,\n headers: init.headers,\n body: init.body,\n cache: init.cache,\n credentials: init.credentials,\n integrity: init.integrity,\n keepalive: init.keepalive,\n mode: init.mode,\n redirect: init.redirect,\n referrer: init.referrer,\n referrerPolicy: init.referrerPolicy,\n })\n}\n","import { UriTemplateContext } from '@opendoc/uri-template'\nimport { shallowClone } from '~/utils/shallow-clone.js'\nimport { Validator } from '~/validator/index.js'\nimport { Exception } from '~/exception/exception.js'\nimport { KeqRequestMethod, KeqBodyInit } from './types/index.js'\nimport {\n toUrlSearchParams,\n toFormData,\n cloneBody,\n cloneHeaders,\n compileUrl,\n} from './utils/index.js'\n\nexport interface KeqRequestInitOptions {\n url: URL\n pathParameters: UriTemplateContext\n method: KeqRequestMethod\n headers: Headers\n body: KeqBodyInit\n cache?: RequestCache\n credentials?: RequestCredentials\n integrity?: string\n keepalive?: boolean\n mode?: RequestMode\n redirect?: RequestRedirect\n referrer?: string\n referrerPolicy?: ReferrerPolicy\n}\n\nexport const AbortControllerProperty = '__KeqProtectedProperty(context.request.abortController)__'\n\nexport class KeqRequestInit {\n url: URL\n pathParameters: UriTemplateContext\n\n method: KeqRequestMethod\n headers: Headers\n body: KeqBodyInit\n cache?: RequestCache\n credentials?: RequestCredentials\n integrity?: string\n keepalive?: boolean\n mode?: RequestMode\n redirect?: RequestRedirect\n referrer?: string\n referrerPolicy?: ReferrerPolicy\n\n [AbortControllerProperty]: AbortController = new AbortController()\n\n constructor(options: KeqRequestInitOptions) {\n this.url = new URL(options.url.href)\n this.pathParameters = shallowClone(options.pathParameters)\n this.method = options.method\n this.headers = cloneHeaders(options.headers)\n this.body = cloneBody(options.body)\n this.cache = options.cache\n this.credentials = options.credentials\n this.integrity = options.integrity\n this.keepalive = options.keepalive\n this.mode = options.mode\n this.redirect = options.redirect\n this.referrer = options.referrer\n this.referrerPolicy = options.referrerPolicy\n }\n\n // the url merged pathParameters\n get __url__(): Readonly<URL> {\n return compileUrl(this.url, this.pathParameters)\n }\n\n get signal(): AbortSignal {\n return this[AbortControllerProperty].signal\n }\n\n abort(reason: any): void {\n if (!this[AbortControllerProperty].signal.aborted) {\n this[AbortControllerProperty].abort(reason)\n }\n }\n\n private getContentType(): string | undefined {\n const contentType = this.headers.get('Content-Type')\n if (contentType) return contentType\n if (!this.body) return undefined\n\n if (Validator.isFormData(this.body)) return 'multipart/form-data'\n if (Validator.isUrlSearchParams(this.body)) return 'application/x-www-form-urlencoded'\n if (Validator.isArrayBuffer(this.body)) return 'application/octet-stream'\n if (typeof this.body === 'object') return 'application/json'\n\n return undefined\n }\n\n private toFetchBody(contentType: string | undefined): RequestInit['body'] {\n const body = this.body\n if (body === undefined) return\n if (body === null) return null\n if (Validator.isBodyInit(body)) return body\n\n if (!contentType || contentType === 'application/json') {\n return JSON.stringify(body)\n }\n\n if (contentType === 'application/x-www-form-urlencoded') {\n if (Array.isArray(body)) {\n throw new Exception('request.body is an array, that cannot be serialized as application/x-www-form-urlencoded format')\n }\n\n return toUrlSearchParams(body)\n }\n\n if (contentType === 'multipart/form-data') {\n if (Array.isArray(body)) {\n throw new Exception('FormData cannot send array')\n }\n\n return toFormData(body)\n }\n\n throw new Exception(`Cannot auto serialize request.body with Content-Type: ${contentType}`)\n }\n\n toFetchArguments(): [string, RequestInit] {\n const contentType = this.getContentType()\n const headers = cloneHeaders(this.headers)\n if (contentType) headers.set('Content-Type', contentType)\n\n const body = this.toFetchBody(contentType)\n if (contentType === 'multipart/form-data') {\n headers.delete('Content-Type')\n }\n\n const requestInit: RequestInit = {\n method: this.method.toUpperCase(),\n headers,\n body,\n cache: this.cache,\n credentials: this.credentials,\n integrity: this.integrity,\n keepalive: this.keepalive,\n mode: this.mode,\n redirect: this.redirect,\n referrer: this.referrer,\n referrerPolicy: this.referrerPolicy,\n signal: this.signal,\n }\n\n return [this.__url__.href, requestInit]\n }\n}\n","import type { KeqMiddlewareExecutor, KeqMiddlewareOrchestrator } from '~/orchestrator/index.js'\nimport { KeqMiddlewareContext } from './middleware-context.js'\n\n\nconst OrchestratorProperty = '__KeyProtectedProperty(context.orchestration.orchestrator)__'\nconst ExecutorProperty = '__KeyProtectedProperty(context.orchestration.executor)__'\n\nexport class KeqOrchestratorContext {\n readonly [OrchestratorProperty]: KeqMiddlewareOrchestrator\n readonly [ExecutorProperty]: KeqMiddlewareExecutor\n\n constructor(orchestrator: KeqMiddlewareOrchestrator, executor: KeqMiddlewareExecutor) {\n this[OrchestratorProperty] = orchestrator\n this[ExecutorProperty] = executor\n }\n\n get middlewares(): KeqMiddlewareContext[] {\n return this[OrchestratorProperty].executors.map((exe) => exe.context)\n }\n\n // NOTE: For Future\n // get executing(): KeqMiddlewareContext {\n // const current = this[OrchestratorProperty].current\n // const executors = this[OrchestratorProperty].executors\n // const executor = executors[current]\n // return executor.context\n // }\n\n /**\n * The middleware context of the current middleware\n */\n get middleware(): KeqMiddlewareContext {\n return this[ExecutorProperty].context\n }\n\n fork(): KeqMiddlewareOrchestrator {\n return this[OrchestratorProperty].fork()\n }\n\n merge(source: KeqMiddlewareOrchestrator): void {\n this[OrchestratorProperty].merge(source)\n }\n}\n","import { KeqMiddlewareExecutor, KeqMiddlewareOrchestrator } from '~/orchestrator/index.js'\nimport { KeqRequestInit } from '~/request-init/index.js'\nimport { KeqOrchestratorContext } from './orchestrator-context.js'\nimport type {\n KeqContext,\n KeqContextData,\n KeqContextEmitter,\n KeqContextOptions,\n KeqGlobal,\n} from './types/index.js'\n\nexport const ContextOrchestratorProperty = '__KeyProtectedProperty(context.orchestrator)__'\nexport const ContextOrchestrationProperty = '__KeyProtectedProperty(context.orchestration)__'\n\n\nexport class KeqExecutionContext implements KeqContext {\n private [ContextOrchestratorProperty]: KeqMiddlewareOrchestrator\n private [ContextOrchestrationProperty]: KeqOrchestratorContext\n\n constructor(orchestrator: KeqMiddlewareOrchestrator, executor: KeqMiddlewareExecutor) {\n this[ContextOrchestratorProperty] = orchestrator\n this[ContextOrchestrationProperty] = new KeqOrchestratorContext(orchestrator, executor)\n }\n\n get orchestration(): KeqOrchestratorContext {\n return this[ContextOrchestrationProperty]\n }\n\n /**\n * The unique identifier of the request's location in the code\n */\n get locationId(): string | undefined {\n return this[ContextOrchestratorProperty].context.locationId\n }\n\n get request(): KeqRequestInit {\n return this[ContextOrchestratorProperty].context.request\n }\n\n get global(): KeqGlobal {\n return this[ContextOrchestratorProperty].context.global\n }\n\n get emitter(): KeqContextEmitter {\n return this[ContextOrchestratorProperty].context.emitter\n }\n\n get options(): KeqContextOptions {\n return this[ContextOrchestratorProperty].context.options\n }\n\n // The result get by user if resolveWith is set to 'intelligent' or not set\n set output(value: any) {\n if (this.options.resolveWith && this.options.resolveWith !== 'intelligent') {\n console.warn(`The request is configured to resolve with ${this.options.resolveWith}, so setting context.output maybe no effect.`)\n }\n this[ContextOrchestratorProperty].context.output = value\n }\n\n // The original response\n get res(): Response | undefined {\n return this[ContextOrchestratorProperty].context.res\n }\n\n // The original response\n set res(value: Response | undefined) {\n this[ContextOrchestratorProperty].context.res = value\n }\n\n // The request response\n get response(): Response | undefined {\n return this[ContextOrchestratorProperty].context.response\n }\n\n // The properties extends by middleware\n get data(): KeqContextData {\n return this[ContextOrchestratorProperty].context.data\n }\n}\n","import mitt from 'mitt'\nimport {\n KeqRequestInit,\n KeqRequestInitOptions,\n} from '~/request-init/index.js'\nimport { shallowClone } from '~/utils/shallow-clone.js'\nimport {\n watchObject,\n createProxyResponse,\n} from './utils/index.js'\nimport type {\n KeqContext,\n KeqContextOptions,\n KeqContextEmitter,\n KeqContextData,\n KeqGlobal,\n KeqEvents,\n} from './types/index.js'\n\nexport interface KeqSharedContextOptions {\n locationId?: string\n request: KeqRequestInitOptions\n global: KeqGlobal\n options?: KeqContextOptions\n data?: KeqContextData\n emitter?: KeqContextEmitter\n}\n\nexport const ContextLocationIdProperty = '__KeqProtectedProperty(context.locationId)__'\nexport const ContextRequestProperty = '__KeqProtectedProperty(context.request)__'\nexport const ContextGlobalProperty = '__KeqProtectedProperty(context.global)__'\nexport const ContextEmitterProperty = '__KeqProtectedProperty(context.emitter)__'\nexport const ContextOptionsProperty = '__KeqProtectedProperty(context.options)__'\nexport const ContextDataProperty = '__KeqProtectedProperty(context.data)__'\nexport const ContextOutputProperty = '__KeqProtectedProperty(context.output)__'\n\nexport class KeqSharedContext implements KeqContext {\n readonly [ContextLocationIdProperty]?: string\n [ContextRequestProperty]: KeqRequestInit\n [ContextGlobalProperty]: Record<string, any>\n [ContextEmitterProperty]: KeqContextEmitter\n [ContextOptionsProperty]: KeqContextOptions\n [ContextOutputProperty]?: any\n\n // The properties extends by middleware\n [ContextDataProperty]: KeqContextData = {}\n\n\n /**\n * original response\n */\n res?: Response\n\n constructor(options: KeqSharedContextOptions) {\n this[ContextLocationIdProperty] = options.locationId\n\n this[ContextRequestProperty] = watchObject(new KeqRequestInit(options.request), {\n abort: (target, thisArg, argArray) => {\n this[ContextEmitterProperty].emit('abort', { context: this, reason: argArray[0] })\n },\n })\n\n this[ContextEmitterProperty] = options.emitter || mitt<Omit<KeqEvents, never>>()\n this[ContextGlobalProperty] = options.global\n this[ContextOptionsProperty] = options.options ? shallowClone(options.options) : {}\n this[ContextDataProperty] = options.data || {}\n }\n\n /**\n * The unique identifier of the request's location in the code\n */\n get locationId(): string | undefined {\n return this[ContextLocationIdProperty]\n }\n\n get request(): KeqRequestInit {\n return this[ContextRequestProperty]\n }\n\n get global(): KeqGlobal {\n return this[ContextGlobalProperty]\n }\n\n get emitter(): KeqContextEmitter {\n return this[ContextEmitterProperty]\n }\n\n get options(): KeqContextOptions {\n return this[ContextOptionsProperty]\n }\n\n set output(value: any) {\n this[ContextOutputProperty] = value\n }\n\n get response(): Response | undefined {\n if (!this.res) return undefined\n\n return createProxyResponse(this.res)\n }\n\n get data(): KeqContextData {\n return this[ContextDataProperty]\n }\n}\n\n\n","/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-function-type */\nimport { ConditionalPick } from 'type-fest'\n\n\ntype Watcher = (target: any, thisArg: any, argArray: any[]) => void\n\nexport function watchObject<T extends object>(obj: T, listeners: Partial<Record<keyof ConditionalPick<T, Function>, Watcher>>): T {\n return new Proxy(obj, {\n get(target, prop) {\n if (prop in listeners) {\n return new Proxy(target[prop], {\n apply(target: Function, thisArg, argArray) {\n const listener: Function = listeners[prop]\n listener(target, thisArg, argArray)\n return target.apply(thisArg, argArray)\n },\n })\n }\n\n return target[prop]\n },\n })\n}\n","import { cloneRequestInit } from '~/request-init'\nimport {\n ContextDataProperty,\n ContextEmitterProperty,\n ContextGlobalProperty,\n ContextLocationIdProperty,\n ContextOptionsProperty,\n ContextRequestProperty,\n KeqSharedContext,\n} from '../shared-context'\nimport { klona } from 'klona'\n\n\nexport function cloneSharedContext(context: KeqSharedContext): KeqSharedContext {\n const cloned = new KeqSharedContext({\n locationId: context[ContextLocationIdProperty],\n request: cloneRequestInit(context[ContextRequestProperty]),\n global: context[ContextGlobalProperty],\n options: klona(context[ContextOptionsProperty]),\n data: klona(context[ContextDataProperty]),\n })\n\n context[ContextEmitterProperty].all.forEach((handlers, type) => {\n for (const handler of handlers) {\n cloned.emitter.on(type as any, handler as any)\n }\n })\n\n return cloned\n}\n","\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { klona } from 'klona/json'\n\n\nconst ForkedObjectBrandPropertyKey = '__KeqProtectedProperty(forked.object.brand)__'\n\nconst ARRAY_MUTATORS = new Set([\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse',\n 'fill',\n 'copyWithin',\n])\n\nfunction objectPath(obj: any, path: PropertyKey[]): any {\n return path.reduce((o, k) => o[k], obj)\n}\n\n/**\n * Fork an json object, using copy-on-write strategy to avoid unnecessary deep cloning.\n */\nexport function fork<T>(original: T): T {\n if (original === null || typeof original !== 'object') {\n // primitive value, return directly\n return original\n }\n\n let current = original\n\n const ensureCopy = (): T => {\n if (current === original) {\n current = klona(original)\n }\n\n return current\n }\n\n\n const createProxy = (path: PropertyKey[] = []): any => {\n const getTarget = (): any => objectPath(current, path)\n\n return new Proxy(getTarget(), {\n get(target, prop) {\n const realTarget = getTarget()\n if (prop === ForkedObjectBrandPropertyKey) return realTarget\n\n const value = realTarget[prop]\n\n // return value directly if already copied\n if (current !== original) {\n return value\n }\n\n // handle array mutator methods\n if (Array.isArray(realTarget) && ARRAY_MUTATORS.has(prop as string)) {\n return new Proxy(value, {\n apply(fn, thisArg, args) {\n ensureCopy()\n const t = objectPath(current, path)\n return Reflect.apply(t[prop], t, args)\n },\n })\n }\n\n // 未复制,嵌套对象需要继续代理\n if (typeof value === 'object' && value !== null) {\n return createProxy([...path, prop])\n }\n\n return value\n },\n\n set(target, prop, value) {\n ensureCopy()\n objectPath(current, path)[prop] = value\n return true\n },\n\n deleteProperty(target, prop) {\n ensureCopy()\n delete objectPath(current, path)[prop]\n return true\n },\n\n ownKeys(target) {\n const realTarget = getTarget()\n return Reflect.ownKeys(realTarget)\n },\n\n getOwnPropertyDescriptor(target, prop) {\n const realTarget = getTarget()\n return Reflect.getOwnPropertyDescriptor(realTarget, prop)\n },\n })\n }\n\n return createProxy()\n}\n\nexport function unwrap<T>(proxy: T): T {\n return proxy && (proxy as any)[ForkedObjectBrandPropertyKey] ? (proxy as any)[ForkedObjectBrandPropertyKey] : proxy\n}\n","import { fork } from './fork'\n\nconst JsonCachePropertyKey = '__KeqProtectedProperty(response.proxy.cache.json)__'\nconst TextCachePropertyKey = '__KeqProtectedProperty(response.proxy.cache.text)__'\n\nexport function createProxyResponse(response: Response): Response {\n return new Proxy(response, {\n get(res, prop) {\n if (typeof prop === 'string') {\n if (prop === 'json') {\n return new Proxy(res[prop], {\n apply() {\n if (res[JsonCachePropertyKey]) {\n return fork(res[JsonCachePropertyKey]) as unknown\n }\n\n return res.clone().json()\n .then((body) => {\n res[JsonCachePropertyKey] = body\n return fork(body) as unknown\n })\n },\n })\n } else if (prop === 'text') {\n return new Proxy(res[prop], {\n apply() {\n if (res[TextCachePropertyKey]) {\n return fork(res[TextCachePropertyKey]) as unknown\n }\n\n return res.clone().text()\n .then((body) => {\n res[TextCachePropertyKey] = body\n return body\n })\n },\n })\n } else if (['arrayBuffer', 'blob', 'buffer', 'formData'].includes(prop)) {\n /**\n * clone when invoking body, json, text, arrayBuffer, blob, buffer, formData\n * to avoid time-consuming cloning\n */\n return new Proxy(res[prop], {\n apply(target, thisArg, argArray) {\n return res.clone()[prop](...argArray) as unknown\n },\n }) as unknown\n } else if (prop === 'body') {\n const mirror = res.clone()\n return mirror.body\n }\n }\n\n if (typeof res[prop] === 'function') {\n return res[prop].bind(res) as unknown\n }\n\n return res[prop] as unknown\n },\n })\n}\n","import { KeqMiddleware } from '../types'\n\n\nexport function getMiddlewareName(middleware: KeqMiddleware): string {\n return middleware.__keqMiddlewareName__ || middleware.name || 'anonymous'\n}\n","import { TypeException } from '~/exception/index.js'\nimport type { KeqMiddleware } from '../types/keq-middleware.js'\nimport { getMiddlewareName } from './get-middleware-name.js'\n\n\ninterface ComposeMiddlewareOptions {\n name?: string\n}\n\nexport function composeMiddleware(middlewares: KeqMiddleware[], options?: ComposeMiddlewareOptions): KeqMiddleware {\n if (!middlewares.length) {\n throw new TypeException('At least one middleware')\n }\n\n const middleware = [...middlewares]\n .reverse()\n .reduce(function (prev, curr): KeqMiddleware {\n return async (ctx, next) => {\n await curr(ctx, async () => prev(ctx, next))\n }\n })\n\n if (options?.name) {\n middleware.__keqMiddlewareName__ = options.name\n } else {\n middleware.__keqMiddlewareName__ = `composeMiddleware(${middlewares.map((i) => getMiddlewareName(i)).join(', ')})`\n }\n\n return middleware\n}\n","import { type KeqMiddlewareExecutor } from '../orchestrator/executor.js'\n\n\nconst ExecutorProperty = '__KeyProtectedProperty(context.orchestration.middlewares)__'\n\nexport class KeqMiddlewareContext {\n readonly [ExecutorProperty]: KeqMiddlewareExecutor\n\n constructor(executor: KeqMiddlewareExecutor) {\n this[ExecutorProperty] = executor\n }\n\n get name(): string {\n return this[ExecutorProperty].name\n }\n\n get status(): KeqMiddlewareExecutor['status'] {\n return this[ExecutorProperty].status\n }\n\n get finished(): boolean {\n return this.status === 'fulfilled' || this.status === 'rejected'\n }\n}\n","import { Exception } from '~/exception/index.js'\nimport { KeqExecutionContext } from '~/context/index.js'\nimport { KeqNext } from '~/middleware/types/keq-next.js'\nimport { getMiddlewareName, KeqMiddleware } from '~/middleware/index.js'\nimport { KeqMiddlewareContext } from '~/context/middleware-context'\n\nexport class KeqMiddlewareExecutor {\n readonly name: string\n status: 'idle' | 'pending' | 'canceled' | 'fulfilled' | 'rejected' = 'idle'\n context: KeqMiddlewareContext\n\n constructor(\n public readonly middleware: KeqMiddleware,\n ) {\n this.name = getMiddlewareName(middleware)\n this.context = new KeqMiddlewareContext(this)\n }\n\n async execute(context: KeqExecutionContext, next: KeqNext): Promise<void> {\n if (this.status !== 'idle') {\n throw new Exception(`Middleware \"${this.name}\" has already been executed.`)\n }\n\n try {\n this.status = 'pending'\n context.emitter.emit('middleware:before', { context })\n await this.middleware(context, next)\n context.emitter.emit('middleware:after', { context })\n\n if (this.status === 'pending') {\n this.status = 'fulfilled'\n }\n } catch (error) {\n if (this.status === 'pending') {\n this.status = 'rejected'\n }\n throw error\n }\n }\n}\n","import { AbortControllerProperty, KeqRequestInit } from '../request-init'\n\nexport function assignRequestInit(\n target: KeqRequestInit,\n source: KeqRequestInit,\n): void {\n target.url = source.url\n target.pathParameters = source.pathParameters\n target.method = source.method\n target.headers = source.headers\n target.body = source.body\n target.cache = source.cache\n target.credentials = source.credentials\n target.integrity = source.integrity\n target.keepalive = source.keepalive\n target.mode = source.mode\n target.redirect = source.redirect\n target.referrer = source.referrer\n target.referrerPolicy = source.referrerPolicy\n target[AbortControllerProperty] = source[AbortControllerProperty]\n}\n","import { assignRequestInit } from '~/request-init/utils/assign-request-init'\nimport { ContextEmitterProperty, ContextOutputProperty, KeqSharedContext } from '../shared-context'\n\nexport function assignSharedContext(\n target: KeqSharedContext,\n source: KeqSharedContext,\n): void {\n assignRequestInit(target.request, source.request)\n\n Object.assign(target.global, source.global)\n Object.assign(target.options, source.options)\n Object.assign(target.data, source.data)\n\n target[ContextEmitterProperty] = source[ContextEmitterProperty]\n target[ContextOutputProperty] = source[ContextOutputProperty]\n\n target.res = source.res\n}\n","import { Exception, TypeException } from '~/exception/index.js'\nimport { KeqExecutionContext, KeqSharedContext } from '~/context/index.js'\nimport { KeqMiddleware } from '~/middleware/index.js'\nimport { KeqMiddlewareExecutor } from './executor.js'\nimport { cloneSharedContext } from '~/context/utils/clone-shared-context.js'\nimport { assignSharedContext } from '~/context/utils/assign-shared-context.js'\n\n\ninterface KeqMiddlewareOrchestratorPointer {\n orchestrator: KeqMiddlewareOrchestrator\n index: number\n}\n\nexport type KeqMiddlewareOrchestratorStatus = 'idle' | 'pending' | 'fulfilled' | 'rejected'\n\nexport class KeqMiddlewareOrchestrator {\n main?: KeqMiddlewareOrchestratorPointer\n\n status: KeqMiddlewareOrchestratorStatus = 'idle'\n context: KeqSharedContext\n executors: KeqMiddlewareExecutor[] = []\n\n current: number = -1\n\n constructor(\n context: KeqSharedContext,\n middlewares: KeqMiddleware[] = [],\n inherit?: {\n main?: KeqMiddlewareOrchestratorPointer\n },\n ) {\n this.context = context\n this.executors = middlewares.map((mw) => new KeqMiddlewareExecutor(mw))\n\n if (inherit?.main) this.main = inherit.main\n }\n\n private cancelNotFinished(): void {\n const current = this.current\n\n for (let i = current + 1; i < this.executors.length; i++) {\n const executor = this.executors[i]\n if (executor.status === 'pending') {\n executor.status = 'canceled'\n }\n }\n }\n\n private async run(): Promise<void> {\n if (this.executors.length === 0) return\n\n // clone executors array to avoid mutation during execution\n const executors = [...this.executors]\n\n const next = async (nextIndex: number): Promise<void> => {\n if (nextIndex >= executors.length) return\n\n const nextExecutor = executors[nextIndex]\n if (nextExecutor.status !== 'idle') {\n const msg = `Cannot call next() because the next Middleware(${nextExecutor.name}) status is ${nextExecutor.status}. If you want to re-execute it, please fork a new orchestrator.`\n throw new Exception(msg)\n }\n\n if (this.current + 1 !== nextIndex) {\n const parentExecutor = executors[nextIndex - 1]\n const msg = parentExecutor\n ? `Cannot call next() outside Middleware(${parentExecutor.name}) runtime. You can fork a new orchestration and execute the forked one anywhere.`\n : 'Cannot jump to non-sequential middleware. Please call next() in order.'\n\n throw new Exception(msg)\n }\n\n const last = this.current\n this.current = nextIndex\n const context = new KeqExecutionContext(this, nextExecutor)\n\n try {\n await nextExecutor.execute(context, () => next.call(this, nextIndex + 1))\n } finally {\n if (this.current === last + 1) {\n this.current = last\n } else if (this.current > last) {\n this.cancelNotFinished()\n this.current = last\n }\n }\n }\n\n await next.call(this, 0)\n }\n\n async execute(): Promise<void> {\n if (this.status !== 'idle') {\n throw new Exception('Orchestrator has already been executed.')\n }\n\n this.status = 'pending'\n\n try {\n await this.run()\n this.status = 'fulfilled'\n } catch (error) {\n this.status = 'rejected'\n throw error\n }\n }\n\n fork(): KeqMiddlewareOrchestrator {\n const context = cloneSharedContext(this.context)\n const next = this.current + 1\n const middlewares = this.executors.slice(next)\n .map((executor) => executor.middleware)\n\n const forkedOrchestrator = new KeqMiddlewareOrchestrator(context, middlewares, {\n main: {\n orchestrator: this.main ? this.main.orchestrator : this,\n index: this.main ? this.main.index + next : next,\n },\n })\n\n return forkedOrchestrator\n }\n\n merge(source: KeqMiddlewareOrchestrator): void {\n if (!source.main) throw new TypeException('Source orchestrator is not a forked orchestrator.')\n\n const target = this.main ? this.main.orchestrator : this\n if (source.main.orchestrator !== target) throw new TypeException('Cannot rebase to unrelated orchestrator')\n if (source.main.index !== this.current + 1) throw new TypeException(`Cannot merge from non-current(expected: ${this.current + 1}, actual: ${source.main.index}) forked orchestrator`)\n\n // copy context\n assignSharedContext(this.context, source.context)\n\n // copy executors status\n for (const [i, executor] of this.executors.slice(source.main.index).entries()) {\n executor.status = source.executors[i].status\n }\n }\n}\n","import type { ShorthandContentType } from '~/request/types/content-type.js'\n\n\nexport function fixContentType(contentType: ShorthandContentType): string\nexport function fixContentType(contentType: string): string\nexport function fixContentType(contentType: string): string {\n if (['json', 'xml'].includes(contentType)) {\n return `application/${contentType}`\n } else if (['html', 'css'].includes(contentType)) {\n return `text/${contentType}`\n } else if (['form-data'].includes(contentType)) {\n return `multipart/${contentType}`\n } else if (['jpeg', 'bmp', 'apng', 'gif', 'x-icon', 'png', 'webp', 'tiff'].includes(contentType)) {\n return `image/${contentType}`\n } else if (contentType === 'form') {\n return 'application/x-www-form-urlencoded'\n } else if (contentType === 'svg') {\n return 'image/svg+xml'\n }\n return contentType\n}\n","export function getLocationId(depth = 0): string {\n const err = new Error()\n if (!err.stack) return ''\n\n const stackLine = err.stack.split('\\n')[depth + 2]\n\n return stackLine.trim()\n}\n","import { EventSourceParserStream } from 'eventsource-parser/stream'\nimport { KeqResolveWithMode, unwrap } from '~/context'\n\n\nexport async function resolveWith<T>(response: Response, mode: Exclude<KeqResolveWithMode, 'intelligent'>): Promise<T> {\n if (mode === 'response') return response.clone() as T\n if (mode === 'text') return await response.text() as T\n if (mode === 'json') return unwrap(await response.json()) as T\n if (mode === 'form-data') return await response.formData() as T\n if (mode === 'blob') return await response.blob() as T\n if (mode === 'array-buffer') return await response.arrayBuffer() as T\n if (mode === 'sse') {\n if (!response.body) return response.body as T\n\n return response.clone().body!\n .pipeThrough(new TextDecoderStream())\n .pipeThrough(new EventSourceParserStream()) as T\n }\n\n return undefined as T\n}\n","import { resolveWith } from './resolve-with'\n\n\nexport async function intelligentParseResponse<T>(response?: Response): Promise<T> {\n if (!response) return undefined as T\n\n if (response.status === 204) {\n // 204: NO CONTENT\n return undefined as T\n }\n\n const contentType = response.headers.get('content-type') || ''\n try {\n if (contentType.match(/^application\\/(.+\\+)?json/)) {\n return resolveWith<T>(response, 'json')\n } else if (contentType.includes('multipart/form-data')) {\n return resolveWith<T>(response, 'form-data')\n } else if (contentType.includes('plain/text')) {\n return resolveWith<T>(response, 'text')\n } else if (contentType.includes('text/event-stream')) {\n return resolveWith<T>(response, 'sse')\n }\n } catch (err) {\n console.warn(`Failed to intelligent parse response body: ${response.url}`, err)\n throw err\n }\n\n /**\n * Unable to parse response body\n * Return undefined\n * Enable users to discover the problem\n * And modify the method of parsing response\n */\n return undefined as T\n}\n","\nimport { Validator } from '~/validator/index.js'\nimport { Exception } from '~/exception/index.js'\nimport { KeqBodyInit } from '~/request-init/index.js'\n\n\nexport function mergeKeqRequestBody(left: KeqBodyInit, right: KeqBodyInit): KeqBodyInit {\n if (right === undefined) return left\n\n if (typeof right === 'number') {\n throw new TypeError('Cannot set request body to a number.')\n }\n\n if (\n left === null\n || right === null\n || Validator.isBuffer(right)\n || Validator.isArrayBuffer(right)\n || Validator.isBlob(right)\n || Validator.isReadableStream(right)\n || Validator.isBuffer(left)\n || Validator.isArrayBuffer(left)\n || Validator.isBlob(left)\n || Validator.isReadableStream(left)\n || Array.isArray(left)\n || Array.isArray(right)\n || (typeof left !== 'object' && left !== undefined)\n || typeof right !== 'object'\n ) {\n return Array.isArray(right) ? [...right] : right\n }\n\n const result = left || {}\n\n if (Validator.isUrlSearchParams(right)) {\n const keys = right.keys()\n for (const key of keys) {\n const values = right.getAll(key)\n if (values.length === 1) {\n result[key] = values[0]\n } else if (values.length > 1) {\n result[key] = values\n }\n }\n } else if (Validator.isFormData(right)) {\n const keys = right.keys()\n for (const key of keys) {\n const values = right.getAll(key)\n if (values.length === 1) {\n result[key] = values[0]\n } else if (values.length > 1) {\n result[key] = values\n }\n }\n } else if (typeof right === 'object') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (const key in (right as any)) {\n result[key] = right[key]\n }\n } else {\n throw new Exception(`Not support request body type: ${typeof right}`)\n }\n\n return result\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport qs, { IStringifyOptions } from 'qs'\nimport { KeqQueryObject, KeqQueryOptions, KeqQueryValue } from '../types'\n\nfunction normalize(value: KeqQueryValue, options?: KeqQueryOptions): KeqQueryValue {\n if (Array.isArray(value)) {\n return value.map((v) => normalize(v, options))\n }\n\n if (typeof value === 'bigint') {\n return value.toString()\n }\n\n if (typeof value === 'object' && value !== null) {\n const obj = { ...value }\n for (const key of Object.keys(obj)) {\n obj[key] = normalize(obj[key], options)\n }\n\n return obj\n }\n\n\n return value\n}\n\nexport function queryStringify(query: KeqQueryObject, options?: KeqQueryOptions): string {\n const value = normalize(query, options)\n\n const opts: IStringifyOptions = {}\n\n\n if (options?.allowDots !== undefined) {\n opts.allowDots = options.allowDots\n // if (options.encodeDotInKeys !== undefined) {\n // opts.encodeDotInKeys = options.encodeDotInKeys as any\n // }\n }\n\n if (options?.indices !== undefined) {\n opts.indices = options.indices\n }\n\n if (options?.arrayFormat === 'pipe') {\n opts.filter = (_, val) => {\n if (Array.isArray(val)) return val.join('|')\n return val\n }\n } else if (options?.arrayFormat === 'space') {\n opts.filter = (_, val) => {\n if (Array.isArray(val)) return val.join(' ')\n return val\n }\n } else if (options?.arrayFormat) {\n opts.arrayFormat = options.arrayFormat\n }\n\n return qs.stringify(value, opts)\n}\n","import { KeqEvents, KeqGlobal, KeqListeners, KeqMiddlewareOptionsParameter, KeqMiddlewareOptionsReturnType, unwrap } from '~/context/index.js'\nimport { Exception, RequestException } from '~/exception/index.js'\nimport { sleep } from '~/utils/index.js'\nimport { KeqRequestInit } from '~/request-init/index.js'\nimport { KeqSharedContext, KeqContextOptions } from '~/context/index.js'\nimport { KeqMiddlewareOrchestrator } from '~/orchestrator/index.js'\nimport { KeqMiddleware } from '~/middleware/index.js'\nimport { intelligentParseResponse, resolveWith } from './utils/index.js'\nimport { KeqDefaultOperation, KeqOperation, KeqQueryOptions } from './types/index.js'\n\n\nexport type KeqOptions = Partial<Omit<KeqRequestInit, 'url' | '__url__' | 'signal' | 'abort' | 'clone'>> & {\n locationId?: string\n global?: KeqGlobal\n qs?: KeqQueryOptions\n middlewares?: KeqMiddleware[]\n}\n\n/**\n * Core class that provides the foundational structure for managing middlewares, events, and request execution.\n */\nexport class Core<\n OP extends KeqOperation = KeqDefaultOperation,\n RES_BODY extends KeqOperation['responseBody'] = OP['responseBody'],\n> {\n /**\n * The unique identifier of the request's location in the code\n */\n __locationId__?: string\n\n private requestPromise?: Promise<RES_BODY>\n\n protected requestInit: KeqRequestInit\n\n protected __listeners__: KeqListeners = {}\n\n protected __global__: Record<string, any>\n protected __prepend_middlewares__: KeqMiddleware[] = []\n protected __append_middlewares__: KeqMiddleware[] = []\n protected __qs__: KeqQueryOptions | undefined\n\n protected get __middlewares__(): KeqMiddleware[] {\n return [...this.__prepend_middlewares__, ...this.__append_middlewares__]\n }\n\n protected __options__: KeqContextOptions = {\n resolveWithFullResponse: false,\n resolveWith: 'intelligent',\n }\n\n public constructor(url: URL, options: KeqOptions) {\n this.__global__ = options.global || {}\n this.__locationId__ = options.locationId\n this.__qs__ = options.qs\n\n this.requestInit = new KeqRequestInit({\n method: 'get',\n headers: new Headers(),\n pathParameters: {},\n body: undefined,\n ...options,\n url: new URL(url.href),\n })\n\n if (options.middlewares) {\n this.__append_middlewares__.push(...options.middlewares)\n }\n }\n\n // prependMiddlewares(...middlewares: KeqMiddleware[]): this {\n // this.__prepend_middlewares__.push(...middlewares)\n // return this\n // }\n\n // /**\n // * Appends middlewares to the end of the middleware chain.\n // * Using this method indiscriminately is discouraged;\n // * prefer using `.use` to maintain predictable execution order.\n // */\n // appendMiddlewares(...middlewares: KeqMiddleware[]): this {\n // this.__append_middlewares__.unshift(...middlewares)\n // return this\n // }\n\n use(...middlewares: KeqMiddleware[]): this {\n this.__prepend_middlewares__.push(...middlewares)\n return this\n // return this.prependMiddlewares(...middlewares)\n }\n\n on<K extends keyof KeqEvents>(event: K, listener: (data: KeqEvents[K]) => void): this {\n this.__listeners__[event] = this.__listeners__[event] || []\n this.__listeners__[event]!.push(listener)\n return this\n }\n\n option<K extends keyof KeqMiddlewareOptionsReturnType<OP>>(key: K, value?: KeqMiddlewareOptionsParameter[K]): KeqMiddlewareOptionsReturnType<OP>[K]\n option(key: string, value?: any): this\n option(key: string, value: any = true): this {\n this.__options__[key] = value\n return this\n }\n\n options(opts: KeqContextOptions): this {\n for (const [key, value] of Object.entries(opts)) {\n this.__options__[key] = value\n }\n return this\n }\n\n\n private buildSharedContext(): KeqSharedContext {\n const coreContext = new KeqSharedContext({\n locationId: this.__locationId__,\n request: this.requestInit,\n global: this.__global__,\n options: this.__options__,\n })\n\n for (const eventName in this.__listeners__) {\n const listeners = this.__listeners__[eventName]\n for (const listener of listeners) {\n coreContext.emitter.on(eventName as keyof KeqEvents, listener)\n }\n }\n\n return coreContext\n }\n\n private async run(): Promise<KeqSharedContext> {\n let attempt: number | undefined\n\n while (true) {\n const attemptWithDefault = attempt || 0\n const sharedContext = this.buildSharedContext()\n const orchestrator = new KeqMiddlewareOrchestrator(sharedContext, this.__middlewares__)\n\n if (attempt !== undefined) sharedContext.data.retry = { attempt }\n if (attempt && attempt >= 1) sharedContext.emitter.emit('retry', { context: sharedContext })\n\n let error: unknown = null\n\n try {\n await orchestrator.execute()\n } catch (err) {\n error = err\n }\n\n const retryOn = typeof sharedContext.options.retry?.on === 'function'\n ? sharedContext.options.retry.on\n : (attempt, error) => {\n if (error instanceof RequestException && error.retry === false) return false\n return !!error\n }\n let retryTimes = sharedContext.options.retry?.times || 0\n if (retryTimes) {\n if (retryTimes < 0) retryTimes = 0\n else if (!Number.isInteger(retryTimes)) retryTimes = Math.floor(retryTimes)\n }\n\n if (\n attemptWithDefault >= retryTimes\n || (await retryOn(attemptWithDefault, error, sharedContext)) === false\n ) {\n if (error) {\n sharedContext.emitter.emit('error', { context: sharedContext })\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw error\n }\n return sharedContext\n }\n\n const retryDelay = typeof sharedContext.options.retry?.delay === 'function'\n ? await sharedContext.options.retry.delay(attemptWithDefault, error, sharedContext)\n : sharedContext.options.retry?.delay || 0\n\n if (retryDelay) await sleep(retryDelay)\n attempt = attemptWithDefault + 1\n }\n }\n\n async end(): Promise<RES_BODY> {\n const coreContext = await this.run()\n const resolveWithMode = coreContext.options.resolveWith\n\n if (resolveWithMode === 'response') {\n // NOTE: return a clone of the response rather than the proxy response\n return coreContext.response?.clone() as RES_BODY\n }\n\n const response = coreContext.response\n\n if (!resolveWithMode || resolveWithMode === 'intelligent') {\n const output: any = coreContext.output\n if (output !== undefined) {\n return output as RES_BODY\n }\n\n return await intelligentParseResponse<RES_BODY>(response)\n }\n\n if (!response) {\n throw new Exception([\n `Unable to process the response with '${resolveWithMode}'. Possible causes:`,\n '1. The request was never initiated or sent',\n '2. The request failed before a response was received.',\n ].join('\\n'))\n }\n\n return await resolveWith(response, resolveWithMode)\n }\n\n /**\n * Attaches callbacks for the resolution and/or rejection of the Promise.\n * @param onfulfilled The callback to execute when the Promise is resolved.\n * @param onrejected The callback to execute when the Promise is rejected.\n * @returns A Promise for the completion of which ever callback is executed.\n */\n then<TResult1 = RES_BODY, TResult2 = never>(onfulfilled?: ((value: RES_BODY) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2> {\n if (!this.requestPromise) this.requestPromise = this.end()\n return this.requestPromise.then(onfulfilled, onrejected)\n }\n\n catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null): Promise<RES_BODY | TResult> {\n return this.end().catch(onrejected)\n }\n\n finally(onfinally?: (() => void) | null): Promise<RES_BODY> {\n return this.end().finally(onfinally)\n }\n}\n","\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Core } from './core.js'\nimport { Exception, TypeException } from '~/exception/index.js'\nimport { Validator } from '~/validator/index.js'\nimport { KeqFlowControlOptions, KeqFlowControlMode, KeqFlowControlSignal } from '~/middlewares/index.js'\nimport { mergeKeqRequestBody, fixContentType, queryStringify } from './utils/index.js'\nimport { base64Encode } from '~/utils/index.js'\nimport { KeqBodyInit } from '~/request-init/index.js'\n\nimport type { KeqRetryOn, KeqRetryDelay, KeqResolveWithMode } from '~/context/index.js'\nimport type { CommonContentType, ShorthandContentType, KeqDefaultOperation, KeqOperation, KeqAttachableFile, KeqQueryOptions, KeqPathParameterInit, KeqQueryInit, ServerSentEvent } from './types/index.js'\nimport type { ConditionalPick, Merge, Primitive } from 'type-fest'\nimport type { LiteralKeys, StringIndexValueOf, EnabledIfStringIndex, LooseNestedObject, EnableLooseNestedLike, LooseNestedLike } from '~/types/index.js'\n\n\n/**\n * extends Core to provide a fluent API for building HTTP requests\n */\nexport class Keq<\n OP extends KeqOperation = KeqDefaultOperation,\n RES_BODY extends KeqOperation['responseBody'] = OP['responseBody'],\n REQ_PARAMS extends KeqOperation['requestParams'] = OP['requestParams'],\n REQ_QUERY extends KeqOperation['requestQuery'] = OP['requestQuery'],\n REQ_HEADERS extends KeqOperation['requestHeaders'] = OP['requestHeaders'],\n REQ_BODY extends KeqOperation['requestBody'] = OP['requestBody'],\n> extends Core<OP> {\n /**\n * Set request header\n *\n * @description 设置请求头\n */\n set(headers: Partial<REQ_HEADERS> | Headers): this\n set<T extends keyof LiteralKeys<REQ_HEADERS>>(name: T, value: LiteralKeys<REQ_HEADERS>[T]): this\n set<O extends { [K in keyof O]: StringIndexValueOf<REQ_HEADERS> }>(obj: Partial<O> & EnabledIfStringIndex<REQ_HEADERS>): this\n set<O extends { [K in keyof O]: StringIndexValueOf<REQ_HEADERS> }>(key: string, value: StringIndexValueOf<REQ_HEADERS> & EnabledIfStringIndex<REQ_HEADERS>): this\n set(headersOrName: Partial<REQ_HEADERS> | string | Headers, value?: string | number): this {\n if (Validator.isHeaders(headersOrName)) {\n headersOrName.forEach((value, key) => {\n this.requestInit.headers.set(key, value)\n })\n } else if (typeof headersOrName === 'string' && value) {\n if (!Validator.isHeaderValue(value)) {\n throw new Exception(`[Invalid header] Key: ${headersOrName} Value: ${value}`)\n }\n\n this.requestInit.headers.set(headersOrName, String(value))\n } else if (typeof headersOrName === 'object') {\n for (const [key, value] of Object.entries(headersOrName)) {\n if (!Validator.isHeaderValue(value)) {\n throw new Exception(`[Invalid header] Key: ${key} Value: ${String(value)}`)\n }\n\n this.requestInit.headers.set(key, String(value))\n }\n }\n return this\n }\n\n /**\n * Set request headers\n */\n headers(headers: Partial<REQ_HEADERS> | Headers): this\n headers<T extends keyof LiteralKeys<REQ_HEADERS>>(name: T, value: LiteralKeys<REQ_HEADERS>[T]): this\n headers<O extends { [K in keyof O]: StringIndexValueOf<REQ_HEADERS> }>(obj: Partial<O> & EnabledIfStringIndex<REQ_HEADERS>): this\n headers<O extends { [K in keyof O]: StringIndexValueOf<REQ_HEADERS> }>(key: string, value: StringIndexValueOf<REQ_HEADERS> & EnabledIfStringIndex<REQ_HEADERS>): this\n headers(headersOrName: Partial<REQ_HEADERS> | string | Headers, value?: string | number): this {\n return this.set(headersOrName as any, value as any)\n }\n\n /**\n * Set request query/searchParams\n */\n query(obj: Partial<REQ_QUERY>, options?: KeqQueryOptions): this\n query<T extends keyof LiteralKeys<REQ_QUERY>>(key: T, value: LiteralKeys<REQ_QUERY>[T], options?: KeqQueryOptions): this\n query<O extends { [K in keyof O]: StringIndexValueOf<REQ_QUERY> }>(key: string, obj: StringIndexValueOf<REQ_QUERY> & EnabledIfStringIndex<REQ_QUERY>, options?: KeqQueryOptions): this\n query<O extends { [K in keyof O]: StringIndexValueOf<REQ_QUERY> }>(obj: Partial<O> & EnabledIfStringIndex<REQ_QUERY>, options?: KeqQueryOptions): this\n query<O extends object>(\n arg: O\n & Partial<LooseNestedObject<REQ_QUERY, O>>\n & EnableLooseNestedLike<StringIndexValueOf<REQ_QUERY>, O>\n & EnabledIfStringIndex<REQ_QUERY>\n ): this\n query<K extends keyof REQ_QUERY, O extends object>(\n key: K,\n arg: O\n & LooseNestedLike<StringIndexValueOf<REQ_QUERY>, O>\n & EnableLooseNestedLike<StringIndexValueOf<REQ_QUERY>, O>\n & EnabledIfStringIndex<REQ_QUERY>,\n options?: KeqQueryOptions,\n ): this\n query(arg1: string | Partial<REQ_QUERY>, arg2?: KeqQueryInit | KeqQueryOptions, arg3?: KeqQueryOptions): this {\n if (Validator.isObject(arg1)) {\n const str = queryStringify(arg1, (arg2 as KeqQueryOptions) || this.__qs__)\n\n for (const [k, v] of new URLSearchParams(str).entries()) {\n for (const item of Array.isArray(v) ? v : [v]) {\n this.requestInit.url.searchParams.append(k, item)\n }\n }\n\n this.requestInit.url.search = this.requestInit.url.searchParams.toString().replace(/\\+/g, '%20')\n return this\n }\n\n if (typeof arg1 === 'string') {\n this.query({ [arg1]: arg2 } as Partial<REQ_QUERY>, arg3)\n return this\n }\n\n throw new TypeException('Invalid Arguments for .query()')\n }\n\n /**\n * Set request route params\n */\n params(params: Partial<REQ_PARAMS>): this\n params<T extends keyof LiteralKeys<REQ_PARAMS>>(key: T, value: LiteralKeys<REQ_PARAMS>[T]): this\n params<O extends { [K in keyof O]: StringIndexValueOf<REQ_PARAMS> }>(obj: Partial<O> & EnabledIfStringIndex<REQ_PARAMS>): this\n params<O extends { [K in keyof O]: StringIndexValueOf<REQ_PARAMS> }>(key: string, value: StringIndexValueOf<REQ_PARAMS> & EnabledIfStringIndex<REQ_PARAMS>): this\n params(arg1: string | Partial<REQ_PARAMS>, arg2?: KeqPathParameterInit): this {\n if (typeof arg1 === 'string' && arg2 !== undefined) {\n this.requestInit.pathParameters[arg1] = arg2\n } else if (typeof arg1 === 'object' && arg1 !== null) {\n for (const k of Object.keys(arg1)) {\n if (arg1[k]) this.requestInit.pathParameters[k] = arg1[k]\n }\n } else {\n throw new TypeError('Invalid Arguments for .params()')\n }\n\n return this\n }\n\n /**\n * Set request body\n */\n body(value: KeqBodyInit): this {\n this.requestInit.body = value\n return this\n }\n\n\n /**\n * Setting the Content-Type\n */\n type(contentType: ShorthandContentType): this\n type(contentType: CommonContentType): this\n type(contentType: string): this\n type(contentType: string): this {\n const type = fixContentType(contentType)\n this.set('content-type', type as any)\n return this\n }\n\n\n /**\n * Http Basic Authentication\n */\n auth(username: string, password: string): this {\n this.set('Authorization', `Basic ${base64Encode(`${username}:${password}`)}` as any)\n return this\n }\n\n private setTypeIfEmpty(contentType: ShorthandContentType): void\n private setTypeIfEmpty(contentType: CommonContentType): void\n private setTypeIfEmpty(contentType: string): void\n private setTypeIfEmpty(contentType: string): void {\n if (!this.requestInit.headers.has('Content-Type')) void this.type(contentType)\n }\n\n /**\n * set request body\n */\n send(value: Partial<REQ_BODY>): this\n send(value: KeqBodyInit): this {\n this.requestInit.body = mergeKeqRequestBody(this.requestInit.body, value)\n\n if (Validator.isUrlSearchParams(value)) {\n this.setTypeIfEmpty('form')\n } else if (Validator.isFormData(value)) {\n this.setTypeIfEmpty('form-data')\n } else if (Validator.isBlob(value) || Validator.isReadableStream(value) || Validator.isArrayBuffer(value)) {\n // don't set content-type\n } else if (typeof value === 'object') {\n this.setTypeIfEmpty('json')\n }\n\n return this\n }\n\n\n field<T extends ConditionalPick<RES_BODY, Primitive>, K extends keyof T>(arg1: K, value: T[K]): this\n field(arg1: ConditionalPick<RES_BODY, Primitive>): this\n field(arg1: string, value: string | string[]): this\n field(arg1: Record<string, string>): this\n field(arg1: string | Record<string, string>, arg2?: any): this {\n if (typeof arg1 === 'object') {\n this.requestInit.body = mergeKeqRequestBody(this.requestInit.body, arg1)\n } else if (arg2) {\n this.requestInit.body = mergeKeqRequestBody(this.requestInit.body, { [arg1]: arg2 })\n } else {\n throw new TypeException('Invalid arguments for .field()')\n }\n\n this.setTypeIfEmpty('form-data')\n return this\n }\n\n\n attach<T extends keyof ConditionalPick<REQ_BODY, KeqAttachableFile>>(key: T, value: KeqAttachableFile, filename: string): this\n attach<T extends keyof ConditionalPick<REQ_BODY, KeqAttachableFile>>(key: T, value: KeqAttachableFile | KeqAttachableFile[]): this\n attach(key: string, value: KeqAttachableFile, filename: string): this\n attach(key: string, value: KeqAttachableFile | KeqAttachableFile[]): this\n attach(key: string, value: KeqAttachableFile | KeqAttachableFile[], arg3 = 'file'): this {\n const formData = new FormData()\n\n const appendFile = (file: KeqAttachableFile): void => {\n if (Validator.isBlob(file)) {\n formData.append(key, file, arg3)\n } else if (Validator.isFile(file)) {\n formData.append(key, file)\n } else if (Validator.isBuffer(file)) {\n formData.append(key, new Blob([file as any]), arg3)\n } else {\n throw new TypeException('Invalid file type for .attach()')\n }\n }\n\n if (Array.isArray(value)) {\n if (value.length === 0) {\n throw new TypeException('Empty array provided to .attach() is not valid')\n }\n\n for (const item of value) {\n appendFile(item)\n }\n } else {\n appendFile(value)\n }\n\n const files = formData.getAll(key)\n\n this.requestInit.body = mergeKeqRequestBody(\n this.requestInit.body,\n {\n [key]: files.length === 1 ? files[0] : files,\n },\n )\n\n this.setTypeIfEmpty('form-data')\n return this\n }\n\n /**\n *\n * @param retryTimes Max number of retries per call\n * @param retryDelay Initial value used to calculate the retry in milliseconds (This is still randomized following the randomization factor)\n * @param retryCallback Will be called after request failed\n */\n retry(retryTimes: number, retryDelay: KeqRetryDelay = 0, retryOn: KeqRetryOn = (attempt, error) => !!error): this {\n this.option('retry', {\n times: retryTimes,\n delay: retryDelay,\n on: retryOn,\n })\n\n return this\n }\n\n\n redirect(mod: RequestRedirect): this {\n this.requestInit.redirect = mod\n return this\n }\n\n credentials(mod: RequestCredentials): this {\n this.requestInit.credentials = mod\n return this\n }\n\n mode(mod: RequestMode): this {\n this.requestInit.mode = mod\n return this\n }\n\n flowControl(mode: 'concurrent', limit: number, signal?: KeqFlowControlSignal): this\n flowControl(mode: 'serial', signal?: KeqFlowControlSignal): this\n flowControl(mode: 'abort', signal?: KeqFlowControlSignal): this\n flowControl(mode: KeqFlowControlMode, arg2?: KeqFlowControlSignal | number, arg3?: KeqFlowControlSignal): this {\n const concurrencyLimit = typeof arg2 === 'number' ? arg2 : undefined\n const sig = (typeof arg2 === 'function' || typeof arg2 === 'string')\n ? arg2\n : arg3 && (typeof arg3 === 'function' || typeof arg3 === 'string')\n ? arg3\n : this.__locationId__\n\n if (!sig) {\n throw new Exception('please set signal to .flowControl()')\n }\n\n const flowControl: KeqFlowControlOptions = {\n mode,\n concurrencyLimit,\n signal: sig,\n }\n\n this.option('flowControl', flowControl)\n return this\n }\n\n timeout(milliseconds: number): this {\n this.option('timeout', { millisecond: milliseconds })\n return this\n }\n\n resolveWith(m: 'response'): Keq<Merge<OP, { responseBody: Response }>>\n resolveWith(m: 'array-buffer'): Keq<Merge<OP, { responseBody: ArrayBuffer }>>\n resolveWith(m: 'blob'): Keq<Merge<OP, { responseBody: Blob }>>\n resolveWith(m: 'text'): Keq<Merge<OP, { responseBody: string }>>\n resolveWith(m: 'sse'): Keq<Merge<OP, { responseBody: ReadableStream<ServerSentEvent> }>>\n resolveWith<T = any>(m: 'json' | 'form-data'): Keq<Merge<OP, { responseBody: T }>>\n resolveWith(m: KeqResolveWithMode | any): any {\n this.option('resolveWith', m)\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return this as any\n }\n}\n","/* eslint-disable @typescript-eslint/await-thenable */\nimport { Exception } from '../../exception/exception.js'\nimport { KeqRoute } from '../types/keq-route.js'\n\n\nexport function composeRoute(routes: KeqRoute[]): KeqRoute {\n if (!routes.length) {\n throw new Exception('At least one route')\n }\n\n return async (ctx) => {\n const results = await Promise.all(routes.map((route) => route(ctx)))\n return results.every((result) => result === true)\n }\n}\n","import type { KeqRoute } from '~/router/types/keq-route.js'\n\n\nexport function keqHostRoute(host: string): KeqRoute {\n return (ctx) => ctx.request.url.host === host\n}\n","import { Validator } from '../validator/index.js'\n\nimport type { KeqRoute } from '~/router/types/keq-route.js'\n\nexport function keqLocationRoute(): KeqRoute {\n return (ctx) => Validator.isBrowser() && ctx.request.url.host === window.location.host\n}\n","import type { KeqRoute } from '~/router/types/keq-route.js'\n\n\nexport function keqMethodRoute(method): KeqRoute {\n return (ctx) => ctx.request.method.toLowerCase() === method.toLowerCase()\n}\n","import { Exception } from '../exception/exception.js'\n\nimport type { KeqRoute } from './types/keq-route.js'\n\n\nexport function keqModuleRoute(moduleName: string): KeqRoute {\n if (!moduleName) {\n throw new Exception('Module name should not be empty')\n }\n\n return (ctx) => ctx.options.module?.name === moduleName\n}\n","import * as m from 'minimatch'\n\nimport type { KeqRoute } from '~/router/types/keq-route.js'\n\nexport function keqPathnameRoute(pathname: string): KeqRoute {\n return (ctx) => {\n // TODO: minimatch will cause each request to consume an additional 1-2ms.\n return m.minimatch(ctx.request.url.pathname, pathname)\n }\n}\n","import { TypeException } from '~/exception/type.exception.js'\nimport { keqHostRoute } from './keq-host-route.js'\nimport { keqLocationRoute } from './keq-location-route.js'\nimport { keqMethodRoute } from './keq-method-route.js'\nimport { keqModuleRoute } from './keq-module-route.js'\nimport { keqPathnameRoute } from './keq-pathname-route.js'\nimport { composeMiddleware, getMiddlewareName } from '~/middleware/index.js'\n\nimport type { KeqMiddleware } from '~/middleware/index.js'\nimport type { KeqRoute } from '~/router/types/keq-route.js'\n\n\nexport class KeqRouter {\n constructor(\n private readonly middlewares: KeqMiddleware[] = [],\n ) { }\n\n private static buildMiddleware(route: KeqRoute, middlewares: KeqMiddleware[]): KeqMiddleware {\n if (middlewares.length === 0) {\n throw new TypeException('At least one middleware is required to build a route middleware')\n }\n\n const composedMiddleware = middlewares.length > 1 ? composeMiddleware(middlewares) : middlewares[0]\n\n const middleware: KeqMiddleware = async function router(ctx, next) {\n if (route(ctx)) await composedMiddleware(ctx, next)\n else await next()\n }\n\n return middleware\n }\n\n route(route: KeqRoute, middleware: KeqMiddleware[]): this\n route(route: KeqRoute, middleware: KeqMiddleware, ...additionalMiddlewares: KeqMiddleware[]): this\n route(route: KeqRoute, middleware: KeqMiddleware | KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): this {\n // @ts-ignore\n const mid = KeqRouter.route(route, middleware, ...additionalMiddlewares)\n this.middlewares.push(mid)\n return this\n }\n\n host(host: string, middleware: KeqMiddleware[]): this\n host(host: string, middleware: KeqMiddleware, ...additionalMiddlewares: KeqMiddleware[]): this\n host(host: string, middleware: KeqMiddleware | KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): this {\n // @ts-ignore\n const mid = KeqRouter.host(host, middleware, ...additionalMiddlewares)\n this.middlewares.push(mid)\n return this\n }\n\n method(method: string, middleware: KeqMiddleware[]): this\n method(method: string, middleware: KeqMiddleware, ...additionalMiddlewares: KeqMiddleware[]): this\n method(method: string, middleware: KeqMiddleware | KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): this {\n // @ts-ignore\n const mid = KeqRouter.method(method, middleware, ...additionalMiddlewares)\n this.middlewares.push(mid)\n return this\n }\n\n pathname(pathname: string, middleware: KeqMiddleware[]): this\n pathname(pathname: string, middleware: KeqMiddleware, ...additionalMiddlewares: KeqMiddleware[]): this\n pathname(pathname: string, middleware: KeqMiddleware | KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): this {\n // @ts-ignore\n const mid = KeqRouter.pathname(pathname, middleware, ...additionalMiddlewares)\n this.middlewares.push(mid)\n return this\n }\n\n location(middleware: KeqMiddleware[]): this\n location(middleware: KeqMiddleware, ...additionalMiddlewares: KeqMiddleware[]): this\n location(middleware: KeqMiddleware | KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): this {\n // @ts-ignore\n const mid = KeqRouter.location(middleware, ...additionalMiddlewares)\n this.middlewares.push(mid)\n return this\n }\n\n module(moduleName: string, middleware: KeqMiddleware[]): this\n module(moduleName: string, middleware: KeqMiddleware, ...additionalMiddlewares: KeqMiddleware[]): this\n module(moduleName: string, middleware: KeqMiddleware | KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): this {\n // @ts-ignore\n const mid = KeqRouter.module(moduleName, middleware, ...additionalMiddlewares)\n this.middlewares.push(mid)\n return this\n }\n\n static route(route: KeqRoute, middleware: KeqMiddleware[]): KeqMiddleware\n static route(route: KeqRoute, middleware: KeqMiddleware, ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware\n static route(route: KeqRoute, middleware: KeqMiddleware | KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware {\n const list = Array.isArray(middleware) ? middleware : [middleware, ...additionalMiddlewares]\n const mid = KeqRouter.buildMiddleware(route, list)\n mid.__keqMiddlewareName__ = `route(${route.__keqRouteName__ || route.name}, ${list.map(getMiddlewareName).join(', ')})`\n return mid\n }\n\n\n static host(host: string, middleware: KeqMiddleware[]): KeqMiddleware\n static host(host: string, middleware: KeqMiddleware, ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware\n static host(host: string, middleware: KeqMiddleware | KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware {\n const list = Array.isArray(middleware) ? middleware : [middleware, ...additionalMiddlewares]\n const mid = KeqRouter.buildMiddleware(keqHostRoute(host), list)\n mid.__keqMiddlewareName__ = `host(${JSON.stringify(host)}, ${list.map(getMiddlewareName).join(', ')})`\n return mid\n }\n\n static method(method: string, middleware: KeqMiddleware[]): KeqMiddleware\n static method(method: string, middleware: KeqMiddleware, ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware\n static method(method: string, middleware: KeqMiddleware | KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware {\n const list = Array.isArray(middleware) ? middleware : [middleware, ...additionalMiddlewares]\n const mid = KeqRouter.buildMiddleware(keqMethodRoute(method), list)\n mid.__keqMiddlewareName__ = `method(${JSON.stringify(method)}, ${list.map(getMiddlewareName).join(', ')})`\n return mid\n }\n\n\n static pathname(pathname: string, middleware: KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware\n static pathname(pathname: string, middleware: KeqMiddleware, ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware\n static pathname(pathname: string, middleware: KeqMiddleware | KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware {\n const list = Array.isArray(middleware) ? middleware : [middleware, ...additionalMiddlewares]\n const mid = KeqRouter.buildMiddleware(keqPathnameRoute(pathname), list)\n mid.__keqMiddlewareName__ = `pathname(${JSON.stringify(pathname)}, ${list.map(getMiddlewareName).join(', ')})`\n return mid\n }\n\n static location(middleware: KeqMiddleware[]): KeqMiddleware\n static location(middleware: KeqMiddleware, ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware\n static location(middleware: KeqMiddleware | KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware {\n const list = Array.isArray(middleware) ? middleware : [middleware, ...additionalMiddlewares]\n const mid = KeqRouter.buildMiddleware(keqLocationRoute(), list)\n mid.__keqMiddlewareName__ = `location(${list.map(getMiddlewareName).join(', ')})`\n return mid\n }\n\n static module(moduleName: string, middleware: KeqMiddleware[]): KeqMiddleware\n static module(moduleName: string, middleware: KeqMiddleware, ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware\n static module(moduleName: string, middleware: KeqMiddleware | KeqMiddleware[], ...additionalMiddlewares: KeqMiddleware[]): KeqMiddleware {\n const list = Array.isArray(middleware) ? middleware : [middleware, ...additionalMiddlewares]\n const mid = KeqRouter.buildMiddleware(keqModuleRoute(moduleName), list)\n mid.__keqMiddlewareName__ = `module(${JSON.stringify(moduleName)}, ${list.map(getMiddlewareName).join(', ')})`\n return mid\n }\n}\n","import { TimeoutException } from '~/exception/index.js'\nimport { KeqMiddleware } from '~/middleware/types/index.js'\n\nexport interface KeqTimeoutOptions {\n millisecond: number\n}\n\nexport function keqTimeoutMiddleware(): KeqMiddleware {\n return async function timeoutMiddleware(ctx, next) {\n if (!ctx.options.timeout || ctx.options.timeout.millisecond <= 0) {\n await next()\n return\n }\n\n const millisecond = ctx.options.timeout.millisecond\n ctx.emitter.on('fetch:after', ({ context }) => {\n setTimeout(\n () => {\n const err = new TimeoutException(`keq request timeout(${millisecond}ms)`)\n context.request.abort(err)\n context.emitter.emit('timeout', { context })\n },\n millisecond,\n )\n })\n\n await next()\n }\n}\n","import * as fastq from 'fastq'\nimport { KeqGlobal } from '~/context'\nimport type { KeqMiddleware } from '~/middleware/types/index.js'\n\n\nexport function keqSerialFlowControlMiddleware(): KeqMiddleware {\n return async function serialFlowControlMiddleware(ctx, next) {\n if (!ctx.options.flowControl || !['serial', 'concurrent'].includes(ctx.options.flowControl.mode)) {\n await next()\n return\n }\n\n const { signal } = ctx.options.flowControl\n const concurrent = ctx.options.flowControl.mode === 'serial'\n ? 1\n : !ctx.options.flowControl.concurrencyLimit\n ? 1\n : ctx.options.flowControl.concurrencyLimit < 1\n ? 1\n : parseInt(ctx.options.flowControl.concurrencyLimit as any, 10)\n\n const key = typeof signal === 'string' ? signal : signal(ctx)\n\n if (!ctx.global.core) ctx.global.core = {}\n if (!ctx.global.core.serialFlowControl) ctx.global.core.serialFlowControl = {}\n\n if (!ctx.global.core.serialFlowControl[key]) {\n ctx.global.core.serialFlowControl[key] = fastq.promise(async ({ next }) => {\n await next()\n }, concurrent)\n }\n\n const queue: Required<Required<KeqGlobal>['core']>['serialFlowControl'][string] = ctx.global.core.serialFlowControl[key]\n\n await queue.push({ next })\n }\n}\n","import { AbortException } from '~/exception/index.js'\nimport { KeqMiddleware } from '~/middleware/types/index.js'\n\n\nexport function keqAbortFlowControlMiddleware(): KeqMiddleware {\n return async function abortFlowControlMiddleware(ctx, next) {\n if (!ctx.options.flowControl || ctx.options.flowControl.mode !== 'abort') {\n await next()\n return\n }\n\n const { signal } = ctx.options.flowControl\n\n const key = typeof signal === 'string' ? signal : signal(ctx)\n\n\n if (!ctx.global.core) ctx.global.core = {}\n if (!ctx.global.core.abortFlowControl) ctx.global.core.abortFlowControl = {}\n\n const abort = ctx.global.core.abortFlowControl[key]\n\n if (abort) {\n const reason = new AbortException(`Previous request was aborted by AbortFlowControl with key \"${key}\"`)\n abort(reason)\n }\n\n const fn = ctx.request.abort.bind(ctx.request)\n ctx.global.core.abortFlowControl[key] = fn\n\n try {\n await next()\n } finally {\n if (ctx.global.core.abortFlowControl[key] === fn) {\n ctx.global.core.abortFlowControl[key] = undefined\n }\n }\n }\n}\n","import { keqSerialFlowControlMiddleware } from './serial-flow-control-middleware'\nimport { keqAbortFlowControlMiddleware } from './abort-flow-control-middleware'\nimport { KeqMiddleware } from '~/middleware/types'\nimport { composeMiddleware } from '~/middleware/utils'\n\nexport * from './types/keq-flow-control.js'\n\n\nexport function keqFlowControlMiddleware(): KeqMiddleware {\n return composeMiddleware(\n [keqSerialFlowControlMiddleware(), keqAbortFlowControlMiddleware()],\n { name: 'flowControlMiddleware' },\n )\n}\n","import { KeqExecutionContext } from '~/context/execution-context.js'\nimport { KeqMiddleware } from '~/middleware/types/index.js'\n\n/**\n * Send Request\n */\nexport function keqFetchMiddleware(): KeqMiddleware {\n return async function fetchMiddleware(context: KeqExecutionContext) {\n const fetch = context.options.fetchAPI || globalThis.fetch\n\n context.emitter.emit('fetch:before', { context })\n const response = await fetch(...context.request.toFetchArguments())\n context.emitter.emit('fetch:after', { context })\n\n context.res = response\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { KeqEvents, KeqGlobal } from '~/context'\nimport { Keq } from './keq'\nimport { KeqApiSchema, KeqDefaultOperation, KeqQueryOptions } from './types'\nimport { getLocationId } from './utils'\nimport { KeqMiddleware } from '~/middleware'\nimport { Validator } from '~/validator'\nimport { KeqRequestInit, KeqRequestMethod } from '~/request-init'\nimport { ExtractMethodOperations } from './types'\nimport { KeqRouter } from '~/router'\nimport { keqFetchMiddleware, keqFlowControlMiddleware, keqTimeoutMiddleware } from '~/middlewares'\n\n\nexport interface KeqRequestOptions {\n preMiddlewares?: KeqMiddleware[]\n\n /**\n * Append middlewares to the end of the middleware chain.\n * Using this option indiscriminately is discouraged.\n */\n postMiddlewares?: KeqMiddleware[]\n\n baseOrigin?: string\n qs?: KeqQueryOptions\n}\n\nexport type KeqRequestFetchOptions<M extends KeqRequestMethod = KeqRequestMethod> = Partial<Omit<KeqRequestInit, 'url' | '__url__' | 'signal' | 'abort' | 'clone' | 'toFetchArguments' | 'method'>> & {\n method: M\n}\n\n/**\n * Keq instance factory class,\n * and shares global data and middlewares across requests\n */\nexport class KeqRequest<SCHEMA extends KeqApiSchema = KeqApiSchema> {\n baseOrigin: string\n qs?: KeqQueryOptions\n\n /**\n * share data between requests, used to implement flowControl\n * @description 跨请求共享数据,用于实现 flowControl的功能\n */\n readonly global: KeqGlobal = {}\n\n readonly preMiddlewares: KeqMiddleware[] = []\n readonly postMiddlewares: KeqMiddleware[] = []\n\n constructor(options?: KeqRequestOptions) {\n if (options?.baseOrigin) {\n this.baseOrigin = options.baseOrigin\n } else {\n this.baseOrigin = Validator.isBrowser() ? location.origin : 'http://127.0.0.1'\n }\n\n this.qs = options?.qs\n\n this.postMiddlewares = options?.postMiddlewares || [\n keqFlowControlMiddleware(),\n keqTimeoutMiddleware(),\n keqFetchMiddleware(),\n ]\n this.preMiddlewares = options?.preMiddlewares || []\n }\n\n private __formatUrl__(url: string | URL): URL {\n if (typeof url === 'string') {\n return new URL(url, this.baseOrigin)\n }\n\n return new URL(url.href)\n }\n\n private __fetch__(\n url: string | URL,\n init: KeqRequestFetchOptions,\n locationId?: string,\n ): Keq<any> {\n const keq = new Keq(\n this.__formatUrl__(url),\n {\n ...init, locationId,\n global: this.global,\n qs: this.qs,\n middlewares: [\n ...this.preMiddlewares,\n ...this.postMiddlewares,\n ],\n })\n\n return keq as Keq<any>\n }\n\n\n fetch<P extends keyof SCHEMA, M extends KeqRequestMethod>(url: P, init: KeqRequestFetchOptions<M>): Keq<Exclude<SCHEMA[P][M], undefined>>\n fetch<T = unknown>(url: string | URL, init: KeqRequestFetchOptions): Keq<KeqDefaultOperation<{ responseBody: T }>>\n fetch(url: string | URL, init: KeqRequestFetchOptions): Keq<any> {\n return this.__fetch__(\n url,\n init,\n getLocationId(1),\n )\n }\n\n get<P extends keyof ExtractMethodOperations<SCHEMA, 'get'>>(url: P): Keq<ExtractMethodOperations<SCHEMA, 'get'>[P], ExtractMethodOperations<SCHEMA, 'get'>[P]>\n get<T>(url: string | URL): Keq<KeqDefaultOperation<{ responseBody: T }>>\n get(url: string | URL): Keq<any> {\n return this.__fetch__(\n url,\n { method: 'get' },\n getLocationId(1),\n )\n }\n\n put<P extends keyof ExtractMethodOperations<SCHEMA, 'put'>>(url: P): Keq<ExtractMethodOperations<SCHEMA, 'put'>[P], ExtractMethodOperations<SCHEMA, 'put'>[P]>\n put<T>(url: string | URL): Keq<KeqDefaultOperation<{ responseBody: T }>>\n put(url: string | URL): Keq<any> {\n return this.__fetch__(\n url,\n { method: 'put' },\n getLocationId(1),\n )\n }\n\n delete<P extends keyof ExtractMethodOperations<SCHEMA, 'delete'>>(url: P): Keq<ExtractMethodOperations<SCHEMA, 'delete'>[P], ExtractMethodOperations<SCHEMA, 'delete'>[P]>\n delete<T>(url: string | URL): Keq<KeqDefaultOperation<{ responseBody: T }>>\n delete(url: string | URL): Keq<any> {\n return this.__fetch__(\n url,\n { method: 'delete' },\n getLocationId(1),\n )\n }\n\n del<P extends keyof ExtractMethodOperations<SCHEMA, 'delete'>>(url: P): Keq<ExtractMethodOperations<SCHEMA, 'delete'>[P], ExtractMethodOperations<SCHEMA, 'delete'>[P]>\n del<T>(url: string | URL): Keq<KeqDefaultOperation<{ responseBody: T }>>\n del(url: string | URL): Keq<any> {\n return this.delete(url)\n }\n\n post<P extends keyof ExtractMethodOperations<SCHEMA, 'post'>>(url: P): Keq<ExtractMethodOperations<SCHEMA, 'post'>[P], ExtractMethodOperations<SCHEMA, 'post'>[P]>\n post<T>(url: string | URL): Keq<KeqDefaultOperation<{ responseBody: T }>>\n post(url: string | URL): Keq<any> {\n return this.__fetch__(\n url,\n { method: 'post' },\n getLocationId(1),\n )\n }\n\n head<P extends keyof ExtractMethodOperations<SCHEMA, 'head'>>(url: P): Keq<ExtractMethodOperations<SCHEMA, 'head'>[P], ExtractMethodOperations<SCHEMA, 'head'>[P]>\n head<T>(url: string | URL): Keq<KeqDefaultOperation<{ responseBody: T }>>\n head(url: string | URL): Keq<any> {\n return this.__fetch__(\n url,\n { method: 'head' },\n getLocationId(1),\n )\n }\n\n patch<P extends keyof ExtractMethodOperations<SCHEMA, 'patch'>>(url: P): Keq<ExtractMethodOperations<SCHEMA, 'patch'>[P], ExtractMethodOperations<SCHEMA, 'patch'>[P]>\n patch<T>(url: string | URL): Keq<KeqDefaultOperation<{ responseBody: T }>>\n patch(url: string | URL): Keq<any> {\n return this.__fetch__(\n url,\n { method: 'patch' },\n getLocationId(1),\n )\n }\n\n options<P extends keyof ExtractMethodOperations<SCHEMA, 'options'>>(url: P): Keq<ExtractMethodOperations<SCHEMA, 'options'>[P], ExtractMethodOperations<SCHEMA, 'options'>[P]>\n options<T>(url: string | URL): Keq<KeqDefaultOperation<{ responseBody: T }>>\n options(url: string | URL): Keq<any> {\n return this.__fetch__(\n url,\n { method: 'options' },\n getLocationId(1),\n )\n }\n\n use(firstMiddleware: KeqMiddleware, ...middleware: KeqMiddleware[]): this {\n this.preMiddlewares.push(firstMiddleware, ...middleware)\n return this\n }\n\n useRouter(): KeqRouter {\n return new KeqRouter(this.preMiddlewares)\n }\n\n on<K extends keyof KeqEvents>(event: K, listener: (data: KeqEvents[K]) => void): this {\n const middleware: KeqMiddleware = async (context, next) => {\n context.emitter.on(event, listener)\n await next()\n }\n\n middleware.__keqMiddlewareName__ = `listen(${event}, ${listener.name || 'anonymous'})`\n\n this.use(middleware)\n\n return this\n }\n}\n\nexport const request = new KeqRequest()\n","import { KeqApiSchema } from './types'\nimport { KeqRequest, KeqRequestOptions } from './request'\n\n\n/**\n * @deprecated use new KeqRequest<SCHEMA>(options) instead\n */\nexport function createRequest<SCHEMA extends KeqApiSchema>(options?: KeqRequestOptions): KeqRequest<SCHEMA> {\n return new KeqRequest<SCHEMA>(options)\n}\n"],"mappings":"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","names":["_a","_a","_b","target","klona","_a","_b","ExecutorProperty","_a","_a","_b","_c","_d","attempt","error","value","m","_a","next"]}
@@ -1,3 +0,0 @@
1
- export * from './types/index.js';
2
- export * from './utils/index.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
@@ -1,3 +0,0 @@
1
- export * from './keq-middleware.js';
2
- export * from './keq-next.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/middleware/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA"}
@@ -1,8 +0,0 @@
1
- import { KeqExecutionContext } from '../../context/execution-context.js';
2
- import type { KeqNext } from './keq-next.js';
3
- import { Promisable } from 'type-fest';
4
- export interface KeqMiddleware {
5
- (ctx: KeqExecutionContext, next: KeqNext): Promisable<void>;
6
- __keqMiddlewareName__?: string;
7
- }
8
- //# sourceMappingURL=keq-middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keq-middleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/types/keq-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAGtC,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC3D,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B"}
@@ -1,2 +0,0 @@
1
- export type KeqNext = () => Promise<void>;
2
- //# sourceMappingURL=keq-next.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keq-next.d.ts","sourceRoot":"","sources":["../../../src/middleware/types/keq-next.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -1,7 +0,0 @@
1
- import type { KeqMiddleware } from '../types/keq-middleware.js';
2
- interface ComposeMiddlewareOptions {
3
- name?: string;
4
- }
5
- export declare function composeMiddleware(middlewares: KeqMiddleware[], options?: ComposeMiddlewareOptions): KeqMiddleware;
6
- export {};
7
- //# sourceMappingURL=compose-middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compose-middleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/utils/compose-middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI/D,UAAU,wBAAwB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,aAAa,CAoBjH"}
@@ -1,3 +0,0 @@
1
- import { KeqMiddleware } from '../types';
2
- export declare function getMiddlewareName(middleware: KeqMiddleware): string;
3
- //# sourceMappingURL=get-middleware-name.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-middleware-name.d.ts","sourceRoot":"","sources":["../../../src/middleware/utils/get-middleware-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,aAAa,GAAG,MAAM,CAEnE"}
@@ -1,3 +0,0 @@
1
- export * from './compose-middleware.js';
2
- export * from './get-middleware-name.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/middleware/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA"}
@@ -1,6 +0,0 @@
1
- import { KeqMiddleware } from '../../middleware/types/index.js';
2
- /**
3
- * Send Request
4
- */
5
- export declare function keqFetchMiddleware(): KeqMiddleware;
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/middlewares/fetch-middleware/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE3D;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAUlD"}
@@ -1,3 +0,0 @@
1
- import { KeqMiddleware } from '../../middleware/types/index.js';
2
- export declare function keqAbortFlowControlMiddleware(): KeqMiddleware;
3
- //# sourceMappingURL=abort-flow-control-middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abort-flow-control-middleware.d.ts","sourceRoot":"","sources":["../../../src/middlewares/flow-control-middleware/abort-flow-control-middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAG3D,wBAAgB,6BAA6B,IAAI,aAAa,CAiC7D"}
@@ -1,4 +0,0 @@
1
- import { KeqMiddleware } from '../../middleware/types';
2
- export * from './types/keq-flow-control.js';
3
- export declare function keqFlowControlMiddleware(): KeqMiddleware;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/middlewares/flow-control-middleware/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,cAAc,6BAA6B,CAAA;AAG3C,wBAAgB,wBAAwB,IAAI,aAAa,CAKxD"}
@@ -1,3 +0,0 @@
1
- import type { KeqMiddleware } from '../../middleware/types/index.js';
2
- export declare function keqSerialFlowControlMiddleware(): KeqMiddleware;
3
- //# sourceMappingURL=serial-flow-control-middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serial-flow-control-middleware.d.ts","sourceRoot":"","sources":["../../../src/middlewares/flow-control-middleware/serial-flow-control-middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAGhE,wBAAgB,8BAA8B,IAAI,aAAa,CA+B9D"}
@@ -1,9 +0,0 @@
1
- import { KeqExecutionContext } from '../../../context/index.js';
2
- export interface KeqFlowControlOptions {
3
- mode: 'abort' | 'serial' | 'concurrent';
4
- concurrencyLimit?: number;
5
- signal: string | ((ctx: KeqExecutionContext) => string);
6
- }
7
- export type KeqFlowControlMode = KeqFlowControlOptions['mode'];
8
- export type KeqFlowControlSignal = KeqFlowControlOptions['signal'];
9
- //# sourceMappingURL=keq-flow-control.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keq-flow-control.d.ts","sourceRoot":"","sources":["../../../../src/middlewares/flow-control-middleware/types/keq-flow-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAGxD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAA;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,mBAAmB,KAAK,MAAM,CAAC,CAAA;CACxD;AAED,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;AAC9D,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- export * from './timeout-middleware/index.js';
2
- export * from './flow-control-middleware/index.js';
3
- export * from './fetch-middleware/index.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oCAAoC,CAAA;AAClD,cAAc,6BAA6B,CAAA"}
@@ -1,6 +0,0 @@
1
- import { KeqMiddleware } from '../../middleware/types/index.js';
2
- export interface KeqTimeoutOptions {
3
- millisecond: number;
4
- }
5
- export declare function keqTimeoutMiddleware(): KeqMiddleware;
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/middlewares/timeout-middleware/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE3D,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,oBAAoB,IAAI,aAAa,CAqBpD"}
@@ -1,13 +0,0 @@
1
- import { KeqExecutionContext } from '../context/index.js';
2
- import { KeqNext } from '../middleware/types/keq-next.js';
3
- import { KeqMiddleware } from '../middleware/index.js';
4
- import { KeqMiddlewareContext } from '../context/middleware-context';
5
- export declare class KeqMiddlewareExecutor {
6
- readonly middleware: KeqMiddleware;
7
- readonly name: string;
8
- status: 'idle' | 'pending' | 'canceled' | 'fulfilled' | 'rejected';
9
- context: KeqMiddlewareContext;
10
- constructor(middleware: KeqMiddleware);
11
- execute(context: KeqExecutionContext, next: KeqNext): Promise<void>;
12
- }
13
- //# sourceMappingURL=executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/orchestrator/executor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAqB,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,qBAAa,qBAAqB;aAMd,UAAU,EAAE,aAAa;IAL3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAS;IAC3E,OAAO,EAAE,oBAAoB,CAAA;gBAGX,UAAU,EAAE,aAAa;IAMrC,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAqB1E"}
@@ -1,3 +0,0 @@
1
- export * from './orchestrator';
2
- export * from './executor';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
@@ -1,25 +0,0 @@
1
- import { KeqSharedContext } from '../context/index.js';
2
- import { KeqMiddleware } from '../middleware/index.js';
3
- import { KeqMiddlewareExecutor } from './executor.js';
4
- interface KeqMiddlewareOrchestratorPointer {
5
- orchestrator: KeqMiddlewareOrchestrator;
6
- index: number;
7
- }
8
- export type KeqMiddlewareOrchestratorStatus = 'idle' | 'pending' | 'fulfilled' | 'rejected';
9
- export declare class KeqMiddlewareOrchestrator {
10
- main?: KeqMiddlewareOrchestratorPointer;
11
- status: KeqMiddlewareOrchestratorStatus;
12
- context: KeqSharedContext;
13
- executors: KeqMiddlewareExecutor[];
14
- current: number;
15
- constructor(context: KeqSharedContext, middlewares?: KeqMiddleware[], inherit?: {
16
- main?: KeqMiddlewareOrchestratorPointer;
17
- });
18
- private cancelNotFinished;
19
- private run;
20
- execute(): Promise<void>;
21
- fork(): KeqMiddlewareOrchestrator;
22
- merge(source: KeqMiddlewareOrchestrator): void;
23
- }
24
- export {};
25
- //# sourceMappingURL=orchestrator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAKrD,UAAU,gCAAgC;IACxC,YAAY,EAAE,yBAAyB,CAAA;IACvC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,+BAA+B,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAA;AAE3F,qBAAa,yBAAyB;IACpC,IAAI,CAAC,EAAE,gCAAgC,CAAA;IAEvC,MAAM,EAAE,+BAA+B,CAAS;IAChD,OAAO,EAAE,gBAAgB,CAAA;IACzB,SAAS,EAAE,qBAAqB,EAAE,CAAK;IAEvC,OAAO,EAAE,MAAM,CAAK;gBAGlB,OAAO,EAAE,gBAAgB,EACzB,WAAW,GAAE,aAAa,EAAO,EACjC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,gCAAgC,CAAA;KACxC;IAQH,OAAO,CAAC,iBAAiB;YAWX,GAAG;IA2CX,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B,IAAI,IAAI,yBAAyB;IAgBjC,KAAK,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;CAe/C"}