@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
@@ -1,566 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2021-2023.
4
- * Author Peter Placzek (tada5hi)
5
- * For the full copyright and license information,
6
- * view the LICENSE file that was distributed with this source code.
7
- */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.ParameterGenerator = void 0;
43
- const locter_1 = require("locter");
44
- const ts = __importStar(require("typescript"));
45
- const decorator_1 = require("../../decorator");
46
- const resolver_1 = require("../../resolver");
47
- const utils_1 = require("../../utils");
48
- const constants_1 = require("./constants");
49
- const error_1 = require("./error");
50
- const parameterKeys = [
51
- decorator_1.DecoratorID.CONTEXT,
52
- decorator_1.DecoratorID.PARAM,
53
- decorator_1.DecoratorID.PARAMS,
54
- decorator_1.DecoratorID.QUERY,
55
- decorator_1.DecoratorID.FORM,
56
- decorator_1.DecoratorID.BODY,
57
- decorator_1.DecoratorID.HEADER,
58
- decorator_1.DecoratorID.HEADERS,
59
- decorator_1.DecoratorID.COOKIE,
60
- decorator_1.DecoratorID.COOKIES,
61
- decorator_1.DecoratorID.PATH,
62
- decorator_1.DecoratorID.PATHS,
63
- decorator_1.DecoratorID.FILE,
64
- decorator_1.DecoratorID.FILES,
65
- ];
66
- class ParameterGenerator {
67
- constructor(parameter, method, path, current) {
68
- this.parameter = parameter;
69
- this.method = method;
70
- this.path = path;
71
- this.current = current;
72
- }
73
- generate() {
74
- const decorators = (0, utils_1.getNodeDecorators)(this.parameter);
75
- for (let i = 0; i < parameterKeys.length; i++) {
76
- const manager = this.current.decoratorResolver.match(parameterKeys[i], decorators);
77
- if (typeof manager === 'undefined') {
78
- continue;
79
- }
80
- switch (manager.representation.id) {
81
- case decorator_1.DecoratorID.CONTEXT:
82
- return this.getContextParameter();
83
- case decorator_1.DecoratorID.PARAM:
84
- case decorator_1.DecoratorID.PARAMS:
85
- return this.getParamParameter(manager);
86
- case decorator_1.DecoratorID.FORM:
87
- return this.getFormParameter(manager);
88
- case decorator_1.DecoratorID.QUERY:
89
- return this.getQueryParameter(manager);
90
- case decorator_1.DecoratorID.BODY:
91
- return this.getBodyParameter(manager);
92
- case decorator_1.DecoratorID.HEADER:
93
- case decorator_1.DecoratorID.HEADERS:
94
- return this.getHeaderParameter(manager);
95
- case decorator_1.DecoratorID.COOKIE:
96
- case decorator_1.DecoratorID.COOKIES:
97
- return this.getCookieParameter(manager);
98
- case decorator_1.DecoratorID.PATH:
99
- case decorator_1.DecoratorID.PATHS:
100
- return this.getPathParameter(manager);
101
- case decorator_1.DecoratorID.FILE:
102
- case decorator_1.DecoratorID.FILES:
103
- return this.getFileParameter(manager);
104
- }
105
- }
106
- return this.getBodyParameter();
107
- }
108
- buildParametersForObject(type, details) {
109
- if (type.properties.length === 0) {
110
- return [];
111
- }
112
- const parameterName = this.parameter.name.text;
113
- const initializerValue = (0, utils_1.getInitializerValue)(this.parameter.initializer, this.current.typeChecker, type);
114
- const output = [];
115
- for (let i = 0; i < type.properties.length; i++) {
116
- const property = type.properties[i];
117
- let propertyDefaultValue = property.default;
118
- if (typeof propertyDefaultValue === 'undefined' &&
119
- (0, locter_1.isObject)(initializerValue)) {
120
- propertyDefaultValue = initializerValue[property.name];
121
- }
122
- let propertyRequired = !this.parameter.questionToken;
123
- if (propertyRequired) {
124
- propertyRequired = property.required;
125
- }
126
- output.push({
127
- ...details,
128
- default: propertyDefaultValue,
129
- description: property.description || details.description || this.getParameterDescription(),
130
- name: property.name,
131
- parameterName,
132
- required: propertyRequired,
133
- type: property.type,
134
- deprecated: property.deprecated || this.getParameterDeprecation(),
135
- });
136
- // todo: example, format
137
- }
138
- return output;
139
- }
140
- getParamParameter(manager) {
141
- return [
142
- ...this.getBodyParameter(manager),
143
- ...this.getCookieParameter(manager),
144
- ];
145
- }
146
- getContextParameter() {
147
- const parameterName = this.parameter.name.text;
148
- // todo: req, res, next should maybe be separate parameter sources.
149
- return [
150
- {
151
- description: this.getParameterDescription(),
152
- in: constants_1.ParameterSource.CONTEXT,
153
- name: parameterName,
154
- parameterName,
155
- required: !this.parameter.questionToken,
156
- type: null,
157
- },
158
- ];
159
- }
160
- getFileParameter(manager) {
161
- const parameterName = this.parameter.name.text;
162
- let name = parameterName;
163
- const value = manager.get('value');
164
- if (typeof value === 'string') {
165
- name = value;
166
- }
167
- if (!this.isBodySupportedForMethod(this.method)) {
168
- throw error_1.ParameterError.methodUnsupported({
169
- decoratorName: manager.representation.name,
170
- propertyName: name,
171
- method: this.method,
172
- node: this.parameter,
173
- });
174
- }
175
- const elementType = { typeName: resolver_1.TypeName.FILE };
176
- let type;
177
- if (manager.representation.id === decorator_1.DecoratorID.FILES) {
178
- type = { typeName: resolver_1.TypeName.ARRAY, elementType };
179
- }
180
- else {
181
- type = elementType;
182
- }
183
- const { examples, exampleLabels } = this.getParameterExample(parameterName);
184
- return [
185
- {
186
- default: (0, utils_1.getInitializerValue)(this.parameter.initializer, this.current.typeChecker, type),
187
- description: this.getParameterDescription(),
188
- examples,
189
- exampleLabels,
190
- in: constants_1.ParameterSource.FORM_DATA,
191
- name: name || parameterName,
192
- parameterName,
193
- required: !this.parameter.questionToken && !this.parameter.initializer,
194
- type,
195
- deprecated: this.getParameterDeprecation(),
196
- validators: (0, utils_1.getDeclarationValidators)(this.parameter, parameterName),
197
- },
198
- ];
199
- }
200
- getFormParameter(manager) {
201
- const parameterName = this.parameter.name.text;
202
- let name = parameterName;
203
- const type = this.getValidatedType(this.parameter);
204
- if (!this.isBodySupportedForMethod(this.method)) {
205
- throw error_1.ParameterError.methodUnsupported({
206
- decoratorName: manager.representation.name,
207
- propertyName: name,
208
- method: this.method,
209
- node: this.parameter,
210
- });
211
- }
212
- const value = manager.get('value');
213
- if (typeof value === 'string') {
214
- name = value;
215
- }
216
- const { examples, exampleLabels } = this.getParameterExample(parameterName);
217
- return [
218
- {
219
- default: (0, utils_1.getInitializerValue)(this.parameter.initializer, this.current.typeChecker, type),
220
- description: this.getParameterDescription(),
221
- examples,
222
- exampleLabels,
223
- in: constants_1.ParameterSource.FORM_DATA,
224
- name: name || parameterName,
225
- parameterName,
226
- required: !this.parameter.questionToken && !this.parameter.initializer,
227
- type,
228
- deprecated: this.getParameterDeprecation(),
229
- validators: (0, utils_1.getDeclarationValidators)(this.parameter, parameterName),
230
- },
231
- ];
232
- }
233
- getCookieParameter(manager) {
234
- const parameterName = this.parameter.name.text;
235
- let name = parameterName;
236
- const type = this.getValidatedType(this.parameter);
237
- const { examples, exampleLabels } = this.getParameterExample(parameterName);
238
- if ((0, resolver_1.isNestedObjectLiteralType)(type) ||
239
- (0, resolver_1.isRefObjectType)(type)) {
240
- return this.buildParametersForObject(type, {
241
- in: constants_1.ParameterSource.COOKIE,
242
- examples,
243
- exampleLabels,
244
- });
245
- }
246
- if (!this.isTypeSupported(type)) {
247
- throw error_1.ParameterError.typeUnsupported({
248
- decoratorName: manager.representation.name,
249
- propertyName: name,
250
- type,
251
- node: this.parameter,
252
- });
253
- }
254
- const value = manager.get('value');
255
- if (typeof value === 'string') {
256
- name = value;
257
- }
258
- return [
259
- {
260
- default: (0, utils_1.getInitializerValue)(this.parameter.initializer, this.current.typeChecker, type),
261
- description: this.getParameterDescription(),
262
- examples,
263
- exampleLabels,
264
- in: constants_1.ParameterSource.COOKIE,
265
- name: name || parameterName,
266
- parameterName,
267
- required: !this.parameter.questionToken && !this.parameter.initializer,
268
- type,
269
- deprecated: this.getParameterDeprecation(),
270
- validators: (0, utils_1.getDeclarationValidators)(this.parameter, parameterName),
271
- },
272
- ];
273
- }
274
- getBodyParameter(manager) {
275
- const parameterName = this.parameter.name.text;
276
- let name = parameterName;
277
- let source = constants_1.ParameterSource.BODY;
278
- if (manager) {
279
- const value = manager.get('value');
280
- if (typeof value === 'string') {
281
- name = value;
282
- source = constants_1.ParameterSource.BODY_PROP;
283
- }
284
- }
285
- const type = this.getValidatedType(this.parameter);
286
- if (!this.isBodySupportedForMethod(this.method)) {
287
- throw error_1.ParameterError.methodUnsupported({
288
- decoratorName: manager ? manager.representation.name : 'Body',
289
- propertyName: name,
290
- method: this.method,
291
- node: this.parameter,
292
- });
293
- }
294
- const { examples, exampleLabels } = this.getParameterExample(parameterName);
295
- return [
296
- {
297
- default: (0, utils_1.getInitializerValue)(this.parameter.initializer, this.current.typeChecker, type),
298
- description: this.getParameterDescription(),
299
- examples,
300
- exampleLabels,
301
- in: source,
302
- name: name || parameterName,
303
- parameterName,
304
- required: !this.parameter.questionToken && !this.parameter.initializer,
305
- type,
306
- deprecated: this.getParameterDeprecation(),
307
- validators: (0, utils_1.getDeclarationValidators)(this.parameter, parameterName),
308
- },
309
- ];
310
- }
311
- getHeaderParameter(manager) {
312
- const parameterName = this.parameter.name.text;
313
- let name = parameterName;
314
- const type = this.getValidatedType(this.parameter);
315
- const value = manager.get('value');
316
- if (typeof value === 'string') {
317
- name = value;
318
- }
319
- const { examples, exampleLabels } = this.getParameterExample(parameterName);
320
- if ((0, resolver_1.isNestedObjectLiteralType)(type) ||
321
- (0, resolver_1.isRefObjectType)(type)) {
322
- return this.buildParametersForObject(type, {
323
- in: constants_1.ParameterSource.HEADER,
324
- examples,
325
- exampleLabels,
326
- });
327
- }
328
- if (!this.isTypeSupported(type)) {
329
- throw error_1.ParameterError.typeUnsupported({
330
- decoratorName: manager.representation.name,
331
- propertyName: name,
332
- type,
333
- node: this.parameter,
334
- });
335
- }
336
- return [
337
- {
338
- default: (0, utils_1.getInitializerValue)(this.parameter.initializer, this.current.typeChecker, type),
339
- description: this.getParameterDescription(),
340
- examples,
341
- exampleLabels,
342
- in: constants_1.ParameterSource.HEADER,
343
- name: name || parameterName,
344
- parameterName,
345
- required: !this.parameter.questionToken && !this.parameter.initializer,
346
- type,
347
- deprecated: this.getParameterDeprecation(),
348
- validators: (0, utils_1.getDeclarationValidators)(this.parameter, parameterName),
349
- },
350
- ];
351
- }
352
- getQueryParameter(manager) {
353
- const parameterName = this.parameter.name.text;
354
- const type = this.getValidatedType(this.parameter);
355
- let name = parameterName;
356
- let options = {};
357
- let source = constants_1.ParameterSource.QUERY;
358
- const nameValue = manager.get('value');
359
- if (typeof nameValue === 'string') {
360
- name = nameValue;
361
- source = constants_1.ParameterSource.QUERY_PROP;
362
- }
363
- const optionsValue = manager.get('options');
364
- if ((0, locter_1.isObject)(optionsValue)) {
365
- options = optionsValue;
366
- }
367
- const { examples, exampleLabels } = this.getParameterExample(parameterName);
368
- if (source === constants_1.ParameterSource.QUERY) {
369
- // yeah! we can transform the object to individual properties.
370
- if ((0, resolver_1.isNestedObjectLiteralType)(type) ||
371
- (0, resolver_1.isRefObjectType)(type)) {
372
- return this.buildParametersForObject(type, {
373
- in: constants_1.ParameterSource.QUERY_PROP,
374
- examples,
375
- exampleLabels,
376
- });
377
- // todo: transform ( type.typeName === 'array')
378
- }
379
- }
380
- const properties = {
381
- allowEmptyValue: options.allowEmptyValue,
382
- collectionFormat: options.collectionFormat,
383
- default: (0, utils_1.getInitializerValue)(this.parameter.initializer, this.current.typeChecker, type),
384
- description: this.getParameterDescription(),
385
- examples,
386
- exampleLabels,
387
- in: source,
388
- maxItems: options.maxItems,
389
- minItems: options.minItems,
390
- name,
391
- parameterName,
392
- required: !this.parameter.questionToken && !this.parameter.initializer,
393
- type,
394
- deprecated: this.getParameterDeprecation(),
395
- validators: (0, utils_1.getDeclarationValidators)(this.parameter, parameterName),
396
- };
397
- if ((0, resolver_1.isArrayType)(type)) {
398
- if (!this.isTypeSupported(type.elementType)) {
399
- throw error_1.ParameterError.typeUnsupported({
400
- decoratorName: manager.representation.name,
401
- propertyName: name,
402
- type: type.elementType,
403
- node: this.parameter,
404
- });
405
- }
406
- return [{
407
- ...properties,
408
- collectionFormat: constants_1.CollectionFormat.MULTI,
409
- type,
410
- }];
411
- }
412
- // todo: investigate if this refEnum and union are valid types
413
- if (!this.isTypeSupportedForQueryParameter(type)) {
414
- throw error_1.ParameterError.typeUnsupported({
415
- decoratorName: manager.representation.name,
416
- propertyName: name,
417
- type,
418
- node: this.parameter,
419
- });
420
- }
421
- return [properties];
422
- }
423
- isTypeSupportedForQueryParameter(type) {
424
- return this.isTypeSupported(type) ||
425
- (0, resolver_1.isRefEnumType)(type) ||
426
- (0, resolver_1.isUnionType)(type);
427
- }
428
- getPathParameter(manager) {
429
- const parameterName = this.parameter.name.text;
430
- let name = parameterName;
431
- const type = this.getValidatedType(this.parameter);
432
- const value = manager.get('value');
433
- if (typeof value === 'string') {
434
- name = value;
435
- }
436
- const { examples, exampleLabels } = this.getParameterExample(parameterName);
437
- if ((0, resolver_1.isNestedObjectLiteralType)(type) ||
438
- (0, resolver_1.isRefObjectType)(type)) {
439
- const output = this.buildParametersForObject(type, {
440
- in: constants_1.ParameterSource.PATH,
441
- examples,
442
- exampleLabels,
443
- });
444
- for (let i = 0; i < output.length; i++) {
445
- if ((!this.path.includes(`{${output[i].name}}`)) &&
446
- (!this.path.includes(`:${output[i].name}`))) {
447
- throw error_1.ParameterError.invalidPathMatch({
448
- decoratorName: manager.representation.name,
449
- propertyName: name,
450
- path: this.path,
451
- node: this.parameter,
452
- });
453
- }
454
- }
455
- return output;
456
- }
457
- if (!this.isTypeSupported(type)) {
458
- throw error_1.ParameterError.typeUnsupported({
459
- decoratorName: manager.representation.name,
460
- propertyName: name,
461
- type,
462
- node: this.parameter,
463
- });
464
- }
465
- if ((!this.path.includes(`{${name}}`)) &&
466
- (!this.path.includes(`:${name}`))) {
467
- throw error_1.ParameterError.invalidPathMatch({
468
- decoratorName: manager.representation.name,
469
- propertyName: name,
470
- path: this.path,
471
- node: this.parameter,
472
- });
473
- }
474
- return [
475
- {
476
- default: (0, utils_1.getInitializerValue)(this.parameter.initializer, this.current.typeChecker, type),
477
- description: this.getParameterDescription(),
478
- examples,
479
- exampleLabels,
480
- in: constants_1.ParameterSource.PATH,
481
- name: name || parameterName,
482
- parameterName,
483
- required: true,
484
- type,
485
- deprecated: this.getParameterDeprecation(),
486
- validators: (0, utils_1.getDeclarationValidators)(this.parameter, parameterName),
487
- },
488
- ];
489
- }
490
- // -------------------------------------------------------------------------------------
491
- getParameterDescription() {
492
- const symbol = this.current.typeChecker.getSymbolAtLocation(this.parameter.name);
493
- if (symbol) {
494
- const comments = symbol.getDocumentationComment(this.current.typeChecker);
495
- if (comments.length) {
496
- return ts.displayPartsToString(comments);
497
- }
498
- }
499
- return '';
500
- }
501
- getParameterDeprecation() {
502
- if ((0, utils_1.hasJSDocTag)(this.parameter, utils_1.JSDocTagName.DEPRECATED)) {
503
- return true;
504
- }
505
- const match = this.current.decoratorResolver.match(decorator_1.DecoratorID.DEPRECATED, this.parameter);
506
- return !!match;
507
- }
508
- getParameterExample(parameterName) {
509
- const exampleLabels = [];
510
- const examples = (0, utils_1.getJSDocTags)(this.parameter.parent, (tag) => {
511
- const comment = (0, utils_1.transformJSDocComment)(tag.comment);
512
- const isExample = (tag.tagName.text === utils_1.JSDocTagName.EXAMPLE || tag.tagName.escapedText === utils_1.JSDocTagName.EXAMPLE) &&
513
- !!comment && comment.startsWith(parameterName);
514
- if (isExample && comment) {
515
- const hasExampleLabel = (comment.split(' ')[0].indexOf('.') || -1) > 0;
516
- // custom example label is delimited by first '.' and the rest will all be included as example label
517
- exampleLabels.push(hasExampleLabel ? comment.split(' ')[0].split('.').slice(1).join('.') : undefined);
518
- }
519
- return isExample ?? false;
520
- }).map((tag) => ((0, utils_1.transformJSDocComment)(tag.comment) || '')
521
- .replace(`${(0, utils_1.transformJSDocComment)(tag.comment)?.split(' ')[0] || ''}`, '')
522
- .replace(/\r/g, ''));
523
- if (examples.length === 0) {
524
- return {
525
- examples: undefined,
526
- exampleLabels: undefined,
527
- };
528
- }
529
- try {
530
- return {
531
- examples: examples.map((example) => JSON.parse(example)),
532
- exampleLabels,
533
- };
534
- }
535
- catch (e) {
536
- throw error_1.ParameterError.invalidExampleSchema();
537
- }
538
- }
539
- isBodySupportedForMethod(method) {
540
- return ['delete', 'post', 'put', 'patch', 'get'].some((m) => m === method);
541
- }
542
- isTypeSupported(parameterType) {
543
- return [
544
- resolver_1.TypeName.STRING,
545
- resolver_1.TypeName.INTEGER,
546
- resolver_1.TypeName.LONG,
547
- resolver_1.TypeName.FLOAT,
548
- resolver_1.TypeName.DOUBLE,
549
- resolver_1.TypeName.DATE,
550
- resolver_1.TypeName.DATETIME,
551
- resolver_1.TypeName.BUFFER,
552
- resolver_1.TypeName.BOOLEAN,
553
- resolver_1.TypeName.ENUM,
554
- ].find((t) => t === parameterType.typeName);
555
- }
556
- getValidatedType(parameter) {
557
- let typeNode = parameter.type;
558
- if (!typeNode) {
559
- const type = this.current.typeChecker.getTypeAtLocation(parameter);
560
- typeNode = this.current.typeChecker.typeToTypeNode(type, undefined, ts.NodeBuilderFlags.NoTruncation);
561
- }
562
- return new resolver_1.TypeNodeResolver(typeNode, this.current, parameter).resolve();
563
- }
564
- }
565
- exports.ParameterGenerator = ParameterGenerator;
566
- //# sourceMappingURL=module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/generator/parameter/module.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import type { Validator } from '../../utils';
2
- import type { ArrayType, Type } from '../../resolver';
3
- import type { Example } from '../type';
4
- import type { CollectionFormat, ParameterSource } from './constants';
5
- export interface Parameter {
6
- parameterName: string;
7
- description: string;
8
- in: `${ParameterSource}`;
9
- name: string;
10
- required: boolean;
11
- type: Type;
12
- collectionFormat?: `${CollectionFormat}`;
13
- allowEmptyValue?: boolean;
14
- default?: any;
15
- maxItems?: number;
16
- minItems?: number;
17
- deprecated?: boolean;
18
- examples?: Example[];
19
- exampleLabels?: string[];
20
- validators?: Record<string, Validator>;
21
- }
22
- export interface ArrayParameter extends Parameter {
23
- type: ArrayType;
24
- }
25
- //# sourceMappingURL=type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/generator/parameter/type.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,MAAM,WAAW,SAAS;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,GAAG,eAAe,EAAE,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC7C,IAAI,EAAE,SAAS,CAAC;CACnB"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright (c) 2023.
4
- * Author Peter Placzek (tada5hi)
5
- * For the full copyright and license information,
6
- * view the LICENSE file that was distributed with this source code.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- //# sourceMappingURL=type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/generator/parameter/type.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -1,20 +0,0 @@
1
- import type { CompilerOptions } from 'typescript';
2
- import type { BaseType, NestedObjectLiteralType, RefObjectType } from '../resolver';
3
- export type { CompilerOptions, };
4
- export type Security = Record<string, string[]>;
5
- export interface Example {
6
- value: unknown | unknown[];
7
- summary?: string;
8
- description?: string;
9
- label?: string;
10
- }
11
- export interface Response {
12
- description: string;
13
- examples?: Example[];
14
- headers?: NestedObjectLiteralType | RefObjectType;
15
- name: string;
16
- produces?: string[];
17
- status: string;
18
- schema?: BaseType;
19
- }
20
- //# sourceMappingURL=type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/generator/type.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEpF,YAAY,EACR,eAAe,GAClB,CAAC;AAGF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAEhD,MAAM,WAAW,OAAO;IACpB,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,QAAQ;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,CAAC;CACrB"}