@tsed/schema 7.0.0-alpha.2 → 7.0.0-beta.11

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 (767) hide show
  1. package/jest.config.js +14 -0
  2. package/lib/cjs/components/anyMapper.js +23 -0
  3. package/lib/cjs/components/anyMapper.js.map +1 -0
  4. package/lib/cjs/components/classMapper.js +41 -0
  5. package/lib/cjs/components/classMapper.js.map +1 -0
  6. package/lib/cjs/components/genericsMapper.js +62 -0
  7. package/lib/cjs/components/genericsMapper.js.map +1 -0
  8. package/lib/cjs/components/inheritedClassMapper.js +22 -0
  9. package/lib/cjs/components/inheritedClassMapper.js.map +1 -0
  10. package/lib/cjs/components/itemMapper.js +10 -0
  11. package/lib/cjs/components/itemMapper.js.map +1 -0
  12. package/lib/cjs/components/lazyRefMapper.js +19 -0
  13. package/lib/cjs/components/lazyRefMapper.js.map +1 -0
  14. package/lib/cjs/components/mapMapper.js +25 -0
  15. package/lib/cjs/components/mapMapper.js.map +1 -0
  16. package/lib/cjs/components/objectMapper.js +31 -0
  17. package/lib/cjs/components/objectMapper.js.map +1 -0
  18. package/lib/cjs/components/ofMapper.js +17 -0
  19. package/lib/cjs/components/ofMapper.js.map +1 -0
  20. package/lib/cjs/components/propertiesMapper.js +25 -0
  21. package/lib/cjs/components/propertiesMapper.js.map +1 -0
  22. package/lib/cjs/components/schemaMapper.js +95 -0
  23. package/lib/cjs/components/schemaMapper.js.map +1 -0
  24. package/lib/cjs/constants/httpMethods.js +46 -0
  25. package/lib/cjs/constants/httpMethods.js.map +1 -0
  26. package/lib/cjs/constants/httpStatusMessages.js +26 -0
  27. package/lib/cjs/constants/httpStatusMessages.js.map +1 -0
  28. package/lib/cjs/decorators/class/children.js +24 -0
  29. package/lib/cjs/decorators/class/children.js.map +1 -0
  30. package/lib/cjs/decorators/collections/collectionContains.js +29 -0
  31. package/lib/cjs/decorators/collections/collectionContains.js.map +1 -0
  32. package/lib/cjs/decorators/collections/collectionOf.js +103 -0
  33. package/lib/cjs/decorators/collections/collectionOf.js.map +1 -0
  34. package/lib/cjs/decorators/collections/maxItems.js +60 -0
  35. package/lib/cjs/decorators/collections/maxItems.js.map +1 -0
  36. package/lib/cjs/decorators/collections/maxProperties.js +83 -0
  37. package/lib/cjs/decorators/collections/maxProperties.js.map +1 -0
  38. package/lib/cjs/decorators/collections/minItems.js +64 -0
  39. package/lib/cjs/decorators/collections/minItems.js.map +1 -0
  40. package/lib/cjs/decorators/collections/minProperties.js +82 -0
  41. package/lib/cjs/decorators/collections/minProperties.js.map +1 -0
  42. package/lib/cjs/decorators/collections/uniqueItems.js +60 -0
  43. package/lib/cjs/decorators/collections/uniqueItems.js.map +1 -0
  44. package/lib/cjs/decorators/common/additionalProperties.js +20 -0
  45. package/lib/cjs/decorators/common/additionalProperties.js.map +1 -0
  46. package/lib/cjs/decorators/common/allOf.js +22 -0
  47. package/lib/cjs/decorators/common/allOf.js.map +1 -0
  48. package/lib/cjs/decorators/common/allow.js +47 -0
  49. package/lib/cjs/decorators/common/allow.js.map +1 -0
  50. package/lib/cjs/decorators/common/any.js +46 -0
  51. package/lib/cjs/decorators/common/any.js.map +1 -0
  52. package/lib/cjs/decorators/common/anyOf.js +26 -0
  53. package/lib/cjs/decorators/common/anyOf.js.map +1 -0
  54. package/lib/cjs/decorators/common/const.js +70 -0
  55. package/lib/cjs/decorators/common/const.js.map +1 -0
  56. package/lib/cjs/decorators/common/customKey.js +43 -0
  57. package/lib/cjs/decorators/common/customKey.js.map +1 -0
  58. package/lib/cjs/decorators/common/default.js +51 -0
  59. package/lib/cjs/decorators/common/default.js.map +1 -0
  60. package/lib/cjs/decorators/common/description.js +76 -0
  61. package/lib/cjs/decorators/common/description.js.map +1 -0
  62. package/lib/cjs/decorators/common/enum.js +11 -0
  63. package/lib/cjs/decorators/common/enum.js.map +1 -0
  64. package/lib/cjs/decorators/common/example.js +21 -0
  65. package/lib/cjs/decorators/common/example.js.map +1 -0
  66. package/lib/cjs/decorators/common/examples.js +21 -0
  67. package/lib/cjs/decorators/common/examples.js.map +1 -0
  68. package/lib/cjs/decorators/common/exclusiveMaximum.js +77 -0
  69. package/lib/cjs/decorators/common/exclusiveMaximum.js.map +1 -0
  70. package/lib/cjs/decorators/common/exclusiveMinimum.js +77 -0
  71. package/lib/cjs/decorators/common/exclusiveMinimum.js.map +1 -0
  72. package/lib/cjs/decorators/common/format.js +486 -0
  73. package/lib/cjs/decorators/common/format.js.map +1 -0
  74. package/lib/cjs/decorators/common/forwardGroups.js +20 -0
  75. package/lib/cjs/decorators/common/forwardGroups.js.map +1 -0
  76. package/lib/cjs/decorators/common/groups.js +41 -0
  77. package/lib/cjs/decorators/common/groups.js.map +1 -0
  78. package/lib/cjs/decorators/common/hidden.js +40 -0
  79. package/lib/cjs/decorators/common/hidden.js.map +1 -0
  80. package/lib/cjs/decorators/common/ignore.js +71 -0
  81. package/lib/cjs/decorators/common/ignore.js.map +1 -0
  82. package/lib/cjs/decorators/common/integer.js +71 -0
  83. package/lib/cjs/decorators/common/integer.js.map +1 -0
  84. package/lib/cjs/decorators/common/jsonEntityFn.js +32 -0
  85. package/lib/cjs/decorators/common/jsonEntityFn.js.map +1 -0
  86. package/lib/cjs/decorators/common/maxLength.js +89 -0
  87. package/lib/cjs/decorators/common/maxLength.js.map +1 -0
  88. package/lib/cjs/decorators/common/maximum.js +151 -0
  89. package/lib/cjs/decorators/common/maximum.js.map +1 -0
  90. package/lib/cjs/decorators/common/minLength.js +90 -0
  91. package/lib/cjs/decorators/common/minLength.js.map +1 -0
  92. package/lib/cjs/decorators/common/minimum.js +149 -0
  93. package/lib/cjs/decorators/common/minimum.js.map +1 -0
  94. package/lib/cjs/decorators/common/multipleOf.js +81 -0
  95. package/lib/cjs/decorators/common/multipleOf.js.map +1 -0
  96. package/lib/cjs/decorators/common/name.js +52 -0
  97. package/lib/cjs/decorators/common/name.js.map +1 -0
  98. package/lib/cjs/decorators/common/nullable.js +34 -0
  99. package/lib/cjs/decorators/common/nullable.js.map +1 -0
  100. package/lib/cjs/decorators/common/oneOf.js +27 -0
  101. package/lib/cjs/decorators/common/oneOf.js.map +1 -0
  102. package/lib/cjs/decorators/common/optional.js +28 -0
  103. package/lib/cjs/decorators/common/optional.js.map +1 -0
  104. package/lib/cjs/decorators/common/pattern.js +103 -0
  105. package/lib/cjs/decorators/common/pattern.js.map +1 -0
  106. package/lib/cjs/decorators/common/property.js +27 -0
  107. package/lib/cjs/decorators/common/property.js.map +1 -0
  108. package/lib/cjs/decorators/common/readOnly.js +21 -0
  109. package/lib/cjs/decorators/common/readOnly.js.map +1 -0
  110. package/lib/cjs/decorators/common/recordOf.js +63 -0
  111. package/lib/cjs/decorators/common/recordOf.js.map +1 -0
  112. package/lib/cjs/decorators/common/required.js +53 -0
  113. package/lib/cjs/decorators/common/required.js.map +1 -0
  114. package/lib/cjs/decorators/common/requiredGroups.js +26 -0
  115. package/lib/cjs/decorators/common/requiredGroups.js.map +1 -0
  116. package/lib/cjs/decorators/common/schema.js +68 -0
  117. package/lib/cjs/decorators/common/schema.js.map +1 -0
  118. package/lib/cjs/decorators/common/title.js +49 -0
  119. package/lib/cjs/decorators/common/title.js.map +1 -0
  120. package/lib/cjs/decorators/common/writeOnly.js +21 -0
  121. package/lib/cjs/decorators/common/writeOnly.js.map +1 -0
  122. package/lib/cjs/decorators/config/jsonEntityComponent.js +18 -0
  123. package/lib/cjs/decorators/config/jsonEntityComponent.js.map +1 -0
  124. package/lib/cjs/decorators/generics/genericOf.js +99 -0
  125. package/lib/cjs/decorators/generics/genericOf.js.map +1 -0
  126. package/lib/cjs/decorators/generics/generics.js +25 -0
  127. package/lib/cjs/decorators/generics/generics.js.map +1 -0
  128. package/lib/cjs/decorators/operations/acceptMime.js +28 -0
  129. package/lib/cjs/decorators/operations/acceptMime.js.map +1 -0
  130. package/lib/cjs/decorators/operations/consumes.js +39 -0
  131. package/lib/cjs/decorators/operations/consumes.js.map +1 -0
  132. package/lib/cjs/decorators/operations/contentType.js +28 -0
  133. package/lib/cjs/decorators/operations/contentType.js.map +1 -0
  134. package/lib/cjs/decorators/operations/deprecated.js +43 -0
  135. package/lib/cjs/decorators/operations/deprecated.js.map +1 -0
  136. package/lib/cjs/decorators/operations/header.js +59 -0
  137. package/lib/cjs/decorators/operations/header.js.map +1 -0
  138. package/lib/cjs/decorators/operations/in.js +80 -0
  139. package/lib/cjs/decorators/operations/in.js.map +1 -0
  140. package/lib/cjs/decorators/operations/inFile.js +45 -0
  141. package/lib/cjs/decorators/operations/inFile.js.map +1 -0
  142. package/lib/cjs/decorators/operations/location.js +29 -0
  143. package/lib/cjs/decorators/operations/location.js.map +1 -0
  144. package/lib/cjs/decorators/operations/operationId.js +24 -0
  145. package/lib/cjs/decorators/operations/operationId.js.map +1 -0
  146. package/lib/cjs/decorators/operations/operationPath.js +34 -0
  147. package/lib/cjs/decorators/operations/operationPath.js.map +1 -0
  148. package/lib/cjs/decorators/operations/partial.js +18 -0
  149. package/lib/cjs/decorators/operations/partial.js.map +1 -0
  150. package/lib/cjs/decorators/operations/path.js +29 -0
  151. package/lib/cjs/decorators/operations/path.js.map +1 -0
  152. package/lib/cjs/decorators/operations/produces.js +46 -0
  153. package/lib/cjs/decorators/operations/produces.js.map +1 -0
  154. package/lib/cjs/decorators/operations/redirect.js +26 -0
  155. package/lib/cjs/decorators/operations/redirect.js.map +1 -0
  156. package/lib/cjs/decorators/operations/returns.js +252 -0
  157. package/lib/cjs/decorators/operations/returns.js.map +1 -0
  158. package/lib/cjs/decorators/operations/route.js +200 -0
  159. package/lib/cjs/decorators/operations/route.js.map +1 -0
  160. package/lib/cjs/decorators/operations/security.js +43 -0
  161. package/lib/cjs/decorators/operations/security.js.map +1 -0
  162. package/lib/cjs/decorators/operations/status.js +133 -0
  163. package/lib/cjs/decorators/operations/status.js.map +1 -0
  164. package/lib/cjs/decorators/operations/summary.js +34 -0
  165. package/lib/cjs/decorators/operations/summary.js.map +1 -0
  166. package/lib/cjs/decorators/operations/tags.js +52 -0
  167. package/lib/cjs/decorators/operations/tags.js.map +1 -0
  168. package/lib/cjs/decorators/operations/view.js +31 -0
  169. package/lib/cjs/decorators/operations/view.js.map +1 -0
  170. package/lib/cjs/domain/DecoratorContext.js +88 -0
  171. package/lib/cjs/domain/DecoratorContext.js.map +1 -0
  172. package/lib/cjs/domain/JsonAliasMap.js +15 -0
  173. package/lib/cjs/domain/JsonAliasMap.js.map +1 -0
  174. package/lib/cjs/domain/JsonClassStore.js +37 -0
  175. package/lib/cjs/domain/JsonClassStore.js.map +1 -0
  176. package/lib/cjs/domain/JsonEntityStore.js +166 -0
  177. package/lib/cjs/domain/JsonEntityStore.js.map +1 -0
  178. package/lib/cjs/domain/JsonFormatTypes.js +22 -0
  179. package/lib/cjs/domain/JsonFormatTypes.js.map +1 -0
  180. package/lib/cjs/domain/JsonLazyRef.js +26 -0
  181. package/lib/cjs/domain/JsonLazyRef.js.map +1 -0
  182. package/lib/cjs/domain/JsonMap.js +27 -0
  183. package/lib/cjs/domain/JsonMap.js.map +1 -0
  184. package/lib/cjs/domain/JsonMethodStore.js +143 -0
  185. package/lib/cjs/domain/JsonMethodStore.js.map +1 -0
  186. package/lib/cjs/domain/JsonOperation.js +235 -0
  187. package/lib/cjs/domain/JsonOperation.js.map +1 -0
  188. package/lib/cjs/domain/JsonOperationPathsMap.js +29 -0
  189. package/lib/cjs/domain/JsonOperationPathsMap.js.map +1 -0
  190. package/lib/cjs/domain/JsonOperationRoute.js +60 -0
  191. package/lib/cjs/domain/JsonOperationRoute.js.map +1 -0
  192. package/lib/cjs/domain/JsonParameter.js +119 -0
  193. package/lib/cjs/domain/JsonParameter.js.map +1 -0
  194. package/lib/cjs/domain/JsonParameterStore.js +99 -0
  195. package/lib/cjs/domain/JsonParameterStore.js.map +1 -0
  196. package/lib/cjs/domain/JsonParameterTypes.js +27 -0
  197. package/lib/cjs/domain/JsonParameterTypes.js.map +1 -0
  198. package/lib/cjs/domain/JsonPropertyStore.js +72 -0
  199. package/lib/cjs/domain/JsonPropertyStore.js.map +1 -0
  200. package/lib/cjs/domain/JsonRequestBody.js +32 -0
  201. package/lib/cjs/domain/JsonRequestBody.js.map +1 -0
  202. package/lib/cjs/domain/JsonResponse.js +76 -0
  203. package/lib/cjs/domain/JsonResponse.js.map +1 -0
  204. package/lib/cjs/domain/JsonSchema.js +716 -0
  205. package/lib/cjs/domain/JsonSchema.js.map +1 -0
  206. package/lib/cjs/domain/SpecTypes.js +10 -0
  207. package/lib/cjs/domain/SpecTypes.js.map +1 -0
  208. package/lib/cjs/hooks/alterIgnore.js +21 -0
  209. package/lib/cjs/hooks/alterIgnore.js.map +1 -0
  210. package/lib/cjs/hooks/alterOneOf.js +14 -0
  211. package/lib/cjs/hooks/alterOneOf.js.map +1 -0
  212. package/lib/cjs/hooks/alterRequiredGroups.js +15 -0
  213. package/lib/cjs/hooks/alterRequiredGroups.js.map +1 -0
  214. package/lib/cjs/index.js +154 -0
  215. package/lib/cjs/index.js.map +1 -0
  216. package/lib/cjs/interfaces/IgnoreCallback.js +3 -0
  217. package/lib/cjs/interfaces/IgnoreCallback.js.map +1 -0
  218. package/lib/cjs/interfaces/JsonHookContext.js +3 -0
  219. package/lib/cjs/interfaces/JsonHookContext.js.map +1 -0
  220. package/lib/cjs/interfaces/JsonOpenSpec.js +3 -0
  221. package/lib/cjs/interfaces/JsonOpenSpec.js.map +1 -0
  222. package/lib/cjs/interfaces/JsonSchemaOptions.js +3 -0
  223. package/lib/cjs/interfaces/JsonSchemaOptions.js.map +1 -0
  224. package/lib/cjs/package.json +3 -0
  225. package/lib/cjs/registries/JsonSchemaMapperContainer.js +37 -0
  226. package/lib/cjs/registries/JsonSchemaMapperContainer.js.map +1 -0
  227. package/lib/cjs/utils/buildPath.js +13 -0
  228. package/lib/cjs/utils/buildPath.js.map +1 -0
  229. package/lib/cjs/utils/concatParameters.js +16 -0
  230. package/lib/cjs/utils/concatParameters.js.map +1 -0
  231. package/lib/cjs/utils/concatPath.js +8 -0
  232. package/lib/cjs/utils/concatPath.js.map +1 -0
  233. package/lib/cjs/utils/defineStatusModel.js +13 -0
  234. package/lib/cjs/utils/defineStatusModel.js.map +1 -0
  235. package/lib/cjs/utils/from.js +273 -0
  236. package/lib/cjs/utils/from.js.map +1 -0
  237. package/lib/cjs/utils/generateSpec.js +46 -0
  238. package/lib/cjs/utils/generateSpec.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 +65 -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 +37 -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 +102 -0
  262. package/lib/cjs/utils/getSpec.js.map +1 -0
  263. package/lib/cjs/utils/getSpecType.js +21 -0
  264. package/lib/cjs/utils/getSpecType.js.map +1 -0
  265. package/lib/cjs/utils/isSuccessStatus.js +8 -0
  266. package/lib/cjs/utils/isSuccessStatus.js.map +1 -0
  267. package/lib/cjs/utils/mapHeaders.js +29 -0
  268. package/lib/cjs/utils/mapHeaders.js.map +1 -0
  269. package/lib/cjs/utils/mapNullableType.js +44 -0
  270. package/lib/cjs/utils/mapNullableType.js.map +1 -0
  271. package/lib/cjs/utils/mapOpenSpec.js +41 -0
  272. package/lib/cjs/utils/mapOpenSpec.js.map +1 -0
  273. package/lib/cjs/utils/mapOpenSpec2.js +34 -0
  274. package/lib/cjs/utils/mapOpenSpec2.js.map +1 -0
  275. package/lib/cjs/utils/mapOpenSpec3.js +26 -0
  276. package/lib/cjs/utils/mapOpenSpec3.js.map +1 -0
  277. package/lib/cjs/utils/mapOpenSpecInfo.js +21 -0
  278. package/lib/cjs/utils/mapOpenSpecInfo.js.map +1 -0
  279. package/lib/cjs/utils/mapRouteOptions.js +26 -0
  280. package/lib/cjs/utils/mapRouteOptions.js.map +1 -0
  281. package/lib/cjs/utils/matchGroups.js +23 -0
  282. package/lib/cjs/utils/matchGroups.js.map +1 -0
  283. package/lib/cjs/utils/mergeOperation.js +45 -0
  284. package/lib/cjs/utils/mergeOperation.js.map +1 -0
  285. package/lib/cjs/utils/mergeSpec.js +46 -0
  286. package/lib/cjs/utils/mergeSpec.js.map +1 -0
  287. package/lib/cjs/utils/operationIdFormatter.js +37 -0
  288. package/lib/cjs/utils/operationIdFormatter.js.map +1 -0
  289. package/lib/cjs/utils/ref.js +65 -0
  290. package/lib/cjs/utils/ref.js.map +1 -0
  291. package/lib/cjs/utils/serializeEnumValues.js +26 -0
  292. package/lib/cjs/utils/serializeEnumValues.js.map +1 -0
  293. package/lib/cjs/utils/toJsonMapCollection.js +15 -0
  294. package/lib/cjs/utils/toJsonMapCollection.js.map +1 -0
  295. package/lib/cjs/utils/toJsonRegex.js +12 -0
  296. package/lib/cjs/utils/toJsonRegex.js.map +1 -0
  297. package/lib/cjs/utils/transformToOS2.js +510 -0
  298. package/lib/cjs/utils/transformToOS2.js.map +1 -0
  299. package/lib/esm/components/anyMapper.js +19 -0
  300. package/lib/esm/components/anyMapper.js.map +1 -0
  301. package/lib/esm/components/classMapper.js +37 -0
  302. package/lib/esm/components/classMapper.js.map +1 -0
  303. package/lib/esm/components/genericsMapper.js +58 -0
  304. package/lib/esm/components/genericsMapper.js.map +1 -0
  305. package/lib/esm/components/inheritedClassMapper.js +18 -0
  306. package/lib/esm/components/inheritedClassMapper.js.map +1 -0
  307. package/lib/esm/components/itemMapper.js +6 -0
  308. package/lib/esm/components/itemMapper.js.map +1 -0
  309. package/lib/esm/components/lazyRefMapper.js +15 -0
  310. package/lib/esm/components/lazyRefMapper.js.map +1 -0
  311. package/lib/esm/components/mapMapper.js +21 -0
  312. package/lib/esm/components/mapMapper.js.map +1 -0
  313. package/lib/esm/components/objectMapper.js +27 -0
  314. package/lib/esm/components/objectMapper.js.map +1 -0
  315. package/lib/esm/components/ofMapper.js +13 -0
  316. package/lib/esm/components/ofMapper.js.map +1 -0
  317. package/lib/esm/components/propertiesMapper.js +21 -0
  318. package/lib/esm/components/propertiesMapper.js.map +1 -0
  319. package/lib/esm/components/schemaMapper.js +91 -0
  320. package/lib/esm/components/schemaMapper.js.map +1 -0
  321. package/lib/esm/constants/httpMethods.js +43 -0
  322. package/lib/esm/constants/httpMethods.js.map +1 -0
  323. package/lib/esm/constants/httpStatusMessages.js +20 -0
  324. package/lib/esm/constants/httpStatusMessages.js.map +1 -0
  325. package/lib/esm/decorators/class/children.js +20 -0
  326. package/lib/esm/decorators/class/children.js.map +1 -0
  327. package/lib/esm/decorators/collections/collectionContains.js +25 -0
  328. package/lib/esm/decorators/collections/collectionContains.js.map +1 -0
  329. package/lib/esm/decorators/collections/collectionOf.js +97 -0
  330. package/lib/esm/decorators/collections/collectionOf.js.map +1 -0
  331. package/lib/esm/decorators/collections/maxItems.js +56 -0
  332. package/lib/esm/decorators/collections/maxItems.js.map +1 -0
  333. package/lib/esm/decorators/collections/maxProperties.js +79 -0
  334. package/lib/esm/decorators/collections/maxProperties.js.map +1 -0
  335. package/lib/esm/decorators/collections/minItems.js +60 -0
  336. package/lib/esm/decorators/collections/minItems.js.map +1 -0
  337. package/lib/esm/decorators/collections/minProperties.js +78 -0
  338. package/lib/esm/decorators/collections/minProperties.js.map +1 -0
  339. package/lib/esm/decorators/collections/uniqueItems.js +56 -0
  340. package/lib/esm/decorators/collections/uniqueItems.js.map +1 -0
  341. package/lib/esm/decorators/common/additionalProperties.js +16 -0
  342. package/lib/esm/decorators/common/additionalProperties.js.map +1 -0
  343. package/lib/esm/decorators/common/allOf.js +18 -0
  344. package/lib/esm/decorators/common/allOf.js.map +1 -0
  345. package/lib/esm/decorators/common/allow.js +43 -0
  346. package/lib/esm/decorators/common/allow.js.map +1 -0
  347. package/lib/esm/decorators/common/any.js +42 -0
  348. package/lib/esm/decorators/common/any.js.map +1 -0
  349. package/lib/esm/decorators/common/anyOf.js +22 -0
  350. package/lib/esm/decorators/common/anyOf.js.map +1 -0
  351. package/lib/esm/decorators/common/const.js +66 -0
  352. package/lib/esm/decorators/common/const.js.map +1 -0
  353. package/lib/esm/decorators/common/customKey.js +38 -0
  354. package/lib/esm/decorators/common/customKey.js.map +1 -0
  355. package/lib/esm/decorators/common/default.js +47 -0
  356. package/lib/esm/decorators/common/default.js.map +1 -0
  357. package/lib/esm/decorators/common/description.js +72 -0
  358. package/lib/esm/decorators/common/description.js.map +1 -0
  359. package/lib/esm/decorators/common/enum.js +7 -0
  360. package/lib/esm/decorators/common/enum.js.map +1 -0
  361. package/lib/esm/decorators/common/example.js +17 -0
  362. package/lib/esm/decorators/common/example.js.map +1 -0
  363. package/lib/esm/decorators/common/examples.js +17 -0
  364. package/lib/esm/decorators/common/examples.js.map +1 -0
  365. package/lib/esm/decorators/common/exclusiveMaximum.js +73 -0
  366. package/lib/esm/decorators/common/exclusiveMaximum.js.map +1 -0
  367. package/lib/esm/decorators/common/exclusiveMinimum.js +73 -0
  368. package/lib/esm/decorators/common/exclusiveMinimum.js.map +1 -0
  369. package/lib/esm/decorators/common/format.js +476 -0
  370. package/lib/esm/decorators/common/format.js.map +1 -0
  371. package/lib/esm/decorators/common/forwardGroups.js +16 -0
  372. package/lib/esm/decorators/common/forwardGroups.js.map +1 -0
  373. package/lib/esm/decorators/common/groups.js +37 -0
  374. package/lib/esm/decorators/common/groups.js.map +1 -0
  375. package/lib/esm/decorators/common/hidden.js +36 -0
  376. package/lib/esm/decorators/common/hidden.js.map +1 -0
  377. package/lib/esm/decorators/common/ignore.js +67 -0
  378. package/lib/esm/decorators/common/ignore.js.map +1 -0
  379. package/lib/esm/decorators/common/integer.js +67 -0
  380. package/lib/esm/decorators/common/integer.js.map +1 -0
  381. package/lib/esm/decorators/common/jsonEntityFn.js +28 -0
  382. package/lib/esm/decorators/common/jsonEntityFn.js.map +1 -0
  383. package/lib/esm/decorators/common/maxLength.js +85 -0
  384. package/lib/esm/decorators/common/maxLength.js.map +1 -0
  385. package/lib/esm/decorators/common/maximum.js +146 -0
  386. package/lib/esm/decorators/common/maximum.js.map +1 -0
  387. package/lib/esm/decorators/common/minLength.js +86 -0
  388. package/lib/esm/decorators/common/minLength.js.map +1 -0
  389. package/lib/esm/decorators/common/minimum.js +144 -0
  390. package/lib/esm/decorators/common/minimum.js.map +1 -0
  391. package/lib/esm/decorators/common/multipleOf.js +77 -0
  392. package/lib/esm/decorators/common/multipleOf.js.map +1 -0
  393. package/lib/esm/decorators/common/name.js +48 -0
  394. package/lib/esm/decorators/common/name.js.map +1 -0
  395. package/lib/esm/decorators/common/nullable.js +30 -0
  396. package/lib/esm/decorators/common/nullable.js.map +1 -0
  397. package/lib/esm/decorators/common/oneOf.js +23 -0
  398. package/lib/esm/decorators/common/oneOf.js.map +1 -0
  399. package/lib/esm/decorators/common/optional.js +24 -0
  400. package/lib/esm/decorators/common/optional.js.map +1 -0
  401. package/lib/esm/decorators/common/pattern.js +99 -0
  402. package/lib/esm/decorators/common/pattern.js.map +1 -0
  403. package/lib/esm/decorators/common/property.js +23 -0
  404. package/lib/esm/decorators/common/property.js.map +1 -0
  405. package/lib/esm/decorators/common/readOnly.js +17 -0
  406. package/lib/esm/decorators/common/readOnly.js.map +1 -0
  407. package/lib/esm/decorators/common/recordOf.js +59 -0
  408. package/lib/esm/decorators/common/recordOf.js.map +1 -0
  409. package/lib/esm/decorators/common/required.js +49 -0
  410. package/lib/esm/decorators/common/required.js.map +1 -0
  411. package/lib/esm/decorators/common/requiredGroups.js +22 -0
  412. package/lib/esm/decorators/common/requiredGroups.js.map +1 -0
  413. package/lib/esm/decorators/common/schema.js +63 -0
  414. package/lib/esm/decorators/common/schema.js.map +1 -0
  415. package/lib/esm/decorators/common/title.js +45 -0
  416. package/lib/esm/decorators/common/title.js.map +1 -0
  417. package/lib/esm/decorators/common/writeOnly.js +17 -0
  418. package/lib/esm/decorators/common/writeOnly.js.map +1 -0
  419. package/lib/esm/decorators/config/jsonEntityComponent.js +14 -0
  420. package/lib/esm/decorators/config/jsonEntityComponent.js.map +1 -0
  421. package/lib/esm/decorators/generics/genericOf.js +95 -0
  422. package/lib/esm/decorators/generics/genericOf.js.map +1 -0
  423. package/lib/esm/decorators/generics/generics.js +21 -0
  424. package/lib/esm/decorators/generics/generics.js.map +1 -0
  425. package/lib/esm/decorators/operations/acceptMime.js +24 -0
  426. package/lib/esm/decorators/operations/acceptMime.js.map +1 -0
  427. package/lib/esm/decorators/operations/consumes.js +35 -0
  428. package/lib/esm/decorators/operations/consumes.js.map +1 -0
  429. package/lib/esm/decorators/operations/contentType.js +24 -0
  430. package/lib/esm/decorators/operations/contentType.js.map +1 -0
  431. package/lib/esm/decorators/operations/deprecated.js +39 -0
  432. package/lib/esm/decorators/operations/deprecated.js.map +1 -0
  433. package/lib/esm/decorators/operations/header.js +55 -0
  434. package/lib/esm/decorators/operations/header.js.map +1 -0
  435. package/lib/esm/decorators/operations/in.js +76 -0
  436. package/lib/esm/decorators/operations/in.js.map +1 -0
  437. package/lib/esm/decorators/operations/inFile.js +41 -0
  438. package/lib/esm/decorators/operations/inFile.js.map +1 -0
  439. package/lib/esm/decorators/operations/location.js +25 -0
  440. package/lib/esm/decorators/operations/location.js.map +1 -0
  441. package/lib/esm/decorators/operations/operationId.js +20 -0
  442. package/lib/esm/decorators/operations/operationId.js.map +1 -0
  443. package/lib/esm/decorators/operations/operationPath.js +30 -0
  444. package/lib/esm/decorators/operations/operationPath.js.map +1 -0
  445. package/lib/esm/decorators/operations/partial.js +14 -0
  446. package/lib/esm/decorators/operations/partial.js.map +1 -0
  447. package/lib/esm/decorators/operations/path.js +25 -0
  448. package/lib/esm/decorators/operations/path.js.map +1 -0
  449. package/lib/esm/decorators/operations/produces.js +42 -0
  450. package/lib/esm/decorators/operations/produces.js.map +1 -0
  451. package/lib/esm/decorators/operations/redirect.js +22 -0
  452. package/lib/esm/decorators/operations/redirect.js.map +1 -0
  453. package/lib/esm/decorators/operations/returns.js +248 -0
  454. package/lib/esm/decorators/operations/returns.js.map +1 -0
  455. package/lib/esm/decorators/operations/route.js +188 -0
  456. package/lib/esm/decorators/operations/route.js.map +1 -0
  457. package/lib/esm/decorators/operations/security.js +39 -0
  458. package/lib/esm/decorators/operations/security.js.map +1 -0
  459. package/lib/esm/decorators/operations/status.js +129 -0
  460. package/lib/esm/decorators/operations/status.js.map +1 -0
  461. package/lib/esm/decorators/operations/summary.js +30 -0
  462. package/lib/esm/decorators/operations/summary.js.map +1 -0
  463. package/lib/esm/decorators/operations/tags.js +48 -0
  464. package/lib/esm/decorators/operations/tags.js.map +1 -0
  465. package/lib/esm/decorators/operations/view.js +27 -0
  466. package/lib/esm/decorators/operations/view.js.map +1 -0
  467. package/lib/esm/domain/DecoratorContext.js +84 -0
  468. package/lib/esm/domain/DecoratorContext.js.map +1 -0
  469. package/lib/esm/domain/JsonAliasMap.js +11 -0
  470. package/lib/esm/domain/JsonAliasMap.js.map +1 -0
  471. package/lib/esm/domain/JsonClassStore.js +34 -0
  472. package/lib/esm/domain/JsonClassStore.js.map +1 -0
  473. package/lib/esm/domain/JsonEntityStore.js +162 -0
  474. package/lib/esm/domain/JsonEntityStore.js.map +1 -0
  475. package/lib/esm/domain/JsonFormatTypes.js +19 -0
  476. package/lib/esm/domain/JsonFormatTypes.js.map +1 -0
  477. package/lib/esm/domain/JsonLazyRef.js +22 -0
  478. package/lib/esm/domain/JsonLazyRef.js.map +1 -0
  479. package/lib/esm/domain/JsonMap.js +23 -0
  480. package/lib/esm/domain/JsonMap.js.map +1 -0
  481. package/lib/esm/domain/JsonMethodStore.js +140 -0
  482. package/lib/esm/domain/JsonMethodStore.js.map +1 -0
  483. package/lib/esm/domain/JsonOperation.js +231 -0
  484. package/lib/esm/domain/JsonOperation.js.map +1 -0
  485. package/lib/esm/domain/JsonOperationPathsMap.js +25 -0
  486. package/lib/esm/domain/JsonOperationPathsMap.js.map +1 -0
  487. package/lib/esm/domain/JsonOperationRoute.js +56 -0
  488. package/lib/esm/domain/JsonOperationRoute.js.map +1 -0
  489. package/lib/esm/domain/JsonParameter.js +115 -0
  490. package/lib/esm/domain/JsonParameter.js.map +1 -0
  491. package/lib/esm/domain/JsonParameterStore.js +96 -0
  492. package/lib/esm/domain/JsonParameterStore.js.map +1 -0
  493. package/lib/esm/domain/JsonParameterTypes.js +22 -0
  494. package/lib/esm/domain/JsonParameterTypes.js.map +1 -0
  495. package/lib/esm/domain/JsonPropertyStore.js +69 -0
  496. package/lib/esm/domain/JsonPropertyStore.js.map +1 -0
  497. package/lib/esm/domain/JsonRequestBody.js +28 -0
  498. package/lib/esm/domain/JsonRequestBody.js.map +1 -0
  499. package/lib/esm/domain/JsonResponse.js +71 -0
  500. package/lib/esm/domain/JsonResponse.js.map +1 -0
  501. package/lib/esm/domain/JsonSchema.js +712 -0
  502. package/lib/esm/domain/JsonSchema.js.map +1 -0
  503. package/lib/esm/domain/SpecTypes.js +7 -0
  504. package/lib/esm/domain/SpecTypes.js.map +1 -0
  505. package/lib/esm/hooks/alterIgnore.js +17 -0
  506. package/lib/esm/hooks/alterIgnore.js.map +1 -0
  507. package/lib/esm/hooks/alterOneOf.js +10 -0
  508. package/lib/esm/hooks/alterOneOf.js.map +1 -0
  509. package/lib/esm/hooks/alterRequiredGroups.js +11 -0
  510. package/lib/esm/hooks/alterRequiredGroups.js.map +1 -0
  511. package/lib/esm/index.js +151 -0
  512. package/lib/esm/index.js.map +1 -0
  513. package/lib/esm/interfaces/IgnoreCallback.js +2 -0
  514. package/lib/esm/interfaces/IgnoreCallback.js.map +1 -0
  515. package/lib/esm/interfaces/JsonHookContext.js +2 -0
  516. package/lib/esm/interfaces/JsonHookContext.js.map +1 -0
  517. package/lib/esm/interfaces/JsonOpenSpec.js +2 -0
  518. package/lib/esm/interfaces/JsonOpenSpec.js.map +1 -0
  519. package/lib/esm/interfaces/JsonSchemaOptions.js +2 -0
  520. package/lib/esm/interfaces/JsonSchemaOptions.js.map +1 -0
  521. package/lib/esm/package.json +3 -0
  522. package/lib/esm/registries/JsonSchemaMapperContainer.js +30 -0
  523. package/lib/esm/registries/JsonSchemaMapperContainer.js.map +1 -0
  524. package/lib/esm/utils/buildPath.js +9 -0
  525. package/lib/esm/utils/buildPath.js.map +1 -0
  526. package/lib/esm/utils/concatParameters.js +12 -0
  527. package/lib/esm/utils/concatParameters.js.map +1 -0
  528. package/lib/esm/utils/concatPath.js +4 -0
  529. package/lib/esm/utils/concatPath.js.map +1 -0
  530. package/lib/esm/utils/defineStatusModel.js +8 -0
  531. package/lib/esm/utils/defineStatusModel.js.map +1 -0
  532. package/lib/esm/utils/from.js +250 -0
  533. package/lib/esm/utils/from.js.map +1 -0
  534. package/lib/esm/utils/generateSpec.js +41 -0
  535. package/lib/esm/utils/generateSpec.js.map +1 -0
  536. package/lib/esm/utils/generics.js +34 -0
  537. package/lib/esm/utils/generics.js.map +1 -0
  538. package/lib/esm/utils/getComputedType.js +22 -0
  539. package/lib/esm/utils/getComputedType.js.map +1 -0
  540. package/lib/esm/utils/getInheritedStores.js +19 -0
  541. package/lib/esm/utils/getInheritedStores.js.map +1 -0
  542. package/lib/esm/utils/getJsonEntityStore.js +14 -0
  543. package/lib/esm/utils/getJsonEntityStore.js.map +1 -0
  544. package/lib/esm/utils/getJsonPathParameters.js +69 -0
  545. package/lib/esm/utils/getJsonPathParameters.js.map +1 -0
  546. package/lib/esm/utils/getJsonSchema.js +61 -0
  547. package/lib/esm/utils/getJsonSchema.js.map +1 -0
  548. package/lib/esm/utils/getJsonType.js +36 -0
  549. package/lib/esm/utils/getJsonType.js.map +1 -0
  550. package/lib/esm/utils/getOperationsRoutes.js +33 -0
  551. package/lib/esm/utils/getOperationsRoutes.js.map +1 -0
  552. package/lib/esm/utils/getOperationsStores.js +29 -0
  553. package/lib/esm/utils/getOperationsStores.js.map +1 -0
  554. package/lib/esm/utils/getPropertiesStores.js +40 -0
  555. package/lib/esm/utils/getPropertiesStores.js.map +1 -0
  556. package/lib/esm/utils/getRequiredProperties.js +62 -0
  557. package/lib/esm/utils/getRequiredProperties.js.map +1 -0
  558. package/lib/esm/utils/getSpec.js +98 -0
  559. package/lib/esm/utils/getSpec.js.map +1 -0
  560. package/lib/esm/utils/getSpecType.js +16 -0
  561. package/lib/esm/utils/getSpecType.js.map +1 -0
  562. package/lib/esm/utils/isSuccessStatus.js +3 -0
  563. package/lib/esm/utils/isSuccessStatus.js.map +1 -0
  564. package/lib/esm/utils/mapHeaders.js +25 -0
  565. package/lib/esm/utils/mapHeaders.js.map +1 -0
  566. package/lib/esm/utils/mapNullableType.js +40 -0
  567. package/lib/esm/utils/mapNullableType.js.map +1 -0
  568. package/lib/esm/utils/mapOpenSpec.js +37 -0
  569. package/lib/esm/utils/mapOpenSpec.js.map +1 -0
  570. package/lib/esm/utils/mapOpenSpec2.js +30 -0
  571. package/lib/esm/utils/mapOpenSpec2.js.map +1 -0
  572. package/lib/esm/utils/mapOpenSpec3.js +22 -0
  573. package/lib/esm/utils/mapOpenSpec3.js.map +1 -0
  574. package/lib/esm/utils/mapOpenSpecInfo.js +17 -0
  575. package/lib/esm/utils/mapOpenSpecInfo.js.map +1 -0
  576. package/lib/esm/utils/mapRouteOptions.js +22 -0
  577. package/lib/esm/utils/mapRouteOptions.js.map +1 -0
  578. package/lib/esm/utils/matchGroups.js +18 -0
  579. package/lib/esm/utils/matchGroups.js.map +1 -0
  580. package/lib/esm/utils/mergeOperation.js +41 -0
  581. package/lib/esm/utils/mergeOperation.js.map +1 -0
  582. package/lib/esm/utils/mergeSpec.js +42 -0
  583. package/lib/esm/utils/mergeSpec.js.map +1 -0
  584. package/lib/esm/utils/operationIdFormatter.js +33 -0
  585. package/lib/esm/utils/operationIdFormatter.js.map +1 -0
  586. package/lib/esm/utils/ref.js +59 -0
  587. package/lib/esm/utils/ref.js.map +1 -0
  588. package/lib/esm/utils/serializeEnumValues.js +21 -0
  589. package/lib/esm/utils/serializeEnumValues.js.map +1 -0
  590. package/lib/esm/utils/toJsonMapCollection.js +11 -0
  591. package/lib/esm/utils/toJsonMapCollection.js.map +1 -0
  592. package/lib/esm/utils/toJsonRegex.js +8 -0
  593. package/lib/esm/utils/toJsonRegex.js.map +1 -0
  594. package/lib/esm/utils/transformToOS2.js +504 -0
  595. package/lib/esm/utils/transformToOS2.js.map +1 -0
  596. package/lib/{components → types/components}/anyMapper.d.ts +0 -0
  597. package/lib/{components → types/components}/classMapper.d.ts +1 -1
  598. package/lib/{components → types/components}/genericsMapper.d.ts +0 -0
  599. package/lib/{components → types/components}/inheritedClassMapper.d.ts +1 -1
  600. package/lib/{components → types/components}/itemMapper.d.ts +0 -0
  601. package/lib/types/components/lazyRefMapper.d.ts +3 -0
  602. package/lib/{components → types/components}/mapMapper.d.ts +1 -1
  603. package/lib/{components → types/components}/objectMapper.d.ts +0 -0
  604. package/lib/types/components/ofMapper.d.ts +3 -0
  605. package/lib/types/components/propertiesMapper.d.ts +3 -0
  606. package/lib/{components → types/components}/schemaMapper.d.ts +1 -1
  607. package/lib/{constants → types/constants}/httpMethods.d.ts +0 -0
  608. package/lib/types/constants/httpStatusMessages.d.ts +11 -0
  609. package/lib/types/decorators/class/children.d.ts +11 -0
  610. package/lib/{decorators → types/decorators}/collections/collectionContains.d.ts +0 -0
  611. package/lib/{decorators → types/decorators}/collections/collectionOf.d.ts +1 -1
  612. package/lib/{decorators → types/decorators}/collections/maxItems.d.ts +0 -0
  613. package/lib/{decorators → types/decorators}/collections/maxProperties.d.ts +0 -0
  614. package/lib/{decorators → types/decorators}/collections/minItems.d.ts +0 -0
  615. package/lib/{decorators → types/decorators}/collections/minProperties.d.ts +0 -0
  616. package/lib/{decorators → types/decorators}/collections/uniqueItems.d.ts +0 -0
  617. package/lib/{decorators → types/decorators}/common/additionalProperties.d.ts +0 -0
  618. package/lib/{decorators → types/decorators}/common/allOf.d.ts +0 -0
  619. package/lib/{decorators → types/decorators}/common/allow.d.ts +0 -0
  620. package/lib/{decorators → types/decorators}/common/any.d.ts +1 -1
  621. package/lib/{decorators → types/decorators}/common/anyOf.d.ts +0 -0
  622. package/lib/{decorators → types/decorators}/common/const.d.ts +1 -1
  623. package/lib/{decorators → types/decorators}/common/customKey.d.ts +0 -0
  624. package/lib/{decorators → types/decorators}/common/default.d.ts +0 -0
  625. package/lib/{decorators → types/decorators}/common/description.d.ts +0 -0
  626. package/lib/{decorators → types/decorators}/common/enum.d.ts +1 -1
  627. package/lib/{decorators → types/decorators}/common/example.d.ts +0 -0
  628. package/lib/types/decorators/common/examples.d.ts +12 -0
  629. package/lib/{decorators → types/decorators}/common/exclusiveMaximum.d.ts +0 -0
  630. package/lib/{decorators → types/decorators}/common/exclusiveMinimum.d.ts +0 -0
  631. package/lib/{decorators → types/decorators}/common/format.d.ts +0 -0
  632. package/lib/{decorators → types/decorators}/common/forwardGroups.d.ts +0 -0
  633. package/lib/{decorators → types/decorators}/common/groups.d.ts +0 -0
  634. package/lib/{decorators → types/decorators}/common/hidden.d.ts +0 -0
  635. package/lib/{decorators → types/decorators}/common/ignore.d.ts +1 -1
  636. package/lib/{decorators → types/decorators}/common/integer.d.ts +0 -0
  637. package/lib/{decorators → types/decorators}/common/jsonEntityFn.d.ts +2 -2
  638. package/lib/{decorators → types/decorators}/common/maxLength.d.ts +0 -0
  639. package/lib/{decorators → types/decorators}/common/maximum.d.ts +0 -0
  640. package/lib/{decorators → types/decorators}/common/minLength.d.ts +0 -0
  641. package/lib/{decorators → types/decorators}/common/minimum.d.ts +0 -0
  642. package/lib/{decorators → types/decorators}/common/multipleOf.d.ts +0 -0
  643. package/lib/{decorators → types/decorators}/common/name.d.ts +0 -0
  644. package/lib/{decorators → types/decorators}/common/nullable.d.ts +1 -1
  645. package/lib/{decorators → types/decorators}/common/oneOf.d.ts +0 -0
  646. package/lib/{decorators → types/decorators}/common/optional.d.ts +0 -0
  647. package/lib/{decorators → types/decorators}/common/pattern.d.ts +0 -0
  648. package/lib/{decorators → types/decorators}/common/property.d.ts +1 -0
  649. package/lib/{decorators → types/decorators}/common/readOnly.d.ts +0 -0
  650. package/lib/types/decorators/common/recordOf.d.ts +46 -0
  651. package/lib/{decorators → types/decorators}/common/required.d.ts +0 -0
  652. package/lib/{decorators → types/decorators}/common/requiredGroups.d.ts +1 -1
  653. package/lib/{decorators → types/decorators}/common/schema.d.ts +0 -0
  654. package/lib/{decorators → types/decorators}/common/title.d.ts +0 -0
  655. package/lib/{decorators → types/decorators}/common/writeOnly.d.ts +0 -0
  656. package/lib/{decorators → types/decorators}/config/jsonEntityComponent.d.ts +0 -0
  657. package/lib/{decorators → types/decorators}/generics/genericOf.d.ts +0 -0
  658. package/lib/{decorators → types/decorators}/generics/generics.d.ts +0 -0
  659. package/lib/types/decorators/operations/acceptMime.d.ts +19 -0
  660. package/lib/{decorators → types/decorators}/operations/consumes.d.ts +0 -0
  661. package/lib/{decorators → types/decorators}/operations/contentType.d.ts +0 -0
  662. package/lib/{decorators → types/decorators}/operations/deprecated.d.ts +0 -0
  663. package/lib/{decorators → types/decorators}/operations/header.d.ts +0 -0
  664. package/lib/{decorators → types/decorators}/operations/in.d.ts +1 -1
  665. package/lib/types/decorators/operations/inFile.d.ts +25 -0
  666. package/lib/{decorators → types/decorators}/operations/location.d.ts +0 -0
  667. package/lib/{decorators → types/decorators}/operations/operationId.d.ts +0 -0
  668. package/lib/{decorators → types/decorators}/operations/operationPath.d.ts +0 -0
  669. package/lib/{decorators → types/decorators}/operations/partial.d.ts +0 -0
  670. package/lib/{decorators → types/decorators}/operations/path.d.ts +0 -0
  671. package/lib/{decorators → types/decorators}/operations/produces.d.ts +0 -0
  672. package/lib/{decorators → types/decorators}/operations/redirect.d.ts +0 -0
  673. package/lib/{decorators → types/decorators}/operations/returns.d.ts +16 -1
  674. package/lib/{decorators → types/decorators}/operations/route.d.ts +3 -0
  675. package/lib/{decorators → types/decorators}/operations/security.d.ts +0 -0
  676. package/lib/{decorators → types/decorators}/operations/status.d.ts +0 -0
  677. package/lib/{decorators → types/decorators}/operations/summary.d.ts +0 -0
  678. package/lib/{decorators → types/decorators}/operations/tags.d.ts +0 -0
  679. package/lib/types/decorators/operations/view.d.ts +23 -0
  680. package/lib/{domain → types/domain}/DecoratorContext.d.ts +0 -0
  681. package/lib/{domain → types/domain}/JsonAliasMap.d.ts +0 -0
  682. package/lib/types/domain/JsonClassStore.d.ts +12 -0
  683. package/lib/types/domain/JsonEntityStore.d.ts +136 -0
  684. package/lib/{domain → types/domain}/JsonFormatTypes.d.ts +0 -0
  685. package/lib/{domain → types/domain}/JsonLazyRef.d.ts +0 -0
  686. package/lib/{domain → types/domain}/JsonMap.d.ts +1 -1
  687. package/lib/types/domain/JsonMethodStore.d.ts +89 -0
  688. package/lib/{domain → types/domain}/JsonOperation.d.ts +3 -1
  689. package/lib/types/domain/JsonOperationPathsMap.d.ts +7 -0
  690. package/lib/types/domain/JsonOperationRoute.d.ts +26 -0
  691. package/lib/{domain → types/domain}/JsonParameter.d.ts +5 -2
  692. package/lib/types/domain/JsonParameterStore.d.ts +52 -0
  693. package/lib/{domain → types/domain}/JsonParameterTypes.d.ts +0 -0
  694. package/lib/types/domain/JsonPropertyStore.d.ts +30 -0
  695. package/lib/{domain → types/domain}/JsonRequestBody.d.ts +0 -0
  696. package/lib/{domain → types/domain}/JsonResponse.d.ts +2 -1
  697. package/lib/{domain → types/domain}/JsonSchema.d.ts +8 -14
  698. package/lib/{domain → types/domain}/SpecTypes.d.ts +0 -0
  699. package/lib/{hooks → types/hooks}/alterIgnore.d.ts +0 -0
  700. package/lib/types/hooks/alterOneOf.d.ts +3 -0
  701. package/lib/{hooks → types/hooks}/alterRequiredGroups.d.ts +0 -0
  702. package/lib/types/index.d.ts +150 -0
  703. package/lib/{interfaces → types/interfaces}/IgnoreCallback.d.ts +0 -0
  704. package/lib/{interfaces → types/interfaces}/JsonHookContext.d.ts +0 -0
  705. package/lib/{interfaces → types/interfaces}/JsonOpenSpec.d.ts +0 -0
  706. package/lib/{interfaces → types/interfaces}/JsonSchemaOptions.d.ts +0 -0
  707. package/lib/{registries → types/registries}/JsonSchemaMapperContainer.d.ts +3 -2
  708. package/lib/{utils → types/utils}/buildPath.d.ts +0 -0
  709. package/lib/{utils → types/utils}/concatParameters.d.ts +0 -0
  710. package/lib/types/utils/concatPath.d.ts +1 -0
  711. package/lib/{utils → types/utils}/defineStatusModel.d.ts +0 -0
  712. package/lib/{utils → types/utils}/from.d.ts +0 -0
  713. package/lib/types/utils/generateSpec.d.ts +16 -0
  714. package/lib/{utils → types/utils}/generics.d.ts +1 -1
  715. package/lib/{utils → types/utils}/getComputedType.d.ts +0 -0
  716. package/lib/{utils → types/utils}/getInheritedStores.d.ts +2 -2
  717. package/lib/types/utils/getJsonEntityStore.d.ts +15 -0
  718. package/lib/{utils → types/utils}/getJsonPathParameters.d.ts +0 -0
  719. package/lib/types/utils/getJsonSchema.d.ts +14 -0
  720. package/lib/{utils → types/utils}/getJsonType.d.ts +0 -0
  721. package/lib/types/utils/getOperationsRoutes.d.ts +8 -0
  722. package/lib/types/utils/getOperationsStores.d.ts +6 -0
  723. package/lib/types/utils/getPropertiesStores.d.ts +20 -0
  724. package/lib/{utils → types/utils}/getRequiredProperties.d.ts +0 -0
  725. package/lib/types/utils/getSpec.d.ts +30 -0
  726. package/lib/types/utils/getSpecType.d.ts +12 -0
  727. package/lib/{utils → types/utils}/isSuccessStatus.d.ts +0 -0
  728. package/lib/{utils → types/utils}/mapHeaders.d.ts +0 -0
  729. package/lib/{utils → types/utils}/mapNullableType.d.ts +1 -1
  730. package/lib/types/utils/mapOpenSpec.d.ts +10 -0
  731. package/lib/types/utils/mapOpenSpec2.d.ts +9 -0
  732. package/lib/types/utils/mapOpenSpec3.d.ts +8 -0
  733. package/lib/types/utils/mapOpenSpecInfo.d.ts +6 -0
  734. package/lib/{utils → types/utils}/mapRouteOptions.d.ts +1 -1
  735. package/lib/{utils → types/utils}/matchGroups.d.ts +0 -0
  736. package/lib/{utils → types/utils}/mergeOperation.d.ts +0 -0
  737. package/lib/{utils → types/utils}/mergeSpec.d.ts +0 -0
  738. package/lib/{utils → types/utils}/operationIdFormatter.d.ts +0 -0
  739. package/lib/types/utils/ref.d.ts +14 -0
  740. package/lib/types/utils/serializeEnumValues.d.ts +5 -0
  741. package/lib/{utils → types/utils}/toJsonMapCollection.d.ts +0 -0
  742. package/lib/{utils → types/utils}/toJsonRegex.d.ts +0 -0
  743. package/lib/types/utils/transformToOS2.d.ts +25 -0
  744. package/package.json +44 -25
  745. package/readme.md +1 -0
  746. package/tsconfig.compile.esm.json +13 -0
  747. package/lib/components/index.d.ts +0 -9
  748. package/lib/components/lazyRefMapper.d.ts +0 -19
  749. package/lib/constants/httpStatusMessages.d.ts +0 -5
  750. package/lib/decorators/index.d.ts +0 -65
  751. package/lib/domain/JsonEntityStore.d.ts +0 -94
  752. package/lib/domain/index.d.ts +0 -11
  753. package/lib/index.d.ts +0 -17
  754. package/lib/index.js +0 -7894
  755. package/lib/index.js.map +0 -1
  756. package/lib/index.modern.js +0 -7751
  757. package/lib/index.modern.js.map +0 -1
  758. package/lib/interfaces/index.d.ts +0 -4
  759. package/lib/registries/JsonEntitiesContainer.d.ts +0 -6
  760. package/lib/utils/getJsonEntityStore.d.ts +0 -6
  761. package/lib/utils/getJsonSchema.d.ts +0 -5
  762. package/lib/utils/getOperationsStores.d.ts +0 -6
  763. package/lib/utils/getPropertiesStores.d.ts +0 -20
  764. package/lib/utils/getSpec.d.ts +0 -49
  765. package/lib/utils/isJsonClass.d.ts +0 -4
  766. package/lib/utils/mergeSpec.benchmark.d.ts +0 -1
  767. package/lib/utils/ref.d.ts +0 -46
@@ -0,0 +1,716 @@
1
+ "use strict";
2
+ var _JsonSchema_nullable, _JsonSchema_genericLabels, _JsonSchema_nestedGenerics, _JsonSchema_alias, _JsonSchema_itemSchema, _JsonSchema_target, _JsonSchema_isGeneric, _JsonSchema_isCollection, _JsonSchema_ref;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.JsonSchema = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const core_1 = require("@tsed/core");
7
+ const JsonSchemaMapperContainer_1 = require("../registries/JsonSchemaMapperContainer");
8
+ const getComputedType_1 = require("../utils/getComputedType");
9
+ const getJsonType_1 = require("../utils/getJsonType");
10
+ const toJsonRegex_1 = require("../utils/toJsonRegex");
11
+ const JsonEntityStore_1 = require("./JsonEntityStore");
12
+ const serializeEnumValues_1 = require("../utils/serializeEnumValues");
13
+ function mapProperties(properties) {
14
+ // istanbul ignore next
15
+ if (properties instanceof JsonSchema) {
16
+ return properties;
17
+ }
18
+ return Object.entries(properties).reduce((properties, [key, schema]) => {
19
+ properties[(0, toJsonRegex_1.toJsonRegex)(key)] = mapToJsonSchema(schema);
20
+ return properties;
21
+ }, {});
22
+ }
23
+ function mapToJsonSchema(item) {
24
+ if ((0, core_1.isArray)(item)) {
25
+ return item.map(mapToJsonSchema);
26
+ }
27
+ if (item.isStore || item.isJsonSchema || item.isLazyRef) {
28
+ return item;
29
+ }
30
+ if ((0, core_1.classOf)(item) !== Object && (0, core_1.isClass)(item)) {
31
+ return JsonEntityStore_1.JsonEntityStore.from(item).schema;
32
+ }
33
+ if ((0, core_1.isObject)(item)) {
34
+ return JsonSchema.from(item);
35
+ }
36
+ return item;
37
+ }
38
+ class JsonSchema extends Map {
39
+ constructor(obj = {}) {
40
+ super();
41
+ this.isJsonSchema = true;
42
+ this.$hooks = new core_1.Hooks();
43
+ this.$required = new Set();
44
+ this.$allow = [];
45
+ this.$forwardGroups = false;
46
+ _JsonSchema_nullable.set(this, false);
47
+ _JsonSchema_genericLabels.set(this, void 0);
48
+ _JsonSchema_nestedGenerics.set(this, []);
49
+ _JsonSchema_alias.set(this, new Map());
50
+ _JsonSchema_itemSchema.set(this, void 0);
51
+ _JsonSchema_target.set(this, void 0);
52
+ _JsonSchema_isGeneric.set(this, false);
53
+ _JsonSchema_isCollection.set(this, false);
54
+ _JsonSchema_ref.set(this, false);
55
+ if (obj) {
56
+ this.assign(obj);
57
+ }
58
+ }
59
+ get alias() {
60
+ return tslib_1.__classPrivateFieldGet(this, _JsonSchema_alias, "f");
61
+ }
62
+ get nestedGenerics() {
63
+ return tslib_1.__classPrivateFieldGet(this, _JsonSchema_nestedGenerics, "f");
64
+ }
65
+ set nestedGenerics(value) {
66
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_nestedGenerics, value, "f");
67
+ }
68
+ get genericLabels() {
69
+ return tslib_1.__classPrivateFieldGet(this, _JsonSchema_genericLabels, "f");
70
+ }
71
+ set genericLabels(value) {
72
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_genericLabels, value, "f");
73
+ }
74
+ get isClass() {
75
+ return (0, core_1.isClass)(this.class) && ![Map, Array, Set, Object, Date, Boolean, Number, String].includes(tslib_1.__classPrivateFieldGet(this, _JsonSchema_target, "f"));
76
+ }
77
+ /**
78
+ * Current schema is a collection
79
+ */
80
+ get isCollection() {
81
+ return tslib_1.__classPrivateFieldGet(this, _JsonSchema_isCollection, "f");
82
+ }
83
+ /**
84
+ * Current schema is a generic
85
+ */
86
+ get isGeneric() {
87
+ return tslib_1.__classPrivateFieldGet(this, _JsonSchema_isGeneric, "f");
88
+ }
89
+ /**
90
+ * Current schema has generics items
91
+ */
92
+ get hasGenerics() {
93
+ return !!(this.nestedGenerics && this.nestedGenerics.length);
94
+ }
95
+ get genericType() {
96
+ return this.get("$ref");
97
+ }
98
+ get class() {
99
+ return this.getComputedType();
100
+ }
101
+ get canRef() {
102
+ return tslib_1.__classPrivateFieldGet(this, _JsonSchema_ref, "f");
103
+ }
104
+ get isNullable() {
105
+ return tslib_1.__classPrivateFieldGet(this, _JsonSchema_nullable, "f") || this.$allow.includes(null);
106
+ }
107
+ get isReadOnly() {
108
+ return this.get("readOnly");
109
+ }
110
+ get isWriteOnly() {
111
+ return this.get("writeOnly");
112
+ }
113
+ static from(obj = {}) {
114
+ return new JsonSchema(obj);
115
+ }
116
+ nullable(value) {
117
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_nullable, value, "f");
118
+ }
119
+ itemSchema(obj = {}) {
120
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_itemSchema, tslib_1.__classPrivateFieldGet(this, _JsonSchema_itemSchema, "f") || mapToJsonSchema(obj), "f");
121
+ tslib_1.__classPrivateFieldGet(this, _JsonSchema_itemSchema, "f").assign(obj);
122
+ return tslib_1.__classPrivateFieldGet(this, _JsonSchema_itemSchema, "f");
123
+ }
124
+ getAliasOf(property) {
125
+ return tslib_1.__classPrivateFieldGet(this, _JsonSchema_alias, "f").get(property);
126
+ }
127
+ addAlias(property, alias) {
128
+ tslib_1.__classPrivateFieldGet(this, _JsonSchema_alias, "f").set(property, alias);
129
+ tslib_1.__classPrivateFieldGet(this, _JsonSchema_alias, "f").set(alias, property);
130
+ return this;
131
+ }
132
+ removeAlias(property) {
133
+ const alias = tslib_1.__classPrivateFieldGet(this, _JsonSchema_alias, "f").get(property);
134
+ alias && tslib_1.__classPrivateFieldGet(this, _JsonSchema_alias, "f").delete(alias);
135
+ tslib_1.__classPrivateFieldGet(this, _JsonSchema_alias, "f").delete(property);
136
+ return this;
137
+ }
138
+ $id($id) {
139
+ super.set("$id", $id);
140
+ return this;
141
+ }
142
+ $ref($ref) {
143
+ super.set("$ref", $ref);
144
+ return this;
145
+ }
146
+ $schema($schema) {
147
+ super.set("$schema", $schema);
148
+ return this;
149
+ }
150
+ /**
151
+ * Create a ref and use name to sharing schema
152
+ * @param name
153
+ */
154
+ label(name) {
155
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_ref, true, "f");
156
+ super.set("name", name);
157
+ return this;
158
+ }
159
+ name(name) {
160
+ super.set("name", name);
161
+ return this;
162
+ }
163
+ ignore(cb) {
164
+ if (typeof cb === "boolean") {
165
+ const bool = cb;
166
+ cb = () => bool;
167
+ }
168
+ this.$hooks.on("ignore", cb);
169
+ return this;
170
+ }
171
+ /**
172
+ * This keyword can be used to supply a default JSON value associated with a particular schema.
173
+ * It is RECOMMENDED that a default value be valid against the associated schema.
174
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.3
175
+ */
176
+ default(value) {
177
+ super.set("default", value);
178
+ return this;
179
+ }
180
+ /**
181
+ * More readible form of a one-element "enum"
182
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.24
183
+ */
184
+ const(value) {
185
+ super.set("const", value);
186
+ return this;
187
+ }
188
+ /**
189
+ * This attribute is a string that provides a full description of the of purpose the instance property.
190
+ *
191
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.2
192
+ */
193
+ description(description) {
194
+ super.set("description", description);
195
+ return this;
196
+ }
197
+ /**
198
+ * This keyword determines how child instances validate for arrays, and does not directly validate the immediate instance itself.
199
+ * If "items" is an array of schemas, validation succeeds if every instance element
200
+ * at a position greater than the size of "items" validates against "additionalItems".
201
+ * Otherwise, "additionalItems" MUST be ignored, as the "items" schema
202
+ * (possibly the default value of an empty schema) is applied to all elements.
203
+ * Omitting this keyword has the same behavior as an empty schema.
204
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.10
205
+ */
206
+ additionalItems(additionalItems) {
207
+ super.set("additionalItems", mapToJsonSchema(additionalItems));
208
+ return this;
209
+ }
210
+ /**
211
+ * An array instance is valid against "contains" if at least one of its elements is valid against the given schema.
212
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.14
213
+ */
214
+ contains(contains) {
215
+ super.set("contains", mapToJsonSchema(contains));
216
+ return this;
217
+ }
218
+ /**
219
+ * Array of examples with no validation effect the value of "default" is usable as an example without repeating it under this keyword
220
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.4
221
+ */
222
+ examples(examples) {
223
+ super.set("examples", examples);
224
+ return this;
225
+ }
226
+ /**
227
+ * Array of examples with no validation effect the value of "default" is usable as an example without repeating it under this keyword
228
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.4
229
+ */
230
+ example(...examples) {
231
+ return this.examples(examples);
232
+ }
233
+ /**
234
+ * This keyword determines how child instances validate for arrays, and does not directly validate the immediate instance itself.
235
+ * Omitting this keyword has the same behavior as an empty schema.
236
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.9
237
+ */
238
+ items(items) {
239
+ super.set("items", (tslib_1.__classPrivateFieldSet(this, _JsonSchema_itemSchema, mapToJsonSchema(items), "f")));
240
+ return this;
241
+ }
242
+ /**
243
+ * Must be a non-negative integer.
244
+ * An array instance is valid against "maxItems" if its size is less than, or equal to, the value of this keyword.
245
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.11
246
+ */
247
+ maxItems(maxItems) {
248
+ super.set("maxItems", maxItems);
249
+ return this;
250
+ }
251
+ /**
252
+ * Must be a non-negative integer.
253
+ * An array instance is valid against "maxItems" if its size is greater than, or equal to, the value of this keyword.
254
+ * Omitting this keyword has the same behavior as a value of 0.
255
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.12
256
+ */
257
+ minItems(minItems) {
258
+ super.set("minItems", minItems);
259
+ return this;
260
+ }
261
+ /**
262
+ * If this keyword has boolean value false, the instance validates successfully.
263
+ * If it has boolean value true, the instance validates successfully if all of its elements are unique.
264
+ * Omitting this keyword has the same behavior as a value of false.
265
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.13
266
+ */
267
+ uniqueItems(uniqueItems) {
268
+ super.set("uniqueItems", uniqueItems);
269
+ return this;
270
+ }
271
+ /**
272
+ * Must be a non-negative integer.
273
+ * An object instance is valid against "maxProperties" if its number of properties is less than, or equal to, the value of this keyword.
274
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.15
275
+ */
276
+ maxProperties(maxProperties) {
277
+ super.set("maxProperties", maxProperties);
278
+ return this;
279
+ }
280
+ /**
281
+ * Must be a non-negative integer.
282
+ * An object instance is valid against "maxProperties" if its number of properties is greater than,
283
+ * or equal to, the value of this keyword.
284
+ * Omitting this keyword has the same behavior as a value of 0.
285
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.16
286
+ */
287
+ minProperties(minProperties) {
288
+ super.set("minProperties", minProperties);
289
+ return this;
290
+ }
291
+ allow(...allow) {
292
+ this.$allow.push(...allow);
293
+ return this;
294
+ }
295
+ /**
296
+ * Elements of this array must be unique.
297
+ * An object instance is valid against this keyword if every item in the array is the name of a property in the instance.
298
+ * Omitting this keyword has the same behavior as an empty array.
299
+ *
300
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.17
301
+ */
302
+ required(required = true) {
303
+ if ((0, core_1.isArray)(required)) {
304
+ this.$required.clear();
305
+ required.forEach((value) => this.$required.add(value));
306
+ }
307
+ else {
308
+ const schema = this.clone();
309
+ schema.$selfRequired = required;
310
+ return schema;
311
+ }
312
+ return this;
313
+ }
314
+ addRequired(property) {
315
+ this.$required.add(property);
316
+ return this;
317
+ }
318
+ removeRequired(property) {
319
+ this.$required.delete(property);
320
+ return this;
321
+ }
322
+ isRequired(property) {
323
+ return this.$required.has(property);
324
+ }
325
+ /**
326
+ * This keyword determines how child instances validate for objects, and does not directly validate the immediate instance itself.
327
+ * Validation succeeds if, for each name that appears in both the instance and as a name within this keyword's value,
328
+ * the child instance for that name successfully validates against the corresponding schema.
329
+ * Omitting this keyword has the same behavior as an empty object.
330
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.18
331
+ */
332
+ properties(properties) {
333
+ super.set("properties", mapProperties(properties));
334
+ return this;
335
+ }
336
+ addProperty(key, schema) {
337
+ const properties = this.get("properties") || {};
338
+ properties[key] = schema;
339
+ super.set("properties", mapProperties(properties));
340
+ return this;
341
+ }
342
+ /**
343
+ * This attribute is an object that defines the schema for a set of property names of an object instance.
344
+ * The name of each property of this attribute's object is a regular expression pattern in the ECMA 262, while the value is a schema.
345
+ * If the pattern matches the name of a property on the instance object, the value of the instance's property
346
+ * MUST be valid against the pattern name's schema value.
347
+ * Omitting this keyword has the same behavior as an empty object.
348
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.19
349
+ */
350
+ patternProperties(patternProperties) {
351
+ super.set("patternProperties", mapProperties(patternProperties));
352
+ return this;
353
+ }
354
+ /**
355
+ * This attribute defines a schema for all properties that are not explicitly defined in an object type definition.
356
+ * If specified, the value MUST be a schema or a boolean.
357
+ * If false is provided, no additional properties are allowed beyond the properties defined in the schema.
358
+ * The default value is an empty schema which allows any value for additional properties.
359
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.20
360
+ */
361
+ additionalProperties(additionalProperties) {
362
+ super.set("additionalProperties", mapToJsonSchema(additionalProperties));
363
+ return this;
364
+ }
365
+ /**
366
+ * This attribute defines a schema for all properties that are not explicitly defined in an object type definition.
367
+ * If specified, the value MUST be a schema or a boolean.
368
+ * If false is provided, no additional properties are allowed beyond the properties defined in the schema.
369
+ * The default value is an empty schema which allows any value for additional properties.
370
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.20
371
+ * @alias additionalProperties
372
+ * @param unknown
373
+ */
374
+ unknown(unknown = true) {
375
+ return this.additionalProperties(unknown);
376
+ }
377
+ /**
378
+ * This keyword specifies rules that are evaluated if the instance is an object and contains a certain property.
379
+ * Each property specifies a dependency.
380
+ * If the dependency value is an array, each element in the array must be unique.
381
+ * Omitting this keyword has the same behavior as an empty object.
382
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.21
383
+ */
384
+ dependencies(dependencies) {
385
+ super.set("dependencies", mapProperties(dependencies));
386
+ return this;
387
+ }
388
+ /**
389
+ * Takes a schema which validates the names of all properties rather than their values.
390
+ * Note the property name that the schema is testing will always be a string.
391
+ * Omitting this keyword has the same behavior as an empty schema.
392
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.22
393
+ */
394
+ propertyNames(propertyNames) {
395
+ super.set("propertyNames", mapToJsonSchema(propertyNames));
396
+ return this;
397
+ }
398
+ enum(enumValue, ...enumValues) {
399
+ const { values, types } = (0, serializeEnumValues_1.serializeEnumValues)([enumValue, enumValues].flat());
400
+ super.set("enum", values).any(...types);
401
+ return this;
402
+ }
403
+ /**
404
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.1
405
+ */
406
+ definitions(definitions) {
407
+ super.set("definitions", mapProperties(definitions));
408
+ return this;
409
+ }
410
+ /**
411
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.26
412
+ */
413
+ allOf(allOf) {
414
+ super.set("allOf", allOf.map(mapToJsonSchema));
415
+ return this;
416
+ }
417
+ /**
418
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.27
419
+ */
420
+ anyOf(anyOf) {
421
+ super.set("anyOf", anyOf.map(mapToJsonSchema));
422
+ return this;
423
+ }
424
+ /**
425
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.28
426
+ */
427
+ oneOf(oneOf) {
428
+ super.set("oneOf", oneOf.map(mapToJsonSchema));
429
+ return this;
430
+ }
431
+ /**
432
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.29
433
+ */
434
+ not(not) {
435
+ super.set("not", mapToJsonSchema(not));
436
+ return this;
437
+ }
438
+ /**
439
+ * Must be strictly greater than 0.
440
+ * A numeric instance is valid only if division by this keyword's value results in an integer.
441
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.1
442
+ */
443
+ multipleOf(multipleOf) {
444
+ super.set("multipleOf", multipleOf);
445
+ return this;
446
+ }
447
+ /**
448
+ * Representing an inclusive upper limit for a numeric instance.
449
+ * This keyword validates only if the instance is less than or exactly equal to "maximum".
450
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.2
451
+ */
452
+ maximum(maximum) {
453
+ super.set("maximum", maximum);
454
+ return this;
455
+ }
456
+ /**
457
+ * Representing an exclusive upper limit for a numeric instance.
458
+ * This keyword validates only if the instance is strictly less than (not equal to) to "exclusiveMaximum".
459
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.3
460
+ */
461
+ exclusiveMaximum(exclusiveMaximum) {
462
+ super.set("exclusiveMaximum", exclusiveMaximum);
463
+ return this;
464
+ }
465
+ /**
466
+ * Representing an inclusive lower limit for a numeric instance.
467
+ * This keyword validates only if the instance is greater than or exactly equal to "minimum".
468
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.4
469
+ */
470
+ minimum(minimum) {
471
+ super.set("minimum", minimum);
472
+ return this;
473
+ }
474
+ /**
475
+ * Representing an exclusive lower limit for a numeric instance.
476
+ * This keyword validates only if the instance is strictly greater than (not equal to) to "exclusiveMinimum".
477
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.5
478
+ */
479
+ exclusiveMinimum(exclusiveMinimum) {
480
+ super.set("exclusiveMinimum", exclusiveMinimum);
481
+ return this;
482
+ }
483
+ /**
484
+ * Must be a non-negative integer.
485
+ * A string instance is valid against this keyword if its length is less than, or equal to, the value of this keyword.
486
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.6
487
+ */
488
+ maxLength(maxLength) {
489
+ super.set("maxLength", maxLength);
490
+ return this;
491
+ }
492
+ /**
493
+ * Must be a non-negative integer.
494
+ * A string instance is valid against this keyword if its length is greater than, or equal to, the value of this keyword.
495
+ * Omitting this keyword has the same behavior as a value of 0.
496
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.7
497
+ */
498
+ minLength(minLength) {
499
+ super.set("minLength", minLength);
500
+ return this;
501
+ }
502
+ /**
503
+ * Should be a valid regular expression, according to the ECMA 262 regular expression dialect.
504
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.8
505
+ */
506
+ pattern(pattern) {
507
+ super.set("pattern", (0, toJsonRegex_1.toJsonRegex)(pattern));
508
+ return this;
509
+ }
510
+ /**
511
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-8
512
+ */
513
+ format(format) {
514
+ super.set("format", format);
515
+ return this;
516
+ }
517
+ /**
518
+ * A single type, or a union of simple types
519
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-6.25
520
+ */
521
+ type(type) {
522
+ switch (type) {
523
+ case Map:
524
+ super.set("type", (0, getJsonType_1.getJsonType)(type));
525
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_target, type, "f");
526
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_isCollection, true, "f");
527
+ if (!this.has("additionalProperties")) {
528
+ super.set("additionalProperties", this.itemSchema({}));
529
+ }
530
+ break;
531
+ case Array:
532
+ super.set("type", (0, getJsonType_1.getJsonType)(type));
533
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_target, type, "f");
534
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_isCollection, true, "f");
535
+ if (!this.has("items")) {
536
+ super.set("items", this.itemSchema({}));
537
+ }
538
+ break;
539
+ case Set:
540
+ super.set("type", (0, getJsonType_1.getJsonType)(type));
541
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_target, type, "f");
542
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_isCollection, true, "f");
543
+ this.uniqueItems(true);
544
+ if (!this.has("items")) {
545
+ super.set("items", this.itemSchema({}));
546
+ }
547
+ break;
548
+ case "integer":
549
+ super.set("type", (0, getJsonType_1.getJsonType)(type));
550
+ this.integer();
551
+ break;
552
+ case Object:
553
+ case Date:
554
+ case Boolean:
555
+ case Number:
556
+ case String:
557
+ super.set("type", (0, getJsonType_1.getJsonType)(type));
558
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_target, type, "f");
559
+ if (!this.has("properties")) {
560
+ super.set("properties", {});
561
+ }
562
+ break;
563
+ default:
564
+ if ((0, core_1.isClass)(type) || (0, core_1.isFunction)(type)) {
565
+ super.set("type", undefined);
566
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_target, type, "f");
567
+ if (!this.has("properties")) {
568
+ super.set("properties", {});
569
+ }
570
+ }
571
+ else {
572
+ const jsonType = (0, getJsonType_1.getJsonType)(type);
573
+ if (jsonType === "generic") {
574
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_isGeneric, true, "f");
575
+ super.set("$ref", type);
576
+ }
577
+ else {
578
+ super.set("type", jsonType);
579
+ }
580
+ }
581
+ }
582
+ return this;
583
+ }
584
+ any(...types) {
585
+ const hasClasses = types.filter((type) => (0, core_1.isClass)(type));
586
+ if (hasClasses.length >= 2) {
587
+ this.oneOf(types.filter((value) => {
588
+ if (value !== null) {
589
+ this.nullable(true);
590
+ return true;
591
+ }
592
+ return false;
593
+ }));
594
+ }
595
+ else {
596
+ // TODO when OS3 will the only minimal supported version, we'll can remove this code
597
+ if (types.length) {
598
+ types = (0, core_1.uniq)(types).map(getJsonType_1.getJsonType);
599
+ if (types.includes("null")) {
600
+ this.nullable(true);
601
+ types = types.filter((o) => o !== "null");
602
+ }
603
+ }
604
+ else {
605
+ types = ["integer", "number", "string", "boolean", "array", "object"];
606
+ this.nullable(true);
607
+ }
608
+ this.type(types.length === 1 ? types[0] : types);
609
+ }
610
+ return this;
611
+ }
612
+ integer() {
613
+ super.set("type", "integer");
614
+ super.set("multipleOf", 1.0);
615
+ return this;
616
+ }
617
+ /**
618
+ * This attribute is a string that provides a short description of the instance property.
619
+ *
620
+ * @see https://tools.ietf.org/html/draft-wright-json-schema-validation-01#section-7.2
621
+ */
622
+ title(title) {
623
+ super.set("title", title);
624
+ return this;
625
+ }
626
+ readOnly(readOnly) {
627
+ super.set("readOnly", readOnly);
628
+ return this;
629
+ }
630
+ writeOnly(readOnly) {
631
+ super.set("writeOnly", readOnly);
632
+ return this;
633
+ }
634
+ customKey(key, value) {
635
+ super.set(`#${key}`, value);
636
+ return this;
637
+ }
638
+ toObject(options) {
639
+ return this.toJSON(options);
640
+ }
641
+ toJSON(options) {
642
+ let addDef = false;
643
+ if (!options) {
644
+ addDef = true;
645
+ options = { schemas: {} };
646
+ }
647
+ const schema = (0, JsonSchemaMapperContainer_1.execMapper)("schema", this, options);
648
+ if (addDef && options.schemas && Object.keys(options.schemas).length) {
649
+ schema.definitions = options.schemas;
650
+ }
651
+ return schema;
652
+ }
653
+ assign(obj = {}) {
654
+ const entries = obj instanceof JsonSchema ? [...obj.entries()] : Object.entries(obj);
655
+ entries.forEach(([key, value]) => {
656
+ this.set(key, value);
657
+ });
658
+ if (obj instanceof JsonSchema) {
659
+ this.$selfRequired = obj.$selfRequired;
660
+ obj.$required.forEach((key) => {
661
+ this.$required.add(key);
662
+ });
663
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_ref, tslib_1.__classPrivateFieldGet(obj, _JsonSchema_ref, "f"), "f");
664
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_alias, new Map(tslib_1.__classPrivateFieldGet(this, _JsonSchema_alias, "f").entries()), "f");
665
+ tslib_1.__classPrivateFieldGet(obj, _JsonSchema_genericLabels, "f") && (tslib_1.__classPrivateFieldSet(this, _JsonSchema_genericLabels, [...tslib_1.__classPrivateFieldGet(obj, _JsonSchema_genericLabels, "f")], "f"));
666
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_nestedGenerics, tslib_1.__classPrivateFieldGet(obj, _JsonSchema_nestedGenerics, "f").map((item) => [...item]), "f");
667
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_target, tslib_1.__classPrivateFieldGet(obj, _JsonSchema_target, "f"), "f");
668
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_isGeneric, tslib_1.__classPrivateFieldGet(obj, _JsonSchema_isGeneric, "f"), "f");
669
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_isCollection, tslib_1.__classPrivateFieldGet(obj, _JsonSchema_isCollection, "f"), "f");
670
+ tslib_1.__classPrivateFieldSet(this, _JsonSchema_ref, tslib_1.__classPrivateFieldGet(obj, _JsonSchema_ref, "f"), "f");
671
+ super.set("type", obj.get("type"));
672
+ }
673
+ return this;
674
+ }
675
+ set(key, value) {
676
+ if (key in this) {
677
+ (0, core_1.isFunction)(this[key]) && this[key](value);
678
+ }
679
+ else {
680
+ super.set(key, value);
681
+ }
682
+ return this;
683
+ }
684
+ /**
685
+ * Return the itemSchema computed type.
686
+ * If the type is a function used for recursive model,
687
+ * the function will be called to get the right type.
688
+ */
689
+ getComputedType() {
690
+ return (0, getComputedType_1.getComputedType)(tslib_1.__classPrivateFieldGet(this, _JsonSchema_target, "f"));
691
+ }
692
+ getComputedItemType() {
693
+ return tslib_1.__classPrivateFieldGet(this, _JsonSchema_itemSchema, "f") ? tslib_1.__classPrivateFieldGet(this, _JsonSchema_itemSchema, "f").getComputedType() : this.getComputedType();
694
+ }
695
+ /**
696
+ * Return the Json type as string
697
+ */
698
+ getJsonType() {
699
+ return this.get("type") || (0, getJsonType_1.getJsonType)(this.getComputedType());
700
+ }
701
+ getTarget() {
702
+ return tslib_1.__classPrivateFieldGet(this, _JsonSchema_target, "f");
703
+ }
704
+ /**
705
+ * Get the symbolic name of the entity
706
+ */
707
+ getName() {
708
+ return this.get("name") || (tslib_1.__classPrivateFieldGet(this, _JsonSchema_target, "f") ? (0, core_1.nameOf)((0, core_1.classOf)(this.getComputedType())) : "");
709
+ }
710
+ clone() {
711
+ return new JsonSchema(this);
712
+ }
713
+ }
714
+ exports.JsonSchema = JsonSchema;
715
+ _JsonSchema_nullable = new WeakMap(), _JsonSchema_genericLabels = new WeakMap(), _JsonSchema_nestedGenerics = new WeakMap(), _JsonSchema_alias = new WeakMap(), _JsonSchema_itemSchema = new WeakMap(), _JsonSchema_target = new WeakMap(), _JsonSchema_isGeneric = new WeakMap(), _JsonSchema_isCollection = new WeakMap(), _JsonSchema_ref = new WeakMap();
716
+ //# sourceMappingURL=JsonSchema.js.map