typia 5.3.11 → 5.3.12-dev.20240118

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 (382) hide show
  1. package/lib/TypeGuardError.js +4 -1
  2. package/lib/TypeGuardError.js.map +1 -1
  3. package/lib/executable/TypiaGenerateWizard.js +24 -23
  4. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  5. package/lib/executable/TypiaPatchWizard.js +9 -9
  6. package/lib/executable/TypiaPatchWizard.js.map +1 -1
  7. package/lib/executable/TypiaSetupWizard.js +29 -20
  8. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  9. package/lib/executable/setup/ArgumentParser.js +5 -5
  10. package/lib/executable/setup/ArgumentParser.js.map +1 -1
  11. package/lib/executable/setup/PackageManager.js +8 -8
  12. package/lib/executable/setup/PackageManager.js.map +1 -1
  13. package/lib/executable/setup/PluginConfigurator.js +5 -4
  14. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  15. package/lib/executable/typia.js +21 -21
  16. package/lib/executable/typia.js.map +1 -1
  17. package/lib/factories/CommentFactory.js +2 -0
  18. package/lib/factories/CommentFactory.js.map +1 -1
  19. package/lib/factories/IdentifierFactory.js +2 -0
  20. package/lib/factories/IdentifierFactory.js.map +1 -1
  21. package/lib/factories/LiteralFactory.js +1 -0
  22. package/lib/factories/LiteralFactory.js.map +1 -1
  23. package/lib/factories/MetadataCollection.js +19 -1
  24. package/lib/factories/MetadataCollection.js.map +1 -1
  25. package/lib/factories/MetadataCommentTagFactory.js +19 -0
  26. package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
  27. package/lib/factories/MetadataFactory.js +3 -0
  28. package/lib/factories/MetadataFactory.js.map +1 -1
  29. package/lib/factories/MetadataTypeTagFactory.js +25 -3
  30. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  31. package/lib/factories/ProtobufFactory.js +39 -0
  32. package/lib/factories/ProtobufFactory.js.map +1 -1
  33. package/lib/factories/TypeFactory.js +9 -0
  34. package/lib/factories/TypeFactory.js.map +1 -1
  35. package/lib/factories/internal/metadata/emend_metadata_atomics.js +3 -0
  36. package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
  37. package/lib/factories/internal/metadata/emplace_metadata_alias.js +2 -0
  38. package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
  39. package/lib/factories/internal/metadata/emplace_metadata_array_type.js +2 -0
  40. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -1
  41. package/lib/factories/internal/metadata/emplace_metadata_object.js +15 -0
  42. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  43. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +4 -0
  44. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -1
  45. package/lib/factories/internal/metadata/explore_metadata.js +2 -0
  46. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  47. package/lib/factories/internal/metadata/iterate_metadata.js +2 -0
  48. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  49. package/lib/factories/internal/metadata/iterate_metadata_alias.js +1 -0
  50. package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
  51. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +2 -0
  52. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  53. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +7 -0
  54. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  55. package/lib/factories/internal/metadata/iterate_metadata_object.js +10 -0
  56. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  57. package/lib/factories/internal/metadata/iterate_metadata_sort.js +3 -0
  58. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  59. package/lib/factories/internal/metadata/iterate_metadata_template.js +2 -0
  60. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  61. package/lib/functional/$HeadersReader/$HeadersReader.d.ts +4 -0
  62. package/lib/functional/$HeadersReader/$HeadersReader.js +36 -0
  63. package/lib/functional/$HeadersReader/$HeadersReader.js.map +1 -0
  64. package/lib/functional/$HeadersReader/index.d.ts +1 -0
  65. package/lib/functional/$HeadersReader/index.js +28 -0
  66. package/lib/functional/$HeadersReader/index.js.map +1 -0
  67. package/lib/functional/$ParameterReader/$ParameterReader.d.ts +4 -0
  68. package/lib/functional/$ParameterReader/$ParameterReader.js +36 -0
  69. package/lib/functional/$ParameterReader/$ParameterReader.js.map +1 -0
  70. package/lib/functional/$ParameterReader/index.d.ts +1 -0
  71. package/lib/functional/$ParameterReader/index.js +28 -0
  72. package/lib/functional/$ParameterReader/index.js.map +1 -0
  73. package/lib/functional/$ProtobufReader.js +13 -11
  74. package/lib/functional/$ProtobufReader.js.map +1 -1
  75. package/lib/functional/$ProtobufSizer.js +28 -13
  76. package/lib/functional/$ProtobufSizer.js.map +1 -1
  77. package/lib/functional/$ProtobufWriter.js +11 -9
  78. package/lib/functional/$ProtobufWriter.js.map +1 -1
  79. package/lib/functional/$QueryReader/$QueryReader.d.ts +6 -0
  80. package/lib/functional/$QueryReader/$QueryReader.js +63 -0
  81. package/lib/functional/$QueryReader/$QueryReader.js.map +1 -0
  82. package/lib/functional/$QueryReader/index.d.ts +1 -0
  83. package/lib/functional/$QueryReader/index.js +28 -0
  84. package/lib/functional/$QueryReader/index.js.map +1 -0
  85. package/lib/functional/$dictionary.js +3 -0
  86. package/lib/functional/$dictionary.js.map +1 -1
  87. package/lib/functional/$guard.js +20 -0
  88. package/lib/functional/$guard.js.map +1 -1
  89. package/lib/functional/$string.js +18 -2
  90. package/lib/functional/$string.js.map +1 -1
  91. package/lib/functional/$tail.js +3 -0
  92. package/lib/functional/$tail.js.map +1 -1
  93. package/lib/functional/$throws.d.ts +2 -0
  94. package/lib/functional/$throws.js +22 -0
  95. package/lib/functional/$throws.js.map +1 -0
  96. package/lib/functional/$varint.js +2 -1
  97. package/lib/functional/$varint.js.map +1 -1
  98. package/lib/functional/$zigzag.js +2 -0
  99. package/lib/functional/$zigzag.js.map +1 -1
  100. package/lib/functional/Namespace/http.d.ts +6 -0
  101. package/lib/functional/Namespace/http.js +13 -0
  102. package/lib/functional/Namespace/http.js.map +1 -0
  103. package/lib/functional/Namespace/index.d.ts +29 -0
  104. package/lib/functional/Namespace/index.js +84 -0
  105. package/lib/functional/Namespace/index.js.map +1 -0
  106. package/lib/functional/Namespace/json.d.ts +9 -0
  107. package/lib/functional/Namespace/json.js +23 -0
  108. package/lib/functional/Namespace/json.js.map +1 -0
  109. package/lib/functional/Namespace/misc.d.ts +11 -0
  110. package/lib/functional/Namespace/misc.js +22 -0
  111. package/lib/functional/Namespace/misc.js.map +1 -0
  112. package/lib/functional/Namespace/notations.d.ts +18 -0
  113. package/lib/functional/Namespace/notations.js +26 -0
  114. package/lib/functional/Namespace/notations.js.map +1 -0
  115. package/lib/functional/Namespace/protobuf.d.ts +17 -0
  116. package/lib/functional/Namespace/protobuf.js +25 -0
  117. package/lib/functional/Namespace/protobuf.js.map +1 -0
  118. package/lib/functional/is.js +14 -0
  119. package/lib/functional/is.js.map +1 -0
  120. package/lib/http.d.ts +150 -36
  121. package/lib/http.js +149 -51
  122. package/lib/http.js.map +1 -1
  123. package/lib/json.d.ts +119 -27
  124. package/lib/json.js +108 -32
  125. package/lib/json.js.map +1 -1
  126. package/lib/misc.d.ts +130 -30
  127. package/lib/misc.js +132 -39
  128. package/lib/misc.js.map +1 -1
  129. package/lib/module.d.ts +125 -36
  130. package/lib/module.js +94 -37
  131. package/lib/module.js.map +1 -1
  132. package/lib/notations.d.ts +309 -45
  133. package/lib/notations.js +187 -67
  134. package/lib/notations.js.map +1 -1
  135. package/lib/programmers/AssertProgrammer.js +25 -0
  136. package/lib/programmers/AssertProgrammer.js.map +1 -1
  137. package/lib/programmers/CheckerProgrammer.js +35 -0
  138. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  139. package/lib/programmers/FeatureProgrammer.js +11 -0
  140. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  141. package/lib/programmers/IsProgrammer.js +9 -0
  142. package/lib/programmers/IsProgrammer.js.map +1 -1
  143. package/lib/programmers/RandomProgrammer.js +13 -0
  144. package/lib/programmers/RandomProgrammer.js.map +1 -1
  145. package/lib/programmers/TypiaProgrammer.js +37 -36
  146. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  147. package/lib/programmers/helpers/FunctionImporeter.js +1 -1
  148. package/lib/programmers/helpers/PruneJoiner.js +1 -0
  149. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  150. package/lib/programmers/helpers/RandomJoiner.js +2 -0
  151. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  152. package/lib/programmers/helpers/RandomRanger.js +8 -0
  153. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  154. package/lib/programmers/helpers/StringifyJoinder.js +4 -0
  155. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  156. package/lib/programmers/helpers/UnionExplorer.js +10 -0
  157. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  158. package/lib/programmers/helpers/UnionPredicator.js +5 -0
  159. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  160. package/lib/programmers/http/HttpHeadersProgrammer.js +19 -0
  161. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  162. package/lib/programmers/http/HttpQueryProgrammer.js +13 -0
  163. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  164. package/lib/programmers/internal/application_alias.js +2 -0
  165. package/lib/programmers/internal/application_alias.js.map +1 -1
  166. package/lib/programmers/internal/application_array.js +5 -0
  167. package/lib/programmers/internal/application_array.js.map +1 -1
  168. package/lib/programmers/internal/application_boolean.js +3 -0
  169. package/lib/programmers/internal/application_boolean.js.map +1 -1
  170. package/lib/programmers/internal/application_constant.js +3 -0
  171. package/lib/programmers/internal/application_constant.js.map +1 -1
  172. package/lib/programmers/internal/application_default.js +3 -0
  173. package/lib/programmers/internal/application_default.js.map +1 -1
  174. package/lib/programmers/internal/application_default_string.js +5 -0
  175. package/lib/programmers/internal/application_default_string.js.map +1 -1
  176. package/lib/programmers/internal/application_native.js +3 -0
  177. package/lib/programmers/internal/application_native.js.map +1 -1
  178. package/lib/programmers/internal/application_number.js +5 -0
  179. package/lib/programmers/internal/application_number.js.map +1 -1
  180. package/lib/programmers/internal/application_object.js +16 -3
  181. package/lib/programmers/internal/application_object.js.map +1 -1
  182. package/lib/programmers/internal/application_schema.js +17 -0
  183. package/lib/programmers/internal/application_schema.js.map +1 -1
  184. package/lib/programmers/internal/application_string.js +5 -0
  185. package/lib/programmers/internal/application_string.js.map +1 -1
  186. package/lib/programmers/internal/application_templates.js +6 -0
  187. package/lib/programmers/internal/application_templates.js.map +1 -1
  188. package/lib/programmers/internal/application_tuple.js +3 -0
  189. package/lib/programmers/internal/application_tuple.js.map +1 -1
  190. package/lib/programmers/internal/check_array_length.js +3 -0
  191. package/lib/programmers/internal/check_array_length.js.map +1 -1
  192. package/lib/programmers/internal/check_bigint.js +6 -0
  193. package/lib/programmers/internal/check_bigint.js.map +1 -1
  194. package/lib/programmers/internal/check_dynamic_key.js +6 -0
  195. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  196. package/lib/programmers/internal/check_dynamic_properties.js +13 -0
  197. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  198. package/lib/programmers/internal/check_everything.js +3 -0
  199. package/lib/programmers/internal/check_everything.js.map +1 -1
  200. package/lib/programmers/internal/check_native.js +3 -0
  201. package/lib/programmers/internal/check_native.js.map +1 -1
  202. package/lib/programmers/internal/check_number.js +6 -0
  203. package/lib/programmers/internal/check_number.js.map +1 -1
  204. package/lib/programmers/internal/check_object.js +9 -0
  205. package/lib/programmers/internal/check_object.js.map +1 -1
  206. package/lib/programmers/internal/check_string.js +6 -0
  207. package/lib/programmers/internal/check_string.js.map +1 -1
  208. package/lib/programmers/internal/check_template.js +6 -0
  209. package/lib/programmers/internal/check_template.js.map +1 -1
  210. package/lib/programmers/internal/check_union_array_like.js +4 -0
  211. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  212. package/lib/programmers/internal/decode_union_object.js +3 -0
  213. package/lib/programmers/internal/decode_union_object.js.map +1 -1
  214. package/lib/programmers/internal/feature_object_entries.js +3 -0
  215. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  216. package/lib/programmers/internal/metadata_to_pattern.js +3 -0
  217. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  218. package/lib/programmers/internal/prune_object_properties.js +3 -0
  219. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  220. package/lib/programmers/internal/random_custom.js +3 -0
  221. package/lib/programmers/internal/random_custom.js.map +1 -1
  222. package/lib/programmers/internal/stringify_dynamic_properties.js +11 -0
  223. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  224. package/lib/programmers/internal/stringify_native.js +3 -0
  225. package/lib/programmers/internal/stringify_native.js.map +1 -1
  226. package/lib/programmers/internal/stringify_regular_properties.js +7 -0
  227. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  228. package/lib/programmers/internal/template_to_pattern.js +3 -0
  229. package/lib/programmers/internal/template_to_pattern.js.map +1 -1
  230. package/lib/programmers/json/JsonApplicationProgrammer.js +3 -0
  231. package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
  232. package/lib/programmers/json/JsonStringifyProgrammer.js +36 -0
  233. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  234. package/lib/programmers/misc/MiscCloneProgrammer.js +22 -0
  235. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  236. package/lib/programmers/misc/MiscPruneProgrammer.js +20 -0
  237. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  238. package/lib/programmers/notations/NotationGeneralProgrammer.js +22 -0
  239. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  240. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +3 -0
  241. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  242. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +33 -15
  243. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  244. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +6 -0
  245. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  246. package/lib/protobuf.d.ts +223 -31
  247. package/lib/protobuf.js +134 -45
  248. package/lib/protobuf.js.map +1 -1
  249. package/lib/reflect/index.d.ts +0 -0
  250. package/lib/reflect/index.js +2 -0
  251. package/lib/reflect/index.js.map +1 -0
  252. package/lib/reflect.d.ts +6 -2
  253. package/lib/reflect.js +8 -4
  254. package/lib/reflect.js.map +1 -1
  255. package/lib/schemas/metadata/Metadata.js +64 -2
  256. package/lib/schemas/metadata/Metadata.js.map +1 -1
  257. package/lib/schemas/metadata/MetadataAlias.js +13 -1
  258. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  259. package/lib/schemas/metadata/MetadataApplication.js +7 -1
  260. package/lib/schemas/metadata/MetadataApplication.js.map +1 -1
  261. package/lib/schemas/metadata/MetadataArray.js +4 -1
  262. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  263. package/lib/schemas/metadata/MetadataArrayType.js +10 -1
  264. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
  265. package/lib/schemas/metadata/MetadataAtomic.js +4 -1
  266. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
  267. package/lib/schemas/metadata/MetadataComponents.js +4 -1
  268. package/lib/schemas/metadata/MetadataComponents.js.map +1 -1
  269. package/lib/schemas/metadata/MetadataConstant.js +1 -1
  270. package/lib/schemas/metadata/MetadataEscaped.js +10 -1
  271. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
  272. package/lib/schemas/metadata/MetadataObject.js +28 -1
  273. package/lib/schemas/metadata/MetadataObject.js.map +1 -1
  274. package/lib/schemas/metadata/MetadataProperty.js +13 -1
  275. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  276. package/lib/schemas/metadata/MetadataTuple.js +7 -1
  277. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  278. package/lib/schemas/metadata/MetadataTupleType.js +7 -1
  279. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
  280. package/lib/transformers/CallExpressionTransformer.js +34 -0
  281. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  282. package/lib/transformers/FileTransformer.js +2 -0
  283. package/lib/transformers/FileTransformer.js.map +1 -1
  284. package/lib/transformers/TransformerError.js +2 -1
  285. package/lib/transformers/TransformerError.js.map +1 -1
  286. package/lib/transformers/features/CreateRandomTransformer.js +3 -0
  287. package/lib/transformers/features/CreateRandomTransformer.js.map +1 -1
  288. package/lib/transformers/features/RandomTransformer.js +3 -0
  289. package/lib/transformers/features/RandomTransformer.js.map +1 -1
  290. package/lib/transformers/features/json/JsonApplicationTransformer.js +14 -0
  291. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  292. package/lib/transformers/features/misc/MiscLiteralsTransformer.js +3 -0
  293. package/lib/transformers/features/misc/MiscLiteralsTransformer.js.map +1 -1
  294. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js +3 -0
  295. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js.map +1 -1
  296. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +4 -0
  297. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
  298. package/lib/transformers/internal/GenericTransformer.js +6 -0
  299. package/lib/transformers/internal/GenericTransformer.js.map +1 -1
  300. package/lib/utils/NamingConvention/NamingConvention.d.ts +3 -0
  301. package/lib/utils/NamingConvention/NamingConvention.js +112 -0
  302. package/lib/utils/NamingConvention/NamingConvention.js.map +1 -0
  303. package/lib/utils/NamingConvention/index.d.ts +1 -0
  304. package/lib/utils/NamingConvention/index.js +28 -0
  305. package/lib/utils/NamingConvention/index.js.map +1 -0
  306. package/lib/utils/PatternUtil.js +3 -3
  307. package/lib/utils/PatternUtil.js.map +1 -1
  308. package/lib/utils/RandomGenerator/RandomGenerator.d.ts +16 -0
  309. package/lib/utils/RandomGenerator/RandomGenerator.js +85 -0
  310. package/lib/utils/RandomGenerator/RandomGenerator.js.map +1 -0
  311. package/lib/utils/RandomGenerator/index.d.ts +1 -0
  312. package/lib/utils/RandomGenerator/index.js +28 -0
  313. package/lib/utils/RandomGenerator/index.js.map +1 -0
  314. package/lib/utils/Singleton.js +1 -1
  315. package/lib/utils/StringUtil/StringUtil.d.ts +1 -0
  316. package/lib/utils/StringUtil/StringUtil.js +8 -0
  317. package/lib/utils/StringUtil/StringUtil.js.map +1 -0
  318. package/lib/utils/StringUtil/index.d.ts +1 -0
  319. package/lib/utils/StringUtil/index.js +28 -0
  320. package/lib/utils/StringUtil/index.js.map +1 -0
  321. package/package.json +2 -2
  322. package/src/functional/$HeadersReader/$HeadersReader.ts +26 -0
  323. package/src/functional/$HeadersReader/index.ts +1 -0
  324. package/src/functional/$ParameterReader/$ParameterReader.ts +29 -0
  325. package/src/functional/$ParameterReader/index.ts +1 -0
  326. package/src/functional/$ProtobufReader.ts +4 -4
  327. package/src/functional/$ProtobufSizer.ts +10 -10
  328. package/src/functional/$ProtobufWriter.ts +6 -6
  329. package/src/functional/$QueryReader/$QueryReader.ts +54 -0
  330. package/src/functional/$QueryReader/index.ts +1 -0
  331. package/src/functional/$throws.ts +10 -0
  332. package/src/functional/Namespace/http.ts +7 -0
  333. package/src/functional/Namespace/index.ts +75 -0
  334. package/src/functional/Namespace/json.ts +15 -0
  335. package/src/functional/Namespace/misc.ts +14 -0
  336. package/src/functional/Namespace/notations.ts +22 -0
  337. package/src/functional/Namespace/protobuf.ts +20 -0
  338. package/src/functional/is.ts +10 -0
  339. package/src/http.ts +172 -88
  340. package/src/json.ts +93 -59
  341. package/src/misc.ts +107 -69
  342. package/src/module.ts +91 -73
  343. package/src/notations.ts +190 -128
  344. package/src/programmers/notations/NotationGeneralProgrammer.ts +517 -517
  345. package/src/protobuf.ts +121 -86
  346. package/src/reflect/index.ts +0 -0
  347. package/src/reflect.ts +5 -9
  348. package/src/transformers/CallExpressionTransformer.ts +28 -28
  349. package/src/utils/NamingConvention/NamingConvention.ts +85 -0
  350. package/src/utils/NamingConvention/index.ts +1 -0
  351. package/src/utils/RandomGenerator/RandomGenerator.ts +78 -0
  352. package/src/utils/RandomGenerator/index.ts +1 -0
  353. package/src/utils/StringUtil/StringUtil.ts +2 -0
  354. package/src/utils/StringUtil/index.ts +1 -0
  355. package/lib/functional/$HeadersReader.d.ts +0 -6
  356. package/lib/functional/$HeadersReader.js +0 -35
  357. package/lib/functional/$HeadersReader.js.map +0 -1
  358. package/lib/functional/$ParameterReader.d.ts +0 -6
  359. package/lib/functional/$ParameterReader.js +0 -35
  360. package/lib/functional/$ParameterReader.js.map +0 -1
  361. package/lib/functional/$QueryReader.d.ts +0 -8
  362. package/lib/functional/$QueryReader.js +0 -60
  363. package/lib/functional/$QueryReader.js.map +0 -1
  364. package/lib/functional/Namespace.js +0 -104
  365. package/lib/functional/Namespace.js.map +0 -1
  366. package/lib/utils/NamingConvention.d.ts +0 -5
  367. package/lib/utils/NamingConvention.js +0 -115
  368. package/lib/utils/NamingConvention.js.map +0 -1
  369. package/lib/utils/RandomGenerator.d.ts +0 -1
  370. package/lib/utils/RandomGenerator.js +0 -66
  371. package/lib/utils/RandomGenerator.js.map +0 -1
  372. package/lib/utils/StringUtil.d.ts +0 -3
  373. package/lib/utils/StringUtil.js +0 -10
  374. package/lib/utils/StringUtil.js.map +0 -1
  375. package/src/functional/$HeadersReader.ts +0 -28
  376. package/src/functional/$ParameterReader.ts +0 -31
  377. package/src/functional/$QueryReader.ts +0 -56
  378. package/src/functional/Namespace.ts +0 -167
  379. package/src/utils/NamingConvention.ts +0 -87
  380. package/src/utils/RandomGenerator.ts +0 -83
  381. package/src/utils/StringUtil.ts +0 -4
  382. /package/lib/functional/{Namespace.d.ts → is.d.ts} +0 -0
@@ -1,66 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RandomGenerator = void 0;
7
- var randexp_1 = __importDefault(require("randexp"));
8
- var RandomGenerator;
9
- (function (RandomGenerator) {
10
- var ALPHABETS = "abcdefghijklmnopqrstuvwxyz";
11
- RandomGenerator.boolean = function () { return Math.random() < 0.5; };
12
- RandomGenerator.integer = function (min, max) {
13
- min !== null && min !== void 0 ? min : (min = 0);
14
- max !== null && max !== void 0 ? max : (max = 100);
15
- return Math.floor(Math.random() * (max - min + 1)) + min;
16
- };
17
- RandomGenerator.bigint = function (min, max) {
18
- min !== null && min !== void 0 ? min : (min = BigInt(0));
19
- max !== null && max !== void 0 ? max : (max = BigInt(100));
20
- return BigInt(RandomGenerator.integer(Number(min), Number(max)));
21
- };
22
- RandomGenerator.number = function (min, max) {
23
- min !== null && min !== void 0 ? min : (min = 0);
24
- max !== null && max !== void 0 ? max : (max = 100);
25
- return Math.random() * (max - min) + min;
26
- };
27
- RandomGenerator.string = function (length) {
28
- return new Array(length !== null && length !== void 0 ? length : RandomGenerator.integer(5, 10))
29
- .fill(0)
30
- .map(function () { return ALPHABETS[RandomGenerator.integer(0, ALPHABETS.length - 1)]; })
31
- .join("");
32
- };
33
- RandomGenerator.array = function (closure, count) {
34
- return new Array(count !== null && count !== void 0 ? count : RandomGenerator.length()).fill(0).map(function (_e, index) { return closure(index); });
35
- };
36
- RandomGenerator.pick = function (array) {
37
- return array[RandomGenerator.integer(0, array.length - 1)];
38
- };
39
- RandomGenerator.length = function () { return RandomGenerator.integer(0, 3); };
40
- RandomGenerator.uuid = function () {
41
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
42
- var r = (Math.random() * 16) | 0;
43
- var v = c === "x" ? r : (r & 0x3) | 0x8;
44
- return v.toString(16);
45
- });
46
- };
47
- RandomGenerator.email = function () { return "".concat(RandomGenerator.string(10), "@").concat(RandomGenerator.string(10), ".").concat(RandomGenerator.string(3)); };
48
- RandomGenerator.url = function () { return "https://".concat(RandomGenerator.string(10), ".").concat(RandomGenerator.string(3)); };
49
- RandomGenerator.ipv4 = function () { return RandomGenerator.array(function () { return RandomGenerator.integer(0, 255); }, 4).join("."); };
50
- RandomGenerator.ipv6 = function () {
51
- return RandomGenerator.array(function () { return RandomGenerator.integer(0, 65535).toString(16); }, 8).join(":");
52
- };
53
- RandomGenerator.pattern = function (regex) { return new randexp_1.default(regex).gen(); };
54
- RandomGenerator.date = function (min, max) {
55
- min !== null && min !== void 0 ? min : (min = 0);
56
- max !== null && max !== void 0 ? max : (max = Date.now() * 2);
57
- return new Date(RandomGenerator.number(min, max)).toISOString().substring(0, 10);
58
- };
59
- RandomGenerator.datetime = function (min, max) {
60
- min !== null && min !== void 0 ? min : (min = Date.now() - 30 * DAY);
61
- max !== null && max !== void 0 ? max : (max = Date.now() + 7 * DAY);
62
- return new Date(RandomGenerator.number(min, max)).toISOString();
63
- };
64
- })(RandomGenerator || (exports.RandomGenerator = RandomGenerator = {}));
65
- var DAY = 1000 * 60 * 60 * 24;
66
- //# sourceMappingURL=RandomGenerator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RandomGenerator.js","sourceRoot":"","sources":["../../src/utils/RandomGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare namespace StringUtil {
2
- const capitalize: (str: string) => string;
3
- }
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StringUtil = void 0;
4
- var StringUtil;
5
- (function (StringUtil) {
6
- StringUtil.capitalize = function (str) {
7
- return str.length ? str[0].toUpperCase() + str.slice(1) : str;
8
- };
9
- })(StringUtil || (exports.StringUtil = StringUtil = {}));
10
- //# sourceMappingURL=StringUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../src/utils/StringUtil.ts"],"names":[],"mappings":";;;AAAA,IAAiB,UAAU,CAG1B;AAHD,WAAiB,UAAU;IACZ,qBAAU,GAAG,UAAC,GAAW;QACpC,OAAA,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IAAvD,CAAuD,CAAC;AAC5D,CAAC,EAHgB,UAAU,0BAAV,UAAU,QAG1B"}
@@ -1,28 +0,0 @@
1
- export namespace $HeadersReader {
2
- export const boolean = (value: string | undefined) =>
3
- value !== undefined
4
- ? value === "true"
5
- ? true
6
- : value === "false"
7
- ? false
8
- : value
9
- : undefined;
10
- export const bigint = (value: string | undefined) =>
11
- value !== undefined ? toBigint(value) : undefined;
12
- export const number = (value: string | undefined) =>
13
- value !== undefined ? toNumber(value) : undefined;
14
- export const string = (value: string | undefined) => value;
15
- }
16
-
17
- const toNumber = (str: string): number | string => {
18
- const value: number = Number(str);
19
- return isNaN(value) ? str : value;
20
- };
21
-
22
- const toBigint = (str: string): bigint | string => {
23
- try {
24
- return BigInt(str);
25
- } catch {
26
- return str;
27
- }
28
- };
@@ -1,31 +0,0 @@
1
- export namespace $ParameterReader {
2
- export const boolean = (value: string) =>
3
- value !== "null"
4
- ? value === "true" || value === "1"
5
- ? true
6
- : value === "false" || value === "0"
7
- ? false
8
- : value
9
- : null;
10
-
11
- export const bigint = (value: string) =>
12
- value !== "null" ? toBigint(value) : null;
13
-
14
- export const number = (value: string) =>
15
- value !== "null" ? toNumber(value) : null;
16
-
17
- export const string = (value: string) => (value !== "null" ? value : null);
18
- }
19
-
20
- const toNumber = (str: string): number | string => {
21
- const value: number = Number(str);
22
- return isNaN(value) ? str : value;
23
- };
24
-
25
- const toBigint = (str: string): bigint | string => {
26
- try {
27
- return BigInt(str);
28
- } catch {
29
- return str;
30
- }
31
- };
@@ -1,56 +0,0 @@
1
- export namespace $QueryReader {
2
- export const boolean = (str: string | null): boolean | null | undefined =>
3
- str === null
4
- ? undefined
5
- : str === "null"
6
- ? null
7
- : str.length === 0
8
- ? true
9
- : str === "true" || str === "1"
10
- ? true
11
- : str === "false" || str === "0"
12
- ? false
13
- : (str as any); // wrong type
14
-
15
- export const number = (str: string | null): number | null | undefined =>
16
- !!str?.length
17
- ? str === "null"
18
- ? null
19
- : (toNumber(str) as any)
20
- : undefined;
21
-
22
- export const bigint = (str: string | null): bigint | null | undefined =>
23
- !!str?.length
24
- ? str === "null"
25
- ? null
26
- : (toBigint(str) as any)
27
- : undefined;
28
-
29
- export const string = (str: string | null): string | null | undefined =>
30
- str === null ? undefined : str === "null" ? null : str;
31
-
32
- export const params = (input: string | URLSearchParams) => {
33
- if (typeof input === "string") {
34
- const index: number = input.indexOf("?");
35
- input = index === -1 ? "" : input.substring(index + 1);
36
- return new URLSearchParams(input);
37
- }
38
- return input;
39
- };
40
-
41
- export const array = (input: any[], alternative: null | undefined) =>
42
- input.length ? input : alternative;
43
- }
44
-
45
- const toNumber = (str: string): number | string => {
46
- const value: number = Number(str);
47
- return isNaN(value) ? str : value;
48
- };
49
-
50
- const toBigint = (str: string): bigint | string => {
51
- try {
52
- return BigInt(str);
53
- } catch {
54
- return str;
55
- }
56
- };
@@ -1,167 +0,0 @@
1
- import { NamingConvention } from "../utils/NamingConvention";
2
- import { RandomGenerator } from "../utils/RandomGenerator";
3
-
4
- import { IValidation } from "../IValidation";
5
- import { TypeGuardError } from "../TypeGuardError";
6
- import { $HeadersReader } from "./$HeadersReader";
7
- import { $ParameterReader } from "./$ParameterReader";
8
- import { $ProtobufReader } from "./$ProtobufReader";
9
- import { $ProtobufSizer } from "./$ProtobufSizer";
10
- import { $ProtobufWriter } from "./$ProtobufWriter";
11
- import { $QueryReader } from "./$QueryReader";
12
- import { $any } from "./$any";
13
- import { $convention } from "./$convention";
14
- import { $every } from "./$every";
15
- import { $guard } from "./$guard";
16
- import { $is_between } from "./$is_between";
17
- import { $join } from "./$join";
18
- import { $number } from "./$number";
19
- import { $report } from "./$report";
20
- import { $rest } from "./$rest";
21
- import { $is_bigint_string } from "./$stoll";
22
- import { $string } from "./$string";
23
- import { $strlen } from "./$strlen";
24
- import { $tail } from "./$tail";
25
-
26
- /**
27
- * @internal
28
- */
29
- export namespace Namespace {
30
- export const is = () => ({
31
- is_between: $is_between,
32
- is_bigint_string: $is_bigint_string,
33
- });
34
-
35
- export const assert = (method: string) => ({
36
- ...is(),
37
- join: $join,
38
- every: $every,
39
- guard: $guard(`typia.${method}`),
40
- predicate: (
41
- matched: boolean,
42
- exceptionable: boolean,
43
- closure: () => Omit<TypeGuardError.IProps, "method">,
44
- ): boolean => {
45
- if (matched === false && exceptionable === true)
46
- throw new TypeGuardError({
47
- ...closure(),
48
- method: `typia.${method}`,
49
- });
50
- return matched;
51
- },
52
- });
53
-
54
- export const validate = () => ({
55
- ...is(),
56
- join: $join,
57
- report: $report,
58
- predicate:
59
- (res: IValidation) =>
60
- (
61
- matched: boolean,
62
- exceptionable: boolean,
63
- closure: () => IValidation.IError,
64
- ) => {
65
- // CHECK FAILURE
66
- if (matched === false && exceptionable === true)
67
- (() => {
68
- res.success &&= false;
69
- const errorList = (res as IValidation.IFailure).errors;
70
-
71
- // TRACE ERROR
72
- const error = closure();
73
- if (errorList.length) {
74
- const last = errorList[errorList.length - 1]!.path;
75
- if (
76
- last.length >= error.path.length &&
77
- last.substring(0, error.path.length) === error.path
78
- )
79
- return;
80
- }
81
- errorList.push(error);
82
- return;
83
- })();
84
- return matched;
85
- },
86
- });
87
-
88
- export namespace json {
89
- export const stringify = (method: string) => ({
90
- ...is(),
91
- number: $number,
92
- string: $string,
93
- tail: $tail,
94
- rest: $rest,
95
- throws: $throws(`json.${method}`),
96
- });
97
- }
98
-
99
- export namespace protobuf {
100
- export const decode = (method: string) => ({
101
- ...is(),
102
- Reader: $ProtobufReader,
103
- throws: $throws(`protobuf.${method}`),
104
- });
105
-
106
- export const encode = (method: string) => ({
107
- ...is(),
108
- Sizer: $ProtobufSizer,
109
- Writer: $ProtobufWriter,
110
- strlen: $strlen,
111
- throws: $throws(method),
112
- });
113
- }
114
-
115
- export namespace http {
116
- export const query = () => $QueryReader;
117
- export const headers = () => $HeadersReader;
118
- export const parameter = () => $ParameterReader;
119
- }
120
-
121
- export namespace misc {
122
- export const clone = (method: string) => ({
123
- ...is(),
124
- throws: $throws(`misc.${method}`),
125
- any: $any,
126
- });
127
-
128
- export const prune = (method: string) => ({
129
- ...is(),
130
- throws: $throws(`misc.${method}`),
131
- });
132
- }
133
-
134
- export namespace notations {
135
- export const camel = (method: string) => ({
136
- ...base(method),
137
- any: $convention(NamingConvention.camel),
138
- });
139
- export const pascal = (method: string) => ({
140
- ...base(method),
141
- any: $convention(NamingConvention.pascal),
142
- });
143
- export const snake = (method: string) => ({
144
- ...base(method),
145
- any: $convention(NamingConvention.snake),
146
- });
147
-
148
- const base = (method: string) => ({
149
- ...is(),
150
- throws: $throws(`notations.${method}`),
151
- });
152
- }
153
-
154
- export const random = () => ({
155
- generator: RandomGenerator,
156
- pick: RandomGenerator.pick,
157
- });
158
-
159
- const $throws =
160
- (method: string) =>
161
- (props: Pick<TypeGuardError.IProps, "expected" | "value">) => {
162
- throw new TypeGuardError({
163
- ...props,
164
- method: `typia.${method}`,
165
- });
166
- };
167
- }
@@ -1,87 +0,0 @@
1
- import { StringUtil } from "./StringUtil";
2
-
3
- export namespace NamingConvention {
4
- export function snake(str: string): string {
5
- const indexes: number[] = [];
6
- for (let i: number = 0; i < str.length; i++) {
7
- const code: number = str.charCodeAt(i);
8
- if (65 <= code && code <= 90) indexes.push(i);
9
- }
10
- for (let i: number = indexes.length - 1; i > 0; --i) {
11
- const now: number = indexes[i]!;
12
- const prev: number = indexes[i - 1]!;
13
- if (now - prev === 1) indexes.splice(i, 1);
14
- }
15
- if (indexes.length !== 0 && indexes[0] === 0) indexes.splice(0, 1);
16
- if (indexes.length === 0) return str.toLowerCase();
17
-
18
- let ret: string = "";
19
- for (let i: number = 0; i < indexes.length; i++) {
20
- const first: number = i === 0 ? 0 : indexes[i - 1]!;
21
- const last: number = indexes[i]!;
22
-
23
- ret += str.substring(first, last).toLowerCase();
24
- ret += "_";
25
- }
26
- ret += str.substring(indexes[indexes.length - 1]!).toLowerCase();
27
- return ret;
28
- }
29
-
30
- export function camel(str: string): string {
31
- str = removeSnake(str);
32
- if (str.length === 0) return str;
33
- else if (str[0] === str[0]!.toUpperCase())
34
- return str[0]!.toLowerCase() + str.substring(1);
35
- else if (
36
- str[0] === "_" &&
37
- str.length > 1 &&
38
- str[1] === str[1]!.toLowerCase()
39
- )
40
- return "_" + str[1]!.toUpperCase() + str.substring(2);
41
- else return str;
42
- }
43
-
44
- export function pascal(str: string): string {
45
- str = removeSnake(str);
46
- if (str.length === 0) return str;
47
- else if (str[0] === str[0]!.toLowerCase())
48
- return str[0]!.toUpperCase() + str.substring(1);
49
- else if (
50
- str[0] === "_" &&
51
- str.length > 1 &&
52
- str[1] === str[1]!.toLowerCase()
53
- )
54
- return "_" + str[1]!.toUpperCase() + str.substring(2);
55
- else return str;
56
- }
57
-
58
- const removeSnake = (str: string): string => {
59
- const indexes: [number, number][] = [];
60
- for (let i: number = 0; i < str.length; i++) {
61
- const ch: string = str[i]!;
62
- if (ch !== "_") continue;
63
-
64
- const last = indexes[indexes.length - 1];
65
- if (last === undefined || last[0] + last[1] !== i) indexes.push([i, 1]);
66
- else ++last[1];
67
- }
68
- if (indexes.length === 0) return str;
69
-
70
- let ret: string = "";
71
- for (let i: number = 0; i < indexes.length; i++) {
72
- const [first] = indexes[i]!;
73
- if (i === 0)
74
- if (first === 0) ret += "_";
75
- else ret += str.substring(0, first);
76
- else {
77
- const [prevFirst, prevLength] = indexes[i - 1]!;
78
- const piece: string = str.substring(prevFirst + prevLength, first);
79
- if (piece.length) ret += StringUtil.capitalize(piece);
80
- }
81
- }
82
- const last = indexes[indexes.length - 1]!;
83
- const piece: string = str.substring(last[0] + last[1]);
84
- if (last.length) ret += StringUtil.capitalize(piece);
85
- return ret;
86
- };
87
- }
@@ -1,83 +0,0 @@
1
- import RandExp from "randexp";
2
-
3
- /**
4
- * @internal
5
- */
6
- export namespace RandomGenerator {
7
- const ALPHABETS = "abcdefghijklmnopqrstuvwxyz";
8
-
9
- /* -----------------------------------------------------------
10
- REGULAR
11
- ----------------------------------------------------------- */
12
- export const boolean = () => Math.random() < 0.5;
13
-
14
- export const integer = (min?: number, max?: number) => {
15
- min ??= 0;
16
- max ??= 100;
17
- return Math.floor(Math.random() * (max - min + 1)) + min;
18
- };
19
-
20
- export const bigint = (min?: bigint, max?: bigint) => {
21
- min ??= BigInt(0);
22
- max ??= BigInt(100);
23
- return BigInt(integer(Number(min), Number(max)));
24
- };
25
-
26
- export const number = (min?: number, max?: number) => {
27
- min ??= 0;
28
- max ??= 100;
29
- return Math.random() * (max - min) + min;
30
- };
31
-
32
- export const string = (length?: number): string =>
33
- new Array(length ?? integer(5, 10))
34
- .fill(0)
35
- .map(() => ALPHABETS[integer(0, ALPHABETS.length - 1)])
36
- .join("");
37
-
38
- export const array = <T>(
39
- closure: (index: number) => T,
40
- count?: number,
41
- ): T[] =>
42
- new Array(count ?? length()).fill(0).map((_e, index) => closure(index));
43
-
44
- export const pick = <T>(array: T[]): T =>
45
- array[integer(0, array.length - 1)]!;
46
-
47
- export const length = () => integer(0, 3);
48
-
49
- /* -----------------------------------------------------------
50
- SECIAL FORMATS
51
- ----------------------------------------------------------- */
52
- export const uuid = () =>
53
- "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
54
- const r = (Math.random() * 16) | 0;
55
- const v = c === "x" ? r : (r & 0x3) | 0x8;
56
- return v.toString(16);
57
- });
58
-
59
- export const email = () => `${string(10)}@${string(10)}.${string(3)}`;
60
-
61
- export const url = () => `https://${string(10)}.${string(3)}`;
62
-
63
- export const ipv4 = () => array(() => integer(0, 255), 4).join(".");
64
-
65
- export const ipv6 = (): string =>
66
- array(() => integer(0, 65535).toString(16), 8).join(":");
67
-
68
- export const pattern = (regex: RegExp): string => new RandExp(regex).gen();
69
-
70
- export const date = (min?: number, max?: number) => {
71
- min ??= 0;
72
- max ??= Date.now() * 2;
73
- return new Date(number(min, max)).toISOString().substring(0, 10);
74
- };
75
-
76
- export const datetime = (min?: number, max?: number) => {
77
- min ??= Date.now() - 30 * DAY;
78
- max ??= Date.now() + 7 * DAY;
79
- return new Date(number(min, max)).toISOString();
80
- };
81
- }
82
-
83
- const DAY = 1000 * 60 * 60 * 24;
@@ -1,4 +0,0 @@
1
- export namespace StringUtil {
2
- export const capitalize = (str: string) =>
3
- str.length ? str[0]!.toUpperCase() + str.slice(1) : str;
4
- }
File without changes