@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,131 @@
1
+ import { nameOf as a, isArrayOrArrayClass as p, ancestorsOf as m, isPrimitiveOrPrimitiveClass as y, isDate as d, isObject as h, isClass as u, prototypeOf as c, Store as l, decoratorTypeOf as g, classOf as f, descriptorOf as S, isCollection as T, isPlainObject as O, isClassObject as b, isArrowFn as C } from "@tsed/core";
2
+ const j = /* @__PURE__ */ new Map();
3
+ class o {
4
+ constructor(t) {
5
+ this.isStore = !0;
6
+ const { target: e, propertyKey: i, descriptor: s, index: n, decoratorType: r } = t;
7
+ this.target = e, this.propertyKey = i, this.propertyName = String(i), this.descriptor = s, this.index = n, this.decoratorType = r, this.token = e, this.store = t.store, this.parent = this;
8
+ }
9
+ /**
10
+ * Return the class name of the entity.
11
+ * @returns {string}
12
+ */
13
+ get targetName() {
14
+ return a(this.token);
15
+ }
16
+ get isCollection() {
17
+ return !!this.collectionType;
18
+ }
19
+ get isArray() {
20
+ return p(this.collectionType);
21
+ }
22
+ get discriminatorAncestor() {
23
+ const e = m(this.target).find((i) => o.from(i).schema.isDiscriminator);
24
+ return e && o.from(e);
25
+ }
26
+ get isPrimitive() {
27
+ return y(this._type);
28
+ }
29
+ get isDate() {
30
+ return d(this.computedType);
31
+ }
32
+ get isObject() {
33
+ return h(this.computedType);
34
+ }
35
+ get isClass() {
36
+ return u(this.computedType);
37
+ }
38
+ /**
39
+ * Return the JsonSchema
40
+ */
41
+ get schema() {
42
+ return this._schema;
43
+ }
44
+ get nestedGenerics() {
45
+ return this.schema.nestedGenerics;
46
+ }
47
+ set nestedGenerics(t) {
48
+ this.schema.nestedGenerics = t;
49
+ }
50
+ get type() {
51
+ return this._type;
52
+ }
53
+ /**
54
+ * Get original type without transformation
55
+ * @param value
56
+ */
57
+ set type(t) {
58
+ this._type = t, this.build();
59
+ }
60
+ /**
61
+ * Return the itemSchema computed type. if the type is a function used for recursive model, the function will be called to
62
+ * get the right type.
63
+ */
64
+ get computedType() {
65
+ return this.itemSchema.getComputedType();
66
+ }
67
+ get itemSchema() {
68
+ return this.isCollection ? this.schema.itemSchema() : this.schema;
69
+ }
70
+ get parentSchema() {
71
+ return this.parent.schema;
72
+ }
73
+ get isDiscriminatorChild() {
74
+ var t;
75
+ return this.schema.isDiscriminator && ((t = this.discriminatorAncestor) == null ? void 0 : t.schema.discriminator().base) !== this.target;
76
+ }
77
+ static from(...t) {
78
+ if (t[0].isStore)
79
+ return t[0];
80
+ const e = t[0];
81
+ t.length > 1 && (t[0] = c(t[0]));
82
+ const i = l.from(...t);
83
+ if (!i.has("JsonEntityStore")) {
84
+ const s = g(t), n = j.get(s), r = new n({
85
+ store: i,
86
+ decoratorType: s,
87
+ target: f(e),
88
+ propertyKey: t[1],
89
+ index: typeof t[2] == "number" ? t[2] : void 0,
90
+ descriptor: typeof t[2] == "object" ? t[2] : void 0
91
+ });
92
+ r.build(), i.set("JsonEntityStore", r);
93
+ }
94
+ return i.get("JsonEntityStore");
95
+ }
96
+ static fromMethod(t, e) {
97
+ return this.from(t, e, S(t, e));
98
+ }
99
+ static get(t, e, i) {
100
+ return o.from(c(t), e, i);
101
+ }
102
+ isGetterOnly() {
103
+ return h(this.descriptor) && !this.descriptor.value && this.descriptor.get && !this.descriptor.set;
104
+ }
105
+ get(t, e) {
106
+ return this.store.get(t, e);
107
+ }
108
+ set(t, e) {
109
+ return this.store.set(t, e);
110
+ }
111
+ toString() {
112
+ return [this.targetName, this.propertyName, this.index].filter((t) => t !== void 0).join(":");
113
+ }
114
+ buildType(t) {
115
+ T(t) ? this.collectionType = t : (this._type = t, this._type && O(this._type) && (this._type = String));
116
+ }
117
+ set path(t) {
118
+ this.store.set("path", t);
119
+ }
120
+ get path() {
121
+ return this.store.get("path");
122
+ }
123
+ getBestType() {
124
+ return this.itemSchema.hasDiscriminator ? this.itemSchema.discriminator().base : b(this.type) ? this.itemSchema.getTarget() : C(this.type) ? this.type() : this.type;
125
+ }
126
+ }
127
+ export {
128
+ j as JsonEntitiesContainer,
129
+ o as JsonEntityStore
130
+ };
131
+ //# sourceMappingURL=JsonEntityStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonEntityStore.js","sources":["../../../src/domain/JsonEntityStore.ts"],"sourcesContent":["import {\n ancestorsOf,\n classOf,\n decoratorTypeOf,\n DecoratorTypes,\n descriptorOf,\n isArrayOrArrayClass,\n isArrowFn,\n isClass,\n isClassObject,\n isCollection,\n isDate,\n isObject,\n isPlainObject,\n isPrimitiveOrPrimitiveClass,\n nameOf,\n prototypeOf,\n Store,\n Type\n} from \"@tsed/core\";\n\nimport type {JsonClassStore} from \"./JsonClassStore.js\";\nimport type {JsonMethodStore} from \"./JsonMethodStore.js\";\nimport type {JsonParameterStore} from \"./JsonParameterStore.js\";\nimport type {JsonPropertyStore} from \"./JsonPropertyStore.js\";\nimport type {JsonSchema} from \"./JsonSchema.js\";\n\n/**\n * @ignore\n */\nexport const JsonEntitiesContainer = new Map<DecoratorTypes, Type<JsonEntityStore>>();\n\nexport interface JsonEntityStoreOptions {\n decoratorType: DecoratorTypes;\n target: Type<any>;\n propertyKey?: string | symbol;\n index?: number;\n descriptor?: any;\n type?: Type<any>;\n collectionType?: Type<any>;\n beforeMiddlewares?: Function[];\n middlewares?: Function[];\n afterMiddlewares?: Function[];\n\n [key: string]: any;\n}\n\nexport abstract class JsonEntityStore implements JsonEntityStoreOptions {\n /**\n * Original property key decorated by the decorator\n */\n readonly propertyKey: string | symbol;\n /**\n * Alias of the property\n */\n readonly propertyName: string;\n /**\n * Parameter index\n */\n readonly index: number;\n /**\n * Method's descriptor\n */\n readonly descriptor: PropertyDescriptor;\n /**\n * Decorator type used to declare the JsonSchemaStore.\n */\n readonly decoratorType: DecoratorTypes;\n /**\n * Type of the collection (Array, Map, Set, etc...)\n */\n public collectionType: Type<any>;\n public token: Type<any>;\n readonly store: Store;\n readonly isStore = true;\n readonly parent: JsonEntityStore;\n readonly target: Type<any>;\n /**\n *\n */\n protected _type: Type<any>;\n /**\n * Ref to JsonSchema\n */\n protected _schema: JsonSchema;\n\n [key: string]: any;\n\n constructor(options: JsonEntityStoreOptions) {\n const {target, propertyKey, descriptor, index, decoratorType} = options;\n this.target = target;\n this.propertyKey = propertyKey!;\n this.propertyName = String(propertyKey);\n this.descriptor = descriptor;\n this.index = index!;\n this.decoratorType = decoratorType;\n this.token = target;\n this.store = options.store;\n this.parent = this;\n }\n\n /**\n * Return the class name of the entity.\n * @returns {string}\n */\n get targetName(): string {\n return nameOf(this.token);\n }\n\n get isCollection(): boolean {\n return !!this.collectionType;\n }\n\n get isArray() {\n return isArrayOrArrayClass(this.collectionType);\n }\n\n get discriminatorAncestor(): JsonEntityStore | undefined {\n const ancestors = ancestorsOf(this.target);\n const ancestor = ancestors.find((ancestor) => JsonEntityStore.from(ancestor).schema.isDiscriminator);\n return ancestor && JsonEntityStore.from(ancestor);\n }\n\n get isPrimitive() {\n return isPrimitiveOrPrimitiveClass(this._type);\n }\n\n get isDate() {\n return isDate(this.computedType);\n }\n\n get isObject() {\n return isObject(this.computedType);\n }\n\n get isClass() {\n return isClass(this.computedType);\n }\n\n /**\n * Return the JsonSchema\n */\n get schema(): JsonSchema {\n return this._schema;\n }\n\n get nestedGenerics(): Type<any>[][] {\n return this.schema.nestedGenerics;\n }\n\n set nestedGenerics(nestedGenerics: Type<any>[][]) {\n this.schema.nestedGenerics = nestedGenerics;\n }\n\n get type(): Type<any> | any {\n return this._type;\n }\n\n /**\n * Get original type without transformation\n * @param value\n */\n set type(value: Type<any> | any) {\n this._type = value;\n this.build();\n }\n\n /**\n * Return the itemSchema computed type. if the type is a function used for recursive model, the function will be called to\n * get the right type.\n */\n get computedType() {\n return this.itemSchema.getComputedType();\n }\n\n get itemSchema(): JsonSchema {\n return this.isCollection ? this.schema.itemSchema() : this.schema;\n }\n\n get parentSchema(): JsonSchema {\n return this.parent.schema;\n }\n\n get isDiscriminatorChild() {\n return this.schema.isDiscriminator && this.discriminatorAncestor?.schema.discriminator().base !== this.target;\n }\n\n static from<T extends JsonClassStore = JsonClassStore>(target: Type<any>): T;\n\n static from<T extends JsonPropertyStore = JsonPropertyStore>(target: Type<any> | any, propertyKey: string | symbol): T;\n\n static from<T extends JsonParameterStore = JsonParameterStore>(target: Type<any> | any, propertyKey: string | symbol, index: number): T;\n\n static from<T extends JsonMethodStore = JsonMethodStore>(\n target: Type<any> | any,\n propertyKey: string | symbol,\n descriptor: PropertyDescriptor\n ): T;\n\n static from<T extends JsonEntityStore = JsonEntityStore>(...args: any[]): T;\n\n static from<T extends JsonEntityStore = JsonEntityStore>(...args: any[]): T {\n if (args[0].isStore) {\n return args[0] as T;\n }\n\n const target = args[0];\n\n if (args.length > 1) {\n args[0] = prototypeOf(args[0]);\n }\n\n const store = Store.from(...args);\n\n if (!store.has(\"JsonEntityStore\")) {\n const decoratorType = decoratorTypeOf(args);\n const entityStore = JsonEntitiesContainer.get(decoratorType)!;\n\n const jsonSchemaStore = new entityStore({\n store,\n decoratorType,\n target: classOf(target),\n propertyKey: args[1],\n index: typeof args[2] === \"number\" ? args[2] : undefined,\n descriptor: typeof args[2] === \"object\" ? args[2] : undefined\n });\n\n jsonSchemaStore.build();\n\n store.set(\"JsonEntityStore\", jsonSchemaStore);\n }\n\n return store.get<T>(\"JsonEntityStore\")!;\n }\n\n static fromMethod<T extends JsonMethodStore = JsonMethodStore>(target: any, propertyKey: string | symbol) {\n return this.from<T>(target, propertyKey, descriptorOf(target, propertyKey));\n }\n\n static get(target: Type<any>, propertyKey: string | symbol, descriptor?: any) {\n return JsonEntityStore.from(prototypeOf(target), propertyKey, descriptor);\n }\n\n isGetterOnly() {\n return isObject(this.descriptor) && !this.descriptor.value && this.descriptor.get && !this.descriptor.set;\n }\n\n get<T = any>(key: string, defaultValue?: any) {\n return this.store.get<T>(key, defaultValue);\n }\n\n set(key: string, value?: any) {\n return this.store.set(key, value);\n }\n\n toString() {\n return [this.targetName, this.propertyName, this.index].filter((o) => o !== undefined).join(\":\");\n }\n\n protected abstract build(): void;\n\n protected buildType(type: any) {\n if (isCollection(type)) {\n this.collectionType = type;\n } else {\n this._type = type;\n\n // issue #1534: Enum metadata stored as plain object instead of String (see: https://github.com/tsedio/tsed/issues/1534)\n if (this._type && isPlainObject(this._type)) {\n this._type = String;\n }\n }\n }\n\n set path(path: string) {\n this.store.set(\"path\", path);\n }\n\n get path() {\n return this.store.get(\"path\");\n }\n\n getBestType() {\n return this.itemSchema.hasDiscriminator\n ? this.itemSchema.discriminator().base\n : isClassObject(this.type)\n ? this.itemSchema.getTarget()\n : isArrowFn(this.type)\n ? this.type()\n : this.type;\n }\n}\n"],"names":["JsonEntitiesContainer","JsonEntityStore","options","target","propertyKey","descriptor","index","decoratorType","nameOf","isArrayOrArrayClass","ancestor","ancestorsOf","isPrimitiveOrPrimitiveClass","isDate","isObject","isClass","nestedGenerics","value","_a","args","prototypeOf","store","Store","decoratorTypeOf","entityStore","jsonSchemaStore","classOf","descriptorOf","key","defaultValue","o","type","isCollection","isPlainObject","path","isClassObject","isArrowFn"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ var i = /* @__PURE__ */ ((E) => (E.DATE_TIME = "date-time", E.DATE = "date", E.TIME = "time", E.EMAIL = "email", E.HOSTNAME = "hostname", E.IPV4 = "ipv4", E.IPV6 = "ipv6", E.URI = "uri", E.URL = "url", E.URI_REF = "uri-reference", E.URI_TEMPLATE = "uri-template", E.JSON_POINTER = "json-pointer", E.RELATIVE_JSON_POINTER = "relative-json-pointer", E.UUID = "uuid", E.REGEX = "regex", E))(i || {});
2
+ export {
3
+ i as JsonFormatTypes
4
+ };
5
+ //# sourceMappingURL=JsonFormatTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonFormatTypes.js","sources":["../../../src/domain/JsonFormatTypes.ts"],"sourcesContent":["export enum JsonFormatTypes {\n DATE_TIME = \"date-time\",\n DATE = \"date\",\n TIME = \"time\",\n EMAIL = \"email\",\n HOSTNAME = \"hostname\",\n IPV4 = \"ipv4\",\n IPV6 = \"ipv6\",\n URI = \"uri\",\n URL = \"url\",\n URI_REF = \"uri-reference\",\n URI_TEMPLATE = \"uri-template\",\n JSON_POINTER = \"json-pointer\",\n RELATIVE_JSON_POINTER = \"relative-json-pointer\",\n UUID = \"uuid\",\n REGEX = \"regex\"\n}\n"],"names":["JsonFormatTypes"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,OAAO,QACPA,EAAA,OAAO,QACPA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,UAAU,iBACVA,EAAA,eAAe,gBACfA,EAAA,eAAe,gBACfA,EAAA,wBAAwB,yBACxBA,EAAA,OAAO,QACPA,EAAA,QAAQ,SAfEA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -0,0 +1,20 @@
1
+ import { nameOf as e } from "@tsed/core";
2
+ import { getJsonEntityStore as r } from "../utils/getJsonEntityStore.js";
3
+ class i {
4
+ constructor(t) {
5
+ this.getType = t, this.isLazyRef = !0;
6
+ }
7
+ get target() {
8
+ return this.getType();
9
+ }
10
+ get schema() {
11
+ return r(this.getType()).schema;
12
+ }
13
+ get name() {
14
+ return e(this.getType());
15
+ }
16
+ }
17
+ export {
18
+ i as JsonLazyRef
19
+ };
20
+ //# sourceMappingURL=JsonLazyRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonLazyRef.js","sources":["../../../src/domain/JsonLazyRef.ts"],"sourcesContent":["import {nameOf, Type} from \"@tsed/core\";\n\nimport {getJsonEntityStore} from \"../utils/getJsonEntityStore.js\";\n\nexport class JsonLazyRef {\n readonly isLazyRef = true;\n\n constructor(readonly getType: () => Type<any>) {}\n\n get target() {\n return this.getType();\n }\n\n get schema() {\n return getJsonEntityStore(this.getType()).schema;\n }\n\n get name() {\n return nameOf(this.getType());\n }\n}\n"],"names":["JsonLazyRef","getType","getJsonEntityStore","nameOf"],"mappings":";;AAIO,MAAMA,EAAY;AAAA,EAGvB,YAAqBC,GAA0B;AAA1B,SAAA,UAAAA,GAFrB,KAAS,YAAY;AAAA,EAAA;AAAA,EAIrB,IAAI,SAAS;AACX,WAAO,KAAK,QAAQ;AAAA,EAAA;AAAA,EAGtB,IAAI,SAAS;AACX,WAAOC,EAAmB,KAAK,QAAQ,CAAC,EAAE;AAAA,EAAA;AAAA,EAG5C,IAAI,OAAO;AACF,WAAAC,EAAO,KAAK,SAAS;AAAA,EAAA;AAEhC;"}
@@ -0,0 +1,19 @@
1
+ import { isFunction as r } from "@tsed/core";
2
+ import { execMapper as e } from "../registries/JsonSchemaMapperContainer.js";
3
+ class h extends Map {
4
+ constructor(s = {}) {
5
+ super(), this.$kind = "map", this.$isJsonDocument = !0, this.assign(s);
6
+ }
7
+ assign(s = {}) {
8
+ return Object.entries(s).forEach(([t, i]) => {
9
+ r(this[t]) ? this[t](i) : this.set(t, i);
10
+ }), this;
11
+ }
12
+ toJSON(s) {
13
+ return e("map", [this], s);
14
+ }
15
+ }
16
+ export {
17
+ h as JsonMap
18
+ };
19
+ //# sourceMappingURL=JsonMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonMap.js","sources":["../../../src/domain/JsonMap.ts"],"sourcesContent":["import {isFunction} from \"@tsed/core\";\n\nimport {JsonSchemaOptions} from \"../interfaces/JsonSchemaOptions.js\";\nimport {execMapper} from \"../registries/JsonSchemaMapperContainer.js\";\n\nexport class JsonMap<T> extends Map<string, any> {\n [key: string]: any;\n\n $kind: string = \"map\";\n readonly $isJsonDocument = true;\n\n constructor(obj: Partial<T> = {}) {\n super();\n\n this.assign(obj);\n }\n\n assign(obj: Partial<T> & any = {}) {\n Object.entries(obj).forEach(([key, value]) => {\n if (isFunction(this[key])) {\n this[key](value);\n } else {\n this.set(key, value);\n }\n });\n\n return this;\n }\n\n toJSON(options?: JsonSchemaOptions) {\n return execMapper(\"map\", [this], options);\n }\n}\n"],"names":["JsonMap","obj","key","value","isFunction","options","execMapper"],"mappings":";;AAKO,MAAMA,UAAmB,IAAiB;AAAA,EAM/C,YAAYC,IAAkB,IAAI;AAC1B,UAAA,GAJQ,KAAA,QAAA,OAChB,KAAS,kBAAkB,IAKzB,KAAK,OAAOA,CAAG;AAAA,EAAA;AAAA,EAGjB,OAAOA,IAAwB,IAAI;AAC1B,kBAAA,QAAQA,CAAG,EAAE,QAAQ,CAAC,CAACC,GAAKC,CAAK,MAAM;AAC5C,MAAIC,EAAW,KAAKF,CAAG,CAAC,IACjB,KAAAA,CAAG,EAAEC,CAAK,IAEV,KAAA,IAAID,GAAKC,CAAK;AAAA,IACrB,CACD,GAEM;AAAA,EAAA;AAAA,EAGT,OAAOE,GAA6B;AAClC,WAAOC,EAAW,OAAO,CAAC,IAAI,GAAGD,CAAO;AAAA,EAAA;AAE5C;"}
@@ -0,0 +1,16 @@
1
+ import { JsonMap as e } from "./JsonMap.js";
2
+ class i extends e {
3
+ constructor() {
4
+ super(...arguments), this.$kind = "operationMedia", this.groups = [];
5
+ }
6
+ schema(s) {
7
+ return this.set("schema", s), this;
8
+ }
9
+ examples(s) {
10
+ return this.set("examples", s), this;
11
+ }
12
+ }
13
+ export {
14
+ i as JsonMedia
15
+ };
16
+ //# sourceMappingURL=JsonMedia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonMedia.js","sources":["../../../src/domain/JsonMedia.ts"],"sourcesContent":["import {OS3MediaType} from \"@tsed/openspec\";\n\nimport {JsonMap} from \"./JsonMap.js\";\nimport {JsonSchema} from \"./JsonSchema.js\";\n\nexport class JsonMedia extends JsonMap<OS3MediaType<JsonSchema>> {\n $kind: string = \"operationMedia\";\n\n groups: string[] = [];\n groupsName: string;\n allowedGroups?: Set<string>;\n\n schema(schema: JsonSchema) {\n this.set(\"schema\", schema);\n\n return this;\n }\n\n examples(examples: any) {\n this.set(\"examples\", examples);\n\n return this;\n }\n}\n"],"names":["JsonMedia","JsonMap","schema","examples"],"mappings":";AAKO,MAAMA,UAAkBC,EAAkC;AAAA,EAA1D,cAAA;AAAA,UAAA,GAAA,SAAA,GACW,KAAA,QAAA,kBAEhB,KAAA,SAAmB,CAAC;AAAA,EAAA;AAAA,EAIpB,OAAOC,GAAoB;AACpB,gBAAA,IAAI,UAAUA,CAAM,GAElB;AAAA,EAAA;AAAA,EAGT,SAASC,GAAe;AACjB,gBAAA,IAAI,YAAYA,CAAQ,GAEtB;AAAA,EAAA;AAEX;"}
@@ -0,0 +1,121 @@
1
+ import { DecoratorTypes as f, descriptorOf as c, Store as l, prototypeOf as d, isFunction as h, deepMerge as u, Metadata as y, isPromise as g, isCollection as w } from "@tsed/core";
2
+ import { JsonEntityComponent as M } from "../decorators/config/jsonEntityComponent.js";
3
+ import { JsonEntityStore as p } from "./JsonEntityStore.js";
4
+ import { JsonOperation as v } from "./JsonOperation.js";
5
+ import { JsonSchema as _ } from "./JsonSchema.js";
6
+ var b = Object.getOwnPropertyDescriptor, O = (e, t, s, r) => {
7
+ for (var i = r > 1 ? void 0 : r ? b(t, s) : t, o = e.length - 1, a; o >= 0; o--)
8
+ (a = e[o]) && (i = a(i) || i);
9
+ return i;
10
+ };
11
+ let n = class extends p {
12
+ constructor(e) {
13
+ super({
14
+ store: l.fromMethod(e.target, e.propertyKey),
15
+ descriptor: c(e.target, e.propertyKey),
16
+ ...e
17
+ }), this.parent = p.from(this.target), this.middlewares = [], this.beforeMiddlewares = [], this.afterMiddlewares = [], this.operation = new v(), this.children = /* @__PURE__ */ new Map();
18
+ const { beforeMiddlewares: t = [], middlewares: s = [], afterMiddlewares: r = [] } = e;
19
+ this.after(r), this.before(t), this.use(s);
20
+ }
21
+ get params() {
22
+ return this.parameters;
23
+ }
24
+ get view() {
25
+ return this.store.get("view");
26
+ }
27
+ set view(e) {
28
+ this.store.set("view", e);
29
+ }
30
+ get acceptMimes() {
31
+ return this.store.get("acceptMimes", []);
32
+ }
33
+ set acceptMimes(e) {
34
+ this.store.set("acceptMimes", e);
35
+ }
36
+ get parameters() {
37
+ return [...this.children.values()];
38
+ }
39
+ get operationPaths() {
40
+ return this.operation.operationPaths;
41
+ }
42
+ /**
43
+ * Get an endpoint.
44
+ * @param target
45
+ * @param propertyKey
46
+ * @param descriptor
47
+ */
48
+ static get(e, t, s) {
49
+ return s = s || c(d(e), t), p.from(d(e), t, s);
50
+ }
51
+ getResponseOptions(e, { contentType: t = "application/json", includes: s } = {}) {
52
+ var i;
53
+ const r = this.operation.getResponseOf(e).getMedia(t, !1);
54
+ if (r && r.has("schema")) {
55
+ const o = r.get("schema");
56
+ let a = r.groups;
57
+ return s && ((i = r.allowedGroups) != null && i.size) && (a = [...a || [], ...s.filter((m) => r.allowedGroups.has(m))]), { type: o.getComputedItemType(), groups: a };
58
+ }
59
+ return { type: this.type };
60
+ }
61
+ /**
62
+ * Append middlewares to the beforeMiddlewares list.
63
+ * @param args
64
+ * @returns {EndpointMetadata}
65
+ */
66
+ before(e) {
67
+ return this.beforeMiddlewares = this.beforeMiddlewares.concat(e).filter(h), this;
68
+ }
69
+ /**
70
+ * Append middlewares to the afterMiddlewares list.
71
+ * @param args
72
+ * @returns {EndpointMetadata}
73
+ */
74
+ after(e) {
75
+ return this.afterMiddlewares = this.afterMiddlewares.concat(e).filter(h), this;
76
+ }
77
+ /**
78
+ * Store all arguments collected via Annotation.
79
+ * @param args
80
+ */
81
+ use(e) {
82
+ return this.middlewares = this.middlewares.concat(e).filter(h), this;
83
+ }
84
+ /**
85
+ * Find the value at the controller level. Let this value be extended or overridden by the endpoint itself.
86
+ *
87
+ * @param key
88
+ * @returns {any}
89
+ */
90
+ get(e) {
91
+ const t = l.from(this.target).get(e);
92
+ return u(t, this.store.get(e));
93
+ }
94
+ getParamTypes() {
95
+ return [...this.children.values()].reduce(
96
+ (e, t) => ({
97
+ ...e,
98
+ [t.paramType]: !0
99
+ }),
100
+ {}
101
+ );
102
+ }
103
+ build() {
104
+ if (!this._type) {
105
+ let e = y.getReturnType(this.target, this.propertyKey);
106
+ e = g(e) ? void 0 : e, this.buildType(e);
107
+ }
108
+ this._type = this._type || Object, this.parent.children.set(this.propertyName, this), w(this._type) && (this.collectionType = this._type, delete this._type), this._schema = _.from({
109
+ type: this.collectionType || this.type
110
+ }), this.collectionType && this._schema.itemSchema(this.type), this.parent.schema.addProperty(this.propertyName, this.schema);
111
+ }
112
+ };
113
+ n = O([
114
+ M(f.METHOD)
115
+ ], n);
116
+ const D = n;
117
+ export {
118
+ D as EndpointMetadata,
119
+ n as JsonMethodStore
120
+ };
121
+ //# sourceMappingURL=JsonMethodStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonMethodStore.js","sources":["../../../src/domain/JsonMethodStore.ts"],"sourcesContent":["import {DecoratorTypes, deepMerge, descriptorOf, isCollection, isFunction, isPromise, Metadata, prototypeOf, Store, Type} from \"@tsed/core\";\n\nimport {JsonEntityComponent} from \"../decorators/config/jsonEntityComponent.js\";\nimport type {JsonClassStore} from \"./JsonClassStore.js\";\nimport {JsonEntityStore, JsonEntityStoreOptions} from \"./JsonEntityStore.js\";\nimport {JsonOperation} from \"./JsonOperation.js\";\nimport type {JsonParameterStore} from \"./JsonParameterStore.js\";\nimport {JsonSchema} from \"./JsonSchema.js\";\n\nexport interface JsonViewOptions {\n path: string;\n options: any;\n}\n\nexport interface JsonRedirectOptions {\n status: number | undefined;\n url: string;\n}\n\n@JsonEntityComponent(DecoratorTypes.METHOD)\nexport class JsonMethodStore extends JsonEntityStore {\n readonly parent: JsonClassStore = JsonEntityStore.from(this.target);\n public middlewares: any[] = [];\n public beforeMiddlewares: any[] = [];\n public afterMiddlewares: any[] = [];\n /**\n * Ref to JsonOperation when the decorated object is a method.\n */\n readonly operation: JsonOperation = new JsonOperation();\n /**\n * List of children JsonEntityStore (properties or methods or params)\n */\n readonly children: Map<string | number, JsonParameterStore> = new Map();\n\n constructor(options: JsonEntityStoreOptions) {\n super({\n store: Store.fromMethod(options.target, options.propertyKey!),\n descriptor: descriptorOf(options.target, options.propertyKey!),\n ...options\n });\n\n const {beforeMiddlewares = [], middlewares = [], afterMiddlewares = []} = options;\n\n this.after(afterMiddlewares);\n this.before(beforeMiddlewares);\n this.use(middlewares);\n }\n\n get params(): JsonParameterStore[] {\n return this.parameters;\n }\n\n get view(): JsonViewOptions {\n return this.store.get(\"view\") as JsonViewOptions;\n }\n\n set view(view: JsonViewOptions) {\n this.store.set(\"view\", view);\n }\n\n get acceptMimes(): string[] {\n return this.store.get<string[]>(\"acceptMimes\", []);\n }\n\n set acceptMimes(mimes: string[]) {\n this.store.set(\"acceptMimes\", mimes);\n }\n\n get parameters(): JsonParameterStore[] {\n return [...this.children.values()] as JsonParameterStore[];\n }\n\n get operationPaths() {\n return this.operation.operationPaths;\n }\n\n /**\n * Get an endpoint.\n * @param target\n * @param propertyKey\n * @param descriptor\n */\n static get(target: Type<any>, propertyKey: string | symbol, descriptor?: PropertyDescriptor): JsonMethodStore {\n descriptor = descriptor || descriptorOf(prototypeOf(target), propertyKey);\n\n return JsonEntityStore.from<JsonMethodStore>(prototypeOf(target), propertyKey, descriptor);\n }\n\n getResponseOptions(\n status: number,\n {contentType = \"application/json\", includes}: {contentType?: string; includes?: string[]} = {}\n ): undefined | any {\n const media = this.operation.getResponseOf(status).getMedia(contentType, false);\n\n if (media && media.has(\"schema\")) {\n const schema = media.get(\"schema\") as JsonSchema;\n let groups = media.groups;\n\n if (includes && media.allowedGroups?.size) {\n groups = [...(groups || []), ...includes.filter((include) => media.allowedGroups!.has(include))];\n }\n\n return {type: schema.getComputedItemType(), groups};\n }\n\n return {type: this.type};\n }\n\n /**\n * Append middlewares to the beforeMiddlewares list.\n * @param args\n * @returns {EndpointMetadata}\n */\n public before(args: Function[]): this {\n this.beforeMiddlewares = this.beforeMiddlewares.concat(args).filter(isFunction);\n\n return this;\n }\n\n /**\n * Append middlewares to the afterMiddlewares list.\n * @param args\n * @returns {EndpointMetadata}\n */\n public after(args: Function[]): this {\n this.afterMiddlewares = this.afterMiddlewares.concat(args).filter(isFunction);\n\n return this;\n }\n\n /**\n * Store all arguments collected via Annotation.\n * @param args\n */\n public use(args: Function[]) {\n this.middlewares = this.middlewares.concat(args).filter(isFunction);\n\n return this;\n }\n\n /**\n * Find the value at the controller level. Let this value be extended or overridden by the endpoint itself.\n *\n * @param key\n * @returns {any}\n */\n public get<T = any>(key: any): T {\n const ctrlValue = Store.from(this.target).get(key);\n\n return deepMerge<T>(ctrlValue, this.store.get(key));\n }\n\n public getParamTypes(): Record<string, boolean> {\n return [...this.children.values()].reduce(\n (obj, item) => ({\n ...obj,\n [item.paramType]: true\n }),\n {}\n );\n }\n\n protected build() {\n if (!this._type) {\n let type: any = Metadata.getReturnType(this.target, this.propertyKey);\n type = isPromise(type) ? undefined : type;\n\n this.buildType(type);\n }\n\n this._type = this._type || Object;\n\n this.parent.children.set(this.propertyName, this);\n\n if (isCollection(this._type)) {\n this.collectionType = this._type;\n // @ts-ignore\n delete this._type;\n }\n\n this._schema = JsonSchema.from({\n type: this.collectionType || this.type\n });\n\n if (this.collectionType) {\n this._schema.itemSchema(this.type);\n }\n\n this.parent.schema.addProperty(this.propertyName, this.schema);\n }\n}\n\n/**\n * EndpointMetadata contains metadata about a controller and his method.\n * Each annotation (@Get, @Body...) attached to a method are stored into endpoint.\n * EndpointMetadata convert this metadata to an array which contain arguments to call an Express method.\n *\n * Example :\n *```typescript\n * @Controller(\"/my-path\")\n * provide MyClass {\n *\n * @Get(\"/\")\n * @Authenticated()\n * public myMethod(){}\n * }\n *```\n *\n * @alias JsonMethodStore\n */\nexport type EndpointMetadata = JsonMethodStore;\nexport const EndpointMetadata = JsonMethodStore;\n"],"names":["JsonMethodStore","JsonEntityStore","options","Store","descriptorOf","JsonOperation","beforeMiddlewares","middlewares","afterMiddlewares","view","mimes","target","propertyKey","descriptor","prototypeOf","status","contentType","includes","media","schema","groups","_a","include","args","isFunction","key","ctrlValue","deepMerge","obj","item","type","Metadata","isPromise","isCollection","JsonSchema","__decorateClass","JsonEntityComponent","DecoratorTypes","EndpointMetadata"],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ var f = (r) => {
2
+ throw TypeError(r);
3
+ };
4
+ var m = (r, t, e) => t.has(r) || f("Cannot " + e);
5
+ var u = (r, t, e) => (m(r, t, "read from private field"), e ? e.call(r) : t.get(r)), g = (r, t, e) => t.has(r) ? f("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(r) : t.set(r, e), p = (r, t, e, s) => (m(r, t, "write to private field"), s ? s.call(r, e) : t.set(r, e), e);
6
+ import { uniqBy as S, deepMerge as O, uniq as R } from "@tsed/core";
7
+ import { isRedirectionStatus as l, isSuccessStatus as y } from "../utils/isSuccessStatus.js";
8
+ import { JsonMap as d } from "./JsonMap.js";
9
+ import { JsonResponse as P } from "./JsonResponse.js";
10
+ class w extends d {
11
+ constructor(t, e) {
12
+ super(), this.method = t, this.path = e;
13
+ }
14
+ summary(t) {
15
+ return super.set("summary", t), this;
16
+ }
17
+ description(t) {
18
+ return super.set("description", t), this;
19
+ }
20
+ }
21
+ var n, o;
22
+ class v extends d {
23
+ constructor(e = {}) {
24
+ super({ parameters: [], responses: new d(), ...e });
25
+ g(this, n);
26
+ g(this, o);
27
+ this.$kind = "operation", this.operationPaths = /* @__PURE__ */ new Map(), p(this, o, !1);
28
+ }
29
+ get response() {
30
+ return this.getResponses().get(this.getStatus().toString());
31
+ }
32
+ get status() {
33
+ return u(this, n);
34
+ }
35
+ tags(e) {
36
+ return super.set("tags", e), this;
37
+ }
38
+ addTags(e) {
39
+ return e = S([...this.get("tags") || [], ...e], "name"), this.tags(e);
40
+ }
41
+ summary(e) {
42
+ return super.set("summary", e), this;
43
+ }
44
+ operationId(e) {
45
+ return this.set("operationId", e), this;
46
+ }
47
+ responses(e) {
48
+ return this.set("responses", e), this;
49
+ }
50
+ defaultStatus(e) {
51
+ return p(this, n, e), this;
52
+ }
53
+ getStatus() {
54
+ return u(this, n) || 200;
55
+ }
56
+ setRedirection(e = 302) {
57
+ return p(this, o, !0), p(this, n, e), this;
58
+ }
59
+ isRedirection(e) {
60
+ return u(this, o) && e ? l(e) : u(this, o);
61
+ }
62
+ addResponse(e, s) {
63
+ if ((y(e) || l(e)) && !u(this, n)) {
64
+ const a = this.getResponseOf(200);
65
+ this.getResponses().set(e.toString(), a).delete("200"), this.defaultStatus(Number(e));
66
+ }
67
+ const i = e === "default" ? this.getStatus().toString() : e.toString(), h = this.getResponses().get(i);
68
+ return h ? (s.forEach((a, c) => {
69
+ ["content"].includes(c) || h.set(c, O(h.get(c), a));
70
+ }), h.status = Number(i)) : (s.status = Number(i), this.getResponses().set(i, s)), this;
71
+ }
72
+ getResponses() {
73
+ return this.get("responses");
74
+ }
75
+ getResponseOf(e) {
76
+ return (e === "default" ? this.response : this.getResponses().get(String(e))) || new P();
77
+ }
78
+ ensureResponseOf(e) {
79
+ return this.addResponse(e, this.getResponseOf(e)), this.getResponseOf(e);
80
+ }
81
+ getHeadersOf(e) {
82
+ return this.getResponseOf(e).get("headers") || {};
83
+ }
84
+ getContentTypeOf(e) {
85
+ return [...this.getResponseOf(e).get("content").keys()].slice(-1)[0];
86
+ }
87
+ security(e) {
88
+ return this.set("security", e), this;
89
+ }
90
+ addSecurityScopes(e, s) {
91
+ const i = this.get("security") || {};
92
+ return i[e] = R([...i[e] || [], ...s]), this.security(i);
93
+ }
94
+ description(e) {
95
+ return super.set("description", e), this;
96
+ }
97
+ deprecated(e) {
98
+ return super.set("deprecated", e), this;
99
+ }
100
+ parameters(e) {
101
+ return super.set("parameters", e), this;
102
+ }
103
+ addParameter(e, s) {
104
+ e === -1 && (e = this.get("parameters").length), this.get("parameters")[e] = s;
105
+ }
106
+ consumes(e) {
107
+ return super.set("consumes", e), this;
108
+ }
109
+ produces(e) {
110
+ return super.set("produces", e), this;
111
+ }
112
+ addProduce(e) {
113
+ const s = R([].concat(this.get("produces"), e)).filter(Boolean);
114
+ this.set("produces", s);
115
+ }
116
+ addOperationPath(e, s) {
117
+ const i = new w(e, s);
118
+ return this.operationPaths.set(String(e) + String(s), i), i;
119
+ }
120
+ getAllowedOperationPath(e) {
121
+ return e ? [...this.operationPaths.values()].filter(({ method: s }) => s && e.includes(s.toUpperCase())) : [...this.operationPaths.values()];
122
+ }
123
+ }
124
+ n = new WeakMap(), o = new WeakMap();
125
+ export {
126
+ w as JsonMethodPath,
127
+ v as JsonOperation
128
+ };
129
+ //# sourceMappingURL=JsonOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonOperation.js","sources":["../../../src/domain/JsonOperation.ts"],"sourcesContent":["import {deepMerge, uniq, uniqBy} from \"@tsed/core\";\nimport {OpenSpecSecurity, OpenSpecTag, OS3Operation} from \"@tsed/openspec\";\n\nimport {JsonHeader} from \"../interfaces/JsonOpenSpec.js\";\nimport {isRedirectionStatus, isSuccessStatus} from \"../utils/isSuccessStatus.js\";\nimport {JsonMap} from \"./JsonMap.js\";\nimport {JsonParameter} from \"./JsonParameter.js\";\nimport {JsonResponse} from \"./JsonResponse.js\";\nimport {JsonSchema} from \"./JsonSchema.js\";\n\nexport class JsonMethodPath extends JsonMap<any> {\n constructor(\n public method: string,\n public path: string | RegExp\n ) {\n super();\n }\n\n summary(summary: string): this {\n super.set(\"summary\", summary);\n\n return this;\n }\n\n description(description: string): this {\n super.set(\"description\", description);\n\n return this;\n }\n}\n\nexport interface JsonOperationOptions extends OS3Operation<JsonSchema, JsonParameter, JsonMap<JsonResponse>> {\n consumes: string[];\n produces: string[];\n}\n\nexport class JsonOperation extends JsonMap<JsonOperationOptions> {\n $kind: string = \"operation\";\n\n readonly operationPaths: Map<string, JsonMethodPath> = new Map();\n\n #status: number;\n #redirection: boolean = false;\n\n constructor(obj: Partial<JsonOperationOptions> = {}) {\n super({parameters: [], responses: new JsonMap(), ...obj});\n }\n\n get response(): JsonResponse | undefined {\n return this.getResponses().get(this.getStatus().toString());\n }\n\n get status() {\n return this.#status;\n }\n\n tags(tags: OpenSpecTag[]): this {\n super.set(\"tags\", tags);\n\n return this;\n }\n\n addTags(tags: OpenSpecTag[]) {\n tags = uniqBy([...(this.get(\"tags\") || []), ...tags], \"name\");\n\n return this.tags(tags);\n }\n\n summary(summary: string): this {\n super.set(\"summary\", summary);\n\n return this;\n }\n\n operationId(operationId: string): this {\n this.set(\"operationId\", operationId);\n\n return this;\n }\n\n responses(responses: JsonMap<any>): this {\n this.set(\"responses\", responses);\n\n return this;\n }\n\n defaultStatus(status: number) {\n this.#status = status;\n\n return this;\n }\n\n getStatus() {\n return this.#status || 200;\n }\n\n setRedirection(status = 302) {\n this.#redirection = true;\n this.#status = status;\n return this;\n }\n\n isRedirection(status?: number) {\n if (this.#redirection) {\n if (status) {\n return isRedirectionStatus(status);\n }\n }\n\n return this.#redirection;\n }\n\n addResponse(statusCode: string | number, response: JsonResponse) {\n if ((isSuccessStatus(statusCode) || isRedirectionStatus(statusCode)) && !this.#status) {\n const res = this.getResponseOf(200);\n\n this.getResponses().set(statusCode.toString(), res).delete(\"200\");\n\n this.defaultStatus(Number(statusCode));\n }\n\n const currentCode = statusCode === \"default\" ? this.getStatus().toString() : statusCode.toString();\n const currentResponse = this.getResponses().get(currentCode);\n\n if (!currentResponse) {\n response.status = Number(currentCode);\n this.getResponses().set(currentCode, response);\n } else {\n response.forEach((value, key) => {\n if (![\"content\"].includes(key)) {\n currentResponse.set(key, deepMerge(currentResponse.get(key), value));\n }\n });\n currentResponse.status = Number(currentCode);\n }\n\n return this;\n }\n\n getResponses() {\n return this.get(\"responses\") as JsonMap<JsonResponse>;\n }\n\n getResponseOf(status: number | string): JsonResponse {\n return (status === \"default\" ? this.response : this.getResponses().get(String(status))) || new JsonResponse();\n }\n\n ensureResponseOf(status: number | string): JsonResponse {\n this.addResponse(status, this.getResponseOf(status));\n return this.getResponseOf(status);\n }\n\n getHeadersOf(status: number): Record<string, JsonHeader & {example: string}> {\n return this.getResponseOf(status).get(\"headers\") || {};\n }\n\n getContentTypeOf(status: number): any {\n return [...this.getResponseOf(status).get(\"content\").keys()].slice(-1)[0];\n }\n\n security(security: OpenSpecSecurity): this {\n this.set(\"security\", security);\n\n return this;\n }\n\n addSecurityScopes(name: string, scopes: string[]) {\n const security = this.get(\"security\") || {};\n security[name] = uniq([...(security[name] || []), ...scopes]);\n\n return this.security(security);\n }\n\n description(description: string): this {\n super.set(\"description\", description);\n\n return this;\n }\n\n deprecated(deprecated: boolean): this {\n super.set(\"deprecated\", deprecated);\n\n return this;\n }\n\n parameters(parameters: JsonParameter[]): this {\n super.set(\"parameters\", parameters);\n\n return this;\n }\n\n addParameter(index: number, parameter: JsonParameter) {\n if (index === -1) {\n index = this.get(\"parameters\").length;\n }\n this.get(\"parameters\")[index] = parameter;\n }\n\n consumes(consumes: string[]): this {\n super.set(\"consumes\", consumes);\n\n return this;\n }\n\n produces(produces: string[]): this {\n super.set(\"produces\", produces);\n\n return this;\n }\n\n addProduce(produce: string) {\n const produces = uniq([].concat(this.get(\"produces\"), produce as never)).filter(Boolean);\n\n this.set(\"produces\", produces);\n }\n\n addOperationPath(method: string, path: string | RegExp) {\n const operationPath = new JsonMethodPath(method, path);\n this.operationPaths.set(String(method) + String(path), operationPath);\n\n return operationPath;\n }\n\n getAllowedOperationPath(allowedVerbs?: string[]) {\n if (!allowedVerbs) {\n return [...this.operationPaths.values()];\n }\n\n return [...this.operationPaths.values()].filter(({method}) => method && allowedVerbs.includes(method.toUpperCase()));\n }\n}\n"],"names":["JsonMethodPath","JsonMap","method","path","summary","description","JsonOperation","obj","__privateAdd","_status","_redirection","__privateSet","__privateGet","tags","uniqBy","operationId","responses","status","isRedirectionStatus","statusCode","response","isSuccessStatus","res","currentCode","currentResponse","value","key","deepMerge","JsonResponse","security","name","scopes","uniq","deprecated","parameters","index","parameter","consumes","produces","produce","operationPath","allowedVerbs"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ class n extends Map {
2
+ constructor() {
3
+ super(...arguments), this.$kind = "operationPaths", this.$isJsonDocument = !0, this.getKey = (t, s) => `${t}-${s}`;
4
+ }
5
+ setOperationPath(t) {
6
+ const s = this.getKey(t.method, t.path);
7
+ this.set(s, t);
8
+ }
9
+ }
10
+ export {
11
+ n as JsonOperationPathsMap
12
+ };
13
+ //# sourceMappingURL=JsonOperationPathsMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonOperationPathsMap.js","sources":["../../../src/domain/JsonOperationPathsMap.ts"],"sourcesContent":["import {OperationVerbs} from \"../constants/OperationVerbs.js\";\nimport {JsonMethodPath} from \"./JsonOperation.js\";\n\nexport class JsonOperationPathsMap extends Map<string, JsonMethodPath> {\n $kind: string = \"operationPaths\";\n readonly $isJsonDocument = true;\n\n setOperationPath(operationPath: JsonMethodPath) {\n // if (operationPath.method !== OperationVerbs.CUSTOM) {\n const key = this.getKey(operationPath.method, operationPath.path);\n this.set(key, operationPath);\n // }\n }\n\n protected getKey = (method: string, path: any) => `${method}-${path}`;\n}\n"],"names":["JsonOperationPathsMap","method","path","operationPath","key"],"mappings":"AAGO,MAAMA,UAA8B,IAA4B;AAAA,EAAhE,cAAA;AAAA,UAAA,GAAA,SAAA,GACW,KAAA,QAAA,kBAChB,KAAS,kBAAkB,IAS3B,KAAU,SAAS,CAACC,GAAgBC,MAAc,GAAGD,CAAM,IAAIC,CAAI;AAAA,EAAA;AAAA,EAPnE,iBAAiBC,GAA+B;AAE9C,UAAMC,IAAM,KAAK,OAAOD,EAAc,QAAQA,EAAc,IAAI;AAC3D,SAAA,IAAIC,GAAKD,CAAa;AAAA,EAAA;AAK/B;"}
@@ -0,0 +1,54 @@
1
+ import { concatPath as e } from "../utils/concatPath.js";
2
+ class a {
3
+ constructor(t) {
4
+ Object.assign(this, t), this.paramsTypes = this.endpoint.getParamTypes();
5
+ }
6
+ get url() {
7
+ return this.fullPath;
8
+ }
9
+ get path() {
10
+ var t;
11
+ return (t = this.operationPath) == null ? void 0 : t.path;
12
+ }
13
+ get fullPath() {
14
+ return e(this.basePath, this.path);
15
+ }
16
+ get method() {
17
+ var t;
18
+ return ((t = this.operationPath) == null ? void 0 : t.method) || "USE";
19
+ }
20
+ get name() {
21
+ return `${this.endpoint.targetName}.${this.methodClassName}()`;
22
+ }
23
+ get className() {
24
+ return this.endpoint.targetName;
25
+ }
26
+ get methodClassName() {
27
+ return this.propertyKey;
28
+ }
29
+ get parameters() {
30
+ return this.endpoint.parameters;
31
+ }
32
+ get propertyKey() {
33
+ return String(this.endpoint.propertyKey);
34
+ }
35
+ get propertyName() {
36
+ return this.endpoint.propertyName;
37
+ }
38
+ get store() {
39
+ return this.endpoint.store;
40
+ }
41
+ get operation() {
42
+ return this.endpoint.operation;
43
+ }
44
+ get operationId() {
45
+ return this.operation.get("operationId") || this.endpoint.propertyKey;
46
+ }
47
+ has(t) {
48
+ return this.paramsTypes[t];
49
+ }
50
+ }
51
+ export {
52
+ a as JsonOperationRoute
53
+ };
54
+ //# sourceMappingURL=JsonOperationRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonOperationRoute.js","sources":["../../../src/domain/JsonOperationRoute.ts"],"sourcesContent":["import {Type} from \"@tsed/core\";\n\nimport {concatPath} from \"../utils/concatPath.js\";\nimport {JsonMethodStore} from \"./JsonMethodStore.js\";\nimport {JsonMethodPath, JsonOperation} from \"./JsonOperation.js\";\n\nexport class JsonOperationRoute<Entity extends JsonMethodStore = JsonMethodStore> {\n readonly token: Type<any>;\n readonly endpoint: Entity;\n readonly operationPath?: JsonMethodPath;\n readonly basePath?: string;\n readonly paramsTypes: Record<string, boolean>;\n\n constructor(options: Partial<JsonOperationRoute>) {\n Object.assign(this, options);\n\n this.paramsTypes = this.endpoint.getParamTypes();\n }\n\n get url() {\n return this.fullPath;\n }\n\n get path() {\n return this.operationPath?.path;\n }\n\n get fullPath() {\n return concatPath(this.basePath, this.path as any);\n }\n\n get method() {\n return this.operationPath?.method || \"USE\";\n }\n\n get name() {\n return `${this.endpoint.targetName}.${this.methodClassName}()`;\n }\n\n get className() {\n return this.endpoint.targetName;\n }\n\n get methodClassName() {\n return this.propertyKey;\n }\n\n get parameters() {\n return this.endpoint.parameters;\n }\n\n get propertyKey() {\n return String(this.endpoint.propertyKey);\n }\n\n get propertyName() {\n return this.endpoint.propertyName;\n }\n\n get store() {\n return this.endpoint.store;\n }\n\n get operation(): JsonOperation {\n return this.endpoint.operation as JsonOperation;\n }\n\n get operationId() {\n return this.operation.get(\"operationId\") || this.endpoint.propertyKey;\n }\n\n has(key: string) {\n return this.paramsTypes[key];\n }\n}\n"],"names":["JsonOperationRoute","options","_a","concatPath","key"],"mappings":";AAMO,MAAMA,EAAqE;AAAA,EAOhF,YAAYC,GAAsC;AACzC,WAAA,OAAO,MAAMA,CAAO,GAEtB,KAAA,cAAc,KAAK,SAAS,cAAc;AAAA,EAAA;AAAA,EAGjD,IAAI,MAAM;AACR,WAAO,KAAK;AAAA,EAAA;AAAA,EAGd,IAAI,OAAO;;AACT,YAAOC,IAAA,KAAK,kBAAL,gBAAAA,EAAoB;AAAA,EAAA;AAAA,EAG7B,IAAI,WAAW;AACb,WAAOC,EAAW,KAAK,UAAU,KAAK,IAAW;AAAA,EAAA;AAAA,EAGnD,IAAI,SAAS;;AACJ,aAAAD,IAAA,KAAK,kBAAL,gBAAAA,EAAoB,WAAU;AAAA,EAAA;AAAA,EAGvC,IAAI,OAAO;AACT,WAAO,GAAG,KAAK,SAAS,UAAU,IAAI,KAAK,eAAe;AAAA,EAAA;AAAA,EAG5D,IAAI,YAAY;AACd,WAAO,KAAK,SAAS;AAAA,EAAA;AAAA,EAGvB,IAAI,kBAAkB;AACpB,WAAO,KAAK;AAAA,EAAA;AAAA,EAGd,IAAI,aAAa;AACf,WAAO,KAAK,SAAS;AAAA,EAAA;AAAA,EAGvB,IAAI,cAAc;AACT,WAAA,OAAO,KAAK,SAAS,WAAW;AAAA,EAAA;AAAA,EAGzC,IAAI,eAAe;AACjB,WAAO,KAAK,SAAS;AAAA,EAAA;AAAA,EAGvB,IAAI,QAAQ;AACV,WAAO,KAAK,SAAS;AAAA,EAAA;AAAA,EAGvB,IAAI,YAA2B;AAC7B,WAAO,KAAK,SAAS;AAAA,EAAA;AAAA,EAGvB,IAAI,cAAc;AAChB,WAAO,KAAK,UAAU,IAAI,aAAa,KAAK,KAAK,SAAS;AAAA,EAAA;AAAA,EAG5D,IAAIE,GAAa;AACR,WAAA,KAAK,YAAYA,CAAG;AAAA,EAAA;AAE/B;"}