@typia/utils 12.0.0-dev.20260225

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 (471) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +79 -0
  3. package/lib/converters/LlmSchemaConverter.d.ts +102 -0
  4. package/lib/converters/LlmSchemaConverter.js +652 -0
  5. package/lib/converters/LlmSchemaConverter.js.map +1 -0
  6. package/lib/converters/LlmSchemaConverter.mjs +771 -0
  7. package/lib/converters/LlmSchemaConverter.mjs.map +1 -0
  8. package/lib/converters/OpenApiConverter.d.ts +135 -0
  9. package/lib/converters/OpenApiConverter.js +130 -0
  10. package/lib/converters/OpenApiConverter.js.map +1 -0
  11. package/lib/converters/OpenApiConverter.mjs +128 -0
  12. package/lib/converters/OpenApiConverter.mjs.map +1 -0
  13. package/lib/converters/index.d.ts +2 -0
  14. package/lib/converters/index.js +21 -0
  15. package/lib/converters/index.js.map +1 -0
  16. package/lib/converters/index.mjs +4 -0
  17. package/lib/converters/index.mjs.map +1 -0
  18. package/lib/converters/internal/LlmDescriptionInverter.d.ts +6 -0
  19. package/lib/converters/internal/LlmDescriptionInverter.js +141 -0
  20. package/lib/converters/internal/LlmDescriptionInverter.js.map +1 -0
  21. package/lib/converters/internal/LlmDescriptionInverter.mjs +141 -0
  22. package/lib/converters/internal/LlmDescriptionInverter.mjs.map +1 -0
  23. package/lib/converters/internal/LlmParametersComposer.d.ts +1 -0
  24. package/lib/converters/internal/LlmParametersComposer.js +39 -0
  25. package/lib/converters/internal/LlmParametersComposer.js.map +1 -0
  26. package/lib/converters/internal/LlmParametersComposer.mjs +42 -0
  27. package/lib/converters/internal/LlmParametersComposer.mjs.map +1 -0
  28. package/lib/converters/internal/OpenApiConstraintShifter.d.ts +6 -0
  29. package/lib/converters/internal/OpenApiConstraintShifter.js +103 -0
  30. package/lib/converters/internal/OpenApiConstraintShifter.js.map +1 -0
  31. package/lib/converters/internal/OpenApiConstraintShifter.mjs +102 -0
  32. package/lib/converters/internal/OpenApiConstraintShifter.mjs.map +1 -0
  33. package/lib/converters/internal/OpenApiExclusiveEmender.d.ts +4 -0
  34. package/lib/converters/internal/OpenApiExclusiveEmender.js +32 -0
  35. package/lib/converters/internal/OpenApiExclusiveEmender.js.map +1 -0
  36. package/lib/converters/internal/OpenApiExclusiveEmender.mjs +35 -0
  37. package/lib/converters/internal/OpenApiExclusiveEmender.mjs.map +1 -0
  38. package/lib/converters/internal/OpenApiV3Downgrader.d.ts +10 -0
  39. package/lib/converters/internal/OpenApiV3Downgrader.js +214 -0
  40. package/lib/converters/internal/OpenApiV3Downgrader.js.map +1 -0
  41. package/lib/converters/internal/OpenApiV3Downgrader.mjs +279 -0
  42. package/lib/converters/internal/OpenApiV3Downgrader.mjs.map +1 -0
  43. package/lib/converters/internal/OpenApiV3Upgrader.d.ts +6 -0
  44. package/lib/converters/internal/OpenApiV3Upgrader.js +285 -0
  45. package/lib/converters/internal/OpenApiV3Upgrader.js.map +1 -0
  46. package/lib/converters/internal/OpenApiV3Upgrader.mjs +349 -0
  47. package/lib/converters/internal/OpenApiV3Upgrader.mjs.map +1 -0
  48. package/lib/converters/internal/OpenApiV3_1Upgrader.d.ts +6 -0
  49. package/lib/converters/internal/OpenApiV3_1Upgrader.js +405 -0
  50. package/lib/converters/internal/OpenApiV3_1Upgrader.js.map +1 -0
  51. package/lib/converters/internal/OpenApiV3_1Upgrader.mjs +545 -0
  52. package/lib/converters/internal/OpenApiV3_1Upgrader.mjs.map +1 -0
  53. package/lib/converters/internal/SwaggerV2Downgrader.d.ts +10 -0
  54. package/lib/converters/internal/SwaggerV2Downgrader.js +294 -0
  55. package/lib/converters/internal/SwaggerV2Downgrader.js.map +1 -0
  56. package/lib/converters/internal/SwaggerV2Downgrader.mjs +332 -0
  57. package/lib/converters/internal/SwaggerV2Downgrader.mjs.map +1 -0
  58. package/lib/converters/internal/SwaggerV2Upgrader.d.ts +6 -0
  59. package/lib/converters/internal/SwaggerV2Upgrader.js +357 -0
  60. package/lib/converters/internal/SwaggerV2Upgrader.js.map +1 -0
  61. package/lib/converters/internal/SwaggerV2Upgrader.mjs +403 -0
  62. package/lib/converters/internal/SwaggerV2Upgrader.mjs.map +1 -0
  63. package/lib/http/HttpError.d.ts +61 -0
  64. package/lib/http/HttpError.js +70 -0
  65. package/lib/http/HttpError.js.map +1 -0
  66. package/lib/http/HttpError.mjs +76 -0
  67. package/lib/http/HttpError.mjs.map +1 -0
  68. package/lib/http/HttpLlm.d.ts +130 -0
  69. package/lib/http/HttpLlm.js +124 -0
  70. package/lib/http/HttpLlm.js.map +1 -0
  71. package/lib/http/HttpLlm.mjs +123 -0
  72. package/lib/http/HttpLlm.mjs.map +1 -0
  73. package/lib/http/HttpMigration.d.ts +58 -0
  74. package/lib/http/HttpMigration.js +52 -0
  75. package/lib/http/HttpMigration.js.map +1 -0
  76. package/lib/http/HttpMigration.mjs +52 -0
  77. package/lib/http/HttpMigration.mjs.map +1 -0
  78. package/lib/http/index.d.ts +3 -0
  79. package/lib/http/index.js +20 -0
  80. package/lib/http/index.js.map +1 -0
  81. package/lib/http/index.mjs +4 -0
  82. package/lib/http/index.mjs.map +1 -0
  83. package/lib/http/internal/HttpLlmApplicationComposer.d.ts +8 -0
  84. package/lib/http/internal/HttpLlmApplicationComposer.js +254 -0
  85. package/lib/http/internal/HttpLlmApplicationComposer.js.map +1 -0
  86. package/lib/http/internal/HttpLlmApplicationComposer.mjs +256 -0
  87. package/lib/http/internal/HttpLlmApplicationComposer.mjs.map +1 -0
  88. package/lib/http/internal/HttpLlmFunctionFetcher.d.ts +6 -0
  89. package/lib/http/internal/HttpLlmFunctionFetcher.js +24 -0
  90. package/lib/http/internal/HttpLlmFunctionFetcher.js.map +1 -0
  91. package/lib/http/internal/HttpLlmFunctionFetcher.mjs +24 -0
  92. package/lib/http/internal/HttpLlmFunctionFetcher.mjs.map +1 -0
  93. package/lib/http/internal/HttpMigrateApplicationComposer.d.ts +4 -0
  94. package/lib/http/internal/HttpMigrateApplicationComposer.js +45 -0
  95. package/lib/http/internal/HttpMigrateApplicationComposer.js.map +1 -0
  96. package/lib/http/internal/HttpMigrateApplicationComposer.mjs +47 -0
  97. package/lib/http/internal/HttpMigrateApplicationComposer.mjs.map +1 -0
  98. package/lib/http/internal/HttpMigrateRouteAccessor.d.ts +4 -0
  99. package/lib/http/internal/HttpMigrateRouteAccessor.js +107 -0
  100. package/lib/http/internal/HttpMigrateRouteAccessor.js.map +1 -0
  101. package/lib/http/internal/HttpMigrateRouteAccessor.mjs +106 -0
  102. package/lib/http/internal/HttpMigrateRouteAccessor.mjs.map +1 -0
  103. package/lib/http/internal/HttpMigrateRouteComposer.d.ts +11 -0
  104. package/lib/http/internal/HttpMigrateRouteComposer.js +398 -0
  105. package/lib/http/internal/HttpMigrateRouteComposer.js.map +1 -0
  106. package/lib/http/internal/HttpMigrateRouteComposer.mjs +392 -0
  107. package/lib/http/internal/HttpMigrateRouteComposer.mjs.map +1 -0
  108. package/lib/http/internal/HttpMigrateRouteFetcher.d.ts +6 -0
  109. package/lib/http/internal/HttpMigrateRouteFetcher.js +179 -0
  110. package/lib/http/internal/HttpMigrateRouteFetcher.js.map +1 -0
  111. package/lib/http/internal/HttpMigrateRouteFetcher.mjs +174 -0
  112. package/lib/http/internal/HttpMigrateRouteFetcher.mjs.map +1 -0
  113. package/lib/http/internal/LlmDataMerger.d.ts +48 -0
  114. package/lib/http/internal/LlmDataMerger.js +60 -0
  115. package/lib/http/internal/LlmDataMerger.js.map +1 -0
  116. package/lib/http/internal/LlmDataMerger.mjs +59 -0
  117. package/lib/http/internal/LlmDataMerger.mjs.map +1 -0
  118. package/lib/index.d.ts +4 -0
  119. package/lib/index.js +21 -0
  120. package/lib/index.js.map +1 -0
  121. package/lib/index.mjs +20 -0
  122. package/lib/index.mjs.map +1 -0
  123. package/lib/utils/ArrayUtil.d.ts +1 -0
  124. package/lib/utils/ArrayUtil.js +29 -0
  125. package/lib/utils/ArrayUtil.js.map +1 -0
  126. package/lib/utils/ArrayUtil.mjs +28 -0
  127. package/lib/utils/ArrayUtil.mjs.map +1 -0
  128. package/lib/utils/MapUtil.d.ts +1 -0
  129. package/lib/utils/MapUtil.js +16 -0
  130. package/lib/utils/MapUtil.js.map +1 -0
  131. package/lib/utils/MapUtil.mjs +15 -0
  132. package/lib/utils/MapUtil.mjs.map +1 -0
  133. package/lib/utils/NamingConvention.d.ts +68 -0
  134. package/lib/utils/NamingConvention.js +199 -0
  135. package/lib/utils/NamingConvention.js.map +1 -0
  136. package/lib/utils/NamingConvention.mjs +198 -0
  137. package/lib/utils/NamingConvention.mjs.map +1 -0
  138. package/lib/utils/Singleton.d.ts +1 -0
  139. package/lib/utils/Singleton.js +18 -0
  140. package/lib/utils/Singleton.js.map +1 -0
  141. package/lib/utils/Singleton.mjs +18 -0
  142. package/lib/utils/Singleton.mjs.map +1 -0
  143. package/lib/utils/StringUtil.d.ts +1 -0
  144. package/lib/utils/StringUtil.js +17 -0
  145. package/lib/utils/StringUtil.js.map +1 -0
  146. package/lib/utils/StringUtil.mjs +13 -0
  147. package/lib/utils/StringUtil.mjs.map +1 -0
  148. package/lib/utils/dedent.d.ts +12 -0
  149. package/lib/utils/dedent.js +51 -0
  150. package/lib/utils/dedent.js.map +1 -0
  151. package/lib/utils/dedent.mjs +50 -0
  152. package/lib/utils/dedent.mjs.map +1 -0
  153. package/lib/utils/index.d.ts +7 -0
  154. package/lib/utils/index.js +24 -0
  155. package/lib/utils/index.js.map +1 -0
  156. package/lib/utils/index.mjs +8 -0
  157. package/lib/utils/index.mjs.map +1 -0
  158. package/lib/utils/internal/EndpointUtil.d.ts +8 -0
  159. package/lib/utils/internal/EndpointUtil.js +37 -0
  160. package/lib/utils/internal/EndpointUtil.js.map +1 -0
  161. package/lib/utils/internal/EndpointUtil.mjs +37 -0
  162. package/lib/utils/internal/EndpointUtil.mjs.map +1 -0
  163. package/lib/utils/internal/JsonDescriptor.d.ts +10 -0
  164. package/lib/utils/internal/JsonDescriptor.js +58 -0
  165. package/lib/utils/internal/JsonDescriptor.js.map +1 -0
  166. package/lib/utils/internal/JsonDescriptor.mjs +48 -0
  167. package/lib/utils/internal/JsonDescriptor.mjs.map +1 -0
  168. package/lib/utils/internal/OpenApiTypeCheckerBase.d.ts +1 -0
  169. package/lib/utils/internal/OpenApiTypeCheckerBase.js +520 -0
  170. package/lib/utils/internal/OpenApiTypeCheckerBase.js.map +1 -0
  171. package/lib/utils/internal/OpenApiTypeCheckerBase.mjs +584 -0
  172. package/lib/utils/internal/OpenApiTypeCheckerBase.mjs.map +1 -0
  173. package/lib/utils/stringifyValidationFailure.d.ts +25 -0
  174. package/lib/utils/stringifyValidationFailure.js +326 -0
  175. package/lib/utils/stringifyValidationFailure.js.map +1 -0
  176. package/lib/utils/stringifyValidationFailure.mjs +325 -0
  177. package/lib/utils/stringifyValidationFailure.mjs.map +1 -0
  178. package/lib/validators/LlmTypeChecker.d.ts +117 -0
  179. package/lib/validators/LlmTypeChecker.js +309 -0
  180. package/lib/validators/LlmTypeChecker.js.map +1 -0
  181. package/lib/validators/LlmTypeChecker.mjs +300 -0
  182. package/lib/validators/LlmTypeChecker.mjs.map +1 -0
  183. package/lib/validators/OpenApiTypeChecker.d.ts +211 -0
  184. package/lib/validators/OpenApiTypeChecker.js +207 -0
  185. package/lib/validators/OpenApiTypeChecker.js.map +1 -0
  186. package/lib/validators/OpenApiTypeChecker.mjs +218 -0
  187. package/lib/validators/OpenApiTypeChecker.mjs.map +1 -0
  188. package/lib/validators/OpenApiV3TypeChecker.d.ts +26 -0
  189. package/lib/validators/OpenApiV3TypeChecker.js +30 -0
  190. package/lib/validators/OpenApiV3TypeChecker.js.map +1 -0
  191. package/lib/validators/OpenApiV3TypeChecker.mjs +29 -0
  192. package/lib/validators/OpenApiV3TypeChecker.mjs.map +1 -0
  193. package/lib/validators/OpenApiV3_1TypeChecker.d.ts +29 -0
  194. package/lib/validators/OpenApiV3_1TypeChecker.js +34 -0
  195. package/lib/validators/OpenApiV3_1TypeChecker.js.map +1 -0
  196. package/lib/validators/OpenApiV3_1TypeChecker.mjs +33 -0
  197. package/lib/validators/OpenApiV3_1TypeChecker.mjs.map +1 -0
  198. package/lib/validators/OpenApiValidator.d.ts +36 -0
  199. package/lib/validators/OpenApiValidator.js +71 -0
  200. package/lib/validators/OpenApiValidator.js.map +1 -0
  201. package/lib/validators/OpenApiValidator.mjs +75 -0
  202. package/lib/validators/OpenApiValidator.mjs.map +1 -0
  203. package/lib/validators/SwaggerV2TypeChecker.d.ts +27 -0
  204. package/lib/validators/SwaggerV2TypeChecker.js +31 -0
  205. package/lib/validators/SwaggerV2TypeChecker.js.map +1 -0
  206. package/lib/validators/SwaggerV2TypeChecker.mjs +30 -0
  207. package/lib/validators/SwaggerV2TypeChecker.mjs.map +1 -0
  208. package/lib/validators/functional/_isBigintString.d.ts +1 -0
  209. package/lib/validators/functional/_isBigintString.js +14 -0
  210. package/lib/validators/functional/_isBigintString.js.map +1 -0
  211. package/lib/validators/functional/_isBigintString.mjs +12 -0
  212. package/lib/validators/functional/_isBigintString.mjs.map +1 -0
  213. package/lib/validators/functional/_isFormatByte.d.ts +1 -0
  214. package/lib/validators/functional/_isFormatByte.js +10 -0
  215. package/lib/validators/functional/_isFormatByte.js.map +1 -0
  216. package/lib/validators/functional/_isFormatByte.mjs +8 -0
  217. package/lib/validators/functional/_isFormatByte.mjs.map +1 -0
  218. package/lib/validators/functional/_isFormatDate.d.ts +1 -0
  219. package/lib/validators/functional/_isFormatDate.js +7 -0
  220. package/lib/validators/functional/_isFormatDate.js.map +1 -0
  221. package/lib/validators/functional/_isFormatDate.mjs +5 -0
  222. package/lib/validators/functional/_isFormatDate.mjs.map +1 -0
  223. package/lib/validators/functional/_isFormatDateTime.d.ts +1 -0
  224. package/lib/validators/functional/_isFormatDateTime.js +7 -0
  225. package/lib/validators/functional/_isFormatDateTime.js.map +1 -0
  226. package/lib/validators/functional/_isFormatDateTime.mjs +5 -0
  227. package/lib/validators/functional/_isFormatDateTime.mjs.map +1 -0
  228. package/lib/validators/functional/_isFormatDuration.d.ts +1 -0
  229. package/lib/validators/functional/_isFormatDuration.js +7 -0
  230. package/lib/validators/functional/_isFormatDuration.js.map +1 -0
  231. package/lib/validators/functional/_isFormatDuration.mjs +5 -0
  232. package/lib/validators/functional/_isFormatDuration.mjs.map +1 -0
  233. package/lib/validators/functional/_isFormatEmail.d.ts +1 -0
  234. package/lib/validators/functional/_isFormatEmail.js +7 -0
  235. package/lib/validators/functional/_isFormatEmail.js.map +1 -0
  236. package/lib/validators/functional/_isFormatEmail.mjs +5 -0
  237. package/lib/validators/functional/_isFormatEmail.mjs.map +1 -0
  238. package/lib/validators/functional/_isFormatHostname.d.ts +1 -0
  239. package/lib/validators/functional/_isFormatHostname.js +7 -0
  240. package/lib/validators/functional/_isFormatHostname.js.map +1 -0
  241. package/lib/validators/functional/_isFormatHostname.mjs +5 -0
  242. package/lib/validators/functional/_isFormatHostname.mjs.map +1 -0
  243. package/lib/validators/functional/_isFormatIdnEmail.d.ts +1 -0
  244. package/lib/validators/functional/_isFormatIdnEmail.js +7 -0
  245. package/lib/validators/functional/_isFormatIdnEmail.js.map +1 -0
  246. package/lib/validators/functional/_isFormatIdnEmail.mjs +5 -0
  247. package/lib/validators/functional/_isFormatIdnEmail.mjs.map +1 -0
  248. package/lib/validators/functional/_isFormatIdnHostname.d.ts +1 -0
  249. package/lib/validators/functional/_isFormatIdnHostname.js +7 -0
  250. package/lib/validators/functional/_isFormatIdnHostname.js.map +1 -0
  251. package/lib/validators/functional/_isFormatIdnHostname.mjs +5 -0
  252. package/lib/validators/functional/_isFormatIdnHostname.mjs.map +1 -0
  253. package/lib/validators/functional/_isFormatIpv4.d.ts +1 -0
  254. package/lib/validators/functional/_isFormatIpv4.js +7 -0
  255. package/lib/validators/functional/_isFormatIpv4.js.map +1 -0
  256. package/lib/validators/functional/_isFormatIpv4.mjs +5 -0
  257. package/lib/validators/functional/_isFormatIpv4.mjs.map +1 -0
  258. package/lib/validators/functional/_isFormatIpv6.d.ts +1 -0
  259. package/lib/validators/functional/_isFormatIpv6.js +7 -0
  260. package/lib/validators/functional/_isFormatIpv6.js.map +1 -0
  261. package/lib/validators/functional/_isFormatIpv6.mjs +5 -0
  262. package/lib/validators/functional/_isFormatIpv6.mjs.map +1 -0
  263. package/lib/validators/functional/_isFormatIri.d.ts +1 -0
  264. package/lib/validators/functional/_isFormatIri.js +7 -0
  265. package/lib/validators/functional/_isFormatIri.js.map +1 -0
  266. package/lib/validators/functional/_isFormatIri.mjs +5 -0
  267. package/lib/validators/functional/_isFormatIri.mjs.map +1 -0
  268. package/lib/validators/functional/_isFormatIriReference.d.ts +1 -0
  269. package/lib/validators/functional/_isFormatIriReference.js +7 -0
  270. package/lib/validators/functional/_isFormatIriReference.js.map +1 -0
  271. package/lib/validators/functional/_isFormatIriReference.mjs +5 -0
  272. package/lib/validators/functional/_isFormatIriReference.mjs.map +1 -0
  273. package/lib/validators/functional/_isFormatJsonPointer.d.ts +1 -0
  274. package/lib/validators/functional/_isFormatJsonPointer.js +7 -0
  275. package/lib/validators/functional/_isFormatJsonPointer.js.map +1 -0
  276. package/lib/validators/functional/_isFormatJsonPointer.mjs +5 -0
  277. package/lib/validators/functional/_isFormatJsonPointer.mjs.map +1 -0
  278. package/lib/validators/functional/_isFormatPassword.d.ts +1 -0
  279. package/lib/validators/functional/_isFormatPassword.js +6 -0
  280. package/lib/validators/functional/_isFormatPassword.js.map +1 -0
  281. package/lib/validators/functional/_isFormatPassword.mjs +4 -0
  282. package/lib/validators/functional/_isFormatPassword.mjs.map +1 -0
  283. package/lib/validators/functional/_isFormatRegex.d.ts +1 -0
  284. package/lib/validators/functional/_isFormatRegex.js +14 -0
  285. package/lib/validators/functional/_isFormatRegex.js.map +1 -0
  286. package/lib/validators/functional/_isFormatRegex.mjs +12 -0
  287. package/lib/validators/functional/_isFormatRegex.mjs.map +1 -0
  288. package/lib/validators/functional/_isFormatRelativeJsonPointer.d.ts +1 -0
  289. package/lib/validators/functional/_isFormatRelativeJsonPointer.js +7 -0
  290. package/lib/validators/functional/_isFormatRelativeJsonPointer.js.map +1 -0
  291. package/lib/validators/functional/_isFormatRelativeJsonPointer.mjs +5 -0
  292. package/lib/validators/functional/_isFormatRelativeJsonPointer.mjs.map +1 -0
  293. package/lib/validators/functional/_isFormatTime.d.ts +1 -0
  294. package/lib/validators/functional/_isFormatTime.js +7 -0
  295. package/lib/validators/functional/_isFormatTime.js.map +1 -0
  296. package/lib/validators/functional/_isFormatTime.mjs +5 -0
  297. package/lib/validators/functional/_isFormatTime.mjs.map +1 -0
  298. package/lib/validators/functional/_isFormatUri.d.ts +1 -0
  299. package/lib/validators/functional/_isFormatUri.js +8 -0
  300. package/lib/validators/functional/_isFormatUri.js.map +1 -0
  301. package/lib/validators/functional/_isFormatUri.mjs +6 -0
  302. package/lib/validators/functional/_isFormatUri.mjs.map +1 -0
  303. package/lib/validators/functional/_isFormatUriReference.d.ts +1 -0
  304. package/lib/validators/functional/_isFormatUriReference.js +7 -0
  305. package/lib/validators/functional/_isFormatUriReference.js.map +1 -0
  306. package/lib/validators/functional/_isFormatUriReference.mjs +5 -0
  307. package/lib/validators/functional/_isFormatUriReference.mjs.map +1 -0
  308. package/lib/validators/functional/_isFormatUriTemplate.d.ts +1 -0
  309. package/lib/validators/functional/_isFormatUriTemplate.js +7 -0
  310. package/lib/validators/functional/_isFormatUriTemplate.js.map +1 -0
  311. package/lib/validators/functional/_isFormatUriTemplate.mjs +5 -0
  312. package/lib/validators/functional/_isFormatUriTemplate.mjs.map +1 -0
  313. package/lib/validators/functional/_isFormatUrl.d.ts +1 -0
  314. package/lib/validators/functional/_isFormatUrl.js +7 -0
  315. package/lib/validators/functional/_isFormatUrl.js.map +1 -0
  316. package/lib/validators/functional/_isFormatUrl.mjs +5 -0
  317. package/lib/validators/functional/_isFormatUrl.mjs.map +1 -0
  318. package/lib/validators/functional/_isFormatUuid.d.ts +1 -0
  319. package/lib/validators/functional/_isFormatUuid.js +7 -0
  320. package/lib/validators/functional/_isFormatUuid.js.map +1 -0
  321. package/lib/validators/functional/_isFormatUuid.mjs +5 -0
  322. package/lib/validators/functional/_isFormatUuid.mjs.map +1 -0
  323. package/lib/validators/functional/_isUniqueItems.d.ts +1 -0
  324. package/lib/validators/functional/_isUniqueItems.js +140 -0
  325. package/lib/validators/functional/_isUniqueItems.js.map +1 -0
  326. package/lib/validators/functional/_isUniqueItems.mjs +138 -0
  327. package/lib/validators/functional/_isUniqueItems.mjs.map +1 -0
  328. package/lib/validators/index.d.ts +2 -0
  329. package/lib/validators/index.js +27 -0
  330. package/lib/validators/index.js.map +1 -0
  331. package/lib/validators/index.mjs +7 -0
  332. package/lib/validators/index.mjs.map +1 -0
  333. package/lib/validators/internal/IOpenApiValidatorContext.d.ts +14 -0
  334. package/lib/validators/internal/IOpenApiValidatorContext.js +3 -0
  335. package/lib/validators/internal/IOpenApiValidatorContext.js.map +1 -0
  336. package/lib/validators/internal/IOpenApiValidatorContext.mjs +2 -0
  337. package/lib/validators/internal/IOpenApiValidatorContext.mjs.map +1 -0
  338. package/lib/validators/internal/OpenApiArrayValidator.d.ts +5 -0
  339. package/lib/validators/internal/OpenApiArrayValidator.js +32 -0
  340. package/lib/validators/internal/OpenApiArrayValidator.js.map +1 -0
  341. package/lib/validators/internal/OpenApiArrayValidator.mjs +47 -0
  342. package/lib/validators/internal/OpenApiArrayValidator.mjs.map +1 -0
  343. package/lib/validators/internal/OpenApiBooleanValidator.d.ts +5 -0
  344. package/lib/validators/internal/OpenApiBooleanValidator.js +10 -0
  345. package/lib/validators/internal/OpenApiBooleanValidator.js.map +1 -0
  346. package/lib/validators/internal/OpenApiBooleanValidator.mjs +9 -0
  347. package/lib/validators/internal/OpenApiBooleanValidator.mjs.map +1 -0
  348. package/lib/validators/internal/OpenApiConstantValidator.d.ts +5 -0
  349. package/lib/validators/internal/OpenApiConstantValidator.js +10 -0
  350. package/lib/validators/internal/OpenApiConstantValidator.js.map +1 -0
  351. package/lib/validators/internal/OpenApiConstantValidator.mjs +9 -0
  352. package/lib/validators/internal/OpenApiConstantValidator.mjs.map +1 -0
  353. package/lib/validators/internal/OpenApiIntegerValidator.d.ts +5 -0
  354. package/lib/validators/internal/OpenApiIntegerValidator.js +33 -0
  355. package/lib/validators/internal/OpenApiIntegerValidator.js.map +1 -0
  356. package/lib/validators/internal/OpenApiIntegerValidator.mjs +47 -0
  357. package/lib/validators/internal/OpenApiIntegerValidator.mjs.map +1 -0
  358. package/lib/validators/internal/OpenApiNumberValidator.d.ts +5 -0
  359. package/lib/validators/internal/OpenApiNumberValidator.js +33 -0
  360. package/lib/validators/internal/OpenApiNumberValidator.js.map +1 -0
  361. package/lib/validators/internal/OpenApiNumberValidator.mjs +47 -0
  362. package/lib/validators/internal/OpenApiNumberValidator.mjs.map +1 -0
  363. package/lib/validators/internal/OpenApiObjectValidator.d.ts +5 -0
  364. package/lib/validators/internal/OpenApiObjectValidator.js +58 -0
  365. package/lib/validators/internal/OpenApiObjectValidator.js.map +1 -0
  366. package/lib/validators/internal/OpenApiObjectValidator.mjs +68 -0
  367. package/lib/validators/internal/OpenApiObjectValidator.mjs.map +1 -0
  368. package/lib/validators/internal/OpenApiOneOfValidator.d.ts +5 -0
  369. package/lib/validators/internal/OpenApiOneOfValidator.js +182 -0
  370. package/lib/validators/internal/OpenApiOneOfValidator.js.map +1 -0
  371. package/lib/validators/internal/OpenApiOneOfValidator.mjs +206 -0
  372. package/lib/validators/internal/OpenApiOneOfValidator.mjs.map +1 -0
  373. package/lib/validators/internal/OpenApiSchemaNamingRule.d.ts +4 -0
  374. package/lib/validators/internal/OpenApiSchemaNamingRule.js +122 -0
  375. package/lib/validators/internal/OpenApiSchemaNamingRule.js.map +1 -0
  376. package/lib/validators/internal/OpenApiSchemaNamingRule.mjs +121 -0
  377. package/lib/validators/internal/OpenApiSchemaNamingRule.mjs.map +1 -0
  378. package/lib/validators/internal/OpenApiStationValidator.d.ts +5 -0
  379. package/lib/validators/internal/OpenApiStationValidator.js +63 -0
  380. package/lib/validators/internal/OpenApiStationValidator.js.map +1 -0
  381. package/lib/validators/internal/OpenApiStationValidator.mjs +107 -0
  382. package/lib/validators/internal/OpenApiStationValidator.mjs.map +1 -0
  383. package/lib/validators/internal/OpenApiStringValidator.d.ts +5 -0
  384. package/lib/validators/internal/OpenApiStringValidator.js +73 -0
  385. package/lib/validators/internal/OpenApiStringValidator.js.map +1 -0
  386. package/lib/validators/internal/OpenApiStringValidator.mjs +85 -0
  387. package/lib/validators/internal/OpenApiStringValidator.mjs.map +1 -0
  388. package/lib/validators/internal/OpenApiTupleValidator.d.ts +5 -0
  389. package/lib/validators/internal/OpenApiTupleValidator.js +31 -0
  390. package/lib/validators/internal/OpenApiTupleValidator.js.map +1 -0
  391. package/lib/validators/internal/OpenApiTupleValidator.mjs +46 -0
  392. package/lib/validators/internal/OpenApiTupleValidator.mjs.map +1 -0
  393. package/package.json +91 -0
  394. package/src/converters/LlmSchemaConverter.ts +924 -0
  395. package/src/converters/OpenApiConverter.ts +285 -0
  396. package/src/converters/index.ts +5 -0
  397. package/src/converters/internal/LlmDescriptionInverter.ts +178 -0
  398. package/src/converters/internal/LlmParametersComposer.ts +52 -0
  399. package/src/converters/internal/OpenApiConstraintShifter.ts +154 -0
  400. package/src/converters/internal/OpenApiExclusiveEmender.ts +46 -0
  401. package/src/converters/internal/OpenApiV3Downgrader.ts +355 -0
  402. package/src/converters/internal/OpenApiV3Upgrader.ts +470 -0
  403. package/src/converters/internal/OpenApiV3_1Upgrader.ts +685 -0
  404. package/src/converters/internal/SwaggerV2Downgrader.ts +424 -0
  405. package/src/converters/internal/SwaggerV2Upgrader.ts +523 -0
  406. package/src/http/HttpError.ts +107 -0
  407. package/src/http/HttpLlm.ts +210 -0
  408. package/src/http/HttpMigration.ts +92 -0
  409. package/src/http/index.ts +3 -0
  410. package/src/http/internal/HttpLlmApplicationComposer.ts +308 -0
  411. package/src/http/internal/HttpLlmFunctionFetcher.ts +37 -0
  412. package/src/http/internal/HttpMigrateApplicationComposer.ts +56 -0
  413. package/src/http/internal/HttpMigrateRouteAccessor.ts +135 -0
  414. package/src/http/internal/HttpMigrateRouteComposer.ts +513 -0
  415. package/src/http/internal/HttpMigrateRouteFetcher.ts +203 -0
  416. package/src/http/internal/LlmDataMerger.ts +73 -0
  417. package/src/index.ts +4 -0
  418. package/src/utils/ArrayUtil.ts +42 -0
  419. package/src/utils/MapUtil.ts +15 -0
  420. package/src/utils/NamingConvention.ts +205 -0
  421. package/src/utils/Singleton.ts +17 -0
  422. package/src/utils/StringUtil.ts +14 -0
  423. package/src/utils/dedent.ts +57 -0
  424. package/src/utils/index.ts +8 -0
  425. package/src/utils/internal/EndpointUtil.ts +44 -0
  426. package/src/utils/internal/JsonDescriptor.ts +70 -0
  427. package/src/utils/internal/OpenApiTypeCheckerBase.ts +822 -0
  428. package/src/utils/stringifyValidationFailure.ts +415 -0
  429. package/src/validators/LlmTypeChecker.ts +402 -0
  430. package/src/validators/OpenApiTypeChecker.ts +297 -0
  431. package/src/validators/OpenApiV3TypeChecker.ts +70 -0
  432. package/src/validators/OpenApiV3_1TypeChecker.ts +86 -0
  433. package/src/validators/OpenApiValidator.ts +94 -0
  434. package/src/validators/SwaggerV2TypeChecker.ts +71 -0
  435. package/src/validators/functional/_isBigintString.ts +8 -0
  436. package/src/validators/functional/_isFormatByte.ts +7 -0
  437. package/src/validators/functional/_isFormatDate.ts +3 -0
  438. package/src/validators/functional/_isFormatDateTime.ts +4 -0
  439. package/src/validators/functional/_isFormatDuration.ts +4 -0
  440. package/src/validators/functional/_isFormatEmail.ts +4 -0
  441. package/src/validators/functional/_isFormatHostname.ts +4 -0
  442. package/src/validators/functional/_isFormatIdnEmail.ts +4 -0
  443. package/src/validators/functional/_isFormatIdnHostname.ts +4 -0
  444. package/src/validators/functional/_isFormatIpv4.ts +4 -0
  445. package/src/validators/functional/_isFormatIpv6.ts +4 -0
  446. package/src/validators/functional/_isFormatIri.ts +3 -0
  447. package/src/validators/functional/_isFormatIriReference.ts +4 -0
  448. package/src/validators/functional/_isFormatJsonPointer.ts +3 -0
  449. package/src/validators/functional/_isFormatPassword.ts +1 -0
  450. package/src/validators/functional/_isFormatRegex.ts +8 -0
  451. package/src/validators/functional/_isFormatRelativeJsonPointer.ts +4 -0
  452. package/src/validators/functional/_isFormatTime.ts +4 -0
  453. package/src/validators/functional/_isFormatUri.ts +6 -0
  454. package/src/validators/functional/_isFormatUriReference.ts +5 -0
  455. package/src/validators/functional/_isFormatUriTemplate.ts +4 -0
  456. package/src/validators/functional/_isFormatUrl.ts +4 -0
  457. package/src/validators/functional/_isFormatUuid.ts +3 -0
  458. package/src/validators/functional/_isUniqueItems.ts +159 -0
  459. package/src/validators/index.ts +14 -0
  460. package/src/validators/internal/IOpenApiValidatorContext.ts +17 -0
  461. package/src/validators/internal/OpenApiArrayValidator.ts +49 -0
  462. package/src/validators/internal/OpenApiBooleanValidator.ts +11 -0
  463. package/src/validators/internal/OpenApiConstantValidator.ts +11 -0
  464. package/src/validators/internal/OpenApiIntegerValidator.ts +49 -0
  465. package/src/validators/internal/OpenApiNumberValidator.ts +48 -0
  466. package/src/validators/internal/OpenApiObjectValidator.ts +83 -0
  467. package/src/validators/internal/OpenApiOneOfValidator.ts +309 -0
  468. package/src/validators/internal/OpenApiSchemaNamingRule.ts +124 -0
  469. package/src/validators/internal/OpenApiStationValidator.ts +115 -0
  470. package/src/validators/internal/OpenApiStringValidator.ts +88 -0
  471. package/src/validators/internal/OpenApiTupleValidator.ts +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmSchemaConverter.mjs","sources":["../../src/converters/LlmSchemaConverter.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ import { OpenApi, OpenApiV3, OpenApiV3_1, SwaggerV2 } from "@typia/interface";
2
+ /**
3
+ * OpenAPI version converter.
4
+ *
5
+ * `OpenApiConverter` converts between different OpenAPI specification versions:
6
+ * Swagger v2.0, OpenAPI v3.0, OpenAPI v3.1, and typia's emended {@link OpenApi}
7
+ * format. Also converts individual components (schemas, operations, paths).
8
+ *
9
+ * Upgrade path (to emended v3.1):
10
+ *
11
+ * - Swagger v2.0 → emended v3.1
12
+ * - OpenAPI v3.0 → emended v3.1
13
+ * - OpenAPI v3.1 → emended v3.1
14
+ *
15
+ * Downgrade path (from emended v3.1):
16
+ *
17
+ * - Emended v3.1 → Swagger v2.0
18
+ * - Emended v3.1 → OpenAPI v3.0
19
+ *
20
+ * The emended format normalizes ambiguous expressions: dereferences `$ref`,
21
+ * merges `allOf`, converts `nullable` to union types, etc.
22
+ *
23
+ * @author Jeongho Nam - https://github.com/samchon
24
+ */
25
+ export declare namespace OpenApiConverter {
26
+ /**
27
+ * Upgrade document to typia's emended OpenAPI v3.1 format.
28
+ *
29
+ * @param document Source document (Swagger v2.0, OpenAPI v3.0/v3.1)
30
+ * @returns Emended OpenAPI v3.1 document
31
+ */
32
+ function upgradeDocument(document: SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument | OpenApi.IDocument): OpenApi.IDocument;
33
+ /**
34
+ * Downgrade document to Swagger v2.0 format.
35
+ *
36
+ * @param document Source emended OpenAPI document
37
+ * @param version Target version "2.0"
38
+ * @returns Swagger v2.0 document
39
+ */
40
+ function downgradeDocument(document: OpenApi.IDocument, version: "2.0"): SwaggerV2.IDocument;
41
+ /**
42
+ * Downgrade document to OpenAPI v3.0 format.
43
+ *
44
+ * @param document Source emended OpenAPI document
45
+ * @param version Target version "3.0"
46
+ * @returns OpenAPI v3.0 document
47
+ */
48
+ function downgradeDocument(document: OpenApi.IDocument, version: "3.0"): OpenApiV3.IDocument;
49
+ /**
50
+ * Upgrade components to typia's emended format.
51
+ *
52
+ * @param input Source components (Swagger v2.0, OpenAPI v3.0/v3.1)
53
+ * @returns Emended OpenAPI components
54
+ */
55
+ function upgradeComponents(input: OpenApiV3_1.IComponents | OpenApiV3.IComponents | SwaggerV2.IDocument): OpenApi.IComponents;
56
+ /**
57
+ * Downgrade components to Swagger v2.0 definitions.
58
+ *
59
+ * @param input Source emended components
60
+ * @param version Target version "2.0"
61
+ * @returns Swagger v2.0 definitions record
62
+ */
63
+ function downgradeComponents(input: OpenApi.IComponents, version: "2.0"): Record<string, SwaggerV2.IJsonSchema>;
64
+ /**
65
+ * Downgrade components to OpenAPI v3.0 format.
66
+ *
67
+ * @param input Source emended components
68
+ * @param version Target version "3.0"
69
+ * @returns OpenAPI v3.0 components
70
+ */
71
+ function downgradeComponents(input: OpenApi.IComponents, version: "3.0"): OpenApiV3.IComponents;
72
+ /**
73
+ * Upgrade Swagger v2.0 schema to emended format.
74
+ *
75
+ * @param props.definitions Swagger v2.0 definitions
76
+ * @param props.schema Schema to upgrade
77
+ * @returns Emended JSON schema
78
+ */
79
+ function upgradeSchema(props: {
80
+ definitions: Record<string, SwaggerV2.IJsonSchema>;
81
+ schema: SwaggerV2.IJsonSchema;
82
+ }): OpenApi.IJsonSchema;
83
+ /**
84
+ * Upgrade OpenAPI v3.0 schema to emended format.
85
+ *
86
+ * @param props.components OpenAPI v3.0 components
87
+ * @param props.schema Schema to upgrade
88
+ * @returns Emended JSON schema
89
+ */
90
+ function upgradeSchema(props: {
91
+ components: OpenApiV3.IComponents;
92
+ schema: OpenApiV3.IJsonSchema;
93
+ }): OpenApi.IJsonSchema;
94
+ /**
95
+ * Upgrade OpenAPI v3.1 schema to emended format.
96
+ *
97
+ * @param props.components OpenAPI v3.1 components
98
+ * @param props.schema Schema to upgrade
99
+ * @returns Emended JSON schema
100
+ */
101
+ function upgradeSchema(props: {
102
+ components: OpenApiV3_1.IComponents;
103
+ schema: OpenApiV3_1.IJsonSchema;
104
+ }): OpenApi.IJsonSchema;
105
+ /**
106
+ * Downgrade schema to Swagger v2.0 format.
107
+ *
108
+ * @param props.components Source emended components
109
+ * @param props.schema Schema to downgrade
110
+ * @param props.version Target version "2.0"
111
+ * @param props.downgraded Target definitions record (mutated)
112
+ * @returns Swagger v2.0 schema
113
+ */
114
+ function downgradeSchema(props: {
115
+ components: OpenApi.IComponents;
116
+ schema: OpenApi.IJsonSchema;
117
+ version: "2.0";
118
+ downgraded: Record<string, SwaggerV2.IJsonSchema>;
119
+ }): SwaggerV2.IJsonSchema;
120
+ /**
121
+ * Downgrade schema to OpenAPI v3.0 format.
122
+ *
123
+ * @param props.components Source emended components
124
+ * @param props.schema Schema to downgrade
125
+ * @param props.version Target version "3.0"
126
+ * @param props.downgraded Target components (mutated)
127
+ * @returns OpenAPI v3.0 schema
128
+ */
129
+ function downgradeSchema(props: {
130
+ components: OpenApi.IComponents;
131
+ schema: OpenApi.IJsonSchema;
132
+ version: "3.0";
133
+ downgraded: OpenApiV3.IComponents;
134
+ }): OpenApiV3.IJsonSchema;
135
+ }
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenApiConverter = void 0;
4
+ const OpenApiV3Downgrader_1 = require("./internal/OpenApiV3Downgrader");
5
+ const OpenApiV3Upgrader_1 = require("./internal/OpenApiV3Upgrader");
6
+ const OpenApiV3_1Upgrader_1 = require("./internal/OpenApiV3_1Upgrader");
7
+ const SwaggerV2Downgrader_1 = require("./internal/SwaggerV2Downgrader");
8
+ const SwaggerV2Upgrader_1 = require("./internal/SwaggerV2Upgrader");
9
+ /**
10
+ * OpenAPI version converter.
11
+ *
12
+ * `OpenApiConverter` converts between different OpenAPI specification versions:
13
+ * Swagger v2.0, OpenAPI v3.0, OpenAPI v3.1, and typia's emended {@link OpenApi}
14
+ * format. Also converts individual components (schemas, operations, paths).
15
+ *
16
+ * Upgrade path (to emended v3.1):
17
+ *
18
+ * - Swagger v2.0 → emended v3.1
19
+ * - OpenAPI v3.0 → emended v3.1
20
+ * - OpenAPI v3.1 → emended v3.1
21
+ *
22
+ * Downgrade path (from emended v3.1):
23
+ *
24
+ * - Emended v3.1 → Swagger v2.0
25
+ * - Emended v3.1 → OpenAPI v3.0
26
+ *
27
+ * The emended format normalizes ambiguous expressions: dereferences `$ref`,
28
+ * merges `allOf`, converts `nullable` to union types, etc.
29
+ *
30
+ * @author Jeongho Nam - https://github.com/samchon
31
+ */
32
+ var OpenApiConverter;
33
+ (function (OpenApiConverter) {
34
+ /* -----------------------------------------------------------
35
+ DOCUMENTS
36
+ ----------------------------------------------------------- */
37
+ /**
38
+ * Upgrade document to typia's emended OpenAPI v3.1 format.
39
+ *
40
+ * @param document Source document (Swagger v2.0, OpenAPI v3.0/v3.1)
41
+ * @returns Emended OpenAPI v3.1 document
42
+ */
43
+ function upgradeDocument(document) {
44
+ if (isUpgraded(document))
45
+ return document;
46
+ else if (is_v31(document))
47
+ return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convert(document);
48
+ else if (is_v30(document))
49
+ return OpenApiV3Upgrader_1.OpenApiV3Upgrader.convert(document);
50
+ else if (is_v20(document))
51
+ return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convert(document);
52
+ document;
53
+ throw new Error("Invalid OpenAPI document");
54
+ }
55
+ OpenApiConverter.upgradeDocument = upgradeDocument;
56
+ /** @internal */
57
+ function downgradeDocument(document, version) {
58
+ if (version === "2.0")
59
+ return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgrade(document);
60
+ else if (version === "3.0")
61
+ return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgrade(document);
62
+ version;
63
+ throw new Error("Invalid OpenAPI version");
64
+ }
65
+ OpenApiConverter.downgradeDocument = downgradeDocument;
66
+ /* -----------------------------------------------------------
67
+ COMPONENTS
68
+ ----------------------------------------------------------- */
69
+ /**
70
+ * Upgrade components to typia's emended format.
71
+ *
72
+ * @param input Source components (Swagger v2.0, OpenAPI v3.0/v3.1)
73
+ * @returns Emended OpenAPI components
74
+ */
75
+ function upgradeComponents(input) {
76
+ if (is_v20(input))
77
+ return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertComponents(input);
78
+ return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertComponents(input);
79
+ }
80
+ OpenApiConverter.upgradeComponents = upgradeComponents;
81
+ /** @internal */
82
+ function downgradeComponents(input, version) {
83
+ if (version === "2.0")
84
+ return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeComponents(input).downgraded;
85
+ return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeComponents(input).downgraded;
86
+ }
87
+ OpenApiConverter.downgradeComponents = downgradeComponents;
88
+ /** @internal */
89
+ function upgradeSchema(props) {
90
+ if ("definitions" in props)
91
+ return SwaggerV2Upgrader_1.SwaggerV2Upgrader.convertSchema(props.definitions)(props.schema);
92
+ return OpenApiV3_1Upgrader_1.OpenApiV3_1Upgrader.convertSchema(props.components)(props.schema);
93
+ }
94
+ OpenApiConverter.upgradeSchema = upgradeSchema;
95
+ /** @internal */
96
+ function downgradeSchema(props) {
97
+ if (props.version === "2.0")
98
+ return SwaggerV2Downgrader_1.SwaggerV2Downgrader.downgradeSchema({
99
+ original: props.components,
100
+ downgraded: props.downgraded,
101
+ })(props.schema);
102
+ return OpenApiV3Downgrader_1.OpenApiV3Downgrader.downgradeSchema({
103
+ original: props.components,
104
+ downgraded: props.downgraded,
105
+ })(props.schema);
106
+ }
107
+ OpenApiConverter.downgradeSchema = downgradeSchema;
108
+ })(OpenApiConverter || (exports.OpenApiConverter = OpenApiConverter = {}));
109
+ const is_v20 = (input) => typeof input === "object" &&
110
+ input !== null &&
111
+ "swagger" in input &&
112
+ typeof input.swagger === "string" &&
113
+ input.swagger.startsWith("2.0");
114
+ const is_v30 = (input) => typeof input === "object" &&
115
+ input !== null &&
116
+ "openapi" in input &&
117
+ typeof input.openapi === "string" &&
118
+ input.openapi.startsWith("3.0");
119
+ const is_v31 = (input) => typeof input === "object" &&
120
+ input !== null &&
121
+ "openapi" in input &&
122
+ typeof input.openapi === "string" &&
123
+ input.openapi.startsWith("3.1");
124
+ const isUpgraded = (input) => typeof input === "object" &&
125
+ input !== null &&
126
+ "openapi" in input &&
127
+ typeof input.openapi === "string" &&
128
+ input.openapi.startsWith("3.1") &&
129
+ input["x-samchon-emended-v4"] === true;
130
+ //# sourceMappingURL=OpenApiConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenApiConverter.js","sourceRoot":"","sources":["../../src/converters/OpenApiConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ import { OpenApiV3Downgrader } from './internal/OpenApiV3Downgrader.mjs';
2
+ import { OpenApiV3Upgrader } from './internal/OpenApiV3Upgrader.mjs';
3
+ import { OpenApiV3_1Upgrader } from './internal/OpenApiV3_1Upgrader.mjs';
4
+ import { SwaggerV2Downgrader } from './internal/SwaggerV2Downgrader.mjs';
5
+ import { SwaggerV2Upgrader } from './internal/SwaggerV2Upgrader.mjs';
6
+
7
+ /**
8
+ * OpenAPI version converter.
9
+ *
10
+ * `OpenApiConverter` converts between different OpenAPI specification versions:
11
+ * Swagger v2.0, OpenAPI v3.0, OpenAPI v3.1, and typia's emended {@link OpenApi}
12
+ * format. Also converts individual components (schemas, operations, paths).
13
+ *
14
+ * Upgrade path (to emended v3.1):
15
+ *
16
+ * - Swagger v2.0 → emended v3.1
17
+ * - OpenAPI v3.0 → emended v3.1
18
+ * - OpenAPI v3.1 → emended v3.1
19
+ *
20
+ * Downgrade path (from emended v3.1):
21
+ *
22
+ * - Emended v3.1 → Swagger v2.0
23
+ * - Emended v3.1 → OpenAPI v3.0
24
+ *
25
+ * The emended format normalizes ambiguous expressions: dereferences `$ref`,
26
+ * merges `allOf`, converts `nullable` to union types, etc.
27
+ *
28
+ * @author Jeongho Nam - https://github.com/samchon
29
+ */
30
+ var OpenApiConverter;
31
+ (function (OpenApiConverter) {
32
+ /* -----------------------------------------------------------
33
+ DOCUMENTS
34
+ ----------------------------------------------------------- */
35
+ /**
36
+ * Upgrade document to typia's emended OpenAPI v3.1 format.
37
+ *
38
+ * @param document Source document (Swagger v2.0, OpenAPI v3.0/v3.1)
39
+ * @returns Emended OpenAPI v3.1 document
40
+ */
41
+ function upgradeDocument(document) {
42
+ if (isUpgraded(document))
43
+ return document;
44
+ else if (is_v31(document))
45
+ return OpenApiV3_1Upgrader.convert(document);
46
+ else if (is_v30(document))
47
+ return OpenApiV3Upgrader.convert(document);
48
+ else if (is_v20(document))
49
+ return SwaggerV2Upgrader.convert(document);
50
+ throw new Error("Invalid OpenAPI document");
51
+ }
52
+ OpenApiConverter.upgradeDocument = upgradeDocument;
53
+ /** @internal */
54
+ function downgradeDocument(document, version) {
55
+ if (version === "2.0")
56
+ return SwaggerV2Downgrader.downgrade(document);
57
+ else if (version === "3.0")
58
+ return OpenApiV3Downgrader.downgrade(document);
59
+ throw new Error("Invalid OpenAPI version");
60
+ }
61
+ OpenApiConverter.downgradeDocument = downgradeDocument;
62
+ /* -----------------------------------------------------------
63
+ COMPONENTS
64
+ ----------------------------------------------------------- */
65
+ /**
66
+ * Upgrade components to typia's emended format.
67
+ *
68
+ * @param input Source components (Swagger v2.0, OpenAPI v3.0/v3.1)
69
+ * @returns Emended OpenAPI components
70
+ */
71
+ function upgradeComponents(input) {
72
+ if (is_v20(input))
73
+ return SwaggerV2Upgrader.convertComponents(input);
74
+ return OpenApiV3_1Upgrader.convertComponents(input);
75
+ }
76
+ OpenApiConverter.upgradeComponents = upgradeComponents;
77
+ /** @internal */
78
+ function downgradeComponents(input, version) {
79
+ if (version === "2.0")
80
+ return SwaggerV2Downgrader.downgradeComponents(input).downgraded;
81
+ return OpenApiV3Downgrader.downgradeComponents(input).downgraded;
82
+ }
83
+ OpenApiConverter.downgradeComponents = downgradeComponents;
84
+ /** @internal */
85
+ function upgradeSchema(props) {
86
+ if ("definitions" in props)
87
+ return SwaggerV2Upgrader.convertSchema(props.definitions)(props.schema);
88
+ return OpenApiV3_1Upgrader.convertSchema(props.components)(props.schema);
89
+ }
90
+ OpenApiConverter.upgradeSchema = upgradeSchema;
91
+ /** @internal */
92
+ function downgradeSchema(props) {
93
+ if (props.version === "2.0")
94
+ return SwaggerV2Downgrader.downgradeSchema({
95
+ original: props.components,
96
+ downgraded: props.downgraded,
97
+ })(props.schema);
98
+ return OpenApiV3Downgrader.downgradeSchema({
99
+ original: props.components,
100
+ downgraded: props.downgraded,
101
+ })(props.schema);
102
+ }
103
+ OpenApiConverter.downgradeSchema = downgradeSchema;
104
+ })(OpenApiConverter || (OpenApiConverter = {}));
105
+ const is_v20 = (input) => typeof input === "object" &&
106
+ input !== null &&
107
+ "swagger" in input &&
108
+ typeof input.swagger === "string" &&
109
+ input.swagger.startsWith("2.0");
110
+ const is_v30 = (input) => typeof input === "object" &&
111
+ input !== null &&
112
+ "openapi" in input &&
113
+ typeof input.openapi === "string" &&
114
+ input.openapi.startsWith("3.0");
115
+ const is_v31 = (input) => typeof input === "object" &&
116
+ input !== null &&
117
+ "openapi" in input &&
118
+ typeof input.openapi === "string" &&
119
+ input.openapi.startsWith("3.1");
120
+ const isUpgraded = (input) => typeof input === "object" &&
121
+ input !== null &&
122
+ "openapi" in input &&
123
+ typeof input.openapi === "string" &&
124
+ input.openapi.startsWith("3.1") &&
125
+ input["x-samchon-emended-v4"] === true;
126
+
127
+ export { OpenApiConverter };
128
+ //# sourceMappingURL=OpenApiConverter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenApiConverter.mjs","sources":["../../src/converters/OpenApiConverter.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./LlmSchemaConverter";
2
+ export * from "./OpenApiConverter";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./LlmSchemaConverter"), exports);
18
+ __exportStar(require("./OpenApiConverter"), exports);
19
+ /** @internal */
20
+ __exportStar(require("./internal/OpenApiExclusiveEmender"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,qDAAmC;AAEnC,gBAAgB;AAChB,qEAAmD"}
@@ -0,0 +1,4 @@
1
+ export { LlmSchemaConverter } from './LlmSchemaConverter.mjs';
2
+ export { OpenApiConverter } from './OpenApiConverter.mjs';
3
+ export { OpenApiExclusiveEmender } from './internal/OpenApiExclusiveEmender.mjs';
4
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,6 @@
1
+ import { OpenApi } from "@typia/interface";
2
+ export declare namespace LlmDescriptionInverter {
3
+ const numeric: (description: string | undefined) => Pick<OpenApi.IJsonSchema.INumber, "minimum" | "maximum" | "exclusiveMinimum" | "exclusiveMaximum" | "multipleOf" | "description">;
4
+ const string: (description: string | undefined) => Pick<OpenApi.IJsonSchema.IString, "format" | "pattern" | "contentMediaType" | "minLength" | "maxLength" | "description">;
5
+ const array: (description: string | undefined) => Pick<OpenApi.IJsonSchema.IArray, "minItems" | "maxItems" | "uniqueItems" | "description">;
6
+ }
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LlmDescriptionInverter = void 0;
4
+ const OpenApiExclusiveEmender_1 = require("./OpenApiExclusiveEmender");
5
+ var LlmDescriptionInverter;
6
+ (function (LlmDescriptionInverter) {
7
+ LlmDescriptionInverter.numeric = (description) => {
8
+ if (description === undefined)
9
+ return {};
10
+ const lines = description.split("\n");
11
+ return OpenApiExclusiveEmender_1.OpenApiExclusiveEmender.emend({
12
+ minimum: find({
13
+ type: "number",
14
+ name: "minimum",
15
+ lines,
16
+ }),
17
+ maximum: find({
18
+ type: "number",
19
+ name: "maximum",
20
+ lines,
21
+ }),
22
+ exclusiveMinimum: find({
23
+ type: "number",
24
+ name: "exclusiveMinimum",
25
+ lines,
26
+ }),
27
+ exclusiveMaximum: find({
28
+ type: "number",
29
+ name: "exclusiveMaximum",
30
+ lines,
31
+ }),
32
+ multipleOf: find({
33
+ type: "number",
34
+ name: "multipleOf",
35
+ lines,
36
+ }),
37
+ description: describe(lines, [
38
+ "minimum",
39
+ "maximum",
40
+ "exclusiveMinimum",
41
+ "exclusiveMaximum",
42
+ "multipleOf",
43
+ ]),
44
+ });
45
+ };
46
+ LlmDescriptionInverter.string = (description) => {
47
+ if (description === undefined)
48
+ return {};
49
+ const lines = description.split("\n");
50
+ return {
51
+ format: find({
52
+ type: "string",
53
+ name: "format",
54
+ lines,
55
+ }),
56
+ pattern: find({
57
+ type: "string",
58
+ name: "pattern",
59
+ lines,
60
+ }),
61
+ contentMediaType: find({
62
+ type: "string",
63
+ name: "contentMediaType",
64
+ lines,
65
+ }),
66
+ minLength: find({
67
+ type: "number",
68
+ name: "minLength",
69
+ lines,
70
+ }),
71
+ maxLength: find({
72
+ type: "number",
73
+ name: "maxLength",
74
+ lines,
75
+ }),
76
+ description: describe(lines, [
77
+ "format",
78
+ "pattern",
79
+ "contentMediaType",
80
+ "minLength",
81
+ "maxLength",
82
+ ]),
83
+ };
84
+ };
85
+ LlmDescriptionInverter.array = (description) => {
86
+ if (description === undefined)
87
+ return {};
88
+ const lines = description.split("\n");
89
+ return {
90
+ minItems: find({
91
+ type: "number",
92
+ name: "minItems",
93
+ lines,
94
+ }),
95
+ maxItems: find({
96
+ type: "number",
97
+ name: "maxItems",
98
+ lines,
99
+ }),
100
+ uniqueItems: find({
101
+ type: "boolean",
102
+ name: "uniqueItems",
103
+ lines,
104
+ }),
105
+ description: describe(lines, ["minItems", "maxItems", "uniqueItems"]),
106
+ };
107
+ };
108
+ const find = (props) => {
109
+ if (props.type === "boolean")
110
+ return props.lines.some((line) => line.startsWith(`@${props.name}`))
111
+ ? true
112
+ : undefined;
113
+ for (const line of props.lines) {
114
+ if (line.startsWith(`@${props.name} `) === false)
115
+ continue;
116
+ const value = line.replace(`@${props.name} `, "").trim();
117
+ if (props.type === "number")
118
+ return (isNaN(Number(value)) ? undefined : Number(value));
119
+ return value;
120
+ }
121
+ return undefined;
122
+ };
123
+ const describe = (lines, tags) => {
124
+ const ret = trimArray(lines
125
+ .map((str) => str.trim())
126
+ .filter((str) => tags.every((tag) => str.startsWith(`@${tag}`) === false))).join("\n");
127
+ return ret.length === 0 ? undefined : ret;
128
+ };
129
+ const trimArray = (array) => {
130
+ let first = 0;
131
+ let last = array.length - 1;
132
+ for (; first < array.length; ++first)
133
+ if (array[first].trim().length !== 0)
134
+ break;
135
+ for (; last >= 0; --last)
136
+ if (array[last].trim().length !== 0)
137
+ break;
138
+ return array.slice(first, last + 1);
139
+ };
140
+ })(LlmDescriptionInverter || (exports.LlmDescriptionInverter = LlmDescriptionInverter = {}));
141
+ //# sourceMappingURL=LlmDescriptionInverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmDescriptionInverter.js","sourceRoot":"","sources":["../../../src/converters/internal/LlmDescriptionInverter.ts"],"names":[],"mappings":";;;AAEA,uEAAoE;AAEpE,IAAiB,sBAAsB,CA6KtC;AA7KD,WAAiB,sBAAsB;IACxB,8BAAO,GAAG,CACrB,WAA+B,EAS/B,EAAE;QACF,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAEzC,MAAM,KAAK,GAAa,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,iDAAuB,CAAC,KAAK,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC;gBACZ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK;aACN,CAAC;YACF,OAAO,EAAE,IAAI,CAAC;gBACZ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK;aACN,CAAC;YACF,gBAAgB,EAAE,IAAI,CAAC;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,kBAAkB;gBACxB,KAAK;aACN,CAAC;YACF,gBAAgB,EAAE,IAAI,CAAC;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,kBAAkB;gBACxB,KAAK;aACN,CAAC;YACF,UAAU,EAAE,IAAI,CAAC;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,YAAY;gBAClB,KAAK;aACN,CAAC;YACF,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE;gBAC3B,SAAS;gBACT,SAAS;gBACT,kBAAkB;gBAClB,kBAAkB;gBAClB,YAAY;aACb,CAAC;SACH,CAAC,CAAC;IACL,CAAC,CAAC;IAEW,6BAAM,GAAG,CACpB,WAA+B,EAS/B,EAAE;QACF,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAEzC,MAAM,KAAK,GAAa,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,KAAK;aACN,CAAC;YACF,OAAO,EAAE,IAAI,CAAC;gBACZ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK;aACN,CAAC;YACF,gBAAgB,EAAE,IAAI,CAAC;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,kBAAkB;gBACxB,KAAK;aACN,CAAC;YACF,SAAS,EAAE,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,WAAW;gBACjB,KAAK;aACN,CAAC;YACF,SAAS,EAAE,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,WAAW;gBACjB,KAAK;aACN,CAAC;YACF,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE;gBAC3B,QAAQ;gBACR,SAAS;gBACT,kBAAkB;gBAClB,WAAW;gBACX,WAAW;aACZ,CAAC;SACH,CAAC;IACJ,CAAC,CAAC;IAEW,4BAAK,GAAG,CACnB,WAA+B,EAI/B,EAAE;QACF,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAEzC,MAAM,KAAK,GAAa,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC;gBACb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,UAAU;gBAChB,KAAK;aACN,CAAC;YACF,QAAQ,EAAE,IAAI,CAAC;gBACb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,UAAU;gBAChB,KAAK;aACN,CAAC;YACF,WAAW,EAAE,IAAI,CAAC;gBAChB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,aAAa;gBACnB,KAAK;aACN,CAAC;YACF,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;SACtE,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAA+C,KAI3D,EAEa,EAAE;QACd,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClE,CAAC,CAAE,IAAY;gBACf,CAAC,CAAE,SAAiB,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK;gBAAE,SAAS;YAC3D,MAAM,KAAK,GAAW,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACjE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBACzB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAEpC,CAAC;YACvB,OAAO,KAAY,CAAC;QACtB,CAAC;QACD,OAAO,SAAgB,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,KAAe,EAAE,IAAc,EAAsB,EAAE;QACvE,MAAM,GAAG,GAAW,SAAS,CAC3B,KAAK;aACF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;aACxB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACd,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,CACzD,CACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5C,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,KAAe,EAAY,EAAE;QAC9C,IAAI,KAAK,GAAW,CAAC,CAAC;QACtB,IAAI,IAAI,GAAW,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAEpC,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK;YAClC,IAAI,KAAK,CAAC,KAAK,CAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;QAC/C,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,IAAI;YAAE,IAAI,KAAK,CAAC,IAAI,CAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;QACtE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC,EA7KgB,sBAAsB,sCAAtB,sBAAsB,QA6KtC"}