@venok/core 1.0.1-canary.5 → 2.0.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 (579) hide show
  1. package/dist/application/config.js +92 -0
  2. package/dist/application/context.js +252 -0
  3. package/dist/application/factory.js +136 -0
  4. package/dist/constants.js +100 -0
  5. package/dist/context/context-id.factory.js +58 -0
  6. package/dist/context/context.js +186 -0
  7. package/dist/context/creator.js +49 -0
  8. package/dist/context/execution-host.js +51 -0
  9. package/dist/context/proxy.js +55 -0
  10. package/dist/decorators/apply.decorator.js +33 -0
  11. package/dist/decorators/bind.decorator.js +28 -0
  12. package/dist/decorators/catch.decorator.js +29 -0
  13. package/dist/decorators/dependencies.decorator.js +30 -0
  14. package/dist/decorators/exception-filters.decorator.js +40 -0
  15. package/dist/decorators/global.decorator.js +28 -0
  16. package/dist/decorators/inject.decorator.js +42 -0
  17. package/dist/decorators/injectable.decorator.js +38 -0
  18. package/dist/decorators/module.decorator.js +42 -0
  19. package/dist/decorators/optional.decorator.js +35 -0
  20. package/dist/decorators/set-metadata.decorator.js +35 -0
  21. package/dist/decorators/use-guards.decorator.js +39 -0
  22. package/dist/decorators/use-interceptors.decorator.js +39 -0
  23. package/dist/decorators/use-pipes.decorator.js +38 -0
  24. package/dist/enums/scope.enum.js +28 -0
  25. package/dist/enums/shutdown-signal.enum.js +36 -0
  26. package/dist/errors/exceptions/circular-dependency.exception.js +30 -0
  27. package/dist/errors/exceptions/invalid-class-module.exception.js +30 -0
  28. package/dist/errors/exceptions/invalid-class-scope.exception.js +33 -0
  29. package/dist/errors/exceptions/invalid-class.exception.js +30 -0
  30. package/dist/errors/exceptions/invalid-exception-filter.exception.js +30 -0
  31. package/dist/errors/exceptions/invalid-module.exception.js +30 -0
  32. package/dist/errors/exceptions/runtime.exception.js +30 -0
  33. package/dist/errors/exceptions/undefined-dependency.exception.js +30 -0
  34. package/dist/errors/exceptions/undefined-forwardref.exception.js +30 -0
  35. package/dist/errors/exceptions/undefined-module.exception.js +30 -0
  36. package/dist/errors/exceptions/unknown-dependencies.exception.js +38 -0
  37. package/dist/errors/exceptions/unknown-element.exception.js +31 -0
  38. package/dist/errors/exceptions/unknown-export.exception.js +30 -0
  39. package/dist/errors/exceptions/unknown-module.exception.js +29 -0
  40. package/dist/errors/messages.js +134 -0
  41. package/dist/exceptions/handler.js +53 -0
  42. package/dist/exceptions/zone/handler.js +30 -0
  43. package/dist/exceptions/zone/zone.js +49 -0
  44. package/dist/filters/context-creator.js +65 -0
  45. package/dist/filters/context.js +58 -0
  46. package/dist/filters/filter.js +36 -0
  47. package/dist/guards/consumer.js +54 -0
  48. package/dist/guards/context-creator.js +76 -0
  49. package/dist/helpers/color.helper.js +35 -0
  50. package/dist/helpers/context-id-factory.helper.js +25 -0
  51. package/dist/helpers/context.helper.js +65 -0
  52. package/dist/helpers/create-param-decorator.helper.js +73 -0
  53. package/dist/helpers/filter-log-levels.util.js +38 -0
  54. package/dist/helpers/flatten.helper.js +26 -0
  55. package/dist/helpers/is-log-level-enabled.util.js +39 -0
  56. package/dist/helpers/is-log-level.util.js +26 -0
  57. package/dist/helpers/messages.helper.js +23 -0
  58. package/dist/helpers/metadata.helper.js +51 -0
  59. package/dist/helpers/noop.helper.js +23 -0
  60. package/dist/helpers/random-string-generator.helper.js +24 -0
  61. package/dist/helpers/rethrow.helper.js +25 -0
  62. package/dist/helpers/shared.helper.js +49 -0
  63. package/dist/helpers/silent.helper.js +34 -0
  64. package/dist/helpers/transient.helper.js +30 -0
  65. package/dist/helpers/uuid.helper.js +60 -0
  66. package/dist/helpers/validate-each.helper.js +42 -0
  67. package/dist/hooks/before-app-shutdown.hook.js +43 -0
  68. package/dist/hooks/on-app-bootstrap.hook.js +43 -0
  69. package/dist/hooks/on-app-shutdown.hook.js +43 -0
  70. package/dist/hooks/on-module-destroy.hook.js +43 -0
  71. package/dist/hooks/on-module-init.hook.js +43 -0
  72. package/dist/index.d.ts +3142 -0
  73. package/dist/index.js +115 -0
  74. package/dist/injector/constants.js +28 -0
  75. package/dist/injector/container.js +229 -0
  76. package/dist/injector/helpers/barrier.js +48 -0
  77. package/dist/injector/helpers/class-scope.helper.js +27 -0
  78. package/dist/injector/helpers/classifier.helper.js +35 -0
  79. package/dist/injector/helpers/is-durable.helper.js +27 -0
  80. package/dist/injector/injector.js +490 -0
  81. package/dist/injector/instance/links-host.js +68 -0
  82. package/dist/injector/instance/loader.js +95 -0
  83. package/dist/injector/instance/resolver.js +61 -0
  84. package/dist/injector/instance/wrapper.js +324 -0
  85. package/dist/injector/internal-core-module/core-providers.js +42 -0
  86. package/dist/injector/internal-core-module/internal-core-module-factory.js +66 -0
  87. package/dist/injector/internal-core-module/internal-core-module.js +46 -0
  88. package/dist/injector/module/compiler.js +47 -0
  89. package/dist/injector/module/container.js +33 -0
  90. package/dist/injector/module/lazy/loader.js +71 -0
  91. package/dist/injector/module/module.js +395 -0
  92. package/dist/injector/module/ref.js +78 -0
  93. package/dist/injector/module/token-factory.js +82 -0
  94. package/dist/injector/settlement-signal.js +50 -0
  95. package/dist/injector/topology-tree/topology-tree.js +68 -0
  96. package/dist/injector/topology-tree/tree-node.js +68 -0
  97. package/dist/inspector/graph-inspector.js +182 -0
  98. package/dist/inspector/initialize-on-preview.allowlist.js +31 -0
  99. package/dist/inspector/noop-graph-inspector.js +27 -0
  100. package/dist/inspector/partial-graph.host.js +34 -0
  101. package/dist/inspector/serialized-graph.js +128 -0
  102. package/dist/interceptors/consumer.js +54 -0
  103. package/dist/interceptors/context-creator.js +75 -0
  104. package/dist/interfaces/application/context-options.interface.js +31 -0
  105. package/dist/interfaces/application/context.interface.js +0 -0
  106. package/dist/interfaces/application/index.js +3 -0
  107. package/dist/interfaces/context/arguments-host.interface.js +0 -0
  108. package/dist/interfaces/context/context-id-factory.interface.js +0 -0
  109. package/dist/interfaces/context/context.interface.js +0 -0
  110. package/dist/interfaces/context/creator.interface.js +0 -0
  111. package/dist/interfaces/context/execution.interface.js +0 -0
  112. package/dist/interfaces/context/index.js +7 -0
  113. package/dist/interfaces/context/params.interface.js +0 -0
  114. package/dist/interfaces/features/exception-filter.interface.js +0 -0
  115. package/dist/interfaces/features/guards.interface.js +0 -0
  116. package/dist/interfaces/features/index.js +5 -0
  117. package/dist/interfaces/features/interceptor.interface.js +0 -0
  118. package/dist/interfaces/features/pipes.interface.js +0 -0
  119. package/dist/interfaces/helper.interface.js +0 -0
  120. package/dist/interfaces/hooks/before-application-shutdown.interface.js +0 -0
  121. package/dist/interfaces/hooks/index.js +6 -0
  122. package/dist/interfaces/hooks/on-application-bootstrap.interface.js +0 -0
  123. package/dist/interfaces/hooks/on-application-shutdown.interface.js +0 -0
  124. package/dist/interfaces/hooks/on-destroy.interface.js +0 -0
  125. package/dist/interfaces/hooks/on-init.interface.js +0 -0
  126. package/dist/interfaces/index.js +16 -0
  127. package/dist/interfaces/injectable.interface.js +0 -0
  128. package/dist/interfaces/injector/index.js +6 -0
  129. package/dist/interfaces/injector/injector.interface.js +0 -0
  130. package/dist/interfaces/injector/instance-wrapper.interface.js +0 -0
  131. package/dist/interfaces/injector/lazy-module-options.interface.js +0 -0
  132. package/dist/interfaces/injector/module-compiler.interface.js +0 -0
  133. package/dist/interfaces/injector/module-ref.interface.js +0 -0
  134. package/dist/interfaces/inspector/edge.interface.js +0 -0
  135. package/dist/interfaces/inspector/enhancer-metadata-cache-entry.interface.js +0 -0
  136. package/dist/interfaces/inspector/entrypoint.interface.js +0 -0
  137. package/dist/interfaces/inspector/extras.interface.js +0 -0
  138. package/dist/interfaces/inspector/index.js +8 -0
  139. package/dist/interfaces/inspector/node.interface.js +0 -0
  140. package/dist/interfaces/inspector/serialized-graph-json.interface.js +0 -0
  141. package/dist/interfaces/inspector/serialized-graph-metadata.interface.js +0 -0
  142. package/dist/interfaces/modules/definition.interface.js +0 -0
  143. package/dist/interfaces/modules/dynamic-module.interface.js +0 -0
  144. package/dist/interfaces/modules/forward-reference.interface.js +0 -0
  145. package/dist/interfaces/modules/index.js +10 -0
  146. package/dist/interfaces/modules/injection-token.interface.js +0 -0
  147. package/dist/interfaces/modules/introspection-result.interface.js +0 -0
  148. package/dist/interfaces/modules/module-metadata.interface.js +0 -0
  149. package/dist/interfaces/modules/module.interface.js +0 -0
  150. package/dist/interfaces/modules/optional-factory-dependency.interface.js +0 -0
  151. package/dist/interfaces/modules/override.interface.js +0 -0
  152. package/dist/interfaces/modules/provider.interface.js +0 -0
  153. package/dist/interfaces/param-decorator.interface.js +0 -0
  154. package/dist/interfaces/scope.interface.js +0 -0
  155. package/dist/interfaces/services/console.interface.js +0 -0
  156. package/dist/interfaces/services/index.js +4 -0
  157. package/dist/interfaces/services/logger.interface.js +0 -0
  158. package/dist/interfaces/services/reflector.interface.js +0 -0
  159. package/dist/interfaces/set-metadata.interface.js +0 -0
  160. package/dist/interfaces/type.interface.js +0 -0
  161. package/dist/metadata-scanner.js +50 -0
  162. package/dist/pipes/consumer.js +33 -0
  163. package/dist/pipes/context-creator.js +78 -0
  164. package/dist/scanner.js +371 -0
  165. package/dist/services/console.service.js +347 -0
  166. package/dist/services/logger.service.js +276 -0
  167. package/dist/services/reflector.service.js +82 -0
  168. package/dist/storage/handler-metadata.storage.js +42 -0
  169. package/dist/storage/meta-host.storage.js +62 -0
  170. package/package.json +52 -40
  171. package/application/config.d.ts +0 -35
  172. package/application/config.js +0 -85
  173. package/application/context.d.ts +0 -198
  174. package/application/context.js +0 -325
  175. package/application/factory.d.ts +0 -43
  176. package/application/factory.js +0 -147
  177. package/constants.d.ts +0 -44
  178. package/constants.js +0 -51
  179. package/context/context.d.ts +0 -66
  180. package/context/context.js +0 -156
  181. package/context/creator.d.ts +0 -9
  182. package/context/creator.js +0 -32
  183. package/context/execution-host.d.ts +0 -16
  184. package/context/execution-host.js +0 -30
  185. package/context/index.d.ts +0 -4
  186. package/context/index.js +0 -20
  187. package/context/proxy.d.ts +0 -6
  188. package/context/proxy.js +0 -33
  189. package/decorators/apply.decorator.d.ts +0 -10
  190. package/decorators/apply.decorator.js +0 -24
  191. package/decorators/bind.decorator.d.ts +0 -11
  192. package/decorators/bind.decorator.js +0 -20
  193. package/decorators/catch.decorator.d.ts +0 -17
  194. package/decorators/catch.decorator.js +0 -26
  195. package/decorators/create-param.decorator.d.ts +0 -29
  196. package/decorators/create-param.decorator.js +0 -51
  197. package/decorators/dependencies.decorator.d.ts +0 -6
  198. package/decorators/dependencies.decorator.js +0 -17
  199. package/decorators/exception-filters.decorator.d.ts +0 -21
  200. package/decorators/exception-filters.decorator.js +0 -41
  201. package/decorators/global.decorator.d.ts +0 -10
  202. package/decorators/global.decorator.js +0 -19
  203. package/decorators/index.d.ts +0 -15
  204. package/decorators/index.js +0 -31
  205. package/decorators/inject.decorator.d.ts +0 -26
  206. package/decorators/inject.decorator.js +0 -45
  207. package/decorators/injectable.decorator.d.ts +0 -40
  208. package/decorators/injectable.decorator.js +0 -51
  209. package/decorators/module.decorator.d.ts +0 -14
  210. package/decorators/module.decorator.js +0 -38
  211. package/decorators/optional.decorator.d.ts +0 -14
  212. package/decorators/optional.decorator.js +0 -30
  213. package/decorators/set-metadata.decorator.d.ts +0 -18
  214. package/decorators/set-metadata.decorator.js +0 -30
  215. package/decorators/use-guards.decorator.d.ts +0 -21
  216. package/decorators/use-guards.decorator.js +0 -40
  217. package/decorators/use-interceptors.decorator.d.ts +0 -21
  218. package/decorators/use-interceptors.decorator.js +0 -40
  219. package/decorators/use-pipes.decorator.d.ts +0 -21
  220. package/decorators/use-pipes.decorator.js +0 -39
  221. package/discovery/meta-host-collection.d.ts +0 -32
  222. package/discovery/meta-host-collection.js +0 -79
  223. package/discovery/module.d.ts +0 -5
  224. package/discovery/module.js +0 -24
  225. package/discovery/service.d.ts +0 -68
  226. package/discovery/service.js +0 -90
  227. package/errors/exceptions/circular-dependency.exception.d.ts +0 -4
  228. package/errors/exceptions/circular-dependency.exception.js +0 -11
  229. package/errors/exceptions/index.d.ts +0 -8
  230. package/errors/exceptions/index.js +0 -24
  231. package/errors/exceptions/invalid-class-module.exception.d.ts +0 -4
  232. package/errors/exceptions/invalid-class-module.exception.js +0 -11
  233. package/errors/exceptions/invalid-class-scope.exception.d.ts +0 -5
  234. package/errors/exceptions/invalid-class-scope.exception.js +0 -14
  235. package/errors/exceptions/invalid-class.exception.d.ts +0 -4
  236. package/errors/exceptions/invalid-class.exception.js +0 -11
  237. package/errors/exceptions/invalid-exception-filter.exception.d.ts +0 -4
  238. package/errors/exceptions/invalid-exception-filter.exception.js +0 -11
  239. package/errors/exceptions/invalid-module.exception.d.ts +0 -4
  240. package/errors/exceptions/invalid-module.exception.js +0 -11
  241. package/errors/exceptions/runtime.exception.d.ts +0 -4
  242. package/errors/exceptions/runtime.exception.js +0 -12
  243. package/errors/exceptions/undefined-dependency.exception.d.ts +0 -6
  244. package/errors/exceptions/undefined-dependency.exception.js +0 -11
  245. package/errors/exceptions/undefined-forwardref.exception.d.ts +0 -5
  246. package/errors/exceptions/undefined-forwardref.exception.js +0 -11
  247. package/errors/exceptions/undefined-module.exception.d.ts +0 -4
  248. package/errors/exceptions/undefined-module.exception.js +0 -11
  249. package/errors/exceptions/unknown-dependencies.exception.d.ts +0 -16
  250. package/errors/exceptions/unknown-dependencies.exception.js +0 -15
  251. package/errors/exceptions/unknown-element.exception.d.ts +0 -4
  252. package/errors/exceptions/unknown-element.exception.js +0 -12
  253. package/errors/exceptions/unknown-export.exception.d.ts +0 -4
  254. package/errors/exceptions/unknown-export.exception.js +0 -11
  255. package/errors/exceptions/unknown-module.exception.d.ts +0 -4
  256. package/errors/exceptions/unknown-module.exception.js +0 -10
  257. package/errors/messages.d.ts +0 -15
  258. package/errors/messages.js +0 -126
  259. package/exceptions/handler.d.ts +0 -10
  260. package/exceptions/handler.js +0 -34
  261. package/exceptions/index.d.ts +0 -2
  262. package/exceptions/index.js +0 -18
  263. package/exceptions/zone/handler.d.ts +0 -5
  264. package/exceptions/zone/handler.js +0 -15
  265. package/exceptions/zone/index.d.ts +0 -2
  266. package/exceptions/zone/index.js +0 -18
  267. package/exceptions/zone/zone.d.ts +0 -5
  268. package/exceptions/zone/zone.js +0 -32
  269. package/filters/context-creator.d.ts +0 -14
  270. package/filters/context-creator.js +0 -48
  271. package/filters/context.d.ts +0 -12
  272. package/filters/context.js +0 -41
  273. package/filters/filter.d.ts +0 -6
  274. package/filters/filter.js +0 -16
  275. package/filters/index.d.ts +0 -3
  276. package/filters/index.js +0 -19
  277. package/guards/consumer.d.ts +0 -9
  278. package/guards/consumer.js +0 -33
  279. package/guards/context-creator.d.ts +0 -17
  280. package/guards/context-creator.js +0 -69
  281. package/guards/index.d.ts +0 -2
  282. package/guards/index.js +0 -18
  283. package/helpers/color.helper.d.ts +0 -9
  284. package/helpers/color.helper.js +0 -14
  285. package/helpers/context-id-factory.helper.d.ts +0 -2
  286. package/helpers/context-id-factory.helper.js +0 -15
  287. package/helpers/context.helper.d.ts +0 -23
  288. package/helpers/context.helper.js +0 -49
  289. package/helpers/extends-metadata.helper.d.ts +0 -1
  290. package/helpers/extends-metadata.helper.js +0 -9
  291. package/helpers/flatten.helper.d.ts +0 -1
  292. package/helpers/flatten.helper.js +0 -9
  293. package/helpers/messages.helper.d.ts +0 -2
  294. package/helpers/messages.helper.js +0 -7
  295. package/helpers/noop.helper.d.ts +0 -1
  296. package/helpers/noop.helper.js +0 -5
  297. package/helpers/random-string-generator.helper.d.ts +0 -1
  298. package/helpers/random-string-generator.helper.js +0 -6
  299. package/helpers/rethrow.helper.d.ts +0 -1
  300. package/helpers/rethrow.helper.js +0 -7
  301. package/helpers/shared.helper.d.ts +0 -10
  302. package/helpers/shared.helper.js +0 -33
  303. package/helpers/silent.helper.d.ts +0 -10
  304. package/helpers/silent.helper.js +0 -18
  305. package/helpers/transient.helper.d.ts +0 -12
  306. package/helpers/transient.helper.js +0 -26
  307. package/helpers/uuid.helper.d.ts +0 -15
  308. package/helpers/uuid.helper.js +0 -54
  309. package/helpers/validate-each.helper.d.ts +0 -8
  310. package/helpers/validate-each.helper.js +0 -25
  311. package/hooks/before-app-shutdown.hook.d.ts +0 -9
  312. package/hooks/before-app-shutdown.hook.js +0 -45
  313. package/hooks/index.d.ts +0 -5
  314. package/hooks/index.js +0 -21
  315. package/hooks/on-app-bootstrap.hook.d.ts +0 -8
  316. package/hooks/on-app-bootstrap.hook.js +0 -45
  317. package/hooks/on-app-shutdown.hook.d.ts +0 -9
  318. package/hooks/on-app-shutdown.hook.js +0 -46
  319. package/hooks/on-module-destroy.hook.d.ts +0 -8
  320. package/hooks/on-module-destroy.hook.js +0 -45
  321. package/hooks/on-module-init.hook.d.ts +0 -8
  322. package/hooks/on-module-init.hook.js +0 -45
  323. package/index.d.ts +0 -10
  324. package/index.js +0 -32
  325. package/injector/constants.d.ts +0 -2
  326. package/injector/constants.js +0 -7
  327. package/injector/container.d.ts +0 -61
  328. package/injector/container.js +0 -194
  329. package/injector/helpers/class-scope.helper.d.ts +0 -2
  330. package/injector/helpers/class-scope.helper.js +0 -9
  331. package/injector/helpers/classifier.helper.d.ts +0 -4
  332. package/injector/helpers/classifier.helper.js +0 -17
  333. package/injector/helpers/is-durable.helper.d.ts +0 -2
  334. package/injector/helpers/is-durable.helper.js +0 -9
  335. package/injector/index.d.ts +0 -5
  336. package/injector/index.js +0 -20
  337. package/injector/injector.d.ts +0 -87
  338. package/injector/injector.js +0 -452
  339. package/injector/instance/links-host.d.ts +0 -22
  340. package/injector/instance/links-host.js +0 -50
  341. package/injector/instance/loader.d.ts +0 -21
  342. package/injector/instance/loader.js +0 -73
  343. package/injector/instance/resolver.d.ts +0 -16
  344. package/injector/instance/resolver.js +0 -43
  345. package/injector/instance/wrapper.d.ts +0 -90
  346. package/injector/instance/wrapper.js +0 -272
  347. package/injector/internal-core-module/core-providers.d.ts +0 -4
  348. package/injector/internal-core-module/core-providers.js +0 -21
  349. package/injector/internal-core-module/internal-core-module-factory.d.ts +0 -8
  350. package/injector/internal-core-module/internal-core-module-factory.js +0 -47
  351. package/injector/internal-core-module/internal-core-module.d.ts +0 -4
  352. package/injector/internal-core-module/internal-core-module.js +0 -31
  353. package/injector/module/compiler.d.ts +0 -19
  354. package/injector/module/compiler.js +0 -27
  355. package/injector/module/container.d.ts +0 -6
  356. package/injector/module/container.js +0 -24
  357. package/injector/module/lazy/loader.d.ts +0 -21
  358. package/injector/module/lazy/loader.js +0 -49
  359. package/injector/module/lazy/options.d.ts +0 -6
  360. package/injector/module/lazy/options.js +0 -2
  361. package/injector/module/module.d.ts +0 -74
  362. package/injector/module/module.js +0 -383
  363. package/injector/module/ref.d.ts +0 -106
  364. package/injector/module/ref.js +0 -62
  365. package/injector/module/token-factory.d.ts +0 -13
  366. package/injector/module/token-factory.js +0 -71
  367. package/injector/settlement-signal.d.ts +0 -37
  368. package/injector/settlement-signal.js +0 -55
  369. package/inspector/graph-inspector.d.ts +0 -26
  370. package/inspector/graph-inspector.js +0 -163
  371. package/inspector/initialize-on-preview.allowlist.d.ts +0 -6
  372. package/inspector/initialize-on-preview.allowlist.js +0 -13
  373. package/inspector/interfaces/edge.interface.d.ts +0 -28
  374. package/inspector/interfaces/edge.interface.js +0 -2
  375. package/inspector/interfaces/enhancer-metadata-cache-entry.interface.d.ts +0 -12
  376. package/inspector/interfaces/enhancer-metadata-cache-entry.interface.js +0 -2
  377. package/inspector/interfaces/entrypoint.interface.d.ts +0 -10
  378. package/inspector/interfaces/entrypoint.interface.js +0 -2
  379. package/inspector/interfaces/extras.interface.d.ts +0 -18
  380. package/inspector/interfaces/extras.interface.js +0 -2
  381. package/inspector/interfaces/node.interface.d.ts +0 -49
  382. package/inspector/interfaces/node.interface.js +0 -2
  383. package/inspector/interfaces/serialized-graph-json.interface.d.ts +0 -14
  384. package/inspector/interfaces/serialized-graph-json.interface.js +0 -2
  385. package/inspector/interfaces/serialized-graph-metadata.interface.d.ts +0 -10
  386. package/inspector/interfaces/serialized-graph-metadata.interface.js +0 -2
  387. package/inspector/noop-graph-inspector.d.ts +0 -2
  388. package/inspector/noop-graph-inspector.js +0 -8
  389. package/inspector/partial-graph.host.d.ts +0 -7
  390. package/inspector/partial-graph.host.js +0 -15
  391. package/inspector/serialized-graph.d.ts +0 -52
  392. package/inspector/serialized-graph.js +0 -121
  393. package/interceptors/consumer.d.ts +0 -9
  394. package/interceptors/consumer.js +0 -37
  395. package/interceptors/context-creator.d.ts +0 -17
  396. package/interceptors/context-creator.js +0 -67
  397. package/interceptors/index.d.ts +0 -2
  398. package/interceptors/index.js +0 -18
  399. package/interfaces/abstract.interface.d.ts +0 -3
  400. package/interfaces/abstract.interface.js +0 -2
  401. package/interfaces/application/context-options.interface.d.ts +0 -41
  402. package/interfaces/application/context-options.interface.js +0 -9
  403. package/interfaces/application/context.interface.d.ts +0 -162
  404. package/interfaces/application/context.interface.js +0 -2
  405. package/interfaces/application/index.d.ts +0 -1
  406. package/interfaces/application/index.js +0 -17
  407. package/interfaces/context/arguments-host.interface.d.ts +0 -22
  408. package/interfaces/context/arguments-host.interface.js +0 -2
  409. package/interfaces/context/execution.interface.d.ts +0 -18
  410. package/interfaces/context/execution.interface.js +0 -2
  411. package/interfaces/context/index.d.ts +0 -2
  412. package/interfaces/context/index.js +0 -18
  413. package/interfaces/features/exception-filter.interface.d.ts +0 -21
  414. package/interfaces/features/exception-filter.interface.js +0 -2
  415. package/interfaces/features/guards.interface.d.ts +0 -20
  416. package/interfaces/features/guards.interface.js +0 -2
  417. package/interfaces/features/index.d.ts +0 -4
  418. package/interfaces/features/index.js +0 -20
  419. package/interfaces/features/interceptor.interface.d.ts +0 -30
  420. package/interfaces/features/interceptor.interface.js +0 -2
  421. package/interfaces/features/pipes.interface.d.ts +0 -37
  422. package/interfaces/features/pipes.interface.js +0 -2
  423. package/interfaces/helper.interface.d.ts +0 -3
  424. package/interfaces/helper.interface.js +0 -2
  425. package/interfaces/hooks/before-application-shutdown.interface.d.ts +0 -3
  426. package/interfaces/hooks/before-application-shutdown.interface.js +0 -2
  427. package/interfaces/hooks/index.d.ts +0 -5
  428. package/interfaces/hooks/index.js +0 -21
  429. package/interfaces/hooks/on-application-bootstrap.interface.d.ts +0 -9
  430. package/interfaces/hooks/on-application-bootstrap.interface.js +0 -2
  431. package/interfaces/hooks/on-application-shutdown.interface.d.ts +0 -9
  432. package/interfaces/hooks/on-application-shutdown.interface.js +0 -2
  433. package/interfaces/hooks/on-destroy.interface.d.ts +0 -10
  434. package/interfaces/hooks/on-destroy.interface.js +0 -2
  435. package/interfaces/hooks/on-init.interface.d.ts +0 -8
  436. package/interfaces/hooks/on-init.interface.js +0 -2
  437. package/interfaces/index.d.ts +0 -8
  438. package/interfaces/index.js +0 -24
  439. package/interfaces/injectable.interface.d.ts +0 -1
  440. package/interfaces/injectable.interface.js +0 -2
  441. package/interfaces/modules/configurable/async-options.interface.d.ts +0 -42
  442. package/interfaces/modules/configurable/async-options.interface.js +0 -2
  443. package/interfaces/modules/configurable/cls.interface.d.ts +0 -13
  444. package/interfaces/modules/configurable/cls.interface.js +0 -2
  445. package/interfaces/modules/configurable/host.interface.d.ts +0 -62
  446. package/interfaces/modules/configurable/host.interface.js +0 -2
  447. package/interfaces/modules/configurable/index.d.ts +0 -3
  448. package/interfaces/modules/configurable/index.js +0 -19
  449. package/interfaces/modules/definition.interface.d.ts +0 -4
  450. package/interfaces/modules/definition.interface.js +0 -2
  451. package/interfaces/modules/dynamic-module.interface.d.ts +0 -23
  452. package/interfaces/modules/dynamic-module.interface.js +0 -2
  453. package/interfaces/modules/forward-reference.interface.d.ts +0 -3
  454. package/interfaces/modules/forward-reference.interface.js +0 -2
  455. package/interfaces/modules/index.d.ts +0 -9
  456. package/interfaces/modules/index.js +0 -25
  457. package/interfaces/modules/injection-token.interface.d.ts +0 -5
  458. package/interfaces/modules/injection-token.interface.js +0 -2
  459. package/interfaces/modules/introspection-result.interface.d.ts +0 -10
  460. package/interfaces/modules/introspection-result.interface.js +0 -2
  461. package/interfaces/modules/module-metadata.interface.d.ts +0 -24
  462. package/interfaces/modules/module-metadata.interface.js +0 -2
  463. package/interfaces/modules/module.interface.d.ts +0 -2
  464. package/interfaces/modules/module.interface.js +0 -2
  465. package/interfaces/modules/optional-factory-dependency.interface.d.ts +0 -8
  466. package/interfaces/modules/optional-factory-dependency.interface.js +0 -2
  467. package/interfaces/modules/override.interface.d.ts +0 -5
  468. package/interfaces/modules/override.interface.js +0 -2
  469. package/interfaces/modules/provider.interface.d.ts +0 -142
  470. package/interfaces/modules/provider.interface.js +0 -2
  471. package/interfaces/scope.interface.d.ts +0 -35
  472. package/interfaces/scope.interface.js +0 -23
  473. package/interfaces/type.interface.d.ts +0 -3
  474. package/interfaces/type.interface.js +0 -2
  475. package/metadata-scanner.d.ts +0 -4
  476. package/metadata-scanner.js +0 -34
  477. package/module/configurable-module.builder.d.ts +0 -93
  478. package/module/configurable-module.builder.js +0 -204
  479. package/module/constants.d.ts +0 -4
  480. package/module/constants.js +0 -7
  481. package/module/helpers/generate-options-injection-token.helper.d.ts +0 -1
  482. package/module/helpers/generate-options-injection-token.helper.js +0 -9
  483. package/module/helpers/get-injection-providers.helper.d.ts +0 -8
  484. package/module/helpers/get-injection-providers.helper.js +0 -36
  485. package/module/helpers/index.d.ts +0 -2
  486. package/module/helpers/index.js +0 -18
  487. package/module/index.d.ts +0 -2
  488. package/module/index.js +0 -18
  489. package/pipes/consumer.d.ts +0 -9
  490. package/pipes/consumer.js +0 -15
  491. package/pipes/context-creator.d.ts +0 -18
  492. package/pipes/context-creator.js +0 -70
  493. package/pipes/index.d.ts +0 -2
  494. package/pipes/index.js +0 -18
  495. package/scanner.d.ts +0 -81
  496. package/scanner.js +0 -374
  497. package/services/console.service.d.ts +0 -86
  498. package/services/console.service.js +0 -233
  499. package/services/index.d.ts +0 -1
  500. package/services/index.js +0 -17
  501. package/services/logger.service.d.ts +0 -157
  502. package/services/logger.service.js +0 -269
  503. package/services/reflector.service.d.ts +0 -110
  504. package/services/reflector.service.js +0 -87
  505. package/test/context/creator.spec.d.ts +0 -1
  506. package/test/context/creator.spec.js +0 -149
  507. package/test/context/execution-host.spec.d.ts +0 -1
  508. package/test/context/execution-host.spec.js +0 -31
  509. package/test/context/proxy.spec.d.ts +0 -1
  510. package/test/context/proxy.spec.js +0 -46
  511. package/test/exceptions/handler.spec.d.ts +0 -1
  512. package/test/exceptions/handler.spec.js +0 -90
  513. package/test/exceptions/messages.spec.js +0 -201
  514. package/test/exceptions/zona/handler.spec.d.ts +0 -1
  515. package/test/exceptions/zona/handler.spec.js +0 -51
  516. package/test/exceptions/zona/zone.spec.d.ts +0 -1
  517. package/test/exceptions/zona/zone.spec.js +0 -66
  518. package/test/filters/context-creator.spec.d.ts +0 -2
  519. package/test/filters/context-creator.spec.js +0 -91
  520. package/test/guards/consumer.spec.d.ts +0 -1
  521. package/test/guards/consumer.spec.js +0 -47
  522. package/test/guards/context-creator.spec.d.ts +0 -1
  523. package/test/guards/context-creator.spec.js +0 -138
  524. package/test/helpers/context-id-factory.spec.d.ts +0 -1
  525. package/test/helpers/context-id-factory.spec.js +0 -9
  526. package/test/helpers/shared.spec.d.ts +0 -1
  527. package/test/helpers/shared.spec.js +0 -122
  528. package/test/hooks/before-app-shutdown.hook.spec.d.ts +0 -1
  529. package/test/hooks/before-app-shutdown.hook.spec.js +0 -44
  530. package/test/hooks/on-app-bootstrap.hook.spec.d.ts +0 -1
  531. package/test/hooks/on-app-bootstrap.hook.spec.js +0 -43
  532. package/test/hooks/on-app-shutdown.hook.spec.d.ts +0 -1
  533. package/test/hooks/on-app-shutdown.hook.spec.js +0 -43
  534. package/test/hooks/on-module-destroy.hook.spec.d.ts +0 -1
  535. package/test/hooks/on-module-destroy.hook.spec.js +0 -43
  536. package/test/hooks/on-module-init.hook.spec.d.ts +0 -1
  537. package/test/hooks/on-module-init.hook.spec.js +0 -43
  538. package/test/injector/compiler.spec.d.ts +0 -1
  539. package/test/injector/compiler.spec.js +0 -42
  540. package/test/injector/container.spec.d.ts +0 -1
  541. package/test/injector/container.spec.js +0 -203
  542. package/test/injector/helpers/classifier.spec.d.ts +0 -1
  543. package/test/injector/helpers/classifier.spec.js +0 -102
  544. package/test/injector/injector.spec.d.ts +0 -1
  545. package/test/injector/injector.spec.js +0 -678
  546. package/test/injector/instance/loader.spec.d.ts +0 -1
  547. package/test/injector/instance/loader.spec.js +0 -108
  548. package/test/injector/instance/wrapper.spec.d.ts +0 -1
  549. package/test/injector/instance/wrapper.spec.js +0 -772
  550. package/test/injector/internal-core-module/internal-core-module-factory.spec.d.ts +0 -1
  551. package/test/injector/internal-core-module/internal-core-module-factory.spec.js +0 -27
  552. package/test/injector/module/lazy/loader.spec.d.ts +0 -1
  553. package/test/injector/module/lazy/loader.spec.js +0 -71
  554. package/test/injector/module/module.spec.d.ts +0 -1
  555. package/test/injector/module/module.spec.js +0 -410
  556. package/test/injector/module/token-factory.spec.d.ts +0 -1
  557. package/test/injector/module/token-factory.spec.js +0 -84
  558. package/test/interceptors/consumer.spec.d.ts +0 -1
  559. package/test/interceptors/consumer.spec.js +0 -136
  560. package/test/interceptors/context-creator.spec.d.ts +0 -1
  561. package/test/interceptors/context-creator.spec.js +0 -139
  562. package/test/metadata-scanner.spec.d.ts +0 -1
  563. package/test/metadata-scanner.spec.js +0 -41
  564. package/test/module/configurable-module.builder.spec.d.ts +0 -1
  565. package/test/module/configurable-module.builder.spec.js +0 -102
  566. package/test/module/helpers/get-injection-providers.helper.spec.d.ts +0 -1
  567. package/test/module/helpers/get-injection-providers.helper.spec.js +0 -49
  568. package/test/pipes/consumer.spec.d.ts +0 -1
  569. package/test/pipes/consumer.spec.js +0 -42
  570. package/test/pipes/context-creator.spec.d.ts +0 -1
  571. package/test/pipes/context-creator.spec.js +0 -108
  572. package/test/scanner.spec.d.ts +0 -1
  573. package/test/scanner.spec.js +0 -620
  574. package/test/services/logger.service.spec.d.ts +0 -1
  575. package/test/services/logger.service.spec.js +0 -487
  576. package/test/services/reflector.service.spec.d.ts +0 -1
  577. package/test/services/reflector.service.spec.js +0 -105
  578. package/tsconfig.tsbuildinfo +0 -1
  579. /package/{test/exceptions/messages.spec.d.ts → dist/interfaces/abstract.interface.js} +0 -0
@@ -1,156 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VenokContextCreator = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const guards_1 = require("@venok/core/guards");
6
- const interceptors_1 = require("@venok/core/interceptors");
7
- const pipes_1 = require("@venok/core/pipes");
8
- const constants_1 = require("@venok/core/injector/constants");
9
- const constants_2 = require("@venok/core/constants");
10
- const shared_helper_1 = require("@venok/core/helpers/shared.helper");
11
- const exceptions_1 = require("@venok/core/errors/exceptions");
12
- const context_helper_1 = require("@venok/core/helpers/context.helper");
13
- const proxy_1 = require("@venok/core/context/proxy");
14
- const context_1 = require("@venok/core/filters/context");
15
- class VenokContextCreator {
16
- constructor(guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, modulesContainer, pipesContextCreator, pipesConsumer, filtersContextCreator) {
17
- this.guardsContextCreator = guardsContextCreator;
18
- this.guardsConsumer = guardsConsumer;
19
- this.interceptorsContextCreator = interceptorsContextCreator;
20
- this.interceptorsConsumer = interceptorsConsumer;
21
- this.modulesContainer = modulesContainer;
22
- this.pipesContextCreator = pipesContextCreator;
23
- this.pipesConsumer = pipesConsumer;
24
- this.filtersContextCreator = filtersContextCreator;
25
- this.contextUtils = new context_helper_1.ContextUtils();
26
- this.venokProxy = new proxy_1.VenokProxy();
27
- }
28
- static fromContainer(container) {
29
- const guardsContextCreator = new guards_1.GuardsContextCreator(container, container.applicationConfig);
30
- const guardsConsumer = new guards_1.GuardsConsumer();
31
- const interceptorsContextCreator = new interceptors_1.InterceptorsContextCreator(container, container.applicationConfig);
32
- const interceptorsConsumer = new interceptors_1.InterceptorsConsumer();
33
- const pipesContextCreator = new pipes_1.PipesContextCreator(container, container.applicationConfig);
34
- const pipesConsumer = new pipes_1.PipesConsumer();
35
- const filtersContextCreator = new context_1.VenokExceptionFilterContext(container, container.applicationConfig);
36
- const venokContextCreator = new VenokContextCreator(guardsContextCreator, guardsConsumer, interceptorsContextCreator, interceptorsConsumer, container.getModules(), pipesContextCreator, pipesConsumer, filtersContextCreator);
37
- venokContextCreator.container = container;
38
- return venokContextCreator;
39
- }
40
- create(instance, callback, methodName, metadataKey, paramsFactory, contextId = constants_1.STATIC_CONTEXT, inquirerId, options = {
41
- interceptors: true,
42
- guards: true,
43
- filters: true,
44
- callback: () => { },
45
- }, contextType = "native") {
46
- const module = this.getContextModuleKey(instance.constructor);
47
- const { argsLength, paramtypes, getParamsMetadata } = this.getMetadata(instance, methodName, metadataKey, paramsFactory, contextType);
48
- const pipes = this.pipesContextCreator.create(instance, callback, module, contextId, inquirerId);
49
- const guards = this.guardsContextCreator.create(instance, callback, module, contextId, inquirerId);
50
- const exceptionFilter = this.filtersContextCreator.create(instance, callback, module, contextId, inquirerId);
51
- const interceptors = options.interceptors
52
- ? this.interceptorsContextCreator.create(instance, callback, module, contextId, inquirerId)
53
- : [];
54
- const paramsMetadata = getParamsMetadata(module, contextId, inquirerId);
55
- const paramsOptions = paramsMetadata ? this.contextUtils.mergeParamsMetatypes(paramsMetadata, paramtypes) : [];
56
- const fnCanActivate = options.guards ? this.createGuardsFn(guards, instance, callback, contextType) : null;
57
- const fnApplyPipes = this.createPipesFn(pipes, paramsOptions);
58
- const handler = (initialArgs, ...args) => async () => {
59
- if (fnApplyPipes) {
60
- await fnApplyPipes(initialArgs, ...args);
61
- return callback.apply(instance, initialArgs);
62
- }
63
- return callback.apply(instance, args);
64
- };
65
- const target = async (...args) => {
66
- const initialArgs = this.contextUtils.createNullArray(argsLength);
67
- fnCanActivate && (await fnCanActivate(args));
68
- const result = await this.interceptorsConsumer.intercept(interceptors, args, instance, callback, handler(initialArgs, ...args), contextType);
69
- const done = await this.transformToResult(result);
70
- if (options.callback)
71
- options.callback(done, ...args);
72
- return done;
73
- };
74
- return options.filters ? this.venokProxy.createProxy(target, exceptionFilter, contextType) : target;
75
- }
76
- getMetadata(instance, methodName, metadataKey, paramsFactory, contextType) {
77
- // const cacheMetadata = this.handlerMetadataStorage.get(instance, methodName);
78
- // if (cacheMetadata) {
79
- // return cacheMetadata;
80
- // }
81
- const metadata = this.contextUtils.reflectCallbackMetadata(instance, methodName, metadataKey || "") || {};
82
- const keys = Object.keys(metadata);
83
- const argsLength = this.contextUtils.getArgumentsLength(keys, metadata);
84
- const paramtypes = this.contextUtils.reflectCallbackParamtypes(instance, methodName);
85
- const contextFactory = this.contextUtils.getContextFactory(contextType, instance, instance[methodName]);
86
- const getParamsMetadata = (moduleKey, contextId = constants_1.STATIC_CONTEXT, inquirerId) => paramsFactory
87
- ? this.exchangeKeysForValues(keys, metadata, moduleKey, paramsFactory, contextId, inquirerId, contextFactory)
88
- : null;
89
- const handlerMetadata = {
90
- argsLength,
91
- paramtypes,
92
- getParamsMetadata,
93
- };
94
- // this.handlerMetadataStorage.set(instance, methodName, handlerMetadata);
95
- return handlerMetadata;
96
- }
97
- getContextModuleKey(moduleCtor) {
98
- const emptyModuleKey = "";
99
- if (!moduleCtor)
100
- return emptyModuleKey;
101
- const moduleContainerEntries = this.modulesContainer.entries();
102
- for (const [key, moduleRef] of moduleContainerEntries) {
103
- // REFACTOR
104
- if (moduleRef.hasProvider && moduleRef.hasProvider(moduleCtor))
105
- return key;
106
- }
107
- return emptyModuleKey;
108
- }
109
- exchangeKeysForValues(keys, metadata, moduleContext, paramsFactory, contextId = constants_1.STATIC_CONTEXT, inquirerId, contextFactory = this.contextUtils.getContextFactory("http")) {
110
- this.pipesContextCreator.setModuleContext(moduleContext);
111
- return keys.map((key) => {
112
- const { index, data, pipes: pipesCollection } = metadata[key];
113
- const pipes = this.pipesContextCreator.createConcreteContext(pipesCollection, contextId, inquirerId);
114
- const type = this.contextUtils.mapParamType(key);
115
- if (key.includes(constants_2.CUSTOM_ROUTE_ARGS_METADATA)) {
116
- const { factory } = metadata[key];
117
- const customExtractValue = this.contextUtils.getCustomFactory(factory, data, contextFactory);
118
- return { index, extractValue: customExtractValue, type, data, pipes };
119
- }
120
- const numericType = Number(type);
121
- const extractValue = (...args) => paramsFactory.exchangeKeyForValue(numericType, data, args);
122
- return { index, extractValue, type: numericType, data, pipes };
123
- });
124
- }
125
- createPipesFn(pipes, paramsOptions) {
126
- const pipesFn = async (args, ...params) => {
127
- const resolveParamValue = async (param) => {
128
- const { index, extractValue, type, data, metatype, pipes: paramPipes } = param;
129
- const value = extractValue(...params);
130
- args[index] = await this.getParamValue(value, { metatype, type, data }, pipes.concat(paramPipes));
131
- };
132
- await Promise.all(paramsOptions.map(resolveParamValue));
133
- };
134
- return paramsOptions.length ? pipesFn : null;
135
- }
136
- async getParamValue(value, { metatype, type, data }, pipes) {
137
- return (0, shared_helper_1.isEmpty)(pipes) ? value : this.pipesConsumer.apply(value, { metatype, type, data }, pipes);
138
- }
139
- async transformToResult(resultOrDeferred) {
140
- if ((0, rxjs_1.isObservable)(resultOrDeferred))
141
- return (0, rxjs_1.lastValueFrom)(resultOrDeferred);
142
- return resultOrDeferred;
143
- }
144
- createGuardsFn(guards, instance, callback, contextType) {
145
- const canActivateFn = async (args) => {
146
- const canActivate = await this.guardsConsumer.tryActivate(guards, args, instance, callback, contextType);
147
- if (!canActivate)
148
- throw new exceptions_1.RuntimeException(constants_2.FORBIDDEN_MESSAGE);
149
- };
150
- return guards.length ? canActivateFn : null;
151
- }
152
- registerRequestProvider(request, contextId) {
153
- this.container.registerRequestProvider(request, contextId);
154
- }
155
- }
156
- exports.VenokContextCreator = VenokContextCreator;
@@ -1,9 +0,0 @@
1
- import { ContextId, InstanceWrapper } from "@venok/core/injector/instance/wrapper";
2
- export declare abstract class ContextCreator {
3
- abstract createConcreteContext<T extends any[], R extends any[]>(metadata: T, contextId?: ContextId, inquirerId?: string): R;
4
- getGlobalMetadata?<T extends any[]>(contextId?: ContextId, inquirerId?: string): T;
5
- createContext<T extends unknown[] = any, R extends unknown[] = any>(instance: object, callback: (...args: any[]) => void, metadataKey: string, contextId?: ContextId, inquirerId?: string): R;
6
- reflectClassMetadata<T>(instance: object, metadataKey: string): T;
7
- reflectMethodMetadata<T>(callback: (...args: unknown[]) => unknown, metadataKey: string): T;
8
- protected getContextId(contextId: ContextId, instanceWrapper: InstanceWrapper): ContextId;
9
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ContextCreator = void 0;
4
- const constants_1 = require("@venok/core/injector/constants");
5
- class ContextCreator {
6
- createContext(instance, callback, metadataKey, contextId = constants_1.STATIC_CONTEXT, inquirerId) {
7
- const globalMetadata = this.getGlobalMetadata && this.getGlobalMetadata(contextId, inquirerId);
8
- const classMetadata = this.reflectClassMetadata(instance, metadataKey);
9
- const methodMetadata = this.reflectMethodMetadata(callback, metadataKey);
10
- return [
11
- ...this.createConcreteContext(globalMetadata || [], contextId, inquirerId),
12
- ...this.createConcreteContext(classMetadata, contextId, inquirerId),
13
- ...this.createConcreteContext(methodMetadata, contextId, inquirerId),
14
- ];
15
- }
16
- reflectClassMetadata(instance, metadataKey) {
17
- const prototype = Object.getPrototypeOf(instance);
18
- return Reflect.getMetadata(metadataKey, prototype.constructor);
19
- }
20
- reflectMethodMetadata(callback, metadataKey) {
21
- return Reflect.getMetadata(metadataKey, callback);
22
- }
23
- getContextId(contextId, instanceWrapper) {
24
- return contextId.getParent
25
- ? contextId.getParent({
26
- token: instanceWrapper.token,
27
- isTreeDurable: instanceWrapper.isDependencyTreeDurable(),
28
- })
29
- : contextId;
30
- }
31
- }
32
- exports.ContextCreator = ContextCreator;
@@ -1,16 +0,0 @@
1
- import { Type } from "@venok/core/interfaces";
2
- import { ExecutionContext } from "@venok/core/interfaces/context/execution.interface";
3
- import { ContextType } from "@venok/core/interfaces/context/arguments-host.interface";
4
- export declare class ExecutionContextHost implements ExecutionContext {
5
- private readonly args;
6
- private readonly constructorRef;
7
- private readonly handler;
8
- private contextType;
9
- constructor(args: any[], constructorRef?: Type, handler?: Function);
10
- setType<TContext extends string = ContextType>(type: TContext): void;
11
- getType<TContext extends string = ContextType>(): TContext;
12
- getClass<T = any>(): Type<T>;
13
- getHandler(): Function;
14
- getArgs<T extends Array<any> = any[]>(): T;
15
- getArgByIndex<T = any>(index: number): T;
16
- }
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExecutionContextHost = void 0;
4
- class ExecutionContextHost {
5
- constructor(args, constructorRef = null, handler = null) {
6
- this.args = args;
7
- this.constructorRef = constructorRef;
8
- this.handler = handler;
9
- this.contextType = "native";
10
- }
11
- setType(type) {
12
- type && (this.contextType = type);
13
- }
14
- getType() {
15
- return this.contextType;
16
- }
17
- getClass() {
18
- return this.constructorRef;
19
- }
20
- getHandler() {
21
- return this.handler;
22
- }
23
- getArgs() {
24
- return this.args;
25
- }
26
- getArgByIndex(index) {
27
- return this.args[index];
28
- }
29
- }
30
- exports.ExecutionContextHost = ExecutionContextHost;
@@ -1,4 +0,0 @@
1
- export * from "./context";
2
- export * from "./creator";
3
- export * from "./execution-host";
4
- export * from "./proxy";
package/context/index.js DELETED
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./context"), exports);
18
- __exportStar(require("./creator"), exports);
19
- __exportStar(require("./execution-host"), exports);
20
- __exportStar(require("./proxy"), exports);
@@ -1,6 +0,0 @@
1
- import { ContextType } from "@venok/core/interfaces";
2
- import { VenokExceptionsHandler } from "@venok/core/exceptions/handler";
3
- export declare class VenokProxy {
4
- createProxy<TContext extends string = ContextType>(targetCallback: (...args: any[]) => any, exceptionsHandler: VenokExceptionsHandler, type?: TContext): (...args: any[]) => Promise<any>;
5
- createExceptionLayerProxy<TContext extends string = ContextType>(targetCallback: <TError>(err: TError, ...args: any[]) => void, exceptionsHandler: VenokExceptionsHandler, type?: TContext): <TError>(err: TError, ...args: any[]) => Promise<any[] | undefined>;
6
- }
package/context/proxy.js DELETED
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VenokProxy = void 0;
4
- const execution_host_1 = require("@venok/core/context/execution-host");
5
- class VenokProxy {
6
- createProxy(targetCallback, exceptionsHandler, type) {
7
- return async (...args) => {
8
- try {
9
- return await targetCallback(...args);
10
- }
11
- catch (e) {
12
- const host = new execution_host_1.ExecutionContextHost(args);
13
- host.setType(type);
14
- exceptionsHandler.next(e, host);
15
- return args;
16
- }
17
- };
18
- }
19
- createExceptionLayerProxy(targetCallback, exceptionsHandler, type) {
20
- return async (err, ...args) => {
21
- try {
22
- await targetCallback(err, ...args);
23
- }
24
- catch (e) {
25
- const host = new execution_host_1.ExecutionContextHost(args);
26
- host.setType(type);
27
- exceptionsHandler.next(e, host);
28
- return args;
29
- }
30
- };
31
- }
32
- }
33
- exports.VenokProxy = VenokProxy;
@@ -1,10 +0,0 @@
1
- /**
2
- * Function that returns a new decorator that applies all decorators provided by param
3
- *
4
- * Useful to build new decorators (or a decorator factory) encapsulating multiple decorators related with the same feature
5
- *
6
- * @param decorators one or more decorators (e.g., `ApplyGuard(...)`)
7
- *
8
- * @publicApi
9
- */
10
- export declare function applyDecorators(...decorators: Array<ClassDecorator | MethodDecorator | PropertyDecorator>): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyDecorators = void 0;
4
- /**
5
- * Function that returns a new decorator that applies all decorators provided by param
6
- *
7
- * Useful to build new decorators (or a decorator factory) encapsulating multiple decorators related with the same feature
8
- *
9
- * @param decorators one or more decorators (e.g., `ApplyGuard(...)`)
10
- *
11
- * @publicApi
12
- */
13
- function applyDecorators(...decorators) {
14
- return (target, propertyKey, descriptor) => {
15
- for (const decorator of decorators) {
16
- if (target instanceof Function && !descriptor) {
17
- decorator(target);
18
- continue;
19
- }
20
- decorator(target, propertyKey, descriptor);
21
- }
22
- };
23
- }
24
- exports.applyDecorators = applyDecorators;
@@ -1,11 +0,0 @@
1
- /**
2
- * Decorator that binds *parameter decorators* to the method that follows.
3
- *
4
- * Useful when the language doesn't provide a 'Parameter Decorator' feature
5
- * (i.e., vanilla JavaScript).
6
- *
7
- * @param decorators one or more parameter decorators (e.g., `Req()`)
8
- *
9
- * @publicApi
10
- */
11
- export declare function Bind(...decorators: any[]): MethodDecorator;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Bind = void 0;
4
- /**
5
- * Decorator that binds *parameter decorators* to the method that follows.
6
- *
7
- * Useful when the language doesn't provide a 'Parameter Decorator' feature
8
- * (i.e., vanilla JavaScript).
9
- *
10
- * @param decorators one or more parameter decorators (e.g., `Req()`)
11
- *
12
- * @publicApi
13
- */
14
- function Bind(...decorators) {
15
- return (target, key, descriptor) => {
16
- decorators.forEach((fn, index) => fn(target, key, index));
17
- return descriptor;
18
- };
19
- }
20
- exports.Bind = Bind;
@@ -1,17 +0,0 @@
1
- import { Abstract, Type } from "@venok/core/interfaces";
2
- /**
3
- * Decorator that marks a class as a Venok exception filter. An exception filter
4
- * handles exceptions thrown by or not handled by your application code.
5
- *
6
- * The decorated class must implement the `ExceptionFilter` interface.
7
- *
8
- * @param exceptions one or more exception *types* specifying
9
- * the exceptions to be caught and handled by this filter.
10
- *
11
- * @usageNotes
12
- * Exception filters are applied using the `@UseFilters()` decorator, or (globally)
13
- * with `app.useGlobalFilters()`.
14
- *
15
- * @publicApi
16
- */
17
- export declare function Catch(...exceptions: Array<Type | Abstract<any>>): ClassDecorator;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Catch = void 0;
4
- const constants_1 = require("@venok/core/constants");
5
- /**
6
- * Decorator that marks a class as a Venok exception filter. An exception filter
7
- * handles exceptions thrown by or not handled by your application code.
8
- *
9
- * The decorated class must implement the `ExceptionFilter` interface.
10
- *
11
- * @param exceptions one or more exception *types* specifying
12
- * the exceptions to be caught and handled by this filter.
13
- *
14
- * @usageNotes
15
- * Exception filters are applied using the `@UseFilters()` decorator, or (globally)
16
- * with `app.useGlobalFilters()`.
17
- *
18
- * @publicApi
19
- */
20
- function Catch(...exceptions) {
21
- return (target) => {
22
- Reflect.defineMetadata(constants_1.CATCH_WATERMARK, true, target);
23
- Reflect.defineMetadata(constants_1.FILTER_CATCH_EXCEPTIONS, exceptions, target);
24
- };
25
- }
26
- exports.Catch = Catch;
@@ -1,29 +0,0 @@
1
- import { Type } from "@venok/core/interfaces";
2
- import { PipeTransform } from "@venok/core/interfaces/features/pipes.interface";
3
- export type ParamDecoratorEnhancer = ParameterDecorator;
4
- /**
5
- * @publicApi
6
- */
7
- export type CustomParamFactory<TData = any, TInput = any, TOutput = any> = (data: TData, input: TInput) => TOutput;
8
- export type ParamData = object | string | number;
9
- export interface RouteParamMetadata {
10
- index: number;
11
- data?: ParamData;
12
- }
13
- export declare function assignMetadata<TParamtype = any, TArgs = any>(args: TArgs, paramtype: TParamtype, index: number, data?: ParamData, ...pipes: (Type<PipeTransform> | PipeTransform)[]): TArgs & {
14
- [x: string]: {
15
- index: number;
16
- data: ParamData | undefined;
17
- pipes: (PipeTransform<any, any> | Type<PipeTransform<any, any>>)[];
18
- };
19
- };
20
- export declare function assignCustomParameterMetadata(args: Record<number, any>, paramtype: number | string, index: number, factory: CustomParamFactory, data?: ParamData, ...pipes: (Type<PipeTransform> | PipeTransform)[]): {};
21
- /**
22
- * Defines HTTP route param decorator
23
- *
24
- * @param factory
25
- *
26
- * @param enhancers
27
- * @publicApi
28
- */
29
- export declare function createParamDecorator<FactoryData = any, FactoryInput = any, FactoryOutput = any>(factory: CustomParamFactory<FactoryData, FactoryInput, FactoryOutput>, enhancers?: ParamDecoratorEnhancer[]): (...dataOrPipes: (Type<PipeTransform> | PipeTransform | FactoryData)[]) => ParameterDecorator;
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createParamDecorator = exports.assignCustomParameterMetadata = exports.assignMetadata = void 0;
4
- const uid_1 = require("uid");
5
- const constants_1 = require("@venok/core/constants");
6
- const shared_helper_1 = require("@venok/core/helpers/shared.helper");
7
- function assignMetadata(args, paramtype, index, data, ...pipes) {
8
- return {
9
- ...args,
10
- [`${paramtype}:${index}`]: {
11
- index,
12
- data,
13
- pipes,
14
- },
15
- };
16
- }
17
- exports.assignMetadata = assignMetadata;
18
- function assignCustomParameterMetadata(args, paramtype, index, factory, data, ...pipes) {
19
- return {
20
- ...args,
21
- [`${paramtype}${constants_1.CUSTOM_ROUTE_ARGS_METADATA}:${index}`]: {
22
- index,
23
- factory,
24
- data,
25
- pipes,
26
- },
27
- };
28
- }
29
- exports.assignCustomParameterMetadata = assignCustomParameterMetadata;
30
- /**
31
- * Defines HTTP route param decorator
32
- *
33
- * @param factory
34
- *
35
- * @param enhancers
36
- * @publicApi
37
- */
38
- function createParamDecorator(factory, enhancers = []) {
39
- const paramtype = (0, uid_1.uid)(21);
40
- return (data, ...pipes) => (target, key, index) => {
41
- const args = Reflect.getMetadata(constants_1.ROUTE_ARGS_METADATA, target.constructor, key) || {};
42
- const isPipe = (pipe) => pipe &&
43
- (((0, shared_helper_1.isFunction)(pipe) && pipe.prototype && (0, shared_helper_1.isFunction)(pipe.prototype.transform)) || (0, shared_helper_1.isFunction)(pipe.transform));
44
- const hasParamData = (0, shared_helper_1.isNull)(data) || !isPipe(data);
45
- const paramData = hasParamData ? data : undefined;
46
- const paramPipes = hasParamData ? pipes : [data, ...pipes];
47
- Reflect.defineMetadata(constants_1.ROUTE_ARGS_METADATA, assignCustomParameterMetadata(args, paramtype, index, factory, paramData, ...paramPipes), target.constructor, key);
48
- enhancers.forEach((fn) => fn(target, key, index));
49
- };
50
- }
51
- exports.createParamDecorator = createParamDecorator;
@@ -1,6 +0,0 @@
1
- /**
2
- * Decorator that sets required dependencies (required with a vanilla JavaScript objects)
3
- *
4
- * @publicApi
5
- */
6
- export declare const Dependencies: (...dependencies: Array<unknown>) => ClassDecorator;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Dependencies = void 0;
4
- const constants_1 = require("@venok/core/constants");
5
- const flatten_helper_1 = require("@venok/core/helpers/flatten.helper");
6
- /**
7
- * Decorator that sets required dependencies (required with a vanilla JavaScript objects)
8
- *
9
- * @publicApi
10
- */
11
- const Dependencies = (...dependencies) => {
12
- const flattenDeps = (0, flatten_helper_1.flatten)(dependencies);
13
- return (target) => {
14
- Reflect.defineMetadata(constants_1.PARAMTYPES_METADATA, flattenDeps, target);
15
- };
16
- };
17
- exports.Dependencies = Dependencies;
@@ -1,21 +0,0 @@
1
- import { ExceptionFilter } from "@venok/core/interfaces/features/exception-filter.interface";
2
- /**
3
- * Decorator that binds exception filters to the scope of the controller or
4
- * method, depending on its context.
5
- *
6
- * When `@UseFilters` is used at the provider level, the filter will be
7
- * applied to every handler (method) in the provider.
8
- *
9
- * When `@UseFilters` is used at the individual handler level, the filter
10
- * will apply only to that specific method.
11
- *
12
- * @param filters exception filter instance or class, or a list of exception
13
- * filter instances or classes.
14
- *
15
- * @usageNotes
16
- * Exception filters can also be set up globally for all controllers and routes
17
- * using `app.useGlobalFilters()`.
18
- *
19
- * @publicApi
20
- */
21
- export declare const UseFilters: (...filters: (ExceptionFilter | Function)[]) => MethodDecorator & ClassDecorator;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UseFilters = void 0;
4
- const shared_helper_1 = require("@venok/core/helpers/shared.helper");
5
- const constants_1 = require("@venok/core/constants");
6
- const validate_each_helper_1 = require("@venok/core/helpers/validate-each.helper");
7
- const extends_metadata_helper_1 = require("@venok/core/helpers/extends-metadata.helper");
8
- /**
9
- * Decorator that binds exception filters to the scope of the controller or
10
- * method, depending on its context.
11
- *
12
- * When `@UseFilters` is used at the provider level, the filter will be
13
- * applied to every handler (method) in the provider.
14
- *
15
- * When `@UseFilters` is used at the individual handler level, the filter
16
- * will apply only to that specific method.
17
- *
18
- * @param filters exception filter instance or class, or a list of exception
19
- * filter instances or classes.
20
- *
21
- * @usageNotes
22
- * Exception filters can also be set up globally for all controllers and routes
23
- * using `app.useGlobalFilters()`.
24
- *
25
- * @publicApi
26
- */
27
- const UseFilters = (...filters) => addExceptionFiltersMetadata(...filters);
28
- exports.UseFilters = UseFilters;
29
- function addExceptionFiltersMetadata(...filters) {
30
- return (target, key, descriptor) => {
31
- const isFilterValid = (filter) => filter && ((0, shared_helper_1.isFunction)(filter) || (0, shared_helper_1.isFunction)(filter.catch));
32
- if (descriptor) {
33
- (0, validate_each_helper_1.validateEach)(target.constructor, filters, isFilterValid, "@UseFilters", "filter");
34
- (0, extends_metadata_helper_1.extendArrayMetadata)(constants_1.EXCEPTION_FILTERS_METADATA, filters, descriptor.value);
35
- return descriptor;
36
- }
37
- (0, validate_each_helper_1.validateEach)(target, filters, isFilterValid, "@UseFilters", "filter");
38
- (0, extends_metadata_helper_1.extendArrayMetadata)(constants_1.EXCEPTION_FILTERS_METADATA, filters, target);
39
- return target;
40
- };
41
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Decorator that makes a module global-scoped.
3
- *
4
- * Once imported into any module, a global-scoped module will be visible
5
- * in all modules. Thereafter, modules that wish to inject a service exported
6
- * from a global module do not need to import the provider module.
7
- *
8
- * @publicApi
9
- */
10
- export declare function Global(): ClassDecorator;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Global = void 0;
4
- const constants_1 = require("@venok/core/constants");
5
- /**
6
- * Decorator that makes a module global-scoped.
7
- *
8
- * Once imported into any module, a global-scoped module will be visible
9
- * in all modules. Thereafter, modules that wish to inject a service exported
10
- * from a global module do not need to import the provider module.
11
- *
12
- * @publicApi
13
- */
14
- function Global() {
15
- return (target) => {
16
- Reflect.defineMetadata(constants_1.GLOBAL_MODULE_METADATA, true, target);
17
- };
18
- }
19
- exports.Global = Global;
@@ -1,15 +0,0 @@
1
- export * from "./apply.decorator";
2
- export * from "./bind.decorator";
3
- export * from "./catch.decorator";
4
- export * from "./create-param.decorator";
5
- export * from "./dependencies.decorator";
6
- export * from "./exception-filters.decorator";
7
- export * from "./global.decorator";
8
- export * from "./inject.decorator";
9
- export * from "./injectable.decorator";
10
- export * from "./module.decorator";
11
- export * from "./optional.decorator";
12
- export * from "./set-metadata.decorator";
13
- export * from "./use-guards.decorator";
14
- export * from "./use-pipes.decorator";
15
- export * from "./use-interceptors.decorator";