typia 7.0.0-dev.20241112 → 7.0.0-dev.20241114

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 (890) hide show
  1. package/lib/TypeGuardError.js +12 -31
  2. package/lib/TypeGuardError.js.map +1 -1
  3. package/lib/executable/TypiaGenerateWizard.js +52 -159
  4. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  5. package/lib/executable/TypiaPatchWizard.js +26 -78
  6. package/lib/executable/TypiaPatchWizard.js.map +1 -1
  7. package/lib/executable/TypiaSetupWizard.js +115 -250
  8. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  9. package/lib/executable/setup/ArgumentParser.js +16 -60
  10. package/lib/executable/setup/ArgumentParser.js.map +1 -1
  11. package/lib/executable/setup/CommandExecutor.js +3 -3
  12. package/lib/executable/setup/CommandExecutor.js.map +1 -1
  13. package/lib/executable/setup/FileRetriever.js +4 -4
  14. package/lib/executable/setup/FileRetriever.js.map +1 -1
  15. package/lib/executable/setup/PackageManager.js +41 -97
  16. package/lib/executable/setup/PackageManager.js.map +1 -1
  17. package/lib/executable/setup/PluginConfigurator.js +36 -72
  18. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  19. package/lib/executable/typia.js +48 -95
  20. package/lib/executable/typia.js.map +1 -1
  21. package/lib/factories/CommentFactory.js +41 -103
  22. package/lib/factories/CommentFactory.js.map +1 -1
  23. package/lib/factories/ExpressionFactory.d.ts +6 -1
  24. package/lib/factories/ExpressionFactory.js +72 -65
  25. package/lib/factories/ExpressionFactory.js.map +1 -1
  26. package/lib/factories/IdentifierFactory.js +16 -20
  27. package/lib/factories/IdentifierFactory.js.map +1 -1
  28. package/lib/factories/JsonMetadataFactory.js +19 -44
  29. package/lib/factories/JsonMetadataFactory.js.map +1 -1
  30. package/lib/factories/LiteralFactory.js +12 -43
  31. package/lib/factories/LiteralFactory.js.map +1 -1
  32. package/lib/factories/MetadataCollection.js +96 -171
  33. package/lib/factories/MetadataCollection.js.map +1 -1
  34. package/lib/factories/MetadataCommentTagFactory.js +264 -383
  35. package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
  36. package/lib/factories/MetadataFactory.js +81 -273
  37. package/lib/factories/MetadataFactory.js.map +1 -1
  38. package/lib/factories/MetadataTypeTagFactory.js +116 -188
  39. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  40. package/lib/factories/MetadataTypeTagSchemaFactory.js +30 -54
  41. package/lib/factories/MetadataTypeTagSchemaFactory.js.map +1 -1
  42. package/lib/factories/NumericRangeFactory.js +14 -30
  43. package/lib/factories/NumericRangeFactory.js.map +1 -1
  44. package/lib/factories/ProtobufFactory.js +432 -1111
  45. package/lib/factories/ProtobufFactory.js.map +1 -1
  46. package/lib/factories/StatementFactory.js +24 -34
  47. package/lib/factories/StatementFactory.js.map +1 -1
  48. package/lib/factories/TemplateFactory.js +18 -20
  49. package/lib/factories/TemplateFactory.js.map +1 -1
  50. package/lib/factories/TypeFactory.js +32 -40
  51. package/lib/factories/TypeFactory.js.map +1 -1
  52. package/lib/factories/ValueFactory.js +6 -13
  53. package/lib/factories/ValueFactory.js.map +1 -1
  54. package/lib/factories/internal/metadata/MetadataHelper.js +5 -5
  55. package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
  56. package/lib/factories/internal/metadata/emend_metadata_atomics.js +14 -41
  57. package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
  58. package/lib/factories/internal/metadata/emplace_metadata_alias.js +5 -32
  59. package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
  60. package/lib/factories/internal/metadata/emplace_metadata_array_type.js +5 -32
  61. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -1
  62. package/lib/factories/internal/metadata/emplace_metadata_object.js +100 -172
  63. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  64. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +13 -40
  65. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -1
  66. package/lib/factories/internal/metadata/explore_metadata.js +6 -17
  67. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  68. package/lib/factories/internal/metadata/iterate_metadata.js +18 -29
  69. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  70. package/lib/factories/internal/metadata/iterate_metadata_alias.js +10 -12
  71. package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
  72. package/lib/factories/internal/metadata/iterate_metadata_array.js +18 -52
  73. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  74. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +12 -12
  75. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  76. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js +4 -4
  77. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js.map +1 -1
  78. package/lib/factories/internal/metadata/iterate_metadata_collection.js +47 -120
  79. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  80. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +20 -42
  81. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -1
  82. package/lib/factories/internal/metadata/iterate_metadata_constant.js +21 -36
  83. package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -1
  84. package/lib/factories/internal/metadata/iterate_metadata_escape.js +9 -20
  85. package/lib/factories/internal/metadata/iterate_metadata_escape.js.map +1 -1
  86. package/lib/factories/internal/metadata/iterate_metadata_function.js +18 -45
  87. package/lib/factories/internal/metadata/iterate_metadata_function.js.map +1 -1
  88. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +94 -262
  89. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  90. package/lib/factories/internal/metadata/iterate_metadata_map.js +14 -25
  91. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  92. package/lib/factories/internal/metadata/iterate_metadata_native.js +87 -136
  93. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  94. package/lib/factories/internal/metadata/iterate_metadata_object.js +8 -9
  95. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  96. package/lib/factories/internal/metadata/iterate_metadata_set.js +14 -27
  97. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  98. package/lib/factories/internal/metadata/iterate_metadata_sort.js +47 -169
  99. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  100. package/lib/factories/internal/metadata/iterate_metadata_template.js +12 -23
  101. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  102. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +6 -6
  103. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  104. package/lib/factories/internal/metadata/iterate_metadata_union.js +3 -16
  105. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  106. package/lib/functional.js +1 -1
  107. package/lib/functional.js.map +1 -1
  108. package/lib/http.js +1 -1
  109. package/lib/http.js.map +1 -1
  110. package/lib/index.js +1 -1
  111. package/lib/index.js.map +1 -1
  112. package/lib/internal/_ProtobufReader.js +54 -55
  113. package/lib/internal/_ProtobufReader.js.map +1 -1
  114. package/lib/internal/_ProtobufSizer.js +41 -43
  115. package/lib/internal/_ProtobufSizer.js.map +1 -1
  116. package/lib/internal/_ProtobufWriter.js +49 -50
  117. package/lib/internal/_ProtobufWriter.js.map +1 -1
  118. package/lib/internal/_accessExpressionAsString.js +4 -8
  119. package/lib/internal/_accessExpressionAsString.js.map +1 -1
  120. package/lib/internal/_assertGuard.js +2 -2
  121. package/lib/internal/_assertGuard.js.map +1 -1
  122. package/lib/internal/_functionalTypeGuardErrorFactory.js +2 -4
  123. package/lib/internal/_functionalTypeGuardErrorFactory.js.map +1 -1
  124. package/lib/internal/_httpFormDataReadArray.js +1 -1
  125. package/lib/internal/_httpFormDataReadArray.js.map +1 -1
  126. package/lib/internal/_httpFormDataReadBigint.js +8 -10
  127. package/lib/internal/_httpFormDataReadBigint.js.map +1 -1
  128. package/lib/internal/_httpFormDataReadBlob.js +7 -9
  129. package/lib/internal/_httpFormDataReadBlob.js.map +1 -1
  130. package/lib/internal/_httpFormDataReadBoolean.js +12 -14
  131. package/lib/internal/_httpFormDataReadBoolean.js.map +1 -1
  132. package/lib/internal/_httpFormDataReadFile.js +7 -9
  133. package/lib/internal/_httpFormDataReadFile.js.map +1 -1
  134. package/lib/internal/_httpFormDataReadNumber.js +9 -11
  135. package/lib/internal/_httpFormDataReadNumber.js.map +1 -1
  136. package/lib/internal/_httpFormDataReadString.js +7 -9
  137. package/lib/internal/_httpFormDataReadString.js.map +1 -1
  138. package/lib/internal/_httpHeaderReadBigint.js +2 -4
  139. package/lib/internal/_httpHeaderReadBigint.js.map +1 -1
  140. package/lib/internal/_httpHeaderReadBoolean.js +7 -9
  141. package/lib/internal/_httpHeaderReadBoolean.js.map +1 -1
  142. package/lib/internal/_httpHeaderReadNumber.js +3 -5
  143. package/lib/internal/_httpHeaderReadNumber.js.map +1 -1
  144. package/lib/internal/_httpParameterReadBigint.js +2 -4
  145. package/lib/internal/_httpParameterReadBigint.js.map +1 -1
  146. package/lib/internal/_httpParameterReadBoolean.js +7 -9
  147. package/lib/internal/_httpParameterReadBoolean.js.map +1 -1
  148. package/lib/internal/_httpParameterReadNumber.js +3 -5
  149. package/lib/internal/_httpParameterReadNumber.js.map +1 -1
  150. package/lib/internal/_httpParameterReadString.js +1 -3
  151. package/lib/internal/_httpParameterReadString.js.map +1 -1
  152. package/lib/internal/_httpQueryParseURLSearchParams.js +2 -2
  153. package/lib/internal/_httpQueryParseURLSearchParams.js.map +1 -1
  154. package/lib/internal/_httpQueryReadArray.js +1 -1
  155. package/lib/internal/_httpQueryReadArray.js.map +1 -1
  156. package/lib/internal/_httpQueryReadBigint.js +2 -4
  157. package/lib/internal/_httpQueryReadBigint.js.map +1 -1
  158. package/lib/internal/_httpQueryReadBoolean.js +10 -12
  159. package/lib/internal/_httpQueryReadBoolean.js.map +1 -1
  160. package/lib/internal/_httpQueryReadNumber.js +3 -5
  161. package/lib/internal/_httpQueryReadNumber.js.map +1 -1
  162. package/lib/internal/_httpQueryReadString.js +1 -3
  163. package/lib/internal/_httpQueryReadString.js.map +1 -1
  164. package/lib/internal/_isBetween.js +1 -3
  165. package/lib/internal/_isBetween.js.map +1 -1
  166. package/lib/internal/_isBigintString.js +1 -1
  167. package/lib/internal/_isBigintString.js.map +1 -1
  168. package/lib/internal/_isFormatByte.d.ts +1 -0
  169. package/lib/internal/_isFormatByte.js +10 -0
  170. package/lib/internal/_isFormatByte.js.map +1 -0
  171. package/lib/internal/_isFormatDate.d.ts +1 -0
  172. package/lib/internal/_isFormatDate.js +7 -0
  173. package/lib/internal/_isFormatDate.js.map +1 -0
  174. package/lib/internal/_isFormatDateTime.d.ts +1 -0
  175. package/lib/internal/_isFormatDateTime.js +7 -0
  176. package/lib/internal/_isFormatDateTime.js.map +1 -0
  177. package/lib/internal/_isFormatDuration.d.ts +1 -0
  178. package/lib/internal/_isFormatDuration.js +7 -0
  179. package/lib/internal/_isFormatDuration.js.map +1 -0
  180. package/lib/internal/_isFormatEmail.d.ts +1 -0
  181. package/lib/internal/_isFormatEmail.js +7 -0
  182. package/lib/internal/_isFormatEmail.js.map +1 -0
  183. package/lib/internal/_isFormatHostname.d.ts +1 -0
  184. package/lib/internal/_isFormatHostname.js +7 -0
  185. package/lib/internal/_isFormatHostname.js.map +1 -0
  186. package/lib/internal/_isFormatIdnEmail.d.ts +1 -0
  187. package/lib/internal/_isFormatIdnEmail.js +7 -0
  188. package/lib/internal/_isFormatIdnEmail.js.map +1 -0
  189. package/lib/internal/_isFormatIdnHostname.d.ts +1 -0
  190. package/lib/internal/_isFormatIdnHostname.js +7 -0
  191. package/lib/internal/_isFormatIdnHostname.js.map +1 -0
  192. package/lib/internal/_isFormatIpv4.d.ts +1 -0
  193. package/lib/internal/_isFormatIpv4.js +7 -0
  194. package/lib/internal/_isFormatIpv4.js.map +1 -0
  195. package/lib/internal/_isFormatIpv6.d.ts +1 -0
  196. package/lib/internal/_isFormatIpv6.js +7 -0
  197. package/lib/internal/_isFormatIpv6.js.map +1 -0
  198. package/lib/internal/_isFormatIri.d.ts +1 -0
  199. package/lib/internal/_isFormatIri.js +7 -0
  200. package/lib/internal/_isFormatIri.js.map +1 -0
  201. package/lib/internal/_isFormatIriReference.d.ts +1 -0
  202. package/lib/internal/_isFormatIriReference.js +7 -0
  203. package/lib/internal/_isFormatIriReference.js.map +1 -0
  204. package/lib/internal/_isFormatJsonPointer.d.ts +1 -0
  205. package/lib/internal/_isFormatJsonPointer.js +7 -0
  206. package/lib/internal/_isFormatJsonPointer.js.map +1 -0
  207. package/lib/internal/_isFormatPassword.d.ts +1 -0
  208. package/lib/internal/_isFormatPassword.js +6 -0
  209. package/lib/internal/_isFormatPassword.js.map +1 -0
  210. package/lib/internal/_isFormatRegex.d.ts +1 -0
  211. package/lib/internal/_isFormatRegex.js +14 -0
  212. package/lib/internal/_isFormatRegex.js.map +1 -0
  213. package/lib/internal/_isFormatRelativeJsonPointer.d.ts +1 -0
  214. package/lib/internal/_isFormatRelativeJsonPointer.js +7 -0
  215. package/lib/internal/_isFormatRelativeJsonPointer.js.map +1 -0
  216. package/lib/internal/_isFormatTime.d.ts +1 -0
  217. package/lib/internal/_isFormatTime.js +7 -0
  218. package/lib/internal/_isFormatTime.js.map +1 -0
  219. package/lib/internal/_isFormatUri.d.ts +1 -0
  220. package/lib/internal/_isFormatUri.js +8 -0
  221. package/lib/internal/_isFormatUri.js.map +1 -0
  222. package/lib/internal/_isFormatUriReference.d.ts +1 -0
  223. package/lib/internal/_isFormatUriReference.js +7 -0
  224. package/lib/internal/_isFormatUriReference.js.map +1 -0
  225. package/lib/internal/_isFormatUriTemplate.d.ts +1 -0
  226. package/lib/internal/_isFormatUriTemplate.js +7 -0
  227. package/lib/internal/_isFormatUriTemplate.js.map +1 -0
  228. package/lib/internal/_isFormatUrl.d.ts +1 -0
  229. package/lib/internal/_isFormatUrl.js +7 -0
  230. package/lib/internal/_isFormatUrl.js.map +1 -0
  231. package/lib/internal/_isFormatUuid.d.ts +1 -0
  232. package/lib/internal/_isFormatUuid.js +7 -0
  233. package/lib/internal/_isFormatUuid.js.map +1 -0
  234. package/lib/internal/_isTypeFloat.d.ts +1 -0
  235. package/lib/internal/_isTypeFloat.js +8 -0
  236. package/lib/internal/_isTypeFloat.js.map +1 -0
  237. package/lib/internal/_isTypeInt32.d.ts +1 -0
  238. package/lib/internal/_isTypeInt32.js +8 -0
  239. package/lib/internal/_isTypeInt32.js.map +1 -0
  240. package/lib/internal/_isTypeInt64.d.ts +1 -0
  241. package/lib/internal/_isTypeInt64.js +8 -0
  242. package/lib/internal/_isTypeInt64.js.map +1 -0
  243. package/lib/internal/_isTypeUint32.d.ts +1 -0
  244. package/lib/internal/_isTypeUint32.js +8 -0
  245. package/lib/internal/_isTypeUint32.js.map +1 -0
  246. package/lib/internal/_isTypeUint64.d.ts +1 -0
  247. package/lib/internal/_isTypeUint64.js +8 -0
  248. package/lib/internal/_isTypeUint64.js.map +1 -0
  249. package/lib/internal/_jsonStringifyNumber.js +3 -3
  250. package/lib/internal/_jsonStringifyNumber.js.map +1 -1
  251. package/lib/internal/_jsonStringifyRest.js +1 -1
  252. package/lib/internal/_jsonStringifyRest.js.map +1 -1
  253. package/lib/internal/_jsonStringifyString.js +5 -5
  254. package/lib/internal/_jsonStringifyString.js.map +1 -1
  255. package/lib/internal/_jsonStringifyTail.js +1 -3
  256. package/lib/internal/_jsonStringifyTail.js.map +1 -1
  257. package/lib/internal/_llmApplicationFinalize.js +10 -33
  258. package/lib/internal/_llmApplicationFinalize.js.map +1 -1
  259. package/lib/internal/_miscCloneAny.js +6 -42
  260. package/lib/internal/_miscCloneAny.js.map +1 -1
  261. package/lib/internal/_notationAny.js +3 -24
  262. package/lib/internal/_notationAny.js.map +1 -1
  263. package/lib/internal/_notationCamel.js +8 -12
  264. package/lib/internal/_notationCamel.js.map +1 -1
  265. package/lib/internal/_notationPascal.js +3 -5
  266. package/lib/internal/_notationPascal.js.map +1 -1
  267. package/lib/internal/_notationSnake.js +16 -16
  268. package/lib/internal/_notationSnake.js.map +1 -1
  269. package/lib/internal/_randomArray.js +5 -5
  270. package/lib/internal/_randomArray.js.map +1 -1
  271. package/lib/internal/_randomBigint.js +2 -4
  272. package/lib/internal/_randomBigint.js.map +1 -1
  273. package/lib/internal/_randomBoolean.js +1 -1
  274. package/lib/internal/_randomBoolean.js.map +1 -1
  275. package/lib/internal/_randomFormatByte.js +2 -2
  276. package/lib/internal/_randomFormatByte.js.map +1 -1
  277. package/lib/internal/_randomFormatDate.js +2 -2
  278. package/lib/internal/_randomFormatDate.js.map +1 -1
  279. package/lib/internal/_randomFormatDatetime.js +2 -2
  280. package/lib/internal/_randomFormatDatetime.js.map +1 -1
  281. package/lib/internal/_randomFormatDuration.js +14 -40
  282. package/lib/internal/_randomFormatDuration.js.map +1 -1
  283. package/lib/internal/_randomFormatEmail.js +7 -11
  284. package/lib/internal/_randomFormatEmail.js.map +1 -1
  285. package/lib/internal/_randomFormatHostname.js +3 -5
  286. package/lib/internal/_randomFormatHostname.js.map +1 -1
  287. package/lib/internal/_randomFormatIdnEmail.js +2 -2
  288. package/lib/internal/_randomFormatIdnEmail.js.map +1 -1
  289. package/lib/internal/_randomFormatIdnHostname.js +2 -2
  290. package/lib/internal/_randomFormatIdnHostname.js.map +1 -1
  291. package/lib/internal/_randomFormatIpv4.js +7 -11
  292. package/lib/internal/_randomFormatIpv4.js.map +1 -1
  293. package/lib/internal/_randomFormatIpv6.js +7 -11
  294. package/lib/internal/_randomFormatIpv6.js.map +1 -1
  295. package/lib/internal/_randomFormatIri.js +2 -2
  296. package/lib/internal/_randomFormatIri.js.map +1 -1
  297. package/lib/internal/_randomFormatIriReference.js +2 -2
  298. package/lib/internal/_randomFormatIriReference.js.map +1 -1
  299. package/lib/internal/_randomFormatJsonPointer.js +3 -7
  300. package/lib/internal/_randomFormatJsonPointer.js.map +1 -1
  301. package/lib/internal/_randomFormatPassword.js +6 -8
  302. package/lib/internal/_randomFormatPassword.js.map +1 -1
  303. package/lib/internal/_randomFormatRegex.js +2 -2
  304. package/lib/internal/_randomFormatRegex.js.map +1 -1
  305. package/lib/internal/_randomFormatRelativeJsonPointer.js +6 -8
  306. package/lib/internal/_randomFormatRelativeJsonPointer.js.map +1 -1
  307. package/lib/internal/_randomFormatTime.js +9 -11
  308. package/lib/internal/_randomFormatTime.js.map +1 -1
  309. package/lib/internal/_randomFormatUri.js +2 -2
  310. package/lib/internal/_randomFormatUri.js.map +1 -1
  311. package/lib/internal/_randomFormatUriReference.js +2 -2
  312. package/lib/internal/_randomFormatUriReference.js.map +1 -1
  313. package/lib/internal/_randomFormatUriTemplate.js +2 -2
  314. package/lib/internal/_randomFormatUriTemplate.js.map +1 -1
  315. package/lib/internal/_randomFormatUrl.js +7 -11
  316. package/lib/internal/_randomFormatUrl.js.map +1 -1
  317. package/lib/internal/_randomFormatUuid.js +5 -7
  318. package/lib/internal/_randomFormatUuid.js.map +1 -1
  319. package/lib/internal/_randomInteger.js +14 -16
  320. package/lib/internal/_randomInteger.js.map +1 -1
  321. package/lib/internal/_randomNumber.js +15 -15
  322. package/lib/internal/_randomNumber.js.map +1 -1
  323. package/lib/internal/_randomPattern.js +5 -5
  324. package/lib/internal/_randomPattern.js.map +1 -1
  325. package/lib/internal/_randomPick.js +7 -9
  326. package/lib/internal/_randomPick.js.map +1 -1
  327. package/lib/internal/_randomString.js +10 -12
  328. package/lib/internal/_randomString.js.map +1 -1
  329. package/lib/internal/_throwTypeGuardError.js +2 -2
  330. package/lib/internal/_throwTypeGuardError.js.map +1 -1
  331. package/lib/internal/_validateReport.js +4 -4
  332. package/lib/internal/_validateReport.js.map +1 -1
  333. package/lib/internal/private/__notationCapitalize.js +1 -3
  334. package/lib/internal/private/__notationCapitalize.js.map +1 -1
  335. package/lib/internal/private/__notationUnsnake.js +20 -22
  336. package/lib/internal/private/__notationUnsnake.js.map +1 -1
  337. package/lib/json.js +1 -1
  338. package/lib/json.js.map +1 -1
  339. package/lib/llm.js +1 -1
  340. package/lib/llm.js.map +1 -1
  341. package/lib/misc.js +1 -1
  342. package/lib/misc.js.map +1 -1
  343. package/lib/module.js +1 -1
  344. package/lib/module.js.map +1 -1
  345. package/lib/notations.js +1 -1
  346. package/lib/notations.js.map +1 -1
  347. package/lib/programmers/AssertProgrammer.js +142 -200
  348. package/lib/programmers/AssertProgrammer.js.map +1 -1
  349. package/lib/programmers/CheckerProgrammer.js +595 -801
  350. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  351. package/lib/programmers/FeatureProgrammer.js +104 -155
  352. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  353. package/lib/programmers/ImportProgrammer.js +51 -99
  354. package/lib/programmers/ImportProgrammer.js.map +1 -1
  355. package/lib/programmers/IsProgrammer.js +84 -137
  356. package/lib/programmers/IsProgrammer.js.map +1 -1
  357. package/lib/programmers/RandomProgrammer.js +403 -608
  358. package/lib/programmers/RandomProgrammer.js.map +1 -1
  359. package/lib/programmers/TypiaProgrammer.js +115 -285
  360. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  361. package/lib/programmers/ValidateProgrammer.js +120 -179
  362. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  363. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +33 -58
  364. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -1
  365. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +41 -71
  366. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -1
  367. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js +19 -46
  368. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js.map +1 -1
  369. package/lib/programmers/functional/FunctionalIsFunctionProgrammer.js +13 -36
  370. package/lib/programmers/functional/FunctionalIsFunctionProgrammer.js.map +1 -1
  371. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js +26 -51
  372. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js.map +1 -1
  373. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js +21 -58
  374. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js.map +1 -1
  375. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js +20 -45
  376. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js.map +1 -1
  377. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +33 -71
  378. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
  379. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +21 -58
  380. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
  381. package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.js +6 -6
  382. package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.js.map +1 -1
  383. package/lib/programmers/helpers/AtomicPredicator.js +6 -12
  384. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  385. package/lib/programmers/helpers/CloneJoiner.js +25 -56
  386. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  387. package/lib/programmers/helpers/FunctionProgrammer.js +31 -64
  388. package/lib/programmers/helpers/FunctionProgrammer.js.map +1 -1
  389. package/lib/programmers/helpers/HttpMetadataUtil.js +12 -37
  390. package/lib/programmers/helpers/HttpMetadataUtil.js.map +1 -1
  391. package/lib/programmers/helpers/NotationJoiner.js +25 -56
  392. package/lib/programmers/helpers/NotationJoiner.js.map +1 -1
  393. package/lib/programmers/helpers/OptionPredicator.js +4 -12
  394. package/lib/programmers/helpers/OptionPredicator.js.map +1 -1
  395. package/lib/programmers/helpers/ProtobufUtil.js +119 -309
  396. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  397. package/lib/programmers/helpers/PruneJoiner.js +36 -72
  398. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  399. package/lib/programmers/helpers/RandomJoiner.js +43 -86
  400. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  401. package/lib/programmers/helpers/StringifyJoinder.js +35 -59
  402. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  403. package/lib/programmers/helpers/StringifyPredicator.js +5 -9
  404. package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
  405. package/lib/programmers/helpers/UnionExplorer.js +138 -194
  406. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  407. package/lib/programmers/helpers/UnionPredicator.js +26 -83
  408. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  409. package/lib/programmers/helpers/disable_function_programmer_declare.js +10 -10
  410. package/lib/programmers/helpers/disable_function_programmer_declare.js.map +1 -1
  411. package/lib/programmers/http/HttpAssertFormDataProgrammer.js +21 -55
  412. package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
  413. package/lib/programmers/http/HttpAssertHeadersProgrammer.js +21 -55
  414. package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
  415. package/lib/programmers/http/HttpAssertQueryProgrammer.js +21 -55
  416. package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
  417. package/lib/programmers/http/HttpFormDataProgrammer.js +62 -93
  418. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  419. package/lib/programmers/http/HttpHeadersProgrammer.js +80 -149
  420. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  421. package/lib/programmers/http/HttpIsFormDataProgrammer.js +20 -54
  422. package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -1
  423. package/lib/programmers/http/HttpIsHeadersProgrammer.js +20 -54
  424. package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
  425. package/lib/programmers/http/HttpIsQueryProgrammer.js +20 -54
  426. package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
  427. package/lib/programmers/http/HttpParameterProgrammer.js +22 -58
  428. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  429. package/lib/programmers/http/HttpQueryProgrammer.js +60 -94
  430. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  431. package/lib/programmers/http/HttpValidateFormDataProgrammer.js +19 -54
  432. package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
  433. package/lib/programmers/http/HttpValidateHeadersProgrammer.js +19 -54
  434. package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
  435. package/lib/programmers/http/HttpValidateQueryProgrammer.js +19 -54
  436. package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
  437. package/lib/programmers/internal/check_array_length.js +17 -17
  438. package/lib/programmers/internal/check_array_length.js.map +1 -1
  439. package/lib/programmers/internal/check_bigint.js +18 -18
  440. package/lib/programmers/internal/check_bigint.js.map +1 -1
  441. package/lib/programmers/internal/check_dynamic_key.js +57 -141
  442. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  443. package/lib/programmers/internal/check_dynamic_properties.js +46 -96
  444. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  445. package/lib/programmers/internal/check_everything.js +6 -8
  446. package/lib/programmers/internal/check_everything.js.map +1 -1
  447. package/lib/programmers/internal/check_native.js +5 -5
  448. package/lib/programmers/internal/check_native.js.map +1 -1
  449. package/lib/programmers/internal/check_number.js +35 -63
  450. package/lib/programmers/internal/check_number.js.map +1 -1
  451. package/lib/programmers/internal/check_object.js +12 -14
  452. package/lib/programmers/internal/check_object.js.map +1 -1
  453. package/lib/programmers/internal/check_string.js +18 -18
  454. package/lib/programmers/internal/check_string.js.map +1 -1
  455. package/lib/programmers/internal/check_template.js +11 -13
  456. package/lib/programmers/internal/check_template.js.map +1 -1
  457. package/lib/programmers/internal/check_union_array_like.js +42 -57
  458. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  459. package/lib/programmers/internal/decode_union_object.js +33 -63
  460. package/lib/programmers/internal/decode_union_object.js.map +1 -1
  461. package/lib/programmers/internal/feature_object_entries.js +34 -36
  462. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  463. package/lib/programmers/internal/json_schema_alias.js +9 -9
  464. package/lib/programmers/internal/json_schema_alias.js.map +1 -1
  465. package/lib/programmers/internal/json_schema_array.js +20 -22
  466. package/lib/programmers/internal/json_schema_array.js.map +1 -1
  467. package/lib/programmers/internal/json_schema_bigint.js +7 -9
  468. package/lib/programmers/internal/json_schema_bigint.js.map +1 -1
  469. package/lib/programmers/internal/json_schema_boolean.js +7 -9
  470. package/lib/programmers/internal/json_schema_boolean.js.map +1 -1
  471. package/lib/programmers/internal/json_schema_constant.js +18 -20
  472. package/lib/programmers/internal/json_schema_constant.js.map +1 -1
  473. package/lib/programmers/internal/json_schema_description.js +2 -2
  474. package/lib/programmers/internal/json_schema_description.js.map +1 -1
  475. package/lib/programmers/internal/json_schema_discriminator.js +10 -10
  476. package/lib/programmers/internal/json_schema_discriminator.js.map +1 -1
  477. package/lib/programmers/internal/json_schema_escaped.js +19 -27
  478. package/lib/programmers/internal/json_schema_escaped.js.map +1 -1
  479. package/lib/programmers/internal/json_schema_native.js +3 -3
  480. package/lib/programmers/internal/json_schema_native.js.map +1 -1
  481. package/lib/programmers/internal/json_schema_number.js +7 -9
  482. package/lib/programmers/internal/json_schema_number.js.map +1 -1
  483. package/lib/programmers/internal/json_schema_object.js +68 -92
  484. package/lib/programmers/internal/json_schema_object.js.map +1 -1
  485. package/lib/programmers/internal/json_schema_plugin.js +8 -42
  486. package/lib/programmers/internal/json_schema_plugin.js.map +1 -1
  487. package/lib/programmers/internal/json_schema_station.js +75 -178
  488. package/lib/programmers/internal/json_schema_station.js.map +1 -1
  489. package/lib/programmers/internal/json_schema_string.js +7 -9
  490. package/lib/programmers/internal/json_schema_string.js.map +1 -1
  491. package/lib/programmers/internal/json_schema_template.js +22 -85
  492. package/lib/programmers/internal/json_schema_template.js.map +1 -1
  493. package/lib/programmers/internal/json_schema_title.js +5 -5
  494. package/lib/programmers/internal/json_schema_title.js.map +1 -1
  495. package/lib/programmers/internal/json_schema_tuple.js +10 -12
  496. package/lib/programmers/internal/json_schema_tuple.js.map +1 -1
  497. package/lib/programmers/internal/metadata_to_pattern.js +21 -57
  498. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  499. package/lib/programmers/internal/postfix_of_tuple.js +1 -3
  500. package/lib/programmers/internal/postfix_of_tuple.js.map +1 -1
  501. package/lib/programmers/internal/prune_object_properties.js +11 -11
  502. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  503. package/lib/programmers/internal/stringify_dynamic_properties.js +25 -49
  504. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  505. package/lib/programmers/internal/stringify_native.js +2 -4
  506. package/lib/programmers/internal/stringify_native.js.map +1 -1
  507. package/lib/programmers/internal/stringify_regular_properties.js +17 -44
  508. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  509. package/lib/programmers/internal/template_to_pattern.js +8 -10
  510. package/lib/programmers/internal/template_to_pattern.js.map +1 -1
  511. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +6 -6
  512. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
  513. package/lib/programmers/json/JsonApplicationProgrammer.js +81 -143
  514. package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
  515. package/lib/programmers/json/JsonAssertParseProgrammer.js +18 -53
  516. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  517. package/lib/programmers/json/JsonAssertStringifyProgrammer.js +22 -56
  518. package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
  519. package/lib/programmers/json/JsonIsParseProgrammer.js +18 -53
  520. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  521. package/lib/programmers/json/JsonIsStringifyProgrammer.js +21 -55
  522. package/lib/programmers/json/JsonIsStringifyProgrammer.js.map +1 -1
  523. package/lib/programmers/json/JsonSchemasProgrammer.js +35 -64
  524. package/lib/programmers/json/JsonSchemasProgrammer.js.map +1 -1
  525. package/lib/programmers/json/JsonStringifyProgrammer.js +363 -581
  526. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  527. package/lib/programmers/json/JsonValidateParseProgrammer.js +18 -53
  528. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  529. package/lib/programmers/json/JsonValidateStringifyProgrammer.js +22 -56
  530. package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
  531. package/lib/programmers/llm/LlmApplicationProgrammer.js +70 -131
  532. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  533. package/lib/programmers/llm/LlmSchemaProgrammer.js +65 -100
  534. package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
  535. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +21 -55
  536. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  537. package/lib/programmers/misc/MiscAssertPruneProgrammer.js +21 -55
  538. package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
  539. package/lib/programmers/misc/MiscCloneProgrammer.js +414 -582
  540. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  541. package/lib/programmers/misc/MiscIsCloneProgrammer.js +21 -55
  542. package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
  543. package/lib/programmers/misc/MiscIsPruneProgrammer.js +21 -55
  544. package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -1
  545. package/lib/programmers/misc/MiscLiteralsProgrammer.js +32 -55
  546. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  547. package/lib/programmers/misc/MiscPruneProgrammer.js +291 -441
  548. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  549. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +21 -55
  550. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  551. package/lib/programmers/misc/MiscValidatePruneProgrammer.js +21 -55
  552. package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
  553. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +21 -55
  554. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
  555. package/lib/programmers/notations/NotationGeneralProgrammer.js +371 -534
  556. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  557. package/lib/programmers/notations/NotationIsGeneralProgrammer.js +21 -55
  558. package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -1
  559. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +21 -55
  560. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
  561. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +22 -55
  562. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  563. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +21 -55
  564. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
  565. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +156 -222
  566. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  567. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +279 -402
  568. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  569. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +20 -54
  570. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
  571. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js +21 -55
  572. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js.map +1 -1
  573. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +68 -117
  574. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  575. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +19 -54
  576. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  577. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +21 -55
  578. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
  579. package/lib/protobuf.js +1 -1
  580. package/lib/protobuf.js.map +1 -1
  581. package/lib/reflect.js +1 -1
  582. package/lib/reflect.js.map +1 -1
  583. package/lib/schemas/metadata/Metadata.js +248 -625
  584. package/lib/schemas/metadata/Metadata.js.map +1 -1
  585. package/lib/schemas/metadata/MetadataAlias.js +22 -48
  586. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  587. package/lib/schemas/metadata/MetadataAliasType.js +9 -10
  588. package/lib/schemas/metadata/MetadataAliasType.js.map +1 -1
  589. package/lib/schemas/metadata/MetadataApplication.js +15 -18
  590. package/lib/schemas/metadata/MetadataApplication.js.map +1 -1
  591. package/lib/schemas/metadata/MetadataArray.js +23 -49
  592. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  593. package/lib/schemas/metadata/MetadataArrayType.js +9 -10
  594. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
  595. package/lib/schemas/metadata/MetadataAtomic.js +46 -76
  596. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
  597. package/lib/schemas/metadata/MetadataComponents.js +44 -128
  598. package/lib/schemas/metadata/MetadataComponents.js.map +1 -1
  599. package/lib/schemas/metadata/MetadataConstant.js +11 -12
  600. package/lib/schemas/metadata/MetadataConstant.js.map +1 -1
  601. package/lib/schemas/metadata/MetadataConstantValue.js +17 -18
  602. package/lib/schemas/metadata/MetadataConstantValue.js.map +1 -1
  603. package/lib/schemas/metadata/MetadataEscaped.js +12 -13
  604. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
  605. package/lib/schemas/metadata/MetadataFunction.js +13 -14
  606. package/lib/schemas/metadata/MetadataFunction.js.map +1 -1
  607. package/lib/schemas/metadata/MetadataMap.js +19 -46
  608. package/lib/schemas/metadata/MetadataMap.js.map +1 -1
  609. package/lib/schemas/metadata/MetadataNative.js +22 -48
  610. package/lib/schemas/metadata/MetadataNative.js.map +1 -1
  611. package/lib/schemas/metadata/MetadataObject.js +23 -49
  612. package/lib/schemas/metadata/MetadataObject.js.map +1 -1
  613. package/lib/schemas/metadata/MetadataObjectType.js +32 -45
  614. package/lib/schemas/metadata/MetadataObjectType.js.map +1 -1
  615. package/lib/schemas/metadata/MetadataParameter.js +10 -11
  616. package/lib/schemas/metadata/MetadataParameter.js.map +1 -1
  617. package/lib/schemas/metadata/MetadataProperty.js +10 -11
  618. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  619. package/lib/schemas/metadata/MetadataSet.js +19 -46
  620. package/lib/schemas/metadata/MetadataSet.js.map +1 -1
  621. package/lib/schemas/metadata/MetadataTemplate.js +27 -55
  622. package/lib/schemas/metadata/MetadataTemplate.js.map +1 -1
  623. package/lib/schemas/metadata/MetadataTuple.js +8 -9
  624. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  625. package/lib/schemas/metadata/MetadataTupleType.js +12 -13
  626. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
  627. package/lib/tags/Format.d.ts +6 -4
  628. package/lib/tags/Type.d.ts +4 -4
  629. package/lib/tags/internal/FormatCheatSheet.js +23 -25
  630. package/lib/tags/internal/FormatCheatSheet.js.map +1 -1
  631. package/lib/transform.js +8 -8
  632. package/lib/transform.js.map +1 -1
  633. package/lib/transformers/CallExpressionTransformer.js +370 -480
  634. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  635. package/lib/transformers/FileTransformer.js +40 -85
  636. package/lib/transformers/FileTransformer.js.map +1 -1
  637. package/lib/transformers/ImportTransformer.js +25 -33
  638. package/lib/transformers/ImportTransformer.js.map +1 -1
  639. package/lib/transformers/NodeTransformer.js +8 -10
  640. package/lib/transformers/NodeTransformer.js.map +1 -1
  641. package/lib/transformers/TransformerError.js +25 -44
  642. package/lib/transformers/TransformerError.js.map +1 -1
  643. package/lib/transformers/features/AssertTransformer.js +9 -24
  644. package/lib/transformers/features/AssertTransformer.js.map +1 -1
  645. package/lib/transformers/features/CreateAssertTransformer.js +9 -24
  646. package/lib/transformers/features/CreateAssertTransformer.js.map +1 -1
  647. package/lib/transformers/features/CreateIsTransformer.js +3 -18
  648. package/lib/transformers/features/CreateIsTransformer.js.map +1 -1
  649. package/lib/transformers/features/CreateRandomTransformer.js +7 -18
  650. package/lib/transformers/features/CreateRandomTransformer.js.map +1 -1
  651. package/lib/transformers/features/CreateValidateTransformer.js +3 -18
  652. package/lib/transformers/features/CreateValidateTransformer.js.map +1 -1
  653. package/lib/transformers/features/IsTransformer.js +3 -18
  654. package/lib/transformers/features/IsTransformer.js.map +1 -1
  655. package/lib/transformers/features/RandomTransformer.js +9 -9
  656. package/lib/transformers/features/RandomTransformer.js.map +1 -1
  657. package/lib/transformers/features/ValidateTransformer.js +3 -18
  658. package/lib/transformers/features/ValidateTransformer.js.map +1 -1
  659. package/lib/transformers/features/functional/FunctionalGenericTransformer.js +19 -32
  660. package/lib/transformers/features/functional/FunctionalGenericTransformer.js.map +1 -1
  661. package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.js +3 -16
  662. package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.js.map +1 -1
  663. package/lib/transformers/features/http/CreateHttpAssertHeadersTransformer.js +3 -16
  664. package/lib/transformers/features/http/CreateHttpAssertHeadersTransformer.js.map +1 -1
  665. package/lib/transformers/features/http/CreateHttpAssertQueryTransformer.js +3 -16
  666. package/lib/transformers/features/http/CreateHttpAssertQueryTransformer.js.map +1 -1
  667. package/lib/transformers/features/http/CreateHttpFormDataTransformer.js +3 -16
  668. package/lib/transformers/features/http/CreateHttpFormDataTransformer.js.map +1 -1
  669. package/lib/transformers/features/http/CreateHttpHeadersTransformer.js +3 -16
  670. package/lib/transformers/features/http/CreateHttpHeadersTransformer.js.map +1 -1
  671. package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.js +3 -16
  672. package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.js.map +1 -1
  673. package/lib/transformers/features/http/CreateHttpIsHeadersTransformer.js +3 -16
  674. package/lib/transformers/features/http/CreateHttpIsHeadersTransformer.js.map +1 -1
  675. package/lib/transformers/features/http/CreateHttpIsQueryTransformer.js +3 -16
  676. package/lib/transformers/features/http/CreateHttpIsQueryTransformer.js.map +1 -1
  677. package/lib/transformers/features/http/CreateHttpParameterTransformer.js +3 -16
  678. package/lib/transformers/features/http/CreateHttpParameterTransformer.js.map +1 -1
  679. package/lib/transformers/features/http/CreateHttpQueryTransformer.js +3 -16
  680. package/lib/transformers/features/http/CreateHttpQueryTransformer.js.map +1 -1
  681. package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.js +3 -16
  682. package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.js.map +1 -1
  683. package/lib/transformers/features/http/CreateHttpValidateHeadersTransformer.js +3 -16
  684. package/lib/transformers/features/http/CreateHttpValidateHeadersTransformer.js.map +1 -1
  685. package/lib/transformers/features/http/CreateHttpValidateQueryTransformer.js +3 -16
  686. package/lib/transformers/features/http/CreateHttpValidateQueryTransformer.js.map +1 -1
  687. package/lib/transformers/features/http/HttpAssertFormDataTransformer.js +3 -16
  688. package/lib/transformers/features/http/HttpAssertFormDataTransformer.js.map +1 -1
  689. package/lib/transformers/features/http/HttpAssertHeadersTransformer.js +3 -16
  690. package/lib/transformers/features/http/HttpAssertHeadersTransformer.js.map +1 -1
  691. package/lib/transformers/features/http/HttpAssertQueryTransformer.js +3 -16
  692. package/lib/transformers/features/http/HttpAssertQueryTransformer.js.map +1 -1
  693. package/lib/transformers/features/http/HttpFormDataTransformer.js +3 -16
  694. package/lib/transformers/features/http/HttpFormDataTransformer.js.map +1 -1
  695. package/lib/transformers/features/http/HttpHeadersTransformer.js +3 -16
  696. package/lib/transformers/features/http/HttpHeadersTransformer.js.map +1 -1
  697. package/lib/transformers/features/http/HttpIsFormDataTransformer.js +3 -16
  698. package/lib/transformers/features/http/HttpIsFormDataTransformer.js.map +1 -1
  699. package/lib/transformers/features/http/HttpIsHeadersTransformer.js +3 -16
  700. package/lib/transformers/features/http/HttpIsHeadersTransformer.js.map +1 -1
  701. package/lib/transformers/features/http/HttpIsQueryTransformer.js +3 -16
  702. package/lib/transformers/features/http/HttpIsQueryTransformer.js.map +1 -1
  703. package/lib/transformers/features/http/HttpParameterTransformer.js +3 -16
  704. package/lib/transformers/features/http/HttpParameterTransformer.js.map +1 -1
  705. package/lib/transformers/features/http/HttpQueryTransformer.js +3 -16
  706. package/lib/transformers/features/http/HttpQueryTransformer.js.map +1 -1
  707. package/lib/transformers/features/http/HttpValidateFormDataTransformer.js +3 -16
  708. package/lib/transformers/features/http/HttpValidateFormDataTransformer.js.map +1 -1
  709. package/lib/transformers/features/http/HttpValidateHeadersTransformer.js +3 -16
  710. package/lib/transformers/features/http/HttpValidateHeadersTransformer.js.map +1 -1
  711. package/lib/transformers/features/http/HttpValidateQueryTransformer.js +3 -16
  712. package/lib/transformers/features/http/HttpValidateQueryTransformer.js.map +1 -1
  713. package/lib/transformers/features/json/JsonApplicationTransformer.js +41 -43
  714. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  715. package/lib/transformers/features/json/JsonAssertParseTransformer.js +3 -16
  716. package/lib/transformers/features/json/JsonAssertParseTransformer.js.map +1 -1
  717. package/lib/transformers/features/json/JsonAssertStringifyTransformer.js +3 -16
  718. package/lib/transformers/features/json/JsonAssertStringifyTransformer.js.map +1 -1
  719. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.js +3 -16
  720. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.js.map +1 -1
  721. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.js +3 -16
  722. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.js.map +1 -1
  723. package/lib/transformers/features/json/JsonCreateIsParseTransformer.js +3 -16
  724. package/lib/transformers/features/json/JsonCreateIsParseTransformer.js.map +1 -1
  725. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.js +3 -16
  726. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.js.map +1 -1
  727. package/lib/transformers/features/json/JsonCreateStringifyTransformer.js +3 -16
  728. package/lib/transformers/features/json/JsonCreateStringifyTransformer.js.map +1 -1
  729. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.js +3 -16
  730. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.js.map +1 -1
  731. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.js +3 -16
  732. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.js.map +1 -1
  733. package/lib/transformers/features/json/JsonIsParseTransformer.js +3 -16
  734. package/lib/transformers/features/json/JsonIsParseTransformer.js.map +1 -1
  735. package/lib/transformers/features/json/JsonIsStringifyTransformer.js +3 -16
  736. package/lib/transformers/features/json/JsonIsStringifyTransformer.js.map +1 -1
  737. package/lib/transformers/features/json/JsonSchemasTransformer.js +62 -115
  738. package/lib/transformers/features/json/JsonSchemasTransformer.js.map +1 -1
  739. package/lib/transformers/features/json/JsonStringifyTransformer.js +3 -16
  740. package/lib/transformers/features/json/JsonStringifyTransformer.js.map +1 -1
  741. package/lib/transformers/features/json/JsonValidateParseTransformer.js +3 -16
  742. package/lib/transformers/features/json/JsonValidateParseTransformer.js.map +1 -1
  743. package/lib/transformers/features/json/JsonValidateStringifyTransformer.js +3 -16
  744. package/lib/transformers/features/json/JsonValidateStringifyTransformer.js.map +1 -1
  745. package/lib/transformers/features/llm/LlmApplicationTransformer.js +52 -80
  746. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  747. package/lib/transformers/features/llm/LlmSchemaTransformer.js +43 -47
  748. package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
  749. package/lib/transformers/features/misc/MiscAssertCloneTransformer.js +3 -16
  750. package/lib/transformers/features/misc/MiscAssertCloneTransformer.js.map +1 -1
  751. package/lib/transformers/features/misc/MiscAssertPruneTransformer.js +3 -16
  752. package/lib/transformers/features/misc/MiscAssertPruneTransformer.js.map +1 -1
  753. package/lib/transformers/features/misc/MiscCloneTransformer.js +3 -16
  754. package/lib/transformers/features/misc/MiscCloneTransformer.js.map +1 -1
  755. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.js +3 -16
  756. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.js.map +1 -1
  757. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.js +3 -16
  758. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.js.map +1 -1
  759. package/lib/transformers/features/misc/MiscCreateCloneTransformer.js +3 -16
  760. package/lib/transformers/features/misc/MiscCreateCloneTransformer.js.map +1 -1
  761. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.js +3 -16
  762. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.js.map +1 -1
  763. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js +3 -16
  764. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js.map +1 -1
  765. package/lib/transformers/features/misc/MiscCreatePruneTransformer.js +3 -16
  766. package/lib/transformers/features/misc/MiscCreatePruneTransformer.js.map +1 -1
  767. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.js +3 -16
  768. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.js.map +1 -1
  769. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.js +3 -16
  770. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.js.map +1 -1
  771. package/lib/transformers/features/misc/MiscIsCloneTransformer.js +3 -16
  772. package/lib/transformers/features/misc/MiscIsCloneTransformer.js.map +1 -1
  773. package/lib/transformers/features/misc/MiscIsPruneTransformer.js +3 -16
  774. package/lib/transformers/features/misc/MiscIsPruneTransformer.js.map +1 -1
  775. package/lib/transformers/features/misc/MiscLiteralsTransformer.js +6 -6
  776. package/lib/transformers/features/misc/MiscLiteralsTransformer.js.map +1 -1
  777. package/lib/transformers/features/misc/MiscPruneTransformer.js +3 -16
  778. package/lib/transformers/features/misc/MiscPruneTransformer.js.map +1 -1
  779. package/lib/transformers/features/misc/MiscValidateCloneTransformer.js +3 -16
  780. package/lib/transformers/features/misc/MiscValidateCloneTransformer.js.map +1 -1
  781. package/lib/transformers/features/misc/MiscValidatePruneTransformer.js +3 -16
  782. package/lib/transformers/features/misc/MiscValidatePruneTransformer.js.map +1 -1
  783. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.js +4 -19
  784. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.js.map +1 -1
  785. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.js +4 -19
  786. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.js.map +1 -1
  787. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.js +4 -19
  788. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.js.map +1 -1
  789. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.js +4 -19
  790. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.js.map +1 -1
  791. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.js +4 -19
  792. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.js.map +1 -1
  793. package/lib/transformers/features/notations/NotationGeneralTransformer.js +3 -18
  794. package/lib/transformers/features/notations/NotationGeneralTransformer.js.map +1 -1
  795. package/lib/transformers/features/notations/NotationIsGeneralTransformer.js +4 -19
  796. package/lib/transformers/features/notations/NotationIsGeneralTransformer.js.map +1 -1
  797. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.js +4 -19
  798. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.js.map +1 -1
  799. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.js +3 -16
  800. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.js.map +1 -1
  801. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.js +3 -16
  802. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.js.map +1 -1
  803. package/lib/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.js +3 -16
  804. package/lib/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.js.map +1 -1
  805. package/lib/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.js +3 -16
  806. package/lib/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.js.map +1 -1
  807. package/lib/transformers/features/protobuf/ProtobufCreateDecodeTransformer.js +3 -16
  808. package/lib/transformers/features/protobuf/ProtobufCreateDecodeTransformer.js.map +1 -1
  809. package/lib/transformers/features/protobuf/ProtobufCreateEncodeTransformer.js +3 -16
  810. package/lib/transformers/features/protobuf/ProtobufCreateEncodeTransformer.js.map +1 -1
  811. package/lib/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.js +3 -16
  812. package/lib/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.js.map +1 -1
  813. package/lib/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.js +3 -16
  814. package/lib/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.js.map +1 -1
  815. package/lib/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.js +3 -16
  816. package/lib/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.js.map +1 -1
  817. package/lib/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.js +3 -16
  818. package/lib/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.js.map +1 -1
  819. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.js +3 -16
  820. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.js.map +1 -1
  821. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.js +3 -16
  822. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.js.map +1 -1
  823. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.js +3 -16
  824. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.js.map +1 -1
  825. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.js +3 -16
  826. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.js.map +1 -1
  827. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js +5 -5
  828. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js.map +1 -1
  829. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.js +3 -16
  830. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.js.map +1 -1
  831. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.js +3 -16
  832. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.js.map +1 -1
  833. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +17 -19
  834. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
  835. package/lib/transformers/features/reflect/ReflectNameTransformer.js +15 -15
  836. package/lib/transformers/features/reflect/ReflectNameTransformer.js.map +1 -1
  837. package/lib/transformers/internal/GenericTransformer.js +21 -39
  838. package/lib/transformers/internal/GenericTransformer.js.map +1 -1
  839. package/lib/utils/ArrayUtil.js +9 -12
  840. package/lib/utils/ArrayUtil.js.map +1 -1
  841. package/lib/utils/Escaper.js +3 -5
  842. package/lib/utils/Escaper.js.map +1 -1
  843. package/lib/utils/MapUtil.js +3 -3
  844. package/lib/utils/MapUtil.js.map +1 -1
  845. package/lib/utils/NamingConvention.js +43 -51
  846. package/lib/utils/NamingConvention.js.map +1 -1
  847. package/lib/utils/PatternUtil.js +9 -34
  848. package/lib/utils/PatternUtil.js.map +1 -1
  849. package/lib/utils/ProtobufNameEncoder.js +8 -59
  850. package/lib/utils/ProtobufNameEncoder.js.map +1 -1
  851. package/lib/utils/Singleton.js +7 -37
  852. package/lib/utils/Singleton.js.map +1 -1
  853. package/lib/utils/StringUtil.js +3 -5
  854. package/lib/utils/StringUtil.js.map +1 -1
  855. package/package.json +1 -1
  856. package/src/factories/ExpressionFactory.ts +62 -8
  857. package/src/factories/MetadataFactory.ts +17 -20
  858. package/src/internal/_isFormatByte.ts +7 -0
  859. package/src/internal/_isFormatDate.ts +3 -0
  860. package/src/internal/_isFormatDateTime.ts +4 -0
  861. package/src/internal/_isFormatDuration.ts +4 -0
  862. package/src/internal/_isFormatEmail.ts +4 -0
  863. package/src/internal/_isFormatHostname.ts +4 -0
  864. package/src/internal/_isFormatIdnEmail.ts +4 -0
  865. package/src/internal/_isFormatIdnHostname.ts +4 -0
  866. package/src/internal/_isFormatIpv4.ts +4 -0
  867. package/src/internal/_isFormatIpv6.ts +4 -0
  868. package/src/internal/_isFormatIri.ts +3 -0
  869. package/src/internal/_isFormatIriReference.ts +4 -0
  870. package/src/internal/_isFormatJsonPointer.ts +3 -0
  871. package/src/internal/_isFormatPassword.ts +1 -0
  872. package/src/internal/_isFormatRegex.ts +8 -0
  873. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -0
  874. package/src/internal/_isFormatTime.ts +4 -0
  875. package/src/internal/_isFormatUri.ts +6 -0
  876. package/src/internal/_isFormatUriReference.ts +5 -0
  877. package/src/internal/_isFormatUriTemplate.ts +4 -0
  878. package/src/internal/_isFormatUrl.ts +4 -0
  879. package/src/internal/_isFormatUuid.ts +3 -0
  880. package/src/internal/_isTypeFloat.ts +5 -0
  881. package/src/internal/_isTypeInt32.ts +5 -0
  882. package/src/internal/_isTypeInt64.ts +5 -0
  883. package/src/internal/_isTypeUint32.ts +5 -0
  884. package/src/internal/_isTypeUint64.ts +5 -0
  885. package/src/programmers/internal/check_array_length.ts +5 -4
  886. package/src/programmers/internal/check_bigint.ts +5 -4
  887. package/src/programmers/internal/check_number.ts +5 -4
  888. package/src/programmers/internal/check_string.ts +5 -4
  889. package/src/tags/Format.ts +38 -4
  890. package/src/tags/Type.ts +5 -5
@@ -1,85 +1,48 @@
1
1
  "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
- var __read = (this && this.__read) || function (o, n) {
14
- var m = typeof Symbol === "function" && o[Symbol.iterator];
15
- if (!m) return o;
16
- var i = m.call(o), r, ar = [], e;
17
- try {
18
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
- }
20
- catch (error) { e = { error: error }; }
21
- finally {
22
- try {
23
- if (r && !r.done && (m = i["return"])) m.call(i);
24
- }
25
- finally { if (e) throw e.error; }
26
- }
27
- return ar;
28
- };
29
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
- if (ar || !(i in from)) {
32
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
- ar[i] = from[i];
34
- }
35
- }
36
- return to.concat(ar || Array.prototype.slice.call(from));
37
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
3
  exports.MetadataTypeTagFactory = void 0;
40
- var MetadataTypeTagSchemaFactory_1 = require("./MetadataTypeTagSchemaFactory");
4
+ const MetadataTypeTagSchemaFactory_1 = require("./MetadataTypeTagSchemaFactory");
41
5
  var MetadataTypeTagFactory;
42
6
  (function (MetadataTypeTagFactory) {
43
- MetadataTypeTagFactory.is = function (obj) {
7
+ MetadataTypeTagFactory.is = (obj) => {
44
8
  if (obj.properties.length !== 1)
45
9
  return false;
46
- var top = obj.properties[0];
10
+ const top = obj.properties[0];
47
11
  if (top.key.isSoleLiteral() === false)
48
12
  return false;
49
13
  else if (top.key.getSoleLiteral() !== "typia.tag")
50
14
  return false;
51
- var value = top.value;
15
+ const value = top.value;
52
16
  if (value.size() !== 1 ||
53
17
  value.objects.length !== 1 ||
54
18
  value.isRequired() === true ||
55
19
  value.nullable === true)
56
20
  return false;
57
- var tag = top.value.objects[0].type;
58
- var statics = tag.properties
59
- .map(function (p) { return p.key.getSoleLiteral(); })
60
- .filter(function (str) { return str !== null; });
61
- if (ESSENTIAL_FIELDS.some(function (f) { return !statics.includes(f); }))
21
+ const tag = top.value.objects[0].type;
22
+ const statics = tag.properties
23
+ .map((p) => p.key.getSoleLiteral())
24
+ .filter((str) => str !== null);
25
+ if (ESSENTIAL_FIELDS.some((f) => !statics.includes(f)))
62
26
  return false;
63
27
  return true;
64
28
  };
65
- MetadataTypeTagFactory.analyze = function (props) {
66
- var e_1, _a;
67
- var messages = [];
68
- var report = function (next) {
69
- messages.push("the property ".concat(next.property === null
70
- ? "[\"typia.tag\"]"
71
- : "[\"typia.tag.".concat(next.property, "\"]"), " ").concat(next.message, "."));
29
+ MetadataTypeTagFactory.analyze = (props) => {
30
+ const messages = [];
31
+ const report = (next) => {
32
+ messages.push(`the property ${next.property === null
33
+ ? `["typia.tag"]`
34
+ : `["typia.tag.${next.property}"]`} ${next.message}.`);
72
35
  return false;
73
36
  };
74
37
  //----
75
38
  // VALIDATION PROCESS
76
39
  //----
77
- var filtered = props.objects.filter(function (obj) {
40
+ const filtered = props.objects.filter((obj) => {
78
41
  // ONLY ONE PROPERTY
79
42
  if (obj.properties.length !== 1)
80
43
  return false;
81
44
  // THE TAG.TYPE PROPERTY MUST BE
82
- var top = obj.properties[0];
45
+ const top = obj.properties[0];
83
46
  if (top.key.getSoleLiteral() !== "typia.tag" ||
84
47
  top.value.size() !== 1 ||
85
48
  top.value.objects.length !== 1)
@@ -90,28 +53,28 @@ var MetadataTypeTagFactory;
90
53
  message: "must be optional object",
91
54
  });
92
55
  // CHECK LIST OF PROPERTIES
93
- var tag = top.value.objects[0].type;
94
- var statics = tag.properties
95
- .map(function (p) { return p.key.getSoleLiteral(); })
96
- .filter(function (str) { return str !== null; });
97
- if (ESSENTIAL_FIELDS.some(function (f) { return !statics.includes(f); }))
56
+ const tag = top.value.objects[0].type;
57
+ const statics = tag.properties
58
+ .map((p) => p.key.getSoleLiteral())
59
+ .filter((str) => str !== null);
60
+ if (ESSENTIAL_FIELDS.some((f) => !statics.includes(f)))
98
61
  return report({
99
62
  property: null,
100
- message: "must have at least three properties - ".concat(ESSENTIAL_FIELDS.map(function (str) { return "'".concat(str, "'"); }).join(", ")),
63
+ message: `must have at least three properties - ${ESSENTIAL_FIELDS.map((str) => `'${str}'`).join(", ")}`,
101
64
  });
102
- var each = tag.properties.map(function (p) {
103
- var key = p.key.getSoleLiteral();
65
+ const each = tag.properties.map((p) => {
66
+ const key = p.key.getSoleLiteral();
104
67
  if (key === null)
105
68
  return true;
106
69
  else if (FIELDS.includes(key) === false)
107
70
  return true;
108
71
  return validate_property({
109
- report: report,
110
- key: key,
72
+ report,
73
+ key,
111
74
  value: p.value,
112
75
  });
113
76
  });
114
- return each.every(function (v) { return v === true; });
77
+ return each.every((v) => v === true);
115
78
  });
116
79
  if (filtered.length === 0)
117
80
  return [];
@@ -119,117 +82,88 @@ var MetadataTypeTagFactory;
119
82
  // CONSTRUCT TYPE TAGS
120
83
  //----
121
84
  // CREATE 1ST
122
- var tagList = filtered.map(function (object) {
123
- return create_metadata_type_tag({
124
- report: report,
125
- object: object,
126
- });
127
- });
128
- var output = [];
129
- try {
130
- for (var tagList_1 = __values(tagList), tagList_1_1 = tagList_1.next(); !tagList_1_1.done; tagList_1_1 = tagList_1.next()) {
131
- var tag = tagList_1_1.value;
132
- if (tag !== null)
133
- output.push({
134
- target: tag.target.some(function (str) { return str === props.type; })
135
- ? props.type
136
- : null,
137
- name: tag.name,
138
- kind: tag.kind,
139
- value: tag.value,
140
- validate: tag.validate[props.type],
141
- exclusive: tag.exclusive,
142
- schema: tag.schema,
143
- });
144
- }
145
- }
146
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
147
- finally {
148
- try {
149
- if (tagList_1_1 && !tagList_1_1.done && (_a = tagList_1.return)) _a.call(tagList_1);
150
- }
151
- finally { if (e_1) throw e_1.error; }
152
- }
85
+ const tagList = filtered.map((object) => create_metadata_type_tag({
86
+ report,
87
+ object,
88
+ }));
89
+ const output = [];
90
+ for (const tag of tagList)
91
+ if (tag !== null)
92
+ output.push({
93
+ target: tag.target.some((str) => str === props.type)
94
+ ? props.type
95
+ : null,
96
+ name: tag.name,
97
+ kind: tag.kind,
98
+ value: tag.value,
99
+ validate: tag.validate[props.type],
100
+ exclusive: tag.exclusive,
101
+ schema: tag.schema,
102
+ });
153
103
  MetadataTypeTagFactory.validate({
154
- report: report,
104
+ report,
155
105
  type: props.type,
156
106
  tags: output,
157
107
  });
158
108
  if (messages.length > 0) {
159
109
  props.errors.push({
160
- name: __spreadArray([props.type], __read(props.objects.map(function (o) { return o.name; })), false).join(" & "),
110
+ name: [props.type, ...props.objects.map((o) => o.name)].join(" & "),
161
111
  explore: props.explore,
162
- messages: messages,
112
+ messages,
163
113
  });
164
114
  return [];
165
115
  }
166
116
  return output;
167
117
  };
168
- MetadataTypeTagFactory.validate = function (props) {
169
- var e_2, _a;
170
- var success = true;
171
- try {
172
- for (var _b = __values(props.tags), _c = _b.next(); !_c.done; _c = _b.next()) {
173
- var tag = _c.value;
174
- if (tag.target !== props.type) {
175
- success && (success = props.report({
176
- property: null,
177
- message: "target must constains ".concat(props.type, " type"),
178
- }));
179
- }
180
- }
181
- }
182
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
183
- finally {
184
- try {
185
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
118
+ MetadataTypeTagFactory.validate = (props) => {
119
+ let success = true;
120
+ for (const tag of props.tags)
121
+ if (tag.target !== props.type) {
122
+ success && (success = props.report({
123
+ property: null,
124
+ message: `target must constains ${props.type} type`,
125
+ }));
186
126
  }
187
- finally { if (e_2) throw e_2.error; }
188
- }
189
- props.tags.forEach(function (tag, i) {
127
+ props.tags.forEach((tag, i) => {
190
128
  if (tag.exclusive === false)
191
129
  return;
192
130
  else if (tag.exclusive === true) {
193
- var some = props.tags.some(function (opposite, j) { return i !== j && opposite.kind === tag.kind; });
131
+ const some = props.tags.some((opposite, j) => i !== j && opposite.kind === tag.kind);
194
132
  if (some === true)
195
133
  success && (success = props.report({
196
134
  property: null,
197
- message: "kind '".concat(tag.kind, "' can't be duplicated"),
135
+ message: `kind '${tag.kind}' can't be duplicated`,
198
136
  }));
199
137
  }
200
138
  else if (Array.isArray(tag.exclusive)) {
201
- var some = props.tags.find(function (opposite, j) {
202
- return i !== j &&
203
- opposite.kind === tag.kind &&
204
- tag.exclusive.includes(opposite.name);
205
- });
139
+ const some = props.tags.find((opposite, j) => i !== j &&
140
+ opposite.kind === tag.kind &&
141
+ tag.exclusive.includes(opposite.name));
206
142
  if (some !== undefined)
207
143
  success !== null && success !== void 0 ? success : (success = props.report({
208
144
  property: null,
209
- message: "kind '".concat(tag.kind, "' can't be used with '").concat(some.name, "'"),
145
+ message: `kind '${tag.kind}' can't be used with '${some.name}'`,
210
146
  }));
211
147
  }
212
148
  });
213
149
  return success;
214
150
  };
215
- var validate_property = function (props) {
151
+ const validate_property = (props) => {
216
152
  var _a;
217
153
  if (
218
154
  // TARGET
219
155
  props.key === "target" &&
220
156
  (props.value.constants.length !== 1 ||
221
157
  props.value.constants[0].values.length !== props.value.size() ||
222
- props.value.constants[0].values.some(function (v) {
223
- return v.value !== "boolean" &&
224
- v.value !== "bigint" &&
225
- v.value !== "number" &&
226
- v.value !== "string" &&
227
- v.value !== "array" &&
228
- v.value !== "object";
229
- })))
158
+ props.value.constants[0].values.some((v) => v.value !== "boolean" &&
159
+ v.value !== "bigint" &&
160
+ v.value !== "number" &&
161
+ v.value !== "string" &&
162
+ v.value !== "array" &&
163
+ v.value !== "object")))
230
164
  return props.report({
231
165
  property: props.key,
232
- message: "must be one of 'boolean', 'bigint', 'number', 'string', 'array', 'object'",
166
+ message: `must be one of 'boolean', 'bigint', 'number', 'string', 'array', 'object'`,
233
167
  });
234
168
  else if (
235
169
  // KIND
@@ -271,66 +205,64 @@ var MetadataTypeTagFactory;
271
205
  (props.value.constants[0].values.length === 1) === true)
272
206
  return true;
273
207
  // RECORD<TARGET, STRING>
274
- var target_1 = (_a = props.value.objects[0]) === null || _a === void 0 ? void 0 : _a.type.properties.map(function (p) { return p.key.getSoleLiteral(); }).filter(function (str) { return str !== null; });
275
- if (target_1 === undefined)
208
+ const target = (_a = props.value.objects[0]) === null || _a === void 0 ? void 0 : _a.type.properties.map((p) => p.key.getSoleLiteral()).filter((str) => str !== null);
209
+ if (target === undefined)
276
210
  return props.report({
277
211
  property: "target",
278
- message: "must be one of 'boolean', 'bigint', 'number', 'string', 'array', 'object",
212
+ message: `must be one of 'boolean', 'bigint', 'number', 'string', 'array', 'object`,
279
213
  });
280
- var variadic = props.value.size() === 1 &&
214
+ const variadic = props.value.size() === 1 &&
281
215
  props.value.objects.length === 1 &&
282
- props.value.objects[0].type.properties.every(function (vp) {
283
- return vp.value.size() === 1 &&
284
- vp.value.isRequired() &&
285
- vp.value.nullable === false &&
286
- vp.value.constants.length === 1 &&
287
- vp.value.constants[0].type === "string" &&
288
- vp.value.constants[0].values.length === 1 &&
289
- target_1.includes(vp.key.getSoleLiteral());
290
- });
216
+ props.value.objects[0].type.properties.every((vp) => vp.value.size() === 1 &&
217
+ vp.value.isRequired() &&
218
+ vp.value.nullable === false &&
219
+ vp.value.constants.length === 1 &&
220
+ vp.value.constants[0].type === "string" &&
221
+ vp.value.constants[0].values.length === 1 &&
222
+ target.includes(vp.key.getSoleLiteral()));
291
223
  if (variadic === false)
292
224
  return props.report({
293
225
  property: props.key,
294
- message: "must be a string literal type or Record<Target, string> type.",
226
+ message: `must be a string literal type or Record<Target, string> type.`,
295
227
  });
296
228
  }
297
229
  return true;
298
230
  };
299
- var create_metadata_type_tag = function (props) {
231
+ const create_metadata_type_tag = (props) => {
300
232
  var _a, _b, _c;
301
- var find = function (key) {
233
+ const find = (key) => {
302
234
  var _a, _b;
303
- return (_b = (_a = props.object.properties[0]) === null || _a === void 0 ? void 0 : _a.value.objects[0]) === null || _b === void 0 ? void 0 : _b.type.properties.find(function (p) { return p.key.getSoleLiteral() === key; });
235
+ return (_b = (_a = props.object.properties[0]) === null || _a === void 0 ? void 0 : _a.value.objects[0]) === null || _b === void 0 ? void 0 : _b.type.properties.find((p) => p.key.getSoleLiteral() === key);
304
236
  };
305
- var target = find("target").value.constants[0].values.map(function (v) { return v.value; });
306
- var kind = find("kind").value.constants[0].values[0]
237
+ const target = find("target").value.constants[0].values.map((v) => v.value);
238
+ const kind = find("kind").value.constants[0].values[0]
307
239
  .value;
308
- var value = (_b = (_a = find("value")) === null || _a === void 0 ? void 0 : _a.value.constants[0]) === null || _b === void 0 ? void 0 : _b.values[0].value;
309
- var exclusive = get_exclusive({
240
+ const value = (_b = (_a = find("value")) === null || _a === void 0 ? void 0 : _a.value.constants[0]) === null || _b === void 0 ? void 0 : _b.values[0].value;
241
+ const exclusive = get_exclusive({
310
242
  report: props.report,
311
243
  key: "exclusive",
312
244
  value: (_c = find("exclusive")) === null || _c === void 0 ? void 0 : _c.value,
313
245
  });
314
246
  if (exclusive === null)
315
247
  return null;
316
- var validate = (function () {
248
+ const validate = (() => {
317
249
  var _a;
318
- var validate = (_a = find("validate")) === null || _a === void 0 ? void 0 : _a.value;
250
+ const validate = (_a = find("validate")) === null || _a === void 0 ? void 0 : _a.value;
319
251
  if (!validate || validate.size() === 0)
320
252
  return {};
321
253
  else if (validate.constants.length)
322
- return Object.fromEntries(target.map(function (t) { return [
254
+ return Object.fromEntries(target.map((t) => [
323
255
  t,
324
256
  validate.constants[0].values[0].value,
325
- ]; }));
326
- return Object.fromEntries(validate.objects[0].type.properties.map(function (p) { return [
257
+ ]));
258
+ return Object.fromEntries(validate.objects[0].type.properties.map((p) => [
327
259
  p.key.getSoleLiteral(),
328
260
  p.value.constants[0].values[0].value,
329
- ]; }));
261
+ ]));
330
262
  })();
331
- var schema = (function () {
263
+ const schema = (() => {
332
264
  var _a;
333
- var p = (_a = find("schema")) === null || _a === void 0 ? void 0 : _a.value;
265
+ const p = (_a = find("schema")) === null || _a === void 0 ? void 0 : _a.value;
334
266
  if (p === undefined)
335
267
  return undefined;
336
268
  else if (p.size() === 0 && p.isRequired() === false)
@@ -340,12 +272,10 @@ var MetadataTypeTagFactory;
340
272
  p.isRequired() === true &&
341
273
  p.any === false)
342
274
  return MetadataTypeTagSchemaFactory_1.MetadataTypeTagSchemaFactory.object({
343
- report: function (message) {
344
- return props.report({
345
- property: "schema",
346
- message: message,
347
- });
348
- },
275
+ report: (message) => props.report({
276
+ property: "schema",
277
+ message,
278
+ }),
349
279
  object: p.objects[0].type,
350
280
  });
351
281
  props.report({
@@ -356,15 +286,15 @@ var MetadataTypeTagFactory;
356
286
  })();
357
287
  return {
358
288
  name: props.object.name,
359
- target: target,
360
- kind: kind,
361
- value: value,
362
- validate: validate,
289
+ target,
290
+ kind,
291
+ value,
292
+ validate,
363
293
  exclusive: exclusive !== null && exclusive !== void 0 ? exclusive : false,
364
- schema: schema,
294
+ schema,
365
295
  };
366
296
  };
367
- var get_exclusive = function (props) {
297
+ const get_exclusive = (props) => {
368
298
  if (props.value === undefined)
369
299
  return false;
370
300
  else if (props.value.size() === 1 &&
@@ -374,13 +304,11 @@ var MetadataTypeTagFactory;
374
304
  return props.value.constants[0].values[0].value;
375
305
  else if (props.value.size() === 1 &&
376
306
  props.value.tuples.length === 1 &&
377
- props.value.tuples[0].type.elements.every(function (elem) {
378
- return elem.size() === 1 &&
379
- elem.constants.length === 1 &&
380
- elem.constants[0].type === "string" &&
381
- elem.constants[0].values.length === 1;
382
- }))
383
- return props.value.tuples[0].type.elements.map(function (elem) { return elem.constants[0].values[0].value; });
307
+ props.value.tuples[0].type.elements.every((elem) => elem.size() === 1 &&
308
+ elem.constants.length === 1 &&
309
+ elem.constants[0].type === "string" &&
310
+ elem.constants[0].values.length === 1))
311
+ return props.value.tuples[0].type.elements.map((elem) => elem.constants[0].values[0].value);
384
312
  props.report({
385
313
  property: props.key,
386
314
  message: "must a boolean literal type or a tuple of string literal types.",
@@ -388,6 +316,6 @@ var MetadataTypeTagFactory;
388
316
  return null;
389
317
  };
390
318
  })(MetadataTypeTagFactory || (exports.MetadataTypeTagFactory = MetadataTypeTagFactory = {}));
391
- var ESSENTIAL_FIELDS = ["target", "kind", "value"];
392
- var FIELDS = __spreadArray(__spreadArray([], __read(ESSENTIAL_FIELDS), false), ["validate", "exclusive"], false);
319
+ const ESSENTIAL_FIELDS = ["target", "kind", "value"];
320
+ const FIELDS = [...ESSENTIAL_FIELDS, "validate", "exclusive"];
393
321
  //# sourceMappingURL=MetadataTypeTagFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataTypeTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataTypeTagFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetadataTypeTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataTypeTagFactory.ts"],"names":[],"mappings":"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"}