@tsed/schema 7.18.3-rc.1 → 7.18.4

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 (347) hide show
  1. package/.eslintignore +13 -0
  2. package/.eslintrc.js +1 -0
  3. package/jest.config.js +13 -3
  4. package/lib/browser/schema.umd.min.js +1 -1
  5. package/lib/browser/schema.umd.min.js.map +1 -1
  6. package/lib/cjs/components/anyMapper.js.map +1 -1
  7. package/lib/cjs/components/classMapper.js.map +1 -1
  8. package/lib/cjs/components/genericsMapper.js.map +1 -1
  9. package/lib/cjs/components/inheritedClassMapper.js.map +1 -1
  10. package/lib/cjs/components/itemMapper.js.map +1 -1
  11. package/lib/cjs/components/lazyRefMapper.js.map +1 -1
  12. package/lib/cjs/components/mapMapper.js.map +1 -1
  13. package/lib/cjs/components/objectMapper.js.map +1 -1
  14. package/lib/cjs/components/ofMapper.js.map +1 -1
  15. package/lib/cjs/components/propertiesMapper.js.map +1 -1
  16. package/lib/cjs/components/schemaMapper.js +2 -0
  17. package/lib/cjs/components/schemaMapper.js.map +1 -1
  18. package/lib/cjs/constants/httpMethods.js.map +1 -1
  19. package/lib/cjs/constants/httpStatusMessages.js.map +1 -1
  20. package/lib/cjs/decorators/class/children.js.map +1 -1
  21. package/lib/cjs/decorators/class/discriminatorValue.js.map +1 -1
  22. package/lib/cjs/decorators/collections/collectionContains.js.map +1 -1
  23. package/lib/cjs/decorators/collections/collectionOf.js.map +1 -1
  24. package/lib/cjs/decorators/collections/maxItems.js.map +1 -1
  25. package/lib/cjs/decorators/collections/maxProperties.js.map +1 -1
  26. package/lib/cjs/decorators/collections/minItems.js.map +1 -1
  27. package/lib/cjs/decorators/collections/minProperties.js.map +1 -1
  28. package/lib/cjs/decorators/collections/uniqueItems.js.map +1 -1
  29. package/lib/cjs/decorators/common/additionalProperties.js.map +1 -1
  30. package/lib/cjs/decorators/common/allOf.js.map +1 -1
  31. package/lib/cjs/decorators/common/allow.js.map +1 -1
  32. package/lib/cjs/decorators/common/any.js.map +1 -1
  33. package/lib/cjs/decorators/common/anyOf.js.map +1 -1
  34. package/lib/cjs/decorators/common/const.js.map +1 -1
  35. package/lib/cjs/decorators/common/customKey.js.map +1 -1
  36. package/lib/cjs/decorators/common/default.js.map +1 -1
  37. package/lib/cjs/decorators/common/defaultMsg.js.map +1 -1
  38. package/lib/cjs/decorators/common/description.js.map +1 -1
  39. package/lib/cjs/decorators/common/discriminatorKey.js.map +1 -1
  40. package/lib/cjs/decorators/common/enum.js.map +1 -1
  41. package/lib/cjs/decorators/common/errorMsg.js.map +1 -1
  42. package/lib/cjs/decorators/common/example.js.map +1 -1
  43. package/lib/cjs/decorators/common/examples.js.map +1 -1
  44. package/lib/cjs/decorators/common/exclusiveMaximum.js.map +1 -1
  45. package/lib/cjs/decorators/common/exclusiveMinimum.js.map +1 -1
  46. package/lib/cjs/decorators/common/format.js.map +1 -1
  47. package/lib/cjs/decorators/common/forwardGroups.js.map +1 -1
  48. package/lib/cjs/decorators/common/groups.js.map +1 -1
  49. package/lib/cjs/decorators/common/hidden.js.map +1 -1
  50. package/lib/cjs/decorators/common/ignore.js.map +1 -1
  51. package/lib/cjs/decorators/common/integer.js.map +1 -1
  52. package/lib/cjs/decorators/common/jsonEntityFn.js.map +1 -1
  53. package/lib/cjs/decorators/common/maxLength.js.map +1 -1
  54. package/lib/cjs/decorators/common/maximum.js.map +1 -1
  55. package/lib/cjs/decorators/common/minLength.js.map +1 -1
  56. package/lib/cjs/decorators/common/minimum.js.map +1 -1
  57. package/lib/cjs/decorators/common/multipleOf.js.map +1 -1
  58. package/lib/cjs/decorators/common/name.js.map +1 -1
  59. package/lib/cjs/decorators/common/nullable.js.map +1 -1
  60. package/lib/cjs/decorators/common/oneOf.js.map +1 -1
  61. package/lib/cjs/decorators/common/optional.js.map +1 -1
  62. package/lib/cjs/decorators/common/pattern.js.map +1 -1
  63. package/lib/cjs/decorators/common/property.js.map +1 -1
  64. package/lib/cjs/decorators/common/readOnly.js.map +1 -1
  65. package/lib/cjs/decorators/common/recordOf.js.map +1 -1
  66. package/lib/cjs/decorators/common/required.js.map +1 -1
  67. package/lib/cjs/decorators/common/requiredGroups.js.map +1 -1
  68. package/lib/cjs/decorators/common/schema.js.map +1 -1
  69. package/lib/cjs/decorators/common/title.js.map +1 -1
  70. package/lib/cjs/decorators/common/typeError.js.map +1 -1
  71. package/lib/cjs/decorators/common/writeOnly.js.map +1 -1
  72. package/lib/cjs/decorators/config/jsonEntityComponent.js.map +1 -1
  73. package/lib/cjs/decorators/generics/genericOf.js.map +1 -1
  74. package/lib/cjs/decorators/generics/generics.js.map +1 -1
  75. package/lib/cjs/decorators/operations/acceptMime.js.map +1 -1
  76. package/lib/cjs/decorators/operations/consumes.js.map +1 -1
  77. package/lib/cjs/decorators/operations/contentType.js.map +1 -1
  78. package/lib/cjs/decorators/operations/deprecated.js.map +1 -1
  79. package/lib/cjs/decorators/operations/header.js.map +1 -1
  80. package/lib/cjs/decorators/operations/in.js.map +1 -1
  81. package/lib/cjs/decorators/operations/inFile.js.map +1 -1
  82. package/lib/cjs/decorators/operations/location.js.map +1 -1
  83. package/lib/cjs/decorators/operations/operationId.js.map +1 -1
  84. package/lib/cjs/decorators/operations/operationPath.js.map +1 -1
  85. package/lib/cjs/decorators/operations/partial.js.map +1 -1
  86. package/lib/cjs/decorators/operations/path.js.map +1 -1
  87. package/lib/cjs/decorators/operations/produces.js.map +1 -1
  88. package/lib/cjs/decorators/operations/redirect.js.map +1 -1
  89. package/lib/cjs/decorators/operations/returns.js.map +1 -1
  90. package/lib/cjs/decorators/operations/route.js.map +1 -1
  91. package/lib/cjs/decorators/operations/security.js.map +1 -1
  92. package/lib/cjs/decorators/operations/status.js.map +1 -1
  93. package/lib/cjs/decorators/operations/summary.js.map +1 -1
  94. package/lib/cjs/decorators/operations/tags.js.map +1 -1
  95. package/lib/cjs/decorators/operations/view.js.map +1 -1
  96. package/lib/cjs/domain/DecoratorContext.js.map +1 -1
  97. package/lib/cjs/domain/JsonAliasMap.js.map +1 -1
  98. package/lib/cjs/domain/JsonClassStore.js.map +1 -1
  99. package/lib/cjs/domain/JsonDiscriminator.js.map +1 -1
  100. package/lib/cjs/domain/JsonEntityStore.js.map +1 -1
  101. package/lib/cjs/domain/JsonFormatTypes.js.map +1 -1
  102. package/lib/cjs/domain/JsonLazyRef.js.map +1 -1
  103. package/lib/cjs/domain/JsonMap.js.map +1 -1
  104. package/lib/cjs/domain/JsonMethodStore.js.map +1 -1
  105. package/lib/cjs/domain/JsonOperation.js.map +1 -1
  106. package/lib/cjs/domain/JsonOperationPathsMap.js.map +1 -1
  107. package/lib/cjs/domain/JsonOperationRoute.js.map +1 -1
  108. package/lib/cjs/domain/JsonParameter.js.map +1 -1
  109. package/lib/cjs/domain/JsonParameterStore.js.map +1 -1
  110. package/lib/cjs/domain/JsonParameterTypes.js.map +1 -1
  111. package/lib/cjs/domain/JsonPropertyStore.js.map +1 -1
  112. package/lib/cjs/domain/JsonRequestBody.js.map +1 -1
  113. package/lib/cjs/domain/JsonResponse.js.map +1 -1
  114. package/lib/cjs/domain/JsonSchema.js +1 -1
  115. package/lib/cjs/domain/JsonSchema.js.map +1 -1
  116. package/lib/cjs/domain/SpecTypes.js.map +1 -1
  117. package/lib/cjs/hooks/alterIgnore.js.map +1 -1
  118. package/lib/cjs/hooks/alterOneOf.js.map +1 -1
  119. package/lib/cjs/hooks/alterRequiredGroups.js.map +1 -1
  120. package/lib/cjs/index.js +1 -0
  121. package/lib/cjs/index.js.map +1 -1
  122. package/lib/cjs/interfaces/IgnoreCallback.js.map +1 -1
  123. package/lib/cjs/interfaces/JsonHookContext.js.map +1 -1
  124. package/lib/cjs/interfaces/JsonOpenSpec.js.map +1 -1
  125. package/lib/cjs/interfaces/JsonSchemaOptions.js.map +1 -1
  126. package/lib/cjs/registries/JsonSchemaMapperContainer.js.map +1 -1
  127. package/lib/cjs/registries/enumRegistries.js.map +1 -1
  128. package/lib/cjs/utils/buildPath.js.map +1 -1
  129. package/lib/cjs/utils/concatParameters.js.map +1 -1
  130. package/lib/cjs/utils/concatPath.js.map +1 -1
  131. package/lib/cjs/utils/defineStatusModel.js.map +1 -1
  132. package/lib/cjs/utils/from.js.map +1 -1
  133. package/lib/cjs/utils/generateSpec.js.map +1 -1
  134. package/lib/cjs/utils/generics.js.map +1 -1
  135. package/lib/cjs/utils/getComputedType.js +1 -1
  136. package/lib/cjs/utils/getComputedType.js.map +1 -1
  137. package/lib/cjs/utils/getInheritedStores.js.map +1 -1
  138. package/lib/cjs/utils/getJsonEntityStore.js.map +1 -1
  139. package/lib/cjs/utils/getJsonPathParameters.js.map +1 -1
  140. package/lib/cjs/utils/getJsonSchema.js.map +1 -1
  141. package/lib/cjs/utils/getJsonType.js.map +1 -1
  142. package/lib/cjs/utils/getOperationsRoutes.js.map +1 -1
  143. package/lib/cjs/utils/getOperationsStores.js.map +1 -1
  144. package/lib/cjs/utils/getPropertiesStores.js.map +1 -1
  145. package/lib/cjs/utils/getRequiredProperties.js.map +1 -1
  146. package/lib/cjs/utils/getSpec.js.map +1 -1
  147. package/lib/cjs/utils/getSpecType.js.map +1 -1
  148. package/lib/cjs/utils/inlineEnums.js +11 -0
  149. package/lib/cjs/utils/inlineEnums.js.map +1 -0
  150. package/lib/cjs/utils/isSuccessStatus.js.map +1 -1
  151. package/lib/cjs/utils/mapHeaders.js.map +1 -1
  152. package/lib/cjs/utils/mapNullableType.js.map +1 -1
  153. package/lib/cjs/utils/mapOpenSpec.js.map +1 -1
  154. package/lib/cjs/utils/mapOpenSpec2.js.map +1 -1
  155. package/lib/cjs/utils/mapOpenSpec3.js.map +1 -1
  156. package/lib/cjs/utils/mapOpenSpecInfo.js.map +1 -1
  157. package/lib/cjs/utils/mapRouteOptions.js.map +1 -1
  158. package/lib/cjs/utils/matchGroups.js.map +1 -1
  159. package/lib/cjs/utils/mergeOperation.js.map +1 -1
  160. package/lib/cjs/utils/mergeSpec.js.map +1 -1
  161. package/lib/cjs/utils/operationIdFormatter.js.map +1 -1
  162. package/lib/cjs/utils/ref.js.map +1 -1
  163. package/lib/cjs/utils/serializeEnumValues.js.map +1 -1
  164. package/lib/cjs/utils/toJsonMapCollection.js.map +1 -1
  165. package/lib/cjs/utils/toJsonRegex.js.map +1 -1
  166. package/lib/cjs/utils/transformToOS2.js.map +1 -1
  167. package/lib/cjs/utils/withErrorMsg.js.map +1 -1
  168. package/lib/esm/components/anyMapper.js.map +1 -1
  169. package/lib/esm/components/classMapper.js.map +1 -1
  170. package/lib/esm/components/genericsMapper.js.map +1 -1
  171. package/lib/esm/components/inheritedClassMapper.js.map +1 -1
  172. package/lib/esm/components/itemMapper.js.map +1 -1
  173. package/lib/esm/components/lazyRefMapper.js.map +1 -1
  174. package/lib/esm/components/mapMapper.js.map +1 -1
  175. package/lib/esm/components/objectMapper.js.map +1 -1
  176. package/lib/esm/components/ofMapper.js.map +1 -1
  177. package/lib/esm/components/propertiesMapper.js.map +1 -1
  178. package/lib/esm/components/schemaMapper.js +2 -0
  179. package/lib/esm/components/schemaMapper.js.map +1 -1
  180. package/lib/esm/constants/httpMethods.js.map +1 -1
  181. package/lib/esm/constants/httpStatusMessages.js.map +1 -1
  182. package/lib/esm/decorators/class/children.js.map +1 -1
  183. package/lib/esm/decorators/class/discriminatorValue.js.map +1 -1
  184. package/lib/esm/decorators/collections/collectionContains.js.map +1 -1
  185. package/lib/esm/decorators/collections/collectionOf.js.map +1 -1
  186. package/lib/esm/decorators/collections/maxItems.js.map +1 -1
  187. package/lib/esm/decorators/collections/maxProperties.js.map +1 -1
  188. package/lib/esm/decorators/collections/minItems.js.map +1 -1
  189. package/lib/esm/decorators/collections/minProperties.js.map +1 -1
  190. package/lib/esm/decorators/collections/uniqueItems.js.map +1 -1
  191. package/lib/esm/decorators/common/additionalProperties.js.map +1 -1
  192. package/lib/esm/decorators/common/allOf.js.map +1 -1
  193. package/lib/esm/decorators/common/allow.js.map +1 -1
  194. package/lib/esm/decorators/common/any.js.map +1 -1
  195. package/lib/esm/decorators/common/anyOf.js.map +1 -1
  196. package/lib/esm/decorators/common/const.js.map +1 -1
  197. package/lib/esm/decorators/common/customKey.js.map +1 -1
  198. package/lib/esm/decorators/common/default.js.map +1 -1
  199. package/lib/esm/decorators/common/defaultMsg.js.map +1 -1
  200. package/lib/esm/decorators/common/description.js.map +1 -1
  201. package/lib/esm/decorators/common/discriminatorKey.js.map +1 -1
  202. package/lib/esm/decorators/common/enum.js.map +1 -1
  203. package/lib/esm/decorators/common/errorMsg.js.map +1 -1
  204. package/lib/esm/decorators/common/example.js.map +1 -1
  205. package/lib/esm/decorators/common/examples.js.map +1 -1
  206. package/lib/esm/decorators/common/exclusiveMaximum.js.map +1 -1
  207. package/lib/esm/decorators/common/exclusiveMinimum.js.map +1 -1
  208. package/lib/esm/decorators/common/format.js.map +1 -1
  209. package/lib/esm/decorators/common/forwardGroups.js.map +1 -1
  210. package/lib/esm/decorators/common/groups.js.map +1 -1
  211. package/lib/esm/decorators/common/hidden.js.map +1 -1
  212. package/lib/esm/decorators/common/ignore.js.map +1 -1
  213. package/lib/esm/decorators/common/integer.js.map +1 -1
  214. package/lib/esm/decorators/common/jsonEntityFn.js.map +1 -1
  215. package/lib/esm/decorators/common/maxLength.js.map +1 -1
  216. package/lib/esm/decorators/common/maximum.js.map +1 -1
  217. package/lib/esm/decorators/common/minLength.js.map +1 -1
  218. package/lib/esm/decorators/common/minimum.js.map +1 -1
  219. package/lib/esm/decorators/common/multipleOf.js.map +1 -1
  220. package/lib/esm/decorators/common/name.js.map +1 -1
  221. package/lib/esm/decorators/common/nullable.js.map +1 -1
  222. package/lib/esm/decorators/common/oneOf.js.map +1 -1
  223. package/lib/esm/decorators/common/optional.js.map +1 -1
  224. package/lib/esm/decorators/common/pattern.js.map +1 -1
  225. package/lib/esm/decorators/common/property.js.map +1 -1
  226. package/lib/esm/decorators/common/readOnly.js.map +1 -1
  227. package/lib/esm/decorators/common/recordOf.js.map +1 -1
  228. package/lib/esm/decorators/common/required.js.map +1 -1
  229. package/lib/esm/decorators/common/requiredGroups.js.map +1 -1
  230. package/lib/esm/decorators/common/schema.js.map +1 -1
  231. package/lib/esm/decorators/common/title.js.map +1 -1
  232. package/lib/esm/decorators/common/typeError.js.map +1 -1
  233. package/lib/esm/decorators/common/writeOnly.js.map +1 -1
  234. package/lib/esm/decorators/config/jsonEntityComponent.js.map +1 -1
  235. package/lib/esm/decorators/generics/genericOf.js.map +1 -1
  236. package/lib/esm/decorators/generics/generics.js.map +1 -1
  237. package/lib/esm/decorators/operations/acceptMime.js.map +1 -1
  238. package/lib/esm/decorators/operations/consumes.js.map +1 -1
  239. package/lib/esm/decorators/operations/contentType.js.map +1 -1
  240. package/lib/esm/decorators/operations/deprecated.js.map +1 -1
  241. package/lib/esm/decorators/operations/header.js.map +1 -1
  242. package/lib/esm/decorators/operations/in.js.map +1 -1
  243. package/lib/esm/decorators/operations/inFile.js.map +1 -1
  244. package/lib/esm/decorators/operations/location.js.map +1 -1
  245. package/lib/esm/decorators/operations/operationId.js.map +1 -1
  246. package/lib/esm/decorators/operations/operationPath.js.map +1 -1
  247. package/lib/esm/decorators/operations/partial.js.map +1 -1
  248. package/lib/esm/decorators/operations/path.js.map +1 -1
  249. package/lib/esm/decorators/operations/produces.js.map +1 -1
  250. package/lib/esm/decorators/operations/redirect.js.map +1 -1
  251. package/lib/esm/decorators/operations/returns.js.map +1 -1
  252. package/lib/esm/decorators/operations/route.js.map +1 -1
  253. package/lib/esm/decorators/operations/security.js.map +1 -1
  254. package/lib/esm/decorators/operations/status.js.map +1 -1
  255. package/lib/esm/decorators/operations/summary.js.map +1 -1
  256. package/lib/esm/decorators/operations/tags.js.map +1 -1
  257. package/lib/esm/decorators/operations/view.js.map +1 -1
  258. package/lib/esm/domain/DecoratorContext.js.map +1 -1
  259. package/lib/esm/domain/JsonAliasMap.js.map +1 -1
  260. package/lib/esm/domain/JsonClassStore.js.map +1 -1
  261. package/lib/esm/domain/JsonDiscriminator.js.map +1 -1
  262. package/lib/esm/domain/JsonEntityStore.js.map +1 -1
  263. package/lib/esm/domain/JsonFormatTypes.js.map +1 -1
  264. package/lib/esm/domain/JsonLazyRef.js.map +1 -1
  265. package/lib/esm/domain/JsonMap.js.map +1 -1
  266. package/lib/esm/domain/JsonMethodStore.js.map +1 -1
  267. package/lib/esm/domain/JsonOperation.js.map +1 -1
  268. package/lib/esm/domain/JsonOperationPathsMap.js.map +1 -1
  269. package/lib/esm/domain/JsonOperationRoute.js.map +1 -1
  270. package/lib/esm/domain/JsonParameter.js.map +1 -1
  271. package/lib/esm/domain/JsonParameterStore.js.map +1 -1
  272. package/lib/esm/domain/JsonParameterTypes.js.map +1 -1
  273. package/lib/esm/domain/JsonPropertyStore.js.map +1 -1
  274. package/lib/esm/domain/JsonRequestBody.js.map +1 -1
  275. package/lib/esm/domain/JsonResponse.js.map +1 -1
  276. package/lib/esm/domain/JsonSchema.js +1 -1
  277. package/lib/esm/domain/JsonSchema.js.map +1 -1
  278. package/lib/esm/domain/SpecTypes.js.map +1 -1
  279. package/lib/esm/hooks/alterIgnore.js.map +1 -1
  280. package/lib/esm/hooks/alterOneOf.js.map +1 -1
  281. package/lib/esm/hooks/alterRequiredGroups.js.map +1 -1
  282. package/lib/esm/index.js +1 -0
  283. package/lib/esm/index.js.map +1 -1
  284. package/lib/esm/interfaces/IgnoreCallback.js.map +1 -1
  285. package/lib/esm/interfaces/JsonHookContext.js.map +1 -1
  286. package/lib/esm/interfaces/JsonOpenSpec.js.map +1 -1
  287. package/lib/esm/interfaces/JsonSchemaOptions.js.map +1 -1
  288. package/lib/esm/registries/JsonSchemaMapperContainer.js.map +1 -1
  289. package/lib/esm/registries/enumRegistries.js.map +1 -1
  290. package/lib/esm/utils/buildPath.js.map +1 -1
  291. package/lib/esm/utils/concatParameters.js.map +1 -1
  292. package/lib/esm/utils/concatPath.js.map +1 -1
  293. package/lib/esm/utils/defineStatusModel.js.map +1 -1
  294. package/lib/esm/utils/from.js.map +1 -1
  295. package/lib/esm/utils/generateSpec.js.map +1 -1
  296. package/lib/esm/utils/generics.js.map +1 -1
  297. package/lib/esm/utils/getComputedType.js +1 -1
  298. package/lib/esm/utils/getComputedType.js.map +1 -1
  299. package/lib/esm/utils/getInheritedStores.js.map +1 -1
  300. package/lib/esm/utils/getJsonEntityStore.js.map +1 -1
  301. package/lib/esm/utils/getJsonPathParameters.js.map +1 -1
  302. package/lib/esm/utils/getJsonSchema.js.map +1 -1
  303. package/lib/esm/utils/getJsonType.js.map +1 -1
  304. package/lib/esm/utils/getOperationsRoutes.js.map +1 -1
  305. package/lib/esm/utils/getOperationsStores.js.map +1 -1
  306. package/lib/esm/utils/getPropertiesStores.js.map +1 -1
  307. package/lib/esm/utils/getRequiredProperties.js.map +1 -1
  308. package/lib/esm/utils/getSpec.js.map +1 -1
  309. package/lib/esm/utils/getSpecType.js.map +1 -1
  310. package/lib/esm/utils/inlineEnums.js +7 -0
  311. package/lib/esm/utils/inlineEnums.js.map +1 -0
  312. package/lib/esm/utils/isSuccessStatus.js.map +1 -1
  313. package/lib/esm/utils/mapHeaders.js.map +1 -1
  314. package/lib/esm/utils/mapNullableType.js.map +1 -1
  315. package/lib/esm/utils/mapOpenSpec.js.map +1 -1
  316. package/lib/esm/utils/mapOpenSpec2.js.map +1 -1
  317. package/lib/esm/utils/mapOpenSpec3.js.map +1 -1
  318. package/lib/esm/utils/mapOpenSpecInfo.js.map +1 -1
  319. package/lib/esm/utils/mapRouteOptions.js.map +1 -1
  320. package/lib/esm/utils/matchGroups.js.map +1 -1
  321. package/lib/esm/utils/mergeOperation.js.map +1 -1
  322. package/lib/esm/utils/mergeSpec.js.map +1 -1
  323. package/lib/esm/utils/operationIdFormatter.js.map +1 -1
  324. package/lib/esm/utils/ref.js.map +1 -1
  325. package/lib/esm/utils/serializeEnumValues.js.map +1 -1
  326. package/lib/esm/utils/toJsonMapCollection.js.map +1 -1
  327. package/lib/esm/utils/toJsonRegex.js.map +1 -1
  328. package/lib/esm/utils/transformToOS2.js.map +1 -1
  329. package/lib/esm/utils/withErrorMsg.js.map +1 -1
  330. package/lib/tsconfig.esm.tsbuildinfo +1 -0
  331. package/lib/tsconfig.tsbuildinfo +1 -0
  332. package/lib/types/domain/JsonAliasMap.d.ts +2 -2
  333. package/lib/types/domain/JsonMethodStore.d.ts +1 -1
  334. package/lib/types/domain/JsonParameterStore.d.ts +1 -1
  335. package/lib/types/domain/JsonPropertyStore.d.ts +1 -1
  336. package/lib/types/domain/JsonRequestBody.d.ts +1 -1
  337. package/lib/types/domain/JsonResponse.d.ts +1 -1
  338. package/lib/types/domain/JsonSchema.d.ts +1 -1
  339. package/lib/types/index.d.ts +1 -0
  340. package/lib/types/interfaces/JsonSchemaOptions.d.ts +1 -0
  341. package/lib/types/utils/generics.d.ts +2 -2
  342. package/lib/types/utils/getSpec.d.ts +1 -1
  343. package/lib/types/utils/inlineEnums.d.ts +3 -0
  344. package/lib/types/utils/withErrorMsg.d.ts +1 -1
  345. package/package.json +16 -15
  346. package/{tsconfig.compile.esm.json → tsconfig.esm.json} +15 -5
  347. package/coverage.json +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"getSpecType.js","sourceRoot":"","sources":["../../../src/utils/getSpecType.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAoC;IACtE,OAAO,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;AACnE,CAAC","sourcesContent":["import {OpenSpec2, OpenSpec3} from \"@tsed/openspec\";\nimport {SpecTypes} from \"../domain/SpecTypes\";\n\n/**\n * @ignore\n * @param version\n */\nexport function getSpecType(version: string) {\n return version.startsWith(\"3.\") ? SpecTypes.OPENAPI : SpecTypes.SWAGGER;\n}\n\n/**\n * @ignore\n * @param spec\n */\nexport function getSpecTypeFromSpec(spec: Partial<OpenSpec2 | OpenSpec3>) {\n return \"openapi\" in spec ? SpecTypes.OPENAPI : SpecTypes.SWAGGER;\n}\n"]}
1
+ {"version":3,"file":"getSpecType.js","sourceRoot":"","sources":["../../../src/utils/getSpecType.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAoC;IACtE,OAAO,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;AACnE,CAAC"}
@@ -0,0 +1,7 @@
1
+ export function inlineEnums(obj, schema, options) {
2
+ if (options.inlineEnums && obj.enum?.isJsonSchema) {
3
+ obj.enum = obj.enum.toJSON().enum;
4
+ }
5
+ return obj;
6
+ }
7
+ //# sourceMappingURL=inlineEnums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inlineEnums.js","sourceRoot":"","sources":["../../../src/utils/inlineEnums.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,WAAW,CAAC,GAAQ,EAAE,MAAkB,EAAE,OAA0B;IAClF,IAAI,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE;QACjD,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;KACnC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"isSuccessStatus.js","sourceRoot":"","sources":["../../../src/utils/isSuccessStatus.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAiC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;AAChI,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAiC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC","sourcesContent":["export const isSuccessStatus = (code: string | number | undefined) => Number(code) && 200 <= Number(code) && Number(code) < 300;\nexport const isRedirectionStatus = (code: string | number | undefined) => Number(code) && 300 <= Number(code) && Number(code) < 400;\n"]}
1
+ {"version":3,"file":"isSuccessStatus.js","sourceRoot":"","sources":["../../../src/utils/isSuccessStatus.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAiC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;AAChI,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAiC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapHeaders.js","sourceRoot":"","sources":["../../../src/utils/mapHeaders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAGvC;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAAoB;IAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,UAAuC,EAAE,GAAW,EAAE,EAAE;QAC1F,MAAM,KAAK,GAAQ,OAAO,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,IAAI,GAAG,OAAO,KAAK,CAAC;QAExB,IAAI,OAAO,GAAQ;YACjB,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YAChF,OAAO,OAAO,CAAC,KAAK,CAAC;YACrB,IAAI,GAAG,OAAO,OAAO,CAAC,OAAO,CAAC;SAC/B;QAED,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAEpC,UAAU,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEvC,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC","sourcesContent":["import {cleanObject} from \"@tsed/core\";\nimport {JsonHeader, JsonHeaders} from \"../interfaces/JsonOpenSpec\";\n\n/**\n * Map input header to a standard open spec header\n * @param headers\n * @ignore\n */\nexport function mapHeaders(headers: JsonHeaders): {[key: string]: JsonHeader} {\n return Object.keys(headers).reduce((newHeaders: {[key: string]: JsonHeader}, key: string) => {\n const value: any = headers[key];\n\n let type = typeof value;\n\n let options: any = {\n example: value\n };\n\n if (type === \"object\") {\n options = value;\n options.example = options.value === undefined ? options.example : options.value;\n delete options.value;\n type = typeof options.example;\n }\n\n options.type = options.type || type;\n\n newHeaders[key] = cleanObject(options);\n\n return newHeaders;\n }, {});\n}\n"]}
1
+ {"version":3,"file":"mapHeaders.js","sourceRoot":"","sources":["../../../src/utils/mapHeaders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAGvC;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAAoB;IAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,UAAuC,EAAE,GAAW,EAAE,EAAE;QAC1F,MAAM,KAAK,GAAQ,OAAO,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,IAAI,GAAG,OAAO,KAAK,CAAC;QAExB,IAAI,OAAO,GAAQ;YACjB,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YAChF,OAAO,OAAO,CAAC,KAAK,CAAC;YACrB,IAAI,GAAG,OAAO,OAAO,CAAC,OAAO,CAAC;SAC/B;QAED,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAEpC,UAAU,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEvC,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapNullableType.js","sourceRoot":"","sources":["../../../src/utils/mapNullableType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAG9C,SAAS,WAAW,CAAC,GAAQ;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAQ,EAAE,MAAyB,EAAE,OAA0B;IAC7F,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE;QACvB,OAAO,GAAG,CAAC;KACZ;IACD,IAAI,KAAK,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE1D,QAAQ,OAAO,CAAC,QAAQ,EAAE;QACxB,QAAQ;QACR,KAAK,SAAS,CAAC,IAAI;YACjB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gBACtB,IAAI,GAAG,CAAC,KAAK,EAAE;oBACb,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;wBACrB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;4BAChB,IAAI,EAAE,MAAM;yBACb,CAAC,CAAC;qBACJ;iBACF;qBAAM;oBACL,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;iBACrC;aACF;YACD,MAAM;QAER,KAAK,SAAS,CAAC,OAAO;YACpB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;YAEpB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;gBACd,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;oBAC1C,OAAO,GAAG,CAAC,IAAI,CAAC;iBACjB;qBAAM;oBACL,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;iBACrB;aACF;YACD,MAAM;KACT;IAED,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import {uniq} from \"@tsed/core\";\nimport type {JsonSchema} from \"../domain/JsonSchema\";\nimport {SpecTypes} from \"../domain/SpecTypes\";\nimport type {JsonSchemaOptions} from \"../interfaces/JsonSchemaOptions\";\n\nfunction hasNullable(obj: any) {\n return obj.oneOf.find((o: any) => o.type === \"null\");\n}\n\nexport function mapNullableType(obj: any, schema: JsonSchema | null, options: JsonSchemaOptions) {\n if (!schema?.isNullable) {\n return obj;\n }\n let types: string[] = [].concat(obj.type).filter(Boolean);\n\n switch (options.specType) {\n default:\n case SpecTypes.JSON:\n if (!obj.discriminator) {\n if (obj.oneOf) {\n if (!hasNullable(obj)) {\n obj.oneOf.unshift({\n type: \"null\"\n });\n }\n } else {\n obj.type = uniq([\"null\", ...types]);\n }\n }\n break;\n\n case SpecTypes.OPENAPI:\n obj.nullable = true;\n\n if (!obj.oneOf) {\n if (types.length > 1) {\n obj.oneOf = types.map((type) => ({type}));\n delete obj.type;\n } else {\n obj.type = types[0];\n }\n }\n break;\n }\n\n return obj;\n}\n"]}
1
+ {"version":3,"file":"mapNullableType.js","sourceRoot":"","sources":["../../../src/utils/mapNullableType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAG9C,SAAS,WAAW,CAAC,GAAQ;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAQ,EAAE,MAAyB,EAAE,OAA0B;IAC7F,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE;QACvB,OAAO,GAAG,CAAC;KACZ;IACD,IAAI,KAAK,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE1D,QAAQ,OAAO,CAAC,QAAQ,EAAE;QACxB,QAAQ;QACR,KAAK,SAAS,CAAC,IAAI;YACjB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;gBACtB,IAAI,GAAG,CAAC,KAAK,EAAE;oBACb,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;wBACrB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;4BAChB,IAAI,EAAE,MAAM;yBACb,CAAC,CAAC;qBACJ;iBACF;qBAAM;oBACL,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;iBACrC;aACF;YACD,MAAM;QAER,KAAK,SAAS,CAAC,OAAO;YACpB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;YAEpB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;gBACd,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;oBAC1C,OAAO,GAAG,CAAC,IAAI,CAAC;iBACjB;qBAAM;oBACL,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;iBACrB;aACF;YACD,MAAM;KACT;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapOpenSpec.js","sourceRoot":"","sources":["../../../src/utils/mapOpenSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAS,EAAE,EAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAM;IACvF,WAAW,GAAG,WAAW,IAAI,QAAQ,CAAmB,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAE3G,MAAM,OAAO,GAAG;QACd,WAAW;QACX,WAAW;KACZ,CAAC;IAEF,QAAQ,WAAW,CAAC,WAAW,CAAC,EAAE;QAChC,KAAK,SAAS,CAAC,OAAO;YACpB,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACjE,MAAM;QACR,QAAQ;QACR,KAAK,SAAS,CAAC,OAAO;YACpB,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACjE,MAAM;KACT;IAED,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEjC,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAChF,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IAExE,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import {getValue, setValue} from \"@tsed/core\";\nimport {OpenSpec2, OpenSpec3, OpenSpecVersions} from \"@tsed/openspec\";\nimport {getSpecType} from \"./getSpecType\";\nimport {mapOpenSpec2} from \"./mapOpenSpec2\";\nimport {SpecTypes} from \"../domain/SpecTypes\";\nimport {mapOpenSpec3} from \"./mapOpenSpec3\";\nimport {mergeSpec} from \"./mergeSpec\";\n\n/**\n * @ignore\n * @param spec\n * @param fileSpec\n * @param version\n * @param acceptMimes\n * @param specVersion\n */\nexport function mapOpenSpec(spec: any, {fileSpec, acceptMimes, specVersion, version}: any): Partial<OpenSpec2 | OpenSpec3> {\n specVersion = specVersion || getValue<OpenSpecVersions>(spec, \"openapi\", getValue(spec, \"swagger\", \"2.0\"));\n\n const options = {\n specVersion,\n acceptMimes\n };\n\n switch (getSpecType(specVersion)) {\n case SpecTypes.OPENAPI:\n spec = mapOpenSpec3(spec, options);\n fileSpec = fileSpec ? mapOpenSpec3(fileSpec, options) : fileSpec;\n break;\n default:\n case SpecTypes.SWAGGER:\n spec = mapOpenSpec2(spec, options);\n fileSpec = fileSpec ? mapOpenSpec2(fileSpec, options) : fileSpec;\n break;\n }\n\n spec = mergeSpec(spec, fileSpec);\n\n setValue(spec, \"info.title\", getValue(spec, \"info.title\", \"Api documentation\"));\n setValue(spec, \"info.version\", getValue(spec, \"info.version\", version));\n\n return spec;\n}\n"]}
1
+ {"version":3,"file":"mapOpenSpec.js","sourceRoot":"","sources":["../../../src/utils/mapOpenSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAS,EAAE,EAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAM;IACvF,WAAW,GAAG,WAAW,IAAI,QAAQ,CAAmB,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAE3G,MAAM,OAAO,GAAG;QACd,WAAW;QACX,WAAW;KACZ,CAAC;IAEF,QAAQ,WAAW,CAAC,WAAW,CAAC,EAAE;QAChC,KAAK,SAAS,CAAC,OAAO;YACpB,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACjE,MAAM;QACR,QAAQ;QACR,KAAK,SAAS,CAAC,OAAO;YACpB,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACjE,MAAM;KACT;IAED,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEjC,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAChF,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IAExE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapOpenSpec2.js","sourceRoot":"","sources":["../../../src/utils/mapOpenSpec2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAwB,EACxB,EAAC,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,CAAC,kBAAkB,CAAC,EAAM;IAE/D,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,CAAC,kBAAkB,CAAC,EAC/B,WAAW,EACX,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,YAAY,EACb,GAAG,IAAI,CAAC;IAET,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC7C,QAAQ,EAAE,IAAI,CAAS,CAAC,GAAG,QAAQ,CAAC,CAAC;QACrC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACjD,KAAK;QACL,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,WAAW;QACX,UAAU;QACV,SAAS;QACT,QAAQ;QACR,mBAAmB;QACnB,IAAI;QACJ,YAAY;KACb,CAAC;AACJ,CAAC","sourcesContent":["import {getValue, uniq} from \"@tsed/core\";\nimport {OpenSpec2} from \"@tsed/openspec\";\nimport {mapOpenSpecInfo} from \"./mapOpenSpecInfo\";\n\n/**\n * @ignore\n * @param spec\n * @param version\n * @param specVersion\n * @param acceptMimes\n */\nexport function mapOpenSpec2(\n spec: Partial<OpenSpec2>,\n {version, specVersion, acceptMimes = [\"application/json\"]}: any\n): Partial<OpenSpec2> {\n const {\n paths,\n security,\n tags,\n host,\n basePath,\n schemes,\n consumes = [],\n produces = [\"application/json\"],\n definitions,\n parameters,\n responses,\n securityDefinitions,\n externalDocs\n } = spec;\n\n return {\n swagger: specVersion,\n consumes: uniq([...acceptMimes, ...consumes]),\n produces: uniq<string>([...produces]),\n info: mapOpenSpecInfo(getValue(spec, \"info\", {})),\n paths,\n host,\n basePath,\n schemes,\n definitions,\n parameters,\n responses,\n security,\n securityDefinitions,\n tags,\n externalDocs\n };\n}\n"]}
1
+ {"version":3,"file":"mapOpenSpec2.js","sourceRoot":"","sources":["../../../src/utils/mapOpenSpec2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAwB,EACxB,EAAC,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,CAAC,kBAAkB,CAAC,EAAM;IAE/D,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,CAAC,kBAAkB,CAAC,EAC/B,WAAW,EACX,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,YAAY,EACb,GAAG,IAAI,CAAC;IAET,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC7C,QAAQ,EAAE,IAAI,CAAS,CAAC,GAAG,QAAQ,CAAC,CAAC;QACrC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACjD,KAAK;QACL,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,WAAW;QACX,UAAU;QACV,SAAS;QACT,QAAQ;QACR,mBAAmB;QACnB,IAAI;QACJ,YAAY;KACb,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapOpenSpec3.js","sourceRoot":"","sources":["../../../src/utils/mapOpenSpec3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAS,EAAE,EAAC,WAAW,EAAM;IACxD,MAAM,EAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAC,GAAG,IAAI,CAAC;IAExE,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO;QACP,KAAK;QACL,UAAU;QACV,QAAQ;QACR,IAAI;QACJ,YAAY;KACb,CAAC;AACJ,CAAC","sourcesContent":["import {getValue} from \"@tsed/core\";\nimport {OpenSpec3} from \"@tsed/openspec\";\nimport {mapOpenSpecInfo} from \"./mapOpenSpecInfo\";\n\n/**\n * @ignore\n * @param spec\n * @param version\n * @param specVersion\n */\nexport function mapOpenSpec3(spec: any, {specVersion}: any): Partial<OpenSpec3> {\n const {servers, paths, components, security, tags, externalDocs} = spec;\n\n return {\n openapi: specVersion,\n info: mapOpenSpecInfo(getValue(spec, \"info\", {})),\n servers,\n paths,\n components,\n security,\n tags,\n externalDocs\n };\n}\n"]}
1
+ {"version":3,"file":"mapOpenSpec3.js","sourceRoot":"","sources":["../../../src/utils/mapOpenSpec3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAS,EAAE,EAAC,WAAW,EAAM;IACxD,MAAM,EAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAC,GAAG,IAAI,CAAC;IAExE,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO;QACP,KAAK;QACL,UAAU;QACV,QAAQ;QACR,IAAI;QACJ,YAAY;KACb,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapOpenSpecInfo.js","sourceRoot":"","sources":["../../../src/utils/mapOpenSpecInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAGvC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAA2B;IACzD,MAAM,EAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;IAE7E,OAAO,WAAW,CAAC;QACjB,OAAO;QACP,KAAK;QACL,WAAW;QACX,cAAc;QACd,OAAO;QACP,OAAO;KACR,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {cleanObject} from \"@tsed/core\";\nimport {OpenSpecInfo} from \"@tsed/openspec\";\n\n/**\n * @ignore\n * @param info\n */\nexport function mapOpenSpecInfo(info: Partial<OpenSpecInfo>): OpenSpecInfo {\n const {title, description, version, termsOfService, contact, license} = info;\n\n return cleanObject({\n version,\n title,\n description,\n termsOfService,\n contact,\n license\n });\n}\n"]}
1
+ {"version":3,"file":"mapOpenSpecInfo.js","sourceRoot":"","sources":["../../../src/utils/mapOpenSpecInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAGvC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAA2B;IACzD,MAAM,EAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;IAE7E,OAAO,WAAW,CAAC;QACjB,OAAO;QACP,KAAK;QACL,WAAW;QACX,cAAc;QACd,OAAO;QACP,OAAO;KACR,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapRouteOptions.js","sourceRoot":"","sources":["../../../src/utils/mapRouteOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAEtD,MAAM,UAAU,eAAe,CAAC,IAAW;IACzC,IAAI,MAAM,GAAuB,SAAS,CAAC;IAC3C,IAAI,IAAI,GAAgC,SAAS,CAAC;IAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE;QACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE;YACvE,MAAM,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAEjC,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,YAAY,MAAM,EAAE;YACpD,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC;YAElB,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CAAC,CAAC,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI;QACJ,MAAM;QACN,GAAG,EAAE,QAAQ;KACd,CAAC;AACJ,CAAC","sourcesContent":["import {HTTP_METHODS} from \"../constants/httpMethods\";\n\nexport function mapRouteOptions(args: any[]) {\n let method: string | undefined = undefined;\n let path: string | RegExp | undefined = undefined;\n\n const handlers = args.filter((arg: any) => {\n if (typeof arg === \"string\" && HTTP_METHODS.includes(arg.toLowerCase())) {\n method = arg.toLocaleUpperCase();\n\n return false;\n }\n\n if (typeof arg === \"string\" || arg instanceof RegExp) {\n path = arg || \"/\";\n\n return false;\n }\n\n return !!arg;\n });\n\n return {\n path,\n method,\n use: handlers\n };\n}\n"]}
1
+ {"version":3,"file":"mapRouteOptions.js","sourceRoot":"","sources":["../../../src/utils/mapRouteOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAEtD,MAAM,UAAU,eAAe,CAAC,IAAW;IACzC,IAAI,MAAM,GAAuB,SAAS,CAAC;IAC3C,IAAI,IAAI,GAAgC,SAAS,CAAC;IAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE;QACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE;YACvE,MAAM,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAEjC,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,YAAY,MAAM,EAAE;YACpD,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC;YAElB,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CAAC,CAAC,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI;QACJ,MAAM;QACN,GAAG,EAAE,QAAQ;KACd,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"matchGroups.js","sourceRoot":"","sources":["../../../src/utils/matchGroups.ts"],"names":[],"mappings":"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","sourcesContent":["import picomatch from \"picomatch\";\n\nfunction micromatch(list: string[], patterns: string[]) {\n patterns = ([] as string[]).concat(patterns);\n list = ([] as string[]).concat(list);\n\n let omit = new Set();\n let keep = new Set();\n let items = new Set();\n let negatives = 0;\n\n let onResult = (state: any) => {\n items.add(state.output);\n };\n\n for (let i = 0; i < patterns.length; i++) {\n let isMatch: any = picomatch(String(patterns[i]), {onResult}, true);\n let negated = isMatch.state.negated || isMatch.state.negatedExtglob;\n\n if (negated) {\n negatives++;\n }\n\n for (let item of list) {\n let matched = isMatch(item, true);\n\n let match = negated ? !matched.isMatch : matched.isMatch;\n if (!match) continue;\n\n if (negated) {\n omit.add(matched.output);\n } else {\n omit.delete(matched.output);\n keep.add(matched.output);\n }\n }\n }\n\n let result = negatives === patterns.length ? [...items] : [...keep];\n return !!result.filter((item) => !omit.has(item)).length;\n}\n\n/**\n * @ignore\n */\nexport function matchGroups(groups: string[], compareWith: string[] = []) {\n const groupsExcludes = groups.filter((group) => group.startsWith(\"!\")).map((group) => group.replace(\"!\", \"\"));\n const groupsIncludes = groups.filter((group) => !group.startsWith(\"!\"));\n\n if (groupsExcludes.length) {\n if (compareWith.length && micromatch(groupsExcludes, compareWith)) {\n return true;\n }\n }\n\n if (groupsIncludes.length) {\n return !micromatch(\n groups.filter((group) => !group.startsWith(\"!\")),\n compareWith\n );\n }\n\n return false;\n}\n"]}
1
+ {"version":3,"file":"matchGroups.js","sourceRoot":"","sources":["../../../src/utils/matchGroups.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mergeOperation.js","sourceRoot":"","sources":["../../../src/utils/mergeOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAe9D;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAQ,EACR,SAAc,EACd,EAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAwB;IAEzF,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,EAAE;QACtF,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAEzB,+BAA+B;QAC/B,IAAI,QAAQ,KAAK,SAAS,CAAC,OAAO,EAAE;YAClC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,EAAE;gBAC/C,OAAO;oBACL,GAAG,KAAK;oBACR,MAAM,EAAE;wBACN,IAAI;qBACL;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,EAAE;QACvD,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAEzB,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAE9E,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;YAChB,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAClB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;gBACtB,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC;gBACvD,GAAG,SAAS;gBACZ,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAM,EAAE,EAAE,CAAC,IAAI,CAAC;gBAC9C,UAAU;aACX;SACF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QAE5B,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,GAAG,CAAC,CAAC;AACV,CAAC","sourcesContent":["import {SpecTypes} from \"../domain/SpecTypes\";\nimport {concatParameters} from \"./concatParameters\";\nimport {getJsonPathParameters} from \"./getJsonPathParameters\";\n\n/**\n * @ignore\n */\nexport interface MergeOperationOptions {\n rootPath: string;\n specType: SpecTypes;\n operationId: (path: string) => string | undefined;\n defaultTags: string[];\n tags: string[];\n path: string;\n method: string;\n}\n\n/**\n * @ignore\n */\nexport function mergeOperation(\n obj: any,\n operation: any,\n {rootPath, specType, operationId, defaultTags, tags, path, method}: MergeOperationOptions\n) {\n const pathParameters = getJsonPathParameters(rootPath, path).map(({path, parameters}) => {\n path = path ? path : \"/\";\n\n // FIXME not on the right place\n if (specType === SpecTypes.OPENAPI) {\n parameters = parameters.map(({type, ...param}) => {\n return {\n ...param,\n schema: {\n type\n }\n };\n });\n }\n\n return {path, parameters};\n });\n\n return pathParameters.reduce((obj, {path, parameters}) => {\n parameters = concatParameters(parameters, operation);\n path = path ? path : \"/\";\n\n const operationTags = operation.tags?.length ? operation.tags : [defaultTags];\n\n obj.paths[path] = {\n ...obj.paths[path],\n [method.toLowerCase()]: {\n operationId: operation.operationId || operationId(path),\n ...operation,\n tags: operationTags.map(({name}: any) => name),\n parameters\n }\n };\n\n tags.push(...operationTags);\n\n return obj;\n }, obj);\n}\n"]}
1
+ {"version":3,"file":"mergeOperation.js","sourceRoot":"","sources":["../../../src/utils/mergeOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAe9D;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAQ,EACR,SAAc,EACd,EAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAwB;IAEzF,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,EAAE;QACtF,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAEzB,+BAA+B;QAC/B,IAAI,QAAQ,KAAK,SAAS,CAAC,OAAO,EAAE;YAClC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,EAAE;gBAC/C,OAAO;oBACL,GAAG,KAAK;oBACR,MAAM,EAAE;wBACN,IAAI;qBACL;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,EAAE;QACvD,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAEzB,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAE9E,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;YAChB,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAClB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE;gBACtB,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC;gBACvD,GAAG,SAAS;gBACZ,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAM,EAAE,EAAE,CAAC,IAAI,CAAC;gBAC9C,UAAU;aACX;SACF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QAE5B,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,GAAG,CAAC,CAAC;AACV,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mergeSpec.js","sourceRoot":"","sources":["../../../src/utils/mergeSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAE,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAGvE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAC/C,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CACnH,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;AAE1H;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;IAC7D,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;AAEhG;;GAEG;AACH,MAAM,aAAa,GAAG;IACpB,QAAQ;IACR,UAAU;IACV,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,WAAW;CAClB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAA+B,IAAmB,EAAE,KAAoB;IAC/F,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;QAC5B,QAAQ,EAAE,aAAa;QACvB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {cleanObject, deepMerge, mergeReducerBuilder} from \"@tsed/core\";\nimport {OpenSpec2, OpenSpec3} from \"@tsed/openspec\";\n\n/**\n * @ignore\n */\nexport const schemesReducer = mergeReducerBuilder(\n (current, value) => (current.type && current.type === value.type) || (current.$ref && current.$ref === value.$ref)\n);\n\n/**\n * @ignore\n */\nexport const parameters = mergeReducerBuilder((current, value) => current.in === value.in && current.name === value.name);\n\n/**\n * @ignore\n */\nexport const security = mergeReducerBuilder((current, value) => {\n return !!Object.keys(value).find((key) => !!current[key]);\n});\n\n/**\n * @ignore\n */\nexport const tagsReducer = mergeReducerBuilder((current, value) => current.name === value.name);\n\n/**\n * @ignore\n */\nconst SPEC_REDUCERS = {\n security,\n parameters,\n oneOf: schemesReducer,\n anyOf: schemesReducer,\n allOf: schemesReducer,\n tags: tagsReducer\n};\n\n/**\n * Merge two spec\n * @param spec\n * @param input\n */\nexport function mergeSpec<Spec = OpenSpec2 | OpenSpec3>(spec: Partial<Spec>, input: Partial<Spec>): Partial<Spec> {\n return deepMerge(spec, input, {\n reducers: SPEC_REDUCERS,\n cleanUndefinedProps: true\n });\n}\n"]}
1
+ {"version":3,"file":"mergeSpec.js","sourceRoot":"","sources":["../../../src/utils/mergeSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAE,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAGvE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAC/C,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CACnH,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;AAE1H;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;IAC7D,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;AAEhG;;GAEG;AACH,MAAM,aAAa,GAAG;IACpB,QAAQ;IACR,UAAU;IACV,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,WAAW;CAClB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAA+B,IAAmB,EAAE,KAAoB;IAC/F,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;QAC5B,QAAQ,EAAE,aAAa;QACvB,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"operationIdFormatter.js","sourceRoot":"","sources":["../../../src/utils/operationIdFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE;IACvD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEhD,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACxF,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/C,CAAC,CAAC;IAEF,OAAO,CAAC,IAAY,EAAE,WAAmB,EAAE,OAAe,EAAE,EAAE,EAAE;QAC9D,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,GAAG,WAAW,CAAC;QAExC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACpC,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAEnC,OAAO,WAAW,CAAC;SACpB;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,MAAM,YAAY,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;gBACpC,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAEnC,OAAO,SAAS,CAAC,GAAG,WAAW,OAAO,MAAM,EAAE,CAAC,CAAC;aACjD;SACF;QAED,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAE,GAAG,CAAC,CAAC;QAChD,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAEpC,OAAO,GAAG,WAAW,IAAI,EAAE,EAAE,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import {camelCase} from \"change-case\";\n\nconst DEFAULT_PATTERN = \"%c.%m\";\n\n/**\n * @ignore\n */\nexport function operationIdFormatter(pattern: string = \"\") {\n const OPERATION_IDS = new Map<string, number>();\n\n const transform = (name: string, propertyKey: string) => {\n const str = (pattern || DEFAULT_PATTERN).replace(/%c/, name).replace(/%m/, propertyKey);\n return pattern === \"\" ? camelCase(str) : str;\n };\n\n return (name: string, propertyKey: string, path: string = \"\") => {\n const operationId = transform(name, propertyKey);\n const operationKey = name + propertyKey;\n\n if (!OPERATION_IDS.has(operationKey)) {\n OPERATION_IDS.set(operationKey, 0);\n\n return operationId;\n }\n\n // try with paths\n const result = path.match(/{(\\w+)}/gi);\n if (result) {\n const operationKey = name + propertyKey + result[0];\n\n if (!OPERATION_IDS.has(operationKey)) {\n OPERATION_IDS.set(operationKey, 0);\n\n return camelCase(`${operationId} By ${result}`);\n }\n }\n\n const id = OPERATION_IDS.get(operationKey)! + 1;\n OPERATION_IDS.set(operationKey, id);\n\n return `${operationId}_${id}`;\n };\n}\n"]}
1
+ {"version":3,"file":"operationIdFormatter.js","sourceRoot":"","sources":["../../../src/utils/operationIdFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE;IACvD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEhD,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACxF,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/C,CAAC,CAAC;IAEF,OAAO,CAAC,IAAY,EAAE,WAAmB,EAAE,OAAe,EAAE,EAAE,EAAE;QAC9D,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,GAAG,WAAW,CAAC;QAExC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACpC,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAEnC,OAAO,WAAW,CAAC;SACpB;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE;YACV,MAAM,YAAY,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAEpD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;gBACpC,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAEnC,OAAO,SAAS,CAAC,GAAG,WAAW,OAAO,MAAM,EAAE,CAAC,CAAC;aACjD;SACF;QAED,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAE,GAAG,CAAC,CAAC;QAChD,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAEpC,OAAO,GAAG,WAAW,IAAI,EAAE,EAAE,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ref.js","sourceRoot":"","sources":["../../../src/utils/ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAG9C;;;GAGG;AACH,SAAS,OAAO,CAAC,OAA0B;IACzC,MAAM,EAAC,IAAI,GAAG,KAAK,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,EAAE,EAAC,GAAG,OAAO,CAAC;IAEvG,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAA0B;IACpE,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3C,OAAO,UAAU,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAChF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,MAAkB,EAAE,OAA0B;IACpF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;KACxB,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;IAErC,IAAI,QAAQ,IAAI,QAAQ,IAAI,SAAS,EAAE;QACrC,QAAQ,OAAO,CAAC,QAAQ,EAAE;YACxB,KAAK,SAAS,CAAC,OAAO;gBACpB,OAAO,WAAW,CAAC;oBACjB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACrC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACrC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACvC,KAAK,EAAE,CAAC,GAAG,CAAC;iBACb,CAAC,CAAC;YACL,KAAK,SAAS,CAAC,IAAI;gBACjB,OAAO,WAAW,CAAC;oBACjB,QAAQ;oBACR,SAAS;oBACT,KAAK,EAAE,CAAC,GAAG,CAAC;iBACb,CAAC,CAAC;SACN;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,KAAiB,EAAE,MAAW,EAAE,OAA0B;IAC9E,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAErD,OAAO,CAAC,OAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAEhC,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC","sourcesContent":["import {cleanObject} from \"@tsed/core\";\nimport {pascalCase} from \"change-case\";\nimport type {JsonSchema} from \"../domain/JsonSchema\";\nimport {SpecTypes} from \"../domain/SpecTypes\";\nimport {JsonSchemaOptions} from \"../interfaces/JsonSchemaOptions\";\n\n/**\n * ignore\n * @param options\n */\nfunction getHost(options: JsonSchemaOptions) {\n const {host = `#/${options.specType === \"openapi3\" ? \"components/schemas\" : \"definitions\"}`} = options;\n\n return host;\n}\n\n/**\n * @ignore\n */\nexport function createRefName(name: string, options: JsonSchemaOptions) {\n if (options.groups && options.groups.length) {\n return pascalCase(`${name} ${options.groupsName || options.groups.join(\" \")}`);\n }\n\n return name;\n}\n\n/**\n * @ignore\n */\nexport function createRef(name: string, schema: JsonSchema, options: JsonSchemaOptions) {\n const host = getHost(options);\n const ref = {\n $ref: `${host}/${name}`\n };\n\n const nullable = schema.isNullable;\n const readOnly = schema.isReadOnly;\n const writeOnly = schema.isWriteOnly;\n\n if (nullable || readOnly || writeOnly) {\n switch (options.specType) {\n case SpecTypes.OPENAPI:\n return cleanObject({\n nullable: nullable ? true : undefined,\n readOnly: readOnly ? true : undefined,\n writeOnly: writeOnly ? true : undefined,\n oneOf: [ref]\n });\n case SpecTypes.JSON:\n return cleanObject({\n readOnly,\n writeOnly,\n oneOf: [ref]\n });\n }\n }\n\n return ref;\n}\n\n/**\n * @ignore\n */\nexport function toRef(value: JsonSchema, schema: any, options: JsonSchemaOptions) {\n const name = createRefName(value.getName(), options);\n\n options.schemas![name] = schema;\n\n return createRef(name, value, options);\n}\n"]}
1
+ {"version":3,"file":"ref.js","sourceRoot":"","sources":["../../../src/utils/ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAG9C;;;GAGG;AACH,SAAS,OAAO,CAAC,OAA0B;IACzC,MAAM,EAAC,IAAI,GAAG,KAAK,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,EAAE,EAAC,GAAG,OAAO,CAAC;IAEvG,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAA0B;IACpE,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAC3C,OAAO,UAAU,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAChF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,MAAkB,EAAE,OAA0B;IACpF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;KACxB,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;IAErC,IAAI,QAAQ,IAAI,QAAQ,IAAI,SAAS,EAAE;QACrC,QAAQ,OAAO,CAAC,QAAQ,EAAE;YACxB,KAAK,SAAS,CAAC,OAAO;gBACpB,OAAO,WAAW,CAAC;oBACjB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACrC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACrC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;oBACvC,KAAK,EAAE,CAAC,GAAG,CAAC;iBACb,CAAC,CAAC;YACL,KAAK,SAAS,CAAC,IAAI;gBACjB,OAAO,WAAW,CAAC;oBACjB,QAAQ;oBACR,SAAS;oBACT,KAAK,EAAE,CAAC,GAAG,CAAC;iBACb,CAAC,CAAC;SACN;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,KAAiB,EAAE,MAAW,EAAE,OAA0B;IAC9E,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAErD,OAAO,CAAC,OAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAEhC,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"serializeEnumValues.js","sourceRoot":"","sources":["../../../src/utils/serializeEnumValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,EAAE;IAC9C,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,IAAI,EAAE;QAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,CAAM,EAAE,EAAE;YACtE,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE;gBACf,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC1B;YAED,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,UAAiB;IACnD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEvF,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAE,EAAE;QAC9B,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;IAChD,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAa,EAAE,KAAU,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAEhG,OAAO,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAC,CAAC;AACvC,CAAC","sourcesContent":["import {isObject, uniq} from \"@tsed/core\";\n\nexport const serializeEnum = (enumValue: any) => {\n if (isObject(enumValue) && enumValue !== null) {\n return Object.entries(enumValue).reduce((acc: any, [key, value]: any) => {\n if (isNaN(+key)) {\n return acc.concat(value);\n }\n\n return acc;\n }, []);\n }\n\n return enumValue;\n};\n\nexport function serializeEnumValues(enumValues: any[]) {\n const values = enumValues.reduce((acc, value) => acc.concat(serializeEnum(value)), []);\n\n const getValue = (value: any) => {\n return value === null ? \"null\" : typeof value;\n };\n\n const types = values.reduce((set: Set<any>, value: any) => set.add(getValue(value)), new Set());\n\n return {values: uniq(values), types};\n}\n"]}
1
+ {"version":3,"file":"serializeEnumValues.js","sourceRoot":"","sources":["../../../src/utils/serializeEnumValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAc,EAAE,EAAE;IAC9C,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,IAAI,EAAE;QAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,CAAM,EAAE,EAAE;YACtE,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE;gBACf,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC1B;YAED,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,UAAiB;IACnD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEvF,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAE,EAAE;QAC9B,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;IAChD,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAa,EAAE,KAAU,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAEhG,OAAO,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAC,CAAC;AACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toJsonMapCollection.js","sourceRoot":"","sources":["../../../src/utils/toJsonMapCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA6B,EAAE,KAAK,GAAG,OAAO;IAChF,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAEnC,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,IAAI,OAAO,EAAO,CAAC,CAAC;AACzB,CAAC","sourcesContent":["import {JsonMap} from \"../domain/JsonMap\";\n\n/**\n * @ignore\n */\nexport function toJsonMapCollection(content: {[key: string]: any}, klass = JsonMap) {\n return Object.entries(content).reduce((content, [key, value]) => {\n content.set(key, new klass(value));\n\n return content;\n }, new JsonMap<any>());\n}\n"]}
1
+ {"version":3,"file":"toJsonMapCollection.js","sourceRoot":"","sources":["../../../src/utils/toJsonMapCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA6B,EAAE,KAAK,GAAG,OAAO;IAChF,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAEnC,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,IAAI,OAAO,EAAO,CAAC,CAAC;AACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toJsonRegex.js","sourceRoot":"","sources":["../../../src/utils/toJsonRegex.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAwB;IAClD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC","sourcesContent":["/**\n * @ignore\n * @param pattern\n */\nexport function toJsonRegex(pattern: string | RegExp) {\n return String(pattern).replace(/^(\\/)(.*)(\\/)$/, \"$2\");\n}\n"]}
1
+ {"version":3,"file":"toJsonRegex.js","sourceRoot":"","sources":["../../../src/utils/toJsonRegex.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAwB;IAClD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transformToOS2.js","sourceRoot":"","sources":["../../../src/utils/transformToOS2.ts"],"names":[],"mappings":"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","sourcesContent":["\"use strict\";\nimport {OpenSpec2, OpenSpec3, OS3Operation} from \"@tsed/openspec\";\nimport {cleanObject} from \"@tsed/core\";\n\nconst HTTP_METHODS = [\"get\", \"put\", \"post\", \"delete\", \"options\", \"head\", \"patch\", \"trace\"];\nconst SCHEMA_PROPERTIES = [\n \"format\",\n \"minimum\",\n \"maximum\",\n \"exclusiveMinimum\",\n \"exclusiveMaximum\",\n \"minLength\",\n \"maxLength\",\n \"multipleOf\",\n \"minItems\",\n \"maxItems\",\n \"uniqueItems\",\n \"minProperties\",\n \"maxProperties\",\n \"additionalProperties\",\n \"pattern\",\n \"enum\",\n \"default\"\n];\nconst ARRAY_PROPERTIES = [\"type\", \"items\"];\n\nconst APPLICATION_JSON_REGEX = /^(application\\/json|[^;\\/ \\t]+\\/[^;\\/ \\t]+[+]json)[ \\t]*(;.*)?$/;\nconst SUPPORTED_MIME_TYPES: Record<string, any> = {\n APPLICATION_X_WWW_URLENCODED: \"application/x-www-form-urlencoded\",\n MULTIPART_FORM_DATA: \"multipart/form-data\"\n};\n\nfunction fixRef(ref: string) {\n return ref.replace(\"#/components/schemas/\", \"#/definitions/\").replace(\"#/components/\", \"#/x-components/\");\n}\n\nfunction fixRefs(obj: any) {\n if (Array.isArray(obj)) {\n obj.forEach(fixRefs);\n } else if (typeof obj === \"object\") {\n for (let key in obj) {\n if (key === \"$ref\") {\n obj.$ref = fixRef(obj.$ref);\n } else {\n fixRefs(obj[key]);\n }\n }\n }\n}\n\nfunction isJsonMimeType(type: string) {\n return new RegExp(APPLICATION_JSON_REGEX, \"i\").test(type);\n}\n\nfunction getSupportedMimeTypes(content: any) {\n const MIME_VALUES = Object.keys(SUPPORTED_MIME_TYPES).map((key) => {\n return SUPPORTED_MIME_TYPES[key];\n });\n return Object.keys(content).filter((key) => {\n return MIME_VALUES.indexOf(key) > -1 || isJsonMimeType(key);\n });\n}\n\nexport function transformSecurity(securitySchemes: any) {\n function map(security: any) {\n const {scheme, type, name, bearerFormat, flows, ...props} = security;\n\n switch (type) {\n case \"http\":\n if (scheme === \"basic\") {\n return {\n ...props,\n type: scheme\n };\n }\n\n if (scheme === \"bearer\") {\n return {\n ...props,\n type: \"apiKey\",\n name: \"Authorization\",\n in: \"header\"\n };\n }\n break;\n case \"oauth2\":\n const flowName = Object.keys(flows)[0];\n const flow = flows[flowName];\n let flowType = flowName;\n\n if (flowType === \"clientCredentials\") {\n flowType = \"application\";\n } else if (flowType === \"authorizationCode\") {\n flowType = \"accessCode\";\n }\n\n return {\n type,\n flow: flowType,\n authorizationUrl: flow.authorizationUrl,\n tokenUrl: flow.tokenUrl,\n scopes: flow.scopes\n };\n }\n }\n\n return Object.entries(securitySchemes).reduce((securityDefinitions, [key, security]) => {\n return {\n ...securityDefinitions,\n [key]: map(security)\n };\n }, {});\n}\n\nexport function transformInformation(server: any) {\n let serverUrl = server.url;\n\n const variables = server[\"variables\"] || {};\n\n for (const variable in variables) {\n const variableObject = variables[variable] || {};\n if (variableObject[\"default\"]) {\n const re = RegExp(`{${variable}}`, \"g\");\n serverUrl = serverUrl.replace(re, variableObject[\"default\"]);\n }\n }\n\n const url = new URL(serverUrl);\n\n return {\n host: url.host ? url.host : undefined,\n basePath: url.pathname,\n schemes: url.protocol !== null ? [url.protocol.substring(0, url.protocol.length - 1)] : undefined\n };\n}\n\nexport class Converter {\n private spec: any;\n\n constructor(spec: Partial<OpenSpec3>) {\n this.spec = JSON.parse(JSON.stringify(spec));\n }\n\n convertInfos() {\n const server = this.spec.servers && this.spec.servers[0];\n\n if (server) {\n return transformInformation(server);\n }\n\n return {};\n }\n\n resolveReference(base: any, obj: any, shouldClone: boolean) {\n if (!obj || !obj.$ref) {\n return obj;\n }\n\n const ref: string = obj.$ref;\n\n if (ref.startsWith(\"#\")) {\n const keys = ref.split(\"/\").map((k) => k.replace(/~1/g, \"/\").replace(/~0/g, \"~\"));\n keys.shift();\n\n let cur = base;\n keys.forEach((k) => {\n cur = cur[k];\n });\n\n return shouldClone ? JSON.parse(JSON.stringify(cur)) : cur;\n }\n }\n\n convert() {\n const spec = {\n swagger: \"2.0\",\n ...this.convertInfos(),\n paths: this.spec.paths ? this.convertOperations(this.spec.paths, this.spec) : undefined\n };\n\n if (this.spec.components) {\n this.convertSchemas();\n this.convertSecurityDefinitions();\n\n this.spec[\"x-components\"] = this.spec.components;\n delete this.spec.components;\n\n fixRefs(this.spec);\n }\n\n delete this.spec.servers;\n delete this.spec.openapi;\n delete this.spec[\"x-components\"];\n\n return cleanObject({\n ...spec,\n ...this.spec\n });\n }\n\n convertOperations(paths: any, spec: any) {\n return Object.entries(paths).reduce((paths, [path, operation]) => {\n const pathObject = (paths[path] = this.resolveReference({...spec, paths}, operation, true));\n\n this.convertParameters(pathObject); // converts common parameters\n\n Object.keys(pathObject).forEach((method) => {\n if (HTTP_METHODS.indexOf(method) >= 0) {\n const operation = (pathObject[method] = this.resolveReference({...spec, paths}, pathObject[method], true));\n\n this.convertOperationParameters(operation);\n this.convertResponses(operation);\n }\n });\n\n return paths;\n }, paths);\n }\n\n convertOperationParameters(operation: OS3Operation) {\n let content, contentKey, mediaRanges, mediaTypes;\n operation.parameters = operation.parameters || [];\n\n if (operation.requestBody) {\n let param = this.resolveReference(this.spec, operation.requestBody, true);\n\n // fixing external $ref in body\n if (operation.requestBody.content) {\n const type = getSupportedMimeTypes(operation.requestBody.content)[0];\n const structuredObj: any = {content: {}};\n const data = operation.requestBody.content[type];\n\n if (data && data.schema && data.schema.$ref && !data.schema.$ref.startsWith(\"#\")) {\n param = this.resolveReference(this.spec, data.schema, true);\n structuredObj[\"content\"][`${type}`] = {schema: param};\n param = structuredObj;\n }\n }\n\n param.name = \"body\";\n content = param.content;\n\n if (content && Object.keys(content).length) {\n mediaRanges = Object.keys(content).filter((mediaRange) => mediaRange.indexOf(\"/\") > 0);\n mediaTypes = mediaRanges.filter((range) => range.indexOf(\"*\") < 0);\n contentKey = getSupportedMimeTypes(content)[0];\n\n delete param.content;\n\n if ([SUPPORTED_MIME_TYPES.APPLICATION_X_WWW_URLENCODED, SUPPORTED_MIME_TYPES.MULTIPART_FORM_DATA].includes(contentKey)) {\n (operation as any).consumes = mediaTypes;\n\n param.in = \"formData\";\n param.schema = content[contentKey].schema;\n param.schema = this.resolveReference(this.spec, param.schema, true);\n\n if (param.schema.type === \"object\" && param.schema.properties) {\n const required = param.schema.required || [];\n\n Object.keys(param.schema.properties).forEach((name) => {\n const schema = param.schema.properties[name];\n\n // readOnly properties should not be sent in requests\n if (!schema.readOnly) {\n const formDataParam: any = {\n name,\n in: \"formData\",\n schema\n };\n if (required.indexOf(name) >= 0) {\n formDataParam.required = true;\n }\n\n operation.parameters?.push(formDataParam);\n }\n });\n } else {\n operation.parameters.push(param);\n }\n } else if (contentKey) {\n (operation as any).consumes = mediaTypes;\n param.in = \"body\";\n param.schema = content[contentKey].schema;\n operation.parameters.push(param);\n } else if (mediaRanges) {\n (operation as any).consumes = mediaTypes || [\"application/octet-stream\"];\n param.in = \"body\";\n param.name = param.name || \"file\";\n delete param.type;\n\n param.schema = content[mediaRanges[0]].schema || {\n type: \"string\",\n format: \"binary\"\n };\n\n operation.parameters.push(param);\n }\n\n if (param.schema) {\n this.convertSchema(param.schema, \"request\");\n }\n }\n\n delete operation.requestBody;\n }\n this.convertParameters(operation);\n }\n\n convertParameters(obj: any) {\n if (obj.parameters === undefined) {\n return;\n }\n\n obj.parameters = obj.parameters || [];\n\n (obj.parameters || []).forEach((param: any, i: number) => {\n param = obj.parameters[i] = this.resolveReference(this.spec, param, false);\n\n if (param.in !== \"body\") {\n this.copySchemaProperties(param, SCHEMA_PROPERTIES);\n this.copySchemaProperties(param, ARRAY_PROPERTIES);\n this.copySchemaXProperties(param);\n\n if (!param.description) {\n const schema = this.resolveReference(this.spec, param.schema, false);\n if (!!schema && schema.description) {\n param.description = schema.description;\n }\n }\n\n if (param.example !== undefined) {\n param[\"x-example\"] = param.example;\n }\n\n delete param.schema;\n delete param.allowReserved;\n delete param.example;\n }\n\n if (param.type === \"array\") {\n let style = param.style || (param.in === \"query\" || param.in === \"cookie\" ? \"form\" : \"simple\");\n\n switch (style) {\n case \"matrix\":\n param.collectionFormat = param.explode ? undefined : \"csv\";\n break;\n case \"label\":\n param.collectionFormat = undefined;\n break;\n case \"simple\":\n param.collectionFormat = \"csv\";\n break;\n case \"spaceDelimited\":\n param.collectionFormat = \"ssv\";\n break;\n case \"pipeDelimited\":\n param.collectionFormat = \"pipes\";\n break;\n case \"deepOpbject\":\n param.collectionFormat = \"multi\";\n break;\n case \"form\":\n param.collectionFormat = param.explode === false ? \"csv\" : \"multi\";\n break;\n }\n }\n\n delete param.style;\n delete param.explode;\n });\n }\n\n copySchemaProperties(obj: any, props: any[]) {\n let schema = this.resolveReference(this.spec, obj.schema, true);\n\n if (!schema) {\n return;\n }\n\n props.forEach((prop) => {\n const value = schema[prop];\n\n if (prop === \"additionalProperties\" && typeof value === \"boolean\") {\n return;\n }\n\n if (value !== undefined) {\n obj[prop] = value;\n }\n });\n }\n\n copySchemaXProperties(obj: Record<string, any>) {\n let schema = this.resolveReference(this.spec, obj.schema, true);\n if (!schema) {\n return;\n }\n\n Object.keys(schema).forEach((propName) => {\n if (Reflect.hasOwnProperty.call(schema, propName) && !Reflect.hasOwnProperty.call(obj, propName) && propName.startsWith(\"x-\")) {\n obj[propName] = schema[propName];\n }\n });\n }\n\n convertResponses(operation: Record<string, any>) {\n // var anySchema, code, content, jsonSchema, mediaRange, mediaType, response, resolved, headers\n\n Object.keys(operation.responses || {}).forEach((code) => {\n const response = (operation.responses[code] = this.resolveReference(this.spec, operation.responses[code], true));\n\n if (response.content) {\n let anySchema: any = null;\n let jsonSchema: any = null;\n\n Object.keys(response.content).forEach((mediaRange) => {\n // produces and examples only allow media types, not ranges\n // use application/octet-stream as a catch-all type\n const mediaType = mediaRange.indexOf(\"*\") < 0 ? mediaRange : \"application/octet-stream\";\n\n if (!operation.produces) {\n operation.produces = [mediaType];\n } else if (operation.produces.indexOf(mediaType) < 0) {\n operation.produces.push(mediaType);\n }\n\n const content = response.content[mediaRange];\n anySchema = anySchema || content.schema;\n\n if (!jsonSchema && isJsonMimeType(mediaType)) {\n jsonSchema = content.schema;\n }\n\n if (content.example) {\n response.examples = response.examples || {};\n response.examples[mediaType] = content.example;\n }\n });\n\n if (anySchema) {\n response.schema = jsonSchema || anySchema;\n const resolved = this.resolveReference(this.spec, response.schema, true);\n\n if (resolved && response.schema.$ref && !response.schema.$ref.startsWith(\"#\")) {\n response.schema = resolved;\n }\n\n this.convertSchema(response.schema, \"response\");\n }\n }\n\n Object.keys(response.headers || {}).forEach((header) => {\n // Always resolve headers when converting to v2.\n const resolved = this.resolveReference(this.spec, response.headers[header], true);\n\n // Headers should be converted like parameters.\n if (resolved.schema) {\n resolved.type = resolved.schema.type;\n resolved.format = resolved.schema.format;\n delete resolved.schema;\n }\n\n response.headers[header] = resolved;\n });\n\n delete response.content;\n });\n }\n\n convertSchema(def: any, operationDirection?: any) {\n if (def.oneOf) {\n delete def.oneOf;\n\n if (def.discriminator) {\n delete def.discriminator;\n }\n }\n\n if (def.anyOf) {\n delete def.anyOf;\n\n if (def.discriminator) {\n delete def.discriminator;\n }\n }\n\n if (def.allOf) {\n for (const i in def.allOf) {\n this.convertSchema(def.allOf[i], operationDirection);\n }\n }\n\n if (def.discriminator) {\n if (def.discriminator.mapping) {\n this.convertDiscriminatorMapping(def.discriminator.mapping);\n }\n\n def.discriminator = def.discriminator.propertyName;\n }\n\n switch (def.type) {\n case \"object\":\n if (def.properties) {\n Object.keys(def.properties).forEach((propName) => {\n if (def.properties[propName].writeOnly === true && operationDirection === \"response\") {\n delete def.properties[propName];\n } else {\n this.convertSchema(def.properties[propName], operationDirection);\n delete def.properties[propName].writeOnly;\n }\n });\n }\n break;\n case \"array\":\n if (def.items) {\n this.convertSchema(def.items, operationDirection);\n }\n }\n\n if (def.nullable) {\n def[\"x-nullable\"] = true;\n delete def.nullable;\n }\n\n // OpenAPI 3 has boolean \"deprecated\" on Schema, OpenAPI 2 does not\n // Convert to x-deprecated for Autorest (and perhaps others)\n if (def[\"deprecated\"] !== undefined) {\n // Move to x-deprecated, unless it is already defined\n if (def[\"x-deprecated\"] === undefined) {\n def[\"x-deprecated\"] = def.deprecated;\n }\n delete def.deprecated;\n }\n }\n\n convertSchemas() {\n this.spec.definitions = this.spec.components.schemas;\n\n Object.keys(this.spec.definitions || {}).forEach((defName) => {\n this.convertSchema(this.spec.definitions[defName]);\n });\n\n delete this.spec.components.schemas;\n }\n\n convertDiscriminatorMapping(mapping: any) {\n Object.keys(mapping).forEach((payload) => {\n const schemaNameOrRef = mapping[payload];\n\n if (typeof schemaNameOrRef !== \"string\") {\n console.warn(`Ignoring ${schemaNameOrRef} for ${payload} in discriminator.mapping.`);\n return;\n }\n\n // payload may be a schema name or JSON Reference string.\n // OAS3 spec limits schema names to ^[a-zA-Z0-9._-]+$\n // Note: Valid schema name could be JSON file name without extension.\n // Prefer schema name, with file name as fallback.\n let schema;\n if (/^[a-zA-Z0-9._-]+$/.test(schemaNameOrRef)) {\n try {\n schema = this.resolveReference(this.spec, {$ref: `#/components/schemas/${schemaNameOrRef}`}, false);\n } catch (err) {\n console.debug(`Error resolving ${schemaNameOrRef} for ${payload} as schema name in discriminator.mapping: ${err}`);\n }\n }\n\n // schemaNameRef is not a schema name. Try to resolve as JSON Ref.\n if (!schema) {\n try {\n schema = this.resolveReference(this.spec, {$ref: schemaNameOrRef}, false);\n } catch (err) {\n console.debug(`Error resolving ${schemaNameOrRef} for ${payload} in discriminator.mapping: ${err}`);\n }\n }\n\n if (schema) {\n // Swagger Codegen + OpenAPI Generator extension\n // https://github.com/swagger-api/swagger-codegen/pull/4252\n schema[\"x-discriminator-value\"] = payload;\n\n // AutoRest extension\n // https://github.com/Azure/autorest/pull/474\n schema[\"x-ms-discriminator-value\"] = payload;\n } else {\n console.warn(`Unable to resolve ${schemaNameOrRef} for ${payload} in discriminator.mapping.`);\n }\n });\n }\n\n convertSecurityDefinitions() {\n if (this.spec.components.securitySchemes) {\n this.spec.securityDefinitions = transformSecurity(this.spec.components.securitySchemes);\n delete this.spec.components.securitySchemes;\n }\n }\n}\n\nexport function transformToOS2(spec: any): Partial<OpenSpec2> {\n return new Converter(spec).convert();\n}\n"]}
1
+ {"version":3,"file":"transformToOS2.js","sourceRoot":"","sources":["../../../src/utils/transformToOS2.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"withErrorMsg.js","sourceRoot":"","sources":["../../../src/utils/withErrorMsg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAYvD,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,iBAA4B;IAE5B,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,OAAO,CAAC,CAAC,GAAG,gBAAuB,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,aAAa,CAAC,iBAAiB,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;QACvE,SAAiB,CAAC,KAAK,GAAG,CAAC,OAAe,EAAE,EAAE;YAC7C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,OAAO,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;QACrF,CAAC,CAAC;QAEF,OAAO,SAAS,CAAC;IACnB,CAAC,CAAQ,CAAC;AACZ,CAAC","sourcesContent":["import {useDecorators} from \"@tsed/core\";\nimport {ErrorMsg} from \"../decorators/common/errorMsg\";\n\nexport interface ErrorChainedMethods<T> {\n <T>(target: Object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<T> | number): any;\n\n Error(msg: string): this;\n}\n\nexport type ErrorChainedDecorator<Decorator extends (...args: any[]) => any> = (\n ...args: Parameters<Decorator>\n) => ErrorChainedMethods<Decorator>;\n\nexport function withErrorMsg<Decorator extends (...args: any[]) => any>(\n errorKey: string,\n originalDecorator: Decorator\n): ErrorChainedDecorator<Decorator> {\n const schema: any = {};\n\n return ((...decoratorOptions: any[]) => {\n const decorator = useDecorators(originalDecorator(...decoratorOptions));\n (decorator as any).Error = (message: string) => {\n schema.message = message;\n return useDecorators(decorator, schema.message && ErrorMsg({[errorKey]: message}));\n };\n\n return decorator;\n }) as any;\n}\n"]}
1
+ {"version":3,"file":"withErrorMsg.js","sourceRoot":"","sources":["../../../src/utils/withErrorMsg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAYvD,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,iBAA4B;IAE5B,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,OAAO,CAAC,CAAC,GAAG,gBAAuB,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,aAAa,CAAC,iBAAiB,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;QACvE,SAAiB,CAAC,KAAK,GAAG,CAAC,OAAe,EAAE,EAAE;YAC7C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,OAAO,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;QACrF,CAAC,CAAC;QAEF,OAAO,SAAS,CAAC;IACnB,CAAC,CAAQ,CAAC;AACZ,CAAC"}