@tsed/schema 7.86.2 → 7.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/lib/browser/schema.umd.min.js +1 -1
  2. package/lib/browser/schema.umd.min.js.map +1 -1
  3. package/lib/cjs/components/default/anyMapper.js +1 -2
  4. package/lib/cjs/components/default/anyMapper.js.map +1 -1
  5. package/lib/cjs/components/default/classMapper.js +2 -22
  6. package/lib/cjs/components/default/classMapper.js.map +1 -1
  7. package/lib/cjs/components/default/discriminatorMappingMapper.js.map +1 -1
  8. package/lib/cjs/components/default/genericsMapper.js +61 -47
  9. package/lib/cjs/components/default/genericsMapper.js.map +1 -1
  10. package/lib/cjs/components/default/inheritedClassMapper.js.map +1 -1
  11. package/lib/cjs/components/default/lazyRefMapper.js +1 -2
  12. package/lib/cjs/components/default/lazyRefMapper.js.map +1 -1
  13. package/lib/cjs/components/default/mapMapper.js +0 -2
  14. package/lib/cjs/components/default/mapMapper.js.map +1 -1
  15. package/lib/cjs/components/default/nextMapper.js +80 -0
  16. package/lib/cjs/components/default/nextMapper.js.map +1 -0
  17. package/lib/cjs/components/default/nullableMapper.js.map +1 -1
  18. package/lib/cjs/components/default/objectMapper.js +8 -3
  19. package/lib/cjs/components/default/objectMapper.js.map +1 -1
  20. package/lib/cjs/components/default/ofMapper.js +2 -5
  21. package/lib/cjs/components/default/ofMapper.js.map +1 -1
  22. package/lib/cjs/components/default/requiredMapper.js +2 -2
  23. package/lib/cjs/components/default/requiredMapper.js.map +1 -1
  24. package/lib/cjs/components/default/schemaMapper.js +6 -7
  25. package/lib/cjs/components/default/schemaMapper.js.map +1 -1
  26. package/lib/cjs/components/index.js +1 -7
  27. package/lib/cjs/components/index.js.map +1 -1
  28. package/lib/cjs/components/open-spec/enumsMapper.js.map +1 -1
  29. package/lib/cjs/components/open-spec/generate.js.map +1 -1
  30. package/lib/cjs/components/open-spec/nullableMapper.js +5 -1
  31. package/lib/cjs/components/open-spec/nullableMapper.js.map +1 -1
  32. package/lib/cjs/components/open-spec/operationInFilesMapper.js.map +1 -1
  33. package/lib/cjs/components/open-spec/operationInParameterMapper.js +3 -7
  34. package/lib/cjs/components/open-spec/operationInParameterMapper.js.map +1 -1
  35. package/lib/cjs/components/open-spec/operationInQueryMapper.js +21 -16
  36. package/lib/cjs/components/open-spec/operationInQueryMapper.js.map +1 -1
  37. package/lib/cjs/components/open-spec/operationMediaMapper.js +5 -2
  38. package/lib/cjs/components/open-spec/operationMediaMapper.js.map +1 -1
  39. package/lib/cjs/components/open-spec/operationRequestBodyMapper.js +4 -3
  40. package/lib/cjs/components/open-spec/operationRequestBodyMapper.js.map +1 -1
  41. package/lib/cjs/components/open-spec/pathsMapper.js +1 -0
  42. package/lib/cjs/components/open-spec/pathsMapper.js.map +1 -1
  43. package/lib/cjs/constants/VendorKeys.js +15 -0
  44. package/lib/cjs/constants/VendorKeys.js.map +1 -0
  45. package/lib/cjs/constants/httpStatusMessages.js +1 -1
  46. package/lib/cjs/constants/httpStatusMessages.js.map +1 -1
  47. package/lib/cjs/decorators/class/children.js.map +1 -1
  48. package/lib/cjs/decorators/collections/collectionOf.js +29 -0
  49. package/lib/cjs/decorators/collections/collectionOf.js.map +1 -1
  50. package/lib/cjs/decorators/common/allow.js.map +1 -1
  51. package/lib/cjs/decorators/common/any.js.map +1 -1
  52. package/lib/cjs/decorators/common/defaultMsg.js.map +1 -1
  53. package/lib/cjs/decorators/common/description.js +8 -11
  54. package/lib/cjs/decorators/common/description.js.map +1 -1
  55. package/lib/cjs/decorators/common/discriminatorKey.js +1 -1
  56. package/lib/cjs/decorators/common/discriminatorKey.js.map +1 -1
  57. package/lib/cjs/decorators/common/enum.js.map +1 -1
  58. package/lib/cjs/decorators/common/examples.js.map +1 -1
  59. package/lib/cjs/decorators/common/format.js.map +1 -1
  60. package/lib/cjs/decorators/common/forwardGroups.js +1 -1
  61. package/lib/cjs/decorators/common/forwardGroups.js.map +1 -1
  62. package/lib/cjs/decorators/common/groups.js +15 -26
  63. package/lib/cjs/decorators/common/groups.js.map +1 -1
  64. package/lib/cjs/decorators/common/integer.js.map +1 -1
  65. package/lib/cjs/decorators/common/oneOf.js +1 -2
  66. package/lib/cjs/decorators/common/oneOf.js.map +1 -1
  67. package/lib/cjs/decorators/common/optional.js.map +1 -1
  68. package/lib/cjs/decorators/config/jsonEntityComponent.js.map +1 -1
  69. package/lib/cjs/decorators/generics/genericOf.js +7 -16
  70. package/lib/cjs/decorators/generics/genericOf.js.map +1 -1
  71. package/lib/cjs/decorators/generics/generics.js +3 -3
  72. package/lib/cjs/decorators/generics/generics.js.map +1 -1
  73. package/lib/cjs/decorators/operations/acceptMime.js.map +1 -1
  74. package/lib/cjs/decorators/operations/consumes.js.map +1 -1
  75. package/lib/cjs/decorators/operations/deprecated.js.map +1 -1
  76. package/lib/cjs/decorators/operations/header.js.map +1 -1
  77. package/lib/cjs/decorators/operations/in.js.map +1 -1
  78. package/lib/cjs/decorators/operations/inFile.js +2 -2
  79. package/lib/cjs/decorators/operations/inFile.js.map +1 -1
  80. package/lib/cjs/decorators/operations/operation.js +5 -1
  81. package/lib/cjs/decorators/operations/operation.js.map +1 -1
  82. package/lib/cjs/decorators/operations/operationId.js.map +1 -1
  83. package/lib/cjs/decorators/operations/operationPath.js +1 -1
  84. package/lib/cjs/decorators/operations/operationPath.js.map +1 -1
  85. package/lib/cjs/decorators/operations/path.js.map +1 -1
  86. package/lib/cjs/decorators/operations/produces.js.map +1 -1
  87. package/lib/cjs/decorators/operations/redirect.js +1 -1
  88. package/lib/cjs/decorators/operations/redirect.js.map +1 -1
  89. package/lib/cjs/decorators/operations/returns.js +39 -62
  90. package/lib/cjs/decorators/operations/returns.js.map +1 -1
  91. package/lib/cjs/decorators/operations/security.js.map +1 -1
  92. package/lib/cjs/decorators/operations/status.js.map +1 -1
  93. package/lib/cjs/decorators/operations/summary.js.map +1 -1
  94. package/lib/cjs/decorators/operations/tags.js +10 -1
  95. package/lib/cjs/decorators/operations/tags.js.map +1 -1
  96. package/lib/cjs/domain/DecoratorContext.js.map +1 -1
  97. package/lib/cjs/domain/JsonClassStore.js +1 -1
  98. package/lib/cjs/domain/JsonClassStore.js.map +1 -1
  99. package/lib/cjs/domain/JsonEntityStore.js +40 -35
  100. package/lib/cjs/domain/JsonEntityStore.js.map +1 -1
  101. package/lib/cjs/domain/JsonLazyRef.js.map +1 -1
  102. package/lib/cjs/domain/JsonMap.js.map +1 -1
  103. package/lib/cjs/domain/JsonMedia.js +27 -6
  104. package/lib/cjs/domain/JsonMedia.js.map +1 -1
  105. package/lib/cjs/domain/JsonMethodStore.js +27 -8
  106. package/lib/cjs/domain/JsonMethodStore.js.map +1 -1
  107. package/lib/cjs/domain/JsonOperation.js +36 -8
  108. package/lib/cjs/domain/JsonOperation.js.map +1 -1
  109. package/lib/cjs/domain/JsonParameter.js +20 -5
  110. package/lib/cjs/domain/JsonParameter.js.map +1 -1
  111. package/lib/cjs/domain/JsonParameterStore.js +15 -25
  112. package/lib/cjs/domain/JsonParameterStore.js.map +1 -1
  113. package/lib/cjs/domain/JsonPropertyStore.js +14 -45
  114. package/lib/cjs/domain/JsonPropertyStore.js.map +1 -1
  115. package/lib/cjs/domain/JsonSchema.js +286 -79
  116. package/lib/cjs/domain/JsonSchema.js.map +1 -1
  117. package/lib/cjs/domain/__fixtures__/inspectOperationsPaths.js +11 -0
  118. package/lib/cjs/domain/__fixtures__/inspectOperationsPaths.js.map +1 -0
  119. package/lib/cjs/fn/email.js +2 -2
  120. package/lib/cjs/fn/email.js.map +1 -1
  121. package/lib/cjs/fn/uri.js +2 -2
  122. package/lib/cjs/fn/uri.js.map +1 -1
  123. package/lib/cjs/fn/url.js +2 -2
  124. package/lib/cjs/fn/url.js.map +1 -1
  125. package/lib/cjs/index.js +4 -8
  126. package/lib/cjs/index.js.map +1 -1
  127. package/lib/cjs/utils/generics.js +5 -36
  128. package/lib/cjs/utils/generics.js.map +1 -1
  129. package/lib/cjs/utils/getJsonEntityStore.js +3 -3
  130. package/lib/cjs/utils/getJsonEntityStore.js.map +1 -1
  131. package/lib/cjs/utils/getJsonSchema.js +24 -17
  132. package/lib/cjs/utils/getJsonSchema.js.map +1 -1
  133. package/lib/cjs/utils/getOperationsStores.js.map +1 -1
  134. package/lib/cjs/utils/getPropertiesStores.js.map +1 -1
  135. package/lib/cjs/utils/getSpec.js.map +1 -1
  136. package/lib/cjs/utils/mergeSchema.js +103 -0
  137. package/lib/cjs/utils/mergeSchema.js.map +1 -0
  138. package/lib/cjs/utils/ref.js +15 -13
  139. package/lib/cjs/utils/ref.js.map +1 -1
  140. package/lib/esm/components/default/anyMapper.js +1 -2
  141. package/lib/esm/components/default/anyMapper.js.map +1 -1
  142. package/lib/esm/components/default/classMapper.js +2 -22
  143. package/lib/esm/components/default/classMapper.js.map +1 -1
  144. package/lib/esm/components/default/discriminatorMappingMapper.js.map +1 -1
  145. package/lib/esm/components/default/genericsMapper.js +62 -48
  146. package/lib/esm/components/default/genericsMapper.js.map +1 -1
  147. package/lib/esm/components/default/inheritedClassMapper.js.map +1 -1
  148. package/lib/esm/components/default/lazyRefMapper.js +1 -2
  149. package/lib/esm/components/default/lazyRefMapper.js.map +1 -1
  150. package/lib/esm/components/default/mapMapper.js +0 -2
  151. package/lib/esm/components/default/mapMapper.js.map +1 -1
  152. package/lib/esm/components/default/nextMapper.js +75 -0
  153. package/lib/esm/components/default/nextMapper.js.map +1 -0
  154. package/lib/esm/components/default/nullableMapper.js.map +1 -1
  155. package/lib/esm/components/default/objectMapper.js +8 -3
  156. package/lib/esm/components/default/objectMapper.js.map +1 -1
  157. package/lib/esm/components/default/ofMapper.js +2 -5
  158. package/lib/esm/components/default/ofMapper.js.map +1 -1
  159. package/lib/esm/components/default/requiredMapper.js +2 -2
  160. package/lib/esm/components/default/requiredMapper.js.map +1 -1
  161. package/lib/esm/components/default/schemaMapper.js +7 -8
  162. package/lib/esm/components/default/schemaMapper.js.map +1 -1
  163. package/lib/esm/components/index.js +1 -7
  164. package/lib/esm/components/index.js.map +1 -1
  165. package/lib/esm/components/open-spec/enumsMapper.js.map +1 -1
  166. package/lib/esm/components/open-spec/generate.js.map +1 -1
  167. package/lib/esm/components/open-spec/nullableMapper.js +5 -1
  168. package/lib/esm/components/open-spec/nullableMapper.js.map +1 -1
  169. package/lib/esm/components/open-spec/operationInFilesMapper.js.map +1 -1
  170. package/lib/esm/components/open-spec/operationInParameterMapper.js +3 -7
  171. package/lib/esm/components/open-spec/operationInParameterMapper.js.map +1 -1
  172. package/lib/esm/components/open-spec/operationInQueryMapper.js +22 -17
  173. package/lib/esm/components/open-spec/operationInQueryMapper.js.map +1 -1
  174. package/lib/esm/components/open-spec/operationMediaMapper.js +5 -2
  175. package/lib/esm/components/open-spec/operationMediaMapper.js.map +1 -1
  176. package/lib/esm/components/open-spec/operationRequestBodyMapper.js +4 -3
  177. package/lib/esm/components/open-spec/operationRequestBodyMapper.js.map +1 -1
  178. package/lib/esm/components/open-spec/pathsMapper.js +1 -0
  179. package/lib/esm/components/open-spec/pathsMapper.js.map +1 -1
  180. package/lib/esm/constants/VendorKeys.js +12 -0
  181. package/lib/esm/constants/VendorKeys.js.map +1 -0
  182. package/lib/esm/constants/httpStatusMessages.js +1 -1
  183. package/lib/esm/constants/httpStatusMessages.js.map +1 -1
  184. package/lib/esm/decorators/class/children.js.map +1 -1
  185. package/lib/esm/decorators/collections/collectionOf.js +29 -0
  186. package/lib/esm/decorators/collections/collectionOf.js.map +1 -1
  187. package/lib/esm/decorators/common/allow.js.map +1 -1
  188. package/lib/esm/decorators/common/any.js.map +1 -1
  189. package/lib/esm/decorators/common/defaultMsg.js.map +1 -1
  190. package/lib/esm/decorators/common/description.js +9 -12
  191. package/lib/esm/decorators/common/description.js.map +1 -1
  192. package/lib/esm/decorators/common/discriminatorKey.js +1 -1
  193. package/lib/esm/decorators/common/discriminatorKey.js.map +1 -1
  194. package/lib/esm/decorators/common/enum.js.map +1 -1
  195. package/lib/esm/decorators/common/examples.js.map +1 -1
  196. package/lib/esm/decorators/common/format.js.map +1 -1
  197. package/lib/esm/decorators/common/forwardGroups.js +1 -1
  198. package/lib/esm/decorators/common/forwardGroups.js.map +1 -1
  199. package/lib/esm/decorators/common/groups.js +15 -26
  200. package/lib/esm/decorators/common/groups.js.map +1 -1
  201. package/lib/esm/decorators/common/integer.js.map +1 -1
  202. package/lib/esm/decorators/common/oneOf.js +1 -2
  203. package/lib/esm/decorators/common/oneOf.js.map +1 -1
  204. package/lib/esm/decorators/common/optional.js.map +1 -1
  205. package/lib/esm/decorators/config/jsonEntityComponent.js.map +1 -1
  206. package/lib/esm/decorators/generics/genericOf.js +8 -17
  207. package/lib/esm/decorators/generics/genericOf.js.map +1 -1
  208. package/lib/esm/decorators/generics/generics.js +3 -3
  209. package/lib/esm/decorators/generics/generics.js.map +1 -1
  210. package/lib/esm/decorators/operations/acceptMime.js.map +1 -1
  211. package/lib/esm/decorators/operations/consumes.js.map +1 -1
  212. package/lib/esm/decorators/operations/deprecated.js.map +1 -1
  213. package/lib/esm/decorators/operations/header.js.map +1 -1
  214. package/lib/esm/decorators/operations/in.js.map +1 -1
  215. package/lib/esm/decorators/operations/inFile.js +2 -2
  216. package/lib/esm/decorators/operations/inFile.js.map +1 -1
  217. package/lib/esm/decorators/operations/operation.js +5 -1
  218. package/lib/esm/decorators/operations/operation.js.map +1 -1
  219. package/lib/esm/decorators/operations/operationId.js.map +1 -1
  220. package/lib/esm/decorators/operations/operationPath.js +1 -1
  221. package/lib/esm/decorators/operations/operationPath.js.map +1 -1
  222. package/lib/esm/decorators/operations/path.js.map +1 -1
  223. package/lib/esm/decorators/operations/produces.js.map +1 -1
  224. package/lib/esm/decorators/operations/redirect.js +1 -1
  225. package/lib/esm/decorators/operations/redirect.js.map +1 -1
  226. package/lib/esm/decorators/operations/returns.js +40 -63
  227. package/lib/esm/decorators/operations/returns.js.map +1 -1
  228. package/lib/esm/decorators/operations/security.js.map +1 -1
  229. package/lib/esm/decorators/operations/status.js.map +1 -1
  230. package/lib/esm/decorators/operations/summary.js.map +1 -1
  231. package/lib/esm/decorators/operations/tags.js +10 -1
  232. package/lib/esm/decorators/operations/tags.js.map +1 -1
  233. package/lib/esm/domain/DecoratorContext.js.map +1 -1
  234. package/lib/esm/domain/JsonClassStore.js +1 -1
  235. package/lib/esm/domain/JsonClassStore.js.map +1 -1
  236. package/lib/esm/domain/JsonEntityStore.js +40 -35
  237. package/lib/esm/domain/JsonEntityStore.js.map +1 -1
  238. package/lib/esm/domain/JsonLazyRef.js.map +1 -1
  239. package/lib/esm/domain/JsonMap.js.map +1 -1
  240. package/lib/esm/domain/JsonMedia.js +27 -6
  241. package/lib/esm/domain/JsonMedia.js.map +1 -1
  242. package/lib/esm/domain/JsonMethodStore.js +28 -9
  243. package/lib/esm/domain/JsonMethodStore.js.map +1 -1
  244. package/lib/esm/domain/JsonOperation.js +34 -7
  245. package/lib/esm/domain/JsonOperation.js.map +1 -1
  246. package/lib/esm/domain/JsonParameter.js +20 -5
  247. package/lib/esm/domain/JsonParameter.js.map +1 -1
  248. package/lib/esm/domain/JsonParameterStore.js +16 -26
  249. package/lib/esm/domain/JsonParameterStore.js.map +1 -1
  250. package/lib/esm/domain/JsonPropertyStore.js +15 -46
  251. package/lib/esm/domain/JsonPropertyStore.js.map +1 -1
  252. package/lib/esm/domain/JsonSchema.js +287 -80
  253. package/lib/esm/domain/JsonSchema.js.map +1 -1
  254. package/lib/esm/domain/__fixtures__/inspectOperationsPaths.js +7 -0
  255. package/lib/esm/domain/__fixtures__/inspectOperationsPaths.js.map +1 -0
  256. package/lib/esm/fn/email.js +2 -2
  257. package/lib/esm/fn/email.js.map +1 -1
  258. package/lib/esm/fn/uri.js +2 -2
  259. package/lib/esm/fn/uri.js.map +1 -1
  260. package/lib/esm/fn/url.js +2 -2
  261. package/lib/esm/fn/url.js.map +1 -1
  262. package/lib/esm/index.js +4 -8
  263. package/lib/esm/index.js.map +1 -1
  264. package/lib/esm/utils/generics.js +3 -32
  265. package/lib/esm/utils/generics.js.map +1 -1
  266. package/lib/esm/utils/getJsonEntityStore.js +3 -3
  267. package/lib/esm/utils/getJsonEntityStore.js.map +1 -1
  268. package/lib/esm/utils/getJsonSchema.js +24 -17
  269. package/lib/esm/utils/getJsonSchema.js.map +1 -1
  270. package/lib/esm/utils/getOperationsStores.js.map +1 -1
  271. package/lib/esm/utils/getPropertiesStores.js.map +1 -1
  272. package/lib/esm/utils/getSpec.js.map +1 -1
  273. package/lib/esm/utils/mergeSchema.js +99 -0
  274. package/lib/esm/utils/mergeSchema.js.map +1 -0
  275. package/lib/esm/utils/ref.js +14 -13
  276. package/lib/esm/utils/ref.js.map +1 -1
  277. package/lib/types/components/default/classMapper.d.ts +1 -1
  278. package/lib/types/components/default/genericsMapper.d.ts +9 -2
  279. package/lib/types/components/default/lazyRefMapper.d.ts +1 -1
  280. package/lib/types/components/default/nextMapper.d.ts +5 -0
  281. package/lib/types/components/default/ofMapper.d.ts +1 -1
  282. package/lib/types/components/index.d.ts +1 -7
  283. package/lib/types/components/open-spec/nullableMapper.d.ts +2 -1
  284. package/lib/types/components/open-spec/operationInQueryMapper.d.ts +1 -1
  285. package/lib/types/constants/VendorKeys.d.ts +10 -0
  286. package/lib/types/decorators/collections/collectionOf.d.ts +6 -0
  287. package/lib/types/decorators/generics/genericOf.d.ts +3 -0
  288. package/lib/types/decorators/generics/generics.d.ts +2 -2
  289. package/lib/types/decorators/operations/acceptMime.d.ts +1 -1
  290. package/lib/types/decorators/operations/consumes.d.ts +1 -1
  291. package/lib/types/decorators/operations/header.d.ts +1 -1
  292. package/lib/types/decorators/operations/operationId.d.ts +1 -1
  293. package/lib/types/decorators/operations/operationPath.d.ts +1 -1
  294. package/lib/types/decorators/operations/path.d.ts +1 -1
  295. package/lib/types/decorators/operations/returns.d.ts +11 -9
  296. package/lib/types/decorators/operations/tags.d.ts +11 -2
  297. package/lib/types/domain/JsonClassStore.d.ts +1 -1
  298. package/lib/types/domain/JsonEntityStore.d.ts +20 -16
  299. package/lib/types/domain/JsonMedia.d.ts +4 -5
  300. package/lib/types/domain/JsonMethodStore.d.ts +9 -2
  301. package/lib/types/domain/JsonOperation.d.ts +7 -4
  302. package/lib/types/domain/JsonParameter.d.ts +4 -7
  303. package/lib/types/domain/JsonParameterStore.d.ts +1 -4
  304. package/lib/types/domain/JsonPropertyStore.d.ts +2 -21
  305. package/lib/types/domain/JsonSchema.d.ts +83 -40
  306. package/lib/types/domain/__fixtures__/inspectOperationsPaths.d.ts +5 -0
  307. package/lib/types/index.d.ts +4 -8
  308. package/lib/types/interfaces/JsonSchemaOptions.d.ts +16 -2
  309. package/lib/types/utils/generics.d.ts +7 -48
  310. package/lib/types/utils/getJsonEntityStore.d.ts +3 -3
  311. package/lib/types/utils/getJsonSchema.d.ts +3 -2
  312. package/lib/types/utils/mergeSchema.d.ts +2 -0
  313. package/lib/types/utils/ref.d.ts +4 -2
  314. package/lib/types-esm/components/default/classMapper.d.ts +1 -1
  315. package/lib/types-esm/components/default/genericsMapper.d.ts +9 -2
  316. package/lib/types-esm/components/default/lazyRefMapper.d.ts +1 -1
  317. package/lib/types-esm/components/default/nextMapper.d.ts +5 -0
  318. package/lib/types-esm/components/default/ofMapper.d.ts +1 -1
  319. package/lib/types-esm/components/index.d.ts +1 -7
  320. package/lib/types-esm/components/open-spec/nullableMapper.d.ts +2 -1
  321. package/lib/types-esm/components/open-spec/operationInQueryMapper.d.ts +1 -1
  322. package/lib/types-esm/constants/VendorKeys.d.ts +10 -0
  323. package/lib/types-esm/decorators/collections/collectionOf.d.ts +6 -0
  324. package/lib/types-esm/decorators/generics/genericOf.d.ts +3 -0
  325. package/lib/types-esm/decorators/generics/generics.d.ts +2 -2
  326. package/lib/types-esm/decorators/operations/acceptMime.d.ts +1 -1
  327. package/lib/types-esm/decorators/operations/consumes.d.ts +1 -1
  328. package/lib/types-esm/decorators/operations/header.d.ts +1 -1
  329. package/lib/types-esm/decorators/operations/operationId.d.ts +1 -1
  330. package/lib/types-esm/decorators/operations/operationPath.d.ts +1 -1
  331. package/lib/types-esm/decorators/operations/path.d.ts +1 -1
  332. package/lib/types-esm/decorators/operations/returns.d.ts +11 -9
  333. package/lib/types-esm/decorators/operations/tags.d.ts +11 -2
  334. package/lib/types-esm/domain/JsonClassStore.d.ts +1 -1
  335. package/lib/types-esm/domain/JsonEntityStore.d.ts +20 -16
  336. package/lib/types-esm/domain/JsonMedia.d.ts +4 -5
  337. package/lib/types-esm/domain/JsonMethodStore.d.ts +9 -2
  338. package/lib/types-esm/domain/JsonOperation.d.ts +7 -4
  339. package/lib/types-esm/domain/JsonParameter.d.ts +4 -7
  340. package/lib/types-esm/domain/JsonParameterStore.d.ts +1 -4
  341. package/lib/types-esm/domain/JsonPropertyStore.d.ts +2 -21
  342. package/lib/types-esm/domain/JsonSchema.d.ts +83 -40
  343. package/lib/types-esm/domain/__fixtures__/inspectOperationsPaths.d.ts +5 -0
  344. package/lib/types-esm/index.d.ts +4 -8
  345. package/lib/types-esm/interfaces/JsonSchemaOptions.d.ts +16 -2
  346. package/lib/types-esm/utils/generics.d.ts +7 -48
  347. package/lib/types-esm/utils/getJsonEntityStore.d.ts +3 -3
  348. package/lib/types-esm/utils/getJsonSchema.d.ts +3 -2
  349. package/lib/types-esm/utils/mergeSchema.d.ts +2 -0
  350. package/lib/types-esm/utils/ref.d.ts +4 -2
  351. package/package.json +6 -6
  352. package/lib/cjs/components/async-api/channelsMapper.js +0 -62
  353. package/lib/cjs/components/async-api/channelsMapper.js.map +0 -1
  354. package/lib/cjs/components/async-api/generate.js +0 -20
  355. package/lib/cjs/components/async-api/generate.js.map +0 -1
  356. package/lib/cjs/components/async-api/messageMapper.js +0 -44
  357. package/lib/cjs/components/async-api/messageMapper.js.map +0 -1
  358. package/lib/cjs/components/async-api/payloadMapper.js +0 -52
  359. package/lib/cjs/components/async-api/payloadMapper.js.map +0 -1
  360. package/lib/cjs/components/async-api/responseMapper.js +0 -58
  361. package/lib/cjs/components/async-api/responseMapper.js.map +0 -1
  362. package/lib/cjs/components/default/itemMapper.js +0 -10
  363. package/lib/cjs/components/default/itemMapper.js.map +0 -1
  364. package/lib/cjs/components/default/propertiesMapper.js +0 -25
  365. package/lib/cjs/components/default/propertiesMapper.js.map +0 -1
  366. package/lib/cjs/utils/somethingOf.js +0 -16
  367. package/lib/cjs/utils/somethingOf.js.map +0 -1
  368. package/lib/esm/components/async-api/channelsMapper.js +0 -58
  369. package/lib/esm/components/async-api/channelsMapper.js.map +0 -1
  370. package/lib/esm/components/async-api/generate.js +0 -18
  371. package/lib/esm/components/async-api/generate.js.map +0 -1
  372. package/lib/esm/components/async-api/messageMapper.js +0 -40
  373. package/lib/esm/components/async-api/messageMapper.js.map +0 -1
  374. package/lib/esm/components/async-api/payloadMapper.js +0 -48
  375. package/lib/esm/components/async-api/payloadMapper.js.map +0 -1
  376. package/lib/esm/components/async-api/responseMapper.js +0 -54
  377. package/lib/esm/components/async-api/responseMapper.js.map +0 -1
  378. package/lib/esm/components/default/itemMapper.js +0 -6
  379. package/lib/esm/components/default/itemMapper.js.map +0 -1
  380. package/lib/esm/components/default/propertiesMapper.js +0 -21
  381. package/lib/esm/components/default/propertiesMapper.js.map +0 -1
  382. package/lib/esm/utils/somethingOf.js +0 -12
  383. package/lib/esm/utils/somethingOf.js.map +0 -1
  384. package/lib/types/components/async-api/channelsMapper.d.ts +0 -2
  385. package/lib/types/components/async-api/generate.d.ts +0 -1
  386. package/lib/types/components/async-api/messageMapper.d.ts +0 -6
  387. package/lib/types/components/async-api/payloadMapper.d.ts +0 -4
  388. package/lib/types/components/async-api/responseMapper.d.ts +0 -6
  389. package/lib/types/components/default/itemMapper.d.ts +0 -2
  390. package/lib/types/components/default/propertiesMapper.d.ts +0 -3
  391. package/lib/types/utils/somethingOf.d.ts +0 -1
  392. package/lib/types-esm/components/async-api/channelsMapper.d.ts +0 -2
  393. package/lib/types-esm/components/async-api/generate.d.ts +0 -1
  394. package/lib/types-esm/components/async-api/messageMapper.d.ts +0 -6
  395. package/lib/types-esm/components/async-api/payloadMapper.d.ts +0 -4
  396. package/lib/types-esm/components/async-api/responseMapper.d.ts +0 -6
  397. package/lib/types-esm/components/default/itemMapper.d.ts +0 -2
  398. package/lib/types-esm/components/default/propertiesMapper.d.ts +0 -3
  399. package/lib/types-esm/utils/somethingOf.d.ts +0 -1
@@ -12,4 +12,4 @@
12
12
  * @classDecorator
13
13
  * @operation
14
14
  */
15
- export declare function Path(path: string): (...args: any[]) => any;
15
+ export declare function Path(path: string): ClassDecorator;
@@ -88,8 +88,10 @@ export interface ReturnsChainedDecorators {
88
88
  /**
89
89
  * Add an inline title for the return model.
90
90
  * @param title
91
+ * @deprecated use Label instead
91
92
  */
92
93
  Title(title: string): this;
94
+ Label(label: string): this;
93
95
  /**
94
96
  * Use group to filter model
95
97
  * @param groups
@@ -170,7 +172,7 @@ export interface ReturnsChainedDecorators {
170
172
  *
171
173
  * Deprecated version:
172
174
  *
173
- * ```typescript
175
+ * ```ts
174
176
  * import {ReturnsArray} from "@tsed/common";
175
177
  * import {Returns} from "@tsed/schema";
176
178
  *
@@ -183,14 +185,14 @@ export interface ReturnsChainedDecorators {
183
185
  *
184
186
  * ### Declaring a generic model <Badge text="6+"/>
185
187
  *
186
- * 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
188
+ * Sometimes, it might be useful to use generic models. TypeScript doesn't store the generic type in the metadata. This is why we need to
187
189
  * declare explicitly the generic models with the decorators.
188
190
  *
189
- * 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.
191
+ * One of the generic's usage can be a paginated list. With Returns decorator it's now possible to declare a generic type and generate the appropriate OpenSpec documentation.
190
192
  *
191
193
  * Starting with the pagination model, by using @@Generics@@ and @@CollectionOf@@:
192
194
  *
193
- * ```typescript
195
+ * ```ts
194
196
  * @Generics("T")
195
197
  * class Pagination<T> {
196
198
  * @CollectionOf("T")
@@ -213,7 +215,7 @@ export interface ReturnsChainedDecorators {
213
215
  * }
214
216
  * ```
215
217
  *
216
- * Finally, we can use our models on a method as following:
218
+ * Finally, we can use our models on a method as follows:
217
219
  *
218
220
  * ```typescript
219
221
  * class Controller {
@@ -225,11 +227,11 @@ export interface ReturnsChainedDecorators {
225
227
  * }
226
228
  * ```
227
229
  *
228
- * ### Declaring a nested generics models <Badge text="6+"/>
230
+ * ### Declaring nested generics models <Badge text="6+"/>
229
231
  *
230
- * It's also possible to declare a nested generics models in order to have this type `Pagination<Submission<Product>>`:
232
+ * It's also possible to declare a nested generics model to have this type `Pagination<Submission<Product>>`:
231
233
  *
232
- * ```typescript
234
+ * ```ts
233
235
  * import {Generics, Property, Returns} from "@tsed/schema";
234
236
  * import {Post} from "@tsed/common";
235
237
  *
@@ -244,7 +246,7 @@ export interface ReturnsChainedDecorators {
244
246
  *
245
247
  * And here is the Submission model:
246
248
  *
247
- * ```typescript
249
+ * ```ts
248
250
  * import {Generics, Property} from "@tsed/schema";
249
251
  *
250
252
  * @Generics("T")
@@ -1,6 +1,6 @@
1
1
  import { OpenSpecTag } from "@tsed/openspec";
2
2
  /**
3
- * Add tags metadata on the decorated element.
3
+ * Add metadata tags to the decorated element (class or method).
4
4
  *
5
5
  * ## Examples
6
6
  * ### On method
@@ -12,6 +12,15 @@ import { OpenSpecTag } from "@tsed/openspec";
12
12
  * get() {}
13
13
  * }
14
14
  * ```
15
+ * ### On Class
16
+ *
17
+ * ```typescript
18
+ * @Controller("/")
19
+ * @Tags("api")
20
+ * class MyController {
21
+ * get() {}
22
+ * }
23
+ * ```
15
24
  *
16
25
  * @param tags
17
26
  * @decorator
@@ -20,4 +29,4 @@ import { OpenSpecTag } from "@tsed/openspec";
20
29
  * @classDecorator
21
30
  * @operation
22
31
  */
23
- export declare function Tags(...tags: (string | OpenSpecTag)[]): (...args: any[]) => any;
32
+ export declare function Tags(...tags: (string | OpenSpecTag)[]): ClassDecorator & MethodDecorator;
@@ -1,6 +1,6 @@
1
+ import { JsonEntityStore } from "./JsonEntityStore.js";
1
2
  import type { JsonMethodStore } from "./JsonMethodStore.js";
2
3
  import type { JsonPropertyStore } from "./JsonPropertyStore.js";
3
- import { JsonEntityStore } from "./JsonEntityStore.js";
4
4
  export declare class JsonClassStore extends JsonEntityStore {
5
5
  /**
6
6
  * List of children JsonEntityStore (properties or methods or params)
@@ -51,16 +51,26 @@ export declare abstract class JsonEntityStore implements JsonEntityStoreOptions
51
51
  readonly isStore = true;
52
52
  readonly parent: JsonEntityStore;
53
53
  readonly target: Type<any>;
54
+ constructor(options: JsonEntityStoreOptions);
54
55
  /**
55
56
  *
56
57
  */
57
58
  protected _type: Type<any>;
59
+ [key: string]: any;
60
+ get type(): Type<any> | any;
61
+ /**
62
+ * Get original type without transformation
63
+ * @param value
64
+ */
65
+ set type(value: Type<any> | any);
58
66
  /**
59
67
  * Ref to JsonSchema
60
68
  */
61
69
  protected _schema: JsonSchema;
62
- [key: string]: any;
63
- constructor(options: JsonEntityStoreOptions);
70
+ /**
71
+ * Return the JsonSchema
72
+ */
73
+ get schema(): JsonSchema;
64
74
  /**
65
75
  * Return the class name of the entity.
66
76
  * @returns {string}
@@ -73,26 +83,16 @@ export declare abstract class JsonEntityStore implements JsonEntityStoreOptions
73
83
  get isDate(): boolean;
74
84
  get isObject(): boolean;
75
85
  get isClass(): boolean;
76
- /**
77
- * Return the JsonSchema
78
- */
79
- get schema(): JsonSchema;
80
- get nestedGenerics(): Type<any>[][];
81
- set nestedGenerics(nestedGenerics: Type<any>[][]);
82
- get type(): Type<any> | any;
83
- /**
84
- * Get original type without transformation
85
- * @param value
86
- */
87
- set type(value: Type<any> | any);
88
86
  /**
89
87
  * Return the itemSchema computed type. if the type is a function used for recursive model, the function will be called to
90
88
  * get the right type.
91
89
  */
92
- get computedType(): any;
90
+ get computedType(): Type<any>;
93
91
  get itemSchema(): JsonSchema;
94
92
  get parentSchema(): JsonSchema;
95
93
  get isDiscriminatorChild(): boolean;
94
+ get path(): string;
95
+ set path(path: string);
96
96
  static from<T extends JsonClassStore = JsonClassStore>(target: Type<any>): T;
97
97
  static from<T extends JsonPropertyStore = JsonPropertyStore>(target: Type<any> | any, propertyKey: string | symbol): T;
98
98
  static from<T extends JsonParameterStore = JsonParameterStore>(target: Type<any> | any, propertyKey: string | symbol, index: number): T;
@@ -104,7 +104,11 @@ export declare abstract class JsonEntityStore implements JsonEntityStoreOptions
104
104
  get<T = any>(key: string, defaultValue?: any): T;
105
105
  set(key: string, value?: any): Store;
106
106
  toString(): string;
107
+ getBestType(): any;
108
+ is(input: DecoratorTypes.CLASS): this is JsonClassStore;
109
+ is(input: DecoratorTypes.PROP): this is JsonPropertyStore;
110
+ is(input: DecoratorTypes.METHOD): this is JsonMethodStore;
111
+ is(input: DecoratorTypes.PARAM): this is JsonParameterStore;
107
112
  protected abstract build(): void;
108
113
  protected buildType(type: any): void;
109
- getBestType(): any;
110
114
  }
@@ -3,9 +3,8 @@ import { JsonMap } from "./JsonMap.js";
3
3
  import { JsonSchema } from "./JsonSchema.js";
4
4
  export declare class JsonMedia extends JsonMap<OS3MediaType<JsonSchema>> {
5
5
  $kind: string;
6
- groups: string[];
7
- groupsName: string;
8
- allowedGroups?: Set<string>;
9
- schema(schema: JsonSchema): this;
10
- examples(examples: any): this;
6
+ constructor(obj?: Partial<OS3MediaType<JsonSchema>>);
7
+ schema(schema?: JsonSchema): JsonSchema;
8
+ examples(examples?: any): this;
9
+ type(type: any): this;
11
10
  }
@@ -39,6 +39,12 @@ export declare class JsonMethodStore extends JsonEntityStore {
39
39
  * @param descriptor
40
40
  */
41
41
  static get(target: Type<any>, propertyKey: string | symbol, descriptor?: PropertyDescriptor): JsonMethodStore;
42
+ /**
43
+ * TODO must be located on JsonOperation level directly
44
+ * @param status
45
+ * @param contentType
46
+ * @param includes
47
+ */
42
48
  getResponseOptions(status: number, { contentType, includes }?: {
43
49
  contentType?: string;
44
50
  includes?: string[];
@@ -73,10 +79,11 @@ export declare class JsonMethodStore extends JsonEntityStore {
73
79
  /**
74
80
  * EndpointMetadata contains metadata about a controller and his method.
75
81
  * Each annotation (@Get, @Body...) attached to a method are stored into endpoint.
76
- * EndpointMetadata convert this metadata to an array which contain arguments to call an Express method.
82
+ * EndpointMetadata converts this metadata to an array which contain arguments to call an Express method.
77
83
  *
78
84
  * Example :
79
- *```typescript
85
+ *
86
+ *```ts
80
87
  * @Controller("/my-path")
81
88
  * provide MyClass {
82
89
  *
@@ -4,10 +4,12 @@ import { JsonMap } from "./JsonMap.js";
4
4
  import { JsonParameter } from "./JsonParameter.js";
5
5
  import { JsonResponse } from "./JsonResponse.js";
6
6
  import { JsonSchema } from "./JsonSchema.js";
7
- export interface JsonMethodPath {
8
- path: string | RegExp;
7
+ export declare class JsonMethodPath extends JsonMap<any> {
9
8
  method: string;
10
- [key: string]: any;
9
+ path: string | RegExp;
10
+ constructor(method: string, path: string | RegExp);
11
+ summary(summary: string): this;
12
+ description(description: string): this;
11
13
  }
12
14
  export interface JsonOperationOptions extends OS3Operation<JsonSchema, JsonParameter, JsonMap<JsonResponse>> {
13
15
  consumes: string[];
@@ -41,11 +43,12 @@ export declare class JsonOperation extends JsonMap<JsonOperationOptions> {
41
43
  addSecurityScopes(name: string, scopes: string[]): this;
42
44
  description(description: string): this;
43
45
  deprecated(deprecated: boolean): this;
46
+ addAllowedGroupsParameter(allowedGroups: string[]): this;
44
47
  parameters(parameters: JsonParameter[]): this;
45
48
  addParameter(index: number, parameter: JsonParameter): void;
46
49
  consumes(consumes: string[]): this;
47
50
  produces(produces: string[]): this;
48
51
  addProduce(produce: string): void;
49
- addOperationPath(method: string, path: string | RegExp, options?: any): this;
52
+ addOperationPath(method: string, path: string | RegExp): JsonMethodPath;
50
53
  getAllowedOperationPath(allowedVerbs?: string[]): JsonMethodPath[];
51
54
  }
@@ -1,22 +1,19 @@
1
- import { Type } from "@tsed/core";
2
1
  import { OpenSpecHash, OpenSpecRef, OS3Example, OS3Parameter } from "@tsed/openspec";
3
2
  import { JsonSchemaOptions } from "../interfaces/JsonSchemaOptions.js";
4
- import { NestedGenerics } from "../utils/generics.js";
5
3
  import { JsonMap } from "./JsonMap.js";
6
4
  import { JsonSchema } from "./JsonSchema.js";
7
- export declare class JsonParameter extends JsonMap<OS3Parameter<JsonSchema>> implements NestedGenerics {
5
+ export declare class JsonParameter extends JsonMap<OS3Parameter<JsonSchema>> {
8
6
  $kind: string;
9
- nestedGenerics: Type<any>[][];
10
- groups: string[];
11
- groupsName: string;
12
- $schema: JsonSchema;
13
7
  expression: string;
8
+ constructor(obj?: Partial<OS3Parameter<JsonSchema>>);
14
9
  getName(): any;
15
10
  name(name: string): this;
16
11
  examples(examples: OpenSpecHash<OS3Example | OpenSpecRef>): this;
17
12
  description(description: string): this;
18
13
  in(inType: string, expression?: string | any): this;
19
14
  required(required: boolean): this;
15
+ schema(): JsonSchema;
20
16
  schema(schema: JsonSchema): this;
17
+ itemSchema(schema?: JsonSchema): JsonSchema;
21
18
  toJSON(options?: JsonSchemaOptions): any;
22
19
  }
@@ -2,7 +2,6 @@ import { Type } from "@tsed/core";
2
2
  import { JsonEntityStore, JsonEntityStoreOptions } from "./JsonEntityStore.js";
3
3
  import type { JsonMethodStore } from "./JsonMethodStore.js";
4
4
  import { JsonParameter } from "./JsonParameter.js";
5
- import { JsonSchema } from "./JsonSchema.js";
6
5
  export interface JsonParameterStoreOptions extends JsonEntityStoreOptions {
7
6
  dataPath?: string;
8
7
  paramType?: string;
@@ -25,8 +24,6 @@ export declare class JsonParameterStore extends JsonEntityStore {
25
24
  readonly parameter: JsonParameter;
26
25
  readonly parent: JsonMethodStore;
27
26
  constructor(options: JsonParameterStoreOptions);
28
- get nestedGenerics(): Type<any>[][];
29
- set nestedGenerics(nestedGenerics: Type<any>[][]);
30
27
  /**
31
28
  * Return the required state.
32
29
  * @returns {boolean}
@@ -34,6 +31,7 @@ export declare class JsonParameterStore extends JsonEntityStore {
34
31
  get required(): boolean;
35
32
  set required(value: boolean);
36
33
  get allowedRequiredValues(): any[];
34
+ get schema(): import("./JsonSchema.js").JsonSchema;
37
35
  static getParams<T extends JsonParameterStore = JsonParameterStore>(target: Type<any>, propertyKey: string | symbol): T[];
38
36
  static get(target: Type<any>, propertyKey: string | symbol, index: number): JsonParameterStore;
39
37
  /**
@@ -42,7 +40,6 @@ export declare class JsonParameterStore extends JsonEntityStore {
42
40
  * @returns {boolean}
43
41
  */
44
42
  isRequired(value: any): boolean;
45
- protected getSchema(type: any): JsonSchema;
46
43
  protected build(): void;
47
44
  }
48
45
  /**
@@ -1,29 +1,10 @@
1
1
  import { Type } from "@tsed/core";
2
- import { JsonEntityStore } from "./JsonEntityStore.js";
3
2
  import type { JsonClassStore } from "./JsonClassStore.js";
3
+ import { JsonEntityStore } from "./JsonEntityStore.js";
4
4
  export declare class JsonPropertyStore extends JsonEntityStore {
5
5
  readonly parent: JsonClassStore;
6
- /**
7
- * Return the required state.
8
- * @returns {boolean}
9
- */
10
- get required(): boolean;
11
- /**
12
- * Change the state of the required data.
13
- * @param value
14
- */
15
- set required(value: boolean);
16
- get allowedRequiredValues(): any[];
17
- discriminatorKey(): this;
18
- isDiscriminatorKey(): boolean;
19
- /**
20
- * Check precondition between value, required and allowedRequiredValues to know if the entity is required.
21
- * @param value
22
- * @returns {boolean}
23
- */
24
- isRequired(value: any): boolean;
25
- protected build(): void;
26
6
  static get(target: Type<any>, propertyKey: string | symbol): JsonPropertyStore;
7
+ protected build(): void;
27
8
  }
28
9
  /**
29
10
  * @alias JsonPropertyStore
@@ -1,67 +1,99 @@
1
- import { Hooks, Type, ValueOf } from "@tsed/core";
2
- import type { JSONSchema6, JSONSchema6Definition, JSONSchema6Type, JSONSchema6TypeName, JSONSchema6Version } from "json-schema";
1
+ import { Type, ValueOf, Hooks } from "@tsed/core";
2
+ import type { JSONSchema7, JSONSchema7Definition, JSONSchema7Type, JSONSchema7TypeName, JSONSchema7Version } from "json-schema";
3
+ import { VendorKeys } from "../constants/VendorKeys.js";
3
4
  import { IgnoreCallback } from "../interfaces/IgnoreCallback.js";
4
5
  import { JsonSchemaOptions } from "../interfaces/JsonSchemaOptions.js";
5
- import { NestedGenerics } from "../utils/generics.js";
6
+ import { type GenericsMap, GenericValue } from "../utils/generics.js";
6
7
  import { AliasMap, AliasType } from "./JsonAliasMap.js";
7
8
  import { Discriminator } from "./JsonDiscriminator.js";
8
9
  import { JsonFormatTypes } from "./JsonFormatTypes.js";
9
10
  import { JsonLazyRef } from "./JsonLazyRef.js";
10
- export interface JsonSchemaObject extends JSONSchema6, Record<string, any> {
11
- type: (any | JSONSchema6TypeName) | (any | JSONSchema6TypeName)[];
12
- additionalProperties?: boolean | JSONSchema6 | any;
13
- propertyNames?: boolean | JSONSchema6 | any;
14
- items?: (any | JSONSchema6Definition) | (any | JSONSchema6Definition)[];
11
+ export interface JsonSchemaObject extends Omit<JSONSchema7, "type" | "additionalProperties" | "items"> {
12
+ type?: Type | JSONSchema7["type"] | null | (String | null | Date | Number | Object | Boolean)[];
13
+ additionalProperties?: boolean | JSONSchema7 | Type | JsonSchema;
14
+ items?: (Type | JSONSchema7Definition | JsonSchema) | (Type | JSONSchema7Definition | JsonSchema)[];
15
15
  }
16
- export type AnyJsonSchema = Partial<JsonSchemaObject> | JsonSchema | JsonLazyRef | any;
17
- export declare class JsonSchema extends Map<string, any> implements NestedGenerics {
16
+ export type AnyJsonSchema = JsonSchemaObject | JSONSchema7 | JsonSchema | JsonLazyRef | {
17
+ label?: string;
18
+ } | Type;
19
+ export declare class JsonSchema extends Map<string, any> {
18
20
  #private;
19
21
  readonly $kind: string;
20
22
  readonly $isJsonDocument = true;
21
23
  readonly $hooks: Hooks;
22
- readonly $required: Set<string>;
23
24
  readonly $allow: any[];
24
25
  $selfRequired: boolean;
25
- $forwardGroups: boolean;
26
26
  $ignore: boolean | IgnoreCallback;
27
27
  isDiscriminatorKey: boolean;
28
28
  isDiscriminator: boolean;
29
29
  constructor(obj?: JsonSchema | Partial<JsonSchemaObject>);
30
30
  get alias(): AliasMap;
31
- get nestedGenerics(): any[];
32
- set nestedGenerics(value: any[]);
33
- get genericLabels(): string[];
34
- set genericLabels(value: string[]);
35
31
  get isClass(): boolean;
36
32
  /**
37
- * Current schema is a collection
33
+ * The current schema is a collection
38
34
  */
39
35
  get isCollection(): boolean;
36
+ /**
37
+ * The current schema is a reference to another schema
38
+ * to link property/param to a class schema (if the reference exists).
39
+ */
40
+ get isLocalSchema(): boolean;
40
41
  /**
41
42
  * Current schema is a generic
42
43
  */
43
44
  get isGeneric(): boolean;
44
45
  get discriminatorAncestor(): any;
45
46
  /**
46
- * Current schema has generics items
47
+ * Return the itemSchema computed type.
48
+ * If the type is a function used for a recursive model,
49
+ * the function will be called to get the right type.
50
+ */
51
+ get class(): Type<any>;
52
+ /**
53
+ * Return the itemSchema computed type.
47
54
  */
48
- get hasGenerics(): boolean;
49
- get genericType(): string;
50
- get class(): any;
55
+ get collectionClass(): Type<any>;
51
56
  get canRef(): boolean;
52
57
  get isNullable(): boolean;
53
58
  get isReadOnly(): any;
54
59
  get isWriteOnly(): any;
55
60
  get hasDiscriminator(): boolean;
56
- static from(obj?: Partial<JsonSchemaObject>): JsonSchema;
57
- nullable(value: boolean): void;
61
+ static from(item?: Partial<JsonSchemaObject> | Type<any> | JsonSchema): JsonSchema;
62
+ /**
63
+ * Check if the schema as key, #key or x-key
64
+ * @param key
65
+ */
66
+ has(key: string): boolean;
67
+ /**
68
+ * Get the value of the schema by key, #key or x-key.
69
+ * @param key
70
+ * @param defaultValue
71
+ */
72
+ get<T = any>(key: string, defaultValue: T): T;
73
+ get<T = any>(key: string, defaultValue?: T): T | undefined;
74
+ forwardGroups(bool?: boolean): this;
75
+ groups(groups?: string[], isProperty?: boolean): this;
76
+ groupsName(groupsName?: string): this;
77
+ allowedGroups(groups?: string[]): this;
78
+ /**
79
+ * Assign the Generic Labels used over a class or a schema.
80
+ * @param genericLabels
81
+ */
82
+ genericLabels(genericLabels: string[]): this;
83
+ genericLabel(genericLabel: string): this;
84
+ /**
85
+ * Assign the types of the generics that must be used for the property
86
+ * @param generics
87
+ */
88
+ genericOf(...generics: GenericValue[][]): this;
89
+ nullable(value: boolean): this;
58
90
  itemSchema(obj?: AnyJsonSchema): JsonSchema;
59
91
  getAliasOf(property: AliasType): AliasType | undefined;
60
92
  addAlias(property: AliasType, alias: AliasType): this;
61
93
  removeAlias(property: AliasType): this;
62
94
  $id($id: string): this;
63
95
  $ref($ref: string): this;
64
- $schema($schema: JSONSchema6Version): this;
96
+ $schema($schema: JSONSchema7Version): this;
65
97
  /**
66
98
  * Create a ref and use name to sharing schema
67
99
  * @param name
@@ -74,12 +106,12 @@ export declare class JsonSchema extends Map<string, any> implements NestedGeneri
74
106
  * It is RECOMMENDED that a default value be valid against the associated schema.
75
107
  * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.3
76
108
  */
77
- default(value: JSONSchema6Type | undefined | (() => JSONSchema6Type)): this;
109
+ default(value: JSONSchema7Type | undefined | (() => JSONSchema7Type)): this;
78
110
  /**
79
111
  * More readible form of a one-element "enum"
80
112
  * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.24
81
113
  */
82
- const(value: JSONSchema6Type): this;
114
+ const(value: JSONSchema7Type): this;
83
115
  /**
84
116
  * This attribute is a string that provides a full description of the of purpose the instance property.
85
117
  *
@@ -103,17 +135,17 @@ export declare class JsonSchema extends Map<string, any> implements NestedGeneri
103
135
  * An array instance is valid against "contains" if at least one of its elements is valid against the given schema.
104
136
  * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.14
105
137
  */
106
- contains(contains: JSONSchema6Definition): this;
138
+ contains(contains: JSONSchema7Definition): this;
107
139
  /**
108
140
  * Array of examples with no validation effect the value of "default" is usable as an example without repeating it under this keyword
109
141
  * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.4
110
142
  */
111
- examples(examples: JSONSchema6Type[]): this;
143
+ examples(examples: JSONSchema7Type[]): this;
112
144
  /**
113
145
  * Array of examples with no validation effect the value of "default" is usable as an example without repeating it under this keyword
114
146
  * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.4
115
147
  */
116
- example(...examples: JSONSchema6Type[]): this;
148
+ example(...examples: JSONSchema7Type[]): this;
117
149
  /**
118
150
  * This keyword determines how child instances validate for arrays, and does not directly validate the immediate instance itself.
119
151
  * Omitting this keyword has the same behavior as an empty schema.
@@ -166,6 +198,7 @@ export declare class JsonSchema extends Map<string, any> implements NestedGeneri
166
198
  addRequired(property: string): this;
167
199
  removeRequired(property: string): this;
168
200
  isRequired(property: string): boolean;
201
+ getRequiredFields(): string[];
169
202
  /**
170
203
  * This keyword determines how child instances validate for objects, and does not directly validate the immediate instance itself.
171
204
  * Validation succeeds if, for each name that appears in both the instance and as a name within this keyword's value,
@@ -210,7 +243,7 @@ export declare class JsonSchema extends Map<string, any> implements NestedGeneri
210
243
  * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.21
211
244
  */
212
245
  dependencies(dependencies: {
213
- [p: string]: JSONSchema6Definition | JsonSchema | string[];
246
+ [p: string]: JSONSchema7Definition | JsonSchema | string[];
214
247
  }): this;
215
248
  /**
216
249
  * Takes a schema which validates the names of all properties rather than their values.
@@ -218,7 +251,7 @@ export declare class JsonSchema extends Map<string, any> implements NestedGeneri
218
251
  * Omitting this keyword has the same behavior as an empty schema.
219
252
  * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.22
220
253
  */
221
- propertyNames(propertyNames: JSONSchema6Definition | JsonSchema): this;
254
+ propertyNames(propertyNames: JSONSchema7Definition | JsonSchema): this;
222
255
  /**
223
256
  * This provides an enumeration of all possible values that are valid
224
257
  * for the instance property. This MUST be an array, and each item in
@@ -303,7 +336,7 @@ export declare class JsonSchema extends Map<string, any> implements NestedGeneri
303
336
  * A single type, or a union of simple types
304
337
  * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.25
305
338
  */
306
- type(type: any | JSONSchema6TypeName | JSONSchema6TypeName[]): this;
339
+ type(type: any | JSONSchema7TypeName | JSONSchema7TypeName[]): this;
307
340
  any(...types: any[]): this;
308
341
  integer(): this;
309
342
  /**
@@ -315,26 +348,36 @@ export declare class JsonSchema extends Map<string, any> implements NestedGeneri
315
348
  readOnly(readOnly: boolean): this;
316
349
  writeOnly(readOnly: boolean): this;
317
350
  customKey(key: string, value: any): this;
351
+ vendorKey(key: VendorKeys, value: any): this;
318
352
  toObject(options?: JsonSchemaOptions): any;
319
353
  toJSON(options?: JsonSchemaOptions): any;
320
- assign(obj?: JsonSchema | Partial<JsonSchemaObject>): this;
354
+ assign(obj?: AnyJsonSchema): this;
321
355
  set(key: string, value: any): this;
322
- /**
323
- * Return the itemSchema computed type.
324
- * If the type is a function used for recursive model,
325
- * the function will be called to get the right type.
326
- */
327
- getComputedType(): any;
328
- getComputedItemType(): any;
329
356
  /**
330
357
  * Return the Json type as string
331
358
  */
332
359
  getJsonType(): string | string[];
333
360
  getTarget(): Type<any>;
361
+ getAllowedGroups(): Set<string> | undefined;
362
+ getAllowedRequiredValues(): any[];
363
+ getGroups(): string[] | undefined;
364
+ getGroupsName(): string | undefined;
334
365
  /**
335
366
  * Get the symbolic name of the entity
336
367
  */
337
368
  getName(): any;
338
369
  clone(): JsonSchema;
370
+ getGenericLabels(): string[] | undefined;
371
+ getGenericOf(): GenericsMap | undefined;
372
+ /**
373
+ * Returns the reference schema for class-based schemas.
374
+ * Used to get the original schema definition when this schema is a local reference.
375
+ * @returns The reference schema or undefined if not applicable
376
+ */
377
+ getRefSchema(): JsonSchema | undefined;
378
+ propertyKey(s: string): this;
379
+ getPropertyKey(): string | symbol | undefined;
380
+ target(target: any): void;
381
+ isRequiredValue(property: string, value: any): boolean;
339
382
  protected setManyOf(keyword: "oneOf" | "anyOf" | "allOf", value: AnyJsonSchema[]): this | undefined;
340
383
  }
@@ -0,0 +1,5 @@
1
+ import type { JsonMethodStore } from "../JsonMethodStore.js";
2
+ export declare function inspectOperationsPaths(endpoint: JsonMethodStore): {
3
+ method: string;
4
+ path: string | RegExp;
5
+ }[];
@@ -1,24 +1,18 @@
1
1
  /**
2
2
  * @file Automatically generated by @tsed/barrels.
3
3
  */
4
- export * from "./components/async-api/channelsMapper.js";
5
- export * from "./components/async-api/generate.js";
6
- export * from "./components/async-api/messageMapper.js";
7
- export * from "./components/async-api/payloadMapper.js";
8
- export * from "./components/async-api/responseMapper.js";
9
4
  export * from "./components/default/anyMapper.js";
10
5
  export * from "./components/default/classMapper.js";
11
6
  export * from "./components/default/discriminatorMappingMapper.js";
12
7
  export * from "./components/default/enumsMapper.js";
13
8
  export * from "./components/default/genericsMapper.js";
14
9
  export * from "./components/default/inheritedClassMapper.js";
15
- export * from "./components/default/itemMapper.js";
16
10
  export * from "./components/default/lazyRefMapper.js";
17
11
  export * from "./components/default/mapMapper.js";
12
+ export * from "./components/default/nextMapper.js";
18
13
  export * from "./components/default/nullableMapper.js";
19
14
  export * from "./components/default/objectMapper.js";
20
15
  export * from "./components/default/ofMapper.js";
21
- export * from "./components/default/propertiesMapper.js";
22
16
  export * from "./components/default/requiredMapper.js";
23
17
  export * from "./components/default/schemaMapper.js";
24
18
  export * from "./components/index.js";
@@ -38,6 +32,7 @@ export * from "./components/open-spec/pathsMapper.js";
38
32
  export * from "./constants/httpStatusMessages.js";
39
33
  export * from "./constants/jsonSchemaProperties.js";
40
34
  export * from "./constants/OperationVerbs.js";
35
+ export * from "./constants/VendorKeys.js";
41
36
  export * from "./decorators/class/children.js";
42
37
  export * from "./decorators/class/discriminatorValue.js";
43
38
  export * from "./decorators/collections/collectionContains.js";
@@ -118,6 +113,7 @@ export * from "./decorators/operations/subscribe.js";
118
113
  export * from "./decorators/operations/summary.js";
119
114
  export * from "./decorators/operations/tags.js";
120
115
  export * from "./decorators/operations/view.js";
116
+ export * from "./domain/__fixtures__/inspectOperationsPaths.js";
121
117
  export * from "./domain/DecoratorContext.js";
122
118
  export * from "./domain/JsonAliasMap.js";
123
119
  export * from "./domain/JsonClassStore.js";
@@ -190,12 +186,12 @@ export * from "./utils/mapOpenSpec3.js";
190
186
  export * from "./utils/mapOpenSpecInfo.js";
191
187
  export * from "./utils/mapOperationOptions.js";
192
188
  export * from "./utils/matchGroups.js";
189
+ export * from "./utils/mergeSchema.js";
193
190
  export * from "./utils/mergeSpec.js";
194
191
  export * from "./utils/operationIdFormatter.js";
195
192
  export * from "./utils/ref.js";
196
193
  export * from "./utils/removeHiddenOperation.js";
197
194
  export * from "./utils/serializeEnumValues.js";
198
- export * from "./utils/somethingOf.js";
199
195
  export * from "./utils/toJsonMapCollection.js";
200
196
  export * from "./utils/toJsonRegex.js";
201
197
  export * from "./utils/transformToOS2.js";