typia 8.2.0 → 9.0.0-dev.20250405

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 (546) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +150 -150
  3. package/lib/executable/setup/PluginConfigurator.js +3 -3
  4. package/lib/executable/setup/PluginConfigurator.mjs +3 -3
  5. package/lib/executable/typia.js +15 -15
  6. package/lib/executable/typia.mjs +15 -15
  7. package/lib/internal/_randomInteger.d.mts +1 -1
  8. package/lib/internal/_randomInteger.d.ts +1 -1
  9. package/lib/internal/_randomInteger.js +14 -10
  10. package/lib/internal/_randomInteger.js.map +1 -1
  11. package/lib/internal/_randomInteger.mjs +17 -11
  12. package/lib/internal/_randomNumber.js +13 -9
  13. package/lib/internal/_randomNumber.js.map +1 -1
  14. package/lib/internal/_randomNumber.mjs +12 -6
  15. package/lib/json.d.mts +0 -44
  16. package/lib/json.d.ts +0 -44
  17. package/lib/json.js +0 -7
  18. package/lib/json.js.map +1 -1
  19. package/lib/json.mjs +1 -7
  20. package/lib/llm.d.mts +0 -37
  21. package/lib/llm.d.ts +0 -37
  22. package/lib/llm.js +0 -7
  23. package/lib/llm.js.map +1 -1
  24. package/lib/llm.mjs +1 -7
  25. package/lib/module.d.mts +0 -2
  26. package/lib/module.d.ts +0 -2
  27. package/lib/module.js +0 -2
  28. package/lib/module.js.map +1 -1
  29. package/lib/tags/ExclusiveMaximum.d.mts +2 -4
  30. package/lib/tags/ExclusiveMaximum.d.ts +2 -4
  31. package/lib/tags/ExclusiveMinimum.d.mts +2 -4
  32. package/lib/tags/ExclusiveMinimum.d.ts +2 -4
  33. package/package.json +3 -3
  34. package/src/AssertionGuard.ts +1 -1
  35. package/src/CamelCase.ts +75 -75
  36. package/src/IRandomGenerator.ts +49 -49
  37. package/src/IReadableURLSearchParams.ts +9 -9
  38. package/src/IValidation.ts +1 -1
  39. package/src/PascalCase.ts +71 -71
  40. package/src/Primitive.ts +92 -92
  41. package/src/Resolved.ts +74 -74
  42. package/src/SnakeCase.ts +126 -126
  43. package/src/TypeGuardError.ts +37 -37
  44. package/src/executable/TypiaGenerateWizard.ts +83 -83
  45. package/src/executable/TypiaPatchWizard.ts +45 -45
  46. package/src/executable/TypiaSetupWizard.ts +171 -171
  47. package/src/executable/setup/ArgumentParser.ts +42 -42
  48. package/src/executable/setup/CommandExecutor.ts +8 -8
  49. package/src/executable/setup/FileRetriever.ts +19 -19
  50. package/src/executable/setup/PackageManager.ts +87 -87
  51. package/src/executable/setup/PluginConfigurator.ts +69 -69
  52. package/src/executable/typia.ts +55 -55
  53. package/src/factories/CommentFactory.ts +79 -79
  54. package/src/factories/ExpressionFactory.ts +216 -216
  55. package/src/factories/IdentifierFactory.ts +89 -89
  56. package/src/factories/JsonMetadataFactory.ts +83 -83
  57. package/src/factories/LiteralFactory.ts +52 -52
  58. package/src/factories/MetadataCollection.ts +278 -278
  59. package/src/factories/MetadataCommentTagFactory.ts +650 -650
  60. package/src/factories/MetadataFactory.ts +404 -404
  61. package/src/factories/MetadataTypeTagFactory.ts +413 -413
  62. package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
  63. package/src/factories/NumericRangeFactory.ts +72 -72
  64. package/src/factories/ProtobufFactory.ts +875 -875
  65. package/src/factories/StatementFactory.ts +90 -90
  66. package/src/factories/TemplateFactory.ts +64 -64
  67. package/src/factories/TypeFactory.ts +140 -140
  68. package/src/factories/ValueFactory.ts +12 -12
  69. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +17 -17
  70. package/src/factories/internal/metadata/MetadataHelper.ts +21 -21
  71. package/src/factories/internal/metadata/emend_metadata_atomics.ts +45 -45
  72. package/src/factories/internal/metadata/emplace_metadata_alias.ts +33 -33
  73. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
  74. package/src/factories/internal/metadata/emplace_metadata_object.ts +212 -212
  75. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  76. package/src/factories/internal/metadata/explore_metadata.ts +31 -31
  77. package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
  78. package/src/factories/internal/metadata/iterate_metadata_alias.ts +33 -33
  79. package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
  80. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  81. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
  82. package/src/factories/internal/metadata/iterate_metadata_collection.ts +146 -146
  83. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
  84. package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
  85. package/src/factories/internal/metadata/iterate_metadata_escape.ts +49 -49
  86. package/src/factories/internal/metadata/iterate_metadata_function.ts +91 -91
  87. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +212 -212
  88. package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
  89. package/src/factories/internal/metadata/iterate_metadata_native.ts +255 -255
  90. package/src/factories/internal/metadata/iterate_metadata_object.ts +35 -35
  91. package/src/factories/internal/metadata/iterate_metadata_set.ts +57 -57
  92. package/src/factories/internal/metadata/iterate_metadata_sort.ts +87 -87
  93. package/src/factories/internal/metadata/iterate_metadata_template.ts +41 -41
  94. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
  95. package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
  96. package/src/functional.ts +750 -750
  97. package/src/http.ts +1047 -1047
  98. package/src/index.ts +4 -4
  99. package/src/internal/_IProtobufWriter.ts +18 -18
  100. package/src/internal/_ProtobufReader.ts +194 -194
  101. package/src/internal/_ProtobufSizer.ts +145 -145
  102. package/src/internal/_ProtobufWriter.ts +145 -145
  103. package/src/internal/_accessExpressionAsString.ts +46 -46
  104. package/src/internal/_assertGuard.ts +13 -13
  105. package/src/internal/_functionalTypeGuardErrorFactory.ts +4 -4
  106. package/src/internal/_httpFormDataReadArray.ts +4 -4
  107. package/src/internal/_httpFormDataReadBigint.ts +18 -18
  108. package/src/internal/_httpFormDataReadBlob.ts +10 -10
  109. package/src/internal/_httpFormDataReadBoolean.ts +16 -16
  110. package/src/internal/_httpFormDataReadFile.ts +10 -10
  111. package/src/internal/_httpFormDataReadNumber.ts +15 -15
  112. package/src/internal/_httpFormDataReadString.ts +10 -10
  113. package/src/internal/_httpHeaderReadBigint.ts +10 -10
  114. package/src/internal/_httpHeaderReadBoolean.ts +8 -8
  115. package/src/internal/_httpHeaderReadNumber.ts +7 -7
  116. package/src/internal/_httpParameterReadBigint.ts +10 -10
  117. package/src/internal/_httpParameterReadBoolean.ts +8 -8
  118. package/src/internal/_httpParameterReadNumber.ts +7 -7
  119. package/src/internal/_httpParameterReadString.ts +2 -2
  120. package/src/internal/_httpQueryParseURLSearchParams.ts +12 -12
  121. package/src/internal/_httpQueryReadArray.ts +4 -4
  122. package/src/internal/_httpQueryReadBigint.ts +12 -12
  123. package/src/internal/_httpQueryReadBoolean.ts +14 -14
  124. package/src/internal/_httpQueryReadNumber.ts +9 -9
  125. package/src/internal/_httpQueryReadString.ts +4 -4
  126. package/src/internal/_isBetween.ts +2 -2
  127. package/src/internal/_isBigintString.ts +8 -8
  128. package/src/internal/_isFormatByte.ts +7 -7
  129. package/src/internal/_isFormatDate.ts +3 -3
  130. package/src/internal/_isFormatDateTime.ts +4 -4
  131. package/src/internal/_isFormatDuration.ts +4 -4
  132. package/src/internal/_isFormatEmail.ts +4 -4
  133. package/src/internal/_isFormatHostname.ts +4 -4
  134. package/src/internal/_isFormatIdnEmail.ts +4 -4
  135. package/src/internal/_isFormatIdnHostname.ts +4 -4
  136. package/src/internal/_isFormatIpv4.ts +4 -4
  137. package/src/internal/_isFormatIpv6.ts +4 -4
  138. package/src/internal/_isFormatIri.ts +3 -3
  139. package/src/internal/_isFormatIriReference.ts +4 -4
  140. package/src/internal/_isFormatJsonPointer.ts +3 -3
  141. package/src/internal/_isFormatPassword.ts +1 -1
  142. package/src/internal/_isFormatRegex.ts +8 -8
  143. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -4
  144. package/src/internal/_isFormatTime.ts +4 -4
  145. package/src/internal/_isFormatUri.ts +6 -6
  146. package/src/internal/_isFormatUriReference.ts +5 -5
  147. package/src/internal/_isFormatUriTemplate.ts +4 -4
  148. package/src/internal/_isFormatUrl.ts +4 -4
  149. package/src/internal/_isFormatUuid.ts +3 -3
  150. package/src/internal/_isTypeFloat.ts +5 -5
  151. package/src/internal/_isTypeInt32.ts +5 -5
  152. package/src/internal/_isTypeInt64.ts +5 -5
  153. package/src/internal/_isTypeUint32.ts +5 -5
  154. package/src/internal/_isTypeUint64.ts +5 -5
  155. package/src/internal/_isUniqueItems.ts +159 -159
  156. package/src/internal/_jsonStringifyNumber.ts +12 -12
  157. package/src/internal/_jsonStringifyRest.ts +3 -3
  158. package/src/internal/_jsonStringifyString.ts +42 -42
  159. package/src/internal/_jsonStringifyTail.ts +2 -2
  160. package/src/internal/_llmApplicationFinalize.ts +20 -20
  161. package/src/internal/_miscCloneAny.ts +46 -46
  162. package/src/internal/_notationAny.ts +37 -37
  163. package/src/internal/_notationCamel.ts +13 -13
  164. package/src/internal/_notationPascal.ts +8 -8
  165. package/src/internal/_notationSnake.ts +43 -43
  166. package/src/internal/_randomArray.ts +21 -21
  167. package/src/internal/_randomBigint.ts +6 -6
  168. package/src/internal/_randomBoolean.ts +1 -1
  169. package/src/internal/_randomFormatByte.ts +3 -3
  170. package/src/internal/_randomFormatDate.ts +18 -18
  171. package/src/internal/_randomFormatDatetime.ts +16 -16
  172. package/src/internal/_randomFormatDuration.ts +27 -27
  173. package/src/internal/_randomFormatEmail.ts +11 -11
  174. package/src/internal/_randomFormatHostname.ts +6 -6
  175. package/src/internal/_randomFormatIdnEmail.ts +3 -3
  176. package/src/internal/_randomFormatIdnHostname.ts +3 -3
  177. package/src/internal/_randomFormatIpv4.ts +11 -11
  178. package/src/internal/_randomFormatIpv6.ts +11 -11
  179. package/src/internal/_randomFormatIri.ts +3 -3
  180. package/src/internal/_randomFormatIriReference.ts +3 -3
  181. package/src/internal/_randomFormatJsonPointer.ts +7 -7
  182. package/src/internal/_randomFormatPassword.ts +8 -8
  183. package/src/internal/_randomFormatRegex.ts +4 -4
  184. package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -8
  185. package/src/internal/_randomFormatTime.ts +14 -14
  186. package/src/internal/_randomFormatUri.ts +3 -3
  187. package/src/internal/_randomFormatUriReference.ts +3 -3
  188. package/src/internal/_randomFormatUriTemplate.ts +3 -3
  189. package/src/internal/_randomFormatUrl.ts +11 -11
  190. package/src/internal/_randomFormatUuid.ts +6 -6
  191. package/src/internal/_randomInteger.ts +53 -47
  192. package/src/internal/_randomNumber.ts +80 -74
  193. package/src/internal/_randomPattern.ts +10 -10
  194. package/src/internal/_randomPick.ts +9 -9
  195. package/src/internal/_randomString.ts +24 -24
  196. package/src/internal/_throwTypeGuardError.ts +5 -5
  197. package/src/internal/_validateReport.ts +13 -13
  198. package/src/internal/private/__notationCapitalize.ts +2 -2
  199. package/src/internal/private/__notationUnsnake.ts +24 -24
  200. package/src/json.ts +696 -752
  201. package/src/llm.ts +342 -396
  202. package/src/misc.ts +658 -658
  203. package/src/module.ts +935 -937
  204. package/src/notations.ts +827 -827
  205. package/src/programmers/AssertProgrammer.ts +454 -454
  206. package/src/programmers/CheckerProgrammer.ts +1617 -1617
  207. package/src/programmers/FeatureProgrammer.ts +622 -622
  208. package/src/programmers/ImportProgrammer.ts +185 -185
  209. package/src/programmers/IsProgrammer.ts +273 -273
  210. package/src/programmers/RandomProgrammer.ts +1190 -1190
  211. package/src/programmers/TypiaProgrammer.ts +175 -175
  212. package/src/programmers/ValidateProgrammer.ts +439 -439
  213. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +153 -153
  214. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +125 -125
  215. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +115 -115
  216. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
  217. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +113 -113
  218. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +116 -116
  219. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +119 -119
  220. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -274
  221. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -135
  222. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
  223. package/src/programmers/helpers/AtomicPredicator.ts +35 -35
  224. package/src/programmers/helpers/CloneJoiner.ts +143 -143
  225. package/src/programmers/helpers/FunctionProgrammer.ts +67 -67
  226. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  227. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  228. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  229. package/src/programmers/helpers/NotationJoiner.ts +144 -144
  230. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  231. package/src/programmers/helpers/ProtobufUtil.ts +228 -228
  232. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  233. package/src/programmers/helpers/PruneJoiner.ts +148 -148
  234. package/src/programmers/helpers/RandomJoiner.ts +168 -168
  235. package/src/programmers/helpers/StringifyJoinder.ts +115 -115
  236. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  237. package/src/programmers/helpers/UnionExplorer.ts +372 -372
  238. package/src/programmers/helpers/UnionPredicator.ts +79 -79
  239. package/src/programmers/helpers/disable_function_programmer_declare.ts +32 -32
  240. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -99
  241. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -99
  242. package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -105
  243. package/src/programmers/http/HttpFormDataProgrammer.ts +308 -308
  244. package/src/programmers/http/HttpHeadersProgrammer.ts +400 -400
  245. package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
  246. package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
  247. package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
  248. package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
  249. package/src/programmers/http/HttpQueryProgrammer.ts +336 -336
  250. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -92
  251. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -92
  252. package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -98
  253. package/src/programmers/internal/check_array_length.ts +47 -47
  254. package/src/programmers/internal/check_bigint.ts +50 -50
  255. package/src/programmers/internal/check_dynamic_key.ts +201 -201
  256. package/src/programmers/internal/check_dynamic_properties.ts +208 -208
  257. package/src/programmers/internal/check_everything.ts +23 -23
  258. package/src/programmers/internal/check_native.ts +27 -27
  259. package/src/programmers/internal/check_number.ts +112 -112
  260. package/src/programmers/internal/check_object.ts +75 -75
  261. package/src/programmers/internal/check_string.ts +50 -50
  262. package/src/programmers/internal/check_template.ts +48 -48
  263. package/src/programmers/internal/check_union_array_like.ts +335 -335
  264. package/src/programmers/internal/decode_union_object.ts +116 -116
  265. package/src/programmers/internal/feature_object_entries.ts +61 -61
  266. package/src/programmers/internal/json_schema_alias.ts +47 -47
  267. package/src/programmers/internal/json_schema_array.ts +45 -45
  268. package/src/programmers/internal/json_schema_bigint.ts +15 -15
  269. package/src/programmers/internal/json_schema_boolean.ts +15 -15
  270. package/src/programmers/internal/json_schema_constant.ts +26 -26
  271. package/src/programmers/internal/json_schema_description.ts +12 -12
  272. package/src/programmers/internal/json_schema_discriminator.ts +35 -35
  273. package/src/programmers/internal/json_schema_escaped.ts +82 -82
  274. package/src/programmers/internal/json_schema_native.ts +33 -33
  275. package/src/programmers/internal/json_schema_number.ts +15 -15
  276. package/src/programmers/internal/json_schema_object.ts +158 -158
  277. package/src/programmers/internal/json_schema_plugin.ts +18 -18
  278. package/src/programmers/internal/json_schema_station.ts +182 -182
  279. package/src/programmers/internal/json_schema_string.ts +15 -15
  280. package/src/programmers/internal/json_schema_template.ts +55 -55
  281. package/src/programmers/internal/json_schema_title.ts +20 -20
  282. package/src/programmers/internal/json_schema_tuple.ts +35 -35
  283. package/src/programmers/internal/metadata_to_pattern.ts +42 -42
  284. package/src/programmers/internal/postfix_of_tuple.ts +5 -5
  285. package/src/programmers/internal/prune_object_properties.ts +71 -71
  286. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -162
  287. package/src/programmers/internal/stringify_native.ts +7 -7
  288. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  289. package/src/programmers/internal/template_to_pattern.ts +23 -23
  290. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
  291. package/src/programmers/json/JsonApplicationProgrammer.ts +266 -266
  292. package/src/programmers/json/JsonAssertParseProgrammer.ts +113 -113
  293. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -115
  294. package/src/programmers/json/JsonIsParseProgrammer.ts +114 -114
  295. package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
  296. package/src/programmers/json/JsonSchemasProgrammer.ts +91 -91
  297. package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
  298. package/src/programmers/json/JsonValidateParseProgrammer.ts +105 -105
  299. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +124 -124
  300. package/src/programmers/llm/LlmApplicationProgrammer.ts +401 -401
  301. package/src/programmers/llm/LlmModelPredicator.ts +127 -127
  302. package/src/programmers/llm/LlmParametersProgrammer.ts +93 -93
  303. package/src/programmers/llm/LlmSchemaProgrammer.ts +192 -192
  304. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -95
  305. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -116
  306. package/src/programmers/misc/MiscCloneProgrammer.ts +1032 -1032
  307. package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
  308. package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
  309. package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
  310. package/src/programmers/misc/MiscPruneProgrammer.ts +728 -728
  311. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -111
  312. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -113
  313. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -101
  314. package/src/programmers/notations/NotationGeneralProgrammer.ts +984 -984
  315. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
  316. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -119
  317. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -98
  318. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -102
  319. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +654 -654
  320. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +945 -945
  321. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
  322. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
  323. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +179 -179
  324. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -92
  325. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -119
  326. package/src/protobuf.ts +868 -868
  327. package/src/reflect.ts +57 -57
  328. package/src/schemas/json/IJsonApplication.ts +73 -73
  329. package/src/schemas/json/IJsonSchemaCollection.ts +29 -29
  330. package/src/schemas/json/__IJsonApplication.ts +63 -63
  331. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  332. package/src/schemas/metadata/IMetadata.ts +35 -35
  333. package/src/schemas/metadata/IMetadataAlias.ts +6 -6
  334. package/src/schemas/metadata/IMetadataAliasType.ts +12 -12
  335. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  336. package/src/schemas/metadata/IMetadataArray.ts +6 -6
  337. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  338. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  339. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  340. package/src/schemas/metadata/IMetadataConstant.ts +18 -18
  341. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  342. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  343. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  344. package/src/schemas/metadata/IMetadataFunction.ts +8 -8
  345. package/src/schemas/metadata/IMetadataMap.ts +8 -8
  346. package/src/schemas/metadata/IMetadataNative.ts +6 -6
  347. package/src/schemas/metadata/IMetadataObject.ts +6 -6
  348. package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
  349. package/src/schemas/metadata/IMetadataParameter.ts +9 -9
  350. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  351. package/src/schemas/metadata/IMetadataSet.ts +7 -7
  352. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  353. package/src/schemas/metadata/IMetadataTuple.ts +6 -6
  354. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  355. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  356. package/src/schemas/metadata/Metadata.ts +687 -687
  357. package/src/schemas/metadata/MetadataAlias.ts +46 -46
  358. package/src/schemas/metadata/MetadataAliasType.ts +63 -63
  359. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  360. package/src/schemas/metadata/MetadataArray.ts +49 -49
  361. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  362. package/src/schemas/metadata/MetadataAtomic.ts +87 -87
  363. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  364. package/src/schemas/metadata/MetadataConstant.ts +34 -34
  365. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  366. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  367. package/src/schemas/metadata/MetadataFunction.ts +49 -49
  368. package/src/schemas/metadata/MetadataMap.ts +48 -48
  369. package/src/schemas/metadata/MetadataNative.ts +44 -44
  370. package/src/schemas/metadata/MetadataObject.ts +48 -48
  371. package/src/schemas/metadata/MetadataObjectType.ts +149 -149
  372. package/src/schemas/metadata/MetadataParameter.ts +54 -54
  373. package/src/schemas/metadata/MetadataProperty.ts +59 -59
  374. package/src/schemas/metadata/MetadataSet.ts +45 -45
  375. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  376. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  377. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  378. package/src/schemas/protobuf/IProtobufProperty.ts +6 -6
  379. package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -37
  380. package/src/schemas/protobuf/IProtobufSchema.ts +50 -50
  381. package/src/tags/Constant.ts +15 -15
  382. package/src/tags/ContentMediaType.ts +10 -10
  383. package/src/tags/Default.ts +22 -22
  384. package/src/tags/Example.ts +24 -24
  385. package/src/tags/Examples.ts +16 -16
  386. package/src/tags/ExclusiveMaximum.ts +23 -25
  387. package/src/tags/ExclusiveMinimum.ts +23 -25
  388. package/src/tags/Format.ts +50 -50
  389. package/src/tags/JsonSchemaPlugin.ts +8 -8
  390. package/src/tags/MaxItems.ts +12 -12
  391. package/src/tags/MaxLength.ts +12 -12
  392. package/src/tags/Maximum.ts +19 -19
  393. package/src/tags/MinItems.ts +12 -12
  394. package/src/tags/MinLength.ts +12 -12
  395. package/src/tags/Minimum.ts +19 -19
  396. package/src/tags/MultipleOf.ts +21 -21
  397. package/src/tags/Pattern.ts +31 -31
  398. package/src/tags/Sequence.ts +10 -10
  399. package/src/tags/TagBase.ts +82 -82
  400. package/src/tags/Type.ts +32 -32
  401. package/src/tags/UniqueItems.ts +14 -14
  402. package/src/tags/index.ts +21 -21
  403. package/src/tags/internal/FormatCheatSheet.ts +73 -73
  404. package/src/transform.ts +35 -35
  405. package/src/transformers/CallExpressionTransformer.ts +546 -546
  406. package/src/transformers/FileTransformer.ts +136 -136
  407. package/src/transformers/IProgrammerProps.ts +11 -11
  408. package/src/transformers/ITransformOptions.ts +62 -62
  409. package/src/transformers/ITransformProps.ts +9 -9
  410. package/src/transformers/ITypiaContext.ts +18 -18
  411. package/src/transformers/ImportTransformer.ts +81 -81
  412. package/src/transformers/NodeTransformer.ts +17 -17
  413. package/src/transformers/TransformerError.ts +60 -60
  414. package/src/transformers/features/AssertTransformer.ts +24 -24
  415. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  416. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  417. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  418. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  419. package/src/transformers/features/IsTransformer.ts +18 -18
  420. package/src/transformers/features/RandomTransformer.ts +41 -41
  421. package/src/transformers/features/ValidateTransformer.ts +18 -18
  422. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  423. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  424. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  425. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  426. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  427. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  428. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  429. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  430. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  431. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  432. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  433. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  434. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  435. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  436. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  437. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  438. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  439. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  440. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  441. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  442. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  443. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  444. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  445. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  446. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  447. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  448. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  449. package/src/transformers/features/json/JsonApplicationTransformer.ts +105 -105
  450. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  451. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  452. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  453. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  454. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  455. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  456. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  457. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  458. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  459. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  460. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  461. package/src/transformers/features/json/JsonSchemasTransformer.ts +145 -145
  462. package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
  463. package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
  464. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
  465. package/src/transformers/features/llm/LlmApplicationTransformer.ts +128 -128
  466. package/src/transformers/features/llm/LlmParametersTransformer.ts +102 -102
  467. package/src/transformers/features/llm/LlmSchemaTransformer.ts +170 -170
  468. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  469. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  470. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  471. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  472. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  473. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  474. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  475. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  476. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  477. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  478. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  479. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  480. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  481. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
  482. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  483. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  484. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  485. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  486. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  487. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  488. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  489. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  490. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  491. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  492. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  493. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  494. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  495. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  496. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  497. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  498. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  499. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  500. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  501. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  502. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  503. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  504. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  505. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  506. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  507. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
  508. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  509. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  510. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
  511. package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
  512. package/src/transformers/internal/GenericTransformer.ts +101 -101
  513. package/src/typings/Atomic.ts +13 -13
  514. package/src/typings/ClassProperties.ts +5 -5
  515. package/src/typings/Customizable.ts +5 -5
  516. package/src/typings/Equal.ts +18 -18
  517. package/src/typings/IsTuple.ts +9 -9
  518. package/src/typings/NativeClass.ts +23 -23
  519. package/src/typings/OmitNever.ts +3 -3
  520. package/src/typings/ProtobufAtomic.ts +19 -19
  521. package/src/typings/SpecialFields.ts +3 -3
  522. package/src/typings/ValidationPipe.ts +9 -9
  523. package/src/typings/ValueOf.ts +20 -20
  524. package/src/typings/Writable.ts +11 -11
  525. package/src/utils/ArrayUtil.ts +41 -41
  526. package/src/utils/Escaper.ts +50 -50
  527. package/src/utils/MapUtil.ts +14 -14
  528. package/src/utils/NamingConvention.ts +94 -94
  529. package/src/utils/PatternUtil.ts +29 -29
  530. package/src/utils/ProtobufNameEncoder.ts +32 -32
  531. package/src/utils/Singleton.ts +16 -16
  532. package/src/utils/StringUtil.ts +16 -16
  533. package/lib/schemas/llm/ILlmApplicationOfValidate.d.mts +0 -5
  534. package/lib/schemas/llm/ILlmApplicationOfValidate.d.ts +0 -5
  535. package/lib/schemas/llm/ILlmApplicationOfValidate.js +0 -3
  536. package/lib/schemas/llm/ILlmApplicationOfValidate.js.map +0 -1
  537. package/lib/schemas/llm/ILlmApplicationOfValidate.mjs +0 -2
  538. package/lib/schemas/llm/ILlmApplicationOfValidate.mjs.map +0 -1
  539. package/lib/schemas/llm/ILlmFunctionOfValidate.d.mts +0 -5
  540. package/lib/schemas/llm/ILlmFunctionOfValidate.d.ts +0 -5
  541. package/lib/schemas/llm/ILlmFunctionOfValidate.js +0 -3
  542. package/lib/schemas/llm/ILlmFunctionOfValidate.js.map +0 -1
  543. package/lib/schemas/llm/ILlmFunctionOfValidate.mjs +0 -2
  544. package/lib/schemas/llm/ILlmFunctionOfValidate.mjs.map +0 -1
  545. package/src/schemas/llm/ILlmApplicationOfValidate.ts +0 -6
  546. package/src/schemas/llm/ILlmFunctionOfValidate.ts +0 -6
package/src/SnakeCase.ts CHANGED
@@ -1,126 +1,126 @@
1
- import { Equal } from "./typings/Equal";
2
- import { NativeClass } from "./typings/NativeClass";
3
- import { ValueOf } from "./typings/ValueOf";
4
-
5
- /**
6
- * Snake case type.
7
- *
8
- * `SnakeCase` type is a type that all keys of an object are converted to snake case.
9
- *
10
- * It also erase every method properties like {@link Resolved} type.
11
- *
12
- * @template T Target type to be snake cased
13
- * @author Jeongho Nam - https://github.com/samchon
14
- */
15
- export type SnakeCase<T> =
16
- Equal<T, SnakageMain<T>> extends true ? T : SnakageMain<T>;
17
-
18
- /* -----------------------------------------------------------
19
- OBJECT CONVERSION
20
- ----------------------------------------------------------- */
21
-
22
- type SnakageMain<T> = T extends [never]
23
- ? never // special trick for (jsonable | null) type
24
- : T extends { valueOf(): boolean | bigint | number | string }
25
- ? ValueOf<T>
26
- : T extends Function
27
- ? never
28
- : T extends object
29
- ? SnakageObject<T>
30
- : T;
31
-
32
- type SnakageObject<T extends object> =
33
- T extends Array<infer U>
34
- ? IsTuple<T> extends true
35
- ? SnakageTuple<T>
36
- : SnakageMain<U>[]
37
- : T extends Set<infer U>
38
- ? Set<SnakageMain<U>>
39
- : T extends Map<infer K, infer V>
40
- ? Map<SnakageMain<K>, SnakageMain<V>>
41
- : T extends WeakSet<any> | WeakMap<any, any>
42
- ? never
43
- : T extends NativeClass
44
- ? T
45
- : {
46
- [Key in keyof T as SnakageString<Key & string>]: SnakageMain<
47
- T[Key]
48
- >;
49
- };
50
-
51
- /* -----------------------------------------------------------
52
- SPECIAL CASES
53
- ----------------------------------------------------------- */
54
- type IsTuple<T extends readonly any[] | { length: number }> = [T] extends [
55
- never,
56
- ]
57
- ? false
58
- : T extends readonly any[]
59
- ? number extends T["length"]
60
- ? false
61
- : true
62
- : false;
63
- type SnakageTuple<T extends readonly any[]> = T extends []
64
- ? []
65
- : T extends [infer F]
66
- ? [SnakageMain<F>]
67
- : T extends [infer F, ...infer Rest extends readonly any[]]
68
- ? [SnakageMain<F>, ...SnakageTuple<Rest>]
69
- : T extends [(infer F)?]
70
- ? [SnakageMain<F>?]
71
- : T extends [(infer F)?, ...infer Rest extends readonly any[]]
72
- ? [SnakageMain<F>?, ...SnakageTuple<Rest>]
73
- : [];
74
-
75
- /* -----------------------------------------------------------
76
- STRING CONVERTER
77
- ----------------------------------------------------------- */
78
- type SnakageString<Key extends string> = Key extends `${infer _}`
79
- ? SnakageStringRepeatedly<Key, "">
80
- : Key;
81
- type SnakageStringRepeatedly<
82
- S extends string,
83
- Previous extends string,
84
- > = S extends `${infer First}${infer Second}${infer Rest}`
85
- ? `${Underscore<Previous, First>}${Lowercase<First>}${Underscore<
86
- First,
87
- Second
88
- >}${Lowercase<Second>}${SnakageStringRepeatedly<Rest, Second>}`
89
- : S extends `${infer First}`
90
- ? `${Underscore<Previous, First>}${Lowercase<First>}`
91
- : "";
92
- type Underscore<First extends string, Second extends string> = First extends
93
- | UpperAlphabetic
94
- | ""
95
- | "_"
96
- ? ""
97
- : Second extends UpperAlphabetic
98
- ? "_"
99
- : "";
100
- type UpperAlphabetic =
101
- | "A"
102
- | "B"
103
- | "C"
104
- | "D"
105
- | "E"
106
- | "F"
107
- | "G"
108
- | "H"
109
- | "I"
110
- | "J"
111
- | "K"
112
- | "L"
113
- | "M"
114
- | "N"
115
- | "O"
116
- | "P"
117
- | "Q"
118
- | "R"
119
- | "S"
120
- | "T"
121
- | "U"
122
- | "V"
123
- | "W"
124
- | "X"
125
- | "Y"
126
- | "Z";
1
+ import { Equal } from "./typings/Equal";
2
+ import { NativeClass } from "./typings/NativeClass";
3
+ import { ValueOf } from "./typings/ValueOf";
4
+
5
+ /**
6
+ * Snake case type.
7
+ *
8
+ * `SnakeCase` type is a type that all keys of an object are converted to snake case.
9
+ *
10
+ * It also erase every method properties like {@link Resolved} type.
11
+ *
12
+ * @template T Target type to be snake cased
13
+ * @author Jeongho Nam - https://github.com/samchon
14
+ */
15
+ export type SnakeCase<T> =
16
+ Equal<T, SnakageMain<T>> extends true ? T : SnakageMain<T>;
17
+
18
+ /* -----------------------------------------------------------
19
+ OBJECT CONVERSION
20
+ ----------------------------------------------------------- */
21
+
22
+ type SnakageMain<T> = T extends [never]
23
+ ? never // special trick for (jsonable | null) type
24
+ : T extends { valueOf(): boolean | bigint | number | string }
25
+ ? ValueOf<T>
26
+ : T extends Function
27
+ ? never
28
+ : T extends object
29
+ ? SnakageObject<T>
30
+ : T;
31
+
32
+ type SnakageObject<T extends object> =
33
+ T extends Array<infer U>
34
+ ? IsTuple<T> extends true
35
+ ? SnakageTuple<T>
36
+ : SnakageMain<U>[]
37
+ : T extends Set<infer U>
38
+ ? Set<SnakageMain<U>>
39
+ : T extends Map<infer K, infer V>
40
+ ? Map<SnakageMain<K>, SnakageMain<V>>
41
+ : T extends WeakSet<any> | WeakMap<any, any>
42
+ ? never
43
+ : T extends NativeClass
44
+ ? T
45
+ : {
46
+ [Key in keyof T as SnakageString<Key & string>]: SnakageMain<
47
+ T[Key]
48
+ >;
49
+ };
50
+
51
+ /* -----------------------------------------------------------
52
+ SPECIAL CASES
53
+ ----------------------------------------------------------- */
54
+ type IsTuple<T extends readonly any[] | { length: number }> = [T] extends [
55
+ never,
56
+ ]
57
+ ? false
58
+ : T extends readonly any[]
59
+ ? number extends T["length"]
60
+ ? false
61
+ : true
62
+ : false;
63
+ type SnakageTuple<T extends readonly any[]> = T extends []
64
+ ? []
65
+ : T extends [infer F]
66
+ ? [SnakageMain<F>]
67
+ : T extends [infer F, ...infer Rest extends readonly any[]]
68
+ ? [SnakageMain<F>, ...SnakageTuple<Rest>]
69
+ : T extends [(infer F)?]
70
+ ? [SnakageMain<F>?]
71
+ : T extends [(infer F)?, ...infer Rest extends readonly any[]]
72
+ ? [SnakageMain<F>?, ...SnakageTuple<Rest>]
73
+ : [];
74
+
75
+ /* -----------------------------------------------------------
76
+ STRING CONVERTER
77
+ ----------------------------------------------------------- */
78
+ type SnakageString<Key extends string> = Key extends `${infer _}`
79
+ ? SnakageStringRepeatedly<Key, "">
80
+ : Key;
81
+ type SnakageStringRepeatedly<
82
+ S extends string,
83
+ Previous extends string,
84
+ > = S extends `${infer First}${infer Second}${infer Rest}`
85
+ ? `${Underscore<Previous, First>}${Lowercase<First>}${Underscore<
86
+ First,
87
+ Second
88
+ >}${Lowercase<Second>}${SnakageStringRepeatedly<Rest, Second>}`
89
+ : S extends `${infer First}`
90
+ ? `${Underscore<Previous, First>}${Lowercase<First>}`
91
+ : "";
92
+ type Underscore<First extends string, Second extends string> = First extends
93
+ | UpperAlphabetic
94
+ | ""
95
+ | "_"
96
+ ? ""
97
+ : Second extends UpperAlphabetic
98
+ ? "_"
99
+ : "";
100
+ type UpperAlphabetic =
101
+ | "A"
102
+ | "B"
103
+ | "C"
104
+ | "D"
105
+ | "E"
106
+ | "F"
107
+ | "G"
108
+ | "H"
109
+ | "I"
110
+ | "J"
111
+ | "K"
112
+ | "L"
113
+ | "M"
114
+ | "N"
115
+ | "O"
116
+ | "P"
117
+ | "Q"
118
+ | "R"
119
+ | "S"
120
+ | "T"
121
+ | "U"
122
+ | "V"
123
+ | "W"
124
+ | "X"
125
+ | "Y"
126
+ | "Z";
@@ -1,37 +1,37 @@
1
- export class TypeGuardError<T = any> extends Error {
2
- public readonly method: string;
3
- public readonly path: string | undefined;
4
- public readonly expected: string;
5
- public readonly value: any;
6
- protected readonly fake_expected_typed_value_?: T | undefined;
7
-
8
- public constructor(props: TypeGuardError.IProps) {
9
- // MESSAGE CONSTRUCTION
10
- super(
11
- props.message ||
12
- `Error on ${props.method}(): invalid type${
13
- props.path ? ` on ${props.path}` : ""
14
- }, expect to be ${props.expected}`,
15
- );
16
-
17
- // INHERITANCE POLYFILL
18
- const proto = new.target.prototype;
19
- if (Object.setPrototypeOf) Object.setPrototypeOf(this, proto);
20
- else (this as any).__proto__ = proto;
21
-
22
- // ASSIGN MEMBERS
23
- this.method = props.method;
24
- this.path = props.path;
25
- this.expected = props.expected;
26
- this.value = props.value;
27
- }
28
- }
29
- export namespace TypeGuardError {
30
- export interface IProps {
31
- method: string;
32
- path?: undefined | string;
33
- expected: string;
34
- value: any;
35
- message?: undefined | string;
36
- }
37
- }
1
+ export class TypeGuardError<T = any> extends Error {
2
+ public readonly method: string;
3
+ public readonly path: string | undefined;
4
+ public readonly expected: string;
5
+ public readonly value: any;
6
+ protected readonly fake_expected_typed_value_?: T | undefined;
7
+
8
+ public constructor(props: TypeGuardError.IProps) {
9
+ // MESSAGE CONSTRUCTION
10
+ super(
11
+ props.message ||
12
+ `Error on ${props.method}(): invalid type${
13
+ props.path ? ` on ${props.path}` : ""
14
+ }, expect to be ${props.expected}`,
15
+ );
16
+
17
+ // INHERITANCE POLYFILL
18
+ const proto = new.target.prototype;
19
+ if (Object.setPrototypeOf) Object.setPrototypeOf(this, proto);
20
+ else (this as any).__proto__ = proto;
21
+
22
+ // ASSIGN MEMBERS
23
+ this.method = props.method;
24
+ this.path = props.path;
25
+ this.expected = props.expected;
26
+ this.value = props.value;
27
+ }
28
+ }
29
+ export namespace TypeGuardError {
30
+ export interface IProps {
31
+ method: string;
32
+ path?: undefined | string;
33
+ expected: string;
34
+ value: any;
35
+ message?: undefined | string;
36
+ }
37
+ }
@@ -1,83 +1,83 @@
1
- import fs from "fs";
2
-
3
- import { TypiaProgrammer } from "../programmers/TypiaProgrammer";
4
-
5
- import { ArgumentParser } from "./setup/ArgumentParser";
6
- import { PackageManager } from "./setup/PackageManager";
7
-
8
- export namespace TypiaGenerateWizard {
9
- export async function generate(): Promise<void> {
10
- console.log("----------------------------------------");
11
- console.log(" Typia Generate Wizard");
12
- console.log("----------------------------------------");
13
-
14
- // LOAD PACKAGE.JSON INFO
15
- const pack: PackageManager = await PackageManager.mount();
16
- const options: IArguments = await ArgumentParser.parse(pack, inquiry);
17
- await TypiaProgrammer.build(options);
18
- }
19
-
20
- const inquiry: ArgumentParser.Inquiry<IArguments> = async (
21
- _pack,
22
- command,
23
- prompt,
24
- action,
25
- ) => {
26
- // PREPARE ASSETS
27
- command.option("--input [path]", "input directory");
28
- command.option("--output [directory]", "output directory");
29
- command.option("--project [project]", "tsconfig.json file location");
30
-
31
- const questioned = { value: false };
32
-
33
- const input = (name: string) => async (message: string) => {
34
- const result = await prompt()({
35
- type: "input",
36
- name,
37
- message,
38
- default: "",
39
- });
40
- return result[name] as string;
41
- };
42
- const select =
43
- (name: string) =>
44
- (message: string) =>
45
- async <Choice extends string>(choices: Choice[]): Promise<Choice> => {
46
- questioned.value = true;
47
- return (
48
- await prompt()({
49
- type: "list",
50
- name: name,
51
- message: message,
52
- choices: choices,
53
- })
54
- )[name];
55
- };
56
- const configure = async (): Promise<string> => {
57
- const files: string[] = await (
58
- await fs.promises.readdir(process.cwd())
59
- ).filter(
60
- (str) =>
61
- str.substring(0, 8) === "tsconfig" &&
62
- str.substring(str.length - 5) === ".json",
63
- );
64
- if (files.length === 0)
65
- throw new URIError(`Unable to find "tsconfig.json" file.`);
66
- else if (files.length === 1) return files[0]!;
67
- return select("tsconfig")("TS Config File")(files);
68
- };
69
-
70
- return action(async (options) => {
71
- options.input ??= await input("input")("input directory");
72
- options.output ??= await input("output")("output directory");
73
- options.project ??= await configure();
74
- return options as IArguments;
75
- });
76
- };
77
-
78
- export interface IArguments {
79
- input: string;
80
- output: string;
81
- project: string;
82
- }
83
- }
1
+ import fs from "fs";
2
+
3
+ import { TypiaProgrammer } from "../programmers/TypiaProgrammer";
4
+
5
+ import { ArgumentParser } from "./setup/ArgumentParser";
6
+ import { PackageManager } from "./setup/PackageManager";
7
+
8
+ export namespace TypiaGenerateWizard {
9
+ export async function generate(): Promise<void> {
10
+ console.log("----------------------------------------");
11
+ console.log(" Typia Generate Wizard");
12
+ console.log("----------------------------------------");
13
+
14
+ // LOAD PACKAGE.JSON INFO
15
+ const pack: PackageManager = await PackageManager.mount();
16
+ const options: IArguments = await ArgumentParser.parse(pack, inquiry);
17
+ await TypiaProgrammer.build(options);
18
+ }
19
+
20
+ const inquiry: ArgumentParser.Inquiry<IArguments> = async (
21
+ _pack,
22
+ command,
23
+ prompt,
24
+ action,
25
+ ) => {
26
+ // PREPARE ASSETS
27
+ command.option("--input [path]", "input directory");
28
+ command.option("--output [directory]", "output directory");
29
+ command.option("--project [project]", "tsconfig.json file location");
30
+
31
+ const questioned = { value: false };
32
+
33
+ const input = (name: string) => async (message: string) => {
34
+ const result = await prompt()({
35
+ type: "input",
36
+ name,
37
+ message,
38
+ default: "",
39
+ });
40
+ return result[name] as string;
41
+ };
42
+ const select =
43
+ (name: string) =>
44
+ (message: string) =>
45
+ async <Choice extends string>(choices: Choice[]): Promise<Choice> => {
46
+ questioned.value = true;
47
+ return (
48
+ await prompt()({
49
+ type: "list",
50
+ name: name,
51
+ message: message,
52
+ choices: choices,
53
+ })
54
+ )[name];
55
+ };
56
+ const configure = async (): Promise<string> => {
57
+ const files: string[] = await (
58
+ await fs.promises.readdir(process.cwd())
59
+ ).filter(
60
+ (str) =>
61
+ str.substring(0, 8) === "tsconfig" &&
62
+ str.substring(str.length - 5) === ".json",
63
+ );
64
+ if (files.length === 0)
65
+ throw new URIError(`Unable to find "tsconfig.json" file.`);
66
+ else if (files.length === 1) return files[0]!;
67
+ return select("tsconfig")("TS Config File")(files);
68
+ };
69
+
70
+ return action(async (options) => {
71
+ options.input ??= await input("input")("input directory");
72
+ options.output ??= await input("output")("output directory");
73
+ options.project ??= await configure();
74
+ return options as IArguments;
75
+ });
76
+ };
77
+
78
+ export interface IArguments {
79
+ input: string;
80
+ output: string;
81
+ project: string;
82
+ }
83
+ }
@@ -1,45 +1,45 @@
1
- import fs from "fs";
2
-
3
- export namespace TypiaPatchWizard {
4
- export const main = async (): Promise<void> => {
5
- console.log("----------------------------------------");
6
- console.log(" Typia Setup Wizard");
7
- console.log("----------------------------------------");
8
- console.log(
9
- [
10
- `Since TypeScript v5.3 update, "tsc" no more parses JSDoc comments.`,
11
- ``,
12
- `Therefore, "typia" revives the JSDoc parsing feature by patching "tsc".`,
13
- ``,
14
- `This is a temporary feature of "typia", and it would be removed when "ts-patch" being updated.`,
15
- ].join("\n"),
16
- );
17
-
18
- await patch();
19
- };
20
-
21
- export const patch = async (): Promise<void> => {
22
- for (const file of ["tsc.js", "_tsc.js"])
23
- try {
24
- const location: string = require.resolve(`typescript/lib/${file}`);
25
- const content: string = await fs.promises.readFile(location, "utf8");
26
- if (content.indexOf(FROM_WITH_COMMENT) !== -1)
27
- await fs.promises.writeFile(
28
- location,
29
- content.replace(FROM_WITH_COMMENT, TO_WITH_COMMENT),
30
- "utf8",
31
- );
32
- else if (content.indexOf(FROM_ONLY) !== -1)
33
- await fs.promises.writeFile(
34
- location,
35
- content.replace(FROM_ONLY, TO_ONLY),
36
- "utf8",
37
- );
38
- } catch {}
39
- };
40
- }
41
-
42
- const FROM_WITH_COMMENT = `var defaultJSDocParsingMode = 2 /* ParseForTypeErrors */`;
43
- const TO_WITH_COMMENT = `var defaultJSDocParsingMode = 0 /* ParseAll */`;
44
- const FROM_ONLY = `var defaultJSDocParsingMode = 2`;
45
- const TO_ONLY = `var defaultJSDocParsingMode = 0`;
1
+ import fs from "fs";
2
+
3
+ export namespace TypiaPatchWizard {
4
+ export const main = async (): Promise<void> => {
5
+ console.log("----------------------------------------");
6
+ console.log(" Typia Setup Wizard");
7
+ console.log("----------------------------------------");
8
+ console.log(
9
+ [
10
+ `Since TypeScript v5.3 update, "tsc" no more parses JSDoc comments.`,
11
+ ``,
12
+ `Therefore, "typia" revives the JSDoc parsing feature by patching "tsc".`,
13
+ ``,
14
+ `This is a temporary feature of "typia", and it would be removed when "ts-patch" being updated.`,
15
+ ].join("\n"),
16
+ );
17
+
18
+ await patch();
19
+ };
20
+
21
+ export const patch = async (): Promise<void> => {
22
+ for (const file of ["tsc.js", "_tsc.js"])
23
+ try {
24
+ const location: string = require.resolve(`typescript/lib/${file}`);
25
+ const content: string = await fs.promises.readFile(location, "utf8");
26
+ if (content.indexOf(FROM_WITH_COMMENT) !== -1)
27
+ await fs.promises.writeFile(
28
+ location,
29
+ content.replace(FROM_WITH_COMMENT, TO_WITH_COMMENT),
30
+ "utf8",
31
+ );
32
+ else if (content.indexOf(FROM_ONLY) !== -1)
33
+ await fs.promises.writeFile(
34
+ location,
35
+ content.replace(FROM_ONLY, TO_ONLY),
36
+ "utf8",
37
+ );
38
+ } catch {}
39
+ };
40
+ }
41
+
42
+ const FROM_WITH_COMMENT = `var defaultJSDocParsingMode = 2 /* ParseForTypeErrors */`;
43
+ const TO_WITH_COMMENT = `var defaultJSDocParsingMode = 0 /* ParseAll */`;
44
+ const FROM_ONLY = `var defaultJSDocParsingMode = 2`;
45
+ const TO_ONLY = `var defaultJSDocParsingMode = 0`;