@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,174 @@
1
+ import { HttpError } from '../HttpError.mjs';
2
+
3
+ var HttpMigrateRouteFetcher;
4
+ (function (HttpMigrateRouteFetcher) {
5
+ HttpMigrateRouteFetcher.execute = async (props) => {
6
+ const result = await _Propagate("request", props);
7
+ props.route.success?.media;
8
+ if (result.status !== 200 && result.status !== 201)
9
+ throw new HttpError(props.route.method.toUpperCase(), props.route.path, result.status, result.headers, result.body);
10
+ return result.body;
11
+ };
12
+ HttpMigrateRouteFetcher.propagate = (props) => _Propagate("propagate", props);
13
+ })(HttpMigrateRouteFetcher || (HttpMigrateRouteFetcher = {}));
14
+ const _Propagate = async (from, props) => {
15
+ // VALIDATE PARAMETERS
16
+ const error = (message) => new Error(`Error on MigrateRouteFetcher.${from}(): ${message}`);
17
+ if (Array.isArray(props.parameters)) {
18
+ if (props.route.parameters.length !== props.parameters.length)
19
+ throw error(`number of parameters is not matched.`);
20
+ }
21
+ else if (props.route.parameters.every((p) => props.parameters[p.key] !== undefined) === false)
22
+ throw error(`number of parameters is not matched.`);
23
+ // VALIDATE QUERY
24
+ if (!!props.route.query !== !!props.query)
25
+ throw error(`query is not matched.`);
26
+ else if (!!props.route.body !== (props.body !== undefined))
27
+ throw error(`body is not matched.`);
28
+ // INIT REQUEST DATA
29
+ const headers = {
30
+ ...(props.connection.headers ?? {}),
31
+ ...(props.route.body?.type &&
32
+ props.route.body.type !== "multipart/form-data"
33
+ ? { "Content-Type": props.route.body.type }
34
+ : {}),
35
+ };
36
+ const init = {
37
+ ...(props.connection.options ?? {}),
38
+ method: props.route.method.toUpperCase(),
39
+ headers: (() => {
40
+ const output = [];
41
+ for (const [key, value] of Object.entries(headers))
42
+ if (value === undefined)
43
+ continue;
44
+ else if (Array.isArray(value))
45
+ for (const v of value)
46
+ output.push([key, String(v)]);
47
+ else
48
+ output.push([key, String(value)]);
49
+ return output;
50
+ })(),
51
+ };
52
+ if (props.body !== undefined)
53
+ init.body = (props.route.body?.type === "application/x-www-form-urlencoded"
54
+ ? requestQueryBody(props.body)
55
+ : props.route.body?.type === "multipart/form-data"
56
+ ? requestFormDataBody(props.body)
57
+ : props.route.body?.type === "application/json"
58
+ ? JSON.stringify(props.body)
59
+ : props.body);
60
+ // DO REQUEST
61
+ const resolvedPath = props.connection.host.endsWith("/") === false &&
62
+ props.route.emendedPath.startsWith("/") === false
63
+ ? `/${getPath(props)}`
64
+ : getPath(props);
65
+ const url = new URL(`${props.connection.host}${resolvedPath}`);
66
+ const response = await (props.connection.fetch ?? fetch)(url, init);
67
+ const status = response.status;
68
+ const out = (body) => ({
69
+ status,
70
+ headers: responseHeaders(response.headers),
71
+ body,
72
+ });
73
+ if (status === 200 || status === 201) {
74
+ // SUCCESS CASE
75
+ if (props.route.method.toUpperCase() === "HEAD")
76
+ return out(undefined);
77
+ else if (props.route.success === null ||
78
+ props.route.success.type === "text/plain")
79
+ return out(await response.text());
80
+ else if (props.route.success.type === "application/json") {
81
+ const text = await response.text();
82
+ return out(text.length ? JSON.parse(text) : undefined);
83
+ }
84
+ else if (props.route.success.type === "application/x-www-form-urlencoded")
85
+ return out(new URLSearchParams(await response.text()));
86
+ else if (props.route.success.type === "multipart/form-data")
87
+ return out(await response.formData());
88
+ throw error("Unsupported response body type.");
89
+ }
90
+ else {
91
+ // FAILURE CASE
92
+ const type = (response.headers.get("content-type") ??
93
+ response.headers.get("Content-Type") ??
94
+ "")
95
+ .split(";")[0]
96
+ .trim();
97
+ if (type === "" || type.startsWith("text/"))
98
+ return out(await response.text());
99
+ else if (type === "application/json")
100
+ return out(await response.json());
101
+ else if (type === "application/x-www-form-urlencoded")
102
+ return out(new URLSearchParams(await response.text()));
103
+ else if (type === "multipart/form-data")
104
+ return out(await response.formData());
105
+ else if (type === "application/octet-stream")
106
+ return out(await response.blob());
107
+ return out(await response.text());
108
+ }
109
+ };
110
+ const getPath = (props) => {
111
+ let path = props.route.emendedPath;
112
+ props.route.parameters.forEach((p, i) => {
113
+ path = path.replace(`:${p.key}`, encodeURIComponent(String((Array.isArray(props.parameters)
114
+ ? props.parameters[i]
115
+ : props.parameters[p.key]) ?? "null")));
116
+ });
117
+ if (props.route.query)
118
+ path += getQueryPath(props.query ?? {});
119
+ return path;
120
+ };
121
+ const getQueryPath = (query) => {
122
+ const variables = new URLSearchParams();
123
+ for (const [key, value] of Object.entries(query))
124
+ if (undefined === value)
125
+ continue;
126
+ else if (Array.isArray(value))
127
+ value.forEach((elem) => variables.append(key, String(elem)));
128
+ else
129
+ variables.set(key, String(value));
130
+ return 0 === variables.size ? "" : `?${variables.toString()}`;
131
+ };
132
+ const requestQueryBody = (input) => {
133
+ const q = new URLSearchParams();
134
+ for (const [key, value] of Object.entries(input))
135
+ if (value === undefined)
136
+ continue;
137
+ else if (Array.isArray(value))
138
+ value.forEach((elem) => q.append(key, String(elem)));
139
+ else
140
+ q.set(key, String(value));
141
+ return q;
142
+ };
143
+ const requestFormDataBody = (input) => {
144
+ const encoded = new FormData();
145
+ const append = (key) => (value) => {
146
+ if (value === undefined)
147
+ return;
148
+ else if (typeof File === "function" && value instanceof File)
149
+ encoded.append(key, value, value.name);
150
+ else
151
+ encoded.append(key, value);
152
+ };
153
+ for (const [key, value] of Object.entries(input))
154
+ if (Array.isArray(value))
155
+ value.map(append(key));
156
+ else
157
+ append(key)(value);
158
+ return encoded;
159
+ };
160
+ const responseHeaders = (headers) => {
161
+ const output = {};
162
+ headers.forEach((value, key) => {
163
+ if (key === "set-cookie") {
164
+ output[key] ??= [];
165
+ output[key].push(...value.split(";").map((str) => str.trim()));
166
+ }
167
+ else
168
+ output[key] = value;
169
+ });
170
+ return output;
171
+ };
172
+
173
+ export { HttpMigrateRouteFetcher };
174
+ //# sourceMappingURL=HttpMigrateRouteFetcher.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpMigrateRouteFetcher.mjs","sources":["../../../src/http/internal/HttpMigrateRouteFetcher.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { ILlmFunction } from "@typia/interface";
2
+ /**
3
+ * Data combiner for LLM function call.
4
+ *
5
+ * @author Samchon
6
+ */
7
+ export declare namespace LlmDataMerger {
8
+ /** Properties of {@link parameters} function. */
9
+ interface IProps {
10
+ /** Target function to call. */
11
+ function: ILlmFunction;
12
+ /** Arguments composed by LLM (Large Language Model). */
13
+ llm: object | null;
14
+ /** Arguments composed by human. */
15
+ human: object | null;
16
+ }
17
+ /**
18
+ * Combine LLM and human arguments into one.
19
+ *
20
+ * When you compose {@link IHttpLlmApplication} with
21
+ * {@link IHttpLlmApplication.IConfig.separate} option, then the arguments of
22
+ * the target function would be separated into two parts; LLM (Large Language
23
+ * Model) and human.
24
+ *
25
+ * In that case, you can combine both LLM and human composed arguments into
26
+ * one by utilizing this {@link LlmDataMerger.parameters} function, referencing
27
+ * the target function metadata {@link ILlmFunction.separated}.
28
+ *
29
+ * @param props Properties to combine LLM and human arguments with metadata.
30
+ * @returns Combined arguments
31
+ */
32
+ const parameters: (props: IProps) => object;
33
+ /**
34
+ * Combine two values into one.
35
+ *
36
+ * If both values are objects, then combines them in the properties level.
37
+ *
38
+ * Otherwise, returns the latter value if it's not null, otherwise the former
39
+ * value
40
+ *
41
+ * - `return (y ?? x)`
42
+ *
43
+ * @param x Value X
44
+ * @param y Value Y
45
+ * @returns Combined value
46
+ */
47
+ const value: (x: unknown, y: unknown) => unknown;
48
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LlmDataMerger = void 0;
4
+ /**
5
+ * Data combiner for LLM function call.
6
+ *
7
+ * @author Samchon
8
+ */
9
+ var LlmDataMerger;
10
+ (function (LlmDataMerger) {
11
+ /**
12
+ * Combine LLM and human arguments into one.
13
+ *
14
+ * When you compose {@link IHttpLlmApplication} with
15
+ * {@link IHttpLlmApplication.IConfig.separate} option, then the arguments of
16
+ * the target function would be separated into two parts; LLM (Large Language
17
+ * Model) and human.
18
+ *
19
+ * In that case, you can combine both LLM and human composed arguments into
20
+ * one by utilizing this {@link LlmDataMerger.parameters} function, referencing
21
+ * the target function metadata {@link ILlmFunction.separated}.
22
+ *
23
+ * @param props Properties to combine LLM and human arguments with metadata.
24
+ * @returns Combined arguments
25
+ */
26
+ LlmDataMerger.parameters = (props) => {
27
+ const separated = props.function.separated;
28
+ if (separated === undefined)
29
+ throw new Error("Error on LlmDataMerger.parameters(): the function parameters are not separated.");
30
+ return LlmDataMerger.value(props.llm, props.human);
31
+ };
32
+ /**
33
+ * Combine two values into one.
34
+ *
35
+ * If both values are objects, then combines them in the properties level.
36
+ *
37
+ * Otherwise, returns the latter value if it's not null, otherwise the former
38
+ * value
39
+ *
40
+ * - `return (y ?? x)`
41
+ *
42
+ * @param x Value X
43
+ * @param y Value Y
44
+ * @returns Combined value
45
+ */
46
+ LlmDataMerger.value = (x, y) => typeof x === "object" && typeof y === "object" && x !== null && y !== null
47
+ ? combineObject(x, y)
48
+ : Array.isArray(x) && Array.isArray(y)
49
+ ? new Array(Math.max(x.length, y.length))
50
+ .fill(0)
51
+ .map((_, i) => LlmDataMerger.value(x[i], y[i]))
52
+ : (y !== null && y !== void 0 ? y : x);
53
+ const combineObject = (x, y) => {
54
+ const output = Object.assign({}, x);
55
+ for (const [k, v] of Object.entries(y))
56
+ output[k] = LlmDataMerger.value(x[k], v);
57
+ return output;
58
+ };
59
+ })(LlmDataMerger || (exports.LlmDataMerger = LlmDataMerger = {}));
60
+ //# sourceMappingURL=LlmDataMerger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmDataMerger.js","sourceRoot":"","sources":["../../../src/http/internal/LlmDataMerger.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,IAAiB,aAAa,CAiE7B;AAjED,WAAiB,aAAa;IAa5B;;;;;;;;;;;;;;OAcG;IACU,wBAAU,GAAG,CAAC,KAAa,EAAU,EAAE;QAClD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3C,IAAI,SAAS,KAAK,SAAS;YACzB,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;QACJ,OAAO,cAAA,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAW,CAAC;IACjD,CAAC,CAAC;IAEF;;;;;;;;;;;;;OAaG;IACU,mBAAK,GAAG,CAAC,CAAU,EAAE,CAAU,EAAW,EAAE,CACvD,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QACxE,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;iBACpC,IAAI,CAAC,CAAC,CAAC;iBACP,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC,CAAC,CAAC;IAEjB,MAAM,aAAa,GAAG,CAAC,CAAM,EAAE,CAAM,EAAO,EAAE;QAC5C,MAAM,MAAM,qBAAa,CAAC,CAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,cAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC,EAjEgB,aAAa,6BAAb,aAAa,QAiE7B"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Data combiner for LLM function call.
3
+ *
4
+ * @author Samchon
5
+ */
6
+ var LlmDataMerger;
7
+ (function (LlmDataMerger) {
8
+ /**
9
+ * Combine LLM and human arguments into one.
10
+ *
11
+ * When you compose {@link IHttpLlmApplication} with
12
+ * {@link IHttpLlmApplication.IConfig.separate} option, then the arguments of
13
+ * the target function would be separated into two parts; LLM (Large Language
14
+ * Model) and human.
15
+ *
16
+ * In that case, you can combine both LLM and human composed arguments into
17
+ * one by utilizing this {@link LlmDataMerger.parameters} function, referencing
18
+ * the target function metadata {@link ILlmFunction.separated}.
19
+ *
20
+ * @param props Properties to combine LLM and human arguments with metadata.
21
+ * @returns Combined arguments
22
+ */
23
+ LlmDataMerger.parameters = (props) => {
24
+ const separated = props.function.separated;
25
+ if (separated === undefined)
26
+ throw new Error("Error on LlmDataMerger.parameters(): the function parameters are not separated.");
27
+ return LlmDataMerger.value(props.llm, props.human);
28
+ };
29
+ /**
30
+ * Combine two values into one.
31
+ *
32
+ * If both values are objects, then combines them in the properties level.
33
+ *
34
+ * Otherwise, returns the latter value if it's not null, otherwise the former
35
+ * value
36
+ *
37
+ * - `return (y ?? x)`
38
+ *
39
+ * @param x Value X
40
+ * @param y Value Y
41
+ * @returns Combined value
42
+ */
43
+ LlmDataMerger.value = (x, y) => typeof x === "object" && typeof y === "object" && x !== null && y !== null
44
+ ? combineObject(x, y)
45
+ : Array.isArray(x) && Array.isArray(y)
46
+ ? new Array(Math.max(x.length, y.length))
47
+ .fill(0)
48
+ .map((_, i) => LlmDataMerger.value(x[i], y[i]))
49
+ : (y ?? x);
50
+ const combineObject = (x, y) => {
51
+ const output = { ...x };
52
+ for (const [k, v] of Object.entries(y))
53
+ output[k] = LlmDataMerger.value(x[k], v);
54
+ return output;
55
+ };
56
+ })(LlmDataMerger || (LlmDataMerger = {}));
57
+
58
+ export { LlmDataMerger };
59
+ //# sourceMappingURL=LlmDataMerger.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmDataMerger.mjs","sources":["../../../src/http/internal/LlmDataMerger.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;AAIG;AACG,IAAW;AAAjB,CAAA,UAAiB,aAAa,EAAA;AAa5B;;;;;;;;;;;;;;AAcG;AACU,IAAA,aAAA,CAAA,UAAU,GAAG,CAAC,KAAa,KAAY;AAClD,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS;QAC1C,IAAI,SAAS,KAAK,SAAS;AACzB,YAAA,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF;QACH,OAAO,aAAA,CAAA,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAW;AAChD,IAAA,CAAC;AAED;;;;;;;;;;;;;AAaG;IACU,aAAA,CAAA,KAAK,GAAG,CAAC,CAAU,EAAE,CAAU,KAC1C,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;AACpE,UAAE,aAAa,CAAC,CAAC,EAAE,CAAC;AACpB,UAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACnC,cAAE,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;iBACnC,IAAI,CAAC,CAAC;iBACN,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,aAAA,CAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,eAAG,CAAC,IAAI,CAAC,CAAC;AAEhB,IAAA,MAAM,aAAa,GAAG,CAAC,CAAM,EAAE,CAAM,KAAS;AAC5C,QAAA,MAAM,MAAM,GAAQ,EAAE,GAAG,CAAC,EAAE;AAC5B,QAAA,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAAE,YAAA,MAAM,CAAC,CAAC,CAAC,GAAG,cAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,QAAA,OAAO,MAAM;AACf,IAAA,CAAC;AACH,CAAC,EAjEgB,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;;;;"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from "./converters/index";
2
+ export * from "./http/index";
3
+ export * from "./utils/index";
4
+ export * from "./validators/index";
package/lib/index.js ADDED
@@ -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("./converters/index"), exports);
18
+ __exportStar(require("./http/index"), exports);
19
+ __exportStar(require("./utils/index"), exports);
20
+ __exportStar(require("./validators/index"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,+CAA6B;AAC7B,gDAA8B;AAC9B,qDAAmC"}
package/lib/index.mjs ADDED
@@ -0,0 +1,20 @@
1
+ export { ArrayUtil } from './utils/ArrayUtil.mjs';
2
+ export { HttpError } from './http/HttpError.mjs';
3
+ export { HttpLlm } from './http/HttpLlm.mjs';
4
+ export { HttpMigration } from './http/HttpMigration.mjs';
5
+ export { LlmSchemaConverter } from './converters/LlmSchemaConverter.mjs';
6
+ export { LlmTypeChecker } from './validators/LlmTypeChecker.mjs';
7
+ export { MapUtil } from './utils/MapUtil.mjs';
8
+ export { NamingConvention } from './utils/NamingConvention.mjs';
9
+ export { OpenApiConverter } from './converters/OpenApiConverter.mjs';
10
+ export { OpenApiExclusiveEmender } from './converters/internal/OpenApiExclusiveEmender.mjs';
11
+ export { OpenApiTypeChecker } from './validators/OpenApiTypeChecker.mjs';
12
+ export { OpenApiV3TypeChecker } from './validators/OpenApiV3TypeChecker.mjs';
13
+ export { OpenApiV3_1TypeChecker } from './validators/OpenApiV3_1TypeChecker.mjs';
14
+ export { OpenApiValidator } from './validators/OpenApiValidator.mjs';
15
+ export { Singleton } from './utils/Singleton.mjs';
16
+ export { StringUtil } from './utils/StringUtil.mjs';
17
+ export { SwaggerV2TypeChecker } from './validators/SwaggerV2TypeChecker.mjs';
18
+ export { dedent } from './utils/dedent.mjs';
19
+ export { stringifyValidationFailure } from './utils/stringifyValidationFailure.mjs';
20
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArrayUtil = void 0;
4
+ /** @internal */
5
+ var ArrayUtil;
6
+ (function (ArrayUtil) {
7
+ ArrayUtil.has = (array, pred) => array.some(pred);
8
+ ArrayUtil.add = (array, value, pred = (x, y) => x === y) => {
9
+ if (array.some((elem) => pred(elem, value)))
10
+ return false;
11
+ array.push(value);
12
+ return true;
13
+ };
14
+ ArrayUtil.set = (array, value, key) => {
15
+ if (array.some((elem) => key(elem) === key(value)))
16
+ return;
17
+ array.push(value);
18
+ };
19
+ ArrayUtil.take = (array, pred, init) => {
20
+ const index = array.findIndex(pred);
21
+ if (index !== -1)
22
+ return array[index];
23
+ const elem = init();
24
+ array.push(elem);
25
+ return elem;
26
+ };
27
+ ArrayUtil.repeat = (count, closure) => new Array(count).fill("").map((_, index) => closure(index, count));
28
+ })(ArrayUtil || (exports.ArrayUtil = ArrayUtil = {}));
29
+ //# sourceMappingURL=ArrayUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayUtil.js","sourceRoot":"","sources":["../../src/utils/ArrayUtil.ts"],"names":[],"mappings":";;;AAAA,gBAAgB;AAChB,IAAiB,SAAS,CAwCzB;AAxCD,WAAiB,SAAS;IACX,aAAG,GAAG,CAAI,KAAU,EAAE,IAA0B,EAAW,EAAE,CACxE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEN,aAAG,GAAG,CACjB,KAAU,EACV,KAAQ,EACR,OAAgC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EACxC,EAAE;QACX,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEW,aAAG,GAAG,CACjB,KAAU,EACV,KAAQ,EACR,GAAqB,EACf,EAAE;QACR,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO;QAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEW,cAAI,GAAG,CAClB,KAAU,EACV,IAA0B,EAC1B,IAAa,EACV,EAAE;QACL,MAAM,KAAK,GAAW,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,KAAK,CAAE,CAAC;QAEvC,MAAM,IAAI,GAAM,IAAI,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEW,gBAAM,GAAG,CACpB,KAAa,EACb,OAA4C,EACvC,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/E,CAAC,EAxCgB,SAAS,yBAAT,SAAS,QAwCzB"}
@@ -0,0 +1,28 @@
1
+ /** @internal */
2
+ var ArrayUtil;
3
+ (function (ArrayUtil) {
4
+ ArrayUtil.has = (array, pred) => array.some(pred);
5
+ ArrayUtil.add = (array, value, pred = (x, y) => x === y) => {
6
+ if (array.some((elem) => pred(elem, value)))
7
+ return false;
8
+ array.push(value);
9
+ return true;
10
+ };
11
+ ArrayUtil.set = (array, value, key) => {
12
+ if (array.some((elem) => key(elem) === key(value)))
13
+ return;
14
+ array.push(value);
15
+ };
16
+ ArrayUtil.take = (array, pred, init) => {
17
+ const index = array.findIndex(pred);
18
+ if (index !== -1)
19
+ return array[index];
20
+ const elem = init();
21
+ array.push(elem);
22
+ return elem;
23
+ };
24
+ ArrayUtil.repeat = (count, closure) => new Array(count).fill("").map((_, index) => closure(index, count));
25
+ })(ArrayUtil || (ArrayUtil = {}));
26
+
27
+ export { ArrayUtil };
28
+ //# sourceMappingURL=ArrayUtil.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayUtil.mjs","sources":["../../src/utils/ArrayUtil.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACM,IAAW;AAAjB,CAAA,UAAiB,SAAS,EAAA;AACX,IAAA,SAAA,CAAA,GAAG,GAAG,CAAI,KAAU,EAAE,IAA0B,KAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AAEL,IAAA,SAAA,CAAA,GAAG,GAAG,CACjB,KAAU,EACV,KAAQ,EACR,OAAgC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KACtC;AACX,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAAE,YAAA,OAAO,KAAK;AACzD,QAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACjB,QAAA,OAAO,IAAI;AACb,IAAA,CAAC;IAEY,SAAA,CAAA,GAAG,GAAG,CACjB,KAAU,EACV,KAAQ,EACR,GAAqB,KACb;AACR,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE;AACpD,QAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACnB,IAAA,CAAC;IAEY,SAAA,CAAA,IAAI,GAAG,CAClB,KAAU,EACV,IAA0B,EAC1B,IAAa,KACR;QACL,MAAM,KAAK,GAAW,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;QAC3C,IAAI,KAAK,KAAK,EAAE;AAAE,YAAA,OAAO,KAAK,CAAC,KAAK,CAAE;AAEtC,QAAA,MAAM,IAAI,GAAM,IAAI,EAAE;AACtB,QAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AAChB,QAAA,OAAO,IAAI;AACb,IAAA,CAAC;AAEY,IAAA,SAAA,CAAA,MAAM,GAAG,CACpB,KAAa,EACb,OAA4C,KACpC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9E,CAAC,EAxCgB,SAAS,KAAT,SAAS,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MapUtil = void 0;
4
+ /** @internal */
5
+ var MapUtil;
6
+ (function (MapUtil) {
7
+ MapUtil.take = (dict, key, generator) => {
8
+ const oldbie = dict.get(key);
9
+ if (oldbie)
10
+ return oldbie;
11
+ const value = generator();
12
+ dict.set(key, value);
13
+ return value;
14
+ };
15
+ })(MapUtil || (exports.MapUtil = MapUtil = {}));
16
+ //# sourceMappingURL=MapUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapUtil.js","sourceRoot":"","sources":["../../src/utils/MapUtil.ts"],"names":[],"mappings":";;;AAAA,gBAAgB;AAChB,IAAiB,OAAO,CAavB;AAbD,WAAiB,OAAO;IACT,YAAI,GAAG,CAClB,IAAiB,EACjB,GAAQ,EACR,SAAkB,EACf,EAAE;QACL,MAAM,MAAM,GAAkB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,KAAK,GAAM,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC,EAbgB,OAAO,uBAAP,OAAO,QAavB"}
@@ -0,0 +1,15 @@
1
+ /** @internal */
2
+ var MapUtil;
3
+ (function (MapUtil) {
4
+ MapUtil.take = (dict, key, generator) => {
5
+ const oldbie = dict.get(key);
6
+ if (oldbie)
7
+ return oldbie;
8
+ const value = generator();
9
+ dict.set(key, value);
10
+ return value;
11
+ };
12
+ })(MapUtil || (MapUtil = {}));
13
+
14
+ export { MapUtil };
15
+ //# sourceMappingURL=MapUtil.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapUtil.mjs","sources":["../../src/utils/MapUtil.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACM,IAAW;AAAjB,CAAA,UAAiB,OAAO,EAAA;IACT,OAAA,CAAA,IAAI,GAAG,CAClB,IAAiB,EACjB,GAAQ,EACR,SAAkB,KACb;QACL,MAAM,MAAM,GAAkB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC3C,QAAA,IAAI,MAAM;AAAE,YAAA,OAAO,MAAM;AAEzB,QAAA,MAAM,KAAK,GAAM,SAAS,EAAE;AAC5B,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACpB,QAAA,OAAO,KAAK;AACd,IAAA,CAAC;AACH,CAAC,EAbgB,OAAO,KAAP,OAAO,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * String naming convention converters.
3
+ *
4
+ * `NamingConvention` converts between common code naming conventions:
5
+ * camelCase, PascalCase, and snake_case. Handles edge cases like consecutive
6
+ * uppercase letters (e.g., `XMLParser` → `xml_parser`) and leading
7
+ * underscores.
8
+ *
9
+ * Functions:
10
+ *
11
+ * - {@link camel}: Convert to camelCase (`fooBar`)
12
+ * - {@link pascal}: Convert to PascalCase (`FooBar`)
13
+ * - {@link snake}: Convert to snake_case (`foo_bar`)
14
+ * - {@link variable}: Test if string is valid JavaScript variable name
15
+ *
16
+ * @author Jeongho Nam - https://github.com/samchon
17
+ */
18
+ export declare namespace NamingConvention {
19
+ /**
20
+ * Convert to camelCase.
21
+ *
22
+ * @param str Input string
23
+ * @returns CamelCase string
24
+ */
25
+ function camel(str: string): string;
26
+ /**
27
+ * Convert to PascalCase.
28
+ *
29
+ * @param str Input string
30
+ * @returns PascalCase string
31
+ */
32
+ function pascal(str: string): string;
33
+ /**
34
+ * Convert to snake_case.
35
+ *
36
+ * @param str Input string
37
+ * @returns Snake_case string
38
+ */
39
+ function snake(str: string): string;
40
+ /**
41
+ * Capitalize first character.
42
+ *
43
+ * @param str Input string
44
+ * @returns Capitalized string
45
+ */
46
+ const capitalize: (str: string) => string;
47
+ /**
48
+ * Lowercase first character.
49
+ *
50
+ * @param str Input string
51
+ * @returns Localized string
52
+ */
53
+ const localize: (str: string) => string;
54
+ /**
55
+ * Check if string is valid JavaScript variable name.
56
+ *
57
+ * @param str String to check
58
+ * @returns True if valid variable name
59
+ */
60
+ const variable: (str: string) => boolean;
61
+ /**
62
+ * Check if string is JavaScript reserved word.
63
+ *
64
+ * @param str String to check
65
+ * @returns True if reserved word
66
+ */
67
+ const reserved: (str: string) => boolean;
68
+ }