typia 5.3.12-dev.20240119 → 5.3.12-dev.20240122

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 (369) hide show
  1. package/lib/json.js +7 -7
  2. package/lib/json.js.map +1 -1
  3. package/lib/misc.js +8 -8
  4. package/lib/misc.js.map +1 -1
  5. package/lib/module.js +9 -9
  6. package/lib/module.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/AssertionGuard.ts +1 -1
  9. package/src/CamelCase.ts +114 -114
  10. package/src/IRandomGenerator.ts +35 -35
  11. package/src/IValidation.ts +21 -21
  12. package/src/PascalCase.ts +114 -114
  13. package/src/Primitive.ts +135 -135
  14. package/src/Resolved.ts +116 -116
  15. package/src/SnakeCase.ts +156 -156
  16. package/src/TypeGuardError.ts +36 -36
  17. package/src/executable/TypiaGenerateWizard.ts +83 -83
  18. package/src/executable/TypiaPatchWizard.ts +42 -42
  19. package/src/executable/TypiaSetupWizard.ts +151 -151
  20. package/src/executable/setup/ArgumentParser.ts +43 -43
  21. package/src/executable/setup/CommandExecutor.ts +8 -8
  22. package/src/executable/setup/FileRetriever.ts +22 -22
  23. package/src/executable/setup/PackageManager.ts +71 -71
  24. package/src/executable/setup/PluginConfigurator.ts +69 -69
  25. package/src/executable/typia.ts +55 -55
  26. package/src/factories/CommentFactory.ts +79 -79
  27. package/src/factories/ExpressionFactory.ts +150 -150
  28. package/src/factories/IdentifierFactory.ts +70 -70
  29. package/src/factories/JsonMetadataFactory.ts +53 -53
  30. package/src/factories/LiteralFactory.ts +47 -47
  31. package/src/factories/MetadataCollection.ts +260 -260
  32. package/src/factories/MetadataCommentTagFactory.ts +601 -601
  33. package/src/factories/MetadataFactory.ts +267 -267
  34. package/src/factories/MetadataTypeTagFactory.ts +313 -313
  35. package/src/factories/NumericRangeFactory.ts +72 -72
  36. package/src/factories/ProtobufFactory.ts +259 -259
  37. package/src/factories/StatementFactory.ts +72 -72
  38. package/src/factories/TemplateFactory.ts +56 -56
  39. package/src/factories/TypeFactory.ts +118 -118
  40. package/src/factories/ValueFactory.ts +12 -12
  41. package/src/factories/internal/metadata/MetadataHelper.ts +15 -15
  42. package/src/factories/internal/metadata/emend_metadata_atomics.ts +37 -37
  43. package/src/factories/internal/metadata/emplace_metadata_alias.ts +41 -41
  44. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +38 -38
  45. package/src/factories/internal/metadata/emplace_metadata_object.ts +175 -175
  46. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  47. package/src/factories/internal/metadata/explore_metadata.ts +28 -28
  48. package/src/factories/internal/metadata/iterate_metadata.ts +94 -94
  49. package/src/factories/internal/metadata/iterate_metadata_alias.ts +34 -34
  50. package/src/factories/internal/metadata/iterate_metadata_array.ts +37 -37
  51. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  52. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
  53. package/src/factories/internal/metadata/iterate_metadata_collection.ts +131 -131
  54. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +26 -26
  55. package/src/factories/internal/metadata/iterate_metadata_constant.ts +48 -48
  56. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +230 -230
  57. package/src/factories/internal/metadata/iterate_metadata_map.ts +50 -50
  58. package/src/factories/internal/metadata/iterate_metadata_native.ts +208 -208
  59. package/src/factories/internal/metadata/iterate_metadata_object.ts +43 -43
  60. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +52 -52
  61. package/src/factories/internal/metadata/iterate_metadata_set.ts +41 -41
  62. package/src/factories/internal/metadata/iterate_metadata_sort.ts +61 -61
  63. package/src/factories/internal/metadata/iterate_metadata_template.ts +44 -44
  64. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +37 -37
  65. package/src/factories/internal/metadata/iterate_metadata_union.ts +27 -27
  66. package/src/functional/$HeadersReader/$HeadersReader.ts +26 -26
  67. package/src/functional/$HeadersReader/index.ts +1 -1
  68. package/src/functional/$ParameterReader/$ParameterReader.ts +29 -29
  69. package/src/functional/$ParameterReader/index.ts +1 -1
  70. package/src/functional/$ProtobufReader.ts +195 -195
  71. package/src/functional/$ProtobufSizer.ts +147 -147
  72. package/src/functional/$ProtobufWriter.ts +150 -150
  73. package/src/functional/$QueryReader/$QueryReader.ts +46 -46
  74. package/src/functional/$QueryReader/index.ts +1 -1
  75. package/src/functional/$any.ts +4 -4
  76. package/src/functional/$clone.ts +4 -4
  77. package/src/functional/$convention.ts +37 -37
  78. package/src/functional/$dictionary.ts +22 -22
  79. package/src/functional/$every.ts +11 -11
  80. package/src/functional/$guard.ts +35 -35
  81. package/src/functional/$is_between.ts +2 -2
  82. package/src/functional/$join.ts +46 -46
  83. package/src/functional/$number.ts +12 -12
  84. package/src/functional/$report.ts +13 -13
  85. package/src/functional/$rest.ts +3 -3
  86. package/src/functional/$stoll.ts +8 -8
  87. package/src/functional/$string.ts +50 -50
  88. package/src/functional/$strlen.ts +7 -7
  89. package/src/functional/$tail.ts +5 -5
  90. package/src/functional/$throws.ts +10 -10
  91. package/src/functional/$varint.ts +130 -130
  92. package/src/functional/$zigzag.ts +39 -39
  93. package/src/functional/IProtobufWriter.ts +18 -18
  94. package/src/functional/Namespace/http.ts +7 -7
  95. package/src/functional/Namespace/index.ts +75 -75
  96. package/src/functional/Namespace/json.ts +15 -15
  97. package/src/functional/Namespace/misc.ts +14 -14
  98. package/src/functional/Namespace/notations.ts +23 -23
  99. package/src/functional/Namespace/protobuf.ts +20 -20
  100. package/src/functional/is.ts +10 -10
  101. package/src/http.ts +1267 -1267
  102. package/src/index.ts +4 -4
  103. package/src/json.ts +724 -724
  104. package/src/misc.ts +726 -726
  105. package/src/module.ts +965 -965
  106. package/src/notations.ts +977 -977
  107. package/src/programmers/AssertProgrammer.ts +293 -293
  108. package/src/programmers/CheckerProgrammer.ts +1025 -1025
  109. package/src/programmers/FeatureProgrammer.ts +460 -460
  110. package/src/programmers/IsProgrammer.ts +232 -232
  111. package/src/programmers/RandomProgrammer.ts +825 -825
  112. package/src/programmers/TypiaProgrammer.ts +167 -167
  113. package/src/programmers/ValidateProgrammer.ts +307 -307
  114. package/src/programmers/helpers/AtomicPredicator.ts +25 -25
  115. package/src/programmers/helpers/CloneJoiner.ts +130 -130
  116. package/src/programmers/helpers/FunctionImporeter.ts +87 -87
  117. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  118. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  119. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  120. package/src/programmers/helpers/NotationJoiner.ts +132 -132
  121. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  122. package/src/programmers/helpers/ProtobufUtil.ts +125 -125
  123. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  124. package/src/programmers/helpers/PruneJoiner.ts +141 -141
  125. package/src/programmers/helpers/RandomJoiner.ts +140 -140
  126. package/src/programmers/helpers/RandomRanger.ts +171 -171
  127. package/src/programmers/helpers/StringifyJoinder.ts +105 -105
  128. package/src/programmers/helpers/StringifyPredicator.ts +12 -12
  129. package/src/programmers/helpers/UnionExplorer.ts +269 -269
  130. package/src/programmers/helpers/UnionPredicator.ts +77 -77
  131. package/src/programmers/helpers/disable_function_importer_declare.ts +32 -32
  132. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +77 -77
  133. package/src/programmers/http/HttpAssertQueryProgrammer.ts +75 -75
  134. package/src/programmers/http/HttpHeadersProgrammer.ts +314 -314
  135. package/src/programmers/http/HttpIsHeadersProgrammer.ts +84 -84
  136. package/src/programmers/http/HttpIsQueryProgrammer.ts +82 -82
  137. package/src/programmers/http/HttpParameterProgrammer.ts +97 -97
  138. package/src/programmers/http/HttpQueryProgrammer.ts +252 -252
  139. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +77 -77
  140. package/src/programmers/http/HttpValidateQueryProgrammer.ts +75 -75
  141. package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +1 -1
  142. package/src/programmers/internal/application_alias.ts +74 -74
  143. package/src/programmers/internal/application_array.ts +59 -59
  144. package/src/programmers/internal/application_boolean.ts +35 -35
  145. package/src/programmers/internal/application_constant.ts +25 -25
  146. package/src/programmers/internal/application_default.ts +17 -17
  147. package/src/programmers/internal/application_default_string.ts +33 -33
  148. package/src/programmers/internal/application_escaped.ts +52 -52
  149. package/src/programmers/internal/application_native.ts +34 -34
  150. package/src/programmers/internal/application_number.ts +97 -97
  151. package/src/programmers/internal/application_object.ts +183 -183
  152. package/src/programmers/internal/application_schema.ts +165 -165
  153. package/src/programmers/internal/application_string.ts +61 -61
  154. package/src/programmers/internal/application_templates.ts +24 -24
  155. package/src/programmers/internal/application_tuple.ts +54 -54
  156. package/src/programmers/internal/check_array_length.ts +45 -45
  157. package/src/programmers/internal/check_bigint.ts +49 -49
  158. package/src/programmers/internal/check_dynamic_key.ts +175 -175
  159. package/src/programmers/internal/check_dynamic_properties.ts +198 -198
  160. package/src/programmers/internal/check_everything.ts +23 -23
  161. package/src/programmers/internal/check_native.ts +21 -21
  162. package/src/programmers/internal/check_number.ts +106 -106
  163. package/src/programmers/internal/check_object.ts +60 -60
  164. package/src/programmers/internal/check_string.ts +48 -48
  165. package/src/programmers/internal/check_template.ts +61 -61
  166. package/src/programmers/internal/check_union_array_like.ts +307 -307
  167. package/src/programmers/internal/decode_union_object.ts +78 -78
  168. package/src/programmers/internal/feature_object_entries.ts +58 -58
  169. package/src/programmers/internal/metadata_to_pattern.ts +33 -33
  170. package/src/programmers/internal/prune_object_properties.ts +60 -60
  171. package/src/programmers/internal/random_custom.ts +37 -37
  172. package/src/programmers/internal/stringify_dynamic_properties.ts +157 -157
  173. package/src/programmers/internal/stringify_native.ts +7 -7
  174. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  175. package/src/programmers/internal/template_to_pattern.ts +15 -15
  176. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +20 -20
  177. package/src/programmers/json/JsonApplicationProgrammer.ts +49 -49
  178. package/src/programmers/json/JsonAssertParseProgrammer.ts +67 -67
  179. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +61 -61
  180. package/src/programmers/json/JsonIsParseProgrammer.ts +73 -73
  181. package/src/programmers/json/JsonIsStringifyProgrammer.ts +75 -75
  182. package/src/programmers/json/JsonStringifyProgrammer.ts +893 -893
  183. package/src/programmers/json/JsonValidateParseProgrammer.ts +64 -64
  184. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +83 -83
  185. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +63 -63
  186. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +60 -60
  187. package/src/programmers/misc/MiscCloneProgrammer.ts +713 -713
  188. package/src/programmers/misc/MiscIsCloneProgrammer.ts +70 -70
  189. package/src/programmers/misc/MiscIsPruneProgrammer.ts +66 -66
  190. package/src/programmers/misc/MiscLiteralsProgrammer.ts +72 -72
  191. package/src/programmers/misc/MiscPruneProgrammer.ts +523 -523
  192. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +80 -80
  193. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +73 -73
  194. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +64 -64
  195. package/src/programmers/notations/NotationGeneralProgrammer.ts +647 -647
  196. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +71 -71
  197. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +81 -81
  198. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +75 -75
  199. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +61 -61
  200. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +607 -607
  201. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +819 -819
  202. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +82 -82
  203. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +75 -75
  204. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +160 -160
  205. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +75 -75
  206. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +83 -83
  207. package/src/protobuf.ts +970 -970
  208. package/src/reflect.ts +57 -57
  209. package/src/schemas/json/IJsonApplication.ts +9 -9
  210. package/src/schemas/json/IJsonComponents.ts +19 -19
  211. package/src/schemas/json/IJsonSchema.ts +122 -122
  212. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  213. package/src/schemas/metadata/IMetadata.ts +34 -34
  214. package/src/schemas/metadata/IMetadataAlias.ts +12 -12
  215. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  216. package/src/schemas/metadata/IMetadataArray.ts +7 -7
  217. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  218. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  219. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  220. package/src/schemas/metadata/IMetadataConstant.ts +23 -23
  221. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  222. package/src/schemas/metadata/IMetadataEntry.ts +6 -6
  223. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  224. package/src/schemas/metadata/IMetadataObject.ts +13 -13
  225. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  226. package/src/schemas/metadata/IMetadataTuple.ts +7 -7
  227. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  228. package/src/schemas/metadata/IMetadataTypeTag.ts +15 -15
  229. package/src/schemas/metadata/Metadata.ts +612 -612
  230. package/src/schemas/metadata/MetadataAlias.ts +61 -61
  231. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  232. package/src/schemas/metadata/MetadataArray.ts +49 -49
  233. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  234. package/src/schemas/metadata/MetadataAtomic.ts +84 -84
  235. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  236. package/src/schemas/metadata/MetadataConstant.ts +46 -46
  237. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  238. package/src/schemas/metadata/MetadataObject.ts +154 -154
  239. package/src/schemas/metadata/MetadataProperty.ts +56 -56
  240. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  241. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  242. package/src/tags/Default.ts +15 -15
  243. package/src/tags/ExclusiveMaximum.ts +13 -13
  244. package/src/tags/ExclusiveMinimum.ts +13 -13
  245. package/src/tags/Format.ts +30 -30
  246. package/src/tags/MaxItems.ts +9 -9
  247. package/src/tags/MaxLength.ts +9 -9
  248. package/src/tags/Maximum.ts +13 -13
  249. package/src/tags/MinItems.ts +9 -9
  250. package/src/tags/MinLength.ts +9 -9
  251. package/src/tags/Minimum.ts +13 -13
  252. package/src/tags/MultipleOf.ts +15 -15
  253. package/src/tags/Pattern.ts +9 -9
  254. package/src/tags/TagBase.ts +68 -68
  255. package/src/tags/Type.ts +27 -27
  256. package/src/tags/index.ts +14 -14
  257. package/src/transform.ts +35 -35
  258. package/src/transformers/CallExpressionTransformer.ts +351 -351
  259. package/src/transformers/FileTransformer.ts +91 -91
  260. package/src/transformers/IProject.ts +15 -15
  261. package/src/transformers/ITransformOptions.ts +62 -62
  262. package/src/transformers/ImportTransformer.ts +66 -66
  263. package/src/transformers/NodeTransformer.ts +13 -13
  264. package/src/transformers/TransformerError.ts +55 -55
  265. package/src/transformers/features/AssertTransformer.ts +16 -16
  266. package/src/transformers/features/CreateAssertTransformer.ts +16 -16
  267. package/src/transformers/features/CreateIsTransformer.ts +10 -10
  268. package/src/transformers/features/CreateRandomTransformer.ts +40 -40
  269. package/src/transformers/features/CreateValidateTransformer.ts +13 -13
  270. package/src/transformers/features/IsTransformer.ts +10 -10
  271. package/src/transformers/features/RandomTransformer.ts +44 -44
  272. package/src/transformers/features/ValidateTransformer.ts +11 -11
  273. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +11 -11
  274. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +9 -9
  275. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +9 -9
  276. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +9 -9
  277. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +9 -9
  278. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +9 -9
  279. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +9 -9
  280. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +12 -12
  281. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +11 -11
  282. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +9 -9
  283. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +9 -9
  284. package/src/transformers/features/http/HttpHeadersTransformer.ts +9 -9
  285. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +9 -9
  286. package/src/transformers/features/http/HttpIsQueryTransformer.ts +9 -9
  287. package/src/transformers/features/http/HttpParameterTransformer.ts +9 -9
  288. package/src/transformers/features/http/HttpQueryTransformer.ts +9 -9
  289. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +10 -10
  290. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +9 -9
  291. package/src/transformers/features/json/JsonApplicationTransformer.ts +134 -134
  292. package/src/transformers/features/json/JsonAssertParseTransformer.ts +9 -9
  293. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +10 -10
  294. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +9 -9
  295. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +12 -12
  296. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +9 -9
  297. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +9 -9
  298. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +9 -9
  299. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +11 -11
  300. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +12 -12
  301. package/src/transformers/features/json/JsonIsParseTransformer.ts +9 -9
  302. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +9 -9
  303. package/src/transformers/features/json/JsonStringifyTransformer.ts +9 -9
  304. package/src/transformers/features/json/JsonValidateParseTransformer.ts +9 -9
  305. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +10 -10
  306. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +9 -9
  307. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +9 -9
  308. package/src/transformers/features/misc/MiscCloneTransformer.ts +9 -9
  309. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +9 -9
  310. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +9 -9
  311. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +9 -9
  312. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +9 -9
  313. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +9 -9
  314. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +9 -9
  315. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +11 -11
  316. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +11 -11
  317. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +9 -9
  318. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +9 -9
  319. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +32 -32
  320. package/src/transformers/features/misc/MiscPruneTransformer.ts +9 -9
  321. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +9 -9
  322. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +9 -9
  323. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +15 -15
  324. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +15 -15
  325. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +15 -15
  326. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +15 -15
  327. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +15 -15
  328. package/src/transformers/features/notations/NotationGeneralTransformer.ts +11 -11
  329. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +15 -15
  330. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +15 -15
  331. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +10 -10
  332. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +10 -10
  333. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +12 -12
  334. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +12 -12
  335. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +9 -9
  336. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +9 -9
  337. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +9 -9
  338. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +9 -9
  339. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +12 -12
  340. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +12 -12
  341. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +9 -9
  342. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +9 -9
  343. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +9 -9
  344. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +9 -9
  345. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +33 -33
  346. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +10 -10
  347. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +10 -10
  348. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +63 -63
  349. package/src/transformers/internal/GenericTransformer.ts +96 -96
  350. package/src/typings/Atomic.ts +13 -13
  351. package/src/typings/ClassProperties.ts +5 -5
  352. package/src/typings/Customizable.ts +5 -5
  353. package/src/typings/OmitNever.ts +3 -3
  354. package/src/typings/ProtobufAtomic.ts +19 -19
  355. package/src/typings/SpecialFields.ts +3 -3
  356. package/src/typings/ValidationPipe.ts +9 -9
  357. package/src/typings/Writable.ts +11 -11
  358. package/src/utils/ArrayUtil.ts +43 -43
  359. package/src/utils/Escaper.ts +46 -46
  360. package/src/utils/MapUtil.ts +12 -12
  361. package/src/utils/NameEncoder.ts +32 -32
  362. package/src/utils/NamingConvention/NamingConvention.ts +77 -77
  363. package/src/utils/NamingConvention/index.ts +1 -1
  364. package/src/utils/PatternUtil.ts +29 -29
  365. package/src/utils/RandomGenerator/RandomGenerator.ts +74 -74
  366. package/src/utils/RandomGenerator/index.ts +1 -1
  367. package/src/utils/Singleton.ts +16 -16
  368. package/src/utils/StringUtil/StringUtil.ts +2 -2
  369. package/src/utils/StringUtil/index.ts +1 -1
@@ -1,154 +1,154 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
4
- import { IMetadataObject } from "./IMetadataObject";
5
- import { MetadataProperty } from "./MetadataProperty";
6
-
7
- export class MetadataObject {
8
- public readonly name: string;
9
- public readonly properties: Array<MetadataProperty>;
10
- public readonly description: string | undefined;
11
- public readonly jsDocTags: IJsDocTagInfo[];
12
-
13
- public readonly index: number;
14
- public validated: boolean;
15
- public recursive: boolean;
16
- public nullables: boolean[] = [];
17
-
18
- /**
19
- * @internal
20
- */
21
- public tagged_: boolean = false;
22
-
23
- /**
24
- * @internal
25
- */
26
- private literal_?: boolean;
27
-
28
- /* -----------------------------------------------------------
29
- CONSTRUCTORS
30
- ----------------------------------------------------------- */
31
- /**
32
- * @hidden
33
- */
34
- private constructor(props: Omit<ClassProperties<MetadataObject>, "tagged_">) {
35
- this.name = props.name;
36
- this.properties = props.properties;
37
- this.description = props.description;
38
- this.jsDocTags = props.jsDocTags;
39
-
40
- this.index = props.index;
41
- this.validated = props.validated;
42
- this.recursive = props.recursive;
43
- this.nullables = props.nullables.slice();
44
-
45
- this.tagged_ = false;
46
- }
47
-
48
- /**
49
- * @internal
50
- */
51
- public static create(
52
- props: Omit<ClassProperties<MetadataObject>, "tagged_">,
53
- ) {
54
- return new MetadataObject(props);
55
- }
56
-
57
- /**
58
- * @internal
59
- */
60
- public static _From_without_properties(obj: IMetadataObject): MetadataObject {
61
- return MetadataObject.create({
62
- name: obj.name,
63
- properties: [],
64
- description: obj.description,
65
- jsDocTags: obj.jsDocTags,
66
-
67
- index: obj.index,
68
- validated: false,
69
- recursive: obj.recursive,
70
- nullables: obj.nullables.slice(),
71
- });
72
- }
73
-
74
- /**
75
- * @internal
76
- */
77
- public _Messagable(): boolean {
78
- return (
79
- this.properties.length >= 1 &&
80
- this.properties.every((p) => p.key.isSoleLiteral())
81
- );
82
- }
83
-
84
- /**
85
- * @internal
86
- */
87
- public _Is_simple(level: number = 0): boolean {
88
- return (
89
- this.recursive === false &&
90
- this.properties.length < 10 &&
91
- this.properties.every(
92
- (property) =>
93
- property.key.isSoleLiteral() &&
94
- property.value.size() === 1 &&
95
- property.value.isRequired() === true &&
96
- property.value.nullable === false &&
97
- (property.value.atomics.length === 1 ||
98
- (level < 1 &&
99
- property.value.objects.length === 1 &&
100
- property.value.objects[0]!._Is_simple(level + 1))),
101
- )
102
- );
103
- }
104
-
105
- /**
106
- * @internal
107
- */
108
- public _Is_literal(): boolean {
109
- return (this.literal_ ??= (() => {
110
- if (this.recursive === true) return false;
111
- else if (this.name === "__type") return true;
112
- else if (this.name.startsWith("__type.o") === false) return false;
113
-
114
- const last: string = this.name.substr("__type.o".length);
115
- const value: number = Number(last);
116
- return isNaN(value) === false && Number.isInteger(value);
117
- })());
118
- }
119
-
120
- public toJSON(): IMetadataObject {
121
- return {
122
- name: this.name,
123
- properties: this.properties.map((property) => property.toJSON()),
124
- description: this.description,
125
- jsDocTags: this.jsDocTags,
126
-
127
- index: this.index,
128
- recursive: this.recursive,
129
- nullables: this.nullables.slice(),
130
- };
131
- }
132
- }
133
-
134
- /**
135
- * @internal
136
- */
137
- export namespace MetadataObject {
138
- export const intersects = (x: MetadataObject, y: MetadataObject): boolean =>
139
- x.properties.some(
140
- (prop) =>
141
- y.properties.find(
142
- (oppo) => prop.key.getName() === oppo.key.getName(),
143
- ) !== undefined,
144
- );
145
-
146
- export const covers = (x: MetadataObject, y: MetadataObject): boolean =>
147
- x.properties.length >= y.properties.length &&
148
- x.properties.every(
149
- (prop) =>
150
- y.properties.find(
151
- (oppo) => prop.key.getName() === oppo.key.getName(),
152
- ) !== undefined,
153
- );
154
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
4
+ import { IMetadataObject } from "./IMetadataObject";
5
+ import { MetadataProperty } from "./MetadataProperty";
6
+
7
+ export class MetadataObject {
8
+ public readonly name: string;
9
+ public readonly properties: Array<MetadataProperty>;
10
+ public readonly description: string | undefined;
11
+ public readonly jsDocTags: IJsDocTagInfo[];
12
+
13
+ public readonly index: number;
14
+ public validated: boolean;
15
+ public recursive: boolean;
16
+ public nullables: boolean[] = [];
17
+
18
+ /**
19
+ * @internal
20
+ */
21
+ public tagged_: boolean = false;
22
+
23
+ /**
24
+ * @internal
25
+ */
26
+ private literal_?: boolean;
27
+
28
+ /* -----------------------------------------------------------
29
+ CONSTRUCTORS
30
+ ----------------------------------------------------------- */
31
+ /**
32
+ * @hidden
33
+ */
34
+ private constructor(props: Omit<ClassProperties<MetadataObject>, "tagged_">) {
35
+ this.name = props.name;
36
+ this.properties = props.properties;
37
+ this.description = props.description;
38
+ this.jsDocTags = props.jsDocTags;
39
+
40
+ this.index = props.index;
41
+ this.validated = props.validated;
42
+ this.recursive = props.recursive;
43
+ this.nullables = props.nullables.slice();
44
+
45
+ this.tagged_ = false;
46
+ }
47
+
48
+ /**
49
+ * @internal
50
+ */
51
+ public static create(
52
+ props: Omit<ClassProperties<MetadataObject>, "tagged_">,
53
+ ) {
54
+ return new MetadataObject(props);
55
+ }
56
+
57
+ /**
58
+ * @internal
59
+ */
60
+ public static _From_without_properties(obj: IMetadataObject): MetadataObject {
61
+ return MetadataObject.create({
62
+ name: obj.name,
63
+ properties: [],
64
+ description: obj.description,
65
+ jsDocTags: obj.jsDocTags,
66
+
67
+ index: obj.index,
68
+ validated: false,
69
+ recursive: obj.recursive,
70
+ nullables: obj.nullables.slice(),
71
+ });
72
+ }
73
+
74
+ /**
75
+ * @internal
76
+ */
77
+ public _Messagable(): boolean {
78
+ return (
79
+ this.properties.length >= 1 &&
80
+ this.properties.every((p) => p.key.isSoleLiteral())
81
+ );
82
+ }
83
+
84
+ /**
85
+ * @internal
86
+ */
87
+ public _Is_simple(level: number = 0): boolean {
88
+ return (
89
+ this.recursive === false &&
90
+ this.properties.length < 10 &&
91
+ this.properties.every(
92
+ (property) =>
93
+ property.key.isSoleLiteral() &&
94
+ property.value.size() === 1 &&
95
+ property.value.isRequired() === true &&
96
+ property.value.nullable === false &&
97
+ (property.value.atomics.length === 1 ||
98
+ (level < 1 &&
99
+ property.value.objects.length === 1 &&
100
+ property.value.objects[0]!._Is_simple(level + 1))),
101
+ )
102
+ );
103
+ }
104
+
105
+ /**
106
+ * @internal
107
+ */
108
+ public _Is_literal(): boolean {
109
+ return (this.literal_ ??= (() => {
110
+ if (this.recursive === true) return false;
111
+ else if (this.name === "__type") return true;
112
+ else if (this.name.startsWith("__type.o") === false) return false;
113
+
114
+ const last: string = this.name.substr("__type.o".length);
115
+ const value: number = Number(last);
116
+ return isNaN(value) === false && Number.isInteger(value);
117
+ })());
118
+ }
119
+
120
+ public toJSON(): IMetadataObject {
121
+ return {
122
+ name: this.name,
123
+ properties: this.properties.map((property) => property.toJSON()),
124
+ description: this.description,
125
+ jsDocTags: this.jsDocTags,
126
+
127
+ index: this.index,
128
+ recursive: this.recursive,
129
+ nullables: this.nullables.slice(),
130
+ };
131
+ }
132
+ }
133
+
134
+ /**
135
+ * @internal
136
+ */
137
+ export namespace MetadataObject {
138
+ export const intersects = (x: MetadataObject, y: MetadataObject): boolean =>
139
+ x.properties.some(
140
+ (prop) =>
141
+ y.properties.find(
142
+ (oppo) => prop.key.getName() === oppo.key.getName(),
143
+ ) !== undefined,
144
+ );
145
+
146
+ export const covers = (x: MetadataObject, y: MetadataObject): boolean =>
147
+ x.properties.length >= y.properties.length &&
148
+ x.properties.every(
149
+ (prop) =>
150
+ y.properties.find(
151
+ (oppo) => prop.key.getName() === oppo.key.getName(),
152
+ ) !== undefined,
153
+ );
154
+ }
@@ -1,56 +1,56 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
4
- import { IMetadataDictionary } from "./IMetadataDictionary";
5
- import { IMetadataProperty } from "./IMetadataProperty";
6
- import { Metadata } from "./Metadata";
7
-
8
- export class MetadataProperty {
9
- public readonly key: Metadata;
10
- public readonly value: Metadata;
11
- public readonly description: string | null;
12
- public readonly jsDocTags: IJsDocTagInfo[];
13
-
14
- /* -----------------------------------------------------------
15
- CONSTRUCTORS
16
- ----------------------------------------------------------- */
17
- /**
18
- * @hidden
19
- */
20
- private constructor(props: ClassProperties<MetadataProperty>) {
21
- this.key = props.key;
22
- this.value = props.value;
23
- this.description = props.description;
24
- this.jsDocTags = props.jsDocTags;
25
- }
26
-
27
- /**
28
- * @internal
29
- */
30
- public static create(
31
- props: ClassProperties<MetadataProperty>,
32
- ): MetadataProperty {
33
- return new MetadataProperty(props);
34
- }
35
-
36
- /**
37
- * @internal
38
- */
39
- public static from(property: IMetadataProperty, dict: IMetadataDictionary) {
40
- return MetadataProperty.create({
41
- key: Metadata.from(property.key, dict),
42
- value: Metadata.from(property.value, dict),
43
- description: property.description,
44
- jsDocTags: property.jsDocTags.slice(),
45
- });
46
- }
47
-
48
- public toJSON(): IMetadataProperty {
49
- return {
50
- key: this.key.toJSON(),
51
- value: this.value.toJSON(),
52
- description: this.description,
53
- jsDocTags: this.jsDocTags,
54
- };
55
- }
56
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
4
+ import { IMetadataDictionary } from "./IMetadataDictionary";
5
+ import { IMetadataProperty } from "./IMetadataProperty";
6
+ import { Metadata } from "./Metadata";
7
+
8
+ export class MetadataProperty {
9
+ public readonly key: Metadata;
10
+ public readonly value: Metadata;
11
+ public readonly description: string | null;
12
+ public readonly jsDocTags: IJsDocTagInfo[];
13
+
14
+ /* -----------------------------------------------------------
15
+ CONSTRUCTORS
16
+ ----------------------------------------------------------- */
17
+ /**
18
+ * @hidden
19
+ */
20
+ private constructor(props: ClassProperties<MetadataProperty>) {
21
+ this.key = props.key;
22
+ this.value = props.value;
23
+ this.description = props.description;
24
+ this.jsDocTags = props.jsDocTags;
25
+ }
26
+
27
+ /**
28
+ * @internal
29
+ */
30
+ public static create(
31
+ props: ClassProperties<MetadataProperty>,
32
+ ): MetadataProperty {
33
+ return new MetadataProperty(props);
34
+ }
35
+
36
+ /**
37
+ * @internal
38
+ */
39
+ public static from(property: IMetadataProperty, dict: IMetadataDictionary) {
40
+ return MetadataProperty.create({
41
+ key: Metadata.from(property.key, dict),
42
+ value: Metadata.from(property.value, dict),
43
+ description: property.description,
44
+ jsDocTags: property.jsDocTags.slice(),
45
+ });
46
+ }
47
+
48
+ public toJSON(): IMetadataProperty {
49
+ return {
50
+ key: this.key.toJSON(),
51
+ value: this.value.toJSON(),
52
+ description: this.description,
53
+ jsDocTags: this.jsDocTags,
54
+ };
55
+ }
56
+ }
@@ -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
- type: this.type.toJSON(),
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
+ type: this.type.toJSON(),
29
+ tags: this.tags.map((row) => row.slice()),
30
+ };
31
+ }
32
+ }
@@ -1,67 +1,67 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IMetadataTupleType } from "./IMetadataTupleType";
4
- import { Metadata } from "./Metadata";
5
-
6
- export class MetadataTupleType {
7
- public readonly name: string;
8
- public readonly elements: Metadata[];
9
-
10
- public readonly index: number | null;
11
- public readonly recursive: boolean;
12
- public readonly nullables: boolean[];
13
-
14
- /**
15
- * @internal
16
- */
17
- public of_map?: boolean;
18
-
19
- /**
20
- * @internal
21
- */
22
- private constructor(props: ClassProperties<MetadataTupleType>) {
23
- this.name = props.name;
24
- this.elements = props.elements;
25
- this.index = props.index;
26
- this.recursive = props.recursive;
27
- this.nullables = props.nullables;
28
- }
29
-
30
- /**
31
- * @internal
32
- */
33
- public static _From_without_elements(
34
- props: Omit<IMetadataTupleType, "elements">,
35
- ): MetadataTupleType {
36
- return MetadataTupleType.create({
37
- name: props.name,
38
- index: props.index,
39
- elements: null!,
40
- recursive: props.recursive,
41
- nullables: props.nullables.slice(),
42
- });
43
- }
44
-
45
- public static create(
46
- props: ClassProperties<MetadataTupleType>,
47
- ): MetadataTupleType {
48
- return new MetadataTupleType(props);
49
- }
50
-
51
- public isRest(): boolean {
52
- return (
53
- this.elements.length > 0 &&
54
- this.elements[this.elements.length - 1]!.rest !== null
55
- );
56
- }
57
-
58
- public toJSON(): IMetadataTupleType {
59
- return {
60
- name: this.name,
61
- index: this.index,
62
- elements: this.elements.map((elem) => elem.toJSON()),
63
- recursive: this.recursive,
64
- nullables: this.nullables.slice(),
65
- };
66
- }
67
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IMetadataTupleType } from "./IMetadataTupleType";
4
+ import { Metadata } from "./Metadata";
5
+
6
+ export class MetadataTupleType {
7
+ public readonly name: string;
8
+ public readonly elements: Metadata[];
9
+
10
+ public readonly index: number | null;
11
+ public readonly recursive: boolean;
12
+ public readonly nullables: boolean[];
13
+
14
+ /**
15
+ * @internal
16
+ */
17
+ public of_map?: boolean;
18
+
19
+ /**
20
+ * @internal
21
+ */
22
+ private constructor(props: ClassProperties<MetadataTupleType>) {
23
+ this.name = props.name;
24
+ this.elements = props.elements;
25
+ this.index = props.index;
26
+ this.recursive = props.recursive;
27
+ this.nullables = props.nullables;
28
+ }
29
+
30
+ /**
31
+ * @internal
32
+ */
33
+ public static _From_without_elements(
34
+ props: Omit<IMetadataTupleType, "elements">,
35
+ ): MetadataTupleType {
36
+ return MetadataTupleType.create({
37
+ name: props.name,
38
+ index: props.index,
39
+ elements: null!,
40
+ recursive: props.recursive,
41
+ nullables: props.nullables.slice(),
42
+ });
43
+ }
44
+
45
+ public static create(
46
+ props: ClassProperties<MetadataTupleType>,
47
+ ): MetadataTupleType {
48
+ return new MetadataTupleType(props);
49
+ }
50
+
51
+ public isRest(): boolean {
52
+ return (
53
+ this.elements.length > 0 &&
54
+ this.elements[this.elements.length - 1]!.rest !== null
55
+ );
56
+ }
57
+
58
+ public toJSON(): IMetadataTupleType {
59
+ return {
60
+ name: this.name,
61
+ index: this.index,
62
+ elements: this.elements.map((elem) => elem.toJSON()),
63
+ recursive: this.recursive,
64
+ nullables: this.nullables.slice(),
65
+ };
66
+ }
67
+ }
@@ -1,15 +1,15 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type Default<Value extends boolean | bigint | number | string> =
4
- TagBase<{
5
- target: Value extends boolean
6
- ? "boolean"
7
- : Value extends bigint
8
- ? "bigint"
9
- : Value extends number
10
- ? "number"
11
- : "string";
12
- kind: "default";
13
- value: Value;
14
- exclusive: true;
15
- }>;
1
+ import { TagBase } from "./TagBase";
2
+
3
+ export type Default<Value extends boolean | bigint | number | string> =
4
+ TagBase<{
5
+ target: Value extends boolean
6
+ ? "boolean"
7
+ : Value extends bigint
8
+ ? "bigint"
9
+ : Value extends number
10
+ ? "number"
11
+ : "string";
12
+ kind: "default";
13
+ value: Value;
14
+ exclusive: true;
15
+ }>;
@@ -1,13 +1,13 @@
1
- import { TagBase } from "./TagBase";
2
-
3
- export type ExclusiveMaximum<Value extends number | bigint> = TagBase<{
4
- target: Value extends number ? "number" : "bigint";
5
- kind: "exclusiveMaximum";
6
- value: Value;
7
- validate: `$input < ${Numeric<Value>}`;
8
- exclusive: ["exclusiveMaximum", "maximum"];
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 ExclusiveMaximum<Value extends number | bigint> = TagBase<{
4
+ target: Value extends number ? "number" : "bigint";
5
+ kind: "exclusiveMaximum";
6
+ value: Value;
7
+ validate: `$input < ${Numeric<Value>}`;
8
+ exclusive: ["exclusiveMaximum", "maximum"];
9
+ }>;
10
+
11
+ type Numeric<Value extends number | bigint> = Value extends number
12
+ ? Value
13
+ : `BigInt(${Value})`;