@tsed/schema 7.0.0-alpha.1 → 7.0.0-beta.3

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 (725) hide show
  1. package/benchmark/cold-start.js +17 -0
  2. package/jest.config.js +14 -0
  3. package/lib/cjs/components/anyMapper.js +23 -0
  4. package/lib/cjs/components/anyMapper.js.map +1 -0
  5. package/lib/cjs/components/classMapper.js +41 -0
  6. package/lib/cjs/components/classMapper.js.map +1 -0
  7. package/lib/cjs/components/genericsMapper.js +62 -0
  8. package/lib/cjs/components/genericsMapper.js.map +1 -0
  9. package/lib/cjs/components/index.js +15 -0
  10. package/lib/cjs/components/index.js.map +1 -0
  11. package/lib/cjs/components/inheritedClassMapper.js +22 -0
  12. package/lib/cjs/components/inheritedClassMapper.js.map +1 -0
  13. package/lib/cjs/components/itemMapper.js +10 -0
  14. package/lib/cjs/components/itemMapper.js.map +1 -0
  15. package/lib/cjs/components/lazyRefMapper.js +19 -0
  16. package/lib/cjs/components/lazyRefMapper.js.map +1 -0
  17. package/lib/cjs/components/mapMapper.js +25 -0
  18. package/lib/cjs/components/mapMapper.js.map +1 -0
  19. package/lib/cjs/components/objectMapper.js +31 -0
  20. package/lib/cjs/components/objectMapper.js.map +1 -0
  21. package/lib/cjs/components/ofMapper.js +17 -0
  22. package/lib/cjs/components/ofMapper.js.map +1 -0
  23. package/lib/cjs/components/propertiesMapper.js +25 -0
  24. package/lib/cjs/components/propertiesMapper.js.map +1 -0
  25. package/lib/cjs/components/schemaMapper.js +95 -0
  26. package/lib/cjs/components/schemaMapper.js.map +1 -0
  27. package/lib/cjs/constants/httpMethods.js +46 -0
  28. package/lib/cjs/constants/httpMethods.js.map +1 -0
  29. package/lib/cjs/constants/httpStatusMessages.js +110 -0
  30. package/lib/cjs/constants/httpStatusMessages.js.map +1 -0
  31. package/lib/cjs/decorators/class/children.js +24 -0
  32. package/lib/cjs/decorators/class/children.js.map +1 -0
  33. package/lib/cjs/decorators/collections/collectionContains.js +29 -0
  34. package/lib/cjs/decorators/collections/collectionContains.js.map +1 -0
  35. package/lib/cjs/decorators/collections/collectionOf.js +103 -0
  36. package/lib/cjs/decorators/collections/collectionOf.js.map +1 -0
  37. package/lib/cjs/decorators/collections/maxItems.js +60 -0
  38. package/lib/cjs/decorators/collections/maxItems.js.map +1 -0
  39. package/lib/cjs/decorators/collections/maxProperties.js +83 -0
  40. package/lib/cjs/decorators/collections/maxProperties.js.map +1 -0
  41. package/lib/cjs/decorators/collections/minItems.js +64 -0
  42. package/lib/cjs/decorators/collections/minItems.js.map +1 -0
  43. package/lib/cjs/decorators/collections/minProperties.js +82 -0
  44. package/lib/cjs/decorators/collections/minProperties.js.map +1 -0
  45. package/lib/cjs/decorators/collections/uniqueItems.js +60 -0
  46. package/lib/cjs/decorators/collections/uniqueItems.js.map +1 -0
  47. package/lib/cjs/decorators/common/additionalProperties.js +20 -0
  48. package/lib/cjs/decorators/common/additionalProperties.js.map +1 -0
  49. package/lib/cjs/decorators/common/allOf.js +22 -0
  50. package/lib/cjs/decorators/common/allOf.js.map +1 -0
  51. package/lib/cjs/decorators/common/allow.js +47 -0
  52. package/lib/cjs/decorators/common/allow.js.map +1 -0
  53. package/lib/cjs/decorators/common/any.js +46 -0
  54. package/lib/cjs/decorators/common/any.js.map +1 -0
  55. package/lib/cjs/decorators/common/anyOf.js +22 -0
  56. package/lib/cjs/decorators/common/anyOf.js.map +1 -0
  57. package/lib/cjs/decorators/common/const.js +70 -0
  58. package/lib/cjs/decorators/common/const.js.map +1 -0
  59. package/lib/cjs/decorators/common/customKey.js +43 -0
  60. package/lib/cjs/decorators/common/customKey.js.map +1 -0
  61. package/lib/cjs/decorators/common/default.js +51 -0
  62. package/lib/cjs/decorators/common/default.js.map +1 -0
  63. package/lib/cjs/decorators/common/description.js +76 -0
  64. package/lib/cjs/decorators/common/description.js.map +1 -0
  65. package/lib/cjs/decorators/common/enum.js +30 -0
  66. package/lib/cjs/decorators/common/enum.js.map +1 -0
  67. package/lib/cjs/decorators/common/example.js +21 -0
  68. package/lib/cjs/decorators/common/example.js.map +1 -0
  69. package/lib/cjs/decorators/common/examples.js +21 -0
  70. package/lib/cjs/decorators/common/examples.js.map +1 -0
  71. package/lib/cjs/decorators/common/exclusiveMaximum.js +77 -0
  72. package/lib/cjs/decorators/common/exclusiveMaximum.js.map +1 -0
  73. package/lib/cjs/decorators/common/exclusiveMinimum.js +77 -0
  74. package/lib/cjs/decorators/common/exclusiveMinimum.js.map +1 -0
  75. package/lib/cjs/decorators/common/format.js +486 -0
  76. package/lib/cjs/decorators/common/format.js.map +1 -0
  77. package/lib/cjs/decorators/common/forwardGroups.js +20 -0
  78. package/lib/cjs/decorators/common/forwardGroups.js.map +1 -0
  79. package/lib/cjs/decorators/common/groups.js +41 -0
  80. package/lib/cjs/decorators/common/groups.js.map +1 -0
  81. package/lib/cjs/decorators/common/hidden.js +40 -0
  82. package/lib/cjs/decorators/common/hidden.js.map +1 -0
  83. package/lib/cjs/decorators/common/ignore.js +71 -0
  84. package/lib/cjs/decorators/common/ignore.js.map +1 -0
  85. package/lib/cjs/decorators/common/integer.js +71 -0
  86. package/lib/cjs/decorators/common/integer.js.map +1 -0
  87. package/lib/cjs/decorators/common/jsonEntityFn.js +32 -0
  88. package/lib/cjs/decorators/common/jsonEntityFn.js.map +1 -0
  89. package/lib/cjs/decorators/common/maxLength.js +89 -0
  90. package/lib/cjs/decorators/common/maxLength.js.map +1 -0
  91. package/lib/cjs/decorators/common/maximum.js +151 -0
  92. package/lib/cjs/decorators/common/maximum.js.map +1 -0
  93. package/lib/cjs/decorators/common/minLength.js +90 -0
  94. package/lib/cjs/decorators/common/minLength.js.map +1 -0
  95. package/lib/cjs/decorators/common/minimum.js +149 -0
  96. package/lib/cjs/decorators/common/minimum.js.map +1 -0
  97. package/lib/cjs/decorators/common/multipleOf.js +81 -0
  98. package/lib/cjs/decorators/common/multipleOf.js.map +1 -0
  99. package/lib/cjs/decorators/common/name.js +52 -0
  100. package/lib/cjs/decorators/common/name.js.map +1 -0
  101. package/lib/cjs/decorators/common/nullable.js +34 -0
  102. package/lib/cjs/decorators/common/nullable.js.map +1 -0
  103. package/lib/cjs/decorators/common/oneOf.js +23 -0
  104. package/lib/cjs/decorators/common/oneOf.js.map +1 -0
  105. package/lib/cjs/decorators/common/optional.js +28 -0
  106. package/lib/cjs/decorators/common/optional.js.map +1 -0
  107. package/lib/cjs/decorators/common/pattern.js +103 -0
  108. package/lib/cjs/decorators/common/pattern.js.map +1 -0
  109. package/lib/cjs/decorators/common/property.js +27 -0
  110. package/lib/cjs/decorators/common/property.js.map +1 -0
  111. package/lib/cjs/decorators/common/readOnly.js +21 -0
  112. package/lib/cjs/decorators/common/readOnly.js.map +1 -0
  113. package/lib/cjs/decorators/common/required.js +53 -0
  114. package/lib/cjs/decorators/common/required.js.map +1 -0
  115. package/lib/cjs/decorators/common/requiredGroups.js +26 -0
  116. package/lib/cjs/decorators/common/requiredGroups.js.map +1 -0
  117. package/lib/cjs/decorators/common/schema.js +68 -0
  118. package/lib/cjs/decorators/common/schema.js.map +1 -0
  119. package/lib/cjs/decorators/common/title.js +49 -0
  120. package/lib/cjs/decorators/common/title.js.map +1 -0
  121. package/lib/cjs/decorators/common/writeOnly.js +21 -0
  122. package/lib/cjs/decorators/common/writeOnly.js.map +1 -0
  123. package/lib/cjs/decorators/config/jsonEntityComponent.js +18 -0
  124. package/lib/cjs/decorators/config/jsonEntityComponent.js.map +1 -0
  125. package/lib/cjs/decorators/generics/genericOf.js +99 -0
  126. package/lib/cjs/decorators/generics/genericOf.js.map +1 -0
  127. package/lib/cjs/decorators/generics/generics.js +25 -0
  128. package/lib/cjs/decorators/generics/generics.js.map +1 -0
  129. package/lib/cjs/decorators/index.js +77 -0
  130. package/lib/cjs/decorators/index.js.map +1 -0
  131. package/lib/cjs/decorators/operations/consumes.js +39 -0
  132. package/lib/cjs/decorators/operations/consumes.js.map +1 -0
  133. package/lib/cjs/decorators/operations/contentType.js +28 -0
  134. package/lib/cjs/decorators/operations/contentType.js.map +1 -0
  135. package/lib/cjs/decorators/operations/deprecated.js +43 -0
  136. package/lib/cjs/decorators/operations/deprecated.js.map +1 -0
  137. package/lib/cjs/decorators/operations/header.js +59 -0
  138. package/lib/cjs/decorators/operations/header.js.map +1 -0
  139. package/lib/cjs/decorators/operations/in.js +78 -0
  140. package/lib/cjs/decorators/operations/in.js.map +1 -0
  141. package/lib/cjs/decorators/operations/inFile.js +45 -0
  142. package/lib/cjs/decorators/operations/inFile.js.map +1 -0
  143. package/lib/cjs/decorators/operations/location.js +29 -0
  144. package/lib/cjs/decorators/operations/location.js.map +1 -0
  145. package/lib/cjs/decorators/operations/operationId.js +24 -0
  146. package/lib/cjs/decorators/operations/operationId.js.map +1 -0
  147. package/lib/cjs/decorators/operations/operationPath.js +34 -0
  148. package/lib/cjs/decorators/operations/operationPath.js.map +1 -0
  149. package/lib/cjs/decorators/operations/partial.js +18 -0
  150. package/lib/cjs/decorators/operations/partial.js.map +1 -0
  151. package/lib/cjs/decorators/operations/path.js +29 -0
  152. package/lib/cjs/decorators/operations/path.js.map +1 -0
  153. package/lib/cjs/decorators/operations/produces.js +46 -0
  154. package/lib/cjs/decorators/operations/produces.js.map +1 -0
  155. package/lib/cjs/decorators/operations/redirect.js +26 -0
  156. package/lib/cjs/decorators/operations/redirect.js.map +1 -0
  157. package/lib/cjs/decorators/operations/returns.js +252 -0
  158. package/lib/cjs/decorators/operations/returns.js.map +1 -0
  159. package/lib/cjs/decorators/operations/route.js +200 -0
  160. package/lib/cjs/decorators/operations/route.js.map +1 -0
  161. package/lib/cjs/decorators/operations/security.js +43 -0
  162. package/lib/cjs/decorators/operations/security.js.map +1 -0
  163. package/lib/cjs/decorators/operations/status.js +133 -0
  164. package/lib/cjs/decorators/operations/status.js.map +1 -0
  165. package/lib/cjs/decorators/operations/summary.js +34 -0
  166. package/lib/cjs/decorators/operations/summary.js.map +1 -0
  167. package/lib/cjs/decorators/operations/tags.js +52 -0
  168. package/lib/cjs/decorators/operations/tags.js.map +1 -0
  169. package/lib/cjs/domain/DecoratorContext.js +88 -0
  170. package/lib/cjs/domain/DecoratorContext.js.map +1 -0
  171. package/lib/cjs/domain/JsonAliasMap.js +15 -0
  172. package/lib/cjs/domain/JsonAliasMap.js.map +1 -0
  173. package/lib/cjs/domain/JsonClassStore.js +37 -0
  174. package/lib/cjs/domain/JsonClassStore.js.map +1 -0
  175. package/lib/cjs/domain/JsonEntityStore.js +166 -0
  176. package/lib/cjs/domain/JsonEntityStore.js.map +1 -0
  177. package/lib/cjs/domain/JsonFormatTypes.js +22 -0
  178. package/lib/cjs/domain/JsonFormatTypes.js.map +1 -0
  179. package/lib/cjs/domain/JsonLazyRef.js +26 -0
  180. package/lib/cjs/domain/JsonLazyRef.js.map +1 -0
  181. package/lib/cjs/domain/JsonMap.js +27 -0
  182. package/lib/cjs/domain/JsonMap.js.map +1 -0
  183. package/lib/cjs/domain/JsonMethodStore.js +101 -0
  184. package/lib/cjs/domain/JsonMethodStore.js.map +1 -0
  185. package/lib/cjs/domain/JsonOperation.js +250 -0
  186. package/lib/cjs/domain/JsonOperation.js.map +1 -0
  187. package/lib/cjs/domain/JsonOperationPathsMap.js +29 -0
  188. package/lib/cjs/domain/JsonOperationPathsMap.js.map +1 -0
  189. package/lib/cjs/domain/JsonOperationRoute.js +56 -0
  190. package/lib/cjs/domain/JsonOperationRoute.js.map +1 -0
  191. package/lib/cjs/domain/JsonParameter.js +125 -0
  192. package/lib/cjs/domain/JsonParameter.js.map +1 -0
  193. package/lib/cjs/domain/JsonParameterStore.js +90 -0
  194. package/lib/cjs/domain/JsonParameterStore.js.map +1 -0
  195. package/lib/cjs/domain/JsonParameterTypes.js +27 -0
  196. package/lib/cjs/domain/JsonParameterTypes.js.map +1 -0
  197. package/lib/cjs/domain/JsonPropertyStore.js +68 -0
  198. package/lib/cjs/domain/JsonPropertyStore.js.map +1 -0
  199. package/lib/cjs/domain/JsonRequestBody.js +32 -0
  200. package/lib/cjs/domain/JsonRequestBody.js.map +1 -0
  201. package/lib/cjs/domain/JsonResponse.js +86 -0
  202. package/lib/cjs/domain/JsonResponse.js.map +1 -0
  203. package/lib/cjs/domain/JsonSchema.js +723 -0
  204. package/lib/cjs/domain/JsonSchema.js.map +1 -0
  205. package/lib/cjs/domain/SpecTypes.js +9 -0
  206. package/lib/cjs/domain/SpecTypes.js.map +1 -0
  207. package/lib/cjs/domain/index.js +20 -0
  208. package/lib/cjs/domain/index.js.map +1 -0
  209. package/lib/cjs/hooks/alterIgnore.js +21 -0
  210. package/lib/cjs/hooks/alterIgnore.js.map +1 -0
  211. package/lib/cjs/hooks/alterOneOf.js +14 -0
  212. package/lib/cjs/hooks/alterOneOf.js.map +1 -0
  213. package/lib/cjs/hooks/alterRequiredGroups.js +15 -0
  214. package/lib/cjs/hooks/alterRequiredGroups.js.map +1 -0
  215. package/lib/cjs/index.js +24 -0
  216. package/lib/cjs/index.js.map +1 -0
  217. package/lib/cjs/interfaces/IgnoreCallback.js +3 -0
  218. package/lib/cjs/interfaces/IgnoreCallback.js.map +1 -0
  219. package/lib/cjs/interfaces/JsonHookContext.js +3 -0
  220. package/lib/cjs/interfaces/JsonHookContext.js.map +1 -0
  221. package/lib/cjs/interfaces/JsonOpenSpec.js +3 -0
  222. package/lib/cjs/interfaces/JsonOpenSpec.js.map +1 -0
  223. package/lib/cjs/interfaces/JsonSchemaOptions.js +3 -0
  224. package/lib/cjs/interfaces/JsonSchemaOptions.js.map +1 -0
  225. package/lib/cjs/interfaces/index.js +8 -0
  226. package/lib/cjs/interfaces/index.js.map +1 -0
  227. package/lib/cjs/registries/JsonSchemaMapperContainer.js +37 -0
  228. package/lib/cjs/registries/JsonSchemaMapperContainer.js.map +1 -0
  229. package/lib/cjs/utils/buildPath.js +13 -0
  230. package/lib/cjs/utils/buildPath.js.map +1 -0
  231. package/lib/cjs/utils/concatParameters.js +16 -0
  232. package/lib/cjs/utils/concatParameters.js.map +1 -0
  233. package/lib/cjs/utils/concatPath.js +8 -0
  234. package/lib/cjs/utils/concatPath.js.map +1 -0
  235. package/lib/cjs/utils/defineStatusModel.js +13 -0
  236. package/lib/cjs/utils/defineStatusModel.js.map +1 -0
  237. package/lib/cjs/utils/from.js +272 -0
  238. package/lib/cjs/utils/from.js.map +1 -0
  239. package/lib/cjs/utils/generics.js +40 -0
  240. package/lib/cjs/utils/generics.js.map +1 -0
  241. package/lib/cjs/utils/getComputedType.js +26 -0
  242. package/lib/cjs/utils/getComputedType.js.map +1 -0
  243. package/lib/cjs/utils/getInheritedStores.js +23 -0
  244. package/lib/cjs/utils/getInheritedStores.js.map +1 -0
  245. package/lib/cjs/utils/getJsonEntityStore.js +18 -0
  246. package/lib/cjs/utils/getJsonEntityStore.js.map +1 -0
  247. package/lib/cjs/utils/getJsonPathParameters.js +73 -0
  248. package/lib/cjs/utils/getJsonPathParameters.js.map +1 -0
  249. package/lib/cjs/utils/getJsonSchema.js +55 -0
  250. package/lib/cjs/utils/getJsonSchema.js.map +1 -0
  251. package/lib/cjs/utils/getJsonType.js +40 -0
  252. package/lib/cjs/utils/getJsonType.js.map +1 -0
  253. package/lib/cjs/utils/getOperationsRoutes.js +36 -0
  254. package/lib/cjs/utils/getOperationsRoutes.js.map +1 -0
  255. package/lib/cjs/utils/getOperationsStores.js +33 -0
  256. package/lib/cjs/utils/getOperationsStores.js.map +1 -0
  257. package/lib/cjs/utils/getPropertiesStores.js +45 -0
  258. package/lib/cjs/utils/getPropertiesStores.js.map +1 -0
  259. package/lib/cjs/utils/getRequiredProperties.js +66 -0
  260. package/lib/cjs/utils/getRequiredProperties.js.map +1 -0
  261. package/lib/cjs/utils/getSpec.js +87 -0
  262. package/lib/cjs/utils/getSpec.js.map +1 -0
  263. package/lib/cjs/utils/isSuccessStatus.js +8 -0
  264. package/lib/cjs/utils/isSuccessStatus.js.map +1 -0
  265. package/lib/cjs/utils/mapHeaders.js +29 -0
  266. package/lib/cjs/utils/mapHeaders.js.map +1 -0
  267. package/lib/cjs/utils/mapNullableType.js +44 -0
  268. package/lib/cjs/utils/mapNullableType.js.map +1 -0
  269. package/lib/cjs/utils/mapRouteOptions.js +26 -0
  270. package/lib/cjs/utils/mapRouteOptions.js.map +1 -0
  271. package/lib/cjs/utils/matchGroups.js +23 -0
  272. package/lib/cjs/utils/matchGroups.js.map +1 -0
  273. package/lib/cjs/utils/mergeOperation.js +44 -0
  274. package/lib/cjs/utils/mergeOperation.js.map +1 -0
  275. package/lib/cjs/utils/mergeSpec.js +46 -0
  276. package/lib/cjs/utils/mergeSpec.js.map +1 -0
  277. package/lib/cjs/utils/operationIdFormatter.js +37 -0
  278. package/lib/cjs/utils/operationIdFormatter.js.map +1 -0
  279. package/lib/cjs/utils/ref.js +65 -0
  280. package/lib/cjs/utils/ref.js.map +1 -0
  281. package/lib/cjs/utils/toJsonMapCollection.js +15 -0
  282. package/lib/cjs/utils/toJsonMapCollection.js.map +1 -0
  283. package/lib/cjs/utils/toJsonRegex.js +12 -0
  284. package/lib/cjs/utils/toJsonRegex.js.map +1 -0
  285. package/lib/esm/components/anyMapper.js +19 -0
  286. package/lib/esm/components/anyMapper.js.map +1 -0
  287. package/lib/esm/components/classMapper.js +37 -0
  288. package/lib/esm/components/classMapper.js.map +1 -0
  289. package/lib/esm/components/genericsMapper.js +58 -0
  290. package/lib/esm/components/genericsMapper.js.map +1 -0
  291. package/lib/esm/components/index.js +12 -0
  292. package/lib/esm/components/index.js.map +1 -0
  293. package/lib/esm/components/inheritedClassMapper.js +18 -0
  294. package/lib/esm/components/inheritedClassMapper.js.map +1 -0
  295. package/lib/esm/components/itemMapper.js +6 -0
  296. package/lib/esm/components/itemMapper.js.map +1 -0
  297. package/lib/esm/components/lazyRefMapper.js +15 -0
  298. package/lib/esm/components/lazyRefMapper.js.map +1 -0
  299. package/lib/esm/components/mapMapper.js +21 -0
  300. package/lib/esm/components/mapMapper.js.map +1 -0
  301. package/lib/esm/components/objectMapper.js +27 -0
  302. package/lib/esm/components/objectMapper.js.map +1 -0
  303. package/lib/esm/components/ofMapper.js +13 -0
  304. package/lib/esm/components/ofMapper.js.map +1 -0
  305. package/lib/esm/components/propertiesMapper.js +21 -0
  306. package/lib/esm/components/propertiesMapper.js.map +1 -0
  307. package/lib/esm/components/schemaMapper.js +91 -0
  308. package/lib/esm/components/schemaMapper.js.map +1 -0
  309. package/lib/esm/constants/httpMethods.js +43 -0
  310. package/lib/esm/constants/httpMethods.js.map +1 -0
  311. package/lib/esm/constants/httpStatusMessages.js +105 -0
  312. package/lib/esm/constants/httpStatusMessages.js.map +1 -0
  313. package/lib/esm/decorators/class/children.js +20 -0
  314. package/lib/esm/decorators/class/children.js.map +1 -0
  315. package/lib/esm/decorators/collections/collectionContains.js +25 -0
  316. package/lib/esm/decorators/collections/collectionContains.js.map +1 -0
  317. package/lib/esm/decorators/collections/collectionOf.js +97 -0
  318. package/lib/esm/decorators/collections/collectionOf.js.map +1 -0
  319. package/lib/esm/decorators/collections/maxItems.js +56 -0
  320. package/lib/esm/decorators/collections/maxItems.js.map +1 -0
  321. package/lib/esm/decorators/collections/maxProperties.js +79 -0
  322. package/lib/esm/decorators/collections/maxProperties.js.map +1 -0
  323. package/lib/esm/decorators/collections/minItems.js +60 -0
  324. package/lib/esm/decorators/collections/minItems.js.map +1 -0
  325. package/lib/esm/decorators/collections/minProperties.js +78 -0
  326. package/lib/esm/decorators/collections/minProperties.js.map +1 -0
  327. package/lib/esm/decorators/collections/uniqueItems.js +56 -0
  328. package/lib/esm/decorators/collections/uniqueItems.js.map +1 -0
  329. package/lib/esm/decorators/common/additionalProperties.js +16 -0
  330. package/lib/esm/decorators/common/additionalProperties.js.map +1 -0
  331. package/lib/esm/decorators/common/allOf.js +18 -0
  332. package/lib/esm/decorators/common/allOf.js.map +1 -0
  333. package/lib/esm/decorators/common/allow.js +43 -0
  334. package/lib/esm/decorators/common/allow.js.map +1 -0
  335. package/lib/esm/decorators/common/any.js +42 -0
  336. package/lib/esm/decorators/common/any.js.map +1 -0
  337. package/lib/esm/decorators/common/anyOf.js +18 -0
  338. package/lib/esm/decorators/common/anyOf.js.map +1 -0
  339. package/lib/esm/decorators/common/const.js +66 -0
  340. package/lib/esm/decorators/common/const.js.map +1 -0
  341. package/lib/esm/decorators/common/customKey.js +38 -0
  342. package/lib/esm/decorators/common/customKey.js.map +1 -0
  343. package/lib/esm/decorators/common/default.js +47 -0
  344. package/lib/esm/decorators/common/default.js.map +1 -0
  345. package/lib/esm/decorators/common/description.js +72 -0
  346. package/lib/esm/decorators/common/description.js.map +1 -0
  347. package/lib/esm/decorators/common/enum.js +26 -0
  348. package/lib/esm/decorators/common/enum.js.map +1 -0
  349. package/lib/esm/decorators/common/example.js +17 -0
  350. package/lib/esm/decorators/common/example.js.map +1 -0
  351. package/lib/esm/decorators/common/examples.js +17 -0
  352. package/lib/esm/decorators/common/examples.js.map +1 -0
  353. package/lib/esm/decorators/common/exclusiveMaximum.js +73 -0
  354. package/lib/esm/decorators/common/exclusiveMaximum.js.map +1 -0
  355. package/lib/esm/decorators/common/exclusiveMinimum.js +73 -0
  356. package/lib/esm/decorators/common/exclusiveMinimum.js.map +1 -0
  357. package/lib/esm/decorators/common/format.js +476 -0
  358. package/lib/esm/decorators/common/format.js.map +1 -0
  359. package/lib/esm/decorators/common/forwardGroups.js +16 -0
  360. package/lib/esm/decorators/common/forwardGroups.js.map +1 -0
  361. package/lib/esm/decorators/common/groups.js +37 -0
  362. package/lib/esm/decorators/common/groups.js.map +1 -0
  363. package/lib/esm/decorators/common/hidden.js +36 -0
  364. package/lib/esm/decorators/common/hidden.js.map +1 -0
  365. package/lib/esm/decorators/common/ignore.js +67 -0
  366. package/lib/esm/decorators/common/ignore.js.map +1 -0
  367. package/lib/esm/decorators/common/integer.js +67 -0
  368. package/lib/esm/decorators/common/integer.js.map +1 -0
  369. package/lib/esm/decorators/common/jsonEntityFn.js +28 -0
  370. package/lib/esm/decorators/common/jsonEntityFn.js.map +1 -0
  371. package/lib/esm/decorators/common/maxLength.js +85 -0
  372. package/lib/esm/decorators/common/maxLength.js.map +1 -0
  373. package/lib/esm/decorators/common/maximum.js +146 -0
  374. package/lib/esm/decorators/common/maximum.js.map +1 -0
  375. package/lib/esm/decorators/common/minLength.js +86 -0
  376. package/lib/esm/decorators/common/minLength.js.map +1 -0
  377. package/lib/esm/decorators/common/minimum.js +144 -0
  378. package/lib/esm/decorators/common/minimum.js.map +1 -0
  379. package/lib/esm/decorators/common/multipleOf.js +77 -0
  380. package/lib/esm/decorators/common/multipleOf.js.map +1 -0
  381. package/lib/esm/decorators/common/name.js +48 -0
  382. package/lib/esm/decorators/common/name.js.map +1 -0
  383. package/lib/esm/decorators/common/nullable.js +30 -0
  384. package/lib/esm/decorators/common/nullable.js.map +1 -0
  385. package/lib/esm/decorators/common/oneOf.js +19 -0
  386. package/lib/esm/decorators/common/oneOf.js.map +1 -0
  387. package/lib/esm/decorators/common/optional.js +24 -0
  388. package/lib/esm/decorators/common/optional.js.map +1 -0
  389. package/lib/esm/decorators/common/pattern.js +99 -0
  390. package/lib/esm/decorators/common/pattern.js.map +1 -0
  391. package/lib/esm/decorators/common/property.js +23 -0
  392. package/lib/esm/decorators/common/property.js.map +1 -0
  393. package/lib/esm/decorators/common/readOnly.js +17 -0
  394. package/lib/esm/decorators/common/readOnly.js.map +1 -0
  395. package/lib/esm/decorators/common/required.js +49 -0
  396. package/lib/esm/decorators/common/required.js.map +1 -0
  397. package/lib/esm/decorators/common/requiredGroups.js +22 -0
  398. package/lib/esm/decorators/common/requiredGroups.js.map +1 -0
  399. package/lib/esm/decorators/common/schema.js +63 -0
  400. package/lib/esm/decorators/common/schema.js.map +1 -0
  401. package/lib/esm/decorators/common/title.js +45 -0
  402. package/lib/esm/decorators/common/title.js.map +1 -0
  403. package/lib/esm/decorators/common/writeOnly.js +17 -0
  404. package/lib/esm/decorators/common/writeOnly.js.map +1 -0
  405. package/lib/esm/decorators/config/jsonEntityComponent.js +14 -0
  406. package/lib/esm/decorators/config/jsonEntityComponent.js.map +1 -0
  407. package/lib/esm/decorators/generics/genericOf.js +95 -0
  408. package/lib/esm/decorators/generics/genericOf.js.map +1 -0
  409. package/lib/esm/decorators/generics/generics.js +21 -0
  410. package/lib/esm/decorators/generics/generics.js.map +1 -0
  411. package/lib/esm/decorators/index.js +74 -0
  412. package/lib/esm/decorators/index.js.map +1 -0
  413. package/lib/esm/decorators/operations/consumes.js +35 -0
  414. package/lib/esm/decorators/operations/consumes.js.map +1 -0
  415. package/lib/esm/decorators/operations/contentType.js +24 -0
  416. package/lib/esm/decorators/operations/contentType.js.map +1 -0
  417. package/lib/esm/decorators/operations/deprecated.js +39 -0
  418. package/lib/esm/decorators/operations/deprecated.js.map +1 -0
  419. package/lib/esm/decorators/operations/header.js +55 -0
  420. package/lib/esm/decorators/operations/header.js.map +1 -0
  421. package/lib/esm/decorators/operations/in.js +74 -0
  422. package/lib/esm/decorators/operations/in.js.map +1 -0
  423. package/lib/esm/decorators/operations/inFile.js +41 -0
  424. package/lib/esm/decorators/operations/inFile.js.map +1 -0
  425. package/lib/esm/decorators/operations/location.js +25 -0
  426. package/lib/esm/decorators/operations/location.js.map +1 -0
  427. package/lib/esm/decorators/operations/operationId.js +20 -0
  428. package/lib/esm/decorators/operations/operationId.js.map +1 -0
  429. package/lib/esm/decorators/operations/operationPath.js +30 -0
  430. package/lib/esm/decorators/operations/operationPath.js.map +1 -0
  431. package/lib/esm/decorators/operations/partial.js +14 -0
  432. package/lib/esm/decorators/operations/partial.js.map +1 -0
  433. package/lib/esm/decorators/operations/path.js +25 -0
  434. package/lib/esm/decorators/operations/path.js.map +1 -0
  435. package/lib/esm/decorators/operations/produces.js +42 -0
  436. package/lib/esm/decorators/operations/produces.js.map +1 -0
  437. package/lib/esm/decorators/operations/redirect.js +22 -0
  438. package/lib/esm/decorators/operations/redirect.js.map +1 -0
  439. package/lib/esm/decorators/operations/returns.js +248 -0
  440. package/lib/esm/decorators/operations/returns.js.map +1 -0
  441. package/lib/esm/decorators/operations/route.js +188 -0
  442. package/lib/esm/decorators/operations/route.js.map +1 -0
  443. package/lib/esm/decorators/operations/security.js +39 -0
  444. package/lib/esm/decorators/operations/security.js.map +1 -0
  445. package/lib/esm/decorators/operations/status.js +129 -0
  446. package/lib/esm/decorators/operations/status.js.map +1 -0
  447. package/lib/esm/decorators/operations/summary.js +30 -0
  448. package/lib/esm/decorators/operations/summary.js.map +1 -0
  449. package/lib/esm/decorators/operations/tags.js +48 -0
  450. package/lib/esm/decorators/operations/tags.js.map +1 -0
  451. package/lib/esm/domain/DecoratorContext.js +84 -0
  452. package/lib/esm/domain/DecoratorContext.js.map +1 -0
  453. package/lib/esm/domain/JsonAliasMap.js +11 -0
  454. package/lib/esm/domain/JsonAliasMap.js.map +1 -0
  455. package/lib/esm/domain/JsonClassStore.js +34 -0
  456. package/lib/esm/domain/JsonClassStore.js.map +1 -0
  457. package/lib/esm/domain/JsonEntityStore.js +162 -0
  458. package/lib/esm/domain/JsonEntityStore.js.map +1 -0
  459. package/lib/esm/domain/JsonFormatTypes.js +19 -0
  460. package/lib/esm/domain/JsonFormatTypes.js.map +1 -0
  461. package/lib/esm/domain/JsonLazyRef.js +22 -0
  462. package/lib/esm/domain/JsonLazyRef.js.map +1 -0
  463. package/lib/esm/domain/JsonMap.js +23 -0
  464. package/lib/esm/domain/JsonMap.js.map +1 -0
  465. package/lib/esm/domain/JsonMethodStore.js +98 -0
  466. package/lib/esm/domain/JsonMethodStore.js.map +1 -0
  467. package/lib/esm/domain/JsonOperation.js +246 -0
  468. package/lib/esm/domain/JsonOperation.js.map +1 -0
  469. package/lib/esm/domain/JsonOperationPathsMap.js +25 -0
  470. package/lib/esm/domain/JsonOperationPathsMap.js.map +1 -0
  471. package/lib/esm/domain/JsonOperationRoute.js +52 -0
  472. package/lib/esm/domain/JsonOperationRoute.js.map +1 -0
  473. package/lib/esm/domain/JsonParameter.js +121 -0
  474. package/lib/esm/domain/JsonParameter.js.map +1 -0
  475. package/lib/esm/domain/JsonParameterStore.js +87 -0
  476. package/lib/esm/domain/JsonParameterStore.js.map +1 -0
  477. package/lib/esm/domain/JsonParameterTypes.js +22 -0
  478. package/lib/esm/domain/JsonParameterTypes.js.map +1 -0
  479. package/lib/esm/domain/JsonPropertyStore.js +65 -0
  480. package/lib/esm/domain/JsonPropertyStore.js.map +1 -0
  481. package/lib/esm/domain/JsonRequestBody.js +28 -0
  482. package/lib/esm/domain/JsonRequestBody.js.map +1 -0
  483. package/lib/esm/domain/JsonResponse.js +81 -0
  484. package/lib/esm/domain/JsonResponse.js.map +1 -0
  485. package/lib/esm/domain/JsonSchema.js +719 -0
  486. package/lib/esm/domain/JsonSchema.js.map +1 -0
  487. package/lib/esm/domain/SpecTypes.js +6 -0
  488. package/lib/esm/domain/SpecTypes.js.map +1 -0
  489. package/lib/esm/domain/index.js +17 -0
  490. package/lib/esm/domain/index.js.map +1 -0
  491. package/lib/esm/hooks/alterIgnore.js +17 -0
  492. package/lib/esm/hooks/alterIgnore.js.map +1 -0
  493. package/lib/esm/hooks/alterOneOf.js +10 -0
  494. package/lib/esm/hooks/alterOneOf.js.map +1 -0
  495. package/lib/esm/hooks/alterRequiredGroups.js +11 -0
  496. package/lib/esm/hooks/alterRequiredGroups.js.map +1 -0
  497. package/lib/esm/index.js +21 -0
  498. package/lib/esm/index.js.map +1 -0
  499. package/lib/esm/interfaces/IgnoreCallback.js +2 -0
  500. package/lib/esm/interfaces/IgnoreCallback.js.map +1 -0
  501. package/lib/esm/interfaces/JsonHookContext.js +2 -0
  502. package/lib/esm/interfaces/JsonHookContext.js.map +1 -0
  503. package/lib/esm/interfaces/JsonOpenSpec.js +2 -0
  504. package/lib/esm/interfaces/JsonOpenSpec.js.map +1 -0
  505. package/lib/esm/interfaces/JsonSchemaOptions.js +2 -0
  506. package/lib/esm/interfaces/JsonSchemaOptions.js.map +1 -0
  507. package/lib/esm/interfaces/index.js +5 -0
  508. package/lib/esm/interfaces/index.js.map +1 -0
  509. package/lib/esm/registries/JsonSchemaMapperContainer.js +30 -0
  510. package/lib/esm/registries/JsonSchemaMapperContainer.js.map +1 -0
  511. package/lib/esm/utils/buildPath.js +9 -0
  512. package/lib/esm/utils/buildPath.js.map +1 -0
  513. package/lib/esm/utils/concatParameters.js +12 -0
  514. package/lib/esm/utils/concatParameters.js.map +1 -0
  515. package/lib/esm/utils/concatPath.js +4 -0
  516. package/lib/esm/utils/concatPath.js.map +1 -0
  517. package/lib/esm/utils/defineStatusModel.js +8 -0
  518. package/lib/esm/utils/defineStatusModel.js.map +1 -0
  519. package/lib/esm/utils/from.js +249 -0
  520. package/lib/esm/utils/from.js.map +1 -0
  521. package/lib/esm/utils/generics.js +34 -0
  522. package/lib/esm/utils/generics.js.map +1 -0
  523. package/lib/esm/utils/getComputedType.js +22 -0
  524. package/lib/esm/utils/getComputedType.js.map +1 -0
  525. package/lib/esm/utils/getInheritedStores.js +19 -0
  526. package/lib/esm/utils/getInheritedStores.js.map +1 -0
  527. package/lib/esm/utils/getJsonEntityStore.js +14 -0
  528. package/lib/esm/utils/getJsonEntityStore.js.map +1 -0
  529. package/lib/esm/utils/getJsonPathParameters.js +69 -0
  530. package/lib/esm/utils/getJsonPathParameters.js.map +1 -0
  531. package/lib/esm/utils/getJsonSchema.js +51 -0
  532. package/lib/esm/utils/getJsonSchema.js.map +1 -0
  533. package/lib/esm/utils/getJsonType.js +36 -0
  534. package/lib/esm/utils/getJsonType.js.map +1 -0
  535. package/lib/esm/utils/getOperationsRoutes.js +32 -0
  536. package/lib/esm/utils/getOperationsRoutes.js.map +1 -0
  537. package/lib/esm/utils/getOperationsStores.js +29 -0
  538. package/lib/esm/utils/getOperationsStores.js.map +1 -0
  539. package/lib/esm/utils/getPropertiesStores.js +40 -0
  540. package/lib/esm/utils/getPropertiesStores.js.map +1 -0
  541. package/lib/esm/utils/getRequiredProperties.js +62 -0
  542. package/lib/esm/utils/getRequiredProperties.js.map +1 -0
  543. package/lib/esm/utils/getSpec.js +83 -0
  544. package/lib/esm/utils/getSpec.js.map +1 -0
  545. package/lib/esm/utils/isSuccessStatus.js +3 -0
  546. package/lib/esm/utils/isSuccessStatus.js.map +1 -0
  547. package/lib/esm/utils/mapHeaders.js +25 -0
  548. package/lib/esm/utils/mapHeaders.js.map +1 -0
  549. package/lib/esm/utils/mapNullableType.js +40 -0
  550. package/lib/esm/utils/mapNullableType.js.map +1 -0
  551. package/lib/esm/utils/mapRouteOptions.js +22 -0
  552. package/lib/esm/utils/mapRouteOptions.js.map +1 -0
  553. package/lib/esm/utils/matchGroups.js +18 -0
  554. package/lib/esm/utils/matchGroups.js.map +1 -0
  555. package/lib/esm/utils/mergeOperation.js +40 -0
  556. package/lib/esm/utils/mergeOperation.js.map +1 -0
  557. package/lib/esm/utils/mergeSpec.js +42 -0
  558. package/lib/esm/utils/mergeSpec.js.map +1 -0
  559. package/lib/esm/utils/operationIdFormatter.js +33 -0
  560. package/lib/esm/utils/operationIdFormatter.js.map +1 -0
  561. package/lib/esm/utils/ref.js +59 -0
  562. package/lib/esm/utils/ref.js.map +1 -0
  563. package/lib/esm/utils/toJsonMapCollection.js +11 -0
  564. package/lib/esm/utils/toJsonMapCollection.js.map +1 -0
  565. package/lib/esm/utils/toJsonRegex.js +8 -0
  566. package/lib/esm/utils/toJsonRegex.js.map +1 -0
  567. package/lib/{components → types/components}/anyMapper.d.ts +0 -0
  568. package/lib/{components → types/components}/classMapper.d.ts +1 -1
  569. package/lib/{components → types/components}/genericsMapper.d.ts +0 -0
  570. package/lib/{components → types/components}/index.d.ts +2 -0
  571. package/lib/{components → types/components}/inheritedClassMapper.d.ts +1 -1
  572. package/lib/{components → types/components}/itemMapper.d.ts +0 -0
  573. package/lib/types/components/lazyRefMapper.d.ts +3 -0
  574. package/lib/{components → types/components}/mapMapper.d.ts +1 -1
  575. package/lib/{components → types/components}/objectMapper.d.ts +0 -0
  576. package/lib/types/components/ofMapper.d.ts +3 -0
  577. package/lib/types/components/propertiesMapper.d.ts +3 -0
  578. package/lib/{components → types/components}/schemaMapper.d.ts +1 -1
  579. package/lib/types/constants/httpMethods.d.ts +12 -0
  580. package/lib/types/constants/httpStatusMessages.d.ts +272 -0
  581. package/lib/types/decorators/class/children.d.ts +11 -0
  582. package/lib/{decorators → types/decorators}/collections/collectionContains.d.ts +0 -0
  583. package/lib/{decorators → types/decorators}/collections/collectionOf.d.ts +1 -1
  584. package/lib/{decorators → types/decorators}/collections/maxItems.d.ts +0 -0
  585. package/lib/{decorators → types/decorators}/collections/maxProperties.d.ts +0 -0
  586. package/lib/{decorators → types/decorators}/collections/minItems.d.ts +0 -0
  587. package/lib/{decorators → types/decorators}/collections/minProperties.d.ts +0 -0
  588. package/lib/{decorators → types/decorators}/collections/uniqueItems.d.ts +0 -0
  589. package/lib/{decorators → types/decorators}/common/additionalProperties.d.ts +0 -0
  590. package/lib/{decorators → types/decorators}/common/allOf.d.ts +0 -0
  591. package/lib/{decorators → types/decorators}/common/allow.d.ts +0 -0
  592. package/lib/{decorators → types/decorators}/common/any.d.ts +1 -1
  593. package/lib/{decorators → types/decorators}/common/anyOf.d.ts +0 -4
  594. package/lib/{decorators → types/decorators}/common/const.d.ts +1 -1
  595. package/lib/{decorators → types/decorators}/common/customKey.d.ts +0 -0
  596. package/lib/{decorators → types/decorators}/common/default.d.ts +0 -0
  597. package/lib/{decorators → types/decorators}/common/description.d.ts +0 -0
  598. package/lib/{decorators → types/decorators}/common/enum.d.ts +1 -1
  599. package/lib/{decorators → types/decorators}/common/example.d.ts +0 -0
  600. package/lib/types/decorators/common/examples.d.ts +12 -0
  601. package/lib/{decorators → types/decorators}/common/exclusiveMaximum.d.ts +0 -0
  602. package/lib/{decorators → types/decorators}/common/exclusiveMinimum.d.ts +0 -0
  603. package/lib/{decorators → types/decorators}/common/format.d.ts +0 -0
  604. package/lib/{decorators → types/decorators}/common/forwardGroups.d.ts +0 -0
  605. package/lib/{decorators → types/decorators}/common/groups.d.ts +0 -0
  606. package/lib/{decorators → types/decorators}/common/hidden.d.ts +0 -0
  607. package/lib/{decorators → types/decorators}/common/ignore.d.ts +0 -0
  608. package/lib/{decorators → types/decorators}/common/integer.d.ts +0 -0
  609. package/lib/{decorators → types/decorators}/common/jsonEntityFn.d.ts +2 -2
  610. package/lib/{decorators → types/decorators}/common/maxLength.d.ts +0 -0
  611. package/lib/{decorators → types/decorators}/common/maximum.d.ts +0 -0
  612. package/lib/{decorators → types/decorators}/common/minLength.d.ts +0 -0
  613. package/lib/{decorators → types/decorators}/common/minimum.d.ts +0 -0
  614. package/lib/{decorators → types/decorators}/common/multipleOf.d.ts +0 -0
  615. package/lib/{decorators → types/decorators}/common/name.d.ts +0 -0
  616. package/lib/{decorators → types/decorators}/common/nullable.d.ts +1 -1
  617. package/lib/{decorators → types/decorators}/common/oneOf.d.ts +0 -4
  618. package/lib/{decorators → types/decorators}/common/optional.d.ts +0 -0
  619. package/lib/{decorators → types/decorators}/common/pattern.d.ts +0 -0
  620. package/lib/{decorators → types/decorators}/common/property.d.ts +1 -0
  621. package/lib/{decorators → types/decorators}/common/readOnly.d.ts +0 -0
  622. package/lib/{decorators → types/decorators}/common/required.d.ts +0 -0
  623. package/lib/{decorators → types/decorators}/common/requiredGroups.d.ts +1 -1
  624. package/lib/{decorators → types/decorators}/common/schema.d.ts +0 -0
  625. package/lib/{decorators → types/decorators}/common/title.d.ts +0 -0
  626. package/lib/{decorators → types/decorators}/common/writeOnly.d.ts +0 -0
  627. package/lib/{decorators → types/decorators}/config/jsonEntityComponent.d.ts +0 -0
  628. package/lib/{decorators → types/decorators}/generics/genericOf.d.ts +0 -0
  629. package/lib/{decorators → types/decorators}/generics/generics.d.ts +0 -0
  630. package/lib/{decorators → types/decorators}/index.d.ts +4 -0
  631. package/lib/{decorators → types/decorators}/operations/consumes.d.ts +0 -0
  632. package/lib/{decorators → types/decorators}/operations/contentType.d.ts +0 -0
  633. package/lib/{decorators → types/decorators}/operations/deprecated.d.ts +0 -0
  634. package/lib/{decorators → types/decorators}/operations/header.d.ts +0 -0
  635. package/lib/{decorators → types/decorators}/operations/in.d.ts +0 -0
  636. package/lib/types/decorators/operations/inFile.d.ts +25 -0
  637. package/lib/{decorators → types/decorators}/operations/location.d.ts +0 -0
  638. package/lib/{decorators → types/decorators}/operations/operationId.d.ts +0 -0
  639. package/lib/{decorators → types/decorators}/operations/operationPath.d.ts +1 -11
  640. package/lib/{decorators → types/decorators}/operations/partial.d.ts +0 -0
  641. package/lib/{decorators → types/decorators}/operations/path.d.ts +0 -0
  642. package/lib/{decorators → types/decorators}/operations/produces.d.ts +0 -0
  643. package/lib/{decorators → types/decorators}/operations/redirect.d.ts +0 -0
  644. package/lib/{decorators → types/decorators}/operations/returns.d.ts +16 -1
  645. package/lib/types/decorators/operations/route.d.ts +188 -0
  646. package/lib/{decorators → types/decorators}/operations/security.d.ts +0 -0
  647. package/lib/{decorators → types/decorators}/operations/status.d.ts +0 -0
  648. package/lib/{decorators → types/decorators}/operations/summary.d.ts +0 -0
  649. package/lib/{decorators → types/decorators}/operations/tags.d.ts +0 -0
  650. package/lib/{domain → types/domain}/DecoratorContext.d.ts +7 -2
  651. package/lib/{domain → types/domain}/JsonAliasMap.d.ts +0 -0
  652. package/lib/types/domain/JsonClassStore.d.ts +12 -0
  653. package/lib/types/domain/JsonEntityStore.d.ts +136 -0
  654. package/lib/{domain → types/domain}/JsonFormatTypes.d.ts +0 -0
  655. package/lib/{domain → types/domain}/JsonLazyRef.d.ts +0 -0
  656. package/lib/{domain → types/domain}/JsonMap.d.ts +0 -0
  657. package/lib/types/domain/JsonMethodStore.d.ts +40 -0
  658. package/lib/{domain → types/domain}/JsonOperation.d.ts +1 -0
  659. package/lib/types/domain/JsonOperationPathsMap.d.ts +7 -0
  660. package/lib/types/domain/JsonOperationRoute.d.ts +24 -0
  661. package/lib/{domain → types/domain}/JsonParameter.d.ts +3 -1
  662. package/lib/types/domain/JsonParameterStore.d.ts +30 -0
  663. package/lib/{domain → types/domain}/JsonParameterTypes.d.ts +0 -0
  664. package/lib/types/domain/JsonPropertyStore.d.ts +23 -0
  665. package/lib/{domain → types/domain}/JsonRequestBody.d.ts +0 -0
  666. package/lib/{domain → types/domain}/JsonResponse.d.ts +0 -0
  667. package/lib/{domain → types/domain}/JsonSchema.d.ts +6 -12
  668. package/lib/{domain → types/domain}/SpecTypes.d.ts +0 -1
  669. package/lib/{domain → types/domain}/index.d.ts +5 -0
  670. package/lib/{hooks → types/hooks}/alterIgnore.d.ts +0 -0
  671. package/lib/types/hooks/alterOneOf.d.ts +3 -0
  672. package/lib/{hooks → types/hooks}/alterRequiredGroups.d.ts +0 -0
  673. package/lib/{index.d.ts → types/index.d.ts} +4 -0
  674. package/lib/{interfaces → types/interfaces}/IgnoreCallback.d.ts +0 -0
  675. package/lib/{interfaces → types/interfaces}/JsonHookContext.d.ts +0 -0
  676. package/lib/{interfaces → types/interfaces}/JsonOpenSpec.d.ts +0 -0
  677. package/lib/{interfaces → types/interfaces}/JsonSchemaOptions.d.ts +2 -2
  678. package/lib/{interfaces → types/interfaces}/index.d.ts +0 -0
  679. package/lib/{registries → types/registries}/JsonSchemaMapperContainer.d.ts +3 -2
  680. package/lib/{utils → types/utils}/buildPath.d.ts +0 -0
  681. package/lib/{utils → types/utils}/concatParameters.d.ts +0 -0
  682. package/lib/types/utils/concatPath.d.ts +1 -0
  683. package/lib/{utils → types/utils}/defineStatusModel.d.ts +0 -0
  684. package/lib/{utils → types/utils}/from.d.ts +0 -0
  685. package/lib/{utils → types/utils}/generics.d.ts +0 -0
  686. package/lib/{utils → types/utils}/getComputedType.d.ts +0 -0
  687. package/lib/{utils → types/utils}/getInheritedStores.d.ts +2 -2
  688. package/lib/types/utils/getJsonEntityStore.d.ts +15 -0
  689. package/lib/{utils → types/utils}/getJsonPathParameters.d.ts +0 -0
  690. package/lib/types/utils/getJsonSchema.d.ts +4 -0
  691. package/lib/{utils → types/utils}/getJsonType.d.ts +0 -0
  692. package/lib/types/utils/getOperationsRoutes.d.ts +8 -0
  693. package/lib/types/utils/getOperationsStores.d.ts +6 -0
  694. package/lib/types/utils/getPropertiesStores.d.ts +20 -0
  695. package/lib/{utils → types/utils}/getRequiredProperties.d.ts +0 -0
  696. package/lib/types/utils/getSpec.d.ts +29 -0
  697. package/lib/{utils → types/utils}/isSuccessStatus.d.ts +0 -0
  698. package/lib/{utils → types/utils}/mapHeaders.d.ts +0 -0
  699. package/lib/{utils → types/utils}/mapNullableType.d.ts +0 -0
  700. package/lib/types/utils/mapRouteOptions.d.ts +5 -0
  701. package/lib/{utils → types/utils}/matchGroups.d.ts +0 -0
  702. package/lib/{utils → types/utils}/mergeOperation.d.ts +0 -0
  703. package/lib/{utils → types/utils}/mergeSpec.d.ts +2 -2
  704. package/lib/{utils → types/utils}/operationIdFormatter.d.ts +0 -0
  705. package/lib/types/utils/ref.d.ts +14 -0
  706. package/lib/{utils → types/utils}/toJsonMapCollection.d.ts +0 -0
  707. package/lib/{utils → types/utils}/toJsonRegex.d.ts +0 -0
  708. package/package.json +21 -14
  709. package/tsconfig.compile.esm.json +23 -0
  710. package/lib/components/lazyRefMapper.d.ts +0 -19
  711. package/lib/constants/httpStatusMessages.d.ts +0 -5
  712. package/lib/domain/JsonEntityStore.d.ts +0 -94
  713. package/lib/index.js +0 -7632
  714. package/lib/index.js.map +0 -1
  715. package/lib/index.modern.js +0 -7499
  716. package/lib/index.modern.js.map +0 -1
  717. package/lib/registries/JsonEntitiesContainer.d.ts +0 -6
  718. package/lib/utils/getJsonEntityStore.d.ts +0 -6
  719. package/lib/utils/getJsonSchema.d.ts +0 -5
  720. package/lib/utils/getOperationsStores.d.ts +0 -6
  721. package/lib/utils/getPropertiesStores.d.ts +0 -20
  722. package/lib/utils/getSpec.d.ts +0 -49
  723. package/lib/utils/isJsonClass.d.ts +0 -4
  724. package/lib/utils/mergeSpec.benchmark.d.ts +0 -1
  725. package/lib/utils/ref.d.ts +0 -46
@@ -0,0 +1 @@
1
+ {"version":3,"file":"returns.js","sourceRoot":"","sources":["../../../../src/decorators/operations/returns.ts"],"names":[],"mappings":";;;AAAA,qCAWoB;AAEpB,2EAA0F;AAC1F,oEAA+D;AAC/D,kEAA6D;AAE7D,wDAAqE;AAErE,qEAA6D;AAC7D,2CAAwC;AAExC,iEAA4D;AAC5D,uDAAkD;AAgHlD;;GAEG;AACH,SAAS,MAAM,CAAC,IAAS;IACvB,OAAO,IAAA,eAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,WAAW,CAAC,KAAqB;IACxC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;YAChB,OAAO,IAAA,aAAM,GAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,sBAAuB,SAAQ,mCAA0C;IAoB7E,YAAY,EAAC,MAAM,EAAE,KAAK,EAAM;QAC9B,KAAK,EAAE,CAAC;QApBD,YAAO,GAAa;YAC3B,aAAa;YACb,aAAa;YACb,UAAU;YACV,MAAM;YACN,QAAQ;YACR,IAAI;YACJ,OAAO;YACP,OAAO;YACP,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,SAAS;YACT,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,UAAU;SACX,CAAC;QAKA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,KAAU;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,KAAU;QACd,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,MAAuB;QAC5B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE3B,IAAI,MAAM,IAAI,IAAA,qCAAgB,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YAClE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAA,qCAAgB,EAAC,MAAM,CAAC,CAAC,CAAC;YAElD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACtB,IAAI,CAAC,KAAK,CAAC,IAAA,kCAAc,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aACrC;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAoB;QAC1B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;YAClB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC9B,GAAG,IAAA,uBAAU,EAAC,OAAO,CAAC;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,KAA0B;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,EAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAC,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,OAAoB,EAAE;QAC3C,IAAI,CAAC,OAAO,CAAC;YACX,QAAQ,EAAE;gBACR,GAAG,IAAI;gBACP,KAAK,EAAE,IAAI;aACZ;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAG,MAAgB;QACxB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAG,QAAwB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACpB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,EAAE,CAAC,GAAG,KAA0B;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAe,CAAC;YAEhD,IAAI,IAAA,mBAAY,EAAC,KAAK,CAAC,EAAE;gBACvB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAC,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;aACtC;iBAAM;gBACL,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,KAA0B;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAe,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,CAAC,UAAU,CAAC,EAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,KAA0B;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAe,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,CAAC,UAAU,CAAC,EAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,KAA0B;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAe,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,CAAC,UAAU,CAAC,EAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,OAAkC;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAe,CAAC;YAEhD,MAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,QAAa;QACpB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAA,eAAQ,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC;IAC9B,CAAC;IAES,cAAc,CAAC,KAAU;QACjC,IAAI,IAAA,kCAA2B,EAAC,KAAK,CAAC,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;SAC5G;IACH,CAAC;IAES,eAAe,CAAC,KAAU;QAClC,IAAI,IAAA,mBAAY,EAAC,KAAK,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;SACvH;IACH,CAAC;IAES,cAAc;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE1C,IAAI,KAAK,IAAI,CAAC,IAAA,oBAAa,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,kCAA2B,EAAC,KAAK,CAAC,EAAE;YACzE,WAAW,GAAG,WAAW,IAAI,kBAAkB,CAAC;SACjD;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAES,SAAS;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;IACzC,CAAC;IAES,MAAM,CAAC,IAAW,EAAE,SAAc;QAC1C,MAAM,IAAI,GAAG,IAAA,sBAAe,EAAC,IAAI,CAAC,CAAC;QACnC,QAAQ,IAAI,EAAE;YACZ,KAAK,qBAAc,CAAC,MAAM;gBACxB,IAAI,CAAC,MAAM,GAAG,iCAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBACzB,IAAI,CAAC,GAAG,EAAE,CAAC;iBACZ;gBACD,MAAM;YACR,KAAK,qBAAc,CAAC,KAAK;gBACvB,IAAI,CAAC,aAAa,GAAG,qBAAc,CAAC,KAAK,CAAC;gBAC1C,IAAA,wBAAiB,EAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBACtC,MAAM;SACT;IACH,CAAC;IAES,GAAG;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,EAAC,MAAM,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAU,CAAC;QACzC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE1C,IAAI,EAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAElE,IAAI,WAAW,EAAE;YACf,WAAW,GAAG,aAAa,KAAK,qBAAc,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;YAChH,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SACnC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAEtE,IAAI,OAAO,EAAE;YACX,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3B;QAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAExB,IAAI,IAAA,iCAAe,EAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,aAAa,KAAK,SAAS,EAAE;YACtE,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;aACrB;SACF;QAED,0BAA0B;QAC1B,WAAW,IAAI,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAEjD,yBAAyB;QACzB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;IAES,QAAQ,CAAC,QAAsB;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,uBAAU,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;QAEpE,IAAI,KAAK,EAAE;YACT,IAAI,IAAA,cAAO,EAAC,KAAK,CAAC,EAAE;gBAClB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC;aAC7C;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;SACF;QAED,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE3B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAErB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEtC,IAAI,QAAQ,EAAE;YACZ,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC1B;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA+JD,SAAgB,OAAO,CAAC,MAAwB,EAAE,KAAqC;IACrF,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC;QACzC,MAAM;QACN,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC;AAPD,0BAOC","sourcesContent":["import {\n decorateMethodsOf,\n decoratorTypeOf,\n DecoratorTypes,\n isArray,\n isCollection,\n isObject,\n isPlainObject,\n isPrimitiveOrPrimitiveClass,\n isString,\n Type\n} from \"@tsed/core\";\nimport {OS3Example} from \"@tsed/openspec\";\nimport {getStatusMessage, HTTP_STATUS_MESSAGES} from \"../../constants/httpStatusMessages\";\nimport {DecoratorContext} from \"../../domain/DecoratorContext\";\nimport {JsonEntityStore} from \"../../domain/JsonEntityStore\";\nimport {JsonResponse} from \"../../domain/JsonResponse\";\nimport {JsonSchema, JsonSchemaObject} from \"../../domain/JsonSchema\";\nimport {JsonHeader, JsonHeaders} from \"../../interfaces/JsonOpenSpec\";\nimport {getStatusModel} from \"../../utils/defineStatusModel\";\nimport {string} from \"../../utils/from\";\nimport {GenericValue} from \"../../utils/generics\";\nimport {isSuccessStatus} from \"../../utils/isSuccessStatus\";\nimport {mapHeaders} from \"../../utils/mapHeaders\";\n\nexport interface ReturnsChainedDecorators {\n <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T> | void;\n\n (target: Function): void;\n\n /**\n * Set a Content-Type for the current response\n * @param value\n * @constructor\n */\n ContentType(value: string): this;\n\n /**\n * Add a description\n * @param description\n */\n Description(description: string): this;\n\n /**\n * Add examples\n * @param examples\n */\n Examples(examples: Record<string, OS3Example>): this;\n\n Examples(examples: Record<string, any>): this;\n\n Examples(examples: any): this;\n\n /**\n * Change the model type\n * @param type\n */\n Type(type: Type<any> | any): this;\n\n /**\n * Change the status\n * @param status\n * @constructor\n */\n Status(status: string | number): this;\n\n /**\n * Add the nested types\n * @param types\n */\n Of(...types: GenericValue[]): this;\n\n /**\n * Add the nested types\n * @param types\n */\n OneOf(...types: GenericValue[]): this;\n\n /**\n * Add the nested types\n * @param types\n */\n AllOf(...types: GenericValue[]): this;\n\n /**\n * Add the nested types\n * @param types\n */\n AnyOf(...types: GenericValue[]): this;\n\n /**\n * Declare a nested generic models\n * @param generics\n */\n Nested(...generics: GenericValue[]): this;\n\n /**\n * Add header.\n * @param key\n * @param value\n */\n Header(key: string, value: number | string | (JsonHeader & {value?: string | number | boolean})): this;\n\n /**\n * Add headers\n */\n Headers(headers: JsonHeaders): this;\n\n /**\n * Add location hea\n */\n Location(location: string, meta?: JsonHeader): this;\n\n /**\n * Assign partial schema\n * @param schema\n */\n Schema(schema: Partial<JsonSchemaObject> | JsonSchema): this;\n\n /**\n * Add an inline title for the return model.\n * @param title\n */\n Title(title: string): this;\n\n /**\n *\n * @param groups\n * @constructor\n */\n Groups(...groups: string[]): this;\n\n [key: string]: any;\n}\n\n/**\n * @ignore\n */\nfunction isEnum(type: any) {\n return isObject(type) && !(\"toJSON\" in type);\n}\n\nfunction mapGenerics(types: GenericValue[]) {\n return types.map((type) => {\n if (isEnum(type)) {\n return string().enum(Object.values(type));\n }\n return type;\n });\n}\n\n/**\n * @ignore\n */\nclass ReturnDecoratorContext extends DecoratorContext<ReturnsChainedDecorators> {\n readonly methods: string[] = [\n \"contentType\",\n \"description\",\n \"examples\",\n \"type\",\n \"status\",\n \"of\",\n \"oneOf\",\n \"allOf\",\n \"anyOf\",\n \"nested\",\n \"header\",\n \"headers\",\n \"schema\",\n \"title\",\n \"groups\",\n \"location\"\n ];\n\n constructor({status, model}: any) {\n super();\n\n this.model(model);\n this.status(status);\n }\n\n type(model: any) {\n return this.model(model);\n }\n\n model(model: any) {\n model && this.set(\"model\", model);\n return this;\n }\n\n status(status: number | string) {\n this.set(\"status\", status);\n\n if (status && getStatusMessage(status) && !this.get(\"description\")) {\n this.set(\"description\", getStatusMessage(status));\n\n if (!this.get(\"model\")) {\n this.model(getStatusModel(+status));\n }\n }\n\n return this;\n }\n\n headers(headers: JsonHeaders) {\n this.set(\"headers\", {\n ...(this.get(\"headers\") || {}),\n ...mapHeaders(headers)\n });\n\n return this;\n }\n\n header(key: string, value: string | JsonHeader) {\n return this.headers({[key]: value});\n }\n\n location(path: string, meta: JsonHeaders = {}) {\n this.headers({\n Location: {\n ...meta,\n value: path\n }\n });\n\n return this;\n }\n\n groups(...groups: string[]) {\n this.set(\"groups\", groups);\n return this;\n }\n\n nested(...generics: GenericValue[]) {\n const model = this.get(\"model\");\n this.checkPrimitive(model);\n this.checkCollection(model);\n\n this.addAction((ctx) => {\n (this.get(\"schema\") as JsonSchema).nestedGenerics.push(mapGenerics(generics));\n });\n\n return this;\n }\n\n of(...types: (Type<any> | any)[]) {\n const model = this.get(\"model\");\n this.checkPrimitive(model);\n\n this.addAction(() => {\n const schema = this.get(\"schema\") as JsonSchema;\n\n if (isCollection(model)) {\n schema?.itemSchema({type: types[0]});\n } else {\n schema?.nestedGenerics.push(mapGenerics(types));\n }\n });\n\n return this;\n }\n\n oneOf(...types: (Type<any> | any)[]) {\n const model = this.get(\"model\");\n\n this.addAction(() => {\n const schema = this.get(\"schema\") as JsonSchema;\n schema.type(model);\n schema.itemSchema({oneOf: types.map((type) => ({type}))});\n });\n\n return this;\n }\n\n allOf(...types: (Type<any> | any)[]) {\n const model = this.get(\"model\");\n\n this.addAction(() => {\n const schema = this.get(\"schema\") as JsonSchema;\n schema.type(model);\n schema.itemSchema({allOf: types.map((type) => ({type}))});\n });\n\n return this;\n }\n\n anyOf(...types: (Type<any> | any)[]) {\n const model = this.get(\"model\");\n\n this.addAction(() => {\n const schema = this.get(\"schema\") as JsonSchema;\n schema.type(model);\n schema.itemSchema({anyOf: types.map((type) => ({type}))});\n });\n\n return this;\n }\n\n schema(partial: Partial<JsonSchemaObject>) {\n this.addAction(() => {\n const schema = this.get(\"schema\") as JsonSchema;\n\n schema!.assign(partial);\n });\n\n return this;\n }\n\n examples(examples: any) {\n this.set(\"examples\", isString(examples) ? [examples] : examples);\n return this;\n }\n\n title(title: string) {\n return this.schema({title});\n }\n\n protected checkPrimitive(model: any) {\n if (isPrimitiveOrPrimitiveClass(model)) {\n throw new Error(\"Returns.Of cannot be used with the following primitive classes: String, Number, Boolean\");\n }\n }\n\n protected checkCollection(model: any) {\n if (isCollection(model)) {\n throw new Error(\"Returns.Nested cannot be used with the following classes: Map, Set, Array, String, Number, Boolean\");\n }\n }\n\n protected getContentType() {\n const model = this.get(\"model\");\n let contentType = this.get(\"contentType\");\n\n if (model && !isPlainObject(model) && !isPrimitiveOrPrimitiveClass(model)) {\n contentType = contentType || \"application/json\";\n }\n\n return contentType;\n }\n\n protected getStatus() {\n return this.get(\"status\") || \"default\";\n }\n\n protected onInit(args: any[], decorator: any) {\n const type = decoratorTypeOf(args);\n switch (type) {\n case DecoratorTypes.METHOD:\n this.entity = JsonEntityStore.from(...args);\n if (this.entity.operation) {\n this.map();\n }\n break;\n case DecoratorTypes.CLASS:\n this.decoratorType = DecoratorTypes.CLASS;\n decorateMethodsOf(args[0], decorator);\n break;\n }\n }\n\n protected map() {\n const model = this.get(\"model\");\n const {entity, decoratorType} = this;\n const operation = this.entity.operation!;\n const currentStatus = this.getStatus();\n const response = operation.ensureResponseOf(currentStatus);\n const contentType = this.getContentType();\n\n let {description = response.get(\"description\")} = this.toObject();\n\n if (description) {\n description = decoratorType === DecoratorTypes.CLASS ? response.get(\"description\") || description : description;\n response.description(description);\n }\n\n const headers = this.getMergedKey(\"headers\", response.get(\"headers\"));\n\n if (headers) {\n response.headers(headers);\n }\n\n this.mapMedia(response);\n\n if (isSuccessStatus(this.get(\"status\")) || currentStatus === \"default\") {\n if (model) {\n entity.type = model;\n }\n }\n\n // additional info for OS2\n contentType && operation.addProduce(contentType);\n\n // run additional actions\n return this.runActions();\n }\n\n protected mapMedia(response: JsonResponse) {\n const contentType = this.getContentType();\n const model = this.get(\"model\");\n const media = response.getMedia(contentType || \"*/*\");\n const schema = media.get(\"schema\") || new JsonSchema({type: model});\n\n if (model) {\n if (isArray(model)) {\n schema.oneOf(model.map((type) => ({type})));\n } else {\n schema.type(model);\n }\n }\n\n this.set(\"schema\", schema);\n\n media.schema(schema);\n\n media.groups = this.get(\"groups\");\n\n const examples = this.get(\"examples\");\n\n if (examples) {\n media.examples(examples);\n }\n\n return media;\n }\n}\n\n/**\n * Add responses documentation for a specific status code.\n *\n * ## Usage\n *\n * Ts.ED v5/v6 API introducing the chaining decorator concept. Now a decorator like Returns can be used with another decorators like Description.\n *\n * ::: warning\n * v5 has a basic support of the chaining decorator to facilitate the migration to v6!\n * :::\n *\n * ```typescript\n * import {Returns} from \"@tsed/schema\";\n *\n * @Controller(\"/\")\n * class MyController {\n * @Returns(404, String).Description(\"Not Found\")\n * @Returns(200, Model).Description(\"Success\")\n * async myMethod(): Promise<Model> {}\n * }\n * ```\n *\n * ::: tip\n * TypeScript and your IDE will discover automatically the chained decorators. But for more details you can look on @@ReturnsChainedDecorators@@ interface, to know\n * what chained decorators are available under Returns decorator.\n * :::\n *\n * This example will produce this documentation in swagger:\n *\n * ```json\n * {\n * \"responses\": {\n * \"404\": {\n * \"description\": \"Description\",\n * \"schema\": {\"type\": \"string\"}\n * },\n * \"2OO\": {\n * \"description\": \"Description\",\n * \"schema\": {\"$ref\": \"...\"}\n * }\n * }\n * }\n * ```\n *\n * ## Declaring an Array\n *\n * Use chained decorators to declare an array with model as following:\n *\n * ```typescript\n * import {Returns} from \"@tsed/schema\";\n *\n * @Controller(\"/models\")\n * class ModelCtrl {\n * @Get(\"/\")\n * @Returns(200, Array).Of(Model).Description(\"Success\")\n * async myMethod(): Promise<Model> {\n * }\n * }\n * ```\n *\n * Deprecated version:\n *\n * ```typescript\n * import {ReturnsArray} from \"@tsed/common\";\n * import {Returns} from \"@tsed/schema\";\n *\n * @Controller(\"/\")\n * class MyController {\n * @ReturnsArray(200, Model) // deprecated\n * async myMethod(): Promise<Model> {}\n * }\n * ```\n *\n * ### Declaring a generic model <Badge text=\"6+\"/>\n *\n * Sometime, it might be useful to use generic models. TypeScript doesn't store the generic type in the metadata. This is why we need to\n * declare explicitly the generic models with the decorators.\n *\n * One of the generic's usage, can be a paginated list. With Returns decorator it's now possible to declare generic type and generate the appropriate OpenSpec documentation.\n *\n * Starting with the pagination model, by using @@Generics@@ and @@CollectionOf@@:\n *\n * ```typescript\n * @Generics(\"T\")\n * class Pagination<T> {\n * @CollectionOf(\"T\")\n * data: T[];\n *\n * @Property()\n * totalCount: number;\n * }\n * ```\n *\n * Now, we need a model to be used with the generic Pagination model:\n *\n * ```typescript\n * class Product {\n * @Property()\n * id: string;\n *\n * @Property()\n * title: string;\n * }\n * ```\n *\n * Finally, we can use our models on a method as following:\n *\n * ```typescript\n * class Controller {\n * @OperationPath(\"POST\", \"/\")\n * @Returns(200, Pagination).Of(Product).Description(\"description\")\n * async method(): Promise<Pagination<Product> | null> {\n * return null;\n * }\n * }\n * ```\n *\n * ### Declaring a nested generics models <Badge text=\"6+\"/>\n *\n * It's also possible to declare a nested generics models in order to have this type `Pagination<Submission<Product>>`:\n *\n * ```typescript\n * import {Generics, Property, Returns} from \"@tsed/schema\";\n * import {Post} from \"@tsed/common\";\n *\n * class Controller {\n * @Post(\"/\")\n * @Returns(200, Pagination).Of(Submission).Nested(Product).Description(\"description\")\n * async method(): Promise<Pagination<Submission<Product>> | null> {\n * return null;\n * }\n * }\n * ```\n *\n * And here is the Submission model:\n *\n * ```typescript\n * import {Generics, Property} from \"@tsed/schema\";\n *\n * @Generics(\"T\")\n * class Submission<T> {\n * @Property()\n * _id: string;\n * @Property(\"T\")\n * data: T;\n * }\n * ```\n *\n * @param status\n * @param model\n * @decorator\n * @swagger\n * @schema\n * @response\n * @operation\n */\nexport function Returns(status?: string | number, model?: Type<any> | Type<any>[]): ReturnsChainedDecorators;\nexport function Returns(status?: string | number, model?: Type<any> | Type<any>[] | any): ReturnsChainedDecorators {\n const context = new ReturnDecoratorContext({\n status,\n model\n });\n\n return context.build();\n}\n"]}
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Options = exports.Patch = exports.Head = exports.Delete = exports.Put = exports.Post = exports.Get = exports.All = exports.Route = void 0;
4
+ const DecoratorContext_1 = require("../../domain/DecoratorContext");
5
+ const mapRouteOptions_1 = require("../../utils/mapRouteOptions");
6
+ const httpMethods_1 = require("../../constants/httpMethods");
7
+ class RouteDecoratorContext extends DecoratorContext_1.DecoratorContext {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.methods = ["name", "description", "summary", "method", "id", "use", "useAfter", "useBefore"];
11
+ }
12
+ beforeInit() {
13
+ const path = this.get("path");
14
+ const method = httpMethods_1.OperationMethods[this.get("method")] || httpMethods_1.OperationMethods.CUSTOM;
15
+ path && this.entity.operation.addOperationPath(method, path);
16
+ }
17
+ onMapKey(key, value) {
18
+ switch (key) {
19
+ case "name":
20
+ case "id":
21
+ this.entity.operation.operationId(value);
22
+ return;
23
+ case "summary":
24
+ this.entity.operation.summary(value);
25
+ return;
26
+ case "description":
27
+ this.entity.operation.description(value);
28
+ return;
29
+ case "use":
30
+ this.entity.use(value);
31
+ return;
32
+ case "useAfter":
33
+ this.entity.after(value);
34
+ return;
35
+ case "useBefore":
36
+ this.entity.before(value);
37
+ return;
38
+ }
39
+ return super.onMapKey(key, value);
40
+ }
41
+ }
42
+ function Route(...args) {
43
+ const routeOptions = (0, mapRouteOptions_1.mapRouteOptions)(args);
44
+ const context = new RouteDecoratorContext(routeOptions);
45
+ return context.build();
46
+ }
47
+ exports.Route = Route;
48
+ /**
49
+ * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).
50
+ *
51
+ * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.
52
+ * For example, if you placed the following route at the top of all other route definitions, it would require that
53
+ * all routes from that point on would require authentication, and automatically load a user.
54
+ * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()
55
+ * to continue matching subsequent routes.
56
+ * @param path
57
+ * @param args
58
+ * @returns {Function}
59
+ * @decorator
60
+ * @operation
61
+ * @httpMethod
62
+ */
63
+ function All(path = "/", ...args) {
64
+ return Route(...[httpMethods_1.OperationMethods.ALL, path].concat(args));
65
+ }
66
+ exports.All = All;
67
+ /**
68
+ * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).
69
+ *
70
+ * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.
71
+ * For example, if you placed the following route at the top of all other route definitions, it would require that
72
+ * all routes from that point on would require authentication, and automatically load a user.
73
+ * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()
74
+ * to continue matching subsequent routes.
75
+ * @param path
76
+ * @param args
77
+ * @returns {Function}
78
+ * @decorator
79
+ * @operation
80
+ * @httpMethod
81
+ */
82
+ function Get(path = "/", ...args) {
83
+ return Route(...[httpMethods_1.OperationMethods.GET, path].concat(args));
84
+ }
85
+ exports.Get = Get;
86
+ /**
87
+ * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).
88
+ *
89
+ * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.
90
+ * For example, if you placed the following route at the top of all other route definitions, it would require that
91
+ * all routes from that point on would require authentication, and automatically load a user.
92
+ * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()
93
+ * to continue matching subsequent routes.
94
+ * @param path
95
+ * @param args
96
+ * @returns {Function}
97
+ * @decorator
98
+ * @operation
99
+ * @httpMethod
100
+ */
101
+ function Post(path = "/", ...args) {
102
+ return Route(...[httpMethods_1.OperationMethods.POST, path].concat(args));
103
+ }
104
+ exports.Post = Post;
105
+ /**
106
+ * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).
107
+ *
108
+ * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.
109
+ * For example, if you placed the following route at the top of all other route definitions, it would require that
110
+ * all routes from that point on would require authentication, and automatically load a user.
111
+ * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()
112
+ * to continue matching subsequent routes.
113
+ * @param path
114
+ * @param args
115
+ * @returns {Function}
116
+ * @decorator
117
+ * @operation
118
+ * @httpMethod
119
+ */
120
+ function Put(path = "/", ...args) {
121
+ return Route(...[httpMethods_1.OperationMethods.PUT, path].concat(args));
122
+ }
123
+ exports.Put = Put;
124
+ /**
125
+ * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).
126
+ *
127
+ * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.
128
+ * For example, if you placed the following route at the top of all other route definitions, it would require that
129
+ * all routes from that point on would require authentication, and automatically load a user.
130
+ * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()
131
+ * to continue matching subsequent routes.
132
+ * @param path
133
+ * @param args
134
+ * @returns {Function}
135
+ * @decorator
136
+ * @operation
137
+ * @httpMethod
138
+ */
139
+ function Delete(path = "/", ...args) {
140
+ return Route(...[httpMethods_1.OperationMethods.DELETE, path].concat(args));
141
+ }
142
+ exports.Delete = Delete;
143
+ /**
144
+ * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).
145
+ *
146
+ * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.
147
+ * For example, if you placed the following route at the top of all other route definitions, it would require that
148
+ * all routes from that point on would require authentication, and automatically load a user.
149
+ * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()
150
+ * to continue matching subsequent routes.
151
+ * @param path
152
+ * @param args
153
+ * @returns {Function}
154
+ * @decorator
155
+ * @operation
156
+ * @httpMethod
157
+ */
158
+ function Head(path = "/", ...args) {
159
+ return Route(...[httpMethods_1.OperationMethods.HEAD, path].concat(args));
160
+ }
161
+ exports.Head = Head;
162
+ /**
163
+ * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).
164
+ *
165
+ * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.
166
+ * For example, if you placed the following route at the top of all other route definitions, it would require that
167
+ * all routes from that point on would require authentication, and automatically load a user.
168
+ * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()
169
+ * to continue matching subsequent routes.
170
+ * @param path
171
+ * @param args
172
+ * @returns {Function}
173
+ * @decorator
174
+ * @operation
175
+ * @httpMethod
176
+ */
177
+ function Patch(path = "/", ...args) {
178
+ return Route(...[httpMethods_1.OperationMethods.PATCH, path].concat(args));
179
+ }
180
+ exports.Patch = Patch;
181
+ /**
182
+ * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).
183
+ *
184
+ * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.
185
+ * For example, if you placed the following route at the top of all other route definitions, it would require that
186
+ * all routes from that point on would require authentication, and automatically load a user.
187
+ * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()
188
+ * to continue matching subsequent routes.
189
+ * @param path
190
+ * @param args
191
+ * @returns {Function}
192
+ * @decorator
193
+ * @operation
194
+ * @httpMethod
195
+ */
196
+ function Options(path = "/", ...args) {
197
+ return Route(...[httpMethods_1.OperationMethods.OPTIONS, path].concat(args));
198
+ }
199
+ exports.Options = Options;
200
+ //# sourceMappingURL=route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../src/decorators/operations/route.ts"],"names":[],"mappings":"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","sourcesContent":["import {DecoratorContext} from \"../../domain/DecoratorContext\";\nimport {mapRouteOptions} from \"../../utils/mapRouteOptions\";\nimport {OperationMethods} from \"../../constants/httpMethods\";\nimport {JsonMethodStore} from \"../../domain/JsonMethodStore\";\n\nexport interface RouteChainedDecorators {\n <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T> | void;\n\n /**\n * @param string\n * @constructor\n */\n Path(string: string): this;\n\n /**\n * Set the operation method\n * @param method\n */\n Method(method: OperationMethods | string): this;\n\n /**\n * Set the operation id\n * @param id\n */\n Id(id: string): this;\n\n /**\n * Set the operation id\n * @param name\n */\n Name(name: string): this;\n\n /**\n *\n * @param description\n */\n Description(description: string): this;\n\n /**\n * Summary\n * @constructor\n * @param Summary\n */\n Summary(Summary: string): this;\n\n Use(...args: any[]): this;\n\n UseAfter(...args: any[]): this;\n\n UseBefore(...args: any[]): this;\n}\n\nclass RouteDecoratorContext extends DecoratorContext<RouteChainedDecorators> {\n readonly methods: string[] = [\"name\", \"description\", \"summary\", \"method\", \"id\", \"use\", \"useAfter\", \"useBefore\"];\n protected entity: JsonMethodStore;\n\n protected beforeInit() {\n const path: string = this.get(\"path\");\n const method: string = OperationMethods[this.get(\"method\") as OperationMethods] || OperationMethods.CUSTOM;\n\n path && this.entity.operation.addOperationPath(method, path);\n }\n\n protected onMapKey(key: string, value: any) {\n switch (key) {\n case \"name\":\n case \"id\":\n this.entity.operation.operationId(value);\n return;\n case \"summary\":\n this.entity.operation.summary(value);\n return;\n case \"description\":\n this.entity.operation.description(value);\n return;\n case \"use\":\n this.entity.use(value);\n return;\n case \"useAfter\":\n this.entity.after(value);\n return;\n case \"useBefore\":\n this.entity.before(value);\n return;\n }\n\n return super.onMapKey(key, value);\n }\n}\n\n/**\n * Describe a new route with a method and path.\n *\n * ```typescript\n * @Controller('/')\n * export class Ctrl {\n *\n * @Route('GET', '/')\n * get() { }\n * }\n *\n * ```\n *\n * @returns {Function}\n * @param method\n * @param path\n * @param args\n * @decorator\n * @operation\n */\nexport function Route(method: string, path: string, ...args: any[]): RouteChainedDecorators;\nexport function Route(...args: any[]): RouteChainedDecorators;\nexport function Route(...args: any[]): RouteChainedDecorators {\n const routeOptions = mapRouteOptions(args);\n\n const context = new RouteDecoratorContext(routeOptions);\n\n return context.build();\n}\n\n/**\n * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).\n *\n * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.\n * For example, if you placed the following route at the top of all other route definitions, it would require that\n * all routes from that point on would require authentication, and automatically load a user.\n * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()\n * to continue matching subsequent routes.\n * @param path\n * @param args\n * @returns {Function}\n * @decorator\n * @operation\n * @httpMethod\n */\nexport function All(path: string | RegExp | any = \"/\", ...args: any[]) {\n return Route(...[OperationMethods.ALL, path].concat(args));\n}\n\n/**\n * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).\n *\n * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.\n * For example, if you placed the following route at the top of all other route definitions, it would require that\n * all routes from that point on would require authentication, and automatically load a user.\n * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()\n * to continue matching subsequent routes.\n * @param path\n * @param args\n * @returns {Function}\n * @decorator\n * @operation\n * @httpMethod\n */\nexport function Get(path: string | RegExp | any = \"/\", ...args: any[]) {\n return Route(...[OperationMethods.GET, path].concat(args));\n}\n\n/**\n * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).\n *\n * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.\n * For example, if you placed the following route at the top of all other route definitions, it would require that\n * all routes from that point on would require authentication, and automatically load a user.\n * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()\n * to continue matching subsequent routes.\n * @param path\n * @param args\n * @returns {Function}\n * @decorator\n * @operation\n * @httpMethod\n */\nexport function Post(path: string | RegExp | any = \"/\", ...args: any[]) {\n return Route(...[OperationMethods.POST, path].concat(args));\n}\n\n/**\n * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).\n *\n * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.\n * For example, if you placed the following route at the top of all other route definitions, it would require that\n * all routes from that point on would require authentication, and automatically load a user.\n * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()\n * to continue matching subsequent routes.\n * @param path\n * @param args\n * @returns {Function}\n * @decorator\n * @operation\n * @httpMethod\n */\nexport function Put(path: string | RegExp | any = \"/\", ...args: any[]) {\n return Route(...[OperationMethods.PUT, path].concat(args));\n}\n\n/**\n * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).\n *\n * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.\n * For example, if you placed the following route at the top of all other route definitions, it would require that\n * all routes from that point on would require authentication, and automatically load a user.\n * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()\n * to continue matching subsequent routes.\n * @param path\n * @param args\n * @returns {Function}\n * @decorator\n * @operation\n * @httpMethod\n */\nexport function Delete(path: string | RegExp | any = \"/\", ...args: any[]) {\n return Route(...[OperationMethods.DELETE, path].concat(args));\n}\n\n/**\n * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).\n *\n * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.\n * For example, if you placed the following route at the top of all other route definitions, it would require that\n * all routes from that point on would require authentication, and automatically load a user.\n * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()\n * to continue matching subsequent routes.\n * @param path\n * @param args\n * @returns {Function}\n * @decorator\n * @operation\n * @httpMethod\n */\nexport function Head(path: string | RegExp | any = \"/\", ...args: any[]) {\n return Route(...[OperationMethods.HEAD, path].concat(args));\n}\n\n/**\n * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).\n *\n * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.\n * For example, if you placed the following route at the top of all other route definitions, it would require that\n * all routes from that point on would require authentication, and automatically load a user.\n * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()\n * to continue matching subsequent routes.\n * @param path\n * @param args\n * @returns {Function}\n * @decorator\n * @operation\n * @httpMethod\n */\nexport function Patch(path: string | RegExp | any = \"/\", ...args: any[]) {\n return Route(...[OperationMethods.PATCH, path].concat(args));\n}\n\n/**\n * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs).\n *\n * This method is extremely useful for mapping “global” logic for specific path prefixes or arbitrary matches.\n * For example, if you placed the following route at the top of all other route definitions, it would require that\n * all routes from that point on would require authentication, and automatically load a user.\n * Keep in mind that these callbacks do not have to act as end points; loadUser can perform a task, then call next()\n * to continue matching subsequent routes.\n * @param path\n * @param args\n * @returns {Function}\n * @decorator\n * @operation\n * @httpMethod\n */\nexport function Options(path: string | RegExp | any = \"/\", ...args: any[]) {\n return Route(...[OperationMethods.OPTIONS, path].concat(args));\n}\n"]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Security = void 0;
4
+ const core_1 = require("@tsed/core");
5
+ const jsonEntityFn_1 = require("../common/jsonEntityFn");
6
+ /**
7
+ * Add security metadata on the decorated method.
8
+ *
9
+ * ## Examples
10
+ * ### On method
11
+ *
12
+ * ```typescript
13
+ * @Controller("/")
14
+ * class ModelCtrl {
15
+ * @Security("write:calendars")
16
+ * async method() {}
17
+ * }
18
+ * ```
19
+ *
20
+ * @param name
21
+ * @param scopes
22
+ * @decorator
23
+ * @swagger
24
+ * @schema
25
+ * @classDecorator
26
+ * @operation
27
+ */
28
+ function Security(name, ...scopes) {
29
+ return (0, jsonEntityFn_1.JsonEntityFn)((store, args) => {
30
+ switch (store.decoratorType) {
31
+ case core_1.DecoratorTypes.METHOD:
32
+ store.operation.addSecurityScopes(name, scopes);
33
+ break;
34
+ case core_1.DecoratorTypes.CLASS:
35
+ (0, core_1.decorateMethodsOf)(args[0], Security(name, ...scopes));
36
+ break;
37
+ default:
38
+ throw new core_1.UnsupportedDecoratorType(Security, args);
39
+ }
40
+ });
41
+ }
42
+ exports.Security = Security;
43
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../../src/decorators/operations/security.ts"],"names":[],"mappings":";;;AAAA,qCAAuF;AACvF,yDAAoD;AAEpD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,QAAQ,CAAC,IAAY,EAAE,GAAG,MAAgB;IACxD,OAAO,IAAA,2BAAY,EAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAClC,QAAQ,KAAK,CAAC,aAAa,EAAE;YAC3B,KAAK,qBAAc,CAAC,MAAM;gBACxB,KAAK,CAAC,SAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,qBAAc,CAAC,KAAK;gBACvB,IAAA,wBAAiB,EAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;gBACtD,MAAM;YAER;gBACE,MAAM,IAAI,+BAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,4BAcC","sourcesContent":["import {decorateMethodsOf, DecoratorTypes, UnsupportedDecoratorType} from \"@tsed/core\";\nimport {JsonEntityFn} from \"../common/jsonEntityFn\";\n\n/**\n * Add security metadata on the decorated method.\n *\n * ## Examples\n * ### On method\n *\n * ```typescript\n * @Controller(\"/\")\n * class ModelCtrl {\n * @Security(\"write:calendars\")\n * async method() {}\n * }\n * ```\n *\n * @param name\n * @param scopes\n * @decorator\n * @swagger\n * @schema\n * @classDecorator\n * @operation\n */\nexport function Security(name: string, ...scopes: string[]) {\n return JsonEntityFn((store, args) => {\n switch (store.decoratorType) {\n case DecoratorTypes.METHOD:\n store.operation!.addSecurityScopes(name, scopes);\n break;\n case DecoratorTypes.CLASS:\n decorateMethodsOf(args[0], Security(name, ...scopes));\n break;\n\n default:\n throw new UnsupportedDecoratorType(Security, args);\n }\n });\n}\n"]}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Status = void 0;
4
+ const returns_1 = require("./returns");
5
+ /**
6
+ * Add responses documentation for a specific status code.
7
+ *
8
+ * ## Usage
9
+ *
10
+ * Ts.ED v6 API introducing the chaining decorator concept.
11
+ * Now a decorator like Returns can be used with another decorators like Description.
12
+ *
13
+ * ```typescript
14
+ * import {Returns} from "@tsed/schema";
15
+ *
16
+ * @Controller("/")
17
+ * class MyController {
18
+ * @Status(404, String).Description("Not Found")
19
+ * @Status(200, Model).Description("Success")
20
+ * async myMethod(): Promise<Model> {}
21
+ * }
22
+ * ```
23
+ *
24
+ * ::: tip
25
+ * TypeScript and your IDE will discover automatically the chained decorators. But for more details you can look on @@ReturnsChainedDecorators@@ interface, to know
26
+ * what chained decorators are available under Returns decorator.
27
+ * :::
28
+ *
29
+ * This example will produce this documentation in swagger:
30
+ *
31
+ * ```json
32
+ * {
33
+ * "responses": {
34
+ * "404": {
35
+ * "description": "Description",
36
+ * "schema": {"type": "string"}
37
+ * },
38
+ * "2OO": {
39
+ * "description": "Description",
40
+ * "schema": {"$ref": "..."}
41
+ * }
42
+ * }
43
+ * }
44
+ * ```
45
+ *
46
+ * ### Declaring a generic model
47
+ *
48
+ * Sometime, it might be useful to use generic models. TypeScript doesn't store the generic type in the metadata. This is why we need to
49
+ * declare explicitly the generic models with the decorators.
50
+ *
51
+ * One of the generic's usage, can be a paginated list. With Returns decorator it's now possible to declare generic type and generate the appropriate OpenSpec documentation.
52
+ *
53
+ * Starting with the pagination model, by using @@Generics@@ and @@CollectionOf@@:
54
+ *
55
+ * ```typescript
56
+ * @Generics("T")
57
+ * class Pagination<T> {
58
+ * @CollectionOf("T")
59
+ * data: T[];
60
+ *
61
+ * @Property()
62
+ * totalCount: number;
63
+ * }
64
+ * ```
65
+ *
66
+ * Now, we need a model to be used with the generic Pagination model:
67
+ *
68
+ * ```typescript
69
+ * class Product {
70
+ * @Property()
71
+ * id: string;
72
+ *
73
+ * @Property()
74
+ * title: string;
75
+ * }
76
+ * ```
77
+ *
78
+ * Finally, we can use our models on a method as following:
79
+ *
80
+ * ```typescript
81
+ * class Controller {
82
+ * @OperationPath("POST", "/")
83
+ * @Status(200, Pagination).Of(Product).Description("description")
84
+ * async method(): Promise<Pagination<Product> | null> {
85
+ * return null;
86
+ * }
87
+ * }
88
+ * ```
89
+ *
90
+ * ### Declaring a nested generics models <Badge text="6+"/>
91
+ *
92
+ * It's also possible to declare a nested generics models in order to have this type `Pagination<Submission<Product>>`:
93
+ *
94
+ * ```typescript
95
+ * import {Generics, Property, Returns} from "@tsed/schema";
96
+ * import {Post} from "@tsed/common";
97
+ *
98
+ * class Controller {
99
+ * @Post("/")
100
+ * @Status(200, Pagination).Of(Submission).Nested(Product).Description("description")
101
+ * async method(): Promise<Pagination<Submission<Product>> | null> {
102
+ * return null;
103
+ * }
104
+ * }
105
+ * ```
106
+ *
107
+ * And here is the Submission model:
108
+ *
109
+ * ```typescript
110
+ * import {Generics, Property} from "@tsed/schema";
111
+ *
112
+ * @Generics("T")
113
+ * class Submission<T> {
114
+ * @Property()
115
+ * _id: string;
116
+ * @Property("T")
117
+ * data: T;
118
+ * }
119
+ * ```
120
+ *
121
+ * @param status
122
+ * @param model
123
+ * @decorator
124
+ * @swagger
125
+ * @schema
126
+ * @response
127
+ * @operation
128
+ */
129
+ function Status(status, model) {
130
+ return (0, returns_1.Returns)(status, model);
131
+ }
132
+ exports.Status = Status;
133
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/decorators/operations/status.ts"],"names":[],"mappings":";;;AACA,uCAA4D;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2HG;AACH,SAAgB,MAAM,CAAC,MAAuB,EAAE,KAAuB;IACrE,OAAO,IAAA,iBAAO,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAFD,wBAEC","sourcesContent":["import {Type} from \"@tsed/core\";\nimport {Returns, ReturnsChainedDecorators} from \"./returns\";\n\n/**\n * Add responses documentation for a specific status code.\n *\n * ## Usage\n *\n * Ts.ED v6 API introducing the chaining decorator concept.\n * Now a decorator like Returns can be used with another decorators like Description.\n *\n * ```typescript\n * import {Returns} from \"@tsed/schema\";\n *\n * @Controller(\"/\")\n * class MyController {\n * @Status(404, String).Description(\"Not Found\")\n * @Status(200, Model).Description(\"Success\")\n * async myMethod(): Promise<Model> {}\n * }\n * ```\n *\n * ::: tip\n * TypeScript and your IDE will discover automatically the chained decorators. But for more details you can look on @@ReturnsChainedDecorators@@ interface, to know\n * what chained decorators are available under Returns decorator.\n * :::\n *\n * This example will produce this documentation in swagger:\n *\n * ```json\n * {\n * \"responses\": {\n * \"404\": {\n * \"description\": \"Description\",\n * \"schema\": {\"type\": \"string\"}\n * },\n * \"2OO\": {\n * \"description\": \"Description\",\n * \"schema\": {\"$ref\": \"...\"}\n * }\n * }\n * }\n * ```\n *\n * ### Declaring a generic model\n *\n * Sometime, it might be useful to use generic models. TypeScript doesn't store the generic type in the metadata. This is why we need to\n * declare explicitly the generic models with the decorators.\n *\n * One of the generic's usage, can be a paginated list. With Returns decorator it's now possible to declare generic type and generate the appropriate OpenSpec documentation.\n *\n * Starting with the pagination model, by using @@Generics@@ and @@CollectionOf@@:\n *\n * ```typescript\n * @Generics(\"T\")\n * class Pagination<T> {\n * @CollectionOf(\"T\")\n * data: T[];\n *\n * @Property()\n * totalCount: number;\n * }\n * ```\n *\n * Now, we need a model to be used with the generic Pagination model:\n *\n * ```typescript\n * class Product {\n * @Property()\n * id: string;\n *\n * @Property()\n * title: string;\n * }\n * ```\n *\n * Finally, we can use our models on a method as following:\n *\n * ```typescript\n * class Controller {\n * @OperationPath(\"POST\", \"/\")\n * @Status(200, Pagination).Of(Product).Description(\"description\")\n * async method(): Promise<Pagination<Product> | null> {\n * return null;\n * }\n * }\n * ```\n *\n * ### Declaring a nested generics models <Badge text=\"6+\"/>\n *\n * It's also possible to declare a nested generics models in order to have this type `Pagination<Submission<Product>>`:\n *\n * ```typescript\n * import {Generics, Property, Returns} from \"@tsed/schema\";\n * import {Post} from \"@tsed/common\";\n *\n * class Controller {\n * @Post(\"/\")\n * @Status(200, Pagination).Of(Submission).Nested(Product).Description(\"description\")\n * async method(): Promise<Pagination<Submission<Product>> | null> {\n * return null;\n * }\n * }\n * ```\n *\n * And here is the Submission model:\n *\n * ```typescript\n * import {Generics, Property} from \"@tsed/schema\";\n *\n * @Generics(\"T\")\n * class Submission<T> {\n * @Property()\n * _id: string;\n * @Property(\"T\")\n * data: T;\n * }\n * ```\n *\n * @param status\n * @param model\n * @decorator\n * @swagger\n * @schema\n * @response\n * @operation\n */\nexport function Status(status: string | number, model?: Type<any> | any): ReturnsChainedDecorators {\n return Returns(status, model);\n}\n"]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Summary = void 0;
4
+ const core_1 = require("@tsed/core");
5
+ const jsonEntityFn_1 = require("../common/jsonEntityFn");
6
+ /**
7
+ * Add summary metadata on the decorated element.
8
+ *
9
+ * ## Examples
10
+ * ### On method
11
+ *
12
+ * ```typescript
13
+ * class Model {
14
+ * @Summary("summary")
15
+ * id: string;
16
+ * }
17
+ * ```
18
+ *
19
+ * @param summary
20
+ * @decorator
21
+ * @swagger
22
+ * @schema
23
+ * @operation
24
+ */
25
+ function Summary(summary) {
26
+ return (0, jsonEntityFn_1.JsonEntityFn)((store, args) => {
27
+ if (store.decoratorType !== core_1.DecoratorTypes.METHOD) {
28
+ throw new core_1.UnsupportedDecoratorType(Summary, args);
29
+ }
30
+ store.operation.summary(summary);
31
+ });
32
+ }
33
+ exports.Summary = Summary;
34
+ //# sourceMappingURL=summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../../src/decorators/operations/summary.ts"],"names":[],"mappings":";;;AAAA,qCAAoE;AACpE,yDAAoD;AAEpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,OAAO,CAAC,OAAe;IACrC,OAAO,IAAA,2BAAY,EAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAClC,IAAI,KAAK,CAAC,aAAa,KAAK,qBAAc,CAAC,MAAM,EAAE;YACjD,MAAM,IAAI,+BAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACnD;QAED,KAAK,CAAC,SAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AARD,0BAQC","sourcesContent":["import {DecoratorTypes, UnsupportedDecoratorType} from \"@tsed/core\";\nimport {JsonEntityFn} from \"../common/jsonEntityFn\";\n\n/**\n * Add summary metadata on the decorated element.\n *\n * ## Examples\n * ### On method\n *\n * ```typescript\n * class Model {\n * @Summary(\"summary\")\n * id: string;\n * }\n * ```\n *\n * @param summary\n * @decorator\n * @swagger\n * @schema\n * @operation\n */\nexport function Summary(summary: string) {\n return JsonEntityFn((store, args) => {\n if (store.decoratorType !== DecoratorTypes.METHOD) {\n throw new UnsupportedDecoratorType(Summary, args);\n }\n\n store.operation!.summary(summary);\n });\n}\n"]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Tags = void 0;
4
+ const core_1 = require("@tsed/core");
5
+ const jsonEntityFn_1 = require("../common/jsonEntityFn");
6
+ function mapTags(tags) {
7
+ return tags.map((tag) => {
8
+ if (typeof tag === "string") {
9
+ return {
10
+ name: tag
11
+ };
12
+ }
13
+ return tag;
14
+ });
15
+ }
16
+ /**
17
+ * Add tags metadata on the decorated element.
18
+ *
19
+ * ## Examples
20
+ * ### On method
21
+ *
22
+ * ```typescript
23
+ * @Controller("/")
24
+ * class MyController {
25
+ * @Tags("api")
26
+ * get() {}
27
+ * }
28
+ * ```
29
+ *
30
+ * @param tags
31
+ * @decorator
32
+ * @swagger
33
+ * @schema
34
+ * @classDecorator
35
+ * @operation
36
+ */
37
+ function Tags(...tags) {
38
+ return (0, jsonEntityFn_1.JsonEntityFn)((store, args) => {
39
+ switch (store.decoratorType) {
40
+ case core_1.DecoratorTypes.METHOD:
41
+ store.operation.addTags(mapTags(tags));
42
+ break;
43
+ case core_1.DecoratorTypes.CLASS:
44
+ (0, core_1.decorateMethodsOf)(args[0], Tags(...tags));
45
+ break;
46
+ default:
47
+ throw new core_1.UnsupportedDecoratorType(Tags, args);
48
+ }
49
+ });
50
+ }
51
+ exports.Tags = Tags;
52
+ //# sourceMappingURL=tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../../src/decorators/operations/tags.ts"],"names":[],"mappings":";;;AAAA,qCAAuF;AAEvF,yDAAoD;AAEpD,SAAS,OAAO,CAAC,IAA8B;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,OAAO;gBACL,IAAI,EAAE,GAAG;aACV,CAAC;SACH;QAED,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,IAAI,CAAC,GAAG,IAA8B;IACpD,OAAO,IAAA,2BAAY,EAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAClC,QAAQ,KAAK,CAAC,aAAa,EAAE;YAC3B,KAAK,qBAAc,CAAC,MAAM;gBACxB,KAAK,CAAC,SAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,qBAAc,CAAC,KAAK;gBACvB,IAAA,wBAAiB,EAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAC1C,MAAM;YAER;gBACE,MAAM,IAAI,+BAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAClD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,oBAcC","sourcesContent":["import {decorateMethodsOf, DecoratorTypes, UnsupportedDecoratorType} from \"@tsed/core\";\nimport {OpenSpecTag} from \"@tsed/openspec\";\nimport {JsonEntityFn} from \"../common/jsonEntityFn\";\n\nfunction mapTags(tags: (string | OpenSpecTag)[]) {\n return tags.map((tag) => {\n if (typeof tag === \"string\") {\n return {\n name: tag\n };\n }\n\n return tag;\n });\n}\n\n/**\n * Add tags metadata on the decorated element.\n *\n * ## Examples\n * ### On method\n *\n * ```typescript\n * @Controller(\"/\")\n * class MyController {\n * @Tags(\"api\")\n * get() {}\n * }\n * ```\n *\n * @param tags\n * @decorator\n * @swagger\n * @schema\n * @classDecorator\n * @operation\n */\nexport function Tags(...tags: (string | OpenSpecTag)[]) {\n return JsonEntityFn((store, args) => {\n switch (store.decoratorType) {\n case DecoratorTypes.METHOD:\n store.operation!.addTags(mapTags(tags));\n break;\n case DecoratorTypes.CLASS:\n decorateMethodsOf(args[0], Tags(...tags));\n break;\n\n default:\n throw new UnsupportedDecoratorType(Tags, args);\n }\n });\n}\n"]}