@trapi/metadata 1.3.0 → 2.0.0-beta.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 (350) hide show
  1. package/README.md +63 -16
  2. package/dist/index.d.mts +1718 -0
  3. package/dist/index.d.mts.map +1 -0
  4. package/dist/index.mjs +3310 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/package.json +25 -13
  7. package/dist/cache/client.d.ts +0 -15
  8. package/dist/cache/client.d.ts.map +0 -1
  9. package/dist/cache/client.js +0 -98
  10. package/dist/cache/client.js.map +0 -1
  11. package/dist/cache/index.d.ts +0 -4
  12. package/dist/cache/index.d.ts.map +0 -1
  13. package/dist/cache/index.js +0 -26
  14. package/dist/cache/index.js.map +0 -1
  15. package/dist/cache/type.d.ts +0 -33
  16. package/dist/cache/type.d.ts.map +0 -1
  17. package/dist/cache/type.js +0 -9
  18. package/dist/cache/type.js.map +0 -1
  19. package/dist/cache/utils.d.ts +0 -4
  20. package/dist/cache/utils.d.ts.map +0 -1
  21. package/dist/cache/utils.js +0 -52
  22. package/dist/cache/utils.js.map +0 -1
  23. package/dist/config/index.d.ts +0 -2
  24. package/dist/config/index.d.ts.map +0 -1
  25. package/dist/config/index.js +0 -24
  26. package/dist/config/index.js.map +0 -1
  27. package/dist/config/type.d.ts +0 -37
  28. package/dist/config/type.d.ts.map +0 -1
  29. package/dist/config/type.js +0 -9
  30. package/dist/config/type.js.map +0 -1
  31. package/dist/decorator/constants.d.ts +0 -41
  32. package/dist/decorator/constants.d.ts.map +0 -1
  33. package/dist/decorator/constants.js +0 -53
  34. package/dist/decorator/constants.js.map +0 -1
  35. package/dist/decorator/index.d.ts +0 -7
  36. package/dist/decorator/index.d.ts.map +0 -1
  37. package/dist/decorator/index.js +0 -29
  38. package/dist/decorator/index.js.map +0 -1
  39. package/dist/decorator/preset/index.d.ts +0 -3
  40. package/dist/decorator/preset/index.d.ts.map +0 -1
  41. package/dist/decorator/preset/index.js +0 -25
  42. package/dist/decorator/preset/index.js.map +0 -1
  43. package/dist/decorator/preset/type.d.ts +0 -6
  44. package/dist/decorator/preset/type.d.ts.map +0 -1
  45. package/dist/decorator/preset/type.js +0 -9
  46. package/dist/decorator/preset/type.js.map +0 -1
  47. package/dist/decorator/preset/utils/check.d.ts +0 -3
  48. package/dist/decorator/preset/utils/check.d.ts.map +0 -1
  49. package/dist/decorator/preset/utils/check.js +0 -17
  50. package/dist/decorator/preset/utils/check.js.map +0 -1
  51. package/dist/decorator/preset/utils/index.d.ts +0 -4
  52. package/dist/decorator/preset/utils/index.d.ts.map +0 -1
  53. package/dist/decorator/preset/utils/index.js +0 -26
  54. package/dist/decorator/preset/utils/index.js.map +0 -1
  55. package/dist/decorator/preset/utils/load.d.ts +0 -3
  56. package/dist/decorator/preset/utils/load.d.ts.map +0 -1
  57. package/dist/decorator/preset/utils/load.js +0 -50
  58. package/dist/decorator/preset/utils/load.js.map +0 -1
  59. package/dist/decorator/preset/utils/normalize.d.ts +0 -2
  60. package/dist/decorator/preset/utils/normalize.d.ts.map +0 -1
  61. package/dist/decorator/preset/utils/normalize.js +0 -26
  62. package/dist/decorator/preset/utils/normalize.js.map +0 -1
  63. package/dist/decorator/property-manager/index.d.ts +0 -3
  64. package/dist/decorator/property-manager/index.d.ts.map +0 -1
  65. package/dist/decorator/property-manager/index.js +0 -25
  66. package/dist/decorator/property-manager/index.js.map +0 -1
  67. package/dist/decorator/property-manager/module.d.ts +0 -17
  68. package/dist/decorator/property-manager/module.d.ts.map +0 -1
  69. package/dist/decorator/property-manager/module.js +0 -59
  70. package/dist/decorator/property-manager/module.js.map +0 -1
  71. package/dist/decorator/property-manager/utils.d.ts +0 -6
  72. package/dist/decorator/property-manager/utils.d.ts.map +0 -1
  73. package/dist/decorator/property-manager/utils.js +0 -91
  74. package/dist/decorator/property-manager/utils.js.map +0 -1
  75. package/dist/decorator/resolver/index.d.ts +0 -3
  76. package/dist/decorator/resolver/index.d.ts.map +0 -1
  77. package/dist/decorator/resolver/index.js +0 -25
  78. package/dist/decorator/resolver/index.js.map +0 -1
  79. package/dist/decorator/resolver/module.d.ts +0 -27
  80. package/dist/decorator/resolver/module.d.ts.map +0 -1
  81. package/dist/decorator/resolver/module.js +0 -72
  82. package/dist/decorator/resolver/module.js.map +0 -1
  83. package/dist/decorator/resolver/type.d.ts +0 -10
  84. package/dist/decorator/resolver/type.d.ts.map +0 -1
  85. package/dist/decorator/resolver/type.js +0 -3
  86. package/dist/decorator/resolver/type.js.map +0 -1
  87. package/dist/decorator/sets/class.d.ts +0 -7
  88. package/dist/decorator/sets/class.d.ts.map +0 -1
  89. package/dist/decorator/sets/class.js +0 -9
  90. package/dist/decorator/sets/class.js.map +0 -1
  91. package/dist/decorator/sets/index.d.ts +0 -8
  92. package/dist/decorator/sets/index.d.ts.map +0 -1
  93. package/dist/decorator/sets/index.js +0 -29
  94. package/dist/decorator/sets/index.js.map +0 -1
  95. package/dist/decorator/sets/method.d.ts +0 -14
  96. package/dist/decorator/sets/method.d.ts.map +0 -1
  97. package/dist/decorator/sets/method.js +0 -9
  98. package/dist/decorator/sets/method.js.map +0 -1
  99. package/dist/decorator/sets/mixed.d.ts +0 -12
  100. package/dist/decorator/sets/mixed.d.ts.map +0 -1
  101. package/dist/decorator/sets/mixed.js +0 -9
  102. package/dist/decorator/sets/mixed.js.map +0 -1
  103. package/dist/decorator/sets/parameter.d.ts +0 -21
  104. package/dist/decorator/sets/parameter.d.ts.map +0 -1
  105. package/dist/decorator/sets/parameter.js +0 -9
  106. package/dist/decorator/sets/parameter.js.map +0 -1
  107. package/dist/decorator/sets/request.d.ts +0 -6
  108. package/dist/decorator/sets/request.d.ts.map +0 -1
  109. package/dist/decorator/sets/request.js +0 -9
  110. package/dist/decorator/sets/request.js.map +0 -1
  111. package/dist/decorator/sets/response.d.ts +0 -17
  112. package/dist/decorator/sets/response.d.ts.map +0 -1
  113. package/dist/decorator/sets/response.js +0 -9
  114. package/dist/decorator/sets/response.js.map +0 -1
  115. package/dist/decorator/sets/type.d.ts +0 -4
  116. package/dist/decorator/sets/type.d.ts.map +0 -1
  117. package/dist/decorator/sets/type.js +0 -3
  118. package/dist/decorator/sets/type.js.map +0 -1
  119. package/dist/decorator/type.d.ts +0 -32
  120. package/dist/decorator/type.d.ts.map +0 -1
  121. package/dist/decorator/type.js +0 -9
  122. package/dist/decorator/type.js.map +0 -1
  123. package/dist/error/base.d.ts +0 -3
  124. package/dist/error/base.d.ts.map +0 -1
  125. package/dist/error/base.js +0 -13
  126. package/dist/error/base.js.map +0 -1
  127. package/dist/error/index.d.ts +0 -2
  128. package/dist/error/index.d.ts.map +0 -1
  129. package/dist/error/index.js +0 -24
  130. package/dist/error/index.js.map +0 -1
  131. package/dist/generator/abstract.d.ts +0 -19
  132. package/dist/generator/abstract.d.ts.map +0 -1
  133. package/dist/generator/abstract.js +0 -151
  134. package/dist/generator/abstract.js.map +0 -1
  135. package/dist/generator/controller/index.d.ts +0 -3
  136. package/dist/generator/controller/index.d.ts.map +0 -1
  137. package/dist/generator/controller/index.js +0 -25
  138. package/dist/generator/controller/index.js.map +0 -1
  139. package/dist/generator/controller/module.d.ts +0 -13
  140. package/dist/generator/controller/module.d.ts.map +0 -1
  141. package/dist/generator/controller/module.js +0 -68
  142. package/dist/generator/controller/module.js.map +0 -1
  143. package/dist/generator/controller/type.d.ts +0 -47
  144. package/dist/generator/controller/type.d.ts.map +0 -1
  145. package/dist/generator/controller/type.js +0 -3
  146. package/dist/generator/controller/type.js.map +0 -1
  147. package/dist/generator/index.d.ts +0 -7
  148. package/dist/generator/index.d.ts.map +0 -1
  149. package/dist/generator/index.js +0 -29
  150. package/dist/generator/index.js.map +0 -1
  151. package/dist/generator/metadata/index.d.ts +0 -4
  152. package/dist/generator/metadata/index.d.ts.map +0 -1
  153. package/dist/generator/metadata/index.js +0 -26
  154. package/dist/generator/metadata/index.js.map +0 -1
  155. package/dist/generator/metadata/module.d.ts +0 -39
  156. package/dist/generator/metadata/module.d.ts.map +0 -1
  157. package/dist/generator/metadata/module.js +0 -140
  158. package/dist/generator/metadata/module.js.map +0 -1
  159. package/dist/generator/metadata/type.d.ts +0 -25
  160. package/dist/generator/metadata/type.d.ts.map +0 -1
  161. package/dist/generator/metadata/type.js +0 -3
  162. package/dist/generator/metadata/type.js.map +0 -1
  163. package/dist/generator/metadata/utils.d.ts +0 -3
  164. package/dist/generator/metadata/utils.d.ts.map +0 -1
  165. package/dist/generator/metadata/utils.js +0 -18
  166. package/dist/generator/metadata/utils.js.map +0 -1
  167. package/dist/generator/method/constants.d.ts +0 -11
  168. package/dist/generator/method/constants.d.ts.map +0 -1
  169. package/dist/generator/method/constants.js +0 -21
  170. package/dist/generator/method/constants.js.map +0 -1
  171. package/dist/generator/method/index.d.ts +0 -4
  172. package/dist/generator/method/index.d.ts.map +0 -1
  173. package/dist/generator/method/index.js +0 -26
  174. package/dist/generator/method/index.js.map +0 -1
  175. package/dist/generator/method/module.d.ts +0 -19
  176. package/dist/generator/method/module.d.ts.map +0 -1
  177. package/dist/generator/method/module.js +0 -188
  178. package/dist/generator/method/module.js.map +0 -1
  179. package/dist/generator/method/type.d.ts +0 -23
  180. package/dist/generator/method/type.d.ts.map +0 -1
  181. package/dist/generator/method/type.js +0 -9
  182. package/dist/generator/method/type.js.map +0 -1
  183. package/dist/generator/parameter/constants.d.ts +0 -19
  184. package/dist/generator/parameter/constants.d.ts.map +0 -1
  185. package/dist/generator/parameter/constants.js +0 -30
  186. package/dist/generator/parameter/constants.js.map +0 -1
  187. package/dist/generator/parameter/error.d.ts +0 -35
  188. package/dist/generator/parameter/error.d.ts.map +0 -1
  189. package/dist/generator/parameter/error.js +0 -68
  190. package/dist/generator/parameter/error.js.map +0 -1
  191. package/dist/generator/parameter/index.d.ts +0 -5
  192. package/dist/generator/parameter/index.d.ts.map +0 -1
  193. package/dist/generator/parameter/index.js +0 -27
  194. package/dist/generator/parameter/index.js.map +0 -1
  195. package/dist/generator/parameter/module.d.ts +0 -29
  196. package/dist/generator/parameter/module.d.ts.map +0 -1
  197. package/dist/generator/parameter/module.js +0 -566
  198. package/dist/generator/parameter/module.js.map +0 -1
  199. package/dist/generator/parameter/type.d.ts +0 -25
  200. package/dist/generator/parameter/type.d.ts.map +0 -1
  201. package/dist/generator/parameter/type.js +0 -9
  202. package/dist/generator/parameter/type.js.map +0 -1
  203. package/dist/generator/type.d.ts +0 -20
  204. package/dist/generator/type.d.ts.map +0 -1
  205. package/dist/generator/type.js +0 -9
  206. package/dist/generator/type.js.map +0 -1
  207. package/dist/index.d.ts +0 -10
  208. package/dist/index.d.ts.map +0 -1
  209. package/dist/index.js +0 -32
  210. package/dist/index.js.map +0 -1
  211. package/dist/module.d.ts +0 -5
  212. package/dist/module.d.ts.map +0 -1
  213. package/dist/module.js +0 -40
  214. package/dist/module.js.map +0 -1
  215. package/dist/resolver/constants.d.ts +0 -37
  216. package/dist/resolver/constants.d.ts.map +0 -1
  217. package/dist/resolver/constants.js +0 -48
  218. package/dist/resolver/constants.js.map +0 -1
  219. package/dist/resolver/error.d.ts +0 -8
  220. package/dist/resolver/error.d.ts.map +0 -1
  221. package/dist/resolver/error.js +0 -41
  222. package/dist/resolver/error.js.map +0 -1
  223. package/dist/resolver/extension/index.d.ts +0 -3
  224. package/dist/resolver/extension/index.d.ts.map +0 -1
  225. package/dist/resolver/extension/index.js +0 -25
  226. package/dist/resolver/extension/index.js.map +0 -1
  227. package/dist/resolver/extension/module.d.ts +0 -5
  228. package/dist/resolver/extension/module.d.ts.map +0 -1
  229. package/dist/resolver/extension/module.js +0 -26
  230. package/dist/resolver/extension/module.js.map +0 -1
  231. package/dist/resolver/extension/type.d.ts +0 -8
  232. package/dist/resolver/extension/type.d.ts.map +0 -1
  233. package/dist/resolver/extension/type.js +0 -9
  234. package/dist/resolver/extension/type.js.map +0 -1
  235. package/dist/resolver/index.d.ts +0 -6
  236. package/dist/resolver/index.d.ts.map +0 -1
  237. package/dist/resolver/index.js +0 -28
  238. package/dist/resolver/index.js.map +0 -1
  239. package/dist/resolver/module.d.ts +0 -56
  240. package/dist/resolver/module.d.ts.map +0 -1
  241. package/dist/resolver/module.js +0 -1023
  242. package/dist/resolver/module.js.map +0 -1
  243. package/dist/resolver/sub/base.d.ts +0 -7
  244. package/dist/resolver/sub/base.d.ts.map +0 -1
  245. package/dist/resolver/sub/base.js +0 -50
  246. package/dist/resolver/sub/base.js.map +0 -1
  247. package/dist/resolver/sub/index.d.ts +0 -4
  248. package/dist/resolver/sub/index.d.ts.map +0 -1
  249. package/dist/resolver/sub/index.js +0 -26
  250. package/dist/resolver/sub/index.js.map +0 -1
  251. package/dist/resolver/sub/primitive.d.ts +0 -11
  252. package/dist/resolver/sub/primitive.d.ts.map +0 -1
  253. package/dist/resolver/sub/primitive.js +0 -124
  254. package/dist/resolver/sub/primitive.js.map +0 -1
  255. package/dist/resolver/sub/reference.d.ts +0 -15
  256. package/dist/resolver/sub/reference.d.ts.map +0 -1
  257. package/dist/resolver/sub/reference.js +0 -141
  258. package/dist/resolver/sub/reference.js.map +0 -1
  259. package/dist/resolver/type.d.ts +0 -143
  260. package/dist/resolver/type.d.ts.map +0 -1
  261. package/dist/resolver/type.js +0 -135
  262. package/dist/resolver/type.js.map +0 -1
  263. package/dist/resolver/utils.d.ts +0 -4
  264. package/dist/resolver/utils.d.ts.map +0 -1
  265. package/dist/resolver/utils.js +0 -37
  266. package/dist/resolver/utils.js.map +0 -1
  267. package/dist/type.d.ts +0 -2
  268. package/dist/type.d.ts.map +0 -1
  269. package/dist/type.js +0 -9
  270. package/dist/type.js.map +0 -1
  271. package/dist/utils/array.d.ts +0 -2
  272. package/dist/utils/array.d.ts.map +0 -1
  273. package/dist/utils/array.js +0 -21
  274. package/dist/utils/array.js.map +0 -1
  275. package/dist/utils/index.d.ts +0 -10
  276. package/dist/utils/index.d.ts.map +0 -1
  277. package/dist/utils/index.js +0 -32
  278. package/dist/utils/index.js.map +0 -1
  279. package/dist/utils/initializer.d.ts +0 -5
  280. package/dist/utils/initializer.d.ts.map +0 -1
  281. package/dist/utils/initializer.js +0 -141
  282. package/dist/utils/initializer.js.map +0 -1
  283. package/dist/utils/js-doc/constants.d.ts +0 -19
  284. package/dist/utils/js-doc/constants.d.ts.map +0 -1
  285. package/dist/utils/js-doc/constants.js +0 -30
  286. package/dist/utils/js-doc/constants.js.map +0 -1
  287. package/dist/utils/js-doc/index.d.ts +0 -4
  288. package/dist/utils/js-doc/index.d.ts.map +0 -1
  289. package/dist/utils/js-doc/index.js +0 -26
  290. package/dist/utils/js-doc/index.js.map +0 -1
  291. package/dist/utils/js-doc/module.d.ts +0 -9
  292. package/dist/utils/js-doc/module.d.ts.map +0 -1
  293. package/dist/utils/js-doc/module.js +0 -97
  294. package/dist/utils/js-doc/module.js.map +0 -1
  295. package/dist/utils/js-doc/utils.d.ts +0 -3
  296. package/dist/utils/js-doc/utils.d.ts.map +0 -1
  297. package/dist/utils/js-doc/utils.js +0 -28
  298. package/dist/utils/js-doc/utils.js.map +0 -1
  299. package/dist/utils/node/index.d.ts +0 -3
  300. package/dist/utils/node/index.d.ts.map +0 -1
  301. package/dist/utils/node/index.js +0 -25
  302. package/dist/utils/node/index.js.map +0 -1
  303. package/dist/utils/node/module.d.ts +0 -10
  304. package/dist/utils/node/module.d.ts.map +0 -1
  305. package/dist/utils/node/module.js +0 -51
  306. package/dist/utils/node/module.js.map +0 -1
  307. package/dist/utils/node/type.d.ts +0 -6
  308. package/dist/utils/node/type.d.ts.map +0 -1
  309. package/dist/utils/node/type.js +0 -9
  310. package/dist/utils/node/type.js.map +0 -1
  311. package/dist/utils/object.d.ts +0 -2
  312. package/dist/utils/object.d.ts.map +0 -1
  313. package/dist/utils/object.js +0 -14
  314. package/dist/utils/object.js.map +0 -1
  315. package/dist/utils/path-normalize.d.ts +0 -2
  316. package/dist/utils/path-normalize.d.ts.map +0 -1
  317. package/dist/utils/path-normalize.js +0 -16
  318. package/dist/utils/path-normalize.js.map +0 -1
  319. package/dist/utils/source-files.d.ts +0 -3
  320. package/dist/utils/source-files.d.ts.map +0 -1
  321. package/dist/utils/source-files.js +0 -31
  322. package/dist/utils/source-files.js.map +0 -1
  323. package/dist/utils/tsconfig/index.d.ts +0 -3
  324. package/dist/utils/tsconfig/index.d.ts.map +0 -1
  325. package/dist/utils/tsconfig/index.js +0 -25
  326. package/dist/utils/tsconfig/index.js.map +0 -1
  327. package/dist/utils/tsconfig/module.d.ts +0 -4
  328. package/dist/utils/tsconfig/module.d.ts.map +0 -1
  329. package/dist/utils/tsconfig/module.js +0 -53
  330. package/dist/utils/tsconfig/module.js.map +0 -1
  331. package/dist/utils/tsconfig/type.d.ts +0 -11
  332. package/dist/utils/tsconfig/type.d.ts.map +0 -1
  333. package/dist/utils/tsconfig/type.js +0 -9
  334. package/dist/utils/tsconfig/type.js.map +0 -1
  335. package/dist/utils/validator/constants.d.ts +0 -13
  336. package/dist/utils/validator/constants.d.ts.map +0 -1
  337. package/dist/utils/validator/constants.js +0 -23
  338. package/dist/utils/validator/constants.js.map +0 -1
  339. package/dist/utils/validator/index.d.ts +0 -4
  340. package/dist/utils/validator/index.d.ts.map +0 -1
  341. package/dist/utils/validator/index.js +0 -26
  342. package/dist/utils/validator/index.js.map +0 -1
  343. package/dist/utils/validator/module.d.ts +0 -4
  344. package/dist/utils/validator/module.d.ts.map +0 -1
  345. package/dist/utils/validator/module.js +0 -141
  346. package/dist/utils/validator/module.js.map +0 -1
  347. package/dist/utils/validator/type.d.ts +0 -6
  348. package/dist/utils/validator/type.d.ts.map +0 -1
  349. package/dist/utils/validator/type.js +0 -9
  350. package/dist/utils/validator/type.js.map +0 -1
package/README.md CHANGED
@@ -10,6 +10,10 @@ The metadata can than be used for generating a documentation according to the Op
10
10
 
11
11
  Inspect the `CHANGELOG.md` in the repository for breaking changes.
12
12
 
13
+ ## Public API
14
+
15
+ The stable public surface is documented in the [API Reference](https://trapi.tada5hi.net/guide/metadata-api-reference). Anything not listed there should be treated as internal even if it is re-exported, and may change without a major version bump.
16
+
13
17
  **Table of Contents**
14
18
 
15
19
  - [Installation](#installation)
@@ -32,9 +36,10 @@ The metadata configuration object (Top-Level) is the main configuration object o
32
36
  and can be defined according the following type scheme:
33
37
 
34
38
  ```typescript
35
- import {
39
+ import type {
36
40
  CacheOptions,
37
- DecoratorConfig
41
+ DecoratorConfig,
42
+ TsConfig,
38
43
  } from "@trapi/metadata";
39
44
 
40
45
  export type EntryPointOptions = {
@@ -47,12 +52,12 @@ export type EntryPoint = string |
47
52
  EntryPointOptions |
48
53
  EntryPointOptions[];
49
54
 
50
- export interface Options {
55
+ export interface MetadataGenerateOptions {
51
56
  /**
52
57
  * The entry point to your API.
53
58
  */
54
59
  entryPoint: EntryPoint;
55
-
60
+
56
61
  /**
57
62
  * Directory to ignore during TypeScript files scan.
58
63
  * Default: []
@@ -64,13 +69,13 @@ export interface Options {
64
69
  * Default: []
65
70
  */
66
71
  allow?: string[],
67
-
72
+
68
73
  /**
69
74
  * Directory to store and cache metadata files.
70
75
  * Default: false
71
76
  */
72
77
  cache?: string | boolean | Partial<CacheOptions>;
73
-
78
+
74
79
  /**
75
80
  * Manual decorator properties configuration.
76
81
  */
@@ -80,18 +85,35 @@ export interface Options {
80
85
  * Load a specific preset configuration.
81
86
  */
82
87
  preset?: string;
88
+
89
+ /**
90
+ * Path to tsconfig.json or a TsConfig object.
91
+ */
92
+ tsconfig?: string | TsConfig;
83
93
  }
84
94
  ```
85
95
 
86
96
  ## Limitations
87
- At the moment only the following TypeScript UtilityTypes are supported:
88
- * NonNullable
89
- * Omit
90
- * Partial
91
- * Readonly
92
- * Record
93
- * Required
94
- * Pick
97
+
98
+ TRAPI's resolver explicitly handles these TypeScript utility types:
99
+
100
+ * `NonNullable`
101
+ * `Omit`
102
+ * `Partial`
103
+ * `Readonly`
104
+ * `Record`
105
+ * `Required`
106
+ * `Pick`
107
+
108
+ Additionally these are delegated to the TypeScript type checker and resolve through the compiler's own computation:
109
+
110
+ * `Extract`
111
+ * `Exclude`
112
+ * `ReturnType`
113
+ * `Parameters`
114
+ * `Awaited`
115
+ * `InstanceType`
116
+ * `ConstructorParameters`
95
117
 
96
118
  ## Usage
97
119
 
@@ -107,7 +129,7 @@ const metadata : Metadata = await generateMetadata({
107
129
  entryPoint: ['src/controllers/**/*.ts'],
108
130
  ignore: ['**/node_modules/**'],
109
131
  cache: true,
110
- preset: '@trapi/preset-routup'
132
+ preset: '@trapi/preset-decorators-express'
111
133
  });
112
134
 
113
135
  console.log(metadata);
@@ -117,7 +139,32 @@ console.log(metadata);
117
139
 
118
140
  ## Structure
119
141
 
120
- **coming soon**
142
+ The package follows a hexagonal layout:
143
+
144
+ ```
145
+ src/
146
+ ├── core/ # Domain types, port interfaces, generator contracts
147
+ │ ├── types/ # Metadata, Controller, Method, Parameter, Type, ...
148
+ │ ├── config/ # MetadataGenerateOptions, MetadataGeneratorOptions, EntryPoint
149
+ │ ├── decorator/ # DecoratorID enum, decorator config shapes
150
+ │ ├── error/ # MetadataError, GeneratorError, ResolverError
151
+ │ ├── metadata/ # IMetadataGenerator, IGeneratorContext
152
+ │ └── utils/ # Internal helpers (hasOwnProperty, normalizePath, …)
153
+
154
+ ├── adapters/ # Infrastructure adapters
155
+ │ ├── typescript/ # TypeScript compiler API adapter (type resolver, JSDoc, AST)
156
+ │ ├── decorator/ # Decorator resolver + preset loader
157
+ │ ├── filesystem/ # Source file scanner, tsconfig loader
158
+ │ └── cache/ # Metadata cache
159
+
160
+ ├── app/ # Orchestration / use-cases
161
+ │ ├── generate.ts # generateMetadata()
162
+ │ └── generator/ # Controller, Method, Parameter generators
163
+
164
+ └── index.ts # Public entry point
165
+ ```
166
+
167
+ The dependency rule is strict: `core/` imports nothing from `adapters/` or `app/`, `adapters/` depends only on `core/`, and `app/` wires both together.
121
168
 
122
169
  ## License
123
170