typia 7.0.1 → 7.0.2-dev.20241204

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 (447) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +123 -122
  3. package/lib/executable/TypiaPatchWizard.js +10 -6
  4. package/lib/executable/TypiaPatchWizard.js.map +1 -1
  5. package/lib/executable/typia.js +17 -7
  6. package/lib/executable/typia.js.map +1 -1
  7. package/lib/index.js +17 -7
  8. package/lib/index.js.map +1 -1
  9. package/lib/module.js +17 -7
  10. package/lib/module.js.map +1 -1
  11. package/package.json +3 -3
  12. package/src/IRandomGenerator.ts +49 -49
  13. package/src/IReadableURLSearchParams.ts +9 -9
  14. package/src/IValidation.ts +20 -20
  15. package/src/executable/TypiaGenerateWizard.ts +83 -83
  16. package/src/executable/TypiaPatchWizard.ts +17 -15
  17. package/src/executable/TypiaSetupWizard.ts +179 -179
  18. package/src/executable/setup/ArgumentParser.ts +42 -42
  19. package/src/executable/setup/FileRetriever.ts +19 -19
  20. package/src/executable/setup/PackageManager.ts +87 -87
  21. package/src/factories/ExpressionFactory.ts +216 -216
  22. package/src/factories/IdentifierFactory.ts +89 -89
  23. package/src/factories/JsonMetadataFactory.ts +76 -76
  24. package/src/factories/LiteralFactory.ts +50 -50
  25. package/src/factories/MetadataCollection.ts +278 -278
  26. package/src/factories/MetadataCommentTagFactory.ts +650 -650
  27. package/src/factories/MetadataFactory.ts +404 -404
  28. package/src/factories/MetadataTypeTagFactory.ts +411 -411
  29. package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
  30. package/src/factories/NumericRangeFactory.ts +72 -72
  31. package/src/factories/ProtobufFactory.ts +875 -875
  32. package/src/factories/StatementFactory.ts +90 -90
  33. package/src/factories/TemplateFactory.ts +64 -64
  34. package/src/factories/TypeFactory.ts +140 -140
  35. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +17 -17
  36. package/src/factories/internal/metadata/MetadataHelper.ts +21 -21
  37. package/src/factories/internal/metadata/emplace_metadata_alias.ts +33 -33
  38. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
  39. package/src/factories/internal/metadata/emplace_metadata_object.ts +208 -208
  40. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  41. package/src/factories/internal/metadata/explore_metadata.ts +31 -31
  42. package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
  43. package/src/factories/internal/metadata/iterate_metadata_alias.ts +33 -33
  44. package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
  45. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  46. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
  47. package/src/factories/internal/metadata/iterate_metadata_collection.ts +146 -146
  48. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
  49. package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
  50. package/src/factories/internal/metadata/iterate_metadata_escape.ts +49 -49
  51. package/src/factories/internal/metadata/iterate_metadata_function.ts +90 -90
  52. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +213 -213
  53. package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
  54. package/src/factories/internal/metadata/iterate_metadata_native.ts +254 -254
  55. package/src/factories/internal/metadata/iterate_metadata_object.ts +35 -35
  56. package/src/factories/internal/metadata/iterate_metadata_set.ts +57 -57
  57. package/src/factories/internal/metadata/iterate_metadata_sort.ts +87 -87
  58. package/src/factories/internal/metadata/iterate_metadata_template.ts +41 -41
  59. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
  60. package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
  61. package/src/functional.ts +750 -750
  62. package/src/http.ts +1047 -1047
  63. package/src/internal/_IProtobufWriter.ts +18 -18
  64. package/src/internal/_ProtobufReader.ts +194 -194
  65. package/src/internal/_ProtobufSizer.ts +145 -145
  66. package/src/internal/_ProtobufWriter.ts +145 -145
  67. package/src/internal/_accessExpressionAsString.ts +46 -46
  68. package/src/internal/_assertGuard.ts +13 -13
  69. package/src/internal/_functionalTypeGuardErrorFactory.ts +4 -4
  70. package/src/internal/_httpFormDataReadArray.ts +4 -4
  71. package/src/internal/_httpFormDataReadBigint.ts +18 -18
  72. package/src/internal/_httpFormDataReadBlob.ts +10 -10
  73. package/src/internal/_httpFormDataReadBoolean.ts +16 -16
  74. package/src/internal/_httpFormDataReadFile.ts +10 -10
  75. package/src/internal/_httpFormDataReadNumber.ts +15 -15
  76. package/src/internal/_httpFormDataReadString.ts +10 -10
  77. package/src/internal/_httpHeaderReadBigint.ts +10 -10
  78. package/src/internal/_httpHeaderReadBoolean.ts +8 -8
  79. package/src/internal/_httpHeaderReadNumber.ts +7 -7
  80. package/src/internal/_httpParameterReadBigint.ts +10 -10
  81. package/src/internal/_httpParameterReadBoolean.ts +8 -8
  82. package/src/internal/_httpParameterReadNumber.ts +7 -7
  83. package/src/internal/_httpParameterReadString.ts +2 -2
  84. package/src/internal/_httpQueryParseURLSearchParams.ts +12 -12
  85. package/src/internal/_httpQueryReadArray.ts +4 -4
  86. package/src/internal/_httpQueryReadBigint.ts +12 -12
  87. package/src/internal/_httpQueryReadBoolean.ts +14 -14
  88. package/src/internal/_httpQueryReadNumber.ts +9 -9
  89. package/src/internal/_httpQueryReadString.ts +4 -4
  90. package/src/internal/_isBetween.ts +2 -2
  91. package/src/internal/_isBigintString.ts +8 -8
  92. package/src/internal/_isFormatByte.ts +7 -7
  93. package/src/internal/_isFormatDate.ts +3 -3
  94. package/src/internal/_isFormatDateTime.ts +4 -4
  95. package/src/internal/_isFormatDuration.ts +4 -4
  96. package/src/internal/_isFormatEmail.ts +4 -4
  97. package/src/internal/_isFormatHostname.ts +4 -4
  98. package/src/internal/_isFormatIdnEmail.ts +4 -4
  99. package/src/internal/_isFormatIdnHostname.ts +4 -4
  100. package/src/internal/_isFormatIpv4.ts +4 -4
  101. package/src/internal/_isFormatIpv6.ts +4 -4
  102. package/src/internal/_isFormatIri.ts +3 -3
  103. package/src/internal/_isFormatIriReference.ts +4 -4
  104. package/src/internal/_isFormatJsonPointer.ts +3 -3
  105. package/src/internal/_isFormatPassword.ts +1 -1
  106. package/src/internal/_isFormatRegex.ts +8 -8
  107. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -4
  108. package/src/internal/_isFormatTime.ts +4 -4
  109. package/src/internal/_isFormatUri.ts +6 -6
  110. package/src/internal/_isFormatUriReference.ts +5 -5
  111. package/src/internal/_isFormatUriTemplate.ts +4 -4
  112. package/src/internal/_isFormatUrl.ts +4 -4
  113. package/src/internal/_isFormatUuid.ts +3 -3
  114. package/src/internal/_isTypeFloat.ts +5 -5
  115. package/src/internal/_isTypeInt32.ts +5 -5
  116. package/src/internal/_isTypeInt64.ts +5 -5
  117. package/src/internal/_isTypeUint32.ts +5 -5
  118. package/src/internal/_isTypeUint64.ts +5 -5
  119. package/src/internal/_isUniqueItems.ts +159 -159
  120. package/src/internal/_jsonStringifyNumber.ts +12 -12
  121. package/src/internal/_jsonStringifyRest.ts +3 -3
  122. package/src/internal/_jsonStringifyString.ts +42 -42
  123. package/src/internal/_jsonStringifyTail.ts +2 -2
  124. package/src/internal/_llmApplicationFinalize.ts +20 -20
  125. package/src/internal/_miscCloneAny.ts +46 -46
  126. package/src/internal/_notationAny.ts +37 -37
  127. package/src/internal/_notationCamel.ts +13 -13
  128. package/src/internal/_notationPascal.ts +8 -8
  129. package/src/internal/_notationSnake.ts +43 -43
  130. package/src/internal/_randomArray.ts +21 -21
  131. package/src/internal/_randomBigint.ts +6 -6
  132. package/src/internal/_randomBoolean.ts +1 -1
  133. package/src/internal/_randomFormatByte.ts +3 -3
  134. package/src/internal/_randomFormatDate.ts +18 -18
  135. package/src/internal/_randomFormatDatetime.ts +16 -16
  136. package/src/internal/_randomFormatDuration.ts +27 -27
  137. package/src/internal/_randomFormatEmail.ts +11 -11
  138. package/src/internal/_randomFormatHostname.ts +6 -6
  139. package/src/internal/_randomFormatIdnEmail.ts +3 -3
  140. package/src/internal/_randomFormatIdnHostname.ts +3 -3
  141. package/src/internal/_randomFormatIpv4.ts +11 -11
  142. package/src/internal/_randomFormatIpv6.ts +11 -11
  143. package/src/internal/_randomFormatIri.ts +3 -3
  144. package/src/internal/_randomFormatIriReference.ts +3 -3
  145. package/src/internal/_randomFormatJsonPointer.ts +7 -7
  146. package/src/internal/_randomFormatPassword.ts +8 -8
  147. package/src/internal/_randomFormatRegex.ts +4 -4
  148. package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -8
  149. package/src/internal/_randomFormatTime.ts +14 -14
  150. package/src/internal/_randomFormatUri.ts +3 -3
  151. package/src/internal/_randomFormatUriReference.ts +3 -3
  152. package/src/internal/_randomFormatUriTemplate.ts +3 -3
  153. package/src/internal/_randomFormatUrl.ts +11 -11
  154. package/src/internal/_randomFormatUuid.ts +6 -6
  155. package/src/internal/_randomInteger.ts +47 -47
  156. package/src/internal/_randomNumber.ts +74 -74
  157. package/src/internal/_randomPattern.ts +10 -10
  158. package/src/internal/_randomPick.ts +9 -9
  159. package/src/internal/_randomString.ts +24 -24
  160. package/src/internal/_throwTypeGuardError.ts +5 -5
  161. package/src/internal/_validateReport.ts +13 -13
  162. package/src/internal/private/__notationCapitalize.ts +2 -2
  163. package/src/internal/private/__notationUnsnake.ts +24 -24
  164. package/src/json.ts +752 -752
  165. package/src/llm.ts +342 -342
  166. package/src/misc.ts +658 -658
  167. package/src/module.ts +935 -935
  168. package/src/notations.ts +827 -827
  169. package/src/programmers/AssertProgrammer.ts +454 -454
  170. package/src/programmers/CheckerProgrammer.ts +1617 -1617
  171. package/src/programmers/FeatureProgrammer.ts +622 -622
  172. package/src/programmers/ImportProgrammer.ts +185 -185
  173. package/src/programmers/IsProgrammer.ts +273 -273
  174. package/src/programmers/RandomProgrammer.ts +1190 -1190
  175. package/src/programmers/TypiaProgrammer.ts +174 -174
  176. package/src/programmers/ValidateProgrammer.ts +434 -434
  177. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +153 -153
  178. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +125 -125
  179. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +115 -115
  180. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
  181. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +113 -113
  182. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +116 -116
  183. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +119 -119
  184. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -274
  185. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -135
  186. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
  187. package/src/programmers/helpers/AtomicPredicator.ts +35 -35
  188. package/src/programmers/helpers/CloneJoiner.ts +143 -143
  189. package/src/programmers/helpers/FunctionProgrammer.ts +67 -67
  190. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  191. package/src/programmers/helpers/NotationJoiner.ts +144 -144
  192. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  193. package/src/programmers/helpers/ProtobufUtil.ts +228 -228
  194. package/src/programmers/helpers/PruneJoiner.ts +148 -148
  195. package/src/programmers/helpers/RandomJoiner.ts +168 -168
  196. package/src/programmers/helpers/StringifyJoinder.ts +115 -115
  197. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  198. package/src/programmers/helpers/UnionExplorer.ts +372 -372
  199. package/src/programmers/helpers/UnionPredicator.ts +79 -79
  200. package/src/programmers/helpers/disable_function_programmer_declare.ts +32 -32
  201. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -99
  202. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -99
  203. package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -105
  204. package/src/programmers/http/HttpFormDataProgrammer.ts +308 -308
  205. package/src/programmers/http/HttpHeadersProgrammer.ts +400 -400
  206. package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
  207. package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
  208. package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
  209. package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
  210. package/src/programmers/http/HttpQueryProgrammer.ts +336 -336
  211. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -92
  212. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -92
  213. package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -98
  214. package/src/programmers/internal/check_array_length.ts +47 -47
  215. package/src/programmers/internal/check_bigint.ts +50 -50
  216. package/src/programmers/internal/check_dynamic_key.ts +201 -201
  217. package/src/programmers/internal/check_dynamic_properties.ts +208 -208
  218. package/src/programmers/internal/check_everything.ts +23 -23
  219. package/src/programmers/internal/check_native.ts +27 -27
  220. package/src/programmers/internal/check_number.ts +112 -112
  221. package/src/programmers/internal/check_object.ts +75 -75
  222. package/src/programmers/internal/check_string.ts +50 -50
  223. package/src/programmers/internal/check_template.ts +48 -48
  224. package/src/programmers/internal/check_union_array_like.ts +335 -335
  225. package/src/programmers/internal/decode_union_object.ts +116 -116
  226. package/src/programmers/internal/feature_object_entries.ts +61 -61
  227. package/src/programmers/internal/json_schema_alias.ts +47 -47
  228. package/src/programmers/internal/json_schema_array.ts +45 -45
  229. package/src/programmers/internal/json_schema_bigint.ts +15 -15
  230. package/src/programmers/internal/json_schema_boolean.ts +15 -15
  231. package/src/programmers/internal/json_schema_constant.ts +26 -26
  232. package/src/programmers/internal/json_schema_description.ts +12 -12
  233. package/src/programmers/internal/json_schema_discriminator.ts +35 -35
  234. package/src/programmers/internal/json_schema_escaped.ts +82 -82
  235. package/src/programmers/internal/json_schema_native.ts +33 -33
  236. package/src/programmers/internal/json_schema_number.ts +15 -15
  237. package/src/programmers/internal/json_schema_object.ts +158 -158
  238. package/src/programmers/internal/json_schema_plugin.ts +18 -18
  239. package/src/programmers/internal/json_schema_station.ts +182 -182
  240. package/src/programmers/internal/json_schema_string.ts +15 -15
  241. package/src/programmers/internal/json_schema_template.ts +55 -55
  242. package/src/programmers/internal/json_schema_title.ts +20 -20
  243. package/src/programmers/internal/json_schema_tuple.ts +35 -35
  244. package/src/programmers/internal/metadata_to_pattern.ts +42 -42
  245. package/src/programmers/internal/postfix_of_tuple.ts +5 -5
  246. package/src/programmers/internal/prune_object_properties.ts +71 -71
  247. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -162
  248. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  249. package/src/programmers/internal/template_to_pattern.ts +23 -23
  250. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
  251. package/src/programmers/json/JsonApplicationProgrammer.ts +276 -276
  252. package/src/programmers/json/JsonAssertParseProgrammer.ts +106 -106
  253. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -115
  254. package/src/programmers/json/JsonIsParseProgrammer.ts +114 -114
  255. package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
  256. package/src/programmers/json/JsonSchemasProgrammer.ts +91 -91
  257. package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
  258. package/src/programmers/json/JsonValidateParseProgrammer.ts +105 -105
  259. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +124 -124
  260. package/src/programmers/llm/LlmApplicationProgrammer.ts +276 -276
  261. package/src/programmers/llm/LlmModelPredicator.ts +127 -127
  262. package/src/programmers/llm/LlmParametersProgrammer.ts +90 -90
  263. package/src/programmers/llm/LlmSchemaProgrammer.ts +143 -143
  264. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -95
  265. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -116
  266. package/src/programmers/misc/MiscCloneProgrammer.ts +1032 -1032
  267. package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
  268. package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
  269. package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
  270. package/src/programmers/misc/MiscPruneProgrammer.ts +728 -728
  271. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -111
  272. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -113
  273. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -101
  274. package/src/programmers/notations/NotationGeneralProgrammer.ts +984 -984
  275. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
  276. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -119
  277. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -98
  278. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -102
  279. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +654 -654
  280. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +945 -945
  281. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
  282. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
  283. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +179 -179
  284. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -92
  285. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -119
  286. package/src/protobuf.ts +868 -868
  287. package/src/reflect.ts +57 -57
  288. package/src/schemas/json/IJsonApplication.ts +73 -73
  289. package/src/schemas/json/IJsonSchemaCollection.ts +29 -29
  290. package/src/schemas/json/__IJsonApplication.ts +63 -63
  291. package/src/schemas/metadata/IMetadata.ts +35 -35
  292. package/src/schemas/metadata/IMetadataAlias.ts +6 -6
  293. package/src/schemas/metadata/IMetadataAliasType.ts +12 -12
  294. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  295. package/src/schemas/metadata/IMetadataArray.ts +6 -6
  296. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  297. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  298. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  299. package/src/schemas/metadata/IMetadataMap.ts +8 -8
  300. package/src/schemas/metadata/IMetadataNative.ts +6 -6
  301. package/src/schemas/metadata/IMetadataObject.ts +6 -6
  302. package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
  303. package/src/schemas/metadata/IMetadataSet.ts +7 -7
  304. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  305. package/src/schemas/metadata/IMetadataTuple.ts +6 -6
  306. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  307. package/src/schemas/metadata/Metadata.ts +669 -669
  308. package/src/schemas/metadata/MetadataAlias.ts +46 -46
  309. package/src/schemas/metadata/MetadataAliasType.ts +63 -63
  310. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  311. package/src/schemas/metadata/MetadataArray.ts +49 -49
  312. package/src/schemas/metadata/MetadataAtomic.ts +87 -87
  313. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  314. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  315. package/src/schemas/metadata/MetadataMap.ts +48 -48
  316. package/src/schemas/metadata/MetadataNative.ts +44 -44
  317. package/src/schemas/metadata/MetadataObject.ts +48 -48
  318. package/src/schemas/metadata/MetadataObjectType.ts +149 -149
  319. package/src/schemas/metadata/MetadataProperty.ts +59 -59
  320. package/src/schemas/metadata/MetadataSet.ts +45 -45
  321. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  322. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  323. package/src/schemas/protobuf/IProtobufProperty.ts +6 -6
  324. package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -37
  325. package/src/schemas/protobuf/IProtobufSchema.ts +50 -50
  326. package/src/tags/Example.ts +24 -24
  327. package/src/tags/Examples.ts +16 -16
  328. package/src/tags/Format.ts +50 -50
  329. package/src/tags/JsonSchemaPlugin.ts +8 -8
  330. package/src/tags/Sequence.ts +10 -10
  331. package/src/tags/TagBase.ts +82 -82
  332. package/src/tags/Type.ts +32 -32
  333. package/src/tags/UniqueItems.ts +14 -14
  334. package/src/tags/index.ts +21 -21
  335. package/src/transform.ts +35 -35
  336. package/src/transformers/CallExpressionTransformer.ts +545 -545
  337. package/src/transformers/FileTransformer.ts +136 -136
  338. package/src/transformers/IProgrammerProps.ts +11 -11
  339. package/src/transformers/ITransformOptions.ts +62 -62
  340. package/src/transformers/ITransformProps.ts +9 -9
  341. package/src/transformers/ITypiaContext.ts +18 -18
  342. package/src/transformers/ImportTransformer.ts +81 -81
  343. package/src/transformers/NodeTransformer.ts +17 -17
  344. package/src/transformers/TransformerError.ts +60 -60
  345. package/src/transformers/features/AssertTransformer.ts +24 -24
  346. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  347. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  348. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  349. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  350. package/src/transformers/features/IsTransformer.ts +18 -18
  351. package/src/transformers/features/RandomTransformer.ts +41 -41
  352. package/src/transformers/features/ValidateTransformer.ts +18 -18
  353. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  354. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  355. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  356. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  357. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  358. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  359. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  360. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  361. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  362. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  363. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  364. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  365. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  366. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  367. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  368. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  369. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  370. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  371. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  372. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  373. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  374. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  375. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  376. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  377. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  378. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  379. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  380. package/src/transformers/features/json/JsonApplicationTransformer.ts +105 -105
  381. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  382. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  383. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  384. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  385. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  386. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  387. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  388. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  389. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  390. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  391. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  392. package/src/transformers/features/json/JsonSchemasTransformer.ts +143 -143
  393. package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
  394. package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
  395. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
  396. package/src/transformers/features/llm/LlmApplicationTransformer.ts +113 -113
  397. package/src/transformers/features/llm/LlmParametersTransformer.ts +89 -89
  398. package/src/transformers/features/llm/LlmSchemaTransformer.ts +130 -130
  399. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  400. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  401. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  402. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  403. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  404. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  405. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  406. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  407. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  408. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  409. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  410. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  411. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  412. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
  413. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  414. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  415. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  416. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  417. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  418. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  419. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  420. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  421. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  422. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  423. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  424. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  425. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  426. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  427. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  428. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  429. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  430. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  431. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  432. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  433. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  434. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  435. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  436. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  437. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  438. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
  439. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  440. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  441. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
  442. package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
  443. package/src/transformers/internal/GenericTransformer.ts +101 -101
  444. package/src/utils/MapUtil.ts +14 -14
  445. package/src/utils/NamingConvention.ts +94 -94
  446. package/src/utils/ProtobufNameEncoder.ts +32 -32
  447. package/src/utils/StringUtil.ts +16 -16
@@ -1,32 +1,32 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IMetadataTuple } from "./IMetadataTuple";
4
- import { IMetadataTypeTag } from "./IMetadataTypeTag";
5
- import { MetadataTupleType } from "./MetadataTupleType";
6
-
7
- export class MetadataTuple {
8
- public readonly type: MetadataTupleType;
9
- public readonly tags: IMetadataTypeTag[][];
10
-
11
- /**
12
- * @hidden
13
- */
14
- private constructor(props: ClassProperties<MetadataTuple>) {
15
- this.type = props.type;
16
- this.tags = props.tags;
17
- }
18
-
19
- /**
20
- * @internal
21
- */
22
- public static create(props: ClassProperties<MetadataTuple>): MetadataTuple {
23
- return new MetadataTuple(props);
24
- }
25
-
26
- public toJSON(): IMetadataTuple {
27
- return {
28
- name: this.type.name,
29
- tags: this.tags.map((row) => row.slice()),
30
- };
31
- }
32
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IMetadataTuple } from "./IMetadataTuple";
4
+ import { IMetadataTypeTag } from "./IMetadataTypeTag";
5
+ import { MetadataTupleType } from "./MetadataTupleType";
6
+
7
+ export class MetadataTuple {
8
+ public readonly type: MetadataTupleType;
9
+ public readonly tags: IMetadataTypeTag[][];
10
+
11
+ /**
12
+ * @hidden
13
+ */
14
+ private constructor(props: ClassProperties<MetadataTuple>) {
15
+ this.type = props.type;
16
+ this.tags = props.tags;
17
+ }
18
+
19
+ /**
20
+ * @internal
21
+ */
22
+ public static create(props: ClassProperties<MetadataTuple>): MetadataTuple {
23
+ return new MetadataTuple(props);
24
+ }
25
+
26
+ public toJSON(): IMetadataTuple {
27
+ return {
28
+ name: this.type.name,
29
+ tags: this.tags.map((row) => row.slice()),
30
+ };
31
+ }
32
+ }
@@ -1,6 +1,6 @@
1
- import { IProtobufPropertyType } from "./IProtobufPropertyType";
2
-
3
- export interface IProtobufProperty {
4
- fixed: boolean;
5
- union: IProtobufPropertyType[];
6
- }
1
+ import { IProtobufPropertyType } from "./IProtobufPropertyType";
2
+
3
+ export interface IProtobufProperty {
4
+ fixed: boolean;
5
+ union: IProtobufPropertyType[];
6
+ }
@@ -1,37 +1,37 @@
1
- import { IProtobufSchema } from "./IProtobufSchema";
2
-
3
- export type IProtobufPropertyType =
4
- | IProtobufPropertyType.IByte
5
- | IProtobufPropertyType.IBoolean
6
- | IProtobufPropertyType.IBigint
7
- | IProtobufPropertyType.INumber
8
- | IProtobufPropertyType.IString
9
- | IProtobufPropertyType.IArray
10
- | IProtobufPropertyType.IObject
11
- | IProtobufPropertyType.IMap;
12
- export namespace IProtobufPropertyType {
13
- export interface IByte extends IProtobufSchema.IByte {
14
- index: number;
15
- }
16
- export interface IBoolean extends IProtobufSchema.IBoolean {
17
- index: number;
18
- }
19
- export interface IBigint extends IProtobufSchema.IBigint {
20
- index: number;
21
- }
22
- export interface INumber extends IProtobufSchema.INumber {
23
- index: number;
24
- }
25
- export interface IString extends IProtobufSchema.IString {
26
- index: number;
27
- }
28
- export interface IArray extends IProtobufSchema.IArray {
29
- index: number;
30
- }
31
- export interface IObject extends IProtobufSchema.IObject {
32
- index: number;
33
- }
34
- export interface IMap extends IProtobufSchema.IMap {
35
- index: number;
36
- }
37
- }
1
+ import { IProtobufSchema } from "./IProtobufSchema";
2
+
3
+ export type IProtobufPropertyType =
4
+ | IProtobufPropertyType.IByte
5
+ | IProtobufPropertyType.IBoolean
6
+ | IProtobufPropertyType.IBigint
7
+ | IProtobufPropertyType.INumber
8
+ | IProtobufPropertyType.IString
9
+ | IProtobufPropertyType.IArray
10
+ | IProtobufPropertyType.IObject
11
+ | IProtobufPropertyType.IMap;
12
+ export namespace IProtobufPropertyType {
13
+ export interface IByte extends IProtobufSchema.IByte {
14
+ index: number;
15
+ }
16
+ export interface IBoolean extends IProtobufSchema.IBoolean {
17
+ index: number;
18
+ }
19
+ export interface IBigint extends IProtobufSchema.IBigint {
20
+ index: number;
21
+ }
22
+ export interface INumber extends IProtobufSchema.INumber {
23
+ index: number;
24
+ }
25
+ export interface IString extends IProtobufSchema.IString {
26
+ index: number;
27
+ }
28
+ export interface IArray extends IProtobufSchema.IArray {
29
+ index: number;
30
+ }
31
+ export interface IObject extends IProtobufSchema.IObject {
32
+ index: number;
33
+ }
34
+ export interface IMap extends IProtobufSchema.IMap {
35
+ index: number;
36
+ }
37
+ }
@@ -1,50 +1,50 @@
1
- import { MetadataArrayType } from "../metadata/MetadataArrayType";
2
- import { MetadataMap } from "../metadata/MetadataMap";
3
- import { MetadataObjectType } from "../metadata/MetadataObjectType";
4
-
5
- export type IProtobufSchema =
6
- | IProtobufSchema.IByte
7
- | IProtobufSchema.IBoolean
8
- | IProtobufSchema.IBigint
9
- | IProtobufSchema.INumber
10
- | IProtobufSchema.IString
11
- | IProtobufSchema.IArray
12
- | IProtobufSchema.IObject
13
- | IProtobufSchema.IMap;
14
- export namespace IProtobufSchema {
15
- export interface IByte {
16
- type: "bytes";
17
- }
18
- export interface IBoolean {
19
- type: "bool";
20
- }
21
- export interface IBigint {
22
- type: "bigint";
23
- name: "int64" | "uint64";
24
- }
25
- export interface INumber {
26
- type: "number";
27
- name: "int32" | "int64" | "uint32" | "uint64" | "float" | "double";
28
- }
29
- export interface IString {
30
- type: "string";
31
- }
32
- export interface IArray {
33
- type: "array";
34
- array: MetadataArrayType;
35
- value: Exclude<IProtobufSchema, IArray | IMap>;
36
- }
37
- export interface IObject {
38
- type: "object";
39
- object: MetadataObjectType;
40
- }
41
- export interface IMap {
42
- type: "map";
43
- map: MetadataMap | MetadataObjectType;
44
- key:
45
- | IProtobufSchema.IBoolean
46
- | IProtobufSchema.INumber
47
- | IProtobufSchema.IString;
48
- value: Exclude<IProtobufSchema, IArray | IMap>;
49
- }
50
- }
1
+ import { MetadataArrayType } from "../metadata/MetadataArrayType";
2
+ import { MetadataMap } from "../metadata/MetadataMap";
3
+ import { MetadataObjectType } from "../metadata/MetadataObjectType";
4
+
5
+ export type IProtobufSchema =
6
+ | IProtobufSchema.IByte
7
+ | IProtobufSchema.IBoolean
8
+ | IProtobufSchema.IBigint
9
+ | IProtobufSchema.INumber
10
+ | IProtobufSchema.IString
11
+ | IProtobufSchema.IArray
12
+ | IProtobufSchema.IObject
13
+ | IProtobufSchema.IMap;
14
+ export namespace IProtobufSchema {
15
+ export interface IByte {
16
+ type: "bytes";
17
+ }
18
+ export interface IBoolean {
19
+ type: "bool";
20
+ }
21
+ export interface IBigint {
22
+ type: "bigint";
23
+ name: "int64" | "uint64";
24
+ }
25
+ export interface INumber {
26
+ type: "number";
27
+ name: "int32" | "int64" | "uint32" | "uint64" | "float" | "double";
28
+ }
29
+ export interface IString {
30
+ type: "string";
31
+ }
32
+ export interface IArray {
33
+ type: "array";
34
+ array: MetadataArrayType;
35
+ value: Exclude<IProtobufSchema, IArray | IMap>;
36
+ }
37
+ export interface IObject {
38
+ type: "object";
39
+ object: MetadataObjectType;
40
+ }
41
+ export interface IMap {
42
+ type: "map";
43
+ map: MetadataMap | MetadataObjectType;
44
+ key:
45
+ | IProtobufSchema.IBoolean
46
+ | IProtobufSchema.INumber
47
+ | IProtobufSchema.IString;
48
+ value: Exclude<IProtobufSchema, IArray | IMap>;
49
+ }
50
+ }
@@ -1,24 +1,24 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type Example<
4
- Value extends
5
- | boolean
6
- | bigint
7
- | number
8
- | string
9
- | object
10
- | Array<unknown>
11
- | null,
12
- > = TagBase<{
13
- target: "boolean" | "bigint" | "number" | "string" | "array" | "object";
14
- kind: "example";
15
- value: Value;
16
- exclusive: true;
17
- schema: Value extends bigint
18
- ? { example: Numeric<Value> }
19
- : { example: Value };
20
- }>;
21
-
22
- type Numeric<T extends bigint> = `${T}` extends `${infer N extends number}`
23
- ? N
24
- : never;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type Example<
4
+ Value extends
5
+ | boolean
6
+ | bigint
7
+ | number
8
+ | string
9
+ | object
10
+ | Array<unknown>
11
+ | null,
12
+ > = TagBase<{
13
+ target: "boolean" | "bigint" | "number" | "string" | "array" | "object";
14
+ kind: "example";
15
+ value: Value;
16
+ exclusive: true;
17
+ schema: Value extends bigint
18
+ ? { example: Numeric<Value> }
19
+ : { example: Value };
20
+ }>;
21
+
22
+ type Numeric<T extends bigint> = `${T}` extends `${infer N extends number}`
23
+ ? N
24
+ : never;
@@ -1,16 +1,16 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type Examples<
4
- Dict extends Record<
5
- string,
6
- boolean | bigint | number | string | object | Array<unknown> | null
7
- >,
8
- > = TagBase<{
9
- target: "boolean" | "bigint" | "number" | "string" | "array" | "object";
10
- kind: "examples";
11
- value: Dict;
12
- exclusive: true;
13
- schema: {
14
- examples: Dict;
15
- };
16
- }>;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type Examples<
4
+ Dict extends Record<
5
+ string,
6
+ boolean | bigint | number | string | object | Array<unknown> | null
7
+ >,
8
+ > = TagBase<{
9
+ target: "boolean" | "bigint" | "number" | "string" | "array" | "object";
10
+ kind: "examples";
11
+ value: Dict;
12
+ exclusive: true;
13
+ schema: {
14
+ examples: Dict;
15
+ };
16
+ }>;
@@ -1,50 +1,50 @@
1
- import type { TagBase } from "./TagBase";
2
-
3
- export type Format<Value extends Format.Value> = TagBase<{
4
- target: "string";
5
- kind: "format";
6
- value: Value;
7
- validate: `$importInternal("isFormat${PascalizeString<Value>}")($input)`;
8
- exclusive: ["format", "pattern"];
9
- schema: {
10
- format: Value;
11
- };
12
- }>;
13
- export namespace Format {
14
- export type Value =
15
- | "byte"
16
- | "password"
17
- | "regex"
18
- | "uuid"
19
- | "email"
20
- | "hostname"
21
- | "idn-email"
22
- | "idn-hostname"
23
- | "iri"
24
- | "iri-reference"
25
- | "ipv4"
26
- | "ipv6"
27
- | "uri"
28
- | "uri-reference"
29
- | "uri-template"
30
- | "url"
31
- | "date-time"
32
- | "date"
33
- | "time"
34
- | "duration"
35
- | "json-pointer"
36
- | "relative-json-pointer";
37
- }
38
-
39
- type PascalizeString<Key extends string> = Key extends `-${infer R}`
40
- ? `${PascalizeString<R>}`
41
- : Key extends `${infer _F}-${infer _R}`
42
- ? PascalizeSnakeString<Key>
43
- : Capitalize<Key>;
44
- type PascalizeSnakeString<Key extends string> = Key extends `-${infer R}`
45
- ? PascalizeSnakeString<R>
46
- : Key extends `${infer F}${infer M}-${infer R}`
47
- ? `${Uppercase<F>}${Lowercase<M>}${PascalizeSnakeString<R>}`
48
- : Key extends `${infer F}${infer R}`
49
- ? `${Uppercase<F>}${Lowercase<R>}`
50
- : Key;
1
+ import type { TagBase } from "./TagBase";
2
+
3
+ export type Format<Value extends Format.Value> = TagBase<{
4
+ target: "string";
5
+ kind: "format";
6
+ value: Value;
7
+ validate: `$importInternal("isFormat${PascalizeString<Value>}")($input)`;
8
+ exclusive: ["format", "pattern"];
9
+ schema: {
10
+ format: Value;
11
+ };
12
+ }>;
13
+ export namespace Format {
14
+ export type Value =
15
+ | "byte"
16
+ | "password"
17
+ | "regex"
18
+ | "uuid"
19
+ | "email"
20
+ | "hostname"
21
+ | "idn-email"
22
+ | "idn-hostname"
23
+ | "iri"
24
+ | "iri-reference"
25
+ | "ipv4"
26
+ | "ipv6"
27
+ | "uri"
28
+ | "uri-reference"
29
+ | "uri-template"
30
+ | "url"
31
+ | "date-time"
32
+ | "date"
33
+ | "time"
34
+ | "duration"
35
+ | "json-pointer"
36
+ | "relative-json-pointer";
37
+ }
38
+
39
+ type PascalizeString<Key extends string> = Key extends `-${infer R}`
40
+ ? `${PascalizeString<R>}`
41
+ : Key extends `${infer _F}-${infer _R}`
42
+ ? PascalizeSnakeString<Key>
43
+ : Capitalize<Key>;
44
+ type PascalizeSnakeString<Key extends string> = Key extends `-${infer R}`
45
+ ? PascalizeSnakeString<R>
46
+ : Key extends `${infer F}${infer M}-${infer R}`
47
+ ? `${Uppercase<F>}${Lowercase<M>}${PascalizeSnakeString<R>}`
48
+ : Key extends `${infer F}${infer R}`
49
+ ? `${Uppercase<F>}${Lowercase<R>}`
50
+ : Key;
@@ -1,8 +1,8 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type JsonSchemaPlugin<Schema extends object> = TagBase<{
4
- target: "string" | "boolean" | "bigint" | "number" | "array" | "object";
5
- kind: "jsonPlugin";
6
- value: undefined;
7
- schema: Schema;
8
- }>;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type JsonSchemaPlugin<Schema extends object> = TagBase<{
4
+ target: "string" | "boolean" | "bigint" | "number" | "array" | "object";
5
+ kind: "jsonPlugin";
6
+ value: undefined;
7
+ schema: Schema;
8
+ }>;
@@ -1,10 +1,10 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type Sequence<N extends number> = TagBase<{
4
- target: "boolean" | "bigint" | "number" | "string" | "array" | "object";
5
- kind: "sequence";
6
- value: N;
7
- schema: {
8
- "x-protobuf-sequence": N;
9
- };
10
- }>;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type Sequence<N extends number> = TagBase<{
4
+ target: "boolean" | "bigint" | "number" | "string" | "array" | "object";
5
+ kind: "sequence";
6
+ value: N;
7
+ schema: {
8
+ "x-protobuf-sequence": N;
9
+ };
10
+ }>;
@@ -1,82 +1,82 @@
1
- export type TagBase<
2
- Props extends TagBase.IProps<any, any, any, any, any, any>,
3
- > = {
4
- /**
5
- * This is a dummy property for compilation.
6
- *
7
- * It does not mean anything in runtime.
8
- */
9
- "typia.tag"?: Props;
10
- };
11
- export namespace TagBase {
12
- export interface IProps<
13
- Target extends
14
- | "boolean"
15
- | "bigint"
16
- | "number"
17
- | "string"
18
- | "array"
19
- | "object",
20
- Kind extends string,
21
- Value extends boolean | bigint | number | string | undefined,
22
- Validate extends
23
- | string
24
- | {
25
- [key in Target]?: string;
26
- },
27
- Exclusive extends boolean | string[],
28
- Schema extends object | undefined,
29
- > {
30
- /**
31
- * Target type.
32
- *
33
- * If user tries to adapt this tag to a different type, it would be a compile
34
- * error.
35
- *
36
- * For example, you've configured target type as `string`, but user adapted it
37
- * onto a `number` type (`number & YourCustomTag<Value>`), then it would be
38
- * blocked by TypeScript compiler.
39
- */
40
- target: Target;
41
-
42
- /**
43
- * What kind of tag is this?
44
- */
45
- kind: Kind;
46
-
47
- /**
48
- * Value to be configured by user.
49
- */
50
- value: Value;
51
-
52
- /**
53
- * Validation script.
54
- *
55
- * This script would be inserted into the generated validation function.
56
- * In here script, target variable name must be `$input`. The variable name
57
- * `$input` would be transformed to the suitable when compilation.
58
- *
59
- * Also, If you've take a mistake on this script, compile error would be
60
- * occured. So, define it with confidence. Compiler will block all your
61
- * mistakes.
62
- */
63
- validate?: Validate;
64
-
65
- /**
66
- * Exclusive option.
67
- *
68
- * If this property configured as `true`, same {@link kind} tag cannot be
69
- * duplicated in the target type. Otherwise, if you've configured this
70
- * property as string array, all of the {@link kind} value assigned
71
- * tags cannot be compatible in the target type.
72
- *
73
- * @default false
74
- */
75
- exclusive?: Exclusive | string[];
76
-
77
- /**
78
- * Additional schema info assigned to the {@link IJsonSchema} object.
79
- */
80
- schema?: Schema;
81
- }
82
- }
1
+ export type TagBase<
2
+ Props extends TagBase.IProps<any, any, any, any, any, any>,
3
+ > = {
4
+ /**
5
+ * This is a dummy property for compilation.
6
+ *
7
+ * It does not mean anything in runtime.
8
+ */
9
+ "typia.tag"?: Props;
10
+ };
11
+ export namespace TagBase {
12
+ export interface IProps<
13
+ Target extends
14
+ | "boolean"
15
+ | "bigint"
16
+ | "number"
17
+ | "string"
18
+ | "array"
19
+ | "object",
20
+ Kind extends string,
21
+ Value extends boolean | bigint | number | string | undefined,
22
+ Validate extends
23
+ | string
24
+ | {
25
+ [key in Target]?: string;
26
+ },
27
+ Exclusive extends boolean | string[],
28
+ Schema extends object | undefined,
29
+ > {
30
+ /**
31
+ * Target type.
32
+ *
33
+ * If user tries to adapt this tag to a different type, it would be a compile
34
+ * error.
35
+ *
36
+ * For example, you've configured target type as `string`, but user adapted it
37
+ * onto a `number` type (`number & YourCustomTag<Value>`), then it would be
38
+ * blocked by TypeScript compiler.
39
+ */
40
+ target: Target;
41
+
42
+ /**
43
+ * What kind of tag is this?
44
+ */
45
+ kind: Kind;
46
+
47
+ /**
48
+ * Value to be configured by user.
49
+ */
50
+ value: Value;
51
+
52
+ /**
53
+ * Validation script.
54
+ *
55
+ * This script would be inserted into the generated validation function.
56
+ * In here script, target variable name must be `$input`. The variable name
57
+ * `$input` would be transformed to the suitable when compilation.
58
+ *
59
+ * Also, If you've take a mistake on this script, compile error would be
60
+ * occured. So, define it with confidence. Compiler will block all your
61
+ * mistakes.
62
+ */
63
+ validate?: Validate;
64
+
65
+ /**
66
+ * Exclusive option.
67
+ *
68
+ * If this property configured as `true`, same {@link kind} tag cannot be
69
+ * duplicated in the target type. Otherwise, if you've configured this
70
+ * property as string array, all of the {@link kind} value assigned
71
+ * tags cannot be compatible in the target type.
72
+ *
73
+ * @default false
74
+ */
75
+ exclusive?: Exclusive | string[];
76
+
77
+ /**
78
+ * Additional schema info assigned to the {@link IJsonSchema} object.
79
+ */
80
+ schema?: Schema;
81
+ }
82
+ }