@nest-omni/core 4.1.3-2 → 4.1.3-22

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 (441) hide show
  1. package/audit/audit.module.d.ts +11 -0
  2. package/audit/audit.module.js +65 -1
  3. package/audit/controllers/audit.controller.d.ts +81 -1
  4. package/audit/controllers/audit.controller.js +67 -0
  5. package/audit/decorators/audit-action.decorator.d.ts +74 -0
  6. package/audit/decorators/audit-action.decorator.js +42 -0
  7. package/audit/decorators/audit-controller.decorator.d.ts +9 -1
  8. package/audit/decorators/audit-controller.decorator.js +11 -2
  9. package/audit/decorators/audit-operation.decorator.d.ts +38 -0
  10. package/audit/decorators/audit-operation.decorator.js +42 -0
  11. package/audit/decorators/entity-audit.decorator.d.ts +85 -1
  12. package/audit/decorators/entity-audit.decorator.js +153 -3
  13. package/audit/decorators/index.d.ts +2 -0
  14. package/audit/decorators/index.js +2 -0
  15. package/audit/dto/audit-action-query.dto.d.ts +13 -0
  16. package/audit/dto/audit-action-query.dto.js +77 -0
  17. package/audit/dto/audit-log-query.dto.d.ts +3 -0
  18. package/audit/dto/audit-log-query.dto.js +3 -0
  19. package/audit/dto/begin-transaction.dto.d.ts +3 -0
  20. package/audit/dto/begin-transaction.dto.js +3 -0
  21. package/audit/dto/compare-entities.dto.d.ts +3 -0
  22. package/audit/dto/compare-entities.dto.js +3 -0
  23. package/audit/dto/index.d.ts +1 -0
  24. package/audit/dto/index.js +1 -0
  25. package/audit/dto/pre-check-restore.dto.d.ts +3 -0
  26. package/audit/dto/pre-check-restore.dto.js +3 -0
  27. package/audit/dto/restore-entity.dto.d.ts +3 -0
  28. package/audit/dto/restore-entity.dto.js +3 -0
  29. package/audit/entities/audit-action-summary.entity.d.ts +23 -0
  30. package/audit/entities/audit-action-summary.entity.js +101 -0
  31. package/audit/entities/entity-audit-log.entity.d.ts +10 -2
  32. package/audit/entities/entity-audit-log.entity.js +48 -9
  33. package/audit/entities/entity-transaction.entity.d.ts +11 -2
  34. package/audit/entities/entity-transaction.entity.js +42 -3
  35. package/audit/entities/index.d.ts +3 -0
  36. package/audit/entities/index.js +3 -0
  37. package/audit/entities/manual-operation-log.entity.d.ts +4 -2
  38. package/audit/entities/manual-operation-log.entity.js +12 -9
  39. package/audit/entities/operation-template.entity.d.ts +4 -0
  40. package/audit/entities/operation-template.entity.js +4 -0
  41. package/audit/enums/audit.enums.d.ts +29 -6
  42. package/audit/enums/audit.enums.js +31 -7
  43. package/audit/examples/decorator-value-mapping.example.d.ts +70 -0
  44. package/audit/examples/decorator-value-mapping.example.js +414 -0
  45. package/audit/index.d.ts +5 -1
  46. package/audit/index.js +38 -1
  47. package/audit/interceptors/audit-action.interceptor.d.ts +38 -0
  48. package/audit/interceptors/audit-action.interceptor.js +215 -0
  49. package/audit/interceptors/audit.interceptor.d.ts +16 -0
  50. package/audit/interceptors/audit.interceptor.js +41 -11
  51. package/audit/interceptors/index.d.ts +1 -0
  52. package/audit/interceptors/index.js +1 -0
  53. package/audit/interfaces/audit.interfaces.d.ts +174 -4
  54. package/audit/services/audit-action.service.d.ts +141 -0
  55. package/audit/services/audit-action.service.js +244 -0
  56. package/audit/services/audit-context.service.d.ts +106 -0
  57. package/audit/services/audit-context.service.js +185 -0
  58. package/audit/services/audit-strategy.service.d.ts +6 -0
  59. package/audit/services/audit-strategy.service.js +13 -0
  60. package/audit/services/entity-audit.service.d.ts +273 -5
  61. package/audit/services/entity-audit.service.js +840 -60
  62. package/audit/services/index.d.ts +3 -0
  63. package/audit/services/index.js +3 -0
  64. package/audit/services/manual-audit-log.service.d.ts +133 -9
  65. package/audit/services/manual-audit-log.service.js +157 -42
  66. package/audit/services/multi-database.service.d.ts +9 -2
  67. package/audit/services/multi-database.service.js +9 -21
  68. package/audit/services/operation-description.service.d.ts +71 -2
  69. package/audit/services/operation-description.service.js +231 -20
  70. package/audit/services/transaction-audit.service.d.ts +30 -0
  71. package/audit/services/transaction-audit.service.js +53 -5
  72. package/audit/subscribers/entity-audit.subscriber.d.ts +20 -0
  73. package/audit/subscribers/entity-audit.subscriber.js +98 -6
  74. package/cache/cache-metrics.service.d.ts +67 -0
  75. package/cache/cache-metrics.service.js +68 -4
  76. package/cache/cache-serialization.service.d.ts +31 -0
  77. package/cache/cache-serialization.service.js +25 -0
  78. package/cache/cache.constants.d.ts +9 -0
  79. package/cache/cache.constants.js +9 -0
  80. package/cache/cache.health.d.ts +26 -0
  81. package/cache/cache.health.js +30 -0
  82. package/cache/cache.module.d.ts +87 -2
  83. package/cache/cache.module.js +84 -11
  84. package/cache/cache.service.d.ts +143 -3
  85. package/cache/cache.service.js +173 -4
  86. package/cache/cache.warmup.service.d.ts +39 -0
  87. package/cache/cache.warmup.service.js +32 -0
  88. package/cache/decorators/cache-evict.decorator.d.ts +47 -0
  89. package/cache/decorators/cache-evict.decorator.js +56 -0
  90. package/cache/decorators/cache-put.decorator.d.ts +34 -0
  91. package/cache/decorators/cache-put.decorator.js +39 -0
  92. package/cache/decorators/cacheable.decorator.d.ts +40 -0
  93. package/cache/decorators/cacheable.decorator.js +55 -0
  94. package/cache/dependencies/callback.dependency.d.ts +33 -0
  95. package/cache/dependencies/callback.dependency.js +39 -1
  96. package/cache/dependencies/chain.dependency.d.ts +28 -0
  97. package/cache/dependencies/chain.dependency.js +34 -0
  98. package/cache/dependencies/db.dependency.d.ts +83 -7
  99. package/cache/dependencies/db.dependency.js +89 -14
  100. package/cache/dependencies/file.dependency.d.ts +32 -0
  101. package/cache/dependencies/file.dependency.js +34 -0
  102. package/cache/dependencies/tag.dependency.d.ts +75 -4
  103. package/cache/dependencies/tag.dependency.js +145 -11
  104. package/cache/dependencies/time.dependency.d.ts +43 -0
  105. package/cache/dependencies/time.dependency.js +43 -0
  106. package/cache/entities/index.d.ts +1 -0
  107. package/cache/entities/index.js +17 -0
  108. package/cache/entities/typeorm-cache.entity.d.ts +71 -0
  109. package/cache/entities/typeorm-cache.entity.js +110 -0
  110. package/cache/examples/basic-usage.d.ts +15 -0
  111. package/cache/examples/basic-usage.js +62 -8
  112. package/cache/index.d.ts +2 -1
  113. package/cache/index.js +28 -2
  114. package/cache/interfaces/cache-dependency.interface.d.ts +53 -0
  115. package/cache/interfaces/cache-options.interface.d.ts +89 -0
  116. package/cache/interfaces/cache-options.interface.js +6 -0
  117. package/cache/interfaces/cache-provider.interface.d.ts +78 -0
  118. package/cache/providers/base-cache.provider.d.ts +14 -0
  119. package/cache/providers/base-cache.provider.js +16 -0
  120. package/cache/providers/cls-cache.provider.d.ts +20 -0
  121. package/cache/providers/cls-cache.provider.js +28 -0
  122. package/cache/providers/index.d.ts +2 -1
  123. package/cache/providers/index.js +2 -1
  124. package/cache/providers/lrucache.provider.d.ts +76 -0
  125. package/cache/providers/lrucache.provider.js +226 -0
  126. package/cache/providers/redis-cache.provider.d.ts +26 -0
  127. package/cache/providers/redis-cache.provider.js +29 -0
  128. package/cache/providers/typeorm-cache.provider.d.ts +211 -0
  129. package/cache/providers/typeorm-cache.provider.js +483 -0
  130. package/cache/utils/dependency-manager.util.d.ts +52 -0
  131. package/cache/utils/dependency-manager.util.js +59 -0
  132. package/cache/utils/key-generator.util.d.ts +42 -0
  133. package/cache/utils/key-generator.util.js +53 -1
  134. package/common/abstract.entity.d.ts +14 -0
  135. package/common/abstract.entity.js +14 -0
  136. package/common/boilerplate.polyfill.d.ts +143 -0
  137. package/common/boilerplate.polyfill.js +35 -1
  138. package/common/dto/dto-container.d.ts +16 -0
  139. package/common/dto/dto-container.js +20 -0
  140. package/common/dto/dto-decorators.d.ts +18 -0
  141. package/common/dto/dto-decorators.js +14 -0
  142. package/common/dto/dto-extensions.d.ts +11 -0
  143. package/common/dto/dto-extensions.js +9 -0
  144. package/common/dto/dto-service-accessor.d.ts +17 -0
  145. package/common/dto/dto-service-accessor.js +18 -0
  146. package/common/dto/dto-transformer.d.ts +12 -0
  147. package/common/dto/dto-transformer.js +9 -0
  148. package/common/dto/index.js +2 -0
  149. package/common/examples/paginate-and-map.example.d.ts +6 -0
  150. package/common/examples/paginate-and-map.example.js +26 -0
  151. package/common/helpers/validation-metadata-helper.d.ts +55 -0
  152. package/common/helpers/validation-metadata-helper.js +60 -0
  153. package/common/index.d.ts +1 -0
  154. package/common/index.js +4 -0
  155. package/common/utils.d.ts +15 -0
  156. package/common/utils.js +15 -0
  157. package/constants/language-code.js +1 -0
  158. package/decorators/field.decorators.d.ts +72 -3
  159. package/decorators/field.decorators.js +155 -19
  160. package/decorators/property.decorators.js +1 -0
  161. package/decorators/public-route.decorator.js +1 -0
  162. package/decorators/transform.decorators.d.ts +27 -2
  163. package/decorators/transform.decorators.js +29 -23
  164. package/decorators/translate.decorator.js +1 -0
  165. package/decorators/user.decorator.js +1 -0
  166. package/decorators/validator.decorators.d.ts +8 -18
  167. package/decorators/validator.decorators.js +22 -190
  168. package/file-upload/controllers/file-access.controller.d.ts +23 -0
  169. package/file-upload/controllers/file-access.controller.js +128 -0
  170. package/file-upload/decorators/column.decorator.d.ts +151 -0
  171. package/file-upload/decorators/column.decorator.js +273 -0
  172. package/file-upload/decorators/csv-data.decorator.d.ts +30 -0
  173. package/file-upload/decorators/csv-data.decorator.js +85 -0
  174. package/file-upload/decorators/csv-import.decorator.d.ts +34 -0
  175. package/file-upload/decorators/csv-import.decorator.js +24 -0
  176. package/file-upload/decorators/examples/column-mapping.example.d.ts +76 -0
  177. package/file-upload/decorators/examples/column-mapping.example.js +122 -0
  178. package/file-upload/decorators/excel-data.decorator.d.ts +30 -0
  179. package/file-upload/decorators/excel-data.decorator.js +85 -0
  180. package/file-upload/decorators/file-upload.decorator.d.ts +83 -0
  181. package/file-upload/decorators/file-upload.decorator.js +172 -0
  182. package/file-upload/decorators/index.d.ts +5 -0
  183. package/file-upload/decorators/index.js +38 -0
  184. package/file-upload/decorators/process.decorator.d.ts +40 -0
  185. package/file-upload/decorators/process.decorator.js +52 -0
  186. package/file-upload/decorators/validate-data.decorator.d.ts +91 -0
  187. package/file-upload/decorators/validate-data.decorator.js +39 -0
  188. package/file-upload/dto/create-file.dto.d.ts +24 -0
  189. package/file-upload/dto/create-file.dto.js +112 -0
  190. package/file-upload/dto/find-files.dto.d.ts +15 -0
  191. package/file-upload/dto/find-files.dto.js +76 -0
  192. package/file-upload/dto/index.d.ts +4 -0
  193. package/file-upload/dto/index.js +20 -0
  194. package/file-upload/dto/pagination.dto.d.ts +7 -0
  195. package/file-upload/dto/pagination.dto.js +39 -0
  196. package/file-upload/dto/update-file.dto.d.ts +15 -0
  197. package/file-upload/dto/update-file.dto.js +67 -0
  198. package/file-upload/entities/file-metadata.entity.d.ts +25 -0
  199. package/file-upload/entities/file-metadata.entity.js +76 -0
  200. package/file-upload/entities/file.entity.d.ts +114 -0
  201. package/file-upload/entities/file.entity.js +350 -0
  202. package/file-upload/entities/index.d.ts +2 -0
  203. package/file-upload/entities/index.js +18 -0
  204. package/file-upload/enums/file-type.enum.d.ts +72 -0
  205. package/file-upload/enums/file-type.enum.js +212 -0
  206. package/file-upload/exceptions/file-upload.exception.d.ts +57 -0
  207. package/file-upload/exceptions/file-upload.exception.js +120 -0
  208. package/file-upload/exceptions/index.d.ts +1 -0
  209. package/file-upload/exceptions/index.js +17 -0
  210. package/file-upload/file-upload.module.d.ts +89 -0
  211. package/file-upload/file-upload.module.js +292 -0
  212. package/file-upload/index.d.ts +37 -0
  213. package/file-upload/index.js +77 -0
  214. package/file-upload/interceptors/file-upload.interceptor.d.ts +101 -0
  215. package/file-upload/interceptors/file-upload.interceptor.js +594 -0
  216. package/file-upload/interceptors/index.d.ts +1 -0
  217. package/file-upload/interceptors/index.js +17 -0
  218. package/file-upload/interfaces/custom-file-type.interface.d.ts +72 -0
  219. package/file-upload/interfaces/custom-file-type.interface.js +2 -0
  220. package/file-upload/interfaces/file-buffer.interface.d.ts +72 -0
  221. package/file-upload/interfaces/file-buffer.interface.js +2 -0
  222. package/file-upload/interfaces/file-entity.interface.d.ts +142 -0
  223. package/file-upload/interfaces/file-entity.interface.js +28 -0
  224. package/file-upload/interfaces/file-metadata.interface.d.ts +21 -0
  225. package/file-upload/interfaces/file-metadata.interface.js +2 -0
  226. package/file-upload/interfaces/file-processor.interface.d.ts +93 -0
  227. package/file-upload/interfaces/file-processor.interface.js +2 -0
  228. package/file-upload/interfaces/file-upload-options.interface.d.ts +74 -0
  229. package/file-upload/interfaces/file-upload-options.interface.js +5 -0
  230. package/file-upload/interfaces/index.d.ts +7 -0
  231. package/file-upload/interfaces/index.js +24 -0
  232. package/file-upload/interfaces/processor-options.interface.d.ts +102 -0
  233. package/file-upload/interfaces/processor-options.interface.js +2 -0
  234. package/file-upload/interfaces/storage-provider.interface.d.ts +239 -0
  235. package/file-upload/interfaces/storage-provider.interface.js +2 -0
  236. package/file-upload/interfaces/upload-options.interface.d.ts +19 -0
  237. package/file-upload/interfaces/upload-options.interface.js +2 -0
  238. package/file-upload/processors/csv.processor.d.ts +98 -0
  239. package/file-upload/processors/csv.processor.js +391 -0
  240. package/file-upload/processors/excel.processor.d.ts +130 -0
  241. package/file-upload/processors/excel.processor.js +547 -0
  242. package/file-upload/processors/image.processor.d.ts +199 -0
  243. package/file-upload/processors/image.processor.js +377 -0
  244. package/file-upload/providers/index.d.ts +2 -0
  245. package/file-upload/providers/index.js +18 -0
  246. package/file-upload/providers/local-storage.provider.d.ts +98 -0
  247. package/file-upload/providers/local-storage.provider.js +484 -0
  248. package/file-upload/providers/s3-storage.provider.d.ts +87 -0
  249. package/file-upload/providers/s3-storage.provider.js +455 -0
  250. package/file-upload/services/file-signature-validator.service.d.ts +118 -0
  251. package/file-upload/services/file-signature-validator.service.js +376 -0
  252. package/file-upload/services/file.service.d.ts +193 -0
  253. package/file-upload/services/file.service.js +638 -0
  254. package/file-upload/services/index.d.ts +4 -0
  255. package/file-upload/services/index.js +20 -0
  256. package/file-upload/services/malicious-file-detector.service.d.ts +300 -0
  257. package/file-upload/services/malicious-file-detector.service.js +1234 -0
  258. package/file-upload/services/mime-registry.service.d.ts +47 -0
  259. package/file-upload/services/mime-registry.service.js +167 -0
  260. package/file-upload/utils/checksum.util.d.ts +28 -0
  261. package/file-upload/utils/checksum.util.js +65 -0
  262. package/file-upload/utils/dynamic-import.util.d.ts +54 -0
  263. package/file-upload/utils/dynamic-import.util.js +156 -0
  264. package/file-upload/utils/filename.util.d.ts +59 -0
  265. package/file-upload/utils/filename.util.js +184 -0
  266. package/file-upload/utils/filepath.util.d.ts +70 -0
  267. package/file-upload/utils/filepath.util.js +152 -0
  268. package/file-upload/utils/index.d.ts +4 -0
  269. package/file-upload/utils/index.js +20 -0
  270. package/filters/bad-request.filter.js +19 -4
  271. package/filters/constraint-errors.js +1 -0
  272. package/helpers/common.helper.d.ts +13 -0
  273. package/helpers/common.helper.js +13 -0
  274. package/http-client/config/http-client.config.d.ts +20 -0
  275. package/http-client/config/http-client.config.js +48 -21
  276. package/http-client/decorators/http-client.decorators.d.ts +55 -14
  277. package/http-client/decorators/http-client.decorators.js +154 -78
  278. package/http-client/entities/http-log.entity.d.ts +217 -8
  279. package/http-client/entities/http-log.entity.js +7 -22
  280. package/http-client/errors/http-client.errors.d.ts +57 -0
  281. package/http-client/errors/http-client.errors.js +58 -0
  282. package/http-client/examples/advanced-usage.example.d.ts +40 -0
  283. package/http-client/examples/advanced-usage.example.js +53 -61
  284. package/http-client/examples/auth-with-waiting-lock.example.d.ts +31 -0
  285. package/http-client/examples/auth-with-waiting-lock.example.js +52 -5
  286. package/http-client/examples/basic-usage.example.d.ts +60 -0
  287. package/http-client/examples/basic-usage.example.js +60 -0
  288. package/http-client/examples/multi-api-configuration.example.d.ts +60 -0
  289. package/http-client/examples/multi-api-configuration.example.js +76 -5
  290. package/http-client/examples/proxy-from-environment.example.d.ts +133 -0
  291. package/http-client/examples/proxy-from-environment.example.js +409 -0
  292. package/http-client/http-client.module.d.ts +48 -2
  293. package/http-client/http-client.module.js +147 -68
  294. package/http-client/index.d.ts +1 -1
  295. package/http-client/index.js +8 -0
  296. package/http-client/interfaces/api-client-config.interface.d.ts +80 -45
  297. package/http-client/interfaces/api-client-config.interface.js +3 -0
  298. package/http-client/interfaces/http-client-config.interface.d.ts +109 -52
  299. package/http-client/services/api-client-registry.service.d.ts +50 -11
  300. package/http-client/services/api-client-registry.service.js +90 -250
  301. package/http-client/services/circuit-breaker.service.d.ts +115 -2
  302. package/http-client/services/circuit-breaker.service.js +237 -7
  303. package/http-client/services/http-client.service.d.ts +124 -14
  304. package/http-client/services/http-client.service.js +437 -148
  305. package/http-client/services/http-log-query.service.d.ts +83 -0
  306. package/http-client/services/http-log-query.service.js +121 -13
  307. package/http-client/services/http-replay.service.d.ts +101 -0
  308. package/http-client/services/http-replay.service.js +86 -0
  309. package/http-client/services/index.d.ts +0 -1
  310. package/http-client/services/index.js +0 -1
  311. package/http-client/services/log-cleanup.service.d.ts +63 -0
  312. package/http-client/services/log-cleanup.service.js +54 -2
  313. package/http-client/services/logging.service.d.ts +116 -7
  314. package/http-client/services/logging.service.js +349 -86
  315. package/http-client/utils/call-stack-extractor.util.d.ts +63 -0
  316. package/http-client/utils/call-stack-extractor.util.js +83 -0
  317. package/http-client/utils/context-extractor.util.d.ts +49 -0
  318. package/http-client/utils/context-extractor.util.js +54 -0
  319. package/http-client/utils/curl-generator.util.d.ts +21 -0
  320. package/http-client/utils/curl-generator.util.js +44 -3
  321. package/http-client/utils/index.d.ts +1 -0
  322. package/http-client/utils/index.js +1 -0
  323. package/http-client/utils/proxy-environment.util.d.ts +42 -0
  324. package/http-client/utils/proxy-environment.util.js +148 -0
  325. package/http-client/utils/request-id.util.d.ts +18 -0
  326. package/http-client/utils/request-id.util.js +20 -0
  327. package/http-client/utils/retry-recorder.util.d.ts +42 -0
  328. package/http-client/utils/retry-recorder.util.js +44 -0
  329. package/http-client/utils/security-validator.util.d.ts +118 -0
  330. package/http-client/utils/security-validator.util.js +352 -0
  331. package/index.d.ts +3 -1
  332. package/index.js +12 -1
  333. package/interceptors/translation-interceptor.service.js +5 -0
  334. package/ip-filter/constants.d.ts +21 -0
  335. package/ip-filter/constants.js +24 -0
  336. package/ip-filter/decorators/index.d.ts +1 -0
  337. package/ip-filter/decorators/index.js +17 -0
  338. package/ip-filter/decorators/ip-filter.decorator.d.ts +58 -0
  339. package/ip-filter/decorators/ip-filter.decorator.js +79 -0
  340. package/ip-filter/guards/index.d.ts +1 -0
  341. package/ip-filter/guards/index.js +17 -0
  342. package/ip-filter/guards/ip-filter.guard.d.ts +62 -0
  343. package/ip-filter/guards/ip-filter.guard.js +174 -0
  344. package/ip-filter/index.d.ts +7 -0
  345. package/ip-filter/index.js +23 -0
  346. package/ip-filter/interfaces/index.d.ts +4 -0
  347. package/ip-filter/interfaces/index.js +20 -0
  348. package/ip-filter/interfaces/ip-filter-async-options.interface.d.ts +15 -0
  349. package/ip-filter/interfaces/ip-filter-async-options.interface.js +2 -0
  350. package/ip-filter/interfaces/ip-filter-metadata.interface.d.ts +26 -0
  351. package/ip-filter/interfaces/ip-filter-metadata.interface.js +2 -0
  352. package/ip-filter/interfaces/ip-filter-options.interface.d.ts +34 -0
  353. package/ip-filter/interfaces/ip-filter-options.interface.js +2 -0
  354. package/ip-filter/interfaces/ip-rule.interface.d.ts +36 -0
  355. package/ip-filter/interfaces/ip-rule.interface.js +2 -0
  356. package/ip-filter/ip-filter.module.d.ts +55 -0
  357. package/ip-filter/ip-filter.module.js +105 -0
  358. package/ip-filter/services/index.d.ts +1 -0
  359. package/ip-filter/services/index.js +17 -0
  360. package/ip-filter/services/ip-filter.service.d.ts +92 -0
  361. package/ip-filter/services/ip-filter.service.js +238 -0
  362. package/ip-filter/utils/index.d.ts +1 -0
  363. package/ip-filter/utils/index.js +17 -0
  364. package/ip-filter/utils/ip-utils.d.ts +61 -0
  365. package/ip-filter/utils/ip-utils.js +162 -0
  366. package/package.json +32 -29
  367. package/providers/context.provider.d.ts +9 -0
  368. package/providers/context.provider.js +15 -0
  369. package/providers/generator.provider.d.ts +4 -0
  370. package/providers/generator.provider.js +4 -0
  371. package/redis-lock/comprehensive-lock-cleanup.service.d.ts +94 -0
  372. package/redis-lock/comprehensive-lock-cleanup.service.js +253 -0
  373. package/redis-lock/examples/lock-strategy.examples.d.ts +89 -0
  374. package/redis-lock/examples/lock-strategy.examples.js +130 -15
  375. package/redis-lock/index.d.ts +2 -0
  376. package/redis-lock/index.js +8 -1
  377. package/redis-lock/lock-heartbeat.service.d.ts +80 -0
  378. package/redis-lock/lock-heartbeat.service.js +232 -0
  379. package/redis-lock/redis-lock.decorator.d.ts +101 -0
  380. package/redis-lock/redis-lock.decorator.js +120 -0
  381. package/redis-lock/redis-lock.module.d.ts +66 -0
  382. package/redis-lock/redis-lock.module.js +175 -70
  383. package/redis-lock/redis-lock.service.d.ts +282 -0
  384. package/redis-lock/redis-lock.service.js +343 -20
  385. package/setup/bootstrap.setup.d.ts +2 -1
  386. package/setup/bootstrap.setup.js +22 -1
  387. package/setup/index.d.ts +1 -0
  388. package/setup/index.js +1 -0
  389. package/setup/mode.setup.d.ts +44 -0
  390. package/setup/mode.setup.js +44 -0
  391. package/setup/run-in-mode.decorator.d.ts +56 -0
  392. package/setup/run-in-mode.decorator.js +92 -0
  393. package/setup/schedule.decorator.d.ts +227 -0
  394. package/setup/schedule.decorator.js +240 -12
  395. package/setup/worker.decorator.d.ts +86 -0
  396. package/setup/worker.decorator.js +97 -0
  397. package/shared/index.d.ts +1 -1
  398. package/shared/index.js +1 -1
  399. package/shared/{serviceRegistryModule.js → service-registry.module.js} +19 -18
  400. package/shared/services/api-config.service.d.ts +3 -0
  401. package/shared/services/api-config.service.js +21 -9
  402. package/shared/services/index.d.ts +0 -1
  403. package/shared/services/index.js +0 -1
  404. package/validator-json/decorators.d.ts +17 -0
  405. package/validator-json/decorators.js +17 -2
  406. package/validator-json/default.d.ts +6 -0
  407. package/validator-json/default.js +30 -2
  408. package/validator-json/defaultConverters.js +1 -0
  409. package/validator-json/options.d.ts +23 -0
  410. package/validators/common-validators.d.ts +143 -0
  411. package/validators/common-validators.js +249 -0
  412. package/validators/custom-validate.examples.d.ts +23 -0
  413. package/validators/custom-validate.examples.js +78 -6
  414. package/validators/custom-validate.validator.d.ts +108 -0
  415. package/validators/custom-validate.validator.js +85 -0
  416. package/validators/file-mimetype.validator.d.ts +0 -2
  417. package/validators/file-mimetype.validator.js +4 -6
  418. package/validators/index.d.ts +1 -0
  419. package/validators/index.js +1 -0
  420. package/validators/is-exists.validator.d.ts +26 -6
  421. package/validators/is-exists.validator.js +30 -7
  422. package/validators/is-unique.validator.d.ts +33 -7
  423. package/validators/is-unique.validator.js +59 -17
  424. package/validators/skip-empty.validator.d.ts +5 -0
  425. package/validators/skip-empty.validator.js +5 -0
  426. package/vault/interfaces/vault-options.interface.d.ts +9 -0
  427. package/vault/vault-config.loader.d.ts +30 -0
  428. package/vault/vault-config.loader.js +48 -1
  429. package/vault/vault-config.service.d.ts +53 -0
  430. package/vault/vault-config.service.js +57 -0
  431. package/vault/vault.module.d.ts +4 -0
  432. package/vault/vault.module.js +4 -0
  433. package/cache/providers/memory-cache.provider.d.ts +0 -26
  434. package/cache/providers/memory-cache.provider.js +0 -171
  435. package/decorators/examples/validation-decorators.example.d.ts +0 -69
  436. package/decorators/examples/validation-decorators.example.js +0 -331
  437. package/http-client/services/cache.service.d.ts +0 -24
  438. package/http-client/services/cache.service.js +0 -264
  439. package/shared/services/validator.service.d.ts +0 -3
  440. package/shared/services/validator.service.js +0 -20
  441. /package/shared/{serviceRegistryModule.d.ts → service-registry.module.d.ts} +0 -0
@@ -1,14 +1,21 @@
1
1
  import 'reflect-metadata';
2
- import { CircuitBreakerConfig, HttpCacheConfig, HttpClientConfig, RetryConfig } from '../interfaces/http-client-config.interface';
2
+ import { CircuitBreakerConfig, HttpClientConfig, RetryConfig } from '../interfaces/http-client-config.interface';
3
3
  export declare const HTTP_CLIENT_OPTIONS_KEY = "http_client_options";
4
4
  export declare const RETRY_OPTIONS_KEY = "http_retry_options";
5
5
  export declare const CIRCUIT_BREAKER_OPTIONS_KEY = "http_circuit_breaker_options";
6
- export declare const CACHE_OPTIONS_KEY = "http_cache_options";
7
6
  export declare const LOGGING_OPTIONS_KEY = "http_logging_options";
8
7
  export declare const TIMEOUT_OPTIONS_KEY = "http_timeout_options";
9
8
  export declare const PROXY_OPTIONS_KEY = "http_proxy_options";
10
9
  export declare const CALL_INFO_KEY = "http_call_info";
10
+ /**
11
+ * HTTP客户端装饰器
12
+ * 类似Spring Boot的@RestClient注解
13
+ */
11
14
  export declare const HttpClient: (options?: HttpClientConfig) => (target: any) => void;
15
+ /**
16
+ * 重试装饰器
17
+ * 基于axios-retry库
18
+ */
12
19
  export declare const HttpRetry: (options?: {
13
20
  retries?: number;
14
21
  retryDelay?: (retryCount: number) => number;
@@ -16,20 +23,20 @@ export declare const HttpRetry: (options?: {
16
23
  shouldResetTimeout?: boolean;
17
24
  onRetry?: (retryCount: number, error: any, requestConfig: any) => void;
18
25
  }) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
26
+ /**
27
+ * 熔断器装饰器
28
+ * 类似Spring Cloud CircuitBreaker的@CircuitBreaker注解
29
+ */
19
30
  export declare const HttpCircuitBreaker: (options?: {
20
31
  failureThreshold?: number;
21
32
  recoveryTimeoutMs?: number;
22
33
  monitoringPeriodMs?: number;
23
34
  minimumThroughputThreshold?: number;
24
35
  }) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
25
- export declare const HttpCacheable: (options?: {
26
- ttl?: number;
27
- key?: string | ((...args: any[]) => string);
28
- layers?: Array<"cls" | "memory" | "redis">;
29
- condition?: (...args: any[]) => boolean | Promise<boolean>;
30
- unless?: string | ((result: any, args: any[]) => boolean);
31
- namespace?: string;
32
- }) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
36
+ /**
37
+ * 请求日志装饰器
38
+ * 类似Spring Boot的@LogRequest注解
39
+ */
33
40
  export declare const HttpLogRequest: (options?: {
34
41
  logHeaders?: boolean;
35
42
  logBody?: boolean;
@@ -40,29 +47,63 @@ export declare const HttpLogRequest: (options?: {
40
47
  methodName?: string;
41
48
  operationName?: string;
42
49
  }) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
50
+ /**
51
+ * 超时装饰器
52
+ * 类似Spring的@Timeout注解
53
+ */
43
54
  export declare const HttpTimeout: (timeoutMs: number) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
55
+ /**
56
+ * 代理装饰器
57
+ */
44
58
  export declare const HttpUseProxy: (options: {
45
- host: string;
46
- port: number;
59
+ enabled?: boolean;
60
+ fromEnvironment?: boolean;
61
+ host?: string;
62
+ port?: number;
47
63
  protocol?: "http" | "https";
48
64
  auth?: {
49
65
  username: string;
50
66
  password: string;
51
67
  };
52
68
  }) => (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
69
+ /**
70
+ * 装饰器工具函数
71
+ */
53
72
  export declare class HttpDecoratorUtils {
73
+ /**
74
+ * 获取方法上的重试配置
75
+ */
54
76
  static getRetryOptions(target: any, propertyKey: string): RetryConfig | undefined;
77
+ /**
78
+ * 获取方法上的熔断器配置
79
+ */
55
80
  static getCircuitBreakerOptions(target: any, propertyKey: string): CircuitBreakerConfig | undefined;
56
- static getCacheOptions(target: any, propertyKey: string): HttpCacheConfig | undefined;
81
+ /**
82
+ * 获取方法上的日志配置
83
+ */
57
84
  static getLoggingOptions(target: any, propertyKey: string): any;
85
+ /**
86
+ * 获取方法上的超时配置
87
+ */
58
88
  static getTimeoutOptions(target: any, propertyKey: string): number | undefined;
89
+ /**
90
+ * 获取方法上的代理配置
91
+ */
59
92
  static getProxyOptions(target: any, propertyKey: string): any;
93
+ /**
94
+ * 获取类上的HTTP客户端配置
95
+ */
60
96
  static getHttpClientOptions(target: any): HttpClientConfig;
97
+ /**
98
+ * 获取方法上的调用信息配置
99
+ */
61
100
  static getCallInfoOptions(target: any, propertyKey: string): any;
101
+ /**
102
+ * 获取所有装饰器配置
103
+ */
62
104
  static getAllDecoratorConfigs(target: any, propertyKey: string): {
63
105
  retry?: RetryConfig;
64
106
  circuitBreaker?: CircuitBreakerConfig;
65
- cache?: HttpCacheConfig;
66
107
  logging?: any;
67
108
  timeout?: number;
68
109
  proxy?: any;
@@ -1,24 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpDecoratorUtils = exports.HttpUseProxy = exports.HttpTimeout = exports.HttpLogRequest = exports.HttpCacheable = exports.HttpCircuitBreaker = exports.HttpRetry = exports.HttpClient = exports.CALL_INFO_KEY = exports.PROXY_OPTIONS_KEY = exports.TIMEOUT_OPTIONS_KEY = exports.LOGGING_OPTIONS_KEY = exports.CACHE_OPTIONS_KEY = exports.CIRCUIT_BREAKER_OPTIONS_KEY = exports.RETRY_OPTIONS_KEY = exports.HTTP_CLIENT_OPTIONS_KEY = void 0;
3
+ exports.HttpDecoratorUtils = exports.HttpUseProxy = exports.HttpTimeout = exports.HttpLogRequest = exports.HttpCircuitBreaker = exports.HttpRetry = exports.HttpClient = exports.CALL_INFO_KEY = exports.PROXY_OPTIONS_KEY = exports.TIMEOUT_OPTIONS_KEY = exports.LOGGING_OPTIONS_KEY = exports.CIRCUIT_BREAKER_OPTIONS_KEY = exports.RETRY_OPTIONS_KEY = exports.HTTP_CLIENT_OPTIONS_KEY = void 0;
4
4
  require("reflect-metadata");
5
5
  const common_1 = require("@nestjs/common");
6
- const cache_options_interface_1 = require("../../cache/interfaces/cache-options.interface");
7
6
  const call_stack_extractor_util_1 = require("../utils/call-stack-extractor.util");
7
+ // 装饰器元数据键
8
8
  exports.HTTP_CLIENT_OPTIONS_KEY = 'http_client_options';
9
9
  exports.RETRY_OPTIONS_KEY = 'http_retry_options';
10
10
  exports.CIRCUIT_BREAKER_OPTIONS_KEY = 'http_circuit_breaker_options';
11
- exports.CACHE_OPTIONS_KEY = 'http_cache_options';
12
11
  exports.LOGGING_OPTIONS_KEY = 'http_logging_options';
13
12
  exports.TIMEOUT_OPTIONS_KEY = 'http_timeout_options';
14
13
  exports.PROXY_OPTIONS_KEY = 'http_proxy_options';
15
14
  exports.CALL_INFO_KEY = 'http_call_info';
15
+ /**
16
+ * HTTP客户端装饰器
17
+ * 类似Spring Boot的@RestClient注解
18
+ */
16
19
  const HttpClient = (options = {}) => {
17
20
  return (target) => {
18
21
  (0, common_1.SetMetadata)(exports.HTTP_CLIENT_OPTIONS_KEY, options)(target);
19
22
  };
20
23
  };
21
24
  exports.HttpClient = HttpClient;
25
+ /**
26
+ * 重试装饰器
27
+ * 基于axios-retry库
28
+ */
22
29
  const HttpRetry = (options = {}) => {
23
30
  return (target, propertyKey, descriptor) => {
24
31
  const retryOptions = {
@@ -27,19 +34,46 @@ const HttpRetry = (options = {}) => {
27
34
  retryDelay: options.retryDelay || ((retryCount) => Math.pow(2, retryCount) * 1000),
28
35
  retryCondition: options.retryCondition ||
29
36
  ((error) => {
37
+ // 默认重试条件:网络错误、超时、5xx错误、429错误
30
38
  if (!error.response)
31
- return true;
39
+ return true; // 网络错误
32
40
  const status = error.response.status;
33
- return status >= 500 || status === 429;
41
+ return status >= 500 || status === 429; // 5xx错误或429限流
34
42
  }),
35
43
  shouldResetTimeout: options.shouldResetTimeout !== false,
36
44
  onRetry: options.onRetry,
37
45
  };
38
- (0, common_1.SetMetadata)(`${exports.RETRY_OPTIONS_KEY}_${propertyKey}`, retryOptions)(descriptor.value);
46
+ // Wrap the method to pass decorator context to HTTP client
47
+ const originalMethod = descriptor.value;
48
+ const wrappedMethod = function (...args) {
49
+ // Set decorator context (reference counting prevents overwriting)
50
+ call_stack_extractor_util_1.CallStackExtractor.setDecoratorContext({
51
+ target,
52
+ propertyKey,
53
+ });
54
+ try {
55
+ return originalMethod.apply(this, args);
56
+ }
57
+ finally {
58
+ call_stack_extractor_util_1.CallStackExtractor.clearDecoratorContext();
59
+ }
60
+ };
61
+ // Copy metadata from original to wrapped method
62
+ const metadataKeys = Reflect.getMetadataKeys(originalMethod);
63
+ for (const key of metadataKeys) {
64
+ Reflect.defineMetadata(key, Reflect.getMetadata(key, originalMethod), wrappedMethod);
65
+ }
66
+ // Store the retry options on the wrapped method
67
+ (0, common_1.SetMetadata)(`${exports.RETRY_OPTIONS_KEY}_${propertyKey}`, retryOptions)(wrappedMethod);
68
+ descriptor.value = wrappedMethod;
39
69
  return descriptor;
40
70
  };
41
71
  };
42
72
  exports.HttpRetry = HttpRetry;
73
+ /**
74
+ * 熔断器装饰器
75
+ * 类似Spring Cloud CircuitBreaker的@CircuitBreaker注解
76
+ */
43
77
  const HttpCircuitBreaker = (options = {}) => {
44
78
  return (target, propertyKey, descriptor) => {
45
79
  const circuitBreakerOptions = {
@@ -50,66 +84,41 @@ const HttpCircuitBreaker = (options = {}) => {
50
84
  minimumThroughputThreshold: options.minimumThroughputThreshold || 10,
51
85
  countHalfOpenCalls: true,
52
86
  };
53
- (0, common_1.SetMetadata)(`${exports.CIRCUIT_BREAKER_OPTIONS_KEY}_${propertyKey}`, circuitBreakerOptions)(descriptor.value);
54
- return descriptor;
55
- };
56
- };
57
- exports.HttpCircuitBreaker = HttpCircuitBreaker;
58
- const HttpCacheable = (options = {}) => {
59
- return (target, propertyKey, descriptor) => {
60
- var _a;
61
- const cacheOptions = {
62
- enabled: true,
63
- defaultTtl: options.ttl || 300000,
64
- keyGenerator: typeof options.key === 'function'
65
- ? (config) => options.key(config.url, config.method, config.data, config.params)
66
- : options.key
67
- ? () => options.key
68
- : undefined,
69
- options: {
70
- layers: (_a = options.layers) === null || _a === void 0 ? void 0 : _a.map((layer) => {
71
- switch (layer) {
72
- case 'cls':
73
- return cache_options_interface_1.CacheLayer.CLS;
74
- case 'memory':
75
- return cache_options_interface_1.CacheLayer.MEMORY;
76
- case 'redis':
77
- return cache_options_interface_1.CacheLayer.REDIS;
78
- default:
79
- return cache_options_interface_1.CacheLayer.MEMORY;
80
- }
81
- }),
82
- condition: options.condition,
83
- prefix: options.namespace,
84
- },
85
- cacheableMethods: ['get'],
86
- cacheableStatusCodes: [200, 201, 202, 204, 301, 302, 304],
87
+ // Wrap the method to pass decorator context to HTTP client
88
+ const originalMethod = descriptor.value;
89
+ const wrappedMethod = function (...args) {
90
+ // Store decorator context in async local storage or call stack
91
+ // Only set if not already set by another decorator
92
+ if (!call_stack_extractor_util_1.CallStackExtractor.getDecoratorContext()) {
93
+ call_stack_extractor_util_1.CallStackExtractor.setDecoratorContext({
94
+ target,
95
+ propertyKey,
96
+ });
97
+ }
98
+ try {
99
+ return originalMethod.apply(this, args);
100
+ }
101
+ finally {
102
+ // Clean up the context after execution
103
+ call_stack_extractor_util_1.CallStackExtractor.clearDecoratorContext();
104
+ }
87
105
  };
88
- if (options.unless) {
89
- const originalMethod = descriptor.value;
90
- descriptor.value = function (...args) {
91
- const result = originalMethod.apply(this, args);
92
- if (typeof options.unless === 'string') {
93
- if (evalInContext(options.unless, { result, args })) {
94
- return result;
95
- }
96
- }
97
- else if (typeof options.unless === 'function') {
98
- if (options.unless(result, args)) {
99
- return result;
100
- }
101
- }
102
- (0, common_1.SetMetadata)(`${exports.CACHE_OPTIONS_KEY}_${propertyKey}`, cacheOptions)(originalMethod);
103
- return result;
104
- };
105
- }
106
- else {
107
- (0, common_1.SetMetadata)(`${exports.CACHE_OPTIONS_KEY}_${propertyKey}`, cacheOptions)(descriptor.value);
106
+ // Copy metadata from original to wrapped method
107
+ const metadataKeys = Reflect.getMetadataKeys(originalMethod);
108
+ for (const key of metadataKeys) {
109
+ Reflect.defineMetadata(key, Reflect.getMetadata(key, originalMethod), wrappedMethod);
108
110
  }
111
+ // Store the circuit breaker options on the wrapped method
112
+ (0, common_1.SetMetadata)(`${exports.CIRCUIT_BREAKER_OPTIONS_KEY}_${propertyKey}`, circuitBreakerOptions)(wrappedMethod);
113
+ descriptor.value = wrappedMethod;
109
114
  return descriptor;
110
115
  };
111
116
  };
112
- exports.HttpCacheable = HttpCacheable;
117
+ exports.HttpCircuitBreaker = HttpCircuitBreaker;
118
+ /**
119
+ * 请求日志装饰器
120
+ * 类似Spring Boot的@LogRequest注解
121
+ */
113
122
  const HttpLogRequest = (options = {}) => {
114
123
  return (target, propertyKey, descriptor) => {
115
124
  var _a, _b, _c;
@@ -128,62 +137,138 @@ const HttpLogRequest = (options = {}) => {
128
137
  databaseLog: (_c = options.databaseLog) !== null && _c !== void 0 ? _c : false,
129
138
  logLevel: options.logLevel || 'info',
130
139
  };
140
+ // 提取调用信息
131
141
  const decoratorInfo = call_stack_extractor_util_1.CallStackExtractor.extractFromDecorator(target, propertyKey);
132
142
  const callInfo = {
133
143
  serviceClass: options.serviceClass || decoratorInfo.serviceClass,
134
144
  methodName: options.methodName || decoratorInfo.methodName,
135
145
  operationName: options.operationName || decoratorInfo.operationName,
136
146
  };
137
- (0, common_1.SetMetadata)(`${exports.LOGGING_OPTIONS_KEY}_${propertyKey}`, loggingOptions)(descriptor.value);
138
- (0, common_1.SetMetadata)(`${exports.CALL_INFO_KEY}_${propertyKey}`, callInfo)(descriptor.value);
147
+ // Wrap the method to pass decorator context to HTTP client
148
+ const originalMethod = descriptor.value;
149
+ const wrappedMethod = function (...args) {
150
+ // Set decorator context (reference counting prevents overwriting)
151
+ call_stack_extractor_util_1.CallStackExtractor.setDecoratorContext({
152
+ target,
153
+ propertyKey,
154
+ });
155
+ try {
156
+ return originalMethod.apply(this, args);
157
+ }
158
+ finally {
159
+ call_stack_extractor_util_1.CallStackExtractor.clearDecoratorContext();
160
+ }
161
+ };
162
+ // Copy metadata from original to wrapped method
163
+ const metadataKeys = Reflect.getMetadataKeys(originalMethod);
164
+ for (const key of metadataKeys) {
165
+ Reflect.defineMetadata(key, Reflect.getMetadata(key, originalMethod), wrappedMethod);
166
+ }
167
+ // Store the logging options on the wrapped method
168
+ (0, common_1.SetMetadata)(`${exports.LOGGING_OPTIONS_KEY}_${propertyKey}`, loggingOptions)(wrappedMethod);
169
+ (0, common_1.SetMetadata)(`${exports.CALL_INFO_KEY}_${propertyKey}`, callInfo)(wrappedMethod);
170
+ descriptor.value = wrappedMethod;
139
171
  return descriptor;
140
172
  };
141
173
  };
142
174
  exports.HttpLogRequest = HttpLogRequest;
175
+ /**
176
+ * 超时装饰器
177
+ * 类似Spring的@Timeout注解
178
+ */
143
179
  const HttpTimeout = (timeoutMs) => {
144
180
  return (target, propertyKey, descriptor) => {
145
- (0, common_1.SetMetadata)(`${exports.TIMEOUT_OPTIONS_KEY}_${propertyKey}`, timeoutMs)(descriptor.value);
181
+ // Wrap the method to pass decorator context to HTTP client
182
+ const originalMethod = descriptor.value;
183
+ const wrappedMethod = function (...args) {
184
+ // Set decorator context (reference counting prevents overwriting)
185
+ call_stack_extractor_util_1.CallStackExtractor.setDecoratorContext({
186
+ target,
187
+ propertyKey,
188
+ });
189
+ try {
190
+ return originalMethod.apply(this, args);
191
+ }
192
+ finally {
193
+ call_stack_extractor_util_1.CallStackExtractor.clearDecoratorContext();
194
+ }
195
+ };
196
+ // Copy metadata from original to wrapped method
197
+ const metadataKeys = Reflect.getMetadataKeys(originalMethod);
198
+ for (const key of metadataKeys) {
199
+ Reflect.defineMetadata(key, Reflect.getMetadata(key, originalMethod), wrappedMethod);
200
+ }
201
+ // Store the timeout options on the wrapped method
202
+ (0, common_1.SetMetadata)(`${exports.TIMEOUT_OPTIONS_KEY}_${propertyKey}`, timeoutMs)(wrappedMethod);
203
+ descriptor.value = wrappedMethod;
146
204
  return descriptor;
147
205
  };
148
206
  };
149
207
  exports.HttpTimeout = HttpTimeout;
208
+ /**
209
+ * 代理装饰器
210
+ */
150
211
  const HttpUseProxy = (options) => {
151
212
  return (target, propertyKey, descriptor) => {
152
- (0, common_1.SetMetadata)(`${exports.PROXY_OPTIONS_KEY}_${propertyKey}`, options)(descriptor.value);
213
+ const proxyConfig = Object.assign({ enabled: options.enabled !== false }, options);
214
+ (0, common_1.SetMetadata)(`${exports.PROXY_OPTIONS_KEY}_${propertyKey}`, proxyConfig)(descriptor.value);
153
215
  return descriptor;
154
216
  };
155
217
  };
156
218
  exports.HttpUseProxy = HttpUseProxy;
219
+ /**
220
+ * 装饰器工具函数
221
+ */
157
222
  class HttpDecoratorUtils {
223
+ /**
224
+ * 获取方法上的重试配置
225
+ */
158
226
  static getRetryOptions(target, propertyKey) {
159
227
  return Reflect.getMetadata(`${exports.RETRY_OPTIONS_KEY}_${propertyKey}`, target[propertyKey]);
160
228
  }
229
+ /**
230
+ * 获取方法上的熔断器配置
231
+ */
161
232
  static getCircuitBreakerOptions(target, propertyKey) {
162
233
  return Reflect.getMetadata(`${exports.CIRCUIT_BREAKER_OPTIONS_KEY}_${propertyKey}`, target[propertyKey]);
163
234
  }
164
- static getCacheOptions(target, propertyKey) {
165
- return Reflect.getMetadata(`${exports.CACHE_OPTIONS_KEY}_${propertyKey}`, target[propertyKey]);
166
- }
235
+ /**
236
+ * 获取方法上的日志配置
237
+ */
167
238
  static getLoggingOptions(target, propertyKey) {
168
239
  return Reflect.getMetadata(`${exports.LOGGING_OPTIONS_KEY}_${propertyKey}`, target[propertyKey]);
169
240
  }
241
+ /**
242
+ * 获取方法上的超时配置
243
+ */
170
244
  static getTimeoutOptions(target, propertyKey) {
171
245
  return Reflect.getMetadata(`${exports.TIMEOUT_OPTIONS_KEY}_${propertyKey}`, target[propertyKey]);
172
246
  }
247
+ /**
248
+ * 获取方法上的代理配置
249
+ */
173
250
  static getProxyOptions(target, propertyKey) {
174
251
  return Reflect.getMetadata(`${exports.PROXY_OPTIONS_KEY}_${propertyKey}`, target[propertyKey]);
175
252
  }
253
+ /**
254
+ * 获取类上的HTTP客户端配置
255
+ */
176
256
  static getHttpClientOptions(target) {
177
257
  return Reflect.getMetadata(exports.HTTP_CLIENT_OPTIONS_KEY, target) || {};
178
258
  }
259
+ /**
260
+ * 获取方法上的调用信息配置
261
+ */
179
262
  static getCallInfoOptions(target, propertyKey) {
180
263
  return Reflect.getMetadata(`${exports.CALL_INFO_KEY}_${propertyKey}`, target[propertyKey]);
181
264
  }
265
+ /**
266
+ * 获取所有装饰器配置
267
+ */
182
268
  static getAllDecoratorConfigs(target, propertyKey) {
183
269
  return {
184
270
  retry: this.getRetryOptions(target, propertyKey),
185
271
  circuitBreaker: this.getCircuitBreakerOptions(target, propertyKey),
186
- cache: this.getCacheOptions(target, propertyKey),
187
272
  logging: this.getLoggingOptions(target, propertyKey),
188
273
  timeout: this.getTimeoutOptions(target, propertyKey),
189
274
  proxy: this.getProxyOptions(target, propertyKey),
@@ -193,12 +278,3 @@ class HttpDecoratorUtils {
193
278
  }
194
279
  }
195
280
  exports.HttpDecoratorUtils = HttpDecoratorUtils;
196
- function evalInContext(expression, context) {
197
- try {
198
- const func = new Function(...Object.keys(context), `return ${expression}`);
199
- return func(...Object.values(context));
200
- }
201
- catch (error) {
202
- return false;
203
- }
204
- }