@tsed/schema 8.9.5 → 8.10.0-rc.2

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 (404) hide show
  1. package/lib/browser/components/async-api/channelsMapper.js +51 -0
  2. package/lib/browser/components/async-api/channelsMapper.js.map +1 -0
  3. package/lib/browser/components/async-api/generate.js +15 -0
  4. package/lib/browser/components/async-api/generate.js.map +1 -0
  5. package/lib/browser/components/async-api/messageMapper.js +31 -0
  6. package/lib/browser/components/async-api/messageMapper.js.map +1 -0
  7. package/lib/browser/components/async-api/payloadMapper.js +47 -0
  8. package/lib/browser/components/async-api/payloadMapper.js.map +1 -0
  9. package/lib/browser/components/async-api/responseMapper.js +37 -0
  10. package/lib/browser/components/async-api/responseMapper.js.map +1 -0
  11. package/lib/browser/components/default/anyMapper.js +25 -0
  12. package/lib/browser/components/default/anyMapper.js.map +1 -0
  13. package/lib/browser/components/default/classMapper.js +36 -0
  14. package/lib/browser/components/default/classMapper.js.map +1 -0
  15. package/lib/browser/components/default/discriminatorMappingMapper.js +22 -0
  16. package/lib/browser/components/default/discriminatorMappingMapper.js.map +1 -0
  17. package/lib/browser/components/default/enumsMapper.js +10 -0
  18. package/lib/browser/components/default/enumsMapper.js.map +1 -0
  19. package/lib/browser/components/default/genericsMapper.js +51 -0
  20. package/lib/browser/components/default/genericsMapper.js.map +1 -0
  21. package/lib/browser/components/default/inheritedClassMapper.js +30 -0
  22. package/lib/browser/components/default/inheritedClassMapper.js.map +1 -0
  23. package/lib/browser/components/default/itemMapper.js +9 -0
  24. package/lib/browser/components/default/itemMapper.js.map +1 -0
  25. package/lib/browser/components/default/lazyRefMapper.js +17 -0
  26. package/lib/browser/components/default/lazyRefMapper.js.map +1 -0
  27. package/lib/browser/components/default/mapMapper.js +10 -0
  28. package/lib/browser/components/default/mapMapper.js.map +1 -0
  29. package/lib/browser/components/default/nullableMapper.js +32 -0
  30. package/lib/browser/components/default/nullableMapper.js.map +1 -0
  31. package/lib/browser/components/default/objectMapper.js +24 -0
  32. package/lib/browser/components/default/objectMapper.js.map +1 -0
  33. package/lib/browser/components/default/ofMapper.js +14 -0
  34. package/lib/browser/components/default/ofMapper.js.map +1 -0
  35. package/lib/browser/components/default/propertiesMapper.js +21 -0
  36. package/lib/browser/components/default/propertiesMapper.js.map +1 -0
  37. package/lib/browser/components/default/requiredMapper.js +28 -0
  38. package/lib/browser/components/default/requiredMapper.js.map +1 -0
  39. package/lib/browser/components/default/schemaMapper.js +68 -0
  40. package/lib/browser/components/default/schemaMapper.js.map +1 -0
  41. package/lib/browser/components/index.js +66 -0
  42. package/lib/browser/components/index.js.map +1 -0
  43. package/lib/browser/components/open-spec/discriminatorMappingMapper.js +7 -0
  44. package/lib/browser/components/open-spec/discriminatorMappingMapper.js.map +1 -0
  45. package/lib/browser/components/open-spec/enumsMapper.js +13 -0
  46. package/lib/browser/components/open-spec/enumsMapper.js.map +1 -0
  47. package/lib/browser/components/open-spec/generate.js +18 -0
  48. package/lib/browser/components/open-spec/generate.js.map +1 -0
  49. package/lib/browser/components/open-spec/nullableMapper.js +36 -0
  50. package/lib/browser/components/open-spec/nullableMapper.js.map +1 -0
  51. package/lib/browser/components/open-spec/operationInFilesMapper.js +21 -0
  52. package/lib/browser/components/open-spec/operationInFilesMapper.js.map +1 -0
  53. package/lib/browser/components/open-spec/operationInParameterMapper.js +31 -0
  54. package/lib/browser/components/open-spec/operationInParameterMapper.js.map +1 -0
  55. package/lib/browser/components/open-spec/operationInParametersMapper.js +9 -0
  56. package/lib/browser/components/open-spec/operationInParametersMapper.js.map +1 -0
  57. package/lib/browser/components/open-spec/operationInQueryMapper.js +46 -0
  58. package/lib/browser/components/open-spec/operationInQueryMapper.js.map +1 -0
  59. package/lib/browser/components/open-spec/operationMapper.js +33 -0
  60. package/lib/browser/components/open-spec/operationMapper.js.map +1 -0
  61. package/lib/browser/components/open-spec/operationMediaMapper.js +10 -0
  62. package/lib/browser/components/open-spec/operationMediaMapper.js.map +1 -0
  63. package/lib/browser/components/open-spec/operationRequestBodyMapper.js +40 -0
  64. package/lib/browser/components/open-spec/operationRequestBodyMapper.js.map +1 -0
  65. package/lib/browser/components/open-spec/operationResponseMapper.js +17 -0
  66. package/lib/browser/components/open-spec/operationResponseMapper.js.map +1 -0
  67. package/lib/browser/components/open-spec/pathsMapper.js +88 -0
  68. package/lib/browser/components/open-spec/pathsMapper.js.map +1 -0
  69. package/lib/browser/constants/OperationVerbs.js +24 -0
  70. package/lib/browser/constants/OperationVerbs.js.map +1 -0
  71. package/lib/browser/constants/httpStatusMessages.js +25 -0
  72. package/lib/browser/constants/httpStatusMessages.js.map +1 -0
  73. package/lib/browser/constants/jsonSchemaProperties.js +21 -0
  74. package/lib/browser/constants/jsonSchemaProperties.js.map +1 -0
  75. package/lib/browser/decorators/class/children.js +13 -0
  76. package/lib/browser/decorators/class/children.js.map +1 -0
  77. package/lib/browser/decorators/class/discriminatorValue.js +11 -0
  78. package/lib/browser/decorators/class/discriminatorValue.js.map +1 -0
  79. package/lib/browser/decorators/collections/collectionContains.js +8 -0
  80. package/lib/browser/decorators/collections/collectionContains.js.map +1 -0
  81. package/lib/browser/decorators/collections/collectionOf.js +26 -0
  82. package/lib/browser/decorators/collections/collectionOf.js.map +1 -0
  83. package/lib/browser/decorators/collections/maxItems.js +13 -0
  84. package/lib/browser/decorators/collections/maxItems.js.map +1 -0
  85. package/lib/browser/decorators/collections/maxProperties.js +13 -0
  86. package/lib/browser/decorators/collections/maxProperties.js.map +1 -0
  87. package/lib/browser/decorators/collections/minItems.js +13 -0
  88. package/lib/browser/decorators/collections/minItems.js.map +1 -0
  89. package/lib/browser/decorators/collections/minProperties.js +13 -0
  90. package/lib/browser/decorators/collections/minProperties.js.map +1 -0
  91. package/lib/browser/decorators/collections/uniqueItems.js +9 -0
  92. package/lib/browser/decorators/collections/uniqueItems.js.map +1 -0
  93. package/lib/browser/decorators/common/additionalProperties.js +10 -0
  94. package/lib/browser/decorators/common/additionalProperties.js.map +1 -0
  95. package/lib/browser/decorators/common/allOf.js +10 -0
  96. package/lib/browser/decorators/common/allOf.js.map +1 -0
  97. package/lib/browser/decorators/common/allow.js +16 -0
  98. package/lib/browser/decorators/common/allow.js.map +1 -0
  99. package/lib/browser/decorators/common/any.js +10 -0
  100. package/lib/browser/decorators/common/any.js.map +1 -0
  101. package/lib/browser/decorators/common/anyOf.js +10 -0
  102. package/lib/browser/decorators/common/anyOf.js.map +1 -0
  103. package/lib/browser/decorators/common/const.js +10 -0
  104. package/lib/browser/decorators/common/const.js.map +1 -0
  105. package/lib/browser/decorators/common/customKey.js +18 -0
  106. package/lib/browser/decorators/common/customKey.js.map +1 -0
  107. package/lib/browser/decorators/common/default.js +10 -0
  108. package/lib/browser/decorators/common/default.js.map +1 -0
  109. package/lib/browser/decorators/common/defaultMsg.js +9 -0
  110. package/lib/browser/decorators/common/defaultMsg.js.map +1 -0
  111. package/lib/browser/decorators/common/description.js +23 -0
  112. package/lib/browser/decorators/common/description.js.map +1 -0
  113. package/lib/browser/decorators/common/discriminatorKey.js +15 -0
  114. package/lib/browser/decorators/common/discriminatorKey.js.map +1 -0
  115. package/lib/browser/decorators/common/enum.js +12 -0
  116. package/lib/browser/decorators/common/enum.js.map +1 -0
  117. package/lib/browser/decorators/common/errorMsg.js +11 -0
  118. package/lib/browser/decorators/common/errorMsg.js.map +1 -0
  119. package/lib/browser/decorators/common/example.js +10 -0
  120. package/lib/browser/decorators/common/example.js.map +1 -0
  121. package/lib/browser/decorators/common/examples.js +10 -0
  122. package/lib/browser/decorators/common/examples.js.map +1 -0
  123. package/lib/browser/decorators/common/exclusiveMaximum.js +7 -0
  124. package/lib/browser/decorators/common/exclusiveMaximum.js.map +1 -0
  125. package/lib/browser/decorators/common/exclusiveMinimum.js +7 -0
  126. package/lib/browser/decorators/common/exclusiveMinimum.js.map +1 -0
  127. package/lib/browser/decorators/common/format.js +16 -0
  128. package/lib/browser/decorators/common/format.js.map +1 -0
  129. package/lib/browser/decorators/common/forwardGroups.js +10 -0
  130. package/lib/browser/decorators/common/forwardGroups.js.map +1 -0
  131. package/lib/browser/decorators/common/groups.js +31 -0
  132. package/lib/browser/decorators/common/groups.js.map +1 -0
  133. package/lib/browser/decorators/common/hidden.js +8 -0
  134. package/lib/browser/decorators/common/hidden.js.map +1 -0
  135. package/lib/browser/decorators/common/ignore.js +10 -0
  136. package/lib/browser/decorators/common/ignore.js.map +1 -0
  137. package/lib/browser/decorators/common/integer.js +10 -0
  138. package/lib/browser/decorators/common/integer.js.map +1 -0
  139. package/lib/browser/decorators/common/jsonEntityFn.js +11 -0
  140. package/lib/browser/decorators/common/jsonEntityFn.js.map +1 -0
  141. package/lib/browser/decorators/common/labelledAs.js +10 -0
  142. package/lib/browser/decorators/common/labelledAs.js.map +1 -0
  143. package/lib/browser/decorators/common/maxLength.js +13 -0
  144. package/lib/browser/decorators/common/maxLength.js.map +1 -0
  145. package/lib/browser/decorators/common/maximum.js +10 -0
  146. package/lib/browser/decorators/common/maximum.js.map +1 -0
  147. package/lib/browser/decorators/common/minLength.js +13 -0
  148. package/lib/browser/decorators/common/minLength.js.map +1 -0
  149. package/lib/browser/decorators/common/minimum.js +10 -0
  150. package/lib/browser/decorators/common/minimum.js.map +1 -0
  151. package/lib/browser/decorators/common/multipleOf.js +13 -0
  152. package/lib/browser/decorators/common/multipleOf.js.map +1 -0
  153. package/lib/browser/decorators/common/name.js +20 -0
  154. package/lib/browser/decorators/common/name.js.map +1 -0
  155. package/lib/browser/decorators/common/nullable.js +10 -0
  156. package/lib/browser/decorators/common/nullable.js.map +1 -0
  157. package/lib/browser/decorators/common/oneOf.js +10 -0
  158. package/lib/browser/decorators/common/oneOf.js.map +1 -0
  159. package/lib/browser/decorators/common/optional.js +18 -0
  160. package/lib/browser/decorators/common/optional.js.map +1 -0
  161. package/lib/browser/decorators/common/pattern.js +9 -0
  162. package/lib/browser/decorators/common/pattern.js.map +1 -0
  163. package/lib/browser/decorators/common/property.js +11 -0
  164. package/lib/browser/decorators/common/property.js.map +1 -0
  165. package/lib/browser/decorators/common/readOnly.js +10 -0
  166. package/lib/browser/decorators/common/readOnly.js.map +1 -0
  167. package/lib/browser/decorators/common/recordOf.js +15 -0
  168. package/lib/browser/decorators/common/recordOf.js.map +1 -0
  169. package/lib/browser/decorators/common/required.js +8 -0
  170. package/lib/browser/decorators/common/required.js.map +1 -0
  171. package/lib/browser/decorators/common/requiredGroups.js +11 -0
  172. package/lib/browser/decorators/common/requiredGroups.js.map +1 -0
  173. package/lib/browser/decorators/common/schema.js +16 -0
  174. package/lib/browser/decorators/common/schema.js.map +1 -0
  175. package/lib/browser/decorators/common/title.js +10 -0
  176. package/lib/browser/decorators/common/title.js.map +1 -0
  177. package/lib/browser/decorators/common/typeError.js +10 -0
  178. package/lib/browser/decorators/common/typeError.js.map +1 -0
  179. package/lib/browser/decorators/common/writeOnly.js +10 -0
  180. package/lib/browser/decorators/common/writeOnly.js.map +1 -0
  181. package/lib/browser/decorators/config/jsonEntityComponent.js +10 -0
  182. package/lib/browser/decorators/config/jsonEntityComponent.js.map +1 -0
  183. package/lib/browser/decorators/generics/genericOf.js +19 -0
  184. package/lib/browser/decorators/generics/genericOf.js.map +1 -0
  185. package/lib/browser/decorators/generics/generics.js +11 -0
  186. package/lib/browser/decorators/generics/generics.js.map +1 -0
  187. package/lib/browser/decorators/operations/acceptMime.js +9 -0
  188. package/lib/browser/decorators/operations/acceptMime.js.map +1 -0
  189. package/lib/browser/decorators/operations/consumes.js +20 -0
  190. package/lib/browser/decorators/operations/consumes.js.map +1 -0
  191. package/lib/browser/decorators/operations/contentType.js +8 -0
  192. package/lib/browser/decorators/operations/contentType.js.map +1 -0
  193. package/lib/browser/decorators/operations/deprecated.js +26 -0
  194. package/lib/browser/decorators/operations/deprecated.js.map +1 -0
  195. package/lib/browser/decorators/operations/header.js +9 -0
  196. package/lib/browser/decorators/operations/header.js.map +1 -0
  197. package/lib/browser/decorators/operations/in.js +27 -0
  198. package/lib/browser/decorators/operations/in.js.map +1 -0
  199. package/lib/browser/decorators/operations/inFile.js +27 -0
  200. package/lib/browser/decorators/operations/inFile.js.map +1 -0
  201. package/lib/browser/decorators/operations/location.js +8 -0
  202. package/lib/browser/decorators/operations/location.js.map +1 -0
  203. package/lib/browser/decorators/operations/operation.js +45 -0
  204. package/lib/browser/decorators/operations/operation.js.map +1 -0
  205. package/lib/browser/decorators/operations/operationId.js +13 -0
  206. package/lib/browser/decorators/operations/operationId.js.map +1 -0
  207. package/lib/browser/decorators/operations/operationPath.js +13 -0
  208. package/lib/browser/decorators/operations/operationPath.js.map +1 -0
  209. package/lib/browser/decorators/operations/partial.js +8 -0
  210. package/lib/browser/decorators/operations/partial.js.map +1 -0
  211. package/lib/browser/decorators/operations/path.js +13 -0
  212. package/lib/browser/decorators/operations/path.js.map +1 -0
  213. package/lib/browser/decorators/operations/produces.js +20 -0
  214. package/lib/browser/decorators/operations/produces.js.map +1 -0
  215. package/lib/browser/decorators/operations/publish.js +9 -0
  216. package/lib/browser/decorators/operations/publish.js.map +1 -0
  217. package/lib/browser/decorators/operations/redirect.js +20 -0
  218. package/lib/browser/decorators/operations/redirect.js.map +1 -0
  219. package/lib/browser/decorators/operations/returns.js +180 -0
  220. package/lib/browser/decorators/operations/returns.js.map +1 -0
  221. package/lib/browser/decorators/operations/route.js +37 -0
  222. package/lib/browser/decorators/operations/route.js.map +1 -0
  223. package/lib/browser/decorators/operations/security.js +20 -0
  224. package/lib/browser/decorators/operations/security.js.map +1 -0
  225. package/lib/browser/decorators/operations/status.js +8 -0
  226. package/lib/browser/decorators/operations/status.js.map +1 -0
  227. package/lib/browser/decorators/operations/subscribe.js +9 -0
  228. package/lib/browser/decorators/operations/subscribe.js.map +1 -0
  229. package/lib/browser/decorators/operations/summary.js +13 -0
  230. package/lib/browser/decorators/operations/summary.js.map +1 -0
  231. package/lib/browser/decorators/operations/tags.js +25 -0
  232. package/lib/browser/decorators/operations/tags.js.map +1 -0
  233. package/lib/browser/decorators/operations/view.js +8 -0
  234. package/lib/browser/decorators/operations/view.js.map +1 -0
  235. package/lib/browser/domain/DecoratorContext.js +62 -0
  236. package/lib/browser/domain/DecoratorContext.js.map +1 -0
  237. package/lib/browser/domain/JsonAliasMap.js +7 -0
  238. package/lib/browser/domain/JsonAliasMap.js.map +1 -0
  239. package/lib/browser/domain/JsonClassStore.js +32 -0
  240. package/lib/browser/domain/JsonClassStore.js.map +1 -0
  241. package/lib/browser/domain/JsonDiscriminator.js +41 -0
  242. package/lib/browser/domain/JsonDiscriminator.js.map +1 -0
  243. package/lib/browser/domain/JsonEntityStore.js +131 -0
  244. package/lib/browser/domain/JsonEntityStore.js.map +1 -0
  245. package/lib/browser/domain/JsonFormatTypes.js +5 -0
  246. package/lib/browser/domain/JsonFormatTypes.js.map +1 -0
  247. package/lib/browser/domain/JsonLazyRef.js +20 -0
  248. package/lib/browser/domain/JsonLazyRef.js.map +1 -0
  249. package/lib/browser/domain/JsonMap.js +19 -0
  250. package/lib/browser/domain/JsonMap.js.map +1 -0
  251. package/lib/browser/domain/JsonMedia.js +16 -0
  252. package/lib/browser/domain/JsonMedia.js.map +1 -0
  253. package/lib/browser/domain/JsonMethodStore.js +121 -0
  254. package/lib/browser/domain/JsonMethodStore.js.map +1 -0
  255. package/lib/browser/domain/JsonOperation.js +129 -0
  256. package/lib/browser/domain/JsonOperation.js.map +1 -0
  257. package/lib/browser/domain/JsonOperationPathsMap.js +13 -0
  258. package/lib/browser/domain/JsonOperationPathsMap.js.map +1 -0
  259. package/lib/browser/domain/JsonOperationRoute.js +54 -0
  260. package/lib/browser/domain/JsonOperationRoute.js.map +1 -0
  261. package/lib/browser/domain/JsonParameter.js +41 -0
  262. package/lib/browser/domain/JsonParameter.js.map +1 -0
  263. package/lib/browser/domain/JsonParameterStore.js +69 -0
  264. package/lib/browser/domain/JsonParameterStore.js.map +1 -0
  265. package/lib/browser/domain/JsonParameterTypes.js +13 -0
  266. package/lib/browser/domain/JsonParameterTypes.js.map +1 -0
  267. package/lib/browser/domain/JsonPropertyStore.js +64 -0
  268. package/lib/browser/domain/JsonPropertyStore.js.map +1 -0
  269. package/lib/browser/domain/JsonRequestBody.js +24 -0
  270. package/lib/browser/domain/JsonRequestBody.js.map +1 -0
  271. package/lib/browser/domain/JsonResponse.js +36 -0
  272. package/lib/browser/domain/JsonResponse.js.map +1 -0
  273. package/lib/browser/domain/JsonSchema.js +625 -0
  274. package/lib/browser/domain/JsonSchema.js.map +1 -0
  275. package/lib/browser/domain/SpecTypes.js +5 -0
  276. package/lib/browser/domain/SpecTypes.js.map +1 -0
  277. package/lib/browser/domain/__fixtures__/inspectOperationsPaths.js +10 -0
  278. package/lib/browser/domain/__fixtures__/inspectOperationsPaths.js.map +1 -0
  279. package/lib/browser/fn/allOf.js +8 -0
  280. package/lib/browser/fn/allOf.js.map +1 -0
  281. package/lib/browser/fn/any.js +8 -0
  282. package/lib/browser/fn/any.js.map +1 -0
  283. package/lib/browser/fn/anyOf.js +8 -0
  284. package/lib/browser/fn/anyOf.js.map +1 -0
  285. package/lib/browser/fn/boolean.js +8 -0
  286. package/lib/browser/fn/boolean.js.map +1 -0
  287. package/lib/browser/fn/collection.js +16 -0
  288. package/lib/browser/fn/collection.js.map +1 -0
  289. package/lib/browser/fn/date.js +17 -0
  290. package/lib/browser/fn/date.js.map +1 -0
  291. package/lib/browser/fn/email.js +9 -0
  292. package/lib/browser/fn/email.js.map +1 -0
  293. package/lib/browser/fn/enums.js +10 -0
  294. package/lib/browser/fn/enums.js.map +1 -0
  295. package/lib/browser/fn/from.js +18 -0
  296. package/lib/browser/fn/from.js.map +1 -0
  297. package/lib/browser/fn/integer.js +8 -0
  298. package/lib/browser/fn/integer.js.map +1 -0
  299. package/lib/browser/fn/lazyRef.js +14 -0
  300. package/lib/browser/fn/lazyRef.js.map +1 -0
  301. package/lib/browser/fn/number.js +8 -0
  302. package/lib/browser/fn/number.js.map +1 -0
  303. package/lib/browser/fn/object.js +8 -0
  304. package/lib/browser/fn/object.js.map +1 -0
  305. package/lib/browser/fn/oneOf.js +8 -0
  306. package/lib/browser/fn/oneOf.js.map +1 -0
  307. package/lib/browser/fn/string.js +8 -0
  308. package/lib/browser/fn/string.js.map +1 -0
  309. package/lib/browser/fn/uri.js +9 -0
  310. package/lib/browser/fn/uri.js.map +1 -0
  311. package/lib/browser/fn/url.js +9 -0
  312. package/lib/browser/fn/url.js.map +1 -0
  313. package/lib/browser/hooks/alterIgnore.js +12 -0
  314. package/lib/browser/hooks/alterIgnore.js.map +1 -0
  315. package/lib/browser/hooks/alterOneOf.js +30 -0
  316. package/lib/browser/hooks/alterOneOf.js.map +1 -0
  317. package/lib/browser/hooks/alterRequiredGroups.js +8 -0
  318. package/lib/browser/hooks/alterRequiredGroups.js.map +1 -0
  319. package/lib/browser/index.js +450 -0
  320. package/lib/browser/index.js.map +1 -0
  321. package/lib/browser/registries/JsonSchemaMapperContainer.js +27 -0
  322. package/lib/browser/registries/JsonSchemaMapperContainer.js.map +1 -0
  323. package/lib/browser/registries/enumRegistries.js +5 -0
  324. package/lib/browser/registries/enumRegistries.js.map +1 -0
  325. package/lib/browser/utils/buildPath.js +7 -0
  326. package/lib/browser/utils/buildPath.js.map +1 -0
  327. package/lib/browser/utils/concatParameters.js +7 -0
  328. package/lib/browser/utils/concatParameters.js.map +1 -0
  329. package/lib/browser/utils/concatPath.js +17 -0
  330. package/lib/browser/utils/concatPath.js.map +1 -0
  331. package/lib/browser/utils/defineStatusModel.js +12 -0
  332. package/lib/browser/utils/defineStatusModel.js.map +1 -0
  333. package/lib/browser/utils/generateSpec.js +24 -0
  334. package/lib/browser/utils/generateSpec.js.map +1 -0
  335. package/lib/browser/utils/generics.js +26 -0
  336. package/lib/browser/utils/generics.js.map +1 -0
  337. package/lib/browser/utils/getComputedType.js +8 -0
  338. package/lib/browser/utils/getComputedType.js.map +1 -0
  339. package/lib/browser/utils/getInheritedStores.js +10 -0
  340. package/lib/browser/utils/getInheritedStores.js.map +1 -0
  341. package/lib/browser/utils/getJsonEntityStore.js +17 -0
  342. package/lib/browser/utils/getJsonEntityStore.js.map +1 -0
  343. package/lib/browser/utils/getJsonPathParameters.js +51 -0
  344. package/lib/browser/utils/getJsonPathParameters.js.map +1 -0
  345. package/lib/browser/utils/getJsonSchema.js +72 -0
  346. package/lib/browser/utils/getJsonSchema.js.map +1 -0
  347. package/lib/browser/utils/getJsonType.js +10 -0
  348. package/lib/browser/utils/getJsonType.js.map +1 -0
  349. package/lib/browser/utils/getOperationsRoutes.js +30 -0
  350. package/lib/browser/utils/getOperationsRoutes.js.map +1 -0
  351. package/lib/browser/utils/getOperationsStores.js +24 -0
  352. package/lib/browser/utils/getOperationsStores.js.map +1 -0
  353. package/lib/browser/utils/getPropertiesStores.js +26 -0
  354. package/lib/browser/utils/getPropertiesStores.js.map +1 -0
  355. package/lib/browser/utils/getSpec.js +56 -0
  356. package/lib/browser/utils/getSpec.js.map +1 -0
  357. package/lib/browser/utils/getSpecType.js +12 -0
  358. package/lib/browser/utils/getSpecType.js.map +1 -0
  359. package/lib/browser/utils/isSuccessStatus.js +6 -0
  360. package/lib/browser/utils/isSuccessStatus.js.map +1 -0
  361. package/lib/browser/utils/mapHeaders.js +14 -0
  362. package/lib/browser/utils/mapHeaders.js.map +1 -0
  363. package/lib/browser/utils/mapOpenSpec.js +27 -0
  364. package/lib/browser/utils/mapOpenSpec.js.map +1 -0
  365. package/lib/browser/utils/mapOpenSpec2.js +40 -0
  366. package/lib/browser/utils/mapOpenSpec2.js.map +1 -0
  367. package/lib/browser/utils/mapOpenSpec3.js +19 -0
  368. package/lib/browser/utils/mapOpenSpec3.js.map +1 -0
  369. package/lib/browser/utils/mapOpenSpecInfo.js +16 -0
  370. package/lib/browser/utils/mapOpenSpecInfo.js.map +1 -0
  371. package/lib/browser/utils/mapOperationOptions.js +17 -0
  372. package/lib/browser/utils/mapOperationOptions.js.map +1 -0
  373. package/lib/browser/utils/matchGroups.js +27 -0
  374. package/lib/browser/utils/matchGroups.js.map +1 -0
  375. package/lib/browser/utils/mergeSpec.js +23 -0
  376. package/lib/browser/utils/mergeSpec.js.map +1 -0
  377. package/lib/browser/utils/operationIdFormatter.js +29 -0
  378. package/lib/browser/utils/operationIdFormatter.js.map +1 -0
  379. package/lib/browser/utils/ref.js +32 -0
  380. package/lib/browser/utils/ref.js.map +1 -0
  381. package/lib/browser/utils/removeHiddenOperation.js +7 -0
  382. package/lib/browser/utils/removeHiddenOperation.js.map +1 -0
  383. package/lib/browser/utils/serializeEnumValues.js +11 -0
  384. package/lib/browser/utils/serializeEnumValues.js.map +1 -0
  385. package/lib/browser/utils/somethingOf.js +7 -0
  386. package/lib/browser/utils/somethingOf.js.map +1 -0
  387. package/lib/browser/utils/toJsonMapCollection.js +8 -0
  388. package/lib/browser/utils/toJsonMapCollection.js.map +1 -0
  389. package/lib/browser/utils/toJsonRegex.js +7 -0
  390. package/lib/browser/utils/toJsonRegex.js.map +1 -0
  391. package/lib/browser/utils/transformToOS2.js +302 -0
  392. package/lib/browser/utils/transformToOS2.js.map +1 -0
  393. package/lib/browser/utils/withErrorMsg.js +31 -0
  394. package/lib/browser/utils/withErrorMsg.js.map +1 -0
  395. package/lib/esm/domain/JsonEntityStore.js +6 -0
  396. package/lib/esm/domain/JsonEntityStore.js.map +1 -1
  397. package/lib/types/domain/JsonEntityStore.d.ts +2 -0
  398. package/package.json +19 -16
  399. package/src/domain/JsonEntityStore.ts +8 -0
  400. package/vite.config.mts +45 -0
  401. package/lib/browser/schema.umd.min.js +0 -3
  402. package/lib/browser/schema.umd.min.js.LICENSE.txt +0 -6
  403. package/lib/browser/schema.umd.min.js.map +0 -1
  404. package/webpack.config.cjs +0 -8
@@ -0,0 +1,41 @@
1
+ import { execMapper as r } from "../registries/JsonSchemaMapperContainer.js";
2
+ import { JsonMap as s } from "./JsonMap.js";
3
+ import { formatParameterType as i } from "./JsonParameterTypes.js";
4
+ import { JsonSchema as n } from "./JsonSchema.js";
5
+ class c extends s {
6
+ constructor() {
7
+ super(...arguments), this.$kind = "operationInParameter", this.nestedGenerics = [], this.$schema = new n();
8
+ }
9
+ getName() {
10
+ const e = this.get("name");
11
+ return this.get("in") === "files" ? e.split(".")[0] : e;
12
+ }
13
+ name(e) {
14
+ return this.set("name", e), this;
15
+ }
16
+ examples(e) {
17
+ return super.set("examples", e), this;
18
+ }
19
+ description(e) {
20
+ return this.set("description", e), this;
21
+ }
22
+ in(e, t = "") {
23
+ return this.set("in", i(e)), this.expression = t, this;
24
+ }
25
+ required(e) {
26
+ return this.set("required", e), this;
27
+ }
28
+ schema(e) {
29
+ return e ? (this.$schema = e, this) : this.$schema;
30
+ }
31
+ itemSchema(e) {
32
+ return this.$schema.isCollection ? (e && this.$schema.itemSchema(e), this.$schema.itemSchema()) : (e && this.schema(e), this.schema());
33
+ }
34
+ toJSON(e) {
35
+ return r("operationInParameter", [this], e);
36
+ }
37
+ }
38
+ export {
39
+ c as JsonParameter
40
+ };
41
+ //# sourceMappingURL=JsonParameter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonParameter.js","sources":["../../../src/domain/JsonParameter.ts"],"sourcesContent":["import {Type} from \"@tsed/core\";\nimport {OpenSpecHash, OpenSpecRef, OS3Example, OS3Parameter} from \"@tsed/openspec\";\n\nimport {JsonSchemaOptions} from \"../interfaces/JsonSchemaOptions.js\";\nimport {execMapper} from \"../registries/JsonSchemaMapperContainer.js\";\nimport {NestedGenerics} from \"../utils/generics.js\";\nimport {JsonMap} from \"./JsonMap.js\";\nimport {formatParameterType} from \"./JsonParameterTypes.js\";\nimport {JsonSchema} from \"./JsonSchema.js\";\n\nexport class JsonParameter extends JsonMap<OS3Parameter<JsonSchema>> implements NestedGenerics {\n $kind = \"operationInParameter\";\n\n nestedGenerics: Type<any>[][] = [];\n groups: string[];\n groupsName: string;\n $schema: JsonSchema = new JsonSchema();\n expression: string;\n\n getName() {\n const name = this.get(\"name\");\n\n if (this.get(\"in\") === \"files\") {\n return name.split(\".\")[0];\n }\n\n return name;\n }\n\n name(name: string): this {\n this.set(\"name\", name);\n\n return this;\n }\n\n examples(examples: OpenSpecHash<OS3Example | OpenSpecRef>) {\n super.set(\"examples\", examples);\n\n return this;\n }\n\n description(description: string): this {\n this.set(\"description\", description);\n\n return this;\n }\n\n in(inType: string, expression: string | any = \"\"): this {\n this.set(\"in\", formatParameterType(inType));\n this.expression = expression;\n\n return this;\n }\n\n required(required: boolean): this {\n this.set(\"required\", required);\n\n return this;\n }\n\n public schema(): JsonSchema;\n public schema(schema: JsonSchema): this;\n public schema(schema?: JsonSchema): JsonSchema | this {\n if (schema) {\n this.$schema = schema;\n return this;\n }\n\n return this.$schema;\n }\n\n itemSchema(schema?: JsonSchema) {\n if (this.$schema.isCollection) {\n schema && this.$schema.itemSchema(schema);\n\n return this.$schema.itemSchema();\n }\n\n schema && this.schema(schema);\n // non-collection: delegate to main schema would\n return this.schema();\n }\n\n toJSON(options?: JsonSchemaOptions) {\n return execMapper(\"operationInParameter\", [this], options);\n }\n}\n"],"names":["JsonParameter","JsonMap","JsonSchema","name","examples","description","inType","expression","formatParameterType","required","schema","options","execMapper"],"mappings":";;;;AAUO,MAAMA,UAAsBC,EAA4D;AAAA,EAAxF,cAAA;AAAA,UAAA,GAAA,SAAA,GACG,KAAA,QAAA,wBAER,KAAA,iBAAgC,CAAC,GAGjC,KAAA,UAAsB,IAAIC,EAAW;AAAA,EAAA;AAAA,EAGrC,UAAU;AACF,UAAAC,IAAO,KAAK,IAAI,MAAM;AAE5B,WAAI,KAAK,IAAI,IAAI,MAAM,UACdA,EAAK,MAAM,GAAG,EAAE,CAAC,IAGnBA;AAAA,EAAA;AAAA,EAGT,KAAKA,GAAoB;AAClB,gBAAA,IAAI,QAAQA,CAAI,GAEd;AAAA,EAAA;AAAA,EAGT,SAASC,GAAkD;AACnD,iBAAA,IAAI,YAAYA,CAAQ,GAEvB;AAAA,EAAA;AAAA,EAGT,YAAYC,GAA2B;AAChC,gBAAA,IAAI,eAAeA,CAAW,GAE5B;AAAA,EAAA;AAAA,EAGT,GAAGC,GAAgBC,IAA2B,IAAU;AACtD,gBAAK,IAAI,MAAMC,EAAoBF,CAAM,CAAC,GAC1C,KAAK,aAAaC,GAEX;AAAA,EAAA;AAAA,EAGT,SAASE,GAAyB;AAC3B,gBAAA,IAAI,YAAYA,CAAQ,GAEtB;AAAA,EAAA;AAAA,EAKF,OAAOC,GAAwC;AACpD,WAAIA,KACF,KAAK,UAAUA,GACR,QAGF,KAAK;AAAA,EAAA;AAAA,EAGd,WAAWA,GAAqB;AAC1B,WAAA,KAAK,QAAQ,gBACLA,KAAA,KAAK,QAAQ,WAAWA,CAAM,GAEjC,KAAK,QAAQ,WAAW,MAGvBA,KAAA,KAAK,OAAOA,CAAM,GAErB,KAAK,OAAO;AAAA,EAAA;AAAA,EAGrB,OAAOC,GAA6B;AAClC,WAAOC,EAAW,wBAAwB,CAAC,IAAI,GAAGD,CAAO;AAAA,EAAA;AAE7D;"}
@@ -0,0 +1,69 @@
1
+ import { DecoratorTypes as m, ancestorsOf as d, isMethodDescriptor as c, prototypeOf as o, Metadata as l, isClass as u } from "@tsed/core";
2
+ import { JsonEntityComponent as y } from "../decorators/config/jsonEntityComponent.js";
3
+ import { JsonEntityStore as i } from "./JsonEntityStore.js";
4
+ import { JsonParameter as f } from "./JsonParameter.js";
5
+ var P = Object.getOwnPropertyDescriptor, g = (e, r, s, a) => {
6
+ for (var t = a > 1 ? void 0 : a ? P(r, s) : r, h = e.length - 1, p; h >= 0; h--)
7
+ (p = e[h]) && (t = p(t) || t);
8
+ return t;
9
+ };
10
+ let n = class extends i {
11
+ constructor(e) {
12
+ super(e), this.parameter = new f(), this.parent = i.fromMethod(this.target, this.propertyKey), this.pipes = e.pipes || [], this.paramType = e.paramType || this.paramType, this.expression = e.expression || this.expression, this.dataPath = e.dataPath || this.dataPath;
13
+ }
14
+ get nestedGenerics() {
15
+ return this.parameter.nestedGenerics;
16
+ }
17
+ set nestedGenerics(e) {
18
+ this.parameter.nestedGenerics = e;
19
+ }
20
+ /**
21
+ * Return the required state.
22
+ * @returns {boolean}
23
+ */
24
+ get required() {
25
+ return !!this.parameter.get("required");
26
+ }
27
+ set required(e) {
28
+ this.parameter.required(e);
29
+ }
30
+ get allowedRequiredValues() {
31
+ return this.schema.$allow;
32
+ }
33
+ get schema() {
34
+ return this.parameter.$schema;
35
+ }
36
+ static getParams(e, r) {
37
+ const s = [], a = d(e).reverse().find((t) => c(t, r) && i.fromMethod(t, r).children.size);
38
+ return a ? (i.fromMethod(a, r).children.forEach((t, h) => {
39
+ s[+h] = t;
40
+ }), s) : [];
41
+ }
42
+ static get(e, r, s) {
43
+ return i.from(o(e), r, s);
44
+ }
45
+ /**
46
+ * Check precondition between value, required and allowedRequiredValues to know if the entity is required.
47
+ * @param value
48
+ * @returns {boolean}
49
+ */
50
+ isRequired(e) {
51
+ return this.required && [void 0, null, ""].includes(e) && !this.allowedRequiredValues.includes(e);
52
+ }
53
+ build() {
54
+ if (!this._type) {
55
+ const e = l.getParamTypes(o(this.target), this.propertyKey)[this.index];
56
+ this.buildType(e);
57
+ }
58
+ this._type = this._type || Object, this.parent.children.set(this.index, this), this.parent.operation.addParameter(this.index, this.parameter), this.collectionType && this.parameter.schema().type(this.collectionType), u(this._type) ? this.parameter.itemSchema(i.from(this._type).schema) : this.parameter.itemSchema().type(this._type);
59
+ }
60
+ };
61
+ n = g([
62
+ y(m.PARAM)
63
+ ], n);
64
+ const M = n;
65
+ export {
66
+ n as JsonParameterStore,
67
+ M as ParamMetadata
68
+ };
69
+ //# sourceMappingURL=JsonParameterStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonParameterStore.js","sources":["../../../src/domain/JsonParameterStore.ts"],"sourcesContent":["import {ancestorsOf, DecoratorTypes, isClass, isMethodDescriptor, Metadata, prototypeOf, Type} from \"@tsed/core\";\n\nimport {JsonEntityComponent} from \"../decorators/config/jsonEntityComponent.js\";\nimport {JsonEntityStore, JsonEntityStoreOptions} from \"./JsonEntityStore.js\";\nimport type {JsonMethodStore} from \"./JsonMethodStore.js\";\nimport {JsonParameter} from \"./JsonParameter.js\";\n\nexport interface JsonParameterStoreOptions extends JsonEntityStoreOptions {\n dataPath?: string;\n paramType?: string;\n expression?: string;\n}\n\nexport interface PipeMethods<T = any, R = any> {\n transform(value: T, metadata: JsonParameterStore): R;\n}\n\n@JsonEntityComponent(DecoratorTypes.PARAM)\nexport class JsonParameterStore extends JsonEntityStore {\n public paramType: string;\n public expression: string;\n public dataPath: string;\n /**\n * Define pipes can be called by the framework to transform input parameter\n */\n public pipes: Type<PipeMethods>[];\n /**\n * Ref to JsonParameter when the decorated object is a parameter.\n */\n readonly parameter: JsonParameter = new JsonParameter();\n readonly parent: JsonMethodStore = JsonEntityStore.fromMethod(this.target, this.propertyKey);\n\n constructor(options: JsonParameterStoreOptions) {\n super(options);\n this.pipes = options.pipes || [];\n this.paramType = options.paramType || this.paramType;\n this.expression = options.expression || this.expression;\n this.dataPath = options.dataPath || this.dataPath;\n }\n\n get nestedGenerics(): Type<any>[][] {\n return this.parameter.nestedGenerics;\n }\n\n set nestedGenerics(nestedGenerics: Type<any>[][]) {\n this.parameter.nestedGenerics = nestedGenerics;\n }\n\n /**\n * Return the required state.\n * @returns {boolean}\n */\n get required(): boolean {\n return !!this.parameter.get(\"required\");\n }\n\n set required(value: boolean) {\n this.parameter.required(value);\n }\n\n get allowedRequiredValues() {\n return this.schema.$allow;\n }\n\n get schema() {\n return this.parameter.$schema;\n }\n\n static getParams<T extends JsonParameterStore = JsonParameterStore>(target: Type<any>, propertyKey: string | symbol): T[] {\n const params: T[] = [];\n\n const klass = ancestorsOf(target)\n .reverse()\n .find((target) => {\n return isMethodDescriptor(target, propertyKey) && JsonEntityStore.fromMethod(target, propertyKey).children.size;\n });\n\n if (klass) {\n JsonEntityStore.fromMethod(klass, propertyKey).children.forEach((param: T, index) => {\n params[+index] = param;\n });\n\n return params;\n }\n\n return [];\n }\n\n static get(target: Type<any>, propertyKey: string | symbol, index: number) {\n return JsonEntityStore.from<JsonParameterStore>(prototypeOf(target), propertyKey, index);\n }\n\n /**\n * Check precondition between value, required and allowedRequiredValues to know if the entity is required.\n * @param value\n * @returns {boolean}\n */\n isRequired(value: any): boolean {\n return this.required && [undefined, null, \"\"].includes(value) && !this.allowedRequiredValues.includes(value);\n }\n\n protected build() {\n if (!this._type) {\n const type: any = Metadata.getParamTypes(prototypeOf(this.target), this.propertyKey)[this.index!];\n\n this.buildType(type);\n }\n\n this._type = this._type || Object;\n this.parent.children.set(this.index!, this);\n this.parent.operation.addParameter(this.index as number, this.parameter);\n\n if (this.collectionType) {\n this.parameter.schema().type(this.collectionType);\n }\n\n if (isClass(this._type)) {\n this.parameter.itemSchema(JsonEntityStore.from(this._type).schema);\n } else {\n this.parameter.itemSchema().type(this._type);\n }\n }\n}\n\n/**\n * @alias JsonParameterStore\n */\nexport type ParamMetadata = JsonParameterStore;\nexport const ParamMetadata = JsonParameterStore;\n"],"names":["JsonParameterStore","JsonEntityStore","options","JsonParameter","nestedGenerics","value","target","propertyKey","params","klass","ancestorsOf","isMethodDescriptor","param","index","prototypeOf","type","Metadata","isClass","__decorateClass","JsonEntityComponent","DecoratorTypes","ParamMetadata"],"mappings":";;;;;;;;;AAkBa,IAAAA,IAAN,cAAiCC,EAAgB;AAAA,EActD,YAAYC,GAAoC;AAC9C,UAAMA,CAAO,GAJN,KAAA,YAA2B,IAAIC,EAAc,GACtD,KAAS,SAA0BF,EAAgB,WAAW,KAAK,QAAQ,KAAK,WAAW,GAIpF,KAAA,QAAQC,EAAQ,SAAS,CAAC,GAC1B,KAAA,YAAYA,EAAQ,aAAa,KAAK,WACtC,KAAA,aAAaA,EAAQ,cAAc,KAAK,YACxC,KAAA,WAAWA,EAAQ,YAAY,KAAK;AAAA,EAAA;AAAA,EAG3C,IAAI,iBAAgC;AAClC,WAAO,KAAK,UAAU;AAAA,EAAA;AAAA,EAGxB,IAAI,eAAeE,GAA+B;AAChD,SAAK,UAAU,iBAAiBA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlC,IAAI,WAAoB;AACtB,WAAO,CAAC,CAAC,KAAK,UAAU,IAAI,UAAU;AAAA,EAAA;AAAA,EAGxC,IAAI,SAASC,GAAgB;AACtB,SAAA,UAAU,SAASA,CAAK;AAAA,EAAA;AAAA,EAG/B,IAAI,wBAAwB;AAC1B,WAAO,KAAK,OAAO;AAAA,EAAA;AAAA,EAGrB,IAAI,SAAS;AACX,WAAO,KAAK,UAAU;AAAA,EAAA;AAAA,EAGxB,OAAO,UAA6DC,GAAmBC,GAAmC;AACxH,UAAMC,IAAc,CAAC,GAEfC,IAAQC,EAAYJ,CAAM,EAC7B,UACA,KAAK,CAACA,MACEK,EAAmBL,GAAQC,CAAW,KAAKN,EAAgB,WAAWK,GAAQC,CAAW,EAAE,SAAS,IAC5G;AAEH,WAAIE,KACcR,EAAA,WAAWQ,GAAOF,CAAW,EAAE,SAAS,QAAQ,CAACK,GAAUC,MAAU;AAC5E,MAAAL,EAAA,CAACK,CAAK,IAAID;AAAA,IAAA,CAClB,GAEMJ,KAGF,CAAC;AAAA,EAAA;AAAA,EAGV,OAAO,IAAIF,GAAmBC,GAA8BM,GAAe;AACzE,WAAOZ,EAAgB,KAAyBa,EAAYR,CAAM,GAAGC,GAAaM,CAAK;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQzF,WAAWR,GAAqB;AAC9B,WAAO,KAAK,YAAY,CAAC,QAAW,MAAM,EAAE,EAAE,SAASA,CAAK,KAAK,CAAC,KAAK,sBAAsB,SAASA,CAAK;AAAA,EAAA;AAAA,EAGnG,QAAQ;AACZ,QAAA,CAAC,KAAK,OAAO;AACT,YAAAU,IAAYC,EAAS,cAAcF,EAAY,KAAK,MAAM,GAAG,KAAK,WAAW,EAAE,KAAK,KAAM;AAEhG,WAAK,UAAUC,CAAI;AAAA,IAAA;AAGhB,SAAA,QAAQ,KAAK,SAAS,QAC3B,KAAK,OAAO,SAAS,IAAI,KAAK,OAAQ,IAAI,GAC1C,KAAK,OAAO,UAAU,aAAa,KAAK,OAAiB,KAAK,SAAS,GAEnE,KAAK,kBACP,KAAK,UAAU,OAAA,EAAS,KAAK,KAAK,cAAc,GAG9CE,EAAQ,KAAK,KAAK,IACpB,KAAK,UAAU,WAAWhB,EAAgB,KAAK,KAAK,KAAK,EAAE,MAAM,IAEjE,KAAK,UAAU,WAAA,EAAa,KAAK,KAAK,KAAK;AAAA,EAC7C;AAEJ;AAxGaD,IAANkB,EAAA;AAAA,EADNC,EAAoBC,EAAe,KAAK;AAAA,GAC5BpB,CAAA;AA8GN,MAAMqB,IAAgBrB;"}
@@ -0,0 +1,13 @@
1
+ var r = /* @__PURE__ */ ((e) => (e.BODY = "body", e.PATH = "path", e.QUERY = "query", e.HEADER = "header", e.COOKIES = "cookie", e.FILES = "files", e))(r || {});
2
+ function c(e) {
3
+ return String(e).toLowerCase().replace("raw_", "").replace("cookies", "cookie");
4
+ }
5
+ function i(e) {
6
+ return Object.values(r).includes(c(e));
7
+ }
8
+ export {
9
+ r as JsonParameterTypes,
10
+ c as formatParameterType,
11
+ i as isParameterType
12
+ };
13
+ //# sourceMappingURL=JsonParameterTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonParameterTypes.js","sources":["../../../src/domain/JsonParameterTypes.ts"],"sourcesContent":["export enum JsonParameterTypes {\n BODY = \"body\",\n PATH = \"path\",\n QUERY = \"query\",\n HEADER = \"header\",\n COOKIES = \"cookie\",\n FILES = \"files\"\n}\n/**\n * @ignore\n */\nexport function formatParameterType(type: any): any {\n return String(type).toLowerCase().replace(\"raw_\", \"\").replace(\"cookies\", \"cookie\");\n}\n/**\n * @ignore\n */\nexport function isParameterType(type: string) {\n return Object.values(JsonParameterTypes).includes(formatParameterType(type) as any);\n}\n"],"names":["JsonParameterTypes","formatParameterType","type","isParameterType"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,SAAS,UACTA,EAAA,UAAU,UACVA,EAAA,QAAQ,SANEA,IAAAA,KAAA,CAAA,CAAA;AAWL,SAASC,EAAoBC,GAAgB;AAC3C,SAAA,OAAOA,CAAI,EAAE,cAAc,QAAQ,QAAQ,EAAE,EAAE,QAAQ,WAAW,QAAQ;AACnF;AAIO,SAASC,EAAgBD,GAAc;AAC5C,SAAO,OAAO,OAAOF,CAAkB,EAAE,SAASC,EAAoBC,CAAI,CAAQ;AACpF;"}
@@ -0,0 +1,64 @@
1
+ import { DecoratorTypes as m, Metadata as y, prototypeOf as h } from "@tsed/core";
2
+ import { JsonEntityComponent as c } from "../decorators/config/jsonEntityComponent.js";
3
+ import { JsonEntityStore as s } from "./JsonEntityStore.js";
4
+ import { JsonSchema as u } from "./JsonSchema.js";
5
+ var d = Object.getOwnPropertyDescriptor, l = (e, t, n, p) => {
6
+ for (var r = p > 1 ? void 0 : p ? d(t, n) : t, i = e.length - 1, a; i >= 0; i--)
7
+ (a = e[i]) && (r = a(r) || r);
8
+ return r;
9
+ };
10
+ let o = class extends s {
11
+ constructor() {
12
+ super(...arguments), this.parent = s.from(this.target);
13
+ }
14
+ /**
15
+ * Return the required state.
16
+ * @returns {boolean}
17
+ */
18
+ get required() {
19
+ return this.parent.schema.isRequired(this.propertyKey);
20
+ }
21
+ /**
22
+ * Change the state of the required data.
23
+ * @param value
24
+ */
25
+ set required(e) {
26
+ e ? this.parent.schema.addRequired(this.propertyKey) : this.parent.schema.removeRequired(this.propertyKey);
27
+ }
28
+ get allowedRequiredValues() {
29
+ return this.schema.$allow;
30
+ }
31
+ discriminatorKey() {
32
+ return this.parent.schema.discriminatorKey(String(this.propertyKey)), this.itemSchema.isDiscriminatorKey = !0, this;
33
+ }
34
+ isDiscriminatorKey() {
35
+ return this.itemSchema.isDiscriminatorKey;
36
+ }
37
+ /**
38
+ * Check precondition between value, required and allowedRequiredValues to know if the entity is required.
39
+ * @param value
40
+ * @returns {boolean}
41
+ */
42
+ isRequired(e) {
43
+ return this.required && [void 0, null, ""].includes(e) && !this.allowedRequiredValues.includes(e);
44
+ }
45
+ build() {
46
+ this._type || this.buildType(y.getType(h(this.target), this.propertyKey)), this._type = this._type || Object;
47
+ let t = this.parent.schema.get("properties")[this.propertyName];
48
+ t || (this.parent.children.set(this.propertyName, this), t = u.from({
49
+ type: this.collectionType || this.type
50
+ }), this.collectionType && t.itemSchema(this.type)), this.parent.schema.addProperty(this.propertyName, t), this._schema = t;
51
+ }
52
+ static get(e, t) {
53
+ return s.from(h(e), t);
54
+ }
55
+ };
56
+ o = l([
57
+ c(m.PROP)
58
+ ], o);
59
+ const _ = o;
60
+ export {
61
+ o as JsonPropertyStore,
62
+ _ as PropertyMetadata
63
+ };
64
+ //# sourceMappingURL=JsonPropertyStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonPropertyStore.js","sources":["../../../src/domain/JsonPropertyStore.ts"],"sourcesContent":["import {DecoratorTypes, Metadata, prototypeOf, Type} from \"@tsed/core\";\n\nimport {JsonEntityComponent} from \"../decorators/config/jsonEntityComponent.js\";\nimport type {JsonClassStore} from \"./JsonClassStore.js\";\nimport {JsonEntityStore} from \"./JsonEntityStore.js\";\nimport {JsonSchema} from \"./JsonSchema.js\";\n\n@JsonEntityComponent(DecoratorTypes.PROP)\nexport class JsonPropertyStore extends JsonEntityStore {\n readonly parent: JsonClassStore = JsonEntityStore.from(this.target);\n\n /**\n * Return the required state.\n * @returns {boolean}\n */\n get required(): boolean {\n return this.parent.schema.isRequired(this.propertyKey as string);\n }\n\n /**\n * Change the state of the required data.\n * @param value\n */\n set required(value: boolean) {\n if (value) {\n this.parent.schema.addRequired(this.propertyKey as string);\n } else {\n this.parent.schema.removeRequired(this.propertyKey as string);\n }\n }\n\n get allowedRequiredValues() {\n return this.schema.$allow;\n }\n\n discriminatorKey() {\n this.parent.schema.discriminatorKey(String(this.propertyKey));\n this.itemSchema.isDiscriminatorKey = true;\n return this;\n }\n\n isDiscriminatorKey() {\n return this.itemSchema.isDiscriminatorKey;\n }\n\n /**\n * Check precondition between value, required and allowedRequiredValues to know if the entity is required.\n * @param value\n * @returns {boolean}\n */\n isRequired(value: any): boolean {\n return this.required && [undefined, null, \"\"].includes(value) && !this.allowedRequiredValues.includes(value);\n }\n\n protected build() {\n if (!this._type) {\n this.buildType(Metadata.getType(prototypeOf(this.target), this.propertyKey));\n }\n\n this._type = this._type || Object;\n\n const properties = this.parent.schema.get(\"properties\");\n\n let schema: JsonSchema = properties[this.propertyName];\n\n if (!schema) {\n this.parent.children.set(this.propertyName, this);\n\n schema = JsonSchema.from({\n type: this.collectionType || this.type\n });\n\n if (this.collectionType) {\n schema.itemSchema(this.type);\n }\n }\n\n this.parent.schema.addProperty(this.propertyName, schema);\n\n this._schema = schema;\n }\n\n static get(target: Type<any>, propertyKey: string | symbol) {\n return JsonEntityStore.from<JsonPropertyStore>(prototypeOf(target), propertyKey);\n }\n}\n\n/**\n * @alias JsonPropertyStore\n */\nexport type PropertyMetadata = JsonPropertyStore;\nexport const PropertyMetadata = JsonPropertyStore;\n"],"names":["JsonPropertyStore","JsonEntityStore","value","Metadata","prototypeOf","schema","JsonSchema","target","propertyKey","__decorateClass","JsonEntityComponent","DecoratorTypes","PropertyMetadata"],"mappings":";;;;;;;;;AAQa,IAAAA,IAAN,cAAgCC,EAAgB;AAAA,EAAhD,cAAA;AAAA,UAAA,GAAA,SAAA,GACL,KAAS,SAAyBA,EAAgB,KAAK,KAAK,MAAM;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlE,IAAI,WAAoB;AACtB,WAAO,KAAK,OAAO,OAAO,WAAW,KAAK,WAAqB;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOjE,IAAI,SAASC,GAAgB;AAC3B,IAAIA,IACF,KAAK,OAAO,OAAO,YAAY,KAAK,WAAqB,IAEzD,KAAK,OAAO,OAAO,eAAe,KAAK,WAAqB;AAAA,EAC9D;AAAA,EAGF,IAAI,wBAAwB;AAC1B,WAAO,KAAK,OAAO;AAAA,EAAA;AAAA,EAGrB,mBAAmB;AACjB,gBAAK,OAAO,OAAO,iBAAiB,OAAO,KAAK,WAAW,CAAC,GAC5D,KAAK,WAAW,qBAAqB,IAC9B;AAAA,EAAA;AAAA,EAGT,qBAAqB;AACnB,WAAO,KAAK,WAAW;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQzB,WAAWA,GAAqB;AAC9B,WAAO,KAAK,YAAY,CAAC,QAAW,MAAM,EAAE,EAAE,SAASA,CAAK,KAAK,CAAC,KAAK,sBAAsB,SAASA,CAAK;AAAA,EAAA;AAAA,EAGnG,QAAQ;AACZ,IAAC,KAAK,SACH,KAAA,UAAUC,EAAS,QAAQC,EAAY,KAAK,MAAM,GAAG,KAAK,WAAW,CAAC,GAGxE,KAAA,QAAQ,KAAK,SAAS;AAIvB,QAAAC,IAFe,KAAK,OAAO,OAAO,IAAI,YAAY,EAElB,KAAK,YAAY;AAErD,IAAKA,MACH,KAAK,OAAO,SAAS,IAAI,KAAK,cAAc,IAAI,GAEhDA,IAASC,EAAW,KAAK;AAAA,MACvB,MAAM,KAAK,kBAAkB,KAAK;AAAA,IAAA,CACnC,GAEG,KAAK,kBACAD,EAAA,WAAW,KAAK,IAAI,IAI/B,KAAK,OAAO,OAAO,YAAY,KAAK,cAAcA,CAAM,GAExD,KAAK,UAAUA;AAAA,EAAA;AAAA,EAGjB,OAAO,IAAIE,GAAmBC,GAA8B;AAC1D,WAAOP,EAAgB,KAAwBG,EAAYG,CAAM,GAAGC,CAAW;AAAA,EAAA;AAEnF;AA7EaR,IAANS,EAAA;AAAA,EADNC,EAAoBC,EAAe,IAAI;AAAA,GAC3BX,CAAA;AAmFN,MAAMY,IAAmBZ;"}
@@ -0,0 +1,24 @@
1
+ import { toJsonMapCollection as i } from "../utils/toJsonMapCollection.js";
2
+ import { JsonMap as s } from "./JsonMap.js";
3
+ class u extends s {
4
+ constructor(t = {}) {
5
+ super(t), this.$kind = "operationRequestBody", this.content(t.content || {});
6
+ }
7
+ description(t) {
8
+ return this.set("description", t), this;
9
+ }
10
+ content(t) {
11
+ return this.set("content", i(t)), this;
12
+ }
13
+ addContent(t, o, n) {
14
+ const r = this.get("content"), e = new s();
15
+ return e.set("schema", o), n && e.set("examples", n), r.set(t, e), this;
16
+ }
17
+ required(t) {
18
+ return this.set("required", t), this;
19
+ }
20
+ }
21
+ export {
22
+ u as JsonRequestBody
23
+ };
24
+ //# sourceMappingURL=JsonRequestBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonRequestBody.js","sources":["../../../src/domain/JsonRequestBody.ts"],"sourcesContent":["import {OpenSpecHash, OS3MediaType, OS3RequestBody} from \"@tsed/openspec\";\n\nimport {toJsonMapCollection} from \"../utils/toJsonMapCollection.js\";\nimport {JsonMap} from \"./JsonMap.js\";\nimport {JsonSchema} from \"./JsonSchema.js\";\n\nexport type JsonRequestBodyOptions = OS3RequestBody<JsonSchema>;\n\nexport class JsonRequestBody extends JsonMap<JsonRequestBodyOptions> {\n $kind = \"operationRequestBody\";\n\n constructor(obj: Partial<JsonRequestBodyOptions> = {}) {\n super(obj);\n\n this.content(obj.content || ({} as any));\n }\n\n description(description: string): this {\n this.set(\"description\", description);\n\n return this;\n }\n\n content(content: OpenSpecHash<OS3MediaType<JsonSchema>>) {\n this.set(\"content\", toJsonMapCollection(content));\n\n return this;\n }\n\n addContent(mediaType: string, schema: JsonSchema, examples?: any) {\n const content = this.get(\"content\");\n const mediaContent = new JsonMap();\n\n mediaContent.set(\"schema\", schema);\n examples && mediaContent.set(\"examples\", examples);\n\n content.set(mediaType, mediaContent);\n\n return this;\n }\n\n required(required: boolean): this {\n this.set(\"required\", required);\n\n return this;\n }\n}\n"],"names":["JsonRequestBody","JsonMap","obj","description","content","toJsonMapCollection","mediaType","schema","examples","mediaContent","required"],"mappings":";;AAQO,MAAMA,UAAwBC,EAAgC;AAAA,EAGnE,YAAYC,IAAuC,IAAI;AACrD,UAAMA,CAAG,GAHH,KAAA,QAAA,wBAKN,KAAK,QAAQA,EAAI,WAAY,CAAA,CAAU;AAAA,EAAA;AAAA,EAGzC,YAAYC,GAA2B;AAChC,gBAAA,IAAI,eAAeA,CAAW,GAE5B;AAAA,EAAA;AAAA,EAGT,QAAQC,GAAiD;AACvD,gBAAK,IAAI,WAAWC,EAAoBD,CAAO,CAAC,GAEzC;AAAA,EAAA;AAAA,EAGT,WAAWE,GAAmBC,GAAoBC,GAAgB;AAC1D,UAAAJ,IAAU,KAAK,IAAI,SAAS,GAC5BK,IAAe,IAAIR,EAAQ;AAEpB,WAAAQ,EAAA,IAAI,UAAUF,CAAM,GACrBC,KAAAC,EAAa,IAAI,YAAYD,CAAQ,GAEzCJ,EAAA,IAAIE,GAAWG,CAAY,GAE5B;AAAA,EAAA;AAAA,EAGT,SAASC,GAAyB;AAC3B,gBAAA,IAAI,YAAYA,CAAQ,GAEtB;AAAA,EAAA;AAEX;"}
@@ -0,0 +1,36 @@
1
+ import { mapHeaders as o } from "../utils/mapHeaders.js";
2
+ import { toJsonMapCollection as r } from "../utils/toJsonMapCollection.js";
3
+ import { JsonMap as i } from "./JsonMap.js";
4
+ import { JsonMedia as s } from "./JsonMedia.js";
5
+ class u extends i {
6
+ constructor(t = {}) {
7
+ super(t), this.$kind = "operationResponse", this.content(t.content || {});
8
+ }
9
+ description(t) {
10
+ return this.set("description", t), this;
11
+ }
12
+ headers(t) {
13
+ return this.set("headers", o(t)), this;
14
+ }
15
+ content(t) {
16
+ return this.set("content", r(t, s)), this;
17
+ }
18
+ getContent() {
19
+ return this.get("content");
20
+ }
21
+ getMedia(t, e = !0) {
22
+ var n;
23
+ return e && this.addMedia(t), (n = this.getContent()) == null ? void 0 : n.get(t);
24
+ }
25
+ addMedia(t) {
26
+ const e = this.get("content");
27
+ return e.has(t) || e.set(t, new s()), this;
28
+ }
29
+ isBinary() {
30
+ return this.getContent().has("application/octet-stream");
31
+ }
32
+ }
33
+ export {
34
+ u as JsonResponse
35
+ };
36
+ //# sourceMappingURL=JsonResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonResponse.js","sources":["../../../src/domain/JsonResponse.ts"],"sourcesContent":["import {OS3MediaType, OS3Response} from \"@tsed/openspec\";\n\nimport {JsonHeader} from \"../interfaces/JsonOpenSpec.js\";\nimport {mapHeaders} from \"../utils/mapHeaders.js\";\nimport {toJsonMapCollection} from \"../utils/toJsonMapCollection.js\";\nimport {JsonMap} from \"./JsonMap.js\";\nimport {JsonMedia} from \"./JsonMedia.js\";\nimport {JsonSchema} from \"./JsonSchema.js\";\n\nexport type JsonResponseOptions = OS3Response<JsonSchema, string | JsonHeader>;\n\nexport class JsonResponse extends JsonMap<JsonResponseOptions> {\n $kind: string = \"operationResponse\";\n\n status: number;\n\n constructor(obj: Partial<JsonResponseOptions> = {}) {\n super(obj);\n\n this.content(obj.content || ({} as any));\n }\n\n description(description: string): this {\n this.set(\"description\", description);\n\n return this;\n }\n\n headers(headers: Record<string, string | JsonHeader>): this {\n this.set(\"headers\", mapHeaders(headers));\n\n return this;\n }\n\n content(content: Record<string, OS3MediaType<JsonSchema>>) {\n this.set(\"content\", toJsonMapCollection(content, JsonMedia));\n\n return this;\n }\n\n getContent(): JsonMap<JsonMedia> {\n return this.get(\"content\")!;\n }\n\n getMedia(mediaType: string, create = true): JsonMedia {\n create && this.addMedia(mediaType);\n\n return this.getContent()?.get(mediaType) as any;\n }\n\n addMedia(mediaType: string) {\n const content = this.get(\"content\");\n\n if (!content.has(mediaType)) {\n content.set(mediaType, new JsonMedia());\n }\n\n return this;\n }\n\n isBinary() {\n return this.getContent().has(\"application/octet-stream\");\n }\n}\n"],"names":["JsonResponse","JsonMap","obj","description","headers","mapHeaders","content","toJsonMapCollection","JsonMedia","mediaType","create","_a"],"mappings":";;;;AAWO,MAAMA,UAAqBC,EAA6B;AAAA,EAK7D,YAAYC,IAAoC,IAAI;AAClD,UAAMA,CAAG,GALK,KAAA,QAAA,qBAOd,KAAK,QAAQA,EAAI,WAAY,CAAA,CAAU;AAAA,EAAA;AAAA,EAGzC,YAAYC,GAA2B;AAChC,gBAAA,IAAI,eAAeA,CAAW,GAE5B;AAAA,EAAA;AAAA,EAGT,QAAQC,GAAoD;AAC1D,gBAAK,IAAI,WAAWC,EAAWD,CAAO,CAAC,GAEhC;AAAA,EAAA;AAAA,EAGT,QAAQE,GAAmD;AACzD,gBAAK,IAAI,WAAWC,EAAoBD,GAASE,CAAS,CAAC,GAEpD;AAAA,EAAA;AAAA,EAGT,aAAiC;AACxB,WAAA,KAAK,IAAI,SAAS;AAAA,EAAA;AAAA,EAG3B,SAASC,GAAmBC,IAAS,IAAiB;;AAC1C,WAAAA,KAAA,KAAK,SAASD,CAAS,IAE1BE,IAAA,KAAK,iBAAL,gBAAAA,EAAmB,IAAIF;AAAA,EAAS;AAAA,EAGzC,SAASA,GAAmB;AACpB,UAAAH,IAAU,KAAK,IAAI,SAAS;AAElC,WAAKA,EAAQ,IAAIG,CAAS,KACxBH,EAAQ,IAAIG,GAAW,IAAID,EAAA,CAAW,GAGjC;AAAA,EAAA;AAAA,EAGT,WAAW;AACT,WAAO,KAAK,aAAa,IAAI,0BAA0B;AAAA,EAAA;AAE3D;"}