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