@expressots/adapter-express 3.0.0-beta.4.2 → 4.0.0-preview.1

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 (239) hide show
  1. package/README.md +39 -96
  2. package/lib/CHANGELOG.md +43 -0
  3. package/lib/README.md +39 -96
  4. package/lib/cjs/adapter-express/application-express.base.js +3 -1
  5. package/lib/cjs/adapter-express/application-express.js +1049 -85
  6. package/lib/cjs/adapter-express/express-utils/conditional-middleware.js +102 -0
  7. package/lib/cjs/adapter-express/express-utils/constants.js +17 -0
  8. package/lib/cjs/adapter-express/express-utils/content-negotiation-decorators.js +129 -0
  9. package/lib/cjs/adapter-express/express-utils/decorators.js +186 -49
  10. package/lib/cjs/adapter-express/express-utils/exception-filter-decorators.js +11 -0
  11. package/lib/cjs/adapter-express/express-utils/guard-context-factory.js +84 -0
  12. package/lib/cjs/adapter-express/express-utils/guard-middleware.js +115 -0
  13. package/lib/cjs/adapter-express/express-utils/guard-utils.js +18 -0
  14. package/lib/cjs/adapter-express/express-utils/http-context-store.js +15 -0
  15. package/lib/cjs/adapter-express/express-utils/http-status-middleware.js +37 -2
  16. package/lib/cjs/adapter-express/express-utils/index.js +67 -1
  17. package/lib/cjs/adapter-express/express-utils/interceptor-middleware.js +132 -0
  18. package/lib/cjs/adapter-express/express-utils/inversify-express-server.js +810 -63
  19. package/lib/cjs/adapter-express/express-utils/lazy-module-middleware.js +241 -0
  20. package/lib/cjs/adapter-express/express-utils/middleware-composition.js +95 -0
  21. package/lib/cjs/adapter-express/express-utils/permission-preloader.middleware.js +48 -0
  22. package/lib/cjs/adapter-express/express-utils/route-constraints.js +95 -0
  23. package/lib/cjs/adapter-express/express-utils/scope-extractor.interface.js +2 -0
  24. package/lib/cjs/adapter-express/express-utils/scope-extractor.js +66 -0
  25. package/lib/cjs/adapter-express/express-utils/setup-authorization.js +71 -0
  26. package/lib/cjs/adapter-express/express-utils/setup-event-system.js +113 -0
  27. package/lib/cjs/adapter-express/express-utils/setup-interceptors.js +103 -0
  28. package/lib/cjs/adapter-express/express-utils/setup-lazy-loading.js +228 -0
  29. package/lib/cjs/adapter-express/express-utils/utils.js +30 -12
  30. package/lib/cjs/adapter-express/express-utils/validation-decorators.js +205 -0
  31. package/lib/cjs/adapter-express/express-utils/validation-service.js +252 -0
  32. package/lib/cjs/adapter-express/index.js +7 -5
  33. package/lib/cjs/adapter-express/micro-api/application-express-micro-route.js +31 -1
  34. package/lib/cjs/adapter-express/micro-api/application-express-micro.js +11 -37
  35. package/lib/cjs/adapter-express/micro-api/gateway/circuit-breaker.js +174 -0
  36. package/lib/cjs/adapter-express/micro-api/gateway/index.js +11 -0
  37. package/lib/cjs/adapter-express/micro-api/gateway/service-proxy.js +214 -0
  38. package/lib/cjs/adapter-express/micro-api/index.js +27 -3
  39. package/lib/cjs/adapter-express/micro-api/micro.js +217 -0
  40. package/lib/cjs/adapter-express/micro-api/queue/index.js +8 -0
  41. package/lib/cjs/adapter-express/micro-api/queue/queue.interface.js +2 -0
  42. package/lib/cjs/adapter-express/micro-api/queue/rabbitmq-consumer.js +255 -0
  43. package/lib/cjs/adapter-express/micro-api/serverless/aws-lambda.adapter.js +183 -0
  44. package/lib/cjs/adapter-express/micro-api/serverless/cloudflare.adapter.js +158 -0
  45. package/lib/cjs/adapter-express/micro-api/serverless/index.js +12 -0
  46. package/lib/cjs/adapter-express/micro-api/serverless/vercel.adapter.js +102 -0
  47. package/lib/cjs/adapter-express/micro-api/service-mesh/index.js +10 -0
  48. package/lib/cjs/adapter-express/micro-api/service-mesh/service-client.js +194 -0
  49. package/lib/cjs/adapter-express/micro-api/service-mesh/service-discovery.js +261 -0
  50. package/lib/cjs/adapter-express/middleware/index.js +21 -0
  51. package/lib/cjs/adapter-express/middleware/request-logging.middleware.js +244 -0
  52. package/lib/cjs/adapter-express/render/engine.js +15 -15
  53. package/lib/cjs/adapter-express/render/index.js +5 -0
  54. package/lib/cjs/adapter-express/studio/index.js +9 -0
  55. package/lib/cjs/adapter-express/studio/studio-integration.js +214 -0
  56. package/lib/cjs/index.js +1 -1
  57. package/lib/cjs/types/adapter-express/application-express.base.d.ts +20 -7
  58. package/lib/cjs/types/adapter-express/application-express.d.ts +273 -32
  59. package/lib/cjs/types/adapter-express/express-utils/base-middleware.d.ts +2 -2
  60. package/lib/cjs/types/adapter-express/express-utils/conditional-middleware.d.ts +97 -0
  61. package/lib/cjs/types/adapter-express/express-utils/constants.d.ts +13 -0
  62. package/lib/cjs/types/adapter-express/express-utils/content-negotiation-decorators.d.ts +94 -0
  63. package/lib/cjs/types/adapter-express/express-utils/decorators.d.ts +54 -6
  64. package/lib/cjs/types/adapter-express/express-utils/exception-filter-decorators.d.ts +6 -0
  65. package/lib/cjs/types/adapter-express/express-utils/guard-context-factory.d.ts +17 -0
  66. package/lib/cjs/types/adapter-express/express-utils/guard-middleware.d.ts +22 -0
  67. package/lib/cjs/types/adapter-express/express-utils/guard-utils.d.ts +11 -0
  68. package/lib/cjs/types/adapter-express/express-utils/http-context-store.d.ts +20 -0
  69. package/lib/cjs/types/adapter-express/express-utils/httpResponseMessage.d.ts +1 -1
  70. package/lib/cjs/types/adapter-express/express-utils/index.d.ts +30 -2
  71. package/lib/cjs/types/adapter-express/express-utils/interceptor-middleware.d.ts +40 -0
  72. package/lib/cjs/types/adapter-express/express-utils/interfaces.d.ts +42 -5
  73. package/lib/cjs/types/adapter-express/express-utils/inversify-express-server.d.ts +114 -2
  74. package/lib/cjs/types/adapter-express/express-utils/lazy-module-middleware.d.ts +122 -0
  75. package/lib/cjs/types/adapter-express/express-utils/middleware-composition.d.ts +85 -0
  76. package/lib/cjs/types/adapter-express/express-utils/permission-preloader.middleware.d.ts +10 -0
  77. package/lib/cjs/types/adapter-express/express-utils/route-constraints.d.ts +89 -0
  78. package/lib/cjs/types/adapter-express/express-utils/scope-extractor.d.ts +21 -0
  79. package/lib/cjs/types/adapter-express/express-utils/scope-extractor.interface.d.ts +12 -0
  80. package/lib/cjs/types/adapter-express/express-utils/setup-authorization.d.ts +34 -0
  81. package/lib/cjs/types/adapter-express/express-utils/setup-event-system.d.ts +118 -0
  82. package/lib/cjs/types/adapter-express/express-utils/setup-interceptors.d.ts +115 -0
  83. package/lib/cjs/types/adapter-express/express-utils/setup-lazy-loading.d.ts +123 -0
  84. package/lib/cjs/types/adapter-express/express-utils/utils.d.ts +17 -2
  85. package/lib/cjs/types/adapter-express/express-utils/validation-decorators.d.ts +145 -0
  86. package/lib/cjs/types/adapter-express/express-utils/validation-service.d.ts +88 -0
  87. package/lib/cjs/types/adapter-express/index.d.ts +6 -4
  88. package/lib/cjs/types/adapter-express/micro-api/application-express-micro-route.d.ts +25 -14
  89. package/lib/cjs/types/adapter-express/micro-api/application-express-micro.d.ts +3 -10
  90. package/lib/cjs/types/adapter-express/micro-api/gateway/circuit-breaker.d.ts +111 -0
  91. package/lib/cjs/types/adapter-express/micro-api/gateway/index.d.ts +5 -0
  92. package/lib/cjs/types/adapter-express/micro-api/gateway/service-proxy.d.ts +83 -0
  93. package/lib/cjs/types/adapter-express/micro-api/index.d.ts +7 -1
  94. package/lib/cjs/types/adapter-express/micro-api/micro.d.ts +66 -0
  95. package/lib/cjs/types/adapter-express/micro-api/queue/index.d.ts +5 -0
  96. package/lib/cjs/types/adapter-express/micro-api/queue/queue.interface.d.ts +60 -0
  97. package/lib/cjs/types/adapter-express/micro-api/queue/rabbitmq-consumer.d.ts +86 -0
  98. package/lib/cjs/types/adapter-express/micro-api/serverless/aws-lambda.adapter.d.ts +77 -0
  99. package/lib/cjs/types/adapter-express/micro-api/serverless/cloudflare.adapter.d.ts +64 -0
  100. package/lib/cjs/types/adapter-express/micro-api/serverless/index.d.ts +6 -0
  101. package/lib/cjs/types/adapter-express/micro-api/serverless/vercel.adapter.d.ts +56 -0
  102. package/lib/cjs/types/adapter-express/micro-api/service-mesh/index.d.ts +5 -0
  103. package/lib/cjs/types/adapter-express/micro-api/service-mesh/service-client.d.ts +122 -0
  104. package/lib/cjs/types/adapter-express/micro-api/service-mesh/service-discovery.d.ts +150 -0
  105. package/lib/cjs/types/adapter-express/middleware/index.d.ts +5 -0
  106. package/lib/cjs/types/adapter-express/middleware/request-logging.middleware.d.ts +65 -0
  107. package/lib/cjs/types/adapter-express/render/index.d.ts +1 -0
  108. package/lib/cjs/types/adapter-express/studio/index.d.ts +1 -0
  109. package/lib/cjs/types/adapter-express/studio/studio-integration.d.ts +92 -0
  110. package/lib/cjs/types/index.d.ts +1 -1
  111. package/lib/esm/adapter-express/application-express.base.js +24 -0
  112. package/lib/esm/adapter-express/application-express.js +1300 -0
  113. package/lib/esm/adapter-express/application-express.types.js +1 -0
  114. package/lib/esm/adapter-express/express-utils/base-middleware.js +19 -0
  115. package/lib/esm/adapter-express/express-utils/conditional-middleware.js +96 -0
  116. package/lib/esm/adapter-express/express-utils/constants.js +63 -0
  117. package/lib/esm/adapter-express/express-utils/content/httpContent.js +6 -0
  118. package/lib/esm/adapter-express/express-utils/content-negotiation-decorators.js +120 -0
  119. package/lib/esm/adapter-express/express-utils/decorators.js +575 -0
  120. package/lib/esm/adapter-express/express-utils/exception-filter-decorators.js +6 -0
  121. package/lib/esm/adapter-express/express-utils/guard-context-factory.js +83 -0
  122. package/lib/esm/adapter-express/express-utils/guard-middleware.js +115 -0
  123. package/lib/esm/adapter-express/express-utils/guard-utils.js +14 -0
  124. package/lib/esm/adapter-express/express-utils/http-context-store.js +10 -0
  125. package/lib/esm/adapter-express/express-utils/http-status-middleware.js +116 -0
  126. package/lib/esm/adapter-express/express-utils/httpResponseMessage.js +29 -0
  127. package/lib/esm/adapter-express/express-utils/index.js +24 -0
  128. package/lib/esm/adapter-express/express-utils/interceptor-middleware.js +130 -0
  129. package/lib/esm/adapter-express/express-utils/interfaces.js +1 -0
  130. package/lib/esm/adapter-express/express-utils/inversify-express-server.js +1031 -0
  131. package/lib/esm/adapter-express/express-utils/lazy-module-middleware.js +236 -0
  132. package/lib/esm/adapter-express/express-utils/middleware-composition.js +89 -0
  133. package/lib/esm/adapter-express/express-utils/permission-preloader.middleware.js +45 -0
  134. package/lib/esm/adapter-express/express-utils/resolver-multer.js +30 -0
  135. package/lib/esm/adapter-express/express-utils/route-constraints.js +91 -0
  136. package/lib/esm/adapter-express/express-utils/scope-extractor.interface.js +1 -0
  137. package/lib/esm/adapter-express/express-utils/scope-extractor.js +63 -0
  138. package/lib/esm/adapter-express/express-utils/setup-authorization.js +68 -0
  139. package/lib/esm/adapter-express/express-utils/setup-event-system.js +110 -0
  140. package/lib/esm/adapter-express/express-utils/setup-interceptors.js +100 -0
  141. package/lib/esm/adapter-express/express-utils/setup-lazy-loading.js +225 -0
  142. package/lib/esm/adapter-express/express-utils/utils.js +68 -0
  143. package/lib/esm/adapter-express/express-utils/validation-decorators.js +199 -0
  144. package/lib/esm/adapter-express/express-utils/validation-service.js +251 -0
  145. package/lib/esm/adapter-express/index.js +7 -0
  146. package/lib/esm/adapter-express/micro-api/application-express-micro-container.js +48 -0
  147. package/lib/esm/adapter-express/micro-api/application-express-micro-route.js +128 -0
  148. package/lib/esm/adapter-express/micro-api/application-express-micro.js +161 -0
  149. package/lib/esm/adapter-express/micro-api/gateway/circuit-breaker.js +174 -0
  150. package/lib/esm/adapter-express/micro-api/gateway/index.js +5 -0
  151. package/lib/esm/adapter-express/micro-api/gateway/service-proxy.js +210 -0
  152. package/lib/esm/adapter-express/micro-api/index.js +10 -0
  153. package/lib/esm/adapter-express/micro-api/micro.js +211 -0
  154. package/lib/esm/adapter-express/micro-api/queue/index.js +4 -0
  155. package/lib/esm/adapter-express/micro-api/queue/queue.interface.js +1 -0
  156. package/lib/esm/adapter-express/micro-api/queue/rabbitmq-consumer.js +229 -0
  157. package/lib/esm/adapter-express/micro-api/serverless/aws-lambda.adapter.js +180 -0
  158. package/lib/esm/adapter-express/micro-api/serverless/cloudflare.adapter.js +155 -0
  159. package/lib/esm/adapter-express/micro-api/serverless/index.js +6 -0
  160. package/lib/esm/adapter-express/micro-api/serverless/vercel.adapter.js +99 -0
  161. package/lib/esm/adapter-express/micro-api/service-mesh/index.js +5 -0
  162. package/lib/esm/adapter-express/micro-api/service-mesh/service-client.js +191 -0
  163. package/lib/esm/adapter-express/micro-api/service-mesh/service-discovery.js +259 -0
  164. package/lib/esm/adapter-express/middleware/index.js +5 -0
  165. package/lib/esm/adapter-express/middleware/request-logging.middleware.js +239 -0
  166. package/lib/esm/adapter-express/render/constants.js +37 -0
  167. package/lib/esm/adapter-express/render/engine.js +51 -0
  168. package/lib/esm/adapter-express/render/index.js +1 -0
  169. package/lib/esm/adapter-express/render/resolve-render.js +30 -0
  170. package/lib/esm/adapter-express/studio/index.js +1 -0
  171. package/lib/esm/adapter-express/studio/studio-integration.js +184 -0
  172. package/lib/esm/index.mjs +1 -0
  173. package/lib/esm/package.json +3 -0
  174. package/lib/esm/types/adapter-express/application-express.base.d.ts +77 -0
  175. package/lib/esm/types/adapter-express/application-express.d.ts +411 -0
  176. package/lib/esm/types/adapter-express/application-express.types.d.ts +23 -0
  177. package/lib/esm/types/adapter-express/express-utils/base-middleware.d.ts +8 -0
  178. package/lib/esm/types/adapter-express/express-utils/conditional-middleware.d.ts +97 -0
  179. package/lib/esm/types/adapter-express/express-utils/constants.d.ts +57 -0
  180. package/lib/esm/types/adapter-express/express-utils/content/httpContent.d.ts +6 -0
  181. package/lib/esm/types/adapter-express/express-utils/content-negotiation-decorators.d.ts +94 -0
  182. package/lib/esm/types/adapter-express/express-utils/decorators.d.ts +257 -0
  183. package/lib/esm/types/adapter-express/express-utils/exception-filter-decorators.d.ts +6 -0
  184. package/lib/esm/types/adapter-express/express-utils/guard-context-factory.d.ts +17 -0
  185. package/lib/esm/types/adapter-express/express-utils/guard-middleware.d.ts +22 -0
  186. package/lib/esm/types/adapter-express/express-utils/guard-utils.d.ts +11 -0
  187. package/lib/esm/types/adapter-express/express-utils/http-context-store.d.ts +20 -0
  188. package/lib/esm/types/adapter-express/express-utils/http-status-middleware.d.ts +26 -0
  189. package/lib/esm/types/adapter-express/express-utils/httpResponseMessage.d.ts +14 -0
  190. package/lib/esm/types/adapter-express/express-utils/index.d.ts +30 -0
  191. package/lib/esm/types/adapter-express/express-utils/interceptor-middleware.d.ts +40 -0
  192. package/lib/esm/types/adapter-express/express-utils/interfaces.d.ts +115 -0
  193. package/lib/esm/types/adapter-express/express-utils/inversify-express-server.d.ts +172 -0
  194. package/lib/esm/types/adapter-express/express-utils/lazy-module-middleware.d.ts +122 -0
  195. package/lib/esm/types/adapter-express/express-utils/middleware-composition.d.ts +85 -0
  196. package/lib/esm/types/adapter-express/express-utils/permission-preloader.middleware.d.ts +10 -0
  197. package/lib/esm/types/adapter-express/express-utils/resolver-multer.d.ts +7 -0
  198. package/lib/esm/types/adapter-express/express-utils/route-constraints.d.ts +89 -0
  199. package/lib/esm/types/adapter-express/express-utils/scope-extractor.d.ts +21 -0
  200. package/lib/esm/types/adapter-express/express-utils/scope-extractor.interface.d.ts +12 -0
  201. package/lib/esm/types/adapter-express/express-utils/setup-authorization.d.ts +34 -0
  202. package/lib/esm/types/adapter-express/express-utils/setup-event-system.d.ts +118 -0
  203. package/lib/esm/types/adapter-express/express-utils/setup-interceptors.d.ts +115 -0
  204. package/lib/esm/types/adapter-express/express-utils/setup-lazy-loading.d.ts +123 -0
  205. package/lib/esm/types/adapter-express/express-utils/utils.d.ts +24 -0
  206. package/lib/esm/types/adapter-express/express-utils/validation-decorators.d.ts +145 -0
  207. package/lib/esm/types/adapter-express/express-utils/validation-service.d.ts +88 -0
  208. package/lib/esm/types/adapter-express/index.d.ts +7 -0
  209. package/lib/esm/types/adapter-express/micro-api/application-express-micro-container.d.ts +47 -0
  210. package/lib/esm/types/adapter-express/micro-api/application-express-micro-route.d.ts +104 -0
  211. package/lib/esm/types/adapter-express/micro-api/application-express-micro.d.ts +72 -0
  212. package/lib/esm/types/adapter-express/micro-api/gateway/circuit-breaker.d.ts +111 -0
  213. package/lib/esm/types/adapter-express/micro-api/gateway/index.d.ts +5 -0
  214. package/lib/esm/types/adapter-express/micro-api/gateway/service-proxy.d.ts +83 -0
  215. package/lib/esm/types/adapter-express/micro-api/index.d.ts +7 -0
  216. package/lib/esm/types/adapter-express/micro-api/micro.d.ts +66 -0
  217. package/lib/esm/types/adapter-express/micro-api/queue/index.d.ts +5 -0
  218. package/lib/esm/types/adapter-express/micro-api/queue/queue.interface.d.ts +60 -0
  219. package/lib/esm/types/adapter-express/micro-api/queue/rabbitmq-consumer.d.ts +86 -0
  220. package/lib/esm/types/adapter-express/micro-api/serverless/aws-lambda.adapter.d.ts +77 -0
  221. package/lib/esm/types/adapter-express/micro-api/serverless/cloudflare.adapter.d.ts +64 -0
  222. package/lib/esm/types/adapter-express/micro-api/serverless/index.d.ts +6 -0
  223. package/lib/esm/types/adapter-express/micro-api/serverless/vercel.adapter.d.ts +56 -0
  224. package/lib/esm/types/adapter-express/micro-api/service-mesh/index.d.ts +5 -0
  225. package/lib/esm/types/adapter-express/micro-api/service-mesh/service-client.d.ts +122 -0
  226. package/lib/esm/types/adapter-express/micro-api/service-mesh/service-discovery.d.ts +150 -0
  227. package/lib/esm/types/adapter-express/middleware/index.d.ts +5 -0
  228. package/lib/esm/types/adapter-express/middleware/request-logging.middleware.d.ts +65 -0
  229. package/lib/esm/types/adapter-express/render/constants.d.ts +26 -0
  230. package/lib/esm/types/adapter-express/render/engine.d.ts +20 -0
  231. package/lib/esm/types/adapter-express/render/index.d.ts +5 -0
  232. package/lib/esm/types/adapter-express/render/resolve-render.d.ts +7 -0
  233. package/lib/esm/types/adapter-express/studio/index.d.ts +1 -0
  234. package/lib/esm/types/adapter-express/studio/studio-integration.d.ts +92 -0
  235. package/lib/esm/types/index.d.ts +1 -0
  236. package/lib/package.json +156 -146
  237. package/package.json +156 -146
  238. package/lib/cjs/di/di.interfaces.js +0 -10
  239. package/lib/cjs/types/di/di.interfaces.d.ts +0 -289
package/package.json CHANGED
@@ -1,146 +1,156 @@
1
- {
2
- "name": "@expressots/adapter-express",
3
- "version": "3.0.0-beta.4.2",
4
- "description": "Expressots - modern, fast, lightweight nodejs web framework (@adapter-express)",
5
- "author": "",
6
- "main": "./lib/cjs/index.js",
7
- "types": "./lib/cjs/types/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "import": {
11
- "types": "./lib/esm/types/index.d.ts",
12
- "default": "./lib/esm/index.mjs"
13
- },
14
- "require": {
15
- "types": "./lib/cjs/types/index.d.ts",
16
- "default": "./lib/cjs/index.js"
17
- }
18
- }
19
- },
20
- "files": [
21
- "lib/**/*"
22
- ],
23
- "license": "MIT",
24
- "homepage": "https://expresso-ts.com",
25
- "funding": {
26
- "type": "github",
27
- "url": "https://github.com/sponsors/expressots"
28
- },
29
- "repository": {
30
- "type": "git",
31
- "url": "https://github.com/expressots/adapter-express"
32
- },
33
- "bugs": {
34
- "url": "https://github.com/expressots/adapter-express/issues"
35
- },
36
- "publishConfig": {
37
- "access": "public"
38
- },
39
- "keywords": [
40
- "expressots",
41
- "nodejs",
42
- "microservices",
43
- "typescript",
44
- "clean-architecture",
45
- "typescript-framework",
46
- "framework",
47
- "server-side"
48
- ],
49
- "scripts": {
50
- "prepare": "husky",
51
- "clean": "node scripts/rm.js lib",
52
- "copy": "node scripts/copy.js package.json README.md CHANGELOG.md lib",
53
- "build": "npm run clean && npm run build:cjs && npm run copy",
54
- "build:cjs": "tsc -p tsconfig.cjs.json",
55
- "release": "release-it",
56
- "prepublish": "npm run build && npm pack",
57
- "test": "jest",
58
- "test:watch": "jest --watch",
59
- "coverage": "jest --coverage",
60
- "format": "prettier --write \"src/**/*.ts\" --cache",
61
- "lint": "eslint \"src/**/*.ts\"",
62
- "lint:fix": "eslint \"src/**/*.ts\" --fix"
63
- },
64
- "dependencies": {
65
- "express": "4.21.1",
66
- "reflect-metadata": "0.2.2"
67
- },
68
- "devDependencies": {
69
- "@codecov/vite-plugin": "0.0.1-beta.6",
70
- "@commitlint/cli": "19.2.1",
71
- "@commitlint/config-conventional": "19.2.2",
72
- "@expressots/core": "3.0.0-beta.4",
73
- "@expressots/shared": "3.0.0-beta.4",
74
- "@release-it/conventional-changelog": "8.0.1",
75
- "@types/express": "4.17.21",
76
- "@types/jest": "29.5.14",
77
- "@types/node": "20.14.10",
78
- "@typescript-eslint/eslint-plugin": "7.16.1",
79
- "@typescript-eslint/parser": "7.16.1",
80
- "eslint": "8.57.0",
81
- "eslint-config-prettier": "9.1.0",
82
- "husky": "9.1.1",
83
- "jest": "29.7.0",
84
- "prettier": "3.3.3",
85
- "release-it": "17.6.0",
86
- "ts-jest": "29.2.5",
87
- "typescript": "5.5.3"
88
- },
89
- "release-it": {
90
- "git": {
91
- "commitMessage": "chore(release): ${version}"
92
- },
93
- "github": {
94
- "release": true
95
- },
96
- "npm": {
97
- "publish": false
98
- },
99
- "plugins": {
100
- "@release-it/conventional-changelog": {
101
- "infile": "CHANGELOG.md",
102
- "preset": {
103
- "name": "conventionalcommits",
104
- "types": [
105
- {
106
- "type": "feat",
107
- "section": "Features"
108
- },
109
- {
110
- "type": "fix",
111
- "section": "Bug Fixes"
112
- },
113
- {
114
- "type": "perf",
115
- "section": "Performance Improvements"
116
- },
117
- {
118
- "type": "revert",
119
- "section": "Reverts"
120
- },
121
- {
122
- "type": "docs",
123
- "section": "Documentation"
124
- },
125
- {
126
- "type": "refactor",
127
- "section": "Code Refactoring"
128
- },
129
- {
130
- "type": "test",
131
- "section": "Tests"
132
- },
133
- {
134
- "type": "build",
135
- "section": "Build System"
136
- },
137
- {
138
- "type": "ci",
139
- "section": "Continuous Integrations"
140
- }
141
- ]
142
- }
143
- }
144
- }
145
- }
146
- }
1
+ {
2
+ "name": "@expressots/adapter-express",
3
+ "version": "4.0.0-preview.1",
4
+ "description": "Expressots - modern, fast, lightweight nodejs web framework (@adapter-express)",
5
+ "author": "",
6
+ "main": "./lib/cjs/index.js",
7
+ "types": "./lib/cjs/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": {
11
+ "types": "./lib/esm/types/index.d.ts",
12
+ "default": "./lib/esm/index.mjs"
13
+ },
14
+ "require": {
15
+ "types": "./lib/cjs/types/index.d.ts",
16
+ "default": "./lib/cjs/index.js"
17
+ }
18
+ }
19
+ },
20
+ "files": [
21
+ "lib/**/*"
22
+ ],
23
+ "license": "MIT",
24
+ "homepage": "https://expresso-ts.com",
25
+ "funding": {
26
+ "type": "github",
27
+ "url": "https://github.com/sponsors/expressots"
28
+ },
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/expressots/adapter-express"
32
+ },
33
+ "bugs": {
34
+ "url": "https://github.com/expressots/adapter-express/issues"
35
+ },
36
+ "publishConfig": {
37
+ "access": "public"
38
+ },
39
+ "keywords": [
40
+ "expressots",
41
+ "nodejs",
42
+ "microservices",
43
+ "typescript",
44
+ "clean-architecture",
45
+ "typescript-framework",
46
+ "framework",
47
+ "server-side"
48
+ ],
49
+ "scripts": {
50
+ "prepare": "husky",
51
+ "clean": "node scripts/rm.js lib",
52
+ "copy": "node scripts/copy.js package.json README.md CHANGELOG.md lib",
53
+ "build": "npm run clean && npm run build:cjs && npm run build:esm && npm run copy",
54
+ "build:cjs": "tsc -p tsconfig.cjs.json",
55
+ "build:esm": "node scripts/build-esm.js",
56
+ "release": "release-it",
57
+ "prepublish": "npm run build && npm pack",
58
+ "test": "jest",
59
+ "test:watch": "jest --watch",
60
+ "coverage": "jest --coverage",
61
+ "format": "prettier --write \"src/**/*.ts\" --cache",
62
+ "lint": "eslint \"src/**/*.ts\"",
63
+ "lint:fix": "eslint \"src/**/*.ts\" --fix"
64
+ },
65
+ "dependencies": {
66
+ "express": "4.22.2",
67
+ "reflect-metadata": "0.2.2"
68
+ },
69
+ "peerDependencies": {
70
+ "@expressots/studio-agent": ">=4.0.0-0"
71
+ },
72
+ "peerDependenciesMeta": {
73
+ "@expressots/studio-agent": {
74
+ "optional": true
75
+ }
76
+ },
77
+ "devDependencies": {
78
+ "@codecov/vite-plugin": "0.0.1-beta.6",
79
+ "@commitlint/cli": "19.2.1",
80
+ "@commitlint/config-conventional": "19.2.2",
81
+ "@expressots/core": "file:../expressots/expressots-core-4.0.0-preview.1.tgz",
82
+ "@expressots/shared": "file:../shared/expressots-shared-4.0.0-preview.1.tgz",
83
+ "@expressots/studio-agent": "file:../expressots-studio/packages/studio-agent",
84
+ "@release-it/conventional-changelog": "8.0.1",
85
+ "@types/express": "4.17.21",
86
+ "@types/jest": "29.5.14",
87
+ "@types/node": "20.14.10",
88
+ "@typescript-eslint/eslint-plugin": "7.16.1",
89
+ "@typescript-eslint/parser": "7.16.1",
90
+ "eslint": "8.57.0",
91
+ "eslint-config-prettier": "9.1.0",
92
+ "husky": "9.1.1",
93
+ "jest": "29.7.0",
94
+ "prettier": "3.3.3",
95
+ "release-it": "17.6.0",
96
+ "ts-jest": "29.2.5",
97
+ "typescript": "5.5.3"
98
+ },
99
+ "release-it": {
100
+ "git": {
101
+ "commitMessage": "chore(release): ${version}"
102
+ },
103
+ "github": {
104
+ "release": true
105
+ },
106
+ "npm": {
107
+ "publish": false
108
+ },
109
+ "plugins": {
110
+ "@release-it/conventional-changelog": {
111
+ "infile": "CHANGELOG.md",
112
+ "preset": {
113
+ "name": "conventionalcommits",
114
+ "types": [
115
+ {
116
+ "type": "feat",
117
+ "section": "Features"
118
+ },
119
+ {
120
+ "type": "fix",
121
+ "section": "Bug Fixes"
122
+ },
123
+ {
124
+ "type": "perf",
125
+ "section": "Performance Improvements"
126
+ },
127
+ {
128
+ "type": "revert",
129
+ "section": "Reverts"
130
+ },
131
+ {
132
+ "type": "docs",
133
+ "section": "Documentation"
134
+ },
135
+ {
136
+ "type": "refactor",
137
+ "section": "Code Refactoring"
138
+ },
139
+ {
140
+ "type": "test",
141
+ "section": "Tests"
142
+ },
143
+ {
144
+ "type": "build",
145
+ "section": "Build System"
146
+ },
147
+ {
148
+ "type": "ci",
149
+ "section": "Continuous Integrations"
150
+ }
151
+ ]
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
@@ -1,10 +0,0 @@
1
- "use strict";
2
- /* eslint-disable @typescript-eslint/no-namespace */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.FactoryType = void 0;
5
- var FactoryType;
6
- (function (FactoryType) {
7
- FactoryType["DynamicValue"] = "toDynamicValue";
8
- FactoryType["Factory"] = "toFactory";
9
- FactoryType["Provider"] = "toProvider";
10
- })(FactoryType || (exports.FactoryType = FactoryType = {}));
@@ -1,289 +0,0 @@
1
- export declare enum FactoryType {
2
- DynamicValue = "toDynamicValue",
3
- Factory = "toFactory",
4
- Provider = "toProvider"
5
- }
6
- declare namespace interfaces {
7
- export type DynamicValue<T> = (context: interfaces.Context) => T | Promise<T>;
8
- export type ContainerResolution<T> = T | Promise<T> | Array<T | Promise<T>>;
9
- type AsyncCallback<TCallback> = TCallback extends (...args: infer TArgs) => infer TResult ? (...args: TArgs) => Promise<TResult> : never;
10
- export type BindingScope = "Singleton" | "Transient" | "Request";
11
- export type BindingType = "ConstantValue" | "Constructor" | "DynamicValue" | "Factory" | "Function" | "Instance" | "Invalid" | "Provider";
12
- export type TargetType = "ConstructorArgument" | "ClassProperty" | "Variable";
13
- export interface BindingScopeEnum {
14
- Request: interfaces.BindingScope;
15
- Singleton: interfaces.BindingScope;
16
- Transient: interfaces.BindingScope;
17
- }
18
- export interface BindingTypeEnum {
19
- ConstantValue: interfaces.BindingType;
20
- Constructor: interfaces.BindingType;
21
- DynamicValue: interfaces.BindingType;
22
- Factory: interfaces.BindingType;
23
- Function: interfaces.BindingType;
24
- Instance: interfaces.BindingType;
25
- Invalid: interfaces.BindingType;
26
- Provider: interfaces.BindingType;
27
- }
28
- export interface TargetTypeEnum {
29
- ConstructorArgument: interfaces.TargetType;
30
- ClassProperty: interfaces.TargetType;
31
- Variable: interfaces.TargetType;
32
- }
33
- export type Newable<T> = new (...args: Array<unknown>) => T;
34
- export type Instance<T> = T & Record<string, () => void>;
35
- export interface Abstract<T> {
36
- prototype: T;
37
- }
38
- export type ServiceIdentifier<T = unknown> = string | symbol | Newable<T> | Abstract<T>;
39
- export interface Clonable<T> {
40
- clone(): T;
41
- }
42
- export type BindingActivation<T = unknown> = (context: interfaces.Context, injectable: T) => T | Promise<T>;
43
- export type BindingDeactivation<T = unknown> = (injectable: T) => void | Promise<void>;
44
- export interface Binding<TActivated = unknown> extends Clonable<Binding<TActivated>> {
45
- id: number;
46
- moduleId: ContainerModuleBase["id"];
47
- activated: boolean;
48
- serviceIdentifier: ServiceIdentifier<TActivated>;
49
- constraint: ConstraintFunction;
50
- dynamicValue: DynamicValue<TActivated> | null;
51
- scope: BindingScope;
52
- type: BindingType;
53
- implementationType: Newable<TActivated> | TActivated | null;
54
- factory: FactoryCreator<unknown> | null;
55
- provider: ProviderCreator<unknown> | null;
56
- onActivation: BindingActivation<TActivated> | null;
57
- onDeactivation: BindingDeactivation<TActivated> | null;
58
- cache: null | TActivated | Promise<TActivated>;
59
- }
60
- export type SimpleFactory<T, U extends Array<unknown> = Array<unknown>> = (...args: U) => T;
61
- export type MultiFactory<T, U extends Array<unknown> = Array<unknown>, V extends Array<unknown> = Array<unknown>> = (...args: U) => SimpleFactory<T, V>;
62
- export type Factory<T, U extends Array<unknown> = Array<unknown>, V extends Array<unknown> = Array<unknown>> = SimpleFactory<T, U> | MultiFactory<T, U, V>;
63
- export type FactoryCreator<T, U extends Array<unknown> = Array<unknown>, V extends Array<unknown> = Array<unknown>> = (context: Context) => Factory<T, U, V>;
64
- export type AutoNamedFactory<T> = SimpleFactory<T, [string]>;
65
- export type AutoFactory<T> = SimpleFactory<T, []>;
66
- export type FactoryTypeFunction<T = unknown> = (context: interfaces.Context) => T | Promise<T>;
67
- export interface FactoryDetails {
68
- factoryType: FactoryType;
69
- factory: FactoryTypeFunction | null;
70
- }
71
- export type Provider<T> = (...args: Array<unknown>) => ((...args: Array<unknown>) => Promise<T>) | Promise<T>;
72
- export type ProviderCreator<T> = (context: Context) => Provider<T>;
73
- export interface NextArgs<T = unknown> {
74
- avoidConstraints: boolean;
75
- contextInterceptor: (contexts: Context) => Context;
76
- isMultiInject: boolean;
77
- targetType: TargetType;
78
- serviceIdentifier: interfaces.ServiceIdentifier<T>;
79
- key?: string | number | symbol | undefined;
80
- value?: unknown;
81
- }
82
- export type Next = (args: NextArgs) => unknown | Array<unknown>;
83
- export type Middleware = (next: Next) => Next;
84
- export type ContextInterceptor = (context: interfaces.Context) => interfaces.Context;
85
- export interface Context {
86
- id: number;
87
- container: Container;
88
- plan: Plan;
89
- currentRequest: Request;
90
- addPlan(plan: Plan): void;
91
- setCurrentRequest(request: Request): void;
92
- }
93
- export type MetadataOrMetadataArray = Metadata | Array<Metadata>;
94
- export interface Metadata<TValue = unknown> {
95
- key: string | number | symbol;
96
- value: TValue;
97
- }
98
- export interface Plan {
99
- parentContext: Context;
100
- rootRequest: Request;
101
- }
102
- export interface QueryableString {
103
- startsWith(searchString: string): boolean;
104
- endsWith(searchString: string): boolean;
105
- contains(searchString: string): boolean;
106
- equals(compareString: string): boolean;
107
- value(): string;
108
- }
109
- export type ResolveRequestHandler = (request: interfaces.Request) => unknown;
110
- export type RequestScope = Map<unknown, unknown>;
111
- export interface Request {
112
- id: number;
113
- serviceIdentifier: ServiceIdentifier;
114
- parentContext: Context;
115
- parentRequest: Request | null;
116
- childRequests: Array<Request>;
117
- target: Target;
118
- bindings: Array<Binding<unknown>>;
119
- requestScope: RequestScope | null;
120
- addChildRequest(serviceIdentifier: ServiceIdentifier, bindings: Binding<unknown> | Array<Binding<unknown>>, target: Target): Request;
121
- }
122
- export interface Target {
123
- id: number;
124
- serviceIdentifier: ServiceIdentifier;
125
- type: TargetType;
126
- name: QueryableString;
127
- identifier: string | symbol;
128
- metadata: Array<Metadata>;
129
- getNamedTag(): interfaces.Metadata<string> | null;
130
- getCustomTags(): Array<interfaces.Metadata> | null;
131
- hasTag(key: string | number | symbol): boolean;
132
- isArray(): boolean;
133
- matchesArray(name: interfaces.ServiceIdentifier): boolean;
134
- isNamed(): boolean;
135
- isTagged(): boolean;
136
- isOptional(): boolean;
137
- matchesNamedTag(name: string): boolean;
138
- matchesTag(key: string | number | symbol): (value: unknown) => boolean;
139
- }
140
- export interface ContainerOptions {
141
- autoBindInjectable?: boolean;
142
- defaultScope?: BindingScope | undefined;
143
- skipBaseClassChecks?: boolean;
144
- }
145
- export interface Container {
146
- id: number;
147
- parent: Container | null;
148
- options: ContainerOptions;
149
- bind<T>(serviceIdentifier: ServiceIdentifier<T>): BindingToSyntax<T>;
150
- rebind<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): interfaces.BindingToSyntax<T>;
151
- rebindAsync<T>(serviceIdentifier: interfaces.ServiceIdentifier<T>): Promise<interfaces.BindingToSyntax<T>>;
152
- unbind(serviceIdentifier: ServiceIdentifier): void;
153
- unbindAsync(serviceIdentifier: interfaces.ServiceIdentifier): Promise<void>;
154
- unbindAll(): void;
155
- unbindAllAsync(): Promise<void>;
156
- isBound(serviceIdentifier: ServiceIdentifier): boolean;
157
- isCurrentBound<T>(serviceIdentifier: ServiceIdentifier<T>): boolean;
158
- isBoundNamed(serviceIdentifier: ServiceIdentifier, named: string | number | symbol): boolean;
159
- isBoundTagged(serviceIdentifier: ServiceIdentifier, key: string | number | symbol, value: unknown): boolean;
160
- get<T>(serviceIdentifier: ServiceIdentifier<T>): T;
161
- getNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): T;
162
- getTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): T;
163
- getAll<T>(serviceIdentifier: ServiceIdentifier<T>): Array<T>;
164
- getAllTagged<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): Array<T>;
165
- getAllNamed<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Array<T>;
166
- getAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<T>;
167
- getNamedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Promise<T>;
168
- getTaggedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): Promise<T>;
169
- getAllAsync<T>(serviceIdentifier: ServiceIdentifier<T>): Promise<Array<T>>;
170
- getAllTaggedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, key: string | number | symbol, value: unknown): Promise<Array<T>>;
171
- getAllNamedAsync<T>(serviceIdentifier: ServiceIdentifier<T>, named: string | number | symbol): Promise<Array<T>>;
172
- onActivation<T>(serviceIdentifier: ServiceIdentifier<T>, onActivation: BindingActivation<T>): void;
173
- onDeactivation<T>(serviceIdentifier: ServiceIdentifier<T>, onDeactivation: BindingDeactivation<T>): void;
174
- resolve<T>(constructorFunction: interfaces.Newable<T>): T;
175
- load(...modules: Array<ContainerModule>): void;
176
- loadAsync(...modules: Array<AsyncContainerModule>): Promise<void>;
177
- unload(...modules: Array<ContainerModuleBase>): void;
178
- unloadAsync(...modules: Array<ContainerModuleBase>): Promise<void>;
179
- applyCustomMetadataReader(metadataReader: MetadataReader): void;
180
- applyMiddleware(...middleware: Array<Middleware>): void;
181
- snapshot(): void;
182
- restore(): void;
183
- createChild(): Container;
184
- }
185
- export type Bind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;
186
- export type Rebind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => BindingToSyntax<T>;
187
- export type Unbind = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => void;
188
- export type UnbindAsync = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => Promise<void>;
189
- export type IsBound = <T = unknown>(serviceIdentifier: ServiceIdentifier<T>) => boolean;
190
- export interface ContainerModuleBase {
191
- id: number;
192
- }
193
- export interface ContainerModule extends ContainerModuleBase {
194
- registry: ContainerModuleCallBack;
195
- }
196
- export interface AsyncContainerModule extends ContainerModuleBase {
197
- registry: AsyncContainerModuleCallBack;
198
- }
199
- export interface ModuleActivationHandlers {
200
- onActivations: Lookup<BindingActivation<unknown>>;
201
- onDeactivations: Lookup<BindingDeactivation<unknown>>;
202
- }
203
- export interface ModuleActivationStore extends Clonable<ModuleActivationStore> {
204
- addDeactivation(moduleId: ContainerModuleBase["id"], serviceIdentifier: ServiceIdentifier<unknown>, onDeactivation: interfaces.BindingDeactivation<unknown>): void;
205
- addActivation(moduleId: ContainerModuleBase["id"], serviceIdentifier: ServiceIdentifier<unknown>, onActivation: interfaces.BindingActivation<unknown>): void;
206
- remove(moduleId: ContainerModuleBase["id"]): ModuleActivationHandlers;
207
- }
208
- export type ContainerModuleCallBack = (bind: interfaces.Bind, unbind: interfaces.Unbind, isBound: interfaces.IsBound, rebind: interfaces.Rebind, unbindAsync: interfaces.UnbindAsync, onActivation: interfaces.Container["onActivation"], onDeactivation: interfaces.Container["onDeactivation"]) => void;
209
- export type AsyncContainerModuleCallBack = AsyncCallback<ContainerModuleCallBack>;
210
- export interface ContainerSnapshot {
211
- bindings: Lookup<Binding<unknown>>;
212
- activations: Lookup<BindingActivation<unknown>>;
213
- deactivations: Lookup<BindingDeactivation<unknown>>;
214
- middleware: Next | null;
215
- moduleActivationStore: interfaces.ModuleActivationStore;
216
- }
217
- export interface Lookup<T> extends Clonable<Lookup<T>> {
218
- [x: string]: any;
219
- add(serviceIdentifier: ServiceIdentifier, value: T): void;
220
- getMap(): Map<interfaces.ServiceIdentifier, Array<T>>;
221
- get(serviceIdentifier: ServiceIdentifier): Array<T>;
222
- remove(serviceIdentifier: interfaces.ServiceIdentifier): void;
223
- removeByCondition(condition: (item: T) => boolean): Array<T>;
224
- removeIntersection(lookup: interfaces.Lookup<T>): void;
225
- hasKey(serviceIdentifier: ServiceIdentifier): boolean;
226
- clone(): Lookup<T>;
227
- traverse(func: (key: interfaces.ServiceIdentifier, value: Array<T>) => void): void;
228
- }
229
- export interface BindingOnSyntax<T> {
230
- onActivation(fn: (context: Context, injectable: T) => T | Promise<T>): BindingWhenSyntax<T>;
231
- onDeactivation(fn: (injectable: T) => void | Promise<void>): BindingWhenSyntax<T>;
232
- }
233
- export interface BindingWhenSyntax<T> {
234
- when(constraint: (request: Request) => boolean): BindingOnSyntax<T>;
235
- whenTargetNamed(name: string | number | symbol): BindingOnSyntax<T>;
236
- whenTargetIsDefault(): BindingOnSyntax<T>;
237
- whenTargetTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;
238
- whenInjectedInto(parent: NewableFunction | string): BindingOnSyntax<T>;
239
- whenParentNamed(name: string | number | symbol): BindingOnSyntax<T>;
240
- whenParentTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;
241
- whenAnyAncestorIs(ancestor: NewableFunction | string): BindingOnSyntax<T>;
242
- whenNoAncestorIs(ancestor: NewableFunction | string): BindingOnSyntax<T>;
243
- whenAnyAncestorNamed(name: string | number | symbol): BindingOnSyntax<T>;
244
- whenAnyAncestorTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;
245
- whenNoAncestorNamed(name: string | number | symbol): BindingOnSyntax<T>;
246
- whenNoAncestorTagged(tag: string | number | symbol, value: unknown): BindingOnSyntax<T>;
247
- whenAnyAncestorMatches(constraint: (request: Request) => boolean): BindingOnSyntax<T>;
248
- whenNoAncestorMatches(constraint: (request: Request) => boolean): BindingOnSyntax<T>;
249
- }
250
- export interface BindingWhenOnSyntax<T> extends BindingWhenSyntax<T>, BindingOnSyntax<T> {
251
- }
252
- export interface BindingInSyntax<T> {
253
- inSingletonScope(): BindingWhenOnSyntax<T>;
254
- inTransientScope(): BindingWhenOnSyntax<T>;
255
- inRequestScope(): BindingWhenOnSyntax<T>;
256
- }
257
- export interface BindingInWhenOnSyntax<T> extends BindingInSyntax<T>, BindingWhenOnSyntax<T> {
258
- }
259
- export interface BindingToSyntax<T> {
260
- to(constructor: Newable<T>): BindingInWhenOnSyntax<T>;
261
- toSelf(): BindingInWhenOnSyntax<T>;
262
- toConstantValue(value: T): BindingWhenOnSyntax<T>;
263
- toDynamicValue(func: DynamicValue<T>): BindingInWhenOnSyntax<T>;
264
- toConstructor<T2>(constructor: Newable<T2>): BindingWhenOnSyntax<T>;
265
- toFactory<T2, T3 extends Array<unknown> = Array<unknown>, T4 extends Array<unknown> = Array<unknown>>(factory: FactoryCreator<T2, T3, T4>): BindingWhenOnSyntax<T>;
266
- toFunction(func: T): BindingWhenOnSyntax<T>;
267
- toAutoFactory<T2>(serviceIdentifier: ServiceIdentifier<T2>): BindingWhenOnSyntax<T>;
268
- toAutoNamedFactory<T2>(serviceIdentifier: ServiceIdentifier<T2>): BindingWhenOnSyntax<T>;
269
- toProvider<T2>(provider: ProviderCreator<T2>): BindingWhenOnSyntax<T>;
270
- toService(service: ServiceIdentifier<T>): void;
271
- }
272
- export interface ConstraintFunction {
273
- metaData?: Metadata;
274
- (request: Request | null): boolean;
275
- }
276
- export interface MetadataReader {
277
- getConstructorMetadata(constructorFunc: NewableFunction): ConstructorMetadata;
278
- getPropertiesMetadata(constructorFunc: NewableFunction): MetadataMap;
279
- }
280
- export interface MetadataMap {
281
- [propertyNameOrArgumentIndex: string | symbol]: Array<Metadata>;
282
- }
283
- export interface ConstructorMetadata {
284
- compilerGeneratedMetadata: Array<NewableFunction> | undefined;
285
- userGeneratedMetadata: MetadataMap;
286
- }
287
- export {};
288
- }
289
- export { interfaces };