@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,300 @@
1
+ import { MapUtil } from '../utils/MapUtil.mjs';
2
+ import { OpenApiTypeCheckerBase } from '../utils/internal/OpenApiTypeCheckerBase.mjs';
3
+
4
+ /**
5
+ * Type checker for LLM function calling schema.
6
+ *
7
+ * `LlmTypeChecker` is a type checker of {@link ILlmSchema}, the type schema for
8
+ * LLM (Large Language Model) function calling.
9
+ *
10
+ * This checker provides type guard functions for validating schema types, and
11
+ * operators for traversing and comparing schemas.
12
+ *
13
+ * @author Jeongho Nam - https://github.com/samchon
14
+ */
15
+ var LlmTypeChecker;
16
+ (function (LlmTypeChecker) {
17
+ /* -----------------------------------------------------------
18
+ TYPE CHECKERS
19
+ ----------------------------------------------------------- */
20
+ /**
21
+ * Test whether the schema is a null type.
22
+ *
23
+ * @param schema Target schema
24
+ * @returns Whether null type or not
25
+ */
26
+ LlmTypeChecker.isNull = (schema) => schema.type === "null";
27
+ /**
28
+ * Test whether the schema is an unknown type.
29
+ *
30
+ * @param schema Target schema
31
+ * @returns Whether unknown type or not
32
+ */
33
+ LlmTypeChecker.isUnknown = (schema) => schema.type === undefined &&
34
+ !LlmTypeChecker.isAnyOf(schema) &&
35
+ !LlmTypeChecker.isReference(schema);
36
+ /**
37
+ * Test whether the schema is a boolean type.
38
+ *
39
+ * @param schema Target schema
40
+ * @returns Whether boolean type or not
41
+ */
42
+ LlmTypeChecker.isBoolean = (schema) => schema.type === "boolean";
43
+ /**
44
+ * Test whether the schema is an integer type.
45
+ *
46
+ * @param schema Target schema
47
+ * @returns Whether integer type or not
48
+ */
49
+ LlmTypeChecker.isInteger = (schema) => schema.type === "integer";
50
+ /**
51
+ * Test whether the schema is a number type.
52
+ *
53
+ * @param schema Target schema
54
+ * @returns Whether number type or not
55
+ */
56
+ LlmTypeChecker.isNumber = (schema) => schema.type === "number";
57
+ /**
58
+ * Test whether the schema is a string type.
59
+ *
60
+ * @param schema Target schema
61
+ * @returns Whether string type or not
62
+ */
63
+ LlmTypeChecker.isString = (schema) => schema.type === "string";
64
+ /**
65
+ * Test whether the schema is an array type.
66
+ *
67
+ * @param schema Target schema
68
+ * @returns Whether array type or not
69
+ */
70
+ LlmTypeChecker.isArray = (schema) => schema.type === "array" &&
71
+ schema.items !== undefined;
72
+ /**
73
+ * Test whether the schema is an object type.
74
+ *
75
+ * @param schema Target schema
76
+ * @returns Whether object type or not
77
+ */
78
+ LlmTypeChecker.isObject = (schema) => schema.type === "object";
79
+ /**
80
+ * Test whether the schema is a reference type.
81
+ *
82
+ * @param schema Target schema
83
+ * @returns Whether reference type or not
84
+ */
85
+ LlmTypeChecker.isReference = (schema) => schema.$ref !== undefined;
86
+ /**
87
+ * Test whether the schema is a union type.
88
+ *
89
+ * @param schema Target schema
90
+ * @returns Whether union type or not
91
+ */
92
+ LlmTypeChecker.isAnyOf = (schema) => schema.anyOf !== undefined;
93
+ /* -----------------------------------------------------------
94
+ OPERATORS
95
+ ----------------------------------------------------------- */
96
+ /**
97
+ * Visit every nested schemas.
98
+ *
99
+ * Visit every nested schemas of the target, and apply the `props.closure`
100
+ * function.
101
+ *
102
+ * Here is the list of occurring nested visitings:
103
+ *
104
+ * - {@link ILlmSchema.IAnyOf.anyOf}
105
+ * - {@link ILlmSchema.IReference}
106
+ * - {@link ILlmSchema.IObject.properties}
107
+ * - {@link ILlmSchema.IArray.items}
108
+ *
109
+ * @param props Properties for visiting
110
+ */
111
+ LlmTypeChecker.visit = (props) => {
112
+ const already = new Set();
113
+ const refAccessor = props.refAccessor ?? "$input.$defs";
114
+ const next = (schema, accessor) => {
115
+ props.closure(schema, accessor);
116
+ if (LlmTypeChecker.isReference(schema)) {
117
+ const key = schema.$ref.split("#/$defs/").pop();
118
+ if (already.has(key) === true)
119
+ return;
120
+ already.add(key);
121
+ const found = props.$defs?.[key];
122
+ if (found !== undefined)
123
+ next(found, `${refAccessor}[${key}]`);
124
+ }
125
+ else if (LlmTypeChecker.isAnyOf(schema))
126
+ schema.anyOf.forEach((s, i) => next(s, `${accessor}.anyOf[${i}]`));
127
+ else if (LlmTypeChecker.isObject(schema)) {
128
+ for (const [key, value] of Object.entries(schema.properties))
129
+ next(value, `${accessor}.properties[${JSON.stringify(key)}]`);
130
+ if (typeof schema.additionalProperties === "object" &&
131
+ schema.additionalProperties !== null)
132
+ next(schema.additionalProperties, `${accessor}.additionalProperties`);
133
+ }
134
+ else if (LlmTypeChecker.isArray(schema))
135
+ next(schema.items, `${accessor}.items`);
136
+ };
137
+ next(props.schema, props.accessor ?? "$input.schemas");
138
+ };
139
+ /**
140
+ * Test whether the `x` schema covers the `y` schema.
141
+ *
142
+ * @param props Properties for testing
143
+ * @returns Whether the `x` schema covers the `y` schema
144
+ */
145
+ LlmTypeChecker.covers = (props) => coverStation({
146
+ $defs: props.$defs,
147
+ x: props.x,
148
+ y: props.y,
149
+ visited: new Map(),
150
+ });
151
+ const coverStation = (p) => {
152
+ const cache = p.visited.get(p.x)?.get(p.y);
153
+ if (cache !== undefined)
154
+ return cache;
155
+ // FOR RECURSIVE CASE
156
+ const nested = MapUtil.take(p.visited, p.x, () => new Map());
157
+ nested.set(p.y, true);
158
+ // COMPUTE IT
159
+ const result = coverSchema(p);
160
+ nested.set(p.y, result);
161
+ return result;
162
+ };
163
+ const coverSchema = (p) => {
164
+ // CHECK EQUALITY
165
+ if (p.x === p.y)
166
+ return true;
167
+ else if (LlmTypeChecker.isReference(p.x) && LlmTypeChecker.isReference(p.y) && p.x.$ref === p.y.$ref)
168
+ return true;
169
+ // COMPARE WITH FLATTENING
170
+ const alpha = flatSchema(p.$defs, p.x);
171
+ const beta = flatSchema(p.$defs, p.y);
172
+ if (alpha.some((x) => LlmTypeChecker.isUnknown(x)))
173
+ return true;
174
+ else if (beta.some((x) => LlmTypeChecker.isUnknown(x)))
175
+ return false;
176
+ return beta.every((b) => alpha.some((a) => coverEscapedSchema({
177
+ $defs: p.$defs,
178
+ visited: p.visited,
179
+ x: a,
180
+ y: b,
181
+ })));
182
+ };
183
+ const coverEscapedSchema = (p) => {
184
+ // CHECK EQUALITY
185
+ if (p.x === p.y)
186
+ return true;
187
+ else if (LlmTypeChecker.isUnknown(p.x))
188
+ return true;
189
+ else if (LlmTypeChecker.isUnknown(p.y))
190
+ return false;
191
+ else if (LlmTypeChecker.isNull(p.x))
192
+ return LlmTypeChecker.isNull(p.y);
193
+ // ATOMIC CASE
194
+ else if (LlmTypeChecker.isBoolean(p.x))
195
+ return LlmTypeChecker.isBoolean(p.y) && coverBoolean(p.x, p.y);
196
+ else if (LlmTypeChecker.isInteger(p.x))
197
+ return LlmTypeChecker.isInteger(p.y) && coverInteger(p.x, p.y);
198
+ else if (LlmTypeChecker.isNumber(p.x))
199
+ return LlmTypeChecker.isNumber(p.y) && coverNumber(p.x, p.y);
200
+ else if (LlmTypeChecker.isString(p.x))
201
+ return LlmTypeChecker.isString(p.y) && coverString(p.x, p.y);
202
+ // INSTANCE CASE
203
+ else if (LlmTypeChecker.isArray(p.x))
204
+ return (LlmTypeChecker.isArray(p.y) &&
205
+ coverArray({
206
+ $defs: p.$defs,
207
+ visited: p.visited,
208
+ x: p.x,
209
+ y: p.y,
210
+ }));
211
+ else if (LlmTypeChecker.isObject(p.x))
212
+ return (LlmTypeChecker.isObject(p.y) &&
213
+ coverObject({
214
+ $defs: p.$defs,
215
+ visited: p.visited,
216
+ x: p.x,
217
+ y: p.y,
218
+ }));
219
+ else if (LlmTypeChecker.isReference(p.x))
220
+ return LlmTypeChecker.isReference(p.y) && p.x.$ref === p.y.$ref;
221
+ return false;
222
+ };
223
+ const coverArray = (p) => {
224
+ if (!(p.x.minItems === undefined ||
225
+ (p.y.minItems !== undefined && p.x.minItems <= p.y.minItems)))
226
+ return false;
227
+ else if (!(p.x.maxItems === undefined ||
228
+ (p.y.maxItems !== undefined && p.x.maxItems >= p.y.maxItems)))
229
+ return false;
230
+ return coverStation({
231
+ $defs: p.$defs,
232
+ visited: p.visited,
233
+ x: p.x.items,
234
+ y: p.y.items,
235
+ });
236
+ };
237
+ const coverObject = (p) => {
238
+ if (!p.x.additionalProperties && !!p.y.additionalProperties)
239
+ return false;
240
+ else if (!!p.x.additionalProperties &&
241
+ !!p.y.additionalProperties &&
242
+ ((typeof p.x.additionalProperties === "object" &&
243
+ p.y.additionalProperties === true) ||
244
+ (typeof p.x.additionalProperties === "object" &&
245
+ typeof p.y.additionalProperties === "object" &&
246
+ !coverStation({
247
+ $defs: p.$defs,
248
+ visited: p.visited,
249
+ x: p.x.additionalProperties,
250
+ y: p.y.additionalProperties,
251
+ }))))
252
+ return false;
253
+ return Object.entries(p.y.properties ?? {}).every(([key, b]) => {
254
+ const a = p.x.properties?.[key];
255
+ if (a === undefined)
256
+ return false;
257
+ else if ((p.x.required?.includes(key) ?? false) === true &&
258
+ (p.y.required?.includes(key) ?? false) === false)
259
+ return false;
260
+ return coverStation({
261
+ $defs: p.$defs,
262
+ visited: p.visited,
263
+ x: a,
264
+ y: b,
265
+ });
266
+ });
267
+ };
268
+ const coverBoolean = (x, y) => {
269
+ if (!!x.enum?.length)
270
+ return !!y.enum?.length && y.enum.every((v) => x.enum.includes(v));
271
+ return true;
272
+ };
273
+ const coverInteger = (x, y) => {
274
+ if (!!x.enum?.length)
275
+ return !!y.enum?.length && y.enum.every((v) => x.enum.includes(v));
276
+ return OpenApiTypeCheckerBase.coverInteger(x, y);
277
+ };
278
+ const coverNumber = (x, y) => {
279
+ if (!!x.enum?.length)
280
+ return !!y.enum?.length && y.enum.every((v) => x.enum.includes(v));
281
+ return OpenApiTypeCheckerBase.coverNumber(x, y);
282
+ };
283
+ const coverString = (x, y) => {
284
+ if (!!x.enum?.length)
285
+ return !!y.enum?.length && y.enum.every((v) => x.enum.includes(v));
286
+ return OpenApiTypeCheckerBase.coverString(x, y);
287
+ };
288
+ const flatSchema = ($defs, schema) => {
289
+ schema = escapeReference($defs, schema);
290
+ if (LlmTypeChecker.isAnyOf(schema))
291
+ return schema.anyOf.map((v) => flatSchema($defs, v)).flat();
292
+ return [schema];
293
+ };
294
+ const escapeReference = ($defs, schema) => LlmTypeChecker.isReference(schema)
295
+ ? escapeReference($defs, $defs[schema.$ref.replace("#/$defs/", "")])
296
+ : schema;
297
+ })(LlmTypeChecker || (LlmTypeChecker = {}));
298
+
299
+ export { LlmTypeChecker };
300
+ //# sourceMappingURL=LlmTypeChecker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmTypeChecker.mjs","sources":["../../src/validators/LlmTypeChecker.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ import { IJsonSchemaTransformError, IResult, OpenApi } from "@typia/interface";
2
+ /**
3
+ * Type checker for emended OpenAPI v3.1 JSON schemas.
4
+ *
5
+ * `OpenApiTypeChecker` provides type guard functions for
6
+ * {@link OpenApi.IJsonSchema} (typia's normalized OpenAPI format). Use these to
7
+ * narrow schema types before accessing type-specific properties.
8
+ *
9
+ * Type checkers:
10
+ *
11
+ * - Primitives: {@link isNull}, {@link isBoolean}, {@link isInteger},
12
+ * {@link isNumber}, {@link isString}
13
+ * - Constants: {@link isConstant}
14
+ * - Collections: {@link isArray}, {@link isTuple}, {@link isObject}
15
+ * - Composition: {@link isOneOf}, {@link isReference}
16
+ * - Special: {@link isUnknown}
17
+ *
18
+ * Also provides schema operations:
19
+ *
20
+ * - {@link visit}: Traverse and transform schemas recursively
21
+ * - {@link covers}: Check if one schema subsumes another
22
+ * - {@link escape}: Unwrap reference schemas
23
+ *
24
+ * For other OpenAPI versions, use {@link OpenApiV3TypeChecker},
25
+ * {@link OpenApiV3_1TypeChecker}, or {@link SwaggerV2TypeChecker}.
26
+ *
27
+ * @author Jeongho Nam - https://github.com/samchon
28
+ */
29
+ export declare namespace OpenApiTypeChecker {
30
+ /**
31
+ * Test whether the schema is a nul type.
32
+ *
33
+ * @param schema Target schema
34
+ * @returns Whether null type or not
35
+ */
36
+ const isNull: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.INull;
37
+ /**
38
+ * Test whether the schema is an unknown type.
39
+ *
40
+ * @param schema Target schema
41
+ * @returns Whether unknown type or not
42
+ */
43
+ const isUnknown: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IUnknown;
44
+ /**
45
+ * Test whether the schema is a constant type.
46
+ *
47
+ * @param schema Target schema
48
+ * @returns Whether constant type or not
49
+ */
50
+ const isConstant: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IConstant;
51
+ /**
52
+ * Test whether the schema is a boolean type.
53
+ *
54
+ * @param schema Target schema
55
+ * @returns Whether boolean type or not
56
+ */
57
+ const isBoolean: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IBoolean;
58
+ /**
59
+ * Test whether the schema is an integer type.
60
+ *
61
+ * @param schema Target schema
62
+ * @returns Whether integer type or not
63
+ */
64
+ const isInteger: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IInteger;
65
+ /**
66
+ * Test whether the schema is a number type.
67
+ *
68
+ * @param schema Target schema
69
+ * @returns Whether number type or not
70
+ */
71
+ const isNumber: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.INumber;
72
+ /**
73
+ * Test whether the schema is a string type.
74
+ *
75
+ * @param schema Target schema
76
+ * @returns Whether string type or not
77
+ */
78
+ const isString: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IString;
79
+ /**
80
+ * Test whether the schema is an array type.
81
+ *
82
+ * @param schema Target schema
83
+ * @returns Whether array type or not
84
+ */
85
+ const isArray: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IArray;
86
+ /**
87
+ * Test whether the schema is a tuple type.
88
+ *
89
+ * @param schema Target schema
90
+ * @returns Whether tuple type or not
91
+ */
92
+ const isTuple: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.ITuple;
93
+ /**
94
+ * Test whether the schema is an object type.
95
+ *
96
+ * @param schema Target schema
97
+ * @returns Whether object type or not
98
+ */
99
+ const isObject: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IObject;
100
+ /**
101
+ * Test whether the schema is a reference type.
102
+ *
103
+ * @param schema Target schema
104
+ * @returns Whether reference type or not
105
+ */
106
+ const isReference: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IReference;
107
+ /**
108
+ * Test whether the schema is an union type.
109
+ *
110
+ * @param schema Target schema
111
+ * @returns Whether union type or not
112
+ */
113
+ const isOneOf: (schema: OpenApi.IJsonSchema) => schema is OpenApi.IJsonSchema.IOneOf;
114
+ /**
115
+ * Test whether the schema is recursive reference type.
116
+ *
117
+ * Test whether the target schema is a reference type, and test one thing more
118
+ * that the reference is self-recursive or not.
119
+ *
120
+ * @param props Properties for recursive reference test
121
+ * @returns Whether the schema is recursive reference type or not
122
+ */
123
+ const isRecursiveReference: (props: {
124
+ components: OpenApi.IComponents;
125
+ schema: OpenApi.IJsonSchema;
126
+ }) => boolean;
127
+ /**
128
+ * Escape from the {@link OpenApi.IJsonSchema.IReference} type.
129
+ *
130
+ * Escape from the {@link OpenApi.IJsonSchema.IReference} type, replacing the
131
+ * every references to the actual schemas. If the escape is successful, the
132
+ * returned schema never contains any {@link OpenApi.IJsonSchema.IReference}
133
+ * type in its structure.
134
+ *
135
+ * If the schema has a recursive reference, the recursive reference would be
136
+ * repeated as much as the `props.recursive` depth. If you've configured the
137
+ * `props.recursive` as `false` or `0`, it would be failed and return an
138
+ * {@link IJsonSchemaTransformError}. Also, if there's a
139
+ * {@link OpenApi.IJsonSchema.IReference} type which cannot find the matched
140
+ * type in the {@link OpenApi.IComponents.schemas}, it would also be failed and
141
+ * return an {@link IJsonSchemaTransformError} either.
142
+ *
143
+ * @param props Properties for escaping
144
+ * @returns Escaped schema, or error with reason
145
+ */
146
+ const escape: (props: {
147
+ components: OpenApi.IComponents;
148
+ schema: OpenApi.IJsonSchema;
149
+ recursive: false | number;
150
+ accessor?: string;
151
+ refAccessor?: string;
152
+ }) => IResult<OpenApi.IJsonSchema, IJsonSchemaTransformError>;
153
+ /**
154
+ * Unreference the schema.
155
+ *
156
+ * Unreference the schema, replacing the {@link OpenApi.IJsonSchema.IReference}
157
+ * type to the actual schema. Different with {@link escape} is, the
158
+ * `unreference` function does not resolve every references in the schema, but
159
+ * resolve only one time.
160
+ *
161
+ * If there's a {@link OpenApi.IJsonSchema.IReference} type which cannot find
162
+ * the matched type in the {@link OpenApi.IComponents.schemas}, and you've
163
+ * called this `unreference()` function with the reference, it would also be
164
+ * failed and return an {@link IJsonSchemaTransformError} value.
165
+ *
166
+ * @param props Properties of unreference
167
+ * @returns Unreferenced schema
168
+ */
169
+ const unreference: (props: {
170
+ components: OpenApi.IComponents;
171
+ schema: OpenApi.IJsonSchema;
172
+ accessor?: string;
173
+ refAccessor?: string;
174
+ }) => IResult<OpenApi.IJsonSchema, IJsonSchemaTransformError>;
175
+ /**
176
+ * Visit every nested schemas.
177
+ *
178
+ * Visit every nested schemas of the target, and apply the `props.closure`
179
+ * function.
180
+ *
181
+ * Here is the list of occurring nested visitings:
182
+ *
183
+ * - {@link OpenApi.IJsonSchema.IOneOf.oneOf}
184
+ * - {@link OpenApi.IJsonSchema.IReference}
185
+ * - {@link OpenApi.IJsonSchema.IObject.properties}
186
+ * - {@link OpenApi.IJsonSchema.IObject.additionalProperties}
187
+ * - {@link OpenApi.IJsonSchema.IArray.items}
188
+ * - {@link OpenApi.IJsonSchema.ITuple.prefixItems}
189
+ * - {@link OpenApi.IJsonSchema.ITuple.additionalItems}
190
+ *
191
+ * @param props Properties for visiting
192
+ */
193
+ const visit: (props: {
194
+ closure: (schema: OpenApi.IJsonSchema, accessor: string) => void;
195
+ components: OpenApi.IComponents;
196
+ schema: OpenApi.IJsonSchema;
197
+ accessor?: string;
198
+ refAccessor?: string;
199
+ }) => void;
200
+ /**
201
+ * Test whether the `x` schema covers the `y` schema.
202
+ *
203
+ * @param props Properties for testing
204
+ * @returns Whether the `x` schema covers the `y` schema
205
+ */
206
+ const covers: (props: {
207
+ components: OpenApi.IComponents;
208
+ x: OpenApi.IJsonSchema;
209
+ y: OpenApi.IJsonSchema;
210
+ }) => boolean;
211
+ }