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,150 +1,150 @@
1
- import { $ProtobufSizer } from "./$ProtobufSizer";
2
- import { IProtobufWriter } from "./IProtobufWriter";
3
-
4
- /// @reference https://github.com/piotr-oles/as-proto/blob/main/packages/as-proto/assembly/internal/FixedWriter.ts
5
- export class $ProtobufWriter implements IProtobufWriter {
6
- /**
7
- * Related sizer
8
- */
9
- private readonly sizer: $ProtobufSizer;
10
-
11
- /**
12
- * Current pointer.
13
- */
14
- private ptr: number;
15
-
16
- /**
17
- * Protobuf buffer.
18
- */
19
- private buf: Uint8Array;
20
-
21
- /**
22
- * DataView for buffer.
23
- */
24
- private view: DataView;
25
-
26
- /**
27
- * Index in varlen array from sizer.
28
- */
29
- private varlenidx: number;
30
-
31
- constructor(sizer: $ProtobufSizer) {
32
- this.sizer = sizer;
33
- this.buf = new Uint8Array(sizer.len);
34
- this.view = new DataView(this.buf.buffer);
35
- this.ptr = 0;
36
- this.varlenidx = 0;
37
- }
38
-
39
- buffer(): Uint8Array {
40
- return this.buf;
41
- }
42
-
43
- bool(value: boolean): void {
44
- this.byte(value ? 1 : 0);
45
- }
46
-
47
- byte(value: number): void {
48
- this.buf[this.ptr++] = value & 255;
49
- }
50
-
51
- int32(value: number): void {
52
- if (value < 0) this.int64(value);
53
- else this.variant32(value >>> 0);
54
- }
55
-
56
- sint32(value: number): void {
57
- this.variant32((value << 1) ^ (value >> 31));
58
- }
59
-
60
- uint32(value: number): void {
61
- this.variant32(value);
62
- }
63
-
64
- sint64(value: number | bigint): void {
65
- value = BigInt(value);
66
- this.variant64((value << ND01) ^ (value >> ND63));
67
- }
68
-
69
- int64(value: number | bigint): void {
70
- this.variant64(BigInt(value));
71
- }
72
-
73
- uint64(value: number | bigint): void {
74
- this.variant64(BigInt(value));
75
- }
76
-
77
- float(val: number): void {
78
- this.view.setFloat32(this.ptr, val, true);
79
- this.ptr += 4;
80
- }
81
-
82
- double(val: number): void {
83
- this.view.setFloat64(this.ptr, val, true);
84
- this.ptr += 8;
85
- }
86
-
87
- bytes(value: Uint8Array): void {
88
- this.uint32(value.byteLength);
89
- for (let i = 0; i < value.byteLength; i++) this.buf[this.ptr++] = value[i]!;
90
- }
91
-
92
- string(value: string): void {
93
- const len: number = this.varlen(); // use precomputed length
94
- this.uint32(len);
95
-
96
- const binary: Uint8Array = utf8.encode(value);
97
- for (let i = 0; i < binary.byteLength; i++)
98
- this.buf[this.ptr++] = binary[i]!;
99
- }
100
-
101
- fork(): void {
102
- this.uint32(this.varlen()); // use precomputed length
103
- }
104
-
105
- ldelim(): void {
106
- // nothing to do - all dirty work done by sizer
107
- }
108
-
109
- finish(): Uint8Array {
110
- return this.buf;
111
- }
112
-
113
- reset(): void {
114
- this.buf = new Uint8Array(this.sizer.len);
115
- this.view = new DataView(this.buf.buffer);
116
- this.ptr = 0;
117
- this.varlenidx = 0;
118
- }
119
-
120
- private variant32(val: number): void {
121
- while (val > 0x7f) {
122
- this.buf[this.ptr++] = (val & 0x7f) | 0x80;
123
- val = val >>> 7;
124
- }
125
- this.buf[this.ptr++] = val;
126
- }
127
-
128
- private variant64(val: bigint): void {
129
- val = BigInt.asUintN(64, val);
130
- while (val > NX7F) {
131
- this.buf[this.ptr++] = Number((val & NX7F) | NX80);
132
- val = val >> ND07;
133
- }
134
- this.buf[this.ptr++] = Number(val);
135
- }
136
-
137
- private varlen(): number {
138
- return this.varlenidx >= this.sizer.varlen.length
139
- ? 0
140
- : this.sizer.varlen[this.varlenidx++]!;
141
- }
142
- }
143
-
144
- const utf8 = /** @__PURE__ */ new TextEncoder();
145
-
146
- const ND01 = /** @__PURE__ */ BigInt(1);
147
- const ND07 = /** @__PURE__ */ BigInt(7);
148
- const ND63 = /** @__PURE__ */ BigInt(63);
149
- const NX7F = /** @__PURE__ */ BigInt(0x7f);
150
- const NX80 = /** @__PURE__ */ BigInt(0x80);
1
+ import { $ProtobufSizer } from "./$ProtobufSizer";
2
+ import { IProtobufWriter } from "./IProtobufWriter";
3
+
4
+ /// @reference https://github.com/piotr-oles/as-proto/blob/main/packages/as-proto/assembly/internal/FixedWriter.ts
5
+ export class $ProtobufWriter implements IProtobufWriter {
6
+ /**
7
+ * Related sizer
8
+ */
9
+ private readonly sizer: $ProtobufSizer;
10
+
11
+ /**
12
+ * Current pointer.
13
+ */
14
+ private ptr: number;
15
+
16
+ /**
17
+ * Protobuf buffer.
18
+ */
19
+ private buf: Uint8Array;
20
+
21
+ /**
22
+ * DataView for buffer.
23
+ */
24
+ private view: DataView;
25
+
26
+ /**
27
+ * Index in varlen array from sizer.
28
+ */
29
+ private varlenidx: number;
30
+
31
+ constructor(sizer: $ProtobufSizer) {
32
+ this.sizer = sizer;
33
+ this.buf = new Uint8Array(sizer.len);
34
+ this.view = new DataView(this.buf.buffer);
35
+ this.ptr = 0;
36
+ this.varlenidx = 0;
37
+ }
38
+
39
+ buffer(): Uint8Array {
40
+ return this.buf;
41
+ }
42
+
43
+ bool(value: boolean): void {
44
+ this.byte(value ? 1 : 0);
45
+ }
46
+
47
+ byte(value: number): void {
48
+ this.buf[this.ptr++] = value & 255;
49
+ }
50
+
51
+ int32(value: number): void {
52
+ if (value < 0) this.int64(value);
53
+ else this.variant32(value >>> 0);
54
+ }
55
+
56
+ sint32(value: number): void {
57
+ this.variant32((value << 1) ^ (value >> 31));
58
+ }
59
+
60
+ uint32(value: number): void {
61
+ this.variant32(value);
62
+ }
63
+
64
+ sint64(value: number | bigint): void {
65
+ value = BigInt(value);
66
+ this.variant64((value << ND01) ^ (value >> ND63));
67
+ }
68
+
69
+ int64(value: number | bigint): void {
70
+ this.variant64(BigInt(value));
71
+ }
72
+
73
+ uint64(value: number | bigint): void {
74
+ this.variant64(BigInt(value));
75
+ }
76
+
77
+ float(val: number): void {
78
+ this.view.setFloat32(this.ptr, val, true);
79
+ this.ptr += 4;
80
+ }
81
+
82
+ double(val: number): void {
83
+ this.view.setFloat64(this.ptr, val, true);
84
+ this.ptr += 8;
85
+ }
86
+
87
+ bytes(value: Uint8Array): void {
88
+ this.uint32(value.byteLength);
89
+ for (let i = 0; i < value.byteLength; i++) this.buf[this.ptr++] = value[i]!;
90
+ }
91
+
92
+ string(value: string): void {
93
+ const len: number = this.varlen(); // use precomputed length
94
+ this.uint32(len);
95
+
96
+ const binary: Uint8Array = utf8.encode(value);
97
+ for (let i = 0; i < binary.byteLength; i++)
98
+ this.buf[this.ptr++] = binary[i]!;
99
+ }
100
+
101
+ fork(): void {
102
+ this.uint32(this.varlen()); // use precomputed length
103
+ }
104
+
105
+ ldelim(): void {
106
+ // nothing to do - all dirty work done by sizer
107
+ }
108
+
109
+ finish(): Uint8Array {
110
+ return this.buf;
111
+ }
112
+
113
+ reset(): void {
114
+ this.buf = new Uint8Array(this.sizer.len);
115
+ this.view = new DataView(this.buf.buffer);
116
+ this.ptr = 0;
117
+ this.varlenidx = 0;
118
+ }
119
+
120
+ private variant32(val: number): void {
121
+ while (val > 0x7f) {
122
+ this.buf[this.ptr++] = (val & 0x7f) | 0x80;
123
+ val = val >>> 7;
124
+ }
125
+ this.buf[this.ptr++] = val;
126
+ }
127
+
128
+ private variant64(val: bigint): void {
129
+ val = BigInt.asUintN(64, val);
130
+ while (val > NX7F) {
131
+ this.buf[this.ptr++] = Number((val & NX7F) | NX80);
132
+ val = val >> ND07;
133
+ }
134
+ this.buf[this.ptr++] = Number(val);
135
+ }
136
+
137
+ private varlen(): number {
138
+ return this.varlenidx >= this.sizer.varlen.length
139
+ ? 0
140
+ : this.sizer.varlen[this.varlenidx++]!;
141
+ }
142
+ }
143
+
144
+ const utf8 = /** @__PURE__ */ new TextEncoder();
145
+
146
+ const ND01 = /** @__PURE__ */ BigInt(1);
147
+ const ND07 = /** @__PURE__ */ BigInt(7);
148
+ const ND63 = /** @__PURE__ */ BigInt(63);
149
+ const NX7F = /** @__PURE__ */ BigInt(0x7f);
150
+ const NX80 = /** @__PURE__ */ BigInt(0x80);
@@ -1,46 +1,46 @@
1
- export const boolean = (str: string | null): boolean | null | undefined =>
2
- str === null
3
- ? undefined
4
- : str === "null"
5
- ? null
6
- : str.length === 0
7
- ? true
8
- : str === "true" || str === "1"
9
- ? true
10
- : str === "false" || str === "0"
11
- ? false
12
- : (str as any); // wrong type
13
-
14
- export const number = (str: string | null): number | null | undefined =>
15
- !!str?.length ? (str === "null" ? null : (toNumber(str) as any)) : undefined;
16
-
17
- export const bigint = (str: string | null): bigint | null | undefined =>
18
- !!str?.length ? (str === "null" ? null : (toBigint(str) as any)) : undefined;
19
-
20
- export const string = (str: string | null): string | null | undefined =>
21
- str === null ? undefined : str === "null" ? null : str;
22
-
23
- export const params = (input: string | URLSearchParams) => {
24
- if (typeof input === "string") {
25
- const index: number = input.indexOf("?");
26
- input = index === -1 ? "" : input.substring(index + 1);
27
- return new URLSearchParams(input);
28
- }
29
- return input;
30
- };
31
-
32
- export const array = (input: any[], alternative: null | undefined) =>
33
- input.length ? input : alternative;
34
-
35
- const toNumber = (str: string): number | string => {
36
- const value: number = Number(str);
37
- return isNaN(value) ? str : value;
38
- };
39
-
40
- const toBigint = (str: string): bigint | string => {
41
- try {
42
- return BigInt(str);
43
- } catch {
44
- return str;
45
- }
46
- };
1
+ export const boolean = (str: string | null): boolean | null | undefined =>
2
+ str === null
3
+ ? undefined
4
+ : str === "null"
5
+ ? null
6
+ : str.length === 0
7
+ ? true
8
+ : str === "true" || str === "1"
9
+ ? true
10
+ : str === "false" || str === "0"
11
+ ? false
12
+ : (str as any); // wrong type
13
+
14
+ export const number = (str: string | null): number | null | undefined =>
15
+ !!str?.length ? (str === "null" ? null : (toNumber(str) as any)) : undefined;
16
+
17
+ export const bigint = (str: string | null): bigint | null | undefined =>
18
+ !!str?.length ? (str === "null" ? null : (toBigint(str) as any)) : undefined;
19
+
20
+ export const string = (str: string | null): string | null | undefined =>
21
+ str === null ? undefined : str === "null" ? null : str;
22
+
23
+ export const params = (input: string | URLSearchParams) => {
24
+ if (typeof input === "string") {
25
+ const index: number = input.indexOf("?");
26
+ input = index === -1 ? "" : input.substring(index + 1);
27
+ return new URLSearchParams(input);
28
+ }
29
+ return input;
30
+ };
31
+
32
+ export const array = (input: any[], alternative: null | undefined) =>
33
+ input.length ? input : alternative;
34
+
35
+ const toNumber = (str: string): number | string => {
36
+ const value: number = Number(str);
37
+ return isNaN(value) ? str : value;
38
+ };
39
+
40
+ const toBigint = (str: string): bigint | string => {
41
+ try {
42
+ return BigInt(str);
43
+ } catch {
44
+ return str;
45
+ }
46
+ };
@@ -1 +1 @@
1
- export * as $QueryReader from "./$QueryReader";
1
+ export * as $QueryReader from "./$QueryReader";
@@ -1,4 +1,4 @@
1
- import { $clone } from "./$clone";
2
-
3
- export const $any = (val: any): any =>
4
- val !== undefined ? $clone(val) : undefined;
1
+ import { $clone } from "./$clone";
2
+
3
+ export const $any = (val: any): any =>
4
+ val !== undefined ? $clone(val) : undefined;
@@ -1,4 +1,4 @@
1
- import { Primitive } from "../Primitive";
2
-
3
- export const $clone = <T>(value: T): Primitive<T> =>
4
- JSON.parse(JSON.stringify(value));
1
+ import { Primitive } from "../Primitive";
2
+
3
+ export const $clone = <T>(value: T): Primitive<T> =>
4
+ JSON.parse(JSON.stringify(value));
@@ -1,37 +1,37 @@
1
- export const $convention = (rename: (str: string) => string) => {
2
- const main = (input: any): any => {
3
- if (typeof input === "object")
4
- if (input === null) return null;
5
- else if (Array.isArray(input)) return input.map(main);
6
- else if (
7
- input instanceof Boolean ||
8
- input instanceof BigInt ||
9
- input instanceof Number ||
10
- input instanceof String
11
- )
12
- return input.valueOf();
13
- else if (input instanceof Date) return new Date(input);
14
- else if (
15
- input instanceof Uint8Array ||
16
- input instanceof Uint8ClampedArray ||
17
- input instanceof Uint16Array ||
18
- input instanceof Uint32Array ||
19
- input instanceof BigUint64Array ||
20
- input instanceof Int8Array ||
21
- input instanceof Int16Array ||
22
- input instanceof Int32Array ||
23
- input instanceof BigInt64Array ||
24
- input instanceof Float32Array ||
25
- input instanceof Float64Array ||
26
- input instanceof DataView
27
- )
28
- return input;
29
- else return object(input);
30
- return input;
31
- };
32
- const object = (input: Record<string, any>) =>
33
- Object.fromEntries(
34
- Object.entries(input).map(([key, value]) => [rename(key), main(value)]),
35
- );
36
- return main;
37
- };
1
+ export const $convention = (rename: (str: string) => string) => {
2
+ const main = (input: any): any => {
3
+ if (typeof input === "object")
4
+ if (input === null) return null;
5
+ else if (Array.isArray(input)) return input.map(main);
6
+ else if (
7
+ input instanceof Boolean ||
8
+ input instanceof BigInt ||
9
+ input instanceof Number ||
10
+ input instanceof String
11
+ )
12
+ return input.valueOf();
13
+ else if (input instanceof Date) return new Date(input);
14
+ else if (
15
+ input instanceof Uint8Array ||
16
+ input instanceof Uint8ClampedArray ||
17
+ input instanceof Uint16Array ||
18
+ input instanceof Uint32Array ||
19
+ input instanceof BigUint64Array ||
20
+ input instanceof Int8Array ||
21
+ input instanceof Int16Array ||
22
+ input instanceof Int32Array ||
23
+ input instanceof BigInt64Array ||
24
+ input instanceof Float32Array ||
25
+ input instanceof Float64Array ||
26
+ input instanceof DataView
27
+ )
28
+ return input;
29
+ else return object(input);
30
+ return input;
31
+ };
32
+ const object = (input: Record<string, any>) =>
33
+ Object.fromEntries(
34
+ Object.entries(input).map(([key, value]) => [rename(key), main(value)]),
35
+ );
36
+ return main;
37
+ };
@@ -1,22 +1,22 @@
1
- import { Customizable } from "../typings/Customizable";
2
-
3
- /**
4
- * @internal
5
- */
6
- const blackhole: any = {};
7
-
8
- export const $dictionary = (() => {
9
- const glob: {
10
- __typia_custom_validator: Map<
11
- `${string}`,
12
- Map<keyof Customizable, (tagText: string) => (value: any) => boolean>
13
- >;
14
- } =
15
- typeof global === "object" &&
16
- typeof global.process === "object" &&
17
- typeof global.process.versions === "object" &&
18
- typeof global.process.versions.node !== "undefined"
19
- ? ((global ?? blackhole) as any)
20
- : ((self ?? blackhole) as any);
21
- return (glob.__typia_custom_validator ??= new Map());
22
- })();
1
+ import { Customizable } from "../typings/Customizable";
2
+
3
+ /**
4
+ * @internal
5
+ */
6
+ const blackhole: any = {};
7
+
8
+ export const $dictionary = (() => {
9
+ const glob: {
10
+ __typia_custom_validator: Map<
11
+ `${string}`,
12
+ Map<keyof Customizable, (tagText: string) => (value: any) => boolean>
13
+ >;
14
+ } =
15
+ typeof global === "object" &&
16
+ typeof global.process === "object" &&
17
+ typeof global.process.versions === "object" &&
18
+ typeof global.process.versions.node !== "undefined"
19
+ ? ((global ?? blackhole) as any)
20
+ : ((self ?? blackhole) as any);
21
+ return (glob.__typia_custom_validator ??= new Map());
22
+ })();
@@ -1,11 +1,11 @@
1
- import { TypeGuardError } from "../TypeGuardError";
2
-
3
- export const $every = <T>(
4
- array: T[],
5
- pred: (value: T, i: number) => null | Omit<TypeGuardError.IProps, "method">,
6
- ): null | Omit<TypeGuardError.IProps, "method"> => {
7
- let error: null | Omit<TypeGuardError.IProps, "method"> = null;
8
- for (let i: number = 0; i < array.length; ++i)
9
- if (null !== (error = pred(array[i]!, i))) return error;
10
- return null;
11
- };
1
+ import { TypeGuardError } from "../TypeGuardError";
2
+
3
+ export const $every = <T>(
4
+ array: T[],
5
+ pred: (value: T, i: number) => null | Omit<TypeGuardError.IProps, "method">,
6
+ ): null | Omit<TypeGuardError.IProps, "method"> => {
7
+ let error: null | Omit<TypeGuardError.IProps, "method"> = null;
8
+ for (let i: number = 0; i < array.length; ++i)
9
+ if (null !== (error = pred(array[i]!, i))) return error;
10
+ return null;
11
+ };
@@ -1,35 +1,35 @@
1
- import { TypeGuardError } from "../TypeGuardError";
2
-
3
- /* -----------------------------------------------------------
4
- ASSERT V2 -> USE (NULL OR ERROR) CONDITION
5
- ----------------------------------------------------------- */
6
- // /**
7
- // * @internal
8
- // */
9
- // export const $guardV2 =
10
- // (method: string) => (props: Omit<TypeGuardError.IProps, "method">) =>
11
- // new TypeGuardError({
12
- // method,
13
- // path: props.path,
14
- // expected: props.expected,
15
- // value: props.value,
16
- // });
17
-
18
- /* -----------------------------------------------------------
19
- ASSERT V3 -> (CONDITION OR THROW(exceptable): FALSE)
20
- ----------------------------------------------------------- */
21
- /**
22
- * @internal
23
- */
24
- export const $guard =
25
- (method: string) =>
26
- (exceptionable: boolean, props: Omit<TypeGuardError.IProps, "method">) => {
27
- if (exceptionable === true)
28
- throw new TypeGuardError({
29
- method,
30
- path: props.path,
31
- expected: props.expected,
32
- value: props.value,
33
- });
34
- return false;
35
- };
1
+ import { TypeGuardError } from "../TypeGuardError";
2
+
3
+ /* -----------------------------------------------------------
4
+ ASSERT V2 -> USE (NULL OR ERROR) CONDITION
5
+ ----------------------------------------------------------- */
6
+ // /**
7
+ // * @internal
8
+ // */
9
+ // export const $guardV2 =
10
+ // (method: string) => (props: Omit<TypeGuardError.IProps, "method">) =>
11
+ // new TypeGuardError({
12
+ // method,
13
+ // path: props.path,
14
+ // expected: props.expected,
15
+ // value: props.value,
16
+ // });
17
+
18
+ /* -----------------------------------------------------------
19
+ ASSERT V3 -> (CONDITION OR THROW(exceptable): FALSE)
20
+ ----------------------------------------------------------- */
21
+ /**
22
+ * @internal
23
+ */
24
+ export const $guard =
25
+ (method: string) =>
26
+ (exceptionable: boolean, props: Omit<TypeGuardError.IProps, "method">) => {
27
+ if (exceptionable === true)
28
+ throw new TypeGuardError({
29
+ method,
30
+ path: props.path,
31
+ expected: props.expected,
32
+ value: props.value,
33
+ });
34
+ return false;
35
+ };
@@ -1,2 +1,2 @@
1
- export const $is_between = (value: number, minimum: number, maximum: number) =>
2
- minimum <= value && value <= maximum;
1
+ export const $is_between = (value: number, minimum: number, maximum: number) =>
2
+ minimum <= value && value <= maximum;