typia 5.3.12-dev.20240121 → 5.3.12

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 (360) hide show
  1. package/package.json +1 -1
  2. package/src/AssertionGuard.ts +1 -1
  3. package/src/CamelCase.ts +114 -114
  4. package/src/IRandomGenerator.ts +35 -35
  5. package/src/IValidation.ts +21 -21
  6. package/src/PascalCase.ts +114 -114
  7. package/src/Primitive.ts +135 -135
  8. package/src/Resolved.ts +116 -116
  9. package/src/SnakeCase.ts +156 -156
  10. package/src/TypeGuardError.ts +36 -36
  11. package/src/executable/TypiaGenerateWizard.ts +83 -83
  12. package/src/executable/TypiaPatchWizard.ts +42 -42
  13. package/src/executable/TypiaSetupWizard.ts +151 -151
  14. package/src/executable/setup/ArgumentParser.ts +43 -43
  15. package/src/executable/setup/CommandExecutor.ts +8 -8
  16. package/src/executable/setup/FileRetriever.ts +22 -22
  17. package/src/executable/setup/PackageManager.ts +71 -71
  18. package/src/executable/setup/PluginConfigurator.ts +69 -69
  19. package/src/executable/typia.ts +55 -55
  20. package/src/factories/CommentFactory.ts +79 -79
  21. package/src/factories/ExpressionFactory.ts +150 -150
  22. package/src/factories/IdentifierFactory.ts +70 -70
  23. package/src/factories/JsonMetadataFactory.ts +53 -53
  24. package/src/factories/LiteralFactory.ts +47 -47
  25. package/src/factories/MetadataCollection.ts +260 -260
  26. package/src/factories/MetadataCommentTagFactory.ts +601 -601
  27. package/src/factories/MetadataFactory.ts +267 -267
  28. package/src/factories/MetadataTypeTagFactory.ts +313 -313
  29. package/src/factories/NumericRangeFactory.ts +72 -72
  30. package/src/factories/ProtobufFactory.ts +259 -259
  31. package/src/factories/StatementFactory.ts +72 -72
  32. package/src/factories/TemplateFactory.ts +56 -56
  33. package/src/factories/TypeFactory.ts +118 -118
  34. package/src/factories/ValueFactory.ts +12 -12
  35. package/src/factories/internal/metadata/MetadataHelper.ts +15 -15
  36. package/src/factories/internal/metadata/emend_metadata_atomics.ts +37 -37
  37. package/src/factories/internal/metadata/emplace_metadata_alias.ts +41 -41
  38. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +38 -38
  39. package/src/factories/internal/metadata/emplace_metadata_object.ts +175 -175
  40. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  41. package/src/factories/internal/metadata/explore_metadata.ts +28 -28
  42. package/src/factories/internal/metadata/iterate_metadata.ts +94 -94
  43. package/src/factories/internal/metadata/iterate_metadata_alias.ts +34 -34
  44. package/src/factories/internal/metadata/iterate_metadata_array.ts +37 -37
  45. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  46. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
  47. package/src/factories/internal/metadata/iterate_metadata_collection.ts +131 -131
  48. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +26 -26
  49. package/src/factories/internal/metadata/iterate_metadata_constant.ts +48 -48
  50. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +230 -230
  51. package/src/factories/internal/metadata/iterate_metadata_map.ts +50 -50
  52. package/src/factories/internal/metadata/iterate_metadata_native.ts +208 -208
  53. package/src/factories/internal/metadata/iterate_metadata_object.ts +43 -43
  54. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +52 -52
  55. package/src/factories/internal/metadata/iterate_metadata_set.ts +41 -41
  56. package/src/factories/internal/metadata/iterate_metadata_sort.ts +61 -61
  57. package/src/factories/internal/metadata/iterate_metadata_template.ts +44 -44
  58. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +37 -37
  59. package/src/factories/internal/metadata/iterate_metadata_union.ts +27 -27
  60. package/src/functional/$HeadersReader/$HeadersReader.ts +26 -26
  61. package/src/functional/$HeadersReader/index.ts +1 -1
  62. package/src/functional/$ParameterReader/$ParameterReader.ts +29 -29
  63. package/src/functional/$ParameterReader/index.ts +1 -1
  64. package/src/functional/$ProtobufReader.ts +195 -195
  65. package/src/functional/$ProtobufSizer.ts +147 -147
  66. package/src/functional/$ProtobufWriter.ts +150 -150
  67. package/src/functional/$QueryReader/$QueryReader.ts +46 -46
  68. package/src/functional/$QueryReader/index.ts +1 -1
  69. package/src/functional/$any.ts +4 -4
  70. package/src/functional/$clone.ts +4 -4
  71. package/src/functional/$convention.ts +37 -37
  72. package/src/functional/$dictionary.ts +22 -22
  73. package/src/functional/$every.ts +11 -11
  74. package/src/functional/$guard.ts +35 -35
  75. package/src/functional/$is_between.ts +2 -2
  76. package/src/functional/$join.ts +46 -46
  77. package/src/functional/$number.ts +12 -12
  78. package/src/functional/$report.ts +13 -13
  79. package/src/functional/$rest.ts +3 -3
  80. package/src/functional/$stoll.ts +8 -8
  81. package/src/functional/$string.ts +50 -50
  82. package/src/functional/$strlen.ts +7 -7
  83. package/src/functional/$tail.ts +5 -5
  84. package/src/functional/$throws.ts +10 -10
  85. package/src/functional/$varint.ts +130 -130
  86. package/src/functional/$zigzag.ts +39 -39
  87. package/src/functional/IProtobufWriter.ts +18 -18
  88. package/src/functional/Namespace/http.ts +7 -7
  89. package/src/functional/Namespace/index.ts +75 -75
  90. package/src/functional/Namespace/json.ts +15 -15
  91. package/src/functional/Namespace/misc.ts +14 -14
  92. package/src/functional/Namespace/notations.ts +23 -23
  93. package/src/functional/Namespace/protobuf.ts +20 -20
  94. package/src/functional/is.ts +10 -10
  95. package/src/http.ts +1267 -1267
  96. package/src/index.ts +4 -4
  97. package/src/notations.ts +977 -977
  98. package/src/programmers/AssertProgrammer.ts +293 -293
  99. package/src/programmers/CheckerProgrammer.ts +1025 -1025
  100. package/src/programmers/FeatureProgrammer.ts +460 -460
  101. package/src/programmers/IsProgrammer.ts +232 -232
  102. package/src/programmers/RandomProgrammer.ts +825 -825
  103. package/src/programmers/TypiaProgrammer.ts +167 -167
  104. package/src/programmers/ValidateProgrammer.ts +307 -307
  105. package/src/programmers/helpers/AtomicPredicator.ts +25 -25
  106. package/src/programmers/helpers/CloneJoiner.ts +130 -130
  107. package/src/programmers/helpers/FunctionImporeter.ts +87 -87
  108. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  109. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  110. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  111. package/src/programmers/helpers/NotationJoiner.ts +132 -132
  112. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  113. package/src/programmers/helpers/ProtobufUtil.ts +125 -125
  114. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  115. package/src/programmers/helpers/PruneJoiner.ts +141 -141
  116. package/src/programmers/helpers/RandomJoiner.ts +140 -140
  117. package/src/programmers/helpers/RandomRanger.ts +171 -171
  118. package/src/programmers/helpers/StringifyJoinder.ts +105 -105
  119. package/src/programmers/helpers/StringifyPredicator.ts +12 -12
  120. package/src/programmers/helpers/UnionExplorer.ts +269 -269
  121. package/src/programmers/helpers/UnionPredicator.ts +77 -77
  122. package/src/programmers/helpers/disable_function_importer_declare.ts +32 -32
  123. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +77 -77
  124. package/src/programmers/http/HttpAssertQueryProgrammer.ts +75 -75
  125. package/src/programmers/http/HttpHeadersProgrammer.ts +314 -314
  126. package/src/programmers/http/HttpIsHeadersProgrammer.ts +84 -84
  127. package/src/programmers/http/HttpIsQueryProgrammer.ts +82 -82
  128. package/src/programmers/http/HttpParameterProgrammer.ts +97 -97
  129. package/src/programmers/http/HttpQueryProgrammer.ts +252 -252
  130. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +77 -77
  131. package/src/programmers/http/HttpValidateQueryProgrammer.ts +75 -75
  132. package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +1 -1
  133. package/src/programmers/internal/application_alias.ts +74 -74
  134. package/src/programmers/internal/application_array.ts +59 -59
  135. package/src/programmers/internal/application_boolean.ts +35 -35
  136. package/src/programmers/internal/application_constant.ts +25 -25
  137. package/src/programmers/internal/application_default.ts +17 -17
  138. package/src/programmers/internal/application_default_string.ts +33 -33
  139. package/src/programmers/internal/application_escaped.ts +52 -52
  140. package/src/programmers/internal/application_native.ts +34 -34
  141. package/src/programmers/internal/application_number.ts +97 -97
  142. package/src/programmers/internal/application_object.ts +183 -183
  143. package/src/programmers/internal/application_schema.ts +165 -165
  144. package/src/programmers/internal/application_string.ts +61 -61
  145. package/src/programmers/internal/application_templates.ts +24 -24
  146. package/src/programmers/internal/application_tuple.ts +54 -54
  147. package/src/programmers/internal/check_array_length.ts +45 -45
  148. package/src/programmers/internal/check_bigint.ts +49 -49
  149. package/src/programmers/internal/check_dynamic_key.ts +175 -175
  150. package/src/programmers/internal/check_dynamic_properties.ts +198 -198
  151. package/src/programmers/internal/check_everything.ts +23 -23
  152. package/src/programmers/internal/check_native.ts +21 -21
  153. package/src/programmers/internal/check_number.ts +106 -106
  154. package/src/programmers/internal/check_object.ts +60 -60
  155. package/src/programmers/internal/check_string.ts +48 -48
  156. package/src/programmers/internal/check_template.ts +61 -61
  157. package/src/programmers/internal/check_union_array_like.ts +307 -307
  158. package/src/programmers/internal/decode_union_object.ts +78 -78
  159. package/src/programmers/internal/feature_object_entries.ts +58 -58
  160. package/src/programmers/internal/metadata_to_pattern.ts +33 -33
  161. package/src/programmers/internal/prune_object_properties.ts +60 -60
  162. package/src/programmers/internal/random_custom.ts +37 -37
  163. package/src/programmers/internal/stringify_dynamic_properties.ts +157 -157
  164. package/src/programmers/internal/stringify_native.ts +7 -7
  165. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  166. package/src/programmers/internal/template_to_pattern.ts +15 -15
  167. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +20 -20
  168. package/src/programmers/json/JsonApplicationProgrammer.ts +49 -49
  169. package/src/programmers/json/JsonAssertParseProgrammer.ts +67 -67
  170. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +61 -61
  171. package/src/programmers/json/JsonIsParseProgrammer.ts +73 -73
  172. package/src/programmers/json/JsonIsStringifyProgrammer.ts +75 -75
  173. package/src/programmers/json/JsonStringifyProgrammer.ts +893 -893
  174. package/src/programmers/json/JsonValidateParseProgrammer.ts +64 -64
  175. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +83 -83
  176. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +63 -63
  177. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +60 -60
  178. package/src/programmers/misc/MiscCloneProgrammer.ts +713 -713
  179. package/src/programmers/misc/MiscIsCloneProgrammer.ts +70 -70
  180. package/src/programmers/misc/MiscIsPruneProgrammer.ts +66 -66
  181. package/src/programmers/misc/MiscLiteralsProgrammer.ts +72 -72
  182. package/src/programmers/misc/MiscPruneProgrammer.ts +523 -523
  183. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +80 -80
  184. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +73 -73
  185. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +64 -64
  186. package/src/programmers/notations/NotationGeneralProgrammer.ts +647 -647
  187. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +71 -71
  188. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +81 -81
  189. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +75 -75
  190. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +61 -61
  191. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +607 -607
  192. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +819 -819
  193. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +82 -82
  194. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +75 -75
  195. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +160 -160
  196. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +75 -75
  197. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +83 -83
  198. package/src/protobuf.ts +970 -970
  199. package/src/reflect.ts +57 -57
  200. package/src/schemas/json/IJsonApplication.ts +9 -9
  201. package/src/schemas/json/IJsonComponents.ts +19 -19
  202. package/src/schemas/json/IJsonSchema.ts +122 -122
  203. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  204. package/src/schemas/metadata/IMetadata.ts +34 -34
  205. package/src/schemas/metadata/IMetadataAlias.ts +12 -12
  206. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  207. package/src/schemas/metadata/IMetadataArray.ts +7 -7
  208. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  209. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  210. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  211. package/src/schemas/metadata/IMetadataConstant.ts +23 -23
  212. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  213. package/src/schemas/metadata/IMetadataEntry.ts +6 -6
  214. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  215. package/src/schemas/metadata/IMetadataObject.ts +13 -13
  216. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  217. package/src/schemas/metadata/IMetadataTuple.ts +7 -7
  218. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  219. package/src/schemas/metadata/IMetadataTypeTag.ts +15 -15
  220. package/src/schemas/metadata/Metadata.ts +612 -612
  221. package/src/schemas/metadata/MetadataAlias.ts +61 -61
  222. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  223. package/src/schemas/metadata/MetadataArray.ts +49 -49
  224. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  225. package/src/schemas/metadata/MetadataAtomic.ts +84 -84
  226. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  227. package/src/schemas/metadata/MetadataConstant.ts +46 -46
  228. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  229. package/src/schemas/metadata/MetadataObject.ts +154 -154
  230. package/src/schemas/metadata/MetadataProperty.ts +56 -56
  231. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  232. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  233. package/src/tags/Default.ts +15 -15
  234. package/src/tags/ExclusiveMaximum.ts +13 -13
  235. package/src/tags/ExclusiveMinimum.ts +13 -13
  236. package/src/tags/Format.ts +30 -30
  237. package/src/tags/MaxItems.ts +9 -9
  238. package/src/tags/MaxLength.ts +9 -9
  239. package/src/tags/Maximum.ts +13 -13
  240. package/src/tags/MinItems.ts +9 -9
  241. package/src/tags/MinLength.ts +9 -9
  242. package/src/tags/Minimum.ts +13 -13
  243. package/src/tags/MultipleOf.ts +15 -15
  244. package/src/tags/Pattern.ts +9 -9
  245. package/src/tags/TagBase.ts +68 -68
  246. package/src/tags/Type.ts +27 -27
  247. package/src/tags/index.ts +14 -14
  248. package/src/transform.ts +35 -35
  249. package/src/transformers/CallExpressionTransformer.ts +351 -351
  250. package/src/transformers/FileTransformer.ts +91 -91
  251. package/src/transformers/IProject.ts +15 -15
  252. package/src/transformers/ITransformOptions.ts +62 -62
  253. package/src/transformers/ImportTransformer.ts +66 -66
  254. package/src/transformers/NodeTransformer.ts +13 -13
  255. package/src/transformers/TransformerError.ts +55 -55
  256. package/src/transformers/features/AssertTransformer.ts +16 -16
  257. package/src/transformers/features/CreateAssertTransformer.ts +16 -16
  258. package/src/transformers/features/CreateIsTransformer.ts +10 -10
  259. package/src/transformers/features/CreateRandomTransformer.ts +40 -40
  260. package/src/transformers/features/CreateValidateTransformer.ts +13 -13
  261. package/src/transformers/features/IsTransformer.ts +10 -10
  262. package/src/transformers/features/RandomTransformer.ts +44 -44
  263. package/src/transformers/features/ValidateTransformer.ts +11 -11
  264. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +11 -11
  265. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +9 -9
  266. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +9 -9
  267. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +9 -9
  268. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +9 -9
  269. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +9 -9
  270. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +9 -9
  271. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +12 -12
  272. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +11 -11
  273. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +9 -9
  274. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +9 -9
  275. package/src/transformers/features/http/HttpHeadersTransformer.ts +9 -9
  276. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +9 -9
  277. package/src/transformers/features/http/HttpIsQueryTransformer.ts +9 -9
  278. package/src/transformers/features/http/HttpParameterTransformer.ts +9 -9
  279. package/src/transformers/features/http/HttpQueryTransformer.ts +9 -9
  280. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +10 -10
  281. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +9 -9
  282. package/src/transformers/features/json/JsonApplicationTransformer.ts +134 -134
  283. package/src/transformers/features/json/JsonAssertParseTransformer.ts +9 -9
  284. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +10 -10
  285. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +9 -9
  286. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +12 -12
  287. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +9 -9
  288. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +9 -9
  289. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +9 -9
  290. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +11 -11
  291. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +12 -12
  292. package/src/transformers/features/json/JsonIsParseTransformer.ts +9 -9
  293. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +9 -9
  294. package/src/transformers/features/json/JsonStringifyTransformer.ts +9 -9
  295. package/src/transformers/features/json/JsonValidateParseTransformer.ts +9 -9
  296. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +10 -10
  297. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +9 -9
  298. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +9 -9
  299. package/src/transformers/features/misc/MiscCloneTransformer.ts +9 -9
  300. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +9 -9
  301. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +9 -9
  302. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +9 -9
  303. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +9 -9
  304. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +9 -9
  305. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +9 -9
  306. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +11 -11
  307. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +11 -11
  308. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +9 -9
  309. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +9 -9
  310. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +32 -32
  311. package/src/transformers/features/misc/MiscPruneTransformer.ts +9 -9
  312. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +9 -9
  313. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +9 -9
  314. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +15 -15
  315. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +15 -15
  316. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +15 -15
  317. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +15 -15
  318. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +15 -15
  319. package/src/transformers/features/notations/NotationGeneralTransformer.ts +11 -11
  320. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +15 -15
  321. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +15 -15
  322. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +10 -10
  323. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +10 -10
  324. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +12 -12
  325. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +12 -12
  326. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +9 -9
  327. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +9 -9
  328. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +9 -9
  329. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +9 -9
  330. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +12 -12
  331. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +12 -12
  332. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +9 -9
  333. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +9 -9
  334. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +9 -9
  335. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +9 -9
  336. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +33 -33
  337. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +10 -10
  338. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +10 -10
  339. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +63 -63
  340. package/src/transformers/internal/GenericTransformer.ts +96 -96
  341. package/src/typings/Atomic.ts +13 -13
  342. package/src/typings/ClassProperties.ts +5 -5
  343. package/src/typings/Customizable.ts +5 -5
  344. package/src/typings/OmitNever.ts +3 -3
  345. package/src/typings/ProtobufAtomic.ts +19 -19
  346. package/src/typings/SpecialFields.ts +3 -3
  347. package/src/typings/ValidationPipe.ts +9 -9
  348. package/src/typings/Writable.ts +11 -11
  349. package/src/utils/ArrayUtil.ts +43 -43
  350. package/src/utils/Escaper.ts +46 -46
  351. package/src/utils/MapUtil.ts +12 -12
  352. package/src/utils/NameEncoder.ts +32 -32
  353. package/src/utils/NamingConvention/NamingConvention.ts +77 -77
  354. package/src/utils/NamingConvention/index.ts +1 -1
  355. package/src/utils/PatternUtil.ts +29 -29
  356. package/src/utils/RandomGenerator/RandomGenerator.ts +74 -74
  357. package/src/utils/RandomGenerator/index.ts +1 -1
  358. package/src/utils/Singleton.ts +16 -16
  359. package/src/utils/StringUtil/StringUtil.ts +2 -2
  360. package/src/utils/StringUtil/index.ts +1 -1
@@ -1,13 +1,13 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type ExclusiveMinimum<Value extends number | bigint> = TagBase<{
4
- target: Value extends number ? "number" : "bigint";
5
- kind: "exclusiveMinimum";
6
- value: Value;
7
- validate: `${Numeric<Value>} < $input`;
8
- exclusive: ["exclusiveMinimum", "minimum"];
9
- }>;
10
-
11
- type Numeric<Value extends number | bigint> = Value extends number
12
- ? Value
13
- : `BigInt(${Value})`;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type ExclusiveMinimum<Value extends number | bigint> = TagBase<{
4
+ target: Value extends number ? "number" : "bigint";
5
+ kind: "exclusiveMinimum";
6
+ value: Value;
7
+ validate: `${Numeric<Value>} < $input`;
8
+ exclusive: ["exclusiveMinimum", "minimum"];
9
+ }>;
10
+
11
+ type Numeric<Value extends number | bigint> = Value extends number
12
+ ? Value
13
+ : `BigInt(${Value})`;
@@ -1,30 +1,30 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type Format<
4
- Value extends
5
- | "email"
6
- | "uuid"
7
- | "ipv4"
8
- | "ipv6"
9
- | "url"
10
- | "date"
11
- | "date-time",
12
- > = TagBase<{
13
- target: "string";
14
- kind: "format";
15
- value: Value;
16
- validate: Value extends "email"
17
- ? `/^(([^<>()[\\]\\.,;:\\s@\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\"]+)*)|(\\".+\\"))@(([^<>()[\\]\\.,;:\\s@\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\"]{2,})$/i.test($input)`
18
- : Value extends "uuid"
19
- ? `/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test($input)`
20
- : Value extends "ipv4"
21
- ? `/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test($input)`
22
- : Value extends "ipv6"
23
- ? `/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test($input)`
24
- : Value extends "url"
25
- ? `/^[a-zA-Z0-9]+:\\/\\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test($input)`
26
- : Value extends "date"
27
- ? `/^(\\d{4})-(\\d{2})-(\\d{2})$/.test($input)`
28
- : `!isNaN(new Date($input).getTime())`;
29
- exclusive: ["format", "pattern"];
30
- }>;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type Format<
4
+ Value extends
5
+ | "email"
6
+ | "uuid"
7
+ | "ipv4"
8
+ | "ipv6"
9
+ | "url"
10
+ | "date"
11
+ | "date-time",
12
+ > = TagBase<{
13
+ target: "string";
14
+ kind: "format";
15
+ value: Value;
16
+ validate: Value extends "email"
17
+ ? `/^(([^<>()[\\]\\.,;:\\s@\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\"]+)*)|(\\".+\\"))@(([^<>()[\\]\\.,;:\\s@\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\"]{2,})$/i.test($input)`
18
+ : Value extends "uuid"
19
+ ? `/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test($input)`
20
+ : Value extends "ipv4"
21
+ ? `/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test($input)`
22
+ : Value extends "ipv6"
23
+ ? `/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test($input)`
24
+ : Value extends "url"
25
+ ? `/^[a-zA-Z0-9]+:\\/\\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test($input)`
26
+ : Value extends "date"
27
+ ? `/^(\\d{4})-(\\d{2})-(\\d{2})$/.test($input)`
28
+ : `!isNaN(new Date($input).getTime())`;
29
+ exclusive: ["format", "pattern"];
30
+ }>;
@@ -1,9 +1,9 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type MaxItems<Value extends number> = TagBase<{
4
- target: "array";
5
- kind: "maxItems";
6
- value: Value;
7
- validate: `$input.length <= ${Value}`;
8
- exclusive: true;
9
- }>;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type MaxItems<Value extends number> = TagBase<{
4
+ target: "array";
5
+ kind: "maxItems";
6
+ value: Value;
7
+ validate: `$input.length <= ${Value}`;
8
+ exclusive: true;
9
+ }>;
@@ -1,9 +1,9 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type MaxLength<Value extends number> = TagBase<{
4
- target: "string";
5
- kind: "maxLength";
6
- value: Value;
7
- validate: `$input.length <= ${Value}`;
8
- exclusive: true;
9
- }>;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type MaxLength<Value extends number> = TagBase<{
4
+ target: "string";
5
+ kind: "maxLength";
6
+ value: Value;
7
+ validate: `$input.length <= ${Value}`;
8
+ exclusive: true;
9
+ }>;
@@ -1,13 +1,13 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type Maximum<Value extends number | bigint> = TagBase<{
4
- target: Value extends number ? "number" : "bigint";
5
- kind: "maximum";
6
- value: Value;
7
- validate: `$input <= ${Numeric<Value>}`;
8
- exclusive: ["maximum", "exclusiveMaximum"];
9
- }>;
10
-
11
- type Numeric<Value extends number | bigint> = Value extends number
12
- ? Value
13
- : `BigInt(${Value})`;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type Maximum<Value extends number | bigint> = TagBase<{
4
+ target: Value extends number ? "number" : "bigint";
5
+ kind: "maximum";
6
+ value: Value;
7
+ validate: `$input <= ${Numeric<Value>}`;
8
+ exclusive: ["maximum", "exclusiveMaximum"];
9
+ }>;
10
+
11
+ type Numeric<Value extends number | bigint> = Value extends number
12
+ ? Value
13
+ : `BigInt(${Value})`;
@@ -1,9 +1,9 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type MinItems<Value extends number> = TagBase<{
4
- target: "array";
5
- kind: "minItems";
6
- value: Value;
7
- validate: `${Value} <= $input.length`;
8
- exclusive: true;
9
- }>;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type MinItems<Value extends number> = TagBase<{
4
+ target: "array";
5
+ kind: "minItems";
6
+ value: Value;
7
+ validate: `${Value} <= $input.length`;
8
+ exclusive: true;
9
+ }>;
@@ -1,9 +1,9 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type MinLength<Value extends number> = TagBase<{
4
- target: "string";
5
- kind: "minLength";
6
- value: Value;
7
- validate: `${Value} <= $input.length`;
8
- exclusive: true;
9
- }>;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type MinLength<Value extends number> = TagBase<{
4
+ target: "string";
5
+ kind: "minLength";
6
+ value: Value;
7
+ validate: `${Value} <= $input.length`;
8
+ exclusive: true;
9
+ }>;
@@ -1,13 +1,13 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type Minimum<Value extends number | bigint> = TagBase<{
4
- target: Value extends number ? "number" : "bigint";
5
- kind: "minimum";
6
- value: Value;
7
- validate: `${Numeric<Value>} <= $input`;
8
- exclusive: ["minimum", "exclusiveMinimum"];
9
- }>;
10
-
11
- type Numeric<Value extends number | bigint> = Value extends number
12
- ? Value
13
- : `BigInt(${Value})`;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type Minimum<Value extends number | bigint> = TagBase<{
4
+ target: Value extends number ? "number" : "bigint";
5
+ kind: "minimum";
6
+ value: Value;
7
+ validate: `${Numeric<Value>} <= $input`;
8
+ exclusive: ["minimum", "exclusiveMinimum"];
9
+ }>;
10
+
11
+ type Numeric<Value extends number | bigint> = Value extends number
12
+ ? Value
13
+ : `BigInt(${Value})`;
@@ -1,15 +1,15 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type MultipleOf<Value extends number | bigint> = TagBase<{
4
- target: Value extends bigint ? "bigint" : "number";
5
- kind: "multipleOf";
6
- value: Value;
7
- validate: `$input % ${Numeric<Value>} === ${Value extends bigint
8
- ? Numeric<0n>
9
- : 0}`;
10
- exclusive: true;
11
- }>;
12
-
13
- type Numeric<Value extends number | bigint> = Value extends number
14
- ? Value
15
- : `BigInt(${Value})`;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type MultipleOf<Value extends number | bigint> = TagBase<{
4
+ target: Value extends bigint ? "bigint" : "number";
5
+ kind: "multipleOf";
6
+ value: Value;
7
+ validate: `$input % ${Numeric<Value>} === ${Value extends bigint
8
+ ? Numeric<0n>
9
+ : 0}`;
10
+ exclusive: true;
11
+ }>;
12
+
13
+ type Numeric<Value extends number | bigint> = Value extends number
14
+ ? Value
15
+ : `BigInt(${Value})`;
@@ -1,9 +1,9 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type Pattern<Value extends string> = TagBase<{
4
- target: "string";
5
- kind: "pattern";
6
- value: Value;
7
- validate: `/${Value}/.test($input)`;
8
- exclusive: ["format", "pattern"];
9
- }>;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type Pattern<Value extends string> = TagBase<{
4
+ target: "string";
5
+ kind: "pattern";
6
+ value: Value;
7
+ validate: `/${Value}/.test($input)`;
8
+ exclusive: ["format", "pattern"];
9
+ }>;
@@ -1,68 +1,68 @@
1
- export type TagBase<Props extends TagBase.IProps<any, any, any, any, any>> = {
2
- /**
3
- * This is a dummy property for compilation.
4
- *
5
- * It does not mean anything in runtime.
6
- */
7
- "typia.tag"?: Props;
8
- };
9
- export namespace TagBase {
10
- export interface IProps<
11
- Target extends "boolean" | "bigint" | "number" | "string" | "array",
12
- Kind extends string,
13
- Value extends boolean | bigint | number | string | undefined,
14
- Validate extends
15
- | string
16
- | {
17
- [key in Target]?: string;
18
- },
19
- Exclusive extends boolean | string[],
20
- > {
21
- /**
22
- * Target type.
23
- *
24
- * If user tries to adapt this tag to a different type, it would be a compile
25
- * error.
26
- *
27
- * For example, you've configured target type as `string`, but user adapted it
28
- * onto a `number` type (`number & YourCustomTag<Value>`), then it would be
29
- * blocked by TypeScript compiler.
30
- */
31
- target: Target;
32
-
33
- /**
34
- * What kind of tag is this?
35
- */
36
- kind: Kind;
37
-
38
- /**
39
- * Value to be configured by user.
40
- */
41
- value: Value;
42
-
43
- /**
44
- * Validation script.
45
- *
46
- * This script would be inserted into the generated validation function.
47
- * In here script, target variable name must be `$input`. The variable name
48
- * `$input` would be transformed to the suitable when compilation.
49
- *
50
- * Also, If you've take a mistake on this script, compile error would be
51
- * occured. So, define it with confidence. Compiler will block all your
52
- * mistakes.
53
- */
54
- validate?: Validate;
55
-
56
- /**
57
- * Exclusive option.
58
- *
59
- * If this property configured as `true`, same {@link kind} tag cannot be
60
- * duplicated in the target type. Otherwise, if you've configured this
61
- * property as string array, all of the {@link kind} value assigned
62
- * tags cannot be compatible in the target type.
63
- *
64
- * @default false
65
- */
66
- exclusive?: Exclusive | string[];
67
- }
68
- }
1
+ export type TagBase<Props extends TagBase.IProps<any, any, any, any, any>> = {
2
+ /**
3
+ * This is a dummy property for compilation.
4
+ *
5
+ * It does not mean anything in runtime.
6
+ */
7
+ "typia.tag"?: Props;
8
+ };
9
+ export namespace TagBase {
10
+ export interface IProps<
11
+ Target extends "boolean" | "bigint" | "number" | "string" | "array",
12
+ Kind extends string,
13
+ Value extends boolean | bigint | number | string | undefined,
14
+ Validate extends
15
+ | string
16
+ | {
17
+ [key in Target]?: string;
18
+ },
19
+ Exclusive extends boolean | string[],
20
+ > {
21
+ /**
22
+ * Target type.
23
+ *
24
+ * If user tries to adapt this tag to a different type, it would be a compile
25
+ * error.
26
+ *
27
+ * For example, you've configured target type as `string`, but user adapted it
28
+ * onto a `number` type (`number & YourCustomTag<Value>`), then it would be
29
+ * blocked by TypeScript compiler.
30
+ */
31
+ target: Target;
32
+
33
+ /**
34
+ * What kind of tag is this?
35
+ */
36
+ kind: Kind;
37
+
38
+ /**
39
+ * Value to be configured by user.
40
+ */
41
+ value: Value;
42
+
43
+ /**
44
+ * Validation script.
45
+ *
46
+ * This script would be inserted into the generated validation function.
47
+ * In here script, target variable name must be `$input`. The variable name
48
+ * `$input` would be transformed to the suitable when compilation.
49
+ *
50
+ * Also, If you've take a mistake on this script, compile error would be
51
+ * occured. So, define it with confidence. Compiler will block all your
52
+ * mistakes.
53
+ */
54
+ validate?: Validate;
55
+
56
+ /**
57
+ * Exclusive option.
58
+ *
59
+ * If this property configured as `true`, same {@link kind} tag cannot be
60
+ * duplicated in the target type. Otherwise, if you've configured this
61
+ * property as string array, all of the {@link kind} value assigned
62
+ * tags cannot be compatible in the target type.
63
+ *
64
+ * @default false
65
+ */
66
+ exclusive?: Exclusive | string[];
67
+ }
68
+ }
package/src/tags/Type.ts CHANGED
@@ -1,27 +1,27 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type Type<
4
- Value extends "int32" | "uint32" | "int64" | "uint64" | "float" | "double",
5
- > = TagBase<{
6
- target: Value extends "int64" | "uint64" ? "bigint" | "number" : "number";
7
- kind: "type";
8
- value: Value;
9
- validate: Value extends "int32"
10
- ? `Math.floor($input) === $input && -2147483648 <= $input && $input <= 2147483647`
11
- : Value extends "uint32"
12
- ? `Math.floor($input) === $input && 0 <= $input && $input <= 4294967295`
13
- : Value extends "int64"
14
- ? {
15
- number: `Math.floor($input) === $input && -9223372036854775808 <= $input && $input <= 9223372036854775807`;
16
- bigint: `true`;
17
- }
18
- : Value extends "uint64"
19
- ? {
20
- number: `Math.floor($input) === $input && 0 <= $input && $input <= 18446744073709551615`;
21
- bigint: `BigInt(0) <= $input`;
22
- }
23
- : Value extends "float"
24
- ? `-1.175494351e38 <= $input && $input <= 3.4028235e38`
25
- : `true`;
26
- exclusive: true;
27
- }>;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type Type<
4
+ Value extends "int32" | "uint32" | "int64" | "uint64" | "float" | "double",
5
+ > = TagBase<{
6
+ target: Value extends "int64" | "uint64" ? "bigint" | "number" : "number";
7
+ kind: "type";
8
+ value: Value;
9
+ validate: Value extends "int32"
10
+ ? `Math.floor($input) === $input && -2147483648 <= $input && $input <= 2147483647`
11
+ : Value extends "uint32"
12
+ ? `Math.floor($input) === $input && 0 <= $input && $input <= 4294967295`
13
+ : Value extends "int64"
14
+ ? {
15
+ number: `Math.floor($input) === $input && -9223372036854775808 <= $input && $input <= 9223372036854775807`;
16
+ bigint: `true`;
17
+ }
18
+ : Value extends "uint64"
19
+ ? {
20
+ number: `Math.floor($input) === $input && 0 <= $input && $input <= 18446744073709551615`;
21
+ bigint: `BigInt(0) <= $input`;
22
+ }
23
+ : Value extends "float"
24
+ ? `-1.175494351e38 <= $input && $input <= 3.4028235e38`
25
+ : `true`;
26
+ exclusive: true;
27
+ }>;
package/src/tags/index.ts CHANGED
@@ -1,14 +1,14 @@
1
- export * from "./Default";
2
- export * from "./ExclusiveMaximum";
3
- export * from "./ExclusiveMinimum";
4
- export * from "./Format";
5
- export * from "./Maximum";
6
- export * from "./MaxItems";
7
- export * from "./MaxLength";
8
- export * from "./Minimum";
9
- export * from "./MinItems";
10
- export * from "./MinLength";
11
- export * from "./MultipleOf";
12
- export * from "./Pattern";
13
- export * from "./TagBase";
14
- export * from "./Type";
1
+ export * from "./Default";
2
+ export * from "./ExclusiveMaximum";
3
+ export * from "./ExclusiveMinimum";
4
+ export * from "./Format";
5
+ export * from "./Maximum";
6
+ export * from "./MaxItems";
7
+ export * from "./MaxLength";
8
+ export * from "./Minimum";
9
+ export * from "./MinItems";
10
+ export * from "./MinLength";
11
+ export * from "./MultipleOf";
12
+ export * from "./Pattern";
13
+ export * from "./TagBase";
14
+ export * from "./Type";
package/src/transform.ts CHANGED
@@ -1,35 +1,35 @@
1
- import ts from "typescript";
2
-
3
- import { FileTransformer } from "./transformers/FileTransformer";
4
- import { IProject } from "./transformers/IProject";
5
- import { ITransformOptions } from "./transformers/ITransformOptions";
6
-
7
- export const transform = (
8
- program: ts.Program,
9
- options: ITransformOptions | undefined,
10
- extras: IProject["extras"],
11
- ): ts.TransformerFactory<ts.SourceFile> => {
12
- const compilerOptions: ts.CompilerOptions = program.getCompilerOptions();
13
- const strict: boolean =
14
- compilerOptions.strictNullChecks !== undefined
15
- ? !!compilerOptions.strictNullChecks
16
- : !!compilerOptions.strict;
17
- if (strict === false)
18
- extras.addDiagnostic({
19
- category: ts.DiagnosticCategory.Error,
20
- code: "(typia)" as any,
21
- file: undefined,
22
- start: undefined,
23
- length: undefined,
24
- messageText: "strict mode is required.",
25
- });
26
- return FileTransformer.transform({
27
- program,
28
- compilerOptions,
29
- checker: program.getTypeChecker(),
30
- printer: ts.createPrinter(),
31
- options: options ?? {},
32
- extras,
33
- });
34
- };
35
- export default transform;
1
+ import ts from "typescript";
2
+
3
+ import { FileTransformer } from "./transformers/FileTransformer";
4
+ import { IProject } from "./transformers/IProject";
5
+ import { ITransformOptions } from "./transformers/ITransformOptions";
6
+
7
+ export const transform = (
8
+ program: ts.Program,
9
+ options: ITransformOptions | undefined,
10
+ extras: IProject["extras"],
11
+ ): ts.TransformerFactory<ts.SourceFile> => {
12
+ const compilerOptions: ts.CompilerOptions = program.getCompilerOptions();
13
+ const strict: boolean =
14
+ compilerOptions.strictNullChecks !== undefined
15
+ ? !!compilerOptions.strictNullChecks
16
+ : !!compilerOptions.strict;
17
+ if (strict === false)
18
+ extras.addDiagnostic({
19
+ category: ts.DiagnosticCategory.Error,
20
+ code: "(typia)" as any,
21
+ file: undefined,
22
+ start: undefined,
23
+ length: undefined,
24
+ messageText: "strict mode is required.",
25
+ });
26
+ return FileTransformer.transform({
27
+ program,
28
+ compilerOptions,
29
+ checker: program.getTypeChecker(),
30
+ printer: ts.createPrinter(),
31
+ options: options ?? {},
32
+ extras,
33
+ });
34
+ };
35
+ export default transform;