@typia/utils 13.0.0-dev.20260427-2 → 13.0.0-dev.20260430

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 (345) hide show
  1. package/lib/converters/LlmSchemaConverter.js +6 -15
  2. package/lib/converters/LlmSchemaConverter.js.map +1 -1
  3. package/lib/converters/LlmSchemaConverter.mjs +2 -7
  4. package/lib/converters/LlmSchemaConverter.mjs.map +1 -1
  5. package/lib/converters/LlmSchemaConverter2.mjs +440 -451
  6. package/lib/converters/LlmSchemaConverter2.mjs.map +1 -1
  7. package/lib/converters/OpenApiConverter.mjs +2 -7
  8. package/lib/converters/OpenApiConverter.mjs.map +1 -1
  9. package/lib/converters/OpenApiConverter2.mjs +163 -164
  10. package/lib/converters/OpenApiConverter2.mjs.map +1 -1
  11. package/lib/converters/index.mjs +1 -7
  12. package/lib/converters/index.mjs.map +1 -1
  13. package/lib/converters/index2.mjs +31 -32
  14. package/lib/converters/index2.mjs.map +1 -1
  15. package/lib/converters/internal/LlmDescriptionInverter.mjs +2 -7
  16. package/lib/converters/internal/LlmDescriptionInverter.mjs.map +1 -1
  17. package/lib/converters/internal/LlmDescriptionInverter2.mjs +143 -150
  18. package/lib/converters/internal/LlmDescriptionInverter2.mjs.map +1 -1
  19. package/lib/converters/internal/LlmParametersComposer.mjs +2 -7
  20. package/lib/converters/internal/LlmParametersComposer.mjs.map +1 -1
  21. package/lib/converters/internal/LlmParametersComposer2.mjs +37 -44
  22. package/lib/converters/internal/LlmParametersComposer2.mjs.map +1 -1
  23. package/lib/converters/internal/OpenApiConstraintShifter.mjs +2 -7
  24. package/lib/converters/internal/OpenApiConstraintShifter.mjs.map +1 -1
  25. package/lib/converters/internal/OpenApiConstraintShifter2.mjs +105 -112
  26. package/lib/converters/internal/OpenApiConstraintShifter2.mjs.map +1 -1
  27. package/lib/converters/internal/OpenApiExclusiveEmender.mjs +2 -7
  28. package/lib/converters/internal/OpenApiExclusiveEmender.mjs.map +1 -1
  29. package/lib/converters/internal/OpenApiExclusiveEmender2.mjs +32 -40
  30. package/lib/converters/internal/OpenApiExclusiveEmender2.mjs.map +1 -1
  31. package/lib/converters/internal/OpenApiV3Downgrader.mjs +2 -7
  32. package/lib/converters/internal/OpenApiV3Downgrader.mjs.map +1 -1
  33. package/lib/converters/internal/OpenApiV3Downgrader2.mjs +237 -244
  34. package/lib/converters/internal/OpenApiV3Downgrader2.mjs.map +1 -1
  35. package/lib/converters/internal/OpenApiV3Upgrader.mjs +2 -7
  36. package/lib/converters/internal/OpenApiV3Upgrader.mjs.map +1 -1
  37. package/lib/converters/internal/OpenApiV3Upgrader2.mjs +300 -305
  38. package/lib/converters/internal/OpenApiV3Upgrader2.mjs.map +1 -1
  39. package/lib/converters/internal/OpenApiV3_1Downgrader.mjs +2 -7
  40. package/lib/converters/internal/OpenApiV3_1Downgrader.mjs.map +1 -1
  41. package/lib/converters/internal/OpenApiV3_1Downgrader2.mjs +193 -200
  42. package/lib/converters/internal/OpenApiV3_1Downgrader2.mjs.map +1 -1
  43. package/lib/converters/internal/OpenApiV3_1Upgrader.mjs +2 -7
  44. package/lib/converters/internal/OpenApiV3_1Upgrader.mjs.map +1 -1
  45. package/lib/converters/internal/OpenApiV3_1Upgrader2.mjs +424 -429
  46. package/lib/converters/internal/OpenApiV3_1Upgrader2.mjs.map +1 -1
  47. package/lib/converters/internal/OpenApiV3_2Upgrader.mjs +2 -7
  48. package/lib/converters/internal/OpenApiV3_2Upgrader.mjs.map +1 -1
  49. package/lib/converters/internal/OpenApiV3_2Upgrader2.mjs +202 -208
  50. package/lib/converters/internal/OpenApiV3_2Upgrader2.mjs.map +1 -1
  51. package/lib/converters/internal/SwaggerV2Downgrader.mjs +2 -7
  52. package/lib/converters/internal/SwaggerV2Downgrader.mjs.map +1 -1
  53. package/lib/converters/internal/SwaggerV2Downgrader2.mjs +287 -294
  54. package/lib/converters/internal/SwaggerV2Downgrader2.mjs.map +1 -1
  55. package/lib/converters/internal/SwaggerV2Upgrader.mjs +2 -7
  56. package/lib/converters/internal/SwaggerV2Upgrader.mjs.map +1 -1
  57. package/lib/converters/internal/SwaggerV2Upgrader2.mjs +370 -375
  58. package/lib/converters/internal/SwaggerV2Upgrader2.mjs.map +1 -1
  59. package/lib/http/HttpError.mjs +2 -7
  60. package/lib/http/HttpError.mjs.map +1 -1
  61. package/lib/http/HttpError2.mjs +69 -77
  62. package/lib/http/HttpError2.mjs.map +1 -1
  63. package/lib/http/HttpLlm.mjs +2 -7
  64. package/lib/http/HttpLlm.mjs.map +1 -1
  65. package/lib/http/HttpLlm2.mjs +107 -112
  66. package/lib/http/HttpLlm2.mjs.map +1 -1
  67. package/lib/http/HttpMigration.mjs +2 -7
  68. package/lib/http/HttpMigration.mjs.map +1 -1
  69. package/lib/http/HttpMigration2.mjs +58 -63
  70. package/lib/http/HttpMigration2.mjs.map +1 -1
  71. package/lib/http/index.mjs +1 -7
  72. package/lib/http/index.mjs.map +1 -1
  73. package/lib/http/index2.mjs +30 -31
  74. package/lib/http/index2.mjs.map +1 -1
  75. package/lib/http/internal/HttpLlmApplicationComposer.mjs +2 -7
  76. package/lib/http/internal/HttpLlmApplicationComposer.mjs.map +1 -1
  77. package/lib/http/internal/HttpLlmApplicationComposer2.mjs +301 -306
  78. package/lib/http/internal/HttpLlmApplicationComposer2.mjs.map +1 -1
  79. package/lib/http/internal/HttpLlmFunctionFetcher.mjs +2 -7
  80. package/lib/http/internal/HttpLlmFunctionFetcher.mjs.map +1 -1
  81. package/lib/http/internal/HttpLlmFunctionFetcher2.mjs +26 -33
  82. package/lib/http/internal/HttpLlmFunctionFetcher2.mjs.map +1 -1
  83. package/lib/http/internal/HttpMigrateApplicationComposer.mjs +2 -7
  84. package/lib/http/internal/HttpMigrateApplicationComposer.mjs.map +1 -1
  85. package/lib/http/internal/HttpMigrateApplicationComposer2.mjs +51 -56
  86. package/lib/http/internal/HttpMigrateApplicationComposer2.mjs.map +1 -1
  87. package/lib/http/internal/HttpMigrateRouteAccessor.mjs +2 -7
  88. package/lib/http/internal/HttpMigrateRouteAccessor.mjs.map +1 -1
  89. package/lib/http/internal/HttpMigrateRouteAccessor2.mjs +113 -118
  90. package/lib/http/internal/HttpMigrateRouteAccessor2.mjs.map +1 -1
  91. package/lib/http/internal/HttpMigrateRouteComposer.mjs +2 -7
  92. package/lib/http/internal/HttpMigrateRouteComposer.mjs.map +1 -1
  93. package/lib/http/internal/HttpMigrateRouteComposer2.mjs +376 -381
  94. package/lib/http/internal/HttpMigrateRouteComposer2.mjs.map +1 -1
  95. package/lib/http/internal/HttpMigrateRouteFetcher.mjs +2 -7
  96. package/lib/http/internal/HttpMigrateRouteFetcher.mjs.map +1 -1
  97. package/lib/http/internal/HttpMigrateRouteFetcher2.mjs +182 -189
  98. package/lib/http/internal/HttpMigrateRouteFetcher2.mjs.map +1 -1
  99. package/lib/index.mjs +1 -7
  100. package/lib/index.mjs.map +1 -1
  101. package/lib/index2.mjs +33 -33
  102. package/lib/index2.mjs.map +1 -1
  103. package/lib/utils/ArrayUtil.mjs +2 -7
  104. package/lib/utils/ArrayUtil.mjs.map +1 -1
  105. package/lib/utils/ArrayUtil2.mjs +29 -37
  106. package/lib/utils/ArrayUtil2.mjs.map +1 -1
  107. package/lib/utils/LlmJson.mjs +2 -7
  108. package/lib/utils/LlmJson.mjs.map +1 -1
  109. package/lib/utils/LlmJson2.mjs +166 -169
  110. package/lib/utils/LlmJson2.mjs.map +1 -1
  111. package/lib/utils/MapUtil.mjs +2 -7
  112. package/lib/utils/MapUtil.mjs.map +1 -1
  113. package/lib/utils/MapUtil2.mjs +16 -24
  114. package/lib/utils/MapUtil2.mjs.map +1 -1
  115. package/lib/utils/NamingConvention.mjs +2 -7
  116. package/lib/utils/NamingConvention.mjs.map +1 -1
  117. package/lib/utils/NamingConvention2.mjs +199 -207
  118. package/lib/utils/NamingConvention2.mjs.map +1 -1
  119. package/lib/utils/Singleton.d.ts +1 -6
  120. package/lib/utils/Singleton.js +1 -0
  121. package/lib/utils/Singleton.js.map +1 -1
  122. package/lib/utils/Singleton.mjs +2 -7
  123. package/lib/utils/Singleton.mjs.map +1 -1
  124. package/lib/utils/Singleton2.mjs +17 -24
  125. package/lib/utils/Singleton2.mjs.map +1 -1
  126. package/lib/utils/StringUtil.mjs +2 -7
  127. package/lib/utils/StringUtil.mjs.map +1 -1
  128. package/lib/utils/StringUtil2.mjs +14 -22
  129. package/lib/utils/StringUtil2.mjs.map +1 -1
  130. package/lib/utils/dedent.mjs +2 -7
  131. package/lib/utils/dedent.mjs.map +1 -1
  132. package/lib/utils/dedent2.mjs +50 -58
  133. package/lib/utils/dedent2.mjs.map +1 -1
  134. package/lib/utils/index.mjs +1 -7
  135. package/lib/utils/index.mjs.map +1 -1
  136. package/lib/utils/index2.mjs +42 -39
  137. package/lib/utils/index2.mjs.map +1 -1
  138. package/lib/utils/internal/EndpointUtil.mjs +2 -7
  139. package/lib/utils/internal/EndpointUtil.mjs.map +1 -1
  140. package/lib/utils/internal/EndpointUtil2.mjs +39 -46
  141. package/lib/utils/internal/EndpointUtil2.mjs.map +1 -1
  142. package/lib/utils/internal/JsonDescriptor.mjs +2 -7
  143. package/lib/utils/internal/JsonDescriptor.mjs.map +1 -1
  144. package/lib/utils/internal/JsonDescriptor2.mjs +55 -61
  145. package/lib/utils/internal/JsonDescriptor2.mjs.map +1 -1
  146. package/lib/utils/internal/OpenApiTypeCheckerBase.js +23 -14
  147. package/lib/utils/internal/OpenApiTypeCheckerBase.js.map +1 -1
  148. package/lib/utils/internal/OpenApiTypeCheckerBase.mjs +2 -7
  149. package/lib/utils/internal/OpenApiTypeCheckerBase.mjs.map +1 -1
  150. package/lib/utils/internal/OpenApiTypeCheckerBase2.mjs +539 -536
  151. package/lib/utils/internal/OpenApiTypeCheckerBase2.mjs.map +1 -1
  152. package/lib/utils/internal/coerceLlmArguments.js +27 -1
  153. package/lib/utils/internal/coerceLlmArguments.js.map +1 -1
  154. package/lib/utils/internal/coerceLlmArguments.mjs +2 -7
  155. package/lib/utils/internal/coerceLlmArguments.mjs.map +1 -1
  156. package/lib/utils/internal/coerceLlmArguments2.mjs +278 -258
  157. package/lib/utils/internal/coerceLlmArguments2.mjs.map +1 -1
  158. package/lib/utils/internal/parseLenientJson.mjs +2 -7
  159. package/lib/utils/internal/parseLenientJson.mjs.map +1 -1
  160. package/lib/utils/internal/parseLenientJson2.mjs +803 -811
  161. package/lib/utils/internal/parseLenientJson2.mjs.map +1 -1
  162. package/lib/utils/internal/stringifyValidationFailure.mjs +2 -7
  163. package/lib/utils/internal/stringifyValidationFailure.mjs.map +1 -1
  164. package/lib/utils/internal/stringifyValidationFailure2.mjs +310 -316
  165. package/lib/utils/internal/stringifyValidationFailure2.mjs.map +1 -1
  166. package/lib/validators/LlmTypeChecker.mjs +2 -7
  167. package/lib/validators/LlmTypeChecker.mjs.map +1 -1
  168. package/lib/validators/LlmTypeChecker2.mjs +314 -320
  169. package/lib/validators/LlmTypeChecker2.mjs.map +1 -1
  170. package/lib/validators/OpenApiTypeChecker.mjs +2 -7
  171. package/lib/validators/OpenApiTypeChecker.mjs.map +1 -1
  172. package/lib/validators/OpenApiTypeChecker2.mjs +209 -216
  173. package/lib/validators/OpenApiTypeChecker2.mjs.map +1 -1
  174. package/lib/validators/OpenApiV3TypeChecker.mjs +2 -7
  175. package/lib/validators/OpenApiV3TypeChecker.mjs.map +1 -1
  176. package/lib/validators/OpenApiV3TypeChecker2.mjs +30 -38
  177. package/lib/validators/OpenApiV3TypeChecker2.mjs.map +1 -1
  178. package/lib/validators/OpenApiV3_1TypeChecker.mjs +2 -7
  179. package/lib/validators/OpenApiV3_1TypeChecker.mjs.map +1 -1
  180. package/lib/validators/OpenApiV3_1TypeChecker2.mjs +34 -42
  181. package/lib/validators/OpenApiV3_1TypeChecker2.mjs.map +1 -1
  182. package/lib/validators/OpenApiValidator.mjs +2 -7
  183. package/lib/validators/OpenApiValidator.mjs.map +1 -1
  184. package/lib/validators/OpenApiValidator2.mjs +73 -80
  185. package/lib/validators/OpenApiValidator2.mjs.map +1 -1
  186. package/lib/validators/SwaggerV2TypeChecker.mjs +2 -7
  187. package/lib/validators/SwaggerV2TypeChecker.mjs.map +1 -1
  188. package/lib/validators/SwaggerV2TypeChecker2.mjs +31 -39
  189. package/lib/validators/SwaggerV2TypeChecker2.mjs.map +1 -1
  190. package/lib/validators/functional/_isBigintString.mjs +2 -7
  191. package/lib/validators/functional/_isBigintString.mjs.map +1 -1
  192. package/lib/validators/functional/_isBigintString2.mjs +14 -22
  193. package/lib/validators/functional/_isBigintString2.mjs.map +1 -1
  194. package/lib/validators/functional/_isFormatByte.mjs +2 -7
  195. package/lib/validators/functional/_isFormatByte.mjs.map +1 -1
  196. package/lib/validators/functional/_isFormatByte2.mjs +10 -18
  197. package/lib/validators/functional/_isFormatByte2.mjs.map +1 -1
  198. package/lib/validators/functional/_isFormatDate.mjs +2 -7
  199. package/lib/validators/functional/_isFormatDate.mjs.map +1 -1
  200. package/lib/validators/functional/_isFormatDate2.mjs +7 -15
  201. package/lib/validators/functional/_isFormatDate2.mjs.map +1 -1
  202. package/lib/validators/functional/_isFormatDateTime.mjs +2 -7
  203. package/lib/validators/functional/_isFormatDateTime.mjs.map +1 -1
  204. package/lib/validators/functional/_isFormatDateTime2.mjs +7 -15
  205. package/lib/validators/functional/_isFormatDateTime2.mjs.map +1 -1
  206. package/lib/validators/functional/_isFormatDuration.mjs +2 -7
  207. package/lib/validators/functional/_isFormatDuration.mjs.map +1 -1
  208. package/lib/validators/functional/_isFormatDuration2.mjs +7 -15
  209. package/lib/validators/functional/_isFormatDuration2.mjs.map +1 -1
  210. package/lib/validators/functional/_isFormatEmail.mjs +2 -7
  211. package/lib/validators/functional/_isFormatEmail.mjs.map +1 -1
  212. package/lib/validators/functional/_isFormatEmail2.mjs +7 -15
  213. package/lib/validators/functional/_isFormatEmail2.mjs.map +1 -1
  214. package/lib/validators/functional/_isFormatHostname.mjs +2 -7
  215. package/lib/validators/functional/_isFormatHostname.mjs.map +1 -1
  216. package/lib/validators/functional/_isFormatHostname2.mjs +7 -15
  217. package/lib/validators/functional/_isFormatHostname2.mjs.map +1 -1
  218. package/lib/validators/functional/_isFormatIdnEmail.mjs +2 -7
  219. package/lib/validators/functional/_isFormatIdnEmail.mjs.map +1 -1
  220. package/lib/validators/functional/_isFormatIdnEmail2.mjs +7 -15
  221. package/lib/validators/functional/_isFormatIdnEmail2.mjs.map +1 -1
  222. package/lib/validators/functional/_isFormatIdnHostname.mjs +2 -7
  223. package/lib/validators/functional/_isFormatIdnHostname.mjs.map +1 -1
  224. package/lib/validators/functional/_isFormatIdnHostname2.mjs +7 -15
  225. package/lib/validators/functional/_isFormatIdnHostname2.mjs.map +1 -1
  226. package/lib/validators/functional/_isFormatIpv4.mjs +2 -7
  227. package/lib/validators/functional/_isFormatIpv4.mjs.map +1 -1
  228. package/lib/validators/functional/_isFormatIpv42.mjs +7 -15
  229. package/lib/validators/functional/_isFormatIpv42.mjs.map +1 -1
  230. package/lib/validators/functional/_isFormatIpv6.mjs +2 -7
  231. package/lib/validators/functional/_isFormatIpv6.mjs.map +1 -1
  232. package/lib/validators/functional/_isFormatIpv62.mjs +7 -15
  233. package/lib/validators/functional/_isFormatIpv62.mjs.map +1 -1
  234. package/lib/validators/functional/_isFormatIri.mjs +2 -7
  235. package/lib/validators/functional/_isFormatIri.mjs.map +1 -1
  236. package/lib/validators/functional/_isFormatIri2.mjs +7 -15
  237. package/lib/validators/functional/_isFormatIri2.mjs.map +1 -1
  238. package/lib/validators/functional/_isFormatIriReference.mjs +2 -7
  239. package/lib/validators/functional/_isFormatIriReference.mjs.map +1 -1
  240. package/lib/validators/functional/_isFormatIriReference2.mjs +7 -15
  241. package/lib/validators/functional/_isFormatIriReference2.mjs.map +1 -1
  242. package/lib/validators/functional/_isFormatJsonPointer.mjs +2 -7
  243. package/lib/validators/functional/_isFormatJsonPointer.mjs.map +1 -1
  244. package/lib/validators/functional/_isFormatJsonPointer2.mjs +7 -15
  245. package/lib/validators/functional/_isFormatJsonPointer2.mjs.map +1 -1
  246. package/lib/validators/functional/_isFormatPassword.mjs +2 -7
  247. package/lib/validators/functional/_isFormatPassword.mjs.map +1 -1
  248. package/lib/validators/functional/_isFormatPassword2.mjs +6 -14
  249. package/lib/validators/functional/_isFormatPassword2.mjs.map +1 -1
  250. package/lib/validators/functional/_isFormatRegex.mjs +2 -7
  251. package/lib/validators/functional/_isFormatRegex.mjs.map +1 -1
  252. package/lib/validators/functional/_isFormatRegex2.mjs +14 -22
  253. package/lib/validators/functional/_isFormatRegex2.mjs.map +1 -1
  254. package/lib/validators/functional/_isFormatRelativeJsonPointer.mjs +2 -7
  255. package/lib/validators/functional/_isFormatRelativeJsonPointer.mjs.map +1 -1
  256. package/lib/validators/functional/_isFormatRelativeJsonPointer2.mjs +7 -15
  257. package/lib/validators/functional/_isFormatRelativeJsonPointer2.mjs.map +1 -1
  258. package/lib/validators/functional/_isFormatTime.mjs +2 -7
  259. package/lib/validators/functional/_isFormatTime.mjs.map +1 -1
  260. package/lib/validators/functional/_isFormatTime2.mjs +7 -15
  261. package/lib/validators/functional/_isFormatTime2.mjs.map +1 -1
  262. package/lib/validators/functional/_isFormatUri.mjs +2 -7
  263. package/lib/validators/functional/_isFormatUri.mjs.map +1 -1
  264. package/lib/validators/functional/_isFormatUri2.mjs +8 -16
  265. package/lib/validators/functional/_isFormatUri2.mjs.map +1 -1
  266. package/lib/validators/functional/_isFormatUriReference.mjs +2 -7
  267. package/lib/validators/functional/_isFormatUriReference.mjs.map +1 -1
  268. package/lib/validators/functional/_isFormatUriReference2.mjs +7 -15
  269. package/lib/validators/functional/_isFormatUriReference2.mjs.map +1 -1
  270. package/lib/validators/functional/_isFormatUriTemplate.mjs +2 -7
  271. package/lib/validators/functional/_isFormatUriTemplate.mjs.map +1 -1
  272. package/lib/validators/functional/_isFormatUriTemplate2.mjs +7 -15
  273. package/lib/validators/functional/_isFormatUriTemplate2.mjs.map +1 -1
  274. package/lib/validators/functional/_isFormatUrl.mjs +2 -7
  275. package/lib/validators/functional/_isFormatUrl.mjs.map +1 -1
  276. package/lib/validators/functional/_isFormatUrl2.mjs +7 -15
  277. package/lib/validators/functional/_isFormatUrl2.mjs.map +1 -1
  278. package/lib/validators/functional/_isFormatUuid.mjs +2 -7
  279. package/lib/validators/functional/_isFormatUuid.mjs.map +1 -1
  280. package/lib/validators/functional/_isFormatUuid2.mjs +7 -15
  281. package/lib/validators/functional/_isFormatUuid2.mjs.map +1 -1
  282. package/lib/validators/functional/_isUniqueItems.mjs +2 -7
  283. package/lib/validators/functional/_isUniqueItems.mjs.map +1 -1
  284. package/lib/validators/functional/_isUniqueItems2.mjs +140 -148
  285. package/lib/validators/functional/_isUniqueItems2.mjs.map +1 -1
  286. package/lib/validators/index.mjs +1 -7
  287. package/lib/validators/index.mjs.map +1 -1
  288. package/lib/validators/index2.mjs +42 -40
  289. package/lib/validators/index2.mjs.map +1 -1
  290. package/lib/validators/internal/IOpenApiValidatorContext.mjs +2 -7
  291. package/lib/validators/internal/IOpenApiValidatorContext.mjs.map +1 -1
  292. package/lib/validators/internal/IOpenApiValidatorContext2.mjs +2 -10
  293. package/lib/validators/internal/IOpenApiValidatorContext2.mjs.map +1 -1
  294. package/lib/validators/internal/OpenApiArrayValidator.mjs +2 -7
  295. package/lib/validators/internal/OpenApiArrayValidator.mjs.map +1 -1
  296. package/lib/validators/internal/OpenApiArrayValidator2.mjs +36 -42
  297. package/lib/validators/internal/OpenApiArrayValidator2.mjs.map +1 -1
  298. package/lib/validators/internal/OpenApiBooleanValidator.mjs +2 -7
  299. package/lib/validators/internal/OpenApiBooleanValidator.mjs.map +1 -1
  300. package/lib/validators/internal/OpenApiBooleanValidator2.mjs +10 -18
  301. package/lib/validators/internal/OpenApiBooleanValidator2.mjs.map +1 -1
  302. package/lib/validators/internal/OpenApiConstantValidator.mjs +2 -7
  303. package/lib/validators/internal/OpenApiConstantValidator.mjs.map +1 -1
  304. package/lib/validators/internal/OpenApiConstantValidator2.mjs +10 -18
  305. package/lib/validators/internal/OpenApiConstantValidator2.mjs.map +1 -1
  306. package/lib/validators/internal/OpenApiIntegerValidator.mjs +2 -7
  307. package/lib/validators/internal/OpenApiIntegerValidator.mjs.map +1 -1
  308. package/lib/validators/internal/OpenApiIntegerValidator2.mjs +33 -41
  309. package/lib/validators/internal/OpenApiIntegerValidator2.mjs.map +1 -1
  310. package/lib/validators/internal/OpenApiNumberValidator.mjs +2 -7
  311. package/lib/validators/internal/OpenApiNumberValidator.mjs.map +1 -1
  312. package/lib/validators/internal/OpenApiNumberValidator2.mjs +33 -41
  313. package/lib/validators/internal/OpenApiNumberValidator2.mjs.map +1 -1
  314. package/lib/validators/internal/OpenApiObjectValidator.js +2 -3
  315. package/lib/validators/internal/OpenApiObjectValidator.js.map +1 -1
  316. package/lib/validators/internal/OpenApiObjectValidator.mjs +2 -7
  317. package/lib/validators/internal/OpenApiObjectValidator.mjs.map +1 -1
  318. package/lib/validators/internal/OpenApiObjectValidator2.mjs +55 -62
  319. package/lib/validators/internal/OpenApiObjectValidator2.mjs.map +1 -1
  320. package/lib/validators/internal/OpenApiOneOfValidator.mjs +2 -7
  321. package/lib/validators/internal/OpenApiOneOfValidator.mjs.map +1 -1
  322. package/lib/validators/internal/OpenApiOneOfValidator2.mjs +188 -193
  323. package/lib/validators/internal/OpenApiOneOfValidator2.mjs.map +1 -1
  324. package/lib/validators/internal/OpenApiSchemaNamingRule.mjs +2 -7
  325. package/lib/validators/internal/OpenApiSchemaNamingRule.mjs.map +1 -1
  326. package/lib/validators/internal/OpenApiSchemaNamingRule2.mjs +124 -131
  327. package/lib/validators/internal/OpenApiSchemaNamingRule2.mjs.map +1 -1
  328. package/lib/validators/internal/OpenApiStationValidator.mjs +2 -7
  329. package/lib/validators/internal/OpenApiStationValidator.mjs.map +1 -1
  330. package/lib/validators/internal/OpenApiStationValidator2.mjs +86 -83
  331. package/lib/validators/internal/OpenApiStationValidator2.mjs.map +1 -1
  332. package/lib/validators/internal/OpenApiStringValidator.mjs +2 -7
  333. package/lib/validators/internal/OpenApiStringValidator.mjs.map +1 -1
  334. package/lib/validators/internal/OpenApiStringValidator2.mjs +115 -102
  335. package/lib/validators/internal/OpenApiStringValidator2.mjs.map +1 -1
  336. package/lib/validators/internal/OpenApiTupleValidator.mjs +2 -7
  337. package/lib/validators/internal/OpenApiTupleValidator.mjs.map +1 -1
  338. package/lib/validators/internal/OpenApiTupleValidator2.mjs +33 -40
  339. package/lib/validators/internal/OpenApiTupleValidator2.mjs.map +1 -1
  340. package/package.json +4 -4
  341. package/src/converters/LlmSchemaConverter.ts +1 -8
  342. package/src/utils/Singleton.ts +1 -0
  343. package/src/utils/internal/OpenApiTypeCheckerBase.ts +12 -3
  344. package/src/utils/internal/coerceLlmArguments.ts +27 -1
  345. package/src/validators/internal/OpenApiObjectValidator.ts +1 -2
@@ -1 +1 @@
1
- {"version":3,"file":"LlmSchemaConverter2.mjs","sources":["LlmSchemaConverter.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LlmSchemaConverter = void 0;\nconst JsonDescriptor_1 = require(\"../utils/internal/JsonDescriptor\");\nconst LlmTypeChecker_1 = require(\"../validators/LlmTypeChecker\");\nconst OpenApiTypeChecker_1 = require(\"../validators/OpenApiTypeChecker\");\nconst LlmDescriptionInverter_1 = require(\"./internal/LlmDescriptionInverter\");\nconst LlmParametersComposer_1 = require(\"./internal/LlmParametersComposer\");\nconst OpenApiConstraintShifter_1 = require(\"./internal/OpenApiConstraintShifter\");\n/**\n * OpenAPI to LLM schema converter.\n *\n * `LlmSchemaConverter` converts OpenAPI JSON schemas to LLM-compatible\n * {@link ILlmSchema} format. LLMs don't fully support JSON Schema, so this\n * simplifies schemas by removing unsupported features (tuples, `const`, mixed\n * unions).\n *\n * Main functions:\n *\n * - {@link parameters}: Convert object schema to {@link ILlmSchema.IParameters}\n * - {@link schema}: Convert any schema to {@link ILlmSchema}\n * - {@link invert}: Extract constraints from description back to schema\n *\n * Configuration options ({@link ILlmSchema.IConfig}):\n *\n * - `strict`: OpenAI structured output mode (all properties required)\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nvar LlmSchemaConverter;\n(function (LlmSchemaConverter) {\n /**\n * Get configuration with defaults applied.\n *\n * @param config Partial configuration\n * @returns Full configuration with defaults\n */\n LlmSchemaConverter.getConfig = (config) => { var _a; return ({\n strict: (_a = config === null || config === void 0 ? void 0 : config.strict) !== null && _a !== void 0 ? _a : false,\n }); };\n /* -----------------------------------------------------------\n CONVERTERS\n ----------------------------------------------------------- */\n /**\n * Convert OpenAPI object schema to LLM parameters schema.\n *\n * @param props.config Conversion configuration\n * @param props.components OpenAPI components for reference resolution\n * @param props.schema Object or reference schema to convert\n * @param props.accessor Error path accessor\n * @param props.refAccessor Reference path accessor\n * @returns Converted parameters or error\n */\n LlmSchemaConverter.parameters = (props) => {\n const config = LlmSchemaConverter.getConfig(props.config);\n const entity = LlmParametersComposer_1.LlmParametersFinder.parameters(Object.assign(Object.assign({}, props), { method: \"LlmSchemaConverter.parameters\" }));\n if (entity.success === false)\n return entity;\n const $defs = {};\n const result = transform(Object.assign(Object.assign({}, props), { config,\n $defs, schema: entity.value }));\n if (result.success === false)\n return result;\n return {\n success: true,\n value: Object.assign(Object.assign({}, result.value), { additionalProperties: false, $defs, description: OpenApiTypeChecker_1.OpenApiTypeChecker.isReference(props.schema)\n ? JsonDescriptor_1.JsonDescriptor.cascade({\n prefix: \"#/components/schemas/\",\n components: props.components,\n schema: Object.assign(Object.assign({}, props.schema), { description: result.value.description }),\n escape: true,\n })\n : result.value.description }),\n };\n };\n /**\n * Convert OpenAPI schema to LLM schema.\n *\n * @param props.config Conversion configuration\n * @param props.components OpenAPI components for reference resolution\n * @param props.$defs Definition store (mutated with referenced types)\n * @param props.schema Schema to convert\n * @param props.accessor Error path accessor\n * @param props.refAccessor Reference path accessor\n * @returns Converted schema or error\n */\n LlmSchemaConverter.schema = (props) => transform({\n config: LlmSchemaConverter.getConfig(props.config),\n components: props.components,\n $defs: props.$defs,\n schema: props.schema,\n accessor: props.accessor,\n refAccessor: props.refAccessor,\n });\n const transform = (props) => {\n var _a, _b;\n // PREPARE ASSETS\n const union = [];\n const attribute = Object.assign({ title: props.schema.title, description: props.schema.description, deprecated: props.schema.deprecated, readOnly: props.schema.readOnly, writeOnly: props.schema.writeOnly, example: props.schema.example, examples: props.schema.examples }, Object.fromEntries(Object.entries(props.schema).filter(([key, value]) => key.startsWith(\"x-\") && value !== undefined)));\n // VALIDADTE SCHEMA\n const reasons = [];\n OpenApiTypeChecker_1.OpenApiTypeChecker.visit({\n closure: (next, accessor) => {\n var _a;\n var _b;\n if (props.config.strict === true) {\n // STRICT MODE VALIDATION\n reasons.push(...validateStrict(next, accessor));\n }\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isTuple(next))\n reasons.push({\n accessor,\n schema: next,\n message: `LLM does not allow tuple type.`,\n });\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isReference(next)) {\n // UNABLE TO FIND MATCHED REFERENCE\n const key = (_b = next.$ref.split(\"#/components/schemas/\")[1]) !== null && _b !== void 0 ? _b : next.$ref.split(\"/\").at(-1);\n if (((_a = props.components.schemas) === null || _a === void 0 ? void 0 : _a[key]) === undefined)\n reasons.push({\n schema: next,\n accessor: accessor,\n message: `unable to find reference type ${JSON.stringify(key)}.`,\n });\n }\n },\n components: props.components,\n schema: props.schema,\n accessor: props.accessor,\n refAccessor: props.refAccessor,\n });\n if (reasons.length > 0)\n return {\n success: false,\n error: {\n method: \"LlmSchemaConverter.schema\",\n message: \"Failed to compose LLM schema\",\n reasons,\n },\n };\n const visitConstant = (input) => {\n const insert = (value) => {\n var _a;\n const matched = union.find((u) => (u === null || u === void 0 ? void 0 : u.type) === typeof value);\n if (matched !== undefined) {\n (_a = matched.enum) !== null && _a !== void 0 ? _a : (matched.enum = []);\n matched.enum.push(value);\n }\n else\n union.push({\n type: typeof value,\n enum: [value],\n });\n };\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isConstant(input))\n insert(input.const);\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isOneOf(input))\n input.oneOf.forEach(visitConstant);\n };\n const visit = (input, accessor) => {\n var _a;\n var _b, _c, _d, _e;\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isOneOf(input)) {\n // UNION TYPE\n input.oneOf.forEach((s, i) => visit(s, `${accessor}.oneOf[${i}]`));\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isReference(input)) {\n // REFERENCE TYPE\n const key = (_b = input.$ref.split(\"#/components/schemas/\")[1]) !== null && _b !== void 0 ? _b : input.$ref.split(\"/\").at(-1);\n const target = (_a = props.components.schemas) === null || _a === void 0 ? void 0 : _a[key];\n if (target === undefined)\n return;\n else {\n // KEEP THE REFERENCE TYPE\n const out = () => {\n union.push(Object.assign(Object.assign({}, input), { $ref: `#/$defs/${key}` }));\n };\n if (props.$defs[key] !== undefined)\n return out();\n props.$defs[key] = {};\n const converted = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: target,\n refAccessor: props.refAccessor,\n accessor: `${(_c = props.refAccessor) !== null && _c !== void 0 ? _c : \"$def\"}[${JSON.stringify(key)}]`,\n });\n if (converted.success === false)\n return; // UNREACHABLE\n props.$defs[key] = converted.value;\n return out();\n }\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isObject(input)) {\n // OBJECT TYPE\n const properties = Object.fromEntries(Object.entries((_d = input.properties) !== null && _d !== void 0 ? _d : {})\n .map(([key, value]) => {\n var _a;\n const converted = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: value,\n refAccessor: props.refAccessor,\n accessor: `${(_a = props.accessor) !== null && _a !== void 0 ? _a : \"$input.schema\"}.properties[${JSON.stringify(key)}]`,\n });\n if (converted.success === false) {\n reasons.push(...converted.error.reasons);\n return [key, null];\n }\n return [key, converted.value];\n })\n .filter(([, value]) => value !== null));\n if (Object.values(properties).some((v) => v === null))\n return;\n const additionalProperties = (() => {\n if (typeof input.additionalProperties === \"object\" &&\n input.additionalProperties !== null) {\n const converted = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: input.additionalProperties,\n refAccessor: props.refAccessor,\n accessor: `${accessor}.additionalProperties`,\n });\n if (converted.success === false) {\n reasons.push(...converted.error.reasons);\n return null;\n }\n return converted.value;\n }\n return props.config.strict === true\n ? false\n : input.additionalProperties;\n })();\n if (additionalProperties === null)\n return;\n union.push(Object.assign(Object.assign({}, input), { properties,\n additionalProperties, required: (_e = input.required) !== null && _e !== void 0 ? _e : [], description: props.config.strict === true\n ? JsonDescriptor_1.JsonDescriptor.take(input)\n : input.description }));\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isArray(input)) {\n // ARRAY TYPE\n const items = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: input.items,\n refAccessor: props.refAccessor,\n accessor: `${accessor}.items`,\n });\n if (items.success === false) {\n reasons.push(...items.error.reasons);\n return;\n }\n union.push(props.config.strict === true\n ? OpenApiConstraintShifter_1.OpenApiConstraintShifter.shiftArray(Object.assign(Object.assign({}, input), { items: items.value }))\n : Object.assign(Object.assign({}, input), { items: items.value }));\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isString(input))\n union.push(props.config.strict === true\n ? OpenApiConstraintShifter_1.OpenApiConstraintShifter.shiftString(Object.assign({}, input))\n : input);\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isNumber(input) ||\n OpenApiTypeChecker_1.OpenApiTypeChecker.isInteger(input))\n union.push(props.config.strict === true\n ? OpenApiConstraintShifter_1.OpenApiConstraintShifter.shiftNumeric(Object.assign({}, input))\n : input);\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isTuple(input))\n return; // UNREACHABLE\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isConstant(input) === false)\n union.push(Object.assign({}, input));\n };\n visitConstant(props.schema);\n visit(props.schema, (_a = props.accessor) !== null && _a !== void 0 ? _a : \"$input.schema\");\n if (reasons.length > 0)\n return {\n success: false,\n error: {\n method: \"LlmSchemaConverter.schema\",\n message: \"Failed to compose LLM schema\",\n reasons,\n },\n };\n else if (union.length === 0)\n return {\n // unknown type\n success: true,\n value: Object.assign(Object.assign({}, attribute), { type: undefined }),\n };\n else if (union.length === 1)\n return {\n // single type\n success: true,\n value: Object.assign(Object.assign(Object.assign({}, attribute), union[0]), { description: props.config.strict === true &&\n LlmTypeChecker_1.LlmTypeChecker.isReference(union[0])\n ? undefined\n : ((_b = union[0].description) !== null && _b !== void 0 ? _b : attribute.description) }),\n };\n return {\n success: true,\n value: Object.assign(Object.assign({}, attribute), { anyOf: union.map((u) => (Object.assign(Object.assign({}, u), { description: props.config.strict === true && LlmTypeChecker_1.LlmTypeChecker.isReference(u)\n ? undefined\n : u.description }))), \"x-discriminator\": OpenApiTypeChecker_1.OpenApiTypeChecker.isOneOf(props.schema) &&\n props.schema.discriminator !== undefined &&\n props.schema.oneOf.length === union.length &&\n union.every((e) => LlmTypeChecker_1.LlmTypeChecker.isReference(e) || LlmTypeChecker_1.LlmTypeChecker.isNull(e))\n ? {\n propertyName: props.schema.discriminator.propertyName,\n mapping: props.schema.discriminator.mapping !== undefined\n ? Object.fromEntries(Object.entries(props.schema.discriminator.mapping).map(([key, value]) => [\n key,\n `#/$defs/${value.split(\"/\").at(-1)}`,\n ]))\n : undefined,\n }\n : undefined }),\n };\n };\n /* -----------------------------------------------------------\n INVERTERS\n ----------------------------------------------------------- */\n /**\n * Convert LLM schema back to OpenAPI schema.\n *\n * Restores constraint information from description tags and converts `$defs`\n * references to `#/components/schemas`.\n *\n * @param props.components Target components (mutated with definitions)\n * @param props.schema LLM schema to invert\n * @param props.$defs LLM schema definitions\n * @returns OpenAPI JSON schema\n */\n LlmSchemaConverter.invert = (props) => {\n const union = [];\n const attribute = Object.assign({ title: props.schema.title, description: props.schema.description, deprecated: props.schema.deprecated, readOnly: props.schema.readOnly, writeOnly: props.schema.writeOnly, example: props.schema.example, examples: props.schema.examples }, Object.fromEntries(Object.entries(props.schema).filter(([key, value]) => key.startsWith(\"x-\") && value !== undefined)));\n const next = (schema) => LlmSchemaConverter.invert({\n components: props.components,\n $defs: props.$defs,\n schema,\n });\n const visit = (schema) => {\n var _a, _b, _c, _d;\n var _e, _f, _g;\n var _h;\n if (LlmTypeChecker_1.LlmTypeChecker.isArray(schema))\n union.push(Object.assign(Object.assign(Object.assign({}, schema), LlmDescriptionInverter_1.LlmDescriptionInverter.array(schema.description)), { items: next(schema.items) }));\n else if (LlmTypeChecker_1.LlmTypeChecker.isObject(schema))\n union.push(Object.assign(Object.assign({}, schema), { properties: Object.fromEntries(Object.entries(schema.properties).map(([key, value]) => [\n key,\n next(value),\n ])), additionalProperties: typeof schema.additionalProperties === \"object\" &&\n schema.additionalProperties !== null\n ? next(schema.additionalProperties)\n : schema.additionalProperties }));\n else if (LlmTypeChecker_1.LlmTypeChecker.isAnyOf(schema))\n schema.anyOf.forEach(visit);\n else if (LlmTypeChecker_1.LlmTypeChecker.isReference(schema)) {\n const key = (_e = schema.$ref.split(\"#/$defs/\")[1]) !== null && _e !== void 0 ? _e : schema.$ref.split(\"/\").at(-1);\n if (((_a = props.components.schemas) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {\n (_f = (_h = props.components).schemas) !== null && _f !== void 0 ? _f : (_h.schemas = {});\n props.components.schemas[key] = {};\n props.components.schemas[key] = next((_g = props.$defs[key]) !== null && _g !== void 0 ? _g : {});\n }\n union.push(Object.assign(Object.assign({}, schema), { $ref: `#/components/schemas/${key}` }));\n }\n else if (LlmTypeChecker_1.LlmTypeChecker.isBoolean(schema))\n if (!!((_b = schema.enum) === null || _b === void 0 ? void 0 : _b.length))\n schema.enum.forEach((v) => union.push({\n const: v,\n }));\n else\n union.push(schema);\n else if (LlmTypeChecker_1.LlmTypeChecker.isInteger(schema) ||\n LlmTypeChecker_1.LlmTypeChecker.isNumber(schema))\n if (!!((_c = schema.enum) === null || _c === void 0 ? void 0 : _c.length))\n schema.enum.forEach((v) => union.push({\n const: v,\n }));\n else\n union.push(Object.assign(Object.assign(Object.assign({}, schema), LlmDescriptionInverter_1.LlmDescriptionInverter.numeric(schema.description)), { enum: undefined }));\n else if (LlmTypeChecker_1.LlmTypeChecker.isString(schema))\n if (!!((_d = schema.enum) === null || _d === void 0 ? void 0 : _d.length))\n schema.enum.forEach((v) => union.push({\n const: v,\n }));\n else\n union.push(Object.assign(Object.assign(Object.assign({}, schema), LlmDescriptionInverter_1.LlmDescriptionInverter.string(schema.description)), { enum: undefined }));\n else\n union.push(Object.assign({}, schema));\n };\n visit(props.schema);\n return Object.assign(Object.assign({}, attribute), (union.length === 0\n ? { type: undefined }\n : union.length === 1\n ? Object.assign({}, union[0]) : {\n oneOf: union.map((u) => (Object.assign(Object.assign({}, u), { nullable: undefined }))),\n discriminator: LlmTypeChecker_1.LlmTypeChecker.isAnyOf(props.schema) &&\n props.schema[\"x-discriminator\"] !== undefined\n ? {\n propertyName: props.schema[\"x-discriminator\"].propertyName,\n mapping: props.schema[\"x-discriminator\"].mapping !== undefined\n ? Object.fromEntries(Object.entries(props.schema[\"x-discriminator\"].mapping).map(([key, value]) => [\n key,\n `#/components/schemas/${value.split(\"/\").at(-1)}`,\n ]))\n : undefined,\n }\n : undefined,\n }));\n };\n})(LlmSchemaConverter || (exports.LlmSchemaConverter = LlmSchemaConverter = {}));\nconst validateStrict = (schema, accessor) => {\n var _a;\n var _b;\n const reasons = [];\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isObject(schema)) {\n if (!!schema.additionalProperties)\n reasons.push({\n schema: schema,\n accessor: `${accessor}.additionalProperties`,\n message: \"LLM does not allow additionalProperties in strict mode, the dynamic key typed object.\",\n });\n for (const key of Object.keys((_b = schema.properties) !== null && _b !== void 0 ? _b : {}))\n if (((_a = schema.required) === null || _a === void 0 ? void 0 : _a.includes(key)) === false)\n reasons.push({\n schema: schema,\n accessor: `${accessor}.properties.${key}`,\n message: \"LLM does not allow optional properties in strict mode.\",\n });\n }\n return reasons;\n};\n//# sourceMappingURL=LlmSchemaConverter.js.map"],"names":["LlmSchemaConverter_1","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","LlmSchemaConverter"],"mappings":"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"}
1
+ {"version":3,"file":"LlmSchemaConverter2.mjs","sources":["LlmSchemaConverter.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LlmSchemaConverter = void 0;\nconst JsonDescriptor_1 = require(\"../utils/internal/JsonDescriptor\");\nconst LlmTypeChecker_1 = require(\"../validators/LlmTypeChecker\");\nconst OpenApiTypeChecker_1 = require(\"../validators/OpenApiTypeChecker\");\nconst LlmDescriptionInverter_1 = require(\"./internal/LlmDescriptionInverter\");\nconst LlmParametersComposer_1 = require(\"./internal/LlmParametersComposer\");\nconst OpenApiConstraintShifter_1 = require(\"./internal/OpenApiConstraintShifter\");\n/**\n * OpenAPI to LLM schema converter.\n *\n * `LlmSchemaConverter` converts OpenAPI JSON schemas to LLM-compatible\n * {@link ILlmSchema} format. LLMs don't fully support JSON Schema, so this\n * simplifies schemas by removing unsupported features (tuples, `const`, mixed\n * unions).\n *\n * Main functions:\n *\n * - {@link parameters}: Convert object schema to {@link ILlmSchema.IParameters}\n * - {@link schema}: Convert any schema to {@link ILlmSchema}\n * - {@link invert}: Extract constraints from description back to schema\n *\n * Configuration options ({@link ILlmSchema.IConfig}):\n *\n * - `strict`: OpenAI structured output mode (all properties required)\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nvar LlmSchemaConverter;\n(function (LlmSchemaConverter) {\n /**\n * Get configuration with defaults applied.\n *\n * @param config Partial configuration\n * @returns Full configuration with defaults\n */\n LlmSchemaConverter.getConfig = (config) => { var _a; return ({\n strict: (_a = config === null || config === void 0 ? void 0 : config.strict) !== null && _a !== void 0 ? _a : false,\n }); };\n /* -----------------------------------------------------------\n CONVERTERS\n ----------------------------------------------------------- */\n /**\n * Convert OpenAPI object schema to LLM parameters schema.\n *\n * @param props.config Conversion configuration\n * @param props.components OpenAPI components for reference resolution\n * @param props.schema Object or reference schema to convert\n * @param props.accessor Error path accessor\n * @param props.refAccessor Reference path accessor\n * @returns Converted parameters or error\n */\n LlmSchemaConverter.parameters = (props) => {\n const config = LlmSchemaConverter.getConfig(props.config);\n const entity = LlmParametersComposer_1.LlmParametersFinder.parameters(Object.assign(Object.assign({}, props), { method: \"LlmSchemaConverter.parameters\" }));\n if (entity.success === false)\n return entity;\n const $defs = {};\n const result = transform(Object.assign(Object.assign({}, props), { config,\n $defs, schema: entity.value }));\n if (result.success === false)\n return result;\n return {\n success: true,\n value: Object.assign(Object.assign({}, result.value), { additionalProperties: false, $defs, description: OpenApiTypeChecker_1.OpenApiTypeChecker.isReference(props.schema)\n ? JsonDescriptor_1.JsonDescriptor.cascade({\n prefix: \"#/components/schemas/\",\n components: props.components,\n schema: Object.assign(Object.assign({}, props.schema), { description: result.value.description }),\n escape: true,\n })\n : result.value.description }),\n };\n };\n /**\n * Convert OpenAPI schema to LLM schema.\n *\n * @param props.config Conversion configuration\n * @param props.components OpenAPI components for reference resolution\n * @param props.$defs Definition store (mutated with referenced types)\n * @param props.schema Schema to convert\n * @param props.accessor Error path accessor\n * @param props.refAccessor Reference path accessor\n * @returns Converted schema or error\n */\n LlmSchemaConverter.schema = (props) => transform({\n config: LlmSchemaConverter.getConfig(props.config),\n components: props.components,\n $defs: props.$defs,\n schema: props.schema,\n accessor: props.accessor,\n refAccessor: props.refAccessor,\n });\n const transform = (props) => {\n var _a, _b;\n // PREPARE ASSETS\n const union = [];\n const attribute = Object.assign({ title: props.schema.title, description: props.schema.description, deprecated: props.schema.deprecated, readOnly: props.schema.readOnly, writeOnly: props.schema.writeOnly, example: props.schema.example, examples: props.schema.examples }, Object.fromEntries(Object.entries(props.schema).filter(([key, value]) => key.startsWith(\"x-\") && value !== undefined)));\n // VALIDADTE SCHEMA\n const reasons = [];\n OpenApiTypeChecker_1.OpenApiTypeChecker.visit({\n closure: (next, accessor) => {\n var _a;\n var _b;\n if (props.config.strict === true) {\n // STRICT MODE VALIDATION\n reasons.push(...validateStrict(next, accessor));\n }\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isTuple(next))\n reasons.push({\n accessor,\n schema: next,\n message: `LLM does not allow tuple type.`,\n });\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isReference(next)) {\n // UNABLE TO FIND MATCHED REFERENCE\n const key = (_b = next.$ref.split(\"#/components/schemas/\")[1]) !== null && _b !== void 0 ? _b : next.$ref.split(\"/\").at(-1);\n if (((_a = props.components.schemas) === null || _a === void 0 ? void 0 : _a[key]) === undefined)\n reasons.push({\n schema: next,\n accessor: accessor,\n message: `unable to find reference type ${JSON.stringify(key)}.`,\n });\n }\n },\n components: props.components,\n schema: props.schema,\n accessor: props.accessor,\n refAccessor: props.refAccessor,\n });\n if (reasons.length > 0)\n return {\n success: false,\n error: {\n method: \"LlmSchemaConverter.schema\",\n message: \"Failed to compose LLM schema\",\n reasons,\n },\n };\n const visitConstant = (input) => {\n const insert = (value) => {\n var _a;\n const matched = union.find((u) => (u === null || u === void 0 ? void 0 : u.type) === typeof value);\n if (matched !== undefined) {\n (_a = matched.enum) !== null && _a !== void 0 ? _a : (matched.enum = []);\n matched.enum.push(value);\n }\n else\n union.push({\n type: typeof value,\n enum: [value],\n });\n };\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isConstant(input))\n insert(input.const);\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isOneOf(input))\n input.oneOf.forEach(visitConstant);\n };\n const visit = (input, accessor) => {\n var _a;\n var _b, _c, _d, _e;\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isOneOf(input)) {\n // UNION TYPE\n input.oneOf.forEach((s, i) => visit(s, `${accessor}.oneOf[${i}]`));\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isReference(input)) {\n // REFERENCE TYPE\n const key = (_b = input.$ref.split(\"#/components/schemas/\")[1]) !== null && _b !== void 0 ? _b : input.$ref.split(\"/\").at(-1);\n const target = (_a = props.components.schemas) === null || _a === void 0 ? void 0 : _a[key];\n if (target === undefined)\n return;\n else {\n // KEEP THE REFERENCE TYPE\n const out = () => {\n union.push(Object.assign(Object.assign({}, input), { $ref: `#/$defs/${key}` }));\n };\n if (props.$defs[key] !== undefined)\n return out();\n props.$defs[key] = {};\n const converted = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: target,\n refAccessor: props.refAccessor,\n accessor: `${(_c = props.refAccessor) !== null && _c !== void 0 ? _c : \"$def\"}[${JSON.stringify(key)}]`,\n });\n if (converted.success === false)\n return; // UNREACHABLE\n props.$defs[key] = converted.value;\n return out();\n }\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isObject(input)) {\n // OBJECT TYPE\n const properties = Object.fromEntries(Object.entries((_d = input.properties) !== null && _d !== void 0 ? _d : {})\n .map(([key, value]) => {\n var _a;\n const converted = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: value,\n refAccessor: props.refAccessor,\n accessor: `${(_a = props.accessor) !== null && _a !== void 0 ? _a : \"$input.schema\"}.properties[${JSON.stringify(key)}]`,\n });\n if (converted.success === false) {\n reasons.push(...converted.error.reasons);\n return [key, null];\n }\n return [key, converted.value];\n })\n .filter(([, value]) => value !== null));\n if (Object.values(properties).some((v) => v === null))\n return;\n const additionalProperties = (() => {\n if (typeof input.additionalProperties === \"object\" &&\n input.additionalProperties !== null) {\n const converted = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: input.additionalProperties,\n refAccessor: props.refAccessor,\n accessor: `${accessor}.additionalProperties`,\n });\n if (converted.success === false) {\n reasons.push(...converted.error.reasons);\n return null;\n }\n return converted.value;\n }\n return props.config.strict === true\n ? false\n : input.additionalProperties;\n })();\n if (additionalProperties === null)\n return;\n union.push(Object.assign(Object.assign({}, input), { properties,\n additionalProperties, required: (_e = input.required) !== null && _e !== void 0 ? _e : [], description: props.config.strict === true\n ? JsonDescriptor_1.JsonDescriptor.take(input)\n : input.description }));\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isArray(input)) {\n // ARRAY TYPE\n const items = transform({\n config: props.config,\n components: props.components,\n $defs: props.$defs,\n schema: input.items,\n refAccessor: props.refAccessor,\n accessor: `${accessor}.items`,\n });\n if (items.success === false) {\n reasons.push(...items.error.reasons);\n return;\n }\n union.push(props.config.strict === true\n ? OpenApiConstraintShifter_1.OpenApiConstraintShifter.shiftArray(Object.assign(Object.assign({}, input), { items: items.value }))\n : Object.assign(Object.assign({}, input), { items: items.value }));\n }\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isString(input))\n union.push(props.config.strict === true\n ? OpenApiConstraintShifter_1.OpenApiConstraintShifter.shiftString(Object.assign({}, input))\n : input);\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isNumber(input) ||\n OpenApiTypeChecker_1.OpenApiTypeChecker.isInteger(input))\n union.push(props.config.strict === true\n ? OpenApiConstraintShifter_1.OpenApiConstraintShifter.shiftNumeric(Object.assign({}, input))\n : input);\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isTuple(input))\n return; // UNREACHABLE\n else if (OpenApiTypeChecker_1.OpenApiTypeChecker.isConstant(input) === false)\n union.push(Object.assign({}, input));\n };\n visitConstant(props.schema);\n visit(props.schema, (_a = props.accessor) !== null && _a !== void 0 ? _a : \"$input.schema\");\n if (reasons.length > 0)\n return {\n success: false,\n error: {\n method: \"LlmSchemaConverter.schema\",\n message: \"Failed to compose LLM schema\",\n reasons,\n },\n };\n else if (union.length === 0)\n return {\n // unknown type\n success: true,\n value: Object.assign(Object.assign({}, attribute), { type: undefined }),\n };\n else if (union.length === 1)\n return {\n // single type\n success: true,\n value: Object.assign(Object.assign(Object.assign({}, attribute), union[0]), { description: props.config.strict === true &&\n LlmTypeChecker_1.LlmTypeChecker.isReference(union[0])\n ? undefined\n : ((_b = union[0].description) !== null && _b !== void 0 ? _b : attribute.description) }),\n };\n return {\n success: true,\n value: Object.assign(Object.assign({}, attribute), { anyOf: union.map((u) => (Object.assign(Object.assign({}, u), { description: props.config.strict === true && LlmTypeChecker_1.LlmTypeChecker.isReference(u)\n ? undefined\n : u.description }))), \"x-discriminator\": OpenApiTypeChecker_1.OpenApiTypeChecker.isOneOf(props.schema) &&\n props.schema.discriminator !== undefined &&\n props.schema.oneOf.length === union.length &&\n union.every((e) => LlmTypeChecker_1.LlmTypeChecker.isReference(e) || LlmTypeChecker_1.LlmTypeChecker.isNull(e))\n ? {\n propertyName: props.schema.discriminator.propertyName,\n mapping: props.schema.discriminator.mapping !== undefined\n ? Object.fromEntries(Object.entries(props.schema.discriminator.mapping).map(([key, value]) => [\n key,\n `#/$defs/${value.split(\"/\").at(-1)}`,\n ]))\n : undefined,\n }\n : undefined }),\n };\n };\n /* -----------------------------------------------------------\n INVERTERS\n ----------------------------------------------------------- */\n /**\n * Convert LLM schema back to OpenAPI schema.\n *\n * Restores constraint information from description tags and converts `$defs`\n * references to `#/components/schemas`.\n *\n * @param props.components Target components (mutated with definitions)\n * @param props.schema LLM schema to invert\n * @param props.$defs LLM schema definitions\n * @returns OpenAPI JSON schema\n */\n LlmSchemaConverter.invert = (props) => {\n const union = [];\n const attribute = Object.assign({ title: props.schema.title, description: props.schema.description, deprecated: props.schema.deprecated, readOnly: props.schema.readOnly, writeOnly: props.schema.writeOnly, example: props.schema.example, examples: props.schema.examples }, Object.fromEntries(Object.entries(props.schema).filter(([key, value]) => key.startsWith(\"x-\") && value !== undefined)));\n const next = (schema) => LlmSchemaConverter.invert({\n components: props.components,\n $defs: props.$defs,\n schema,\n });\n const visit = (schema) => {\n var _a, _b, _c, _d;\n var _e, _f, _g, _h;\n var _j;\n if (LlmTypeChecker_1.LlmTypeChecker.isArray(schema))\n union.push(Object.assign(Object.assign(Object.assign({}, schema), LlmDescriptionInverter_1.LlmDescriptionInverter.array(schema.description)), { items: next(schema.items) }));\n else if (LlmTypeChecker_1.LlmTypeChecker.isObject(schema))\n union.push(Object.assign(Object.assign({}, schema), { properties: Object.fromEntries(Object.entries((_e = schema.properties) !== null && _e !== void 0 ? _e : {}).map(([key, value]) => [\n key,\n next(value),\n ])), additionalProperties: typeof schema.additionalProperties === \"object\" &&\n schema.additionalProperties !== null\n ? next(schema.additionalProperties)\n : schema.additionalProperties }));\n else if (LlmTypeChecker_1.LlmTypeChecker.isAnyOf(schema))\n schema.anyOf.forEach(visit);\n else if (LlmTypeChecker_1.LlmTypeChecker.isReference(schema)) {\n const key = (_f = schema.$ref.split(\"#/$defs/\")[1]) !== null && _f !== void 0 ? _f : schema.$ref.split(\"/\").at(-1);\n if (((_a = props.components.schemas) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {\n (_g = (_j = props.components).schemas) !== null && _g !== void 0 ? _g : (_j.schemas = {});\n props.components.schemas[key] = {};\n props.components.schemas[key] = next((_h = props.$defs[key]) !== null && _h !== void 0 ? _h : {});\n }\n union.push(Object.assign(Object.assign({}, schema), { $ref: `#/components/schemas/${key}` }));\n }\n else if (LlmTypeChecker_1.LlmTypeChecker.isBoolean(schema))\n if (!!((_b = schema.enum) === null || _b === void 0 ? void 0 : _b.length))\n schema.enum.forEach((v) => union.push({\n const: v,\n }));\n else\n union.push(schema);\n else if (LlmTypeChecker_1.LlmTypeChecker.isInteger(schema) ||\n LlmTypeChecker_1.LlmTypeChecker.isNumber(schema))\n if (!!((_c = schema.enum) === null || _c === void 0 ? void 0 : _c.length))\n schema.enum.forEach((v) => union.push({\n const: v,\n }));\n else\n union.push(Object.assign(Object.assign(Object.assign({}, schema), LlmDescriptionInverter_1.LlmDescriptionInverter.numeric(schema.description)), { enum: undefined }));\n else if (LlmTypeChecker_1.LlmTypeChecker.isString(schema))\n if (!!((_d = schema.enum) === null || _d === void 0 ? void 0 : _d.length))\n schema.enum.forEach((v) => union.push({\n const: v,\n }));\n else\n union.push(Object.assign(Object.assign(Object.assign({}, schema), LlmDescriptionInverter_1.LlmDescriptionInverter.string(schema.description)), { enum: undefined }));\n else\n union.push(Object.assign({}, schema));\n };\n visit(props.schema);\n return Object.assign(Object.assign({}, attribute), (union.length === 0\n ? { type: undefined }\n : union.length === 1\n ? Object.assign({}, union[0]) : {\n oneOf: union.map((u) => (Object.assign(Object.assign({}, u), { nullable: undefined }))),\n discriminator: LlmTypeChecker_1.LlmTypeChecker.isAnyOf(props.schema) &&\n props.schema[\"x-discriminator\"] !== undefined\n ? {\n propertyName: props.schema[\"x-discriminator\"].propertyName,\n mapping: props.schema[\"x-discriminator\"].mapping !== undefined\n ? Object.fromEntries(Object.entries(props.schema[\"x-discriminator\"].mapping).map(([key, value]) => [\n key,\n `#/components/schemas/${value.split(\"/\").at(-1)}`,\n ]))\n : undefined,\n }\n : undefined,\n }));\n };\n})(LlmSchemaConverter || (exports.LlmSchemaConverter = LlmSchemaConverter = {}));\nconst validateStrict = (schema, accessor) => {\n const reasons = [];\n if (OpenApiTypeChecker_1.OpenApiTypeChecker.isObject(schema)) {\n if (!!schema.additionalProperties)\n reasons.push({\n schema: schema,\n accessor: `${accessor}.additionalProperties`,\n message: \"LLM does not allow additionalProperties in strict mode, the dynamic key typed object.\",\n });\n }\n return reasons;\n};\n//# sourceMappingURL=LlmSchemaConverter.js.map"],"names":["LlmSchemaConverter_1","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5"],"mappings":"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"}
@@ -1,8 +1,3 @@
1
- import { getDefaultExportFromCjs } from '../_virtual/_commonjsHelpers.mjs';
2
- import { __require as requireOpenApiConverter } from './OpenApiConverter2.mjs';
3
-
4
- var OpenApiConverterExports = requireOpenApiConverter();
5
- var OpenApiConverter = /*@__PURE__*/getDefaultExportFromCjs(OpenApiConverterExports);
6
-
7
- export { OpenApiConverter as default };
1
+ export { OpenApiConverter } from './OpenApiConverter2.mjs';
2
+ export { __exports as default } from '../_virtual/OpenApiConverter.mjs';
8
3
  //# sourceMappingURL=OpenApiConverter.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiConverter.mjs","sources":["OpenApiConverter.js?commonjs-entry"],"sourcesContent":["import { getDefaultExportFromCjs } from \"\u0000commonjsHelpers.js\";\nimport { __require as requireOpenApiConverter } from \"/home/samchon/github/samchon/typia@next/packages/utils/lib/converters/OpenApiConverter.js\";\nvar OpenApiConverterExports = requireOpenApiConverter();\nexport { OpenApiConverterExports as __moduleExports };\nexport default /*@__PURE__*/getDefaultExportFromCjs(OpenApiConverterExports);"],"names":[],"mappings":";;;AAEA,IAAI,uBAAuB,GAAG,uBAAuB,EAAE;AAEvD,uBAAe,aAAa,uBAAuB,CAAC,uBAAuB,CAAC;;;;"}
1
+ {"version":3,"file":"OpenApiConverter.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,167 +1,166 @@
1
- import { __exports as OpenApiConverter } from '../_virtual/OpenApiConverter.mjs';
2
- import { __require as requireOpenApiV3Downgrader } from './internal/OpenApiV3Downgrader2.mjs';
3
- import { __require as requireOpenApiV3Upgrader } from './internal/OpenApiV3Upgrader2.mjs';
4
- import { __require as requireOpenApiV3_1Downgrader } from './internal/OpenApiV3_1Downgrader2.mjs';
5
- import { __require as requireOpenApiV3_1Upgrader } from './internal/OpenApiV3_1Upgrader2.mjs';
6
- import { __require as requireOpenApiV3_2Upgrader } from './internal/OpenApiV3_2Upgrader2.mjs';
7
- import { __require as requireSwaggerV2Downgrader } from './internal/SwaggerV2Downgrader2.mjs';
8
- import { __require as requireSwaggerV2Upgrader } from './internal/SwaggerV2Upgrader2.mjs';
1
+ import { __exports as OpenApiConverter$1 } from '../_virtual/OpenApiConverter.mjs';
2
+ import './internal/OpenApiV3Downgrader2.mjs';
3
+ import './internal/OpenApiV3Upgrader2.mjs';
4
+ import './internal/OpenApiV3_1Downgrader2.mjs';
5
+ import './internal/OpenApiV3_1Upgrader2.mjs';
6
+ import './internal/OpenApiV3_2Upgrader2.mjs';
7
+ import './internal/SwaggerV2Downgrader2.mjs';
8
+ import './internal/SwaggerV2Upgrader2.mjs';
9
+ import { __exports as OpenApiV3_2Upgrader } from '../_virtual/OpenApiV3_2Upgrader.mjs';
10
+ import { __exports as OpenApiV3_1Upgrader } from '../_virtual/OpenApiV3_1Upgrader.mjs';
11
+ import { __exports as OpenApiV3Upgrader } from '../_virtual/OpenApiV3Upgrader.mjs';
12
+ import { __exports as SwaggerV2Upgrader } from '../_virtual/SwaggerV2Upgrader.mjs';
13
+ import { __exports as SwaggerV2Downgrader } from '../_virtual/SwaggerV2Downgrader.mjs';
14
+ import { __exports as OpenApiV3Downgrader } from '../_virtual/OpenApiV3Downgrader.mjs';
15
+ import { __exports as OpenApiV3_1Downgrader } from '../_virtual/OpenApiV3_1Downgrader.mjs';
9
16
 
10
- var hasRequiredOpenApiConverter;
17
+ Object.defineProperty(OpenApiConverter$1, "__esModule", { value: true });
18
+ var OpenApiConverter_2 = OpenApiConverter$1.OpenApiConverter = void 0;
19
+ const OpenApiV3Downgrader_1 = OpenApiV3Downgrader;
20
+ const OpenApiV3Upgrader_1 = OpenApiV3Upgrader;
21
+ const OpenApiV3_1Downgrader_1 = OpenApiV3_1Downgrader;
22
+ const OpenApiV3_1Upgrader_1 = OpenApiV3_1Upgrader;
23
+ const OpenApiV3_2Upgrader_1 = OpenApiV3_2Upgrader;
24
+ const SwaggerV2Downgrader_1 = SwaggerV2Downgrader;
25
+ const SwaggerV2Upgrader_1 = SwaggerV2Upgrader;
26
+ /**
27
+ * OpenAPI version converter.
28
+ *
29
+ * `OpenApiConverter` converts between different OpenAPI specification versions:
30
+ * Swagger v2.0, OpenAPI v3.0, OpenAPI v3.1, OpenAPI v3.2, and typia's emended
31
+ * {@link OpenApi} format. Also converts individual components (schemas,
32
+ * operations, paths).
33
+ *
34
+ * Upgrade path (to emended v3.2):
35
+ *
36
+ * - Swagger v2.0 → emended v3.2
37
+ * - OpenAPI v3.0 → emended v3.2
38
+ * - OpenAPI v3.1 → emended v3.2
39
+ * - OpenAPI v3.2 → emended v3.2
40
+ *
41
+ * Downgrade path (from emended v3.2):
42
+ *
43
+ * - Emended v3.2 → Swagger v2.0
44
+ * - Emended v3.2 → OpenAPI v3.0
45
+ * - Emended v3.2 → OpenAPI v3.1
46
+ *
47
+ * The emended format normalizes ambiguous expressions: dereferences `$ref`,
48
+ * merges `allOf`, converts `nullable` to union types, etc.
49
+ *
50
+ * @author Jeongho Nam - https://github.com/samchon
51
+ */
52
+ var OpenApiConverter;
53
+ (function (OpenApiConverter) {
54
+ /* -----------------------------------------------------------
55
+ DOCUMENTS
56
+ ----------------------------------------------------------- */
57
+ /**
58
+ * Upgrade document to typia's emended OpenAPI v3.2 format.
59
+ *
60
+ * @param document Source document (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)
61
+ * @returns Emended OpenAPI v3.2 document
62
+ */
63
+ function upgradeDocument(document) {
64
+ if (isUpgraded(document))
65
+ return document;
66
+ else if (is_v32(document))
67
+ return OpenApiV3_2Upgrader_1.OpenApiV3_2Upgrader.convert(document);
68
+ else if (is_v31(document))
69
+ return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convert(document);
70
+ else if (is_v30(document))
71
+ return OpenApiV3Upgrader_1.OpenApiV3Upgrader.convert(document);
72
+ else if (is_v20(document))
73
+ return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convert(document);
74
+ throw new Error("Invalid OpenAPI document");
75
+ }
76
+ OpenApiConverter.upgradeDocument = upgradeDocument;
77
+ /** @internal */
78
+ function downgradeDocument(document, version) {
79
+ if (version === "2.0")
80
+ return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgrade(document);
81
+ else if (version === "3.0")
82
+ return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgrade(document);
83
+ else if (version === "3.1")
84
+ return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgrade(document);
85
+ throw new Error("Invalid OpenAPI version");
86
+ }
87
+ OpenApiConverter.downgradeDocument = downgradeDocument;
88
+ /* -----------------------------------------------------------
89
+ COMPONENTS
90
+ ----------------------------------------------------------- */
91
+ /**
92
+ * Upgrade components to typia's emended format.
93
+ *
94
+ * @param input Source components (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)
95
+ * @returns Emended OpenAPI components
96
+ */
97
+ function upgradeComponents(input) {
98
+ if (is_v20(input))
99
+ return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertComponents(input);
100
+ return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertComponents(input);
101
+ }
102
+ OpenApiConverter.upgradeComponents = upgradeComponents;
103
+ /** @internal */
104
+ function downgradeComponents(input, version) {
105
+ if (version === "2.0")
106
+ return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeComponents(input).downgraded;
107
+ if (version === "3.1")
108
+ return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeComponents(input).downgraded;
109
+ return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeComponents(input).downgraded;
110
+ }
111
+ OpenApiConverter.downgradeComponents = downgradeComponents;
112
+ /** @internal */
113
+ function upgradeSchema(props) {
114
+ if ("definitions" in props)
115
+ return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertSchema(props.definitions)(props.schema);
116
+ return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertSchema(props.components)(props.schema);
117
+ }
118
+ OpenApiConverter.upgradeSchema = upgradeSchema;
119
+ /** @internal */
120
+ function downgradeSchema(props) {
121
+ if (props.version === "2.0")
122
+ return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeSchema({
123
+ original: props.components,
124
+ downgraded: props.downgraded,
125
+ })(props.schema);
126
+ if (props.version === "3.1")
127
+ return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeSchema({
128
+ original: props.components,
129
+ downgraded: props.downgraded,
130
+ })(props.schema);
131
+ return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeSchema({
132
+ original: props.components,
133
+ downgraded: props.downgraded,
134
+ })(props.schema);
135
+ }
136
+ OpenApiConverter.downgradeSchema = downgradeSchema;
137
+ })(OpenApiConverter || (OpenApiConverter_2 = OpenApiConverter$1.OpenApiConverter = OpenApiConverter = {}));
138
+ const is_v20 = (input) => typeof input === "object" &&
139
+ input !== null &&
140
+ "swagger" in input &&
141
+ typeof input.swagger === "string" &&
142
+ input.swagger.startsWith("2.0");
143
+ const is_v30 = (input) => typeof input === "object" &&
144
+ input !== null &&
145
+ "openapi" in input &&
146
+ typeof input.openapi === "string" &&
147
+ input.openapi.startsWith("3.0");
148
+ const is_v31 = (input) => typeof input === "object" &&
149
+ input !== null &&
150
+ "openapi" in input &&
151
+ typeof input.openapi === "string" &&
152
+ input.openapi.startsWith("3.1");
153
+ const is_v32 = (input) => typeof input === "object" &&
154
+ input !== null &&
155
+ "openapi" in input &&
156
+ typeof input.openapi === "string" &&
157
+ input.openapi.startsWith("3.2");
158
+ const isUpgraded = (input) => typeof input === "object" &&
159
+ input !== null &&
160
+ "openapi" in input &&
161
+ typeof input.openapi === "string" &&
162
+ input.openapi.startsWith("3.2") &&
163
+ input["x-typia-emended-v12"] === true;
11
164
 
12
- function requireOpenApiConverter () {
13
- if (hasRequiredOpenApiConverter) return OpenApiConverter;
14
- hasRequiredOpenApiConverter = 1;
15
- Object.defineProperty(OpenApiConverter, "__esModule", { value: true });
16
- OpenApiConverter.OpenApiConverter = void 0;
17
- const OpenApiV3Downgrader_1 = requireOpenApiV3Downgrader();
18
- const OpenApiV3Upgrader_1 = requireOpenApiV3Upgrader();
19
- const OpenApiV3_1Downgrader_1 = requireOpenApiV3_1Downgrader();
20
- const OpenApiV3_1Upgrader_1 = requireOpenApiV3_1Upgrader();
21
- const OpenApiV3_2Upgrader_1 = requireOpenApiV3_2Upgrader();
22
- const SwaggerV2Downgrader_1 = requireSwaggerV2Downgrader();
23
- const SwaggerV2Upgrader_1 = requireSwaggerV2Upgrader();
24
- /**
25
- * OpenAPI version converter.
26
- *
27
- * `OpenApiConverter` converts between different OpenAPI specification versions:
28
- * Swagger v2.0, OpenAPI v3.0, OpenAPI v3.1, OpenAPI v3.2, and typia's emended
29
- * {@link OpenApi} format. Also converts individual components (schemas,
30
- * operations, paths).
31
- *
32
- * Upgrade path (to emended v3.2):
33
- *
34
- * - Swagger v2.0 → emended v3.2
35
- * - OpenAPI v3.0 → emended v3.2
36
- * - OpenAPI v3.1 → emended v3.2
37
- * - OpenAPI v3.2 → emended v3.2
38
- *
39
- * Downgrade path (from emended v3.2):
40
- *
41
- * - Emended v3.2 → Swagger v2.0
42
- * - Emended v3.2 → OpenAPI v3.0
43
- * - Emended v3.2 → OpenAPI v3.1
44
- *
45
- * The emended format normalizes ambiguous expressions: dereferences `$ref`,
46
- * merges `allOf`, converts `nullable` to union types, etc.
47
- *
48
- * @author Jeongho Nam - https://github.com/samchon
49
- */
50
- var OpenApiConverter$1;
51
- (function (OpenApiConverter) {
52
- /* -----------------------------------------------------------
53
- DOCUMENTS
54
- ----------------------------------------------------------- */
55
- /**
56
- * Upgrade document to typia's emended OpenAPI v3.2 format.
57
- *
58
- * @param document Source document (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)
59
- * @returns Emended OpenAPI v3.2 document
60
- */
61
- function upgradeDocument(document) {
62
- if (isUpgraded(document))
63
- return document;
64
- else if (is_v32(document))
65
- return OpenApiV3_2Upgrader_1.OpenApiV3_2Upgrader.convert(document);
66
- else if (is_v31(document))
67
- return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convert(document);
68
- else if (is_v30(document))
69
- return OpenApiV3Upgrader_1.OpenApiV3Upgrader.convert(document);
70
- else if (is_v20(document))
71
- return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convert(document);
72
- throw new Error("Invalid OpenAPI document");
73
- }
74
- OpenApiConverter.upgradeDocument = upgradeDocument;
75
- /** @internal */
76
- function downgradeDocument(document, version) {
77
- if (version === "2.0")
78
- return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgrade(document);
79
- else if (version === "3.0")
80
- return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgrade(document);
81
- else if (version === "3.1")
82
- return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgrade(document);
83
- throw new Error("Invalid OpenAPI version");
84
- }
85
- OpenApiConverter.downgradeDocument = downgradeDocument;
86
- /* -----------------------------------------------------------
87
- COMPONENTS
88
- ----------------------------------------------------------- */
89
- /**
90
- * Upgrade components to typia's emended format.
91
- *
92
- * @param input Source components (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)
93
- * @returns Emended OpenAPI components
94
- */
95
- function upgradeComponents(input) {
96
- if (is_v20(input))
97
- return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertComponents(input);
98
- return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertComponents(input);
99
- }
100
- OpenApiConverter.upgradeComponents = upgradeComponents;
101
- /** @internal */
102
- function downgradeComponents(input, version) {
103
- if (version === "2.0")
104
- return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeComponents(input).downgraded;
105
- if (version === "3.1")
106
- return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeComponents(input).downgraded;
107
- return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeComponents(input).downgraded;
108
- }
109
- OpenApiConverter.downgradeComponents = downgradeComponents;
110
- /** @internal */
111
- function upgradeSchema(props) {
112
- if ("definitions" in props)
113
- return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertSchema(props.definitions)(props.schema);
114
- return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertSchema(props.components)(props.schema);
115
- }
116
- OpenApiConverter.upgradeSchema = upgradeSchema;
117
- /** @internal */
118
- function downgradeSchema(props) {
119
- if (props.version === "2.0")
120
- return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeSchema({
121
- original: props.components,
122
- downgraded: props.downgraded,
123
- })(props.schema);
124
- if (props.version === "3.1")
125
- return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeSchema({
126
- original: props.components,
127
- downgraded: props.downgraded,
128
- })(props.schema);
129
- return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeSchema({
130
- original: props.components,
131
- downgraded: props.downgraded,
132
- })(props.schema);
133
- }
134
- OpenApiConverter.downgradeSchema = downgradeSchema;
135
- })(OpenApiConverter$1 || (OpenApiConverter.OpenApiConverter = OpenApiConverter$1 = {}));
136
- const is_v20 = (input) => typeof input === "object" &&
137
- input !== null &&
138
- "swagger" in input &&
139
- typeof input.swagger === "string" &&
140
- input.swagger.startsWith("2.0");
141
- const is_v30 = (input) => typeof input === "object" &&
142
- input !== null &&
143
- "openapi" in input &&
144
- typeof input.openapi === "string" &&
145
- input.openapi.startsWith("3.0");
146
- const is_v31 = (input) => typeof input === "object" &&
147
- input !== null &&
148
- "openapi" in input &&
149
- typeof input.openapi === "string" &&
150
- input.openapi.startsWith("3.1");
151
- const is_v32 = (input) => typeof input === "object" &&
152
- input !== null &&
153
- "openapi" in input &&
154
- typeof input.openapi === "string" &&
155
- input.openapi.startsWith("3.2");
156
- const isUpgraded = (input) => typeof input === "object" &&
157
- input !== null &&
158
- "openapi" in input &&
159
- typeof input.openapi === "string" &&
160
- input.openapi.startsWith("3.2") &&
161
- input["x-typia-emended-v12"] === true;
162
-
163
- return OpenApiConverter;
164
- }
165
-
166
- export { requireOpenApiConverter as __require };
165
+ export { OpenApiConverter_2 as OpenApiConverter, OpenApiConverter$1 as default };
167
166
  //# sourceMappingURL=OpenApiConverter2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiConverter2.mjs","sources":["OpenApiConverter.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpenApiConverter = void 0;\nconst OpenApiV3Downgrader_1 = require(\"./internal/OpenApiV3Downgrader\");\nconst OpenApiV3Upgrader_1 = require(\"./internal/OpenApiV3Upgrader\");\nconst OpenApiV3_1Downgrader_1 = require(\"./internal/OpenApiV3_1Downgrader\");\nconst OpenApiV3_1Upgrader_1 = require(\"./internal/OpenApiV3_1Upgrader\");\nconst OpenApiV3_2Upgrader_1 = require(\"./internal/OpenApiV3_2Upgrader\");\nconst SwaggerV2Downgrader_1 = require(\"./internal/SwaggerV2Downgrader\");\nconst SwaggerV2Upgrader_1 = require(\"./internal/SwaggerV2Upgrader\");\n/**\n * OpenAPI version converter.\n *\n * `OpenApiConverter` converts between different OpenAPI specification versions:\n * Swagger v2.0, OpenAPI v3.0, OpenAPI v3.1, OpenAPI v3.2, and typia's emended\n * {@link OpenApi} format. Also converts individual components (schemas,\n * operations, paths).\n *\n * Upgrade path (to emended v3.2):\n *\n * - Swagger v2.0 → emended v3.2\n * - OpenAPI v3.0 → emended v3.2\n * - OpenAPI v3.1 → emended v3.2\n * - OpenAPI v3.2 → emended v3.2\n *\n * Downgrade path (from emended v3.2):\n *\n * - Emended v3.2 → Swagger v2.0\n * - Emended v3.2 → OpenAPI v3.0\n * - Emended v3.2 → OpenAPI v3.1\n *\n * The emended format normalizes ambiguous expressions: dereferences `$ref`,\n * merges `allOf`, converts `nullable` to union types, etc.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nvar OpenApiConverter;\n(function (OpenApiConverter) {\n /* -----------------------------------------------------------\n DOCUMENTS\n ----------------------------------------------------------- */\n /**\n * Upgrade document to typia's emended OpenAPI v3.2 format.\n *\n * @param document Source document (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)\n * @returns Emended OpenAPI v3.2 document\n */\n function upgradeDocument(document) {\n if (isUpgraded(document))\n return document;\n else if (is_v32(document))\n return OpenApiV3_2Upgrader_1.OpenApiV3_2Upgrader.convert(document);\n else if (is_v31(document))\n return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convert(document);\n else if (is_v30(document))\n return OpenApiV3Upgrader_1.OpenApiV3Upgrader.convert(document);\n else if (is_v20(document))\n return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convert(document);\n document;\n throw new Error(\"Invalid OpenAPI document\");\n }\n OpenApiConverter.upgradeDocument = upgradeDocument;\n /** @internal */\n function downgradeDocument(document, version) {\n if (version === \"2.0\")\n return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgrade(document);\n else if (version === \"3.0\")\n return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgrade(document);\n else if (version === \"3.1\")\n return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgrade(document);\n version;\n throw new Error(\"Invalid OpenAPI version\");\n }\n OpenApiConverter.downgradeDocument = downgradeDocument;\n /* -----------------------------------------------------------\n COMPONENTS\n ----------------------------------------------------------- */\n /**\n * Upgrade components to typia's emended format.\n *\n * @param input Source components (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)\n * @returns Emended OpenAPI components\n */\n function upgradeComponents(input) {\n if (is_v20(input))\n return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertComponents(input);\n return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertComponents(input);\n }\n OpenApiConverter.upgradeComponents = upgradeComponents;\n /** @internal */\n function downgradeComponents(input, version) {\n if (version === \"2.0\")\n return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeComponents(input).downgraded;\n if (version === \"3.1\")\n return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeComponents(input).downgraded;\n return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeComponents(input).downgraded;\n }\n OpenApiConverter.downgradeComponents = downgradeComponents;\n /** @internal */\n function upgradeSchema(props) {\n if (\"definitions\" in props)\n return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertSchema(props.definitions)(props.schema);\n return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertSchema(props.components)(props.schema);\n }\n OpenApiConverter.upgradeSchema = upgradeSchema;\n /** @internal */\n function downgradeSchema(props) {\n if (props.version === \"2.0\")\n return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeSchema({\n original: props.components,\n downgraded: props.downgraded,\n })(props.schema);\n if (props.version === \"3.1\")\n return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeSchema({\n original: props.components,\n downgraded: props.downgraded,\n })(props.schema);\n return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeSchema({\n original: props.components,\n downgraded: props.downgraded,\n })(props.schema);\n }\n OpenApiConverter.downgradeSchema = downgradeSchema;\n})(OpenApiConverter || (exports.OpenApiConverter = OpenApiConverter = {}));\nconst is_v20 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"swagger\" in input &&\n typeof input.swagger === \"string\" &&\n input.swagger.startsWith(\"2.0\");\nconst is_v30 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.0\");\nconst is_v31 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.1\");\nconst is_v32 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.2\");\nconst isUpgraded = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.2\") &&\n input[\"x-typia-emended-v12\"] === true;\n//# sourceMappingURL=OpenApiConverter.js.map"],"names":["OpenApiConverter_1","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","OpenApiConverter"],"mappings":"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"}
1
+ {"version":3,"file":"OpenApiConverter2.mjs","sources":["OpenApiConverter.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OpenApiConverter = void 0;\nconst OpenApiV3Downgrader_1 = require(\"./internal/OpenApiV3Downgrader\");\nconst OpenApiV3Upgrader_1 = require(\"./internal/OpenApiV3Upgrader\");\nconst OpenApiV3_1Downgrader_1 = require(\"./internal/OpenApiV3_1Downgrader\");\nconst OpenApiV3_1Upgrader_1 = require(\"./internal/OpenApiV3_1Upgrader\");\nconst OpenApiV3_2Upgrader_1 = require(\"./internal/OpenApiV3_2Upgrader\");\nconst SwaggerV2Downgrader_1 = require(\"./internal/SwaggerV2Downgrader\");\nconst SwaggerV2Upgrader_1 = require(\"./internal/SwaggerV2Upgrader\");\n/**\n * OpenAPI version converter.\n *\n * `OpenApiConverter` converts between different OpenAPI specification versions:\n * Swagger v2.0, OpenAPI v3.0, OpenAPI v3.1, OpenAPI v3.2, and typia's emended\n * {@link OpenApi} format. Also converts individual components (schemas,\n * operations, paths).\n *\n * Upgrade path (to emended v3.2):\n *\n * - Swagger v2.0 → emended v3.2\n * - OpenAPI v3.0 → emended v3.2\n * - OpenAPI v3.1 → emended v3.2\n * - OpenAPI v3.2 → emended v3.2\n *\n * Downgrade path (from emended v3.2):\n *\n * - Emended v3.2 → Swagger v2.0\n * - Emended v3.2 → OpenAPI v3.0\n * - Emended v3.2 → OpenAPI v3.1\n *\n * The emended format normalizes ambiguous expressions: dereferences `$ref`,\n * merges `allOf`, converts `nullable` to union types, etc.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nvar OpenApiConverter;\n(function (OpenApiConverter) {\n /* -----------------------------------------------------------\n DOCUMENTS\n ----------------------------------------------------------- */\n /**\n * Upgrade document to typia's emended OpenAPI v3.2 format.\n *\n * @param document Source document (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)\n * @returns Emended OpenAPI v3.2 document\n */\n function upgradeDocument(document) {\n if (isUpgraded(document))\n return document;\n else if (is_v32(document))\n return OpenApiV3_2Upgrader_1.OpenApiV3_2Upgrader.convert(document);\n else if (is_v31(document))\n return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convert(document);\n else if (is_v30(document))\n return OpenApiV3Upgrader_1.OpenApiV3Upgrader.convert(document);\n else if (is_v20(document))\n return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convert(document);\n document;\n throw new Error(\"Invalid OpenAPI document\");\n }\n OpenApiConverter.upgradeDocument = upgradeDocument;\n /** @internal */\n function downgradeDocument(document, version) {\n if (version === \"2.0\")\n return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgrade(document);\n else if (version === \"3.0\")\n return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgrade(document);\n else if (version === \"3.1\")\n return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgrade(document);\n version;\n throw new Error(\"Invalid OpenAPI version\");\n }\n OpenApiConverter.downgradeDocument = downgradeDocument;\n /* -----------------------------------------------------------\n COMPONENTS\n ----------------------------------------------------------- */\n /**\n * Upgrade components to typia's emended format.\n *\n * @param input Source components (Swagger v2.0, OpenAPI v3.0/v3.1/v3.2)\n * @returns Emended OpenAPI components\n */\n function upgradeComponents(input) {\n if (is_v20(input))\n return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertComponents(input);\n return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertComponents(input);\n }\n OpenApiConverter.upgradeComponents = upgradeComponents;\n /** @internal */\n function downgradeComponents(input, version) {\n if (version === \"2.0\")\n return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeComponents(input).downgraded;\n if (version === \"3.1\")\n return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeComponents(input).downgraded;\n return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeComponents(input).downgraded;\n }\n OpenApiConverter.downgradeComponents = downgradeComponents;\n /** @internal */\n function upgradeSchema(props) {\n if (\"definitions\" in props)\n return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertSchema(props.definitions)(props.schema);\n return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertSchema(props.components)(props.schema);\n }\n OpenApiConverter.upgradeSchema = upgradeSchema;\n /** @internal */\n function downgradeSchema(props) {\n if (props.version === \"2.0\")\n return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeSchema({\n original: props.components,\n downgraded: props.downgraded,\n })(props.schema);\n if (props.version === \"3.1\")\n return OpenApiV3_1Downgrader_1.OpenApiV3_1Downgrader.downgradeSchema({\n original: props.components,\n downgraded: props.downgraded,\n })(props.schema);\n return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeSchema({\n original: props.components,\n downgraded: props.downgraded,\n })(props.schema);\n }\n OpenApiConverter.downgradeSchema = downgradeSchema;\n})(OpenApiConverter || (exports.OpenApiConverter = OpenApiConverter = {}));\nconst is_v20 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"swagger\" in input &&\n typeof input.swagger === \"string\" &&\n input.swagger.startsWith(\"2.0\");\nconst is_v30 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.0\");\nconst is_v31 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.1\");\nconst is_v32 = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.2\");\nconst isUpgraded = (input) => typeof input === \"object\" &&\n input !== null &&\n \"openapi\" in input &&\n typeof input.openapi === \"string\" &&\n input.openapi.startsWith(\"3.2\") &&\n input[\"x-typia-emended-v12\"] === true;\n//# sourceMappingURL=OpenApiConverter.js.map"],"names":["OpenApiConverter_1","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6"],"mappings":"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"}
@@ -1,8 +1,2 @@
1
- import { getDefaultExportFromCjs } from '../_virtual/_commonjsHelpers.mjs';
2
- import { __require as requireConverters } from './index2.mjs';
3
-
4
- var convertersExports = requireConverters();
5
- var index = /*@__PURE__*/getDefaultExportFromCjs(convertersExports);
6
-
7
- export { index as default };
1
+ export { default } from './index2.mjs';
8
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["index.js?commonjs-entry"],"sourcesContent":["import { getDefaultExportFromCjs } from \"\u0000commonjsHelpers.js\";\nimport { __require as requireConverters } from \"/home/samchon/github/samchon/typia@next/packages/utils/lib/converters/index.js\";\nvar convertersExports = requireConverters();\nexport { convertersExports as __moduleExports };\nexport default /*@__PURE__*/getDefaultExportFromCjs(convertersExports);"],"names":[],"mappings":";;;AAEA,IAAI,iBAAiB,GAAG,iBAAiB,EAAE;AAE3C,YAAe,aAAa,uBAAuB,CAAC,iBAAiB,CAAC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}